Files
Probability-and-Statistics-…/_static/131.ee437eeefadd750d.js
T
2025-12-28 17:55:29 +00:00

2 lines
292 KiB
JavaScript

(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[131],{8610:function(module){var factory;factory=function(){"use strict";var jSuites=function(e){var t={init:function(){var e=document.querySelector(".japp");t.el=e||document.body;for(var o=document.querySelectorAll("[data-autoload]"),r=0;r<o.length;r++){var n=o[r].getAttribute("data-autoload");"function"==typeof window[n]&&window[n](o[r])}},guid:function(){for(var e="",t=0;t<32;t++)e+=Math.floor(15*Math.random()).toString(15);return e},getWindowWidth:function(){var e=window,t=document,o=t.documentElement,r=t.getElementsByTagName("body")[0];return e.innerWidth||o.clientWidth||r.clientWidth},getWindowHeight:function(){var e=window,t=document,o=t.documentElement,r=t.getElementsByTagName("body")[0];return e.innerHeight||o.clientHeight||r.clientHeight},getPosition:function(e){if(e.changedTouches&&e.changedTouches[0])var t=e.changedTouches[0].pageX,o=e.changedTouches[0].pageY;else t=window.Event?e.pageX:e.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft),o=window.Event?e.pageY:e.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);return[t,o]},click:function(e){if(e.click)e.click();else{var t=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(t)}},getElement:function(e,t){var o=!1;return function e(r){r.className&&r.classList.contains(t)&&(o=r),r.parentNode&&e(r.parentNode)}(e),o},getLinkElement:function(e){var t=!1;return function e(o){"A"!=o.tagName&&"DIV"!=o.tagName||!o.getAttribute("data-href")||(t=o),o.parentNode&&e(o.parentNode)}(e),t},getFormElements:function(e){var t={};if(e)var o=e.querySelectorAll("input, select, textarea");else o=document.querySelectorAll("input, select, textarea");for(var r=0;r<o.length;r++){var n=o[r],i=n.name,s=n.value;i&&(t[i]=s)}return t},exists:function(e,t){var o=new XMLHttpRequest;o.open("HEAD",e,!1),o.send(),o.status&&t(o.status)},getFiles:function(e){e||console.error("No element defined in the arguments of your method");var t=e.querySelectorAll(".jfile");if(t.length>0){for(var o=[],r=0;r<t.length;r++){var n={},i=t[r].getAttribute("src");t[r].classList.contains("jremove")?n.remove=1:("data"==i.substr(0,4)?(n.content=i.substr(i.indexOf(",")+1),n.extension=t[r].getAttribute("data-extension")):(n.file=i,n.extension=t[r].getAttribute("data-extension"),n.extension||(n.extension=i.substr(i.lastIndexOf(".")+1)),jSuites.files[n.file]&&(n.content=jSuites.files[n.file])),t[r].getAttribute("data-name")&&(n.name=t[r].getAttribute("data-name")),t[r].getAttribute("data-file")&&(n.file=t[r].getAttribute("data-file")),t[r].getAttribute("data-size")&&(n.size=t[r].getAttribute("data-size")),t[r].getAttribute("data-date")&&(n.date=t[r].getAttribute("data-date")),t[r].getAttribute("data-cover")&&(n.cover=t[r].getAttribute("data-cover"))),o[r]=n}return o}},ajax:function(e){if(e.data||(e.data={}),e.type&&(e.method=e.type),e.data){var o=[],r=Object.keys(e.data);if(r.length)for(var n=0;n<r.length;n++)if("object"==typeof e.data[r[n]])for(var i=e.data[r[n]],s=0;s<i.length;s++)if("string"==typeof i[s])o.push(r[n]+"["+s+"]="+encodeURIComponent(i[s]));else for(var l=Object.keys(i[s]),a=0;a<l.length;a++)o.push(r[n]+"["+s+"]["+l[a]+"]="+encodeURIComponent(i[s][l[a]]));else o.push(r[n]+"="+encodeURIComponent(e.data[r[n]]));"GET"==e.method&&o.length>0&&(e.url.indexOf("?")<0&&(e.url+="?"),e.url+=o.join("&"))}var u=new XMLHttpRequest;return u.open(e.method,e.url,!0),u.setRequestHeader("X-Requested-With","XMLHttpRequest"),"POST"==e.method?(u.setRequestHeader("Accept","application/json"),u.setRequestHeader("Content-Type","application/x-www-form-urlencoded")):"json"==e.dataType&&u.setRequestHeader("Content-Type","text/json"),1!=e.cache&&(u.setRequestHeader("pragma","no-cache"),u.setRequestHeader("cache-control","no-cache")),1==e.withCredentials&&(u.withCredentials=!0),"function"==typeof e.beforeSend&&e.beforeSend(u),u.onload=function(){if(200===u.status)if("json"==e.dataType)try{var o=JSON.parse(u.responseText);e.success&&"function"==typeof e.success&&e.success(o)}catch(t){e.error&&"function"==typeof e.error&&e.error(o)}else o=u.responseText,e.success&&"function"==typeof e.success&&e.success(o);else e.error&&"function"==typeof e.error&&e.error(u.responseText);if(t.ajax.requests&&t.ajax.requests.length){var r=t.ajax.requests.indexOf(u);t.ajax.requests.splice(r,1),t.ajax.requests.length||e.complete&&"function"==typeof e.complete&&e.complete(o)}},o?u.send(o.join("&")):u.send(),t.ajax.requests.push(u),u}};t.ajax.requests=[],t.slideLeft=function(e,t,o){1==t?(e.classList.add("slide-left-in"),setTimeout((function(){e.classList.remove("slide-left-in"),"function"==typeof o&&o()}),400)):(e.classList.add("slide-left-out"),setTimeout((function(){e.classList.remove("slide-left-out"),"function"==typeof o&&o()}),400))},t.slideRight=function(e,t,o){1==t?(e.classList.add("slide-right-in"),setTimeout((function(){e.classList.remove("slide-right-in"),"function"==typeof o&&o()}),400)):(e.classList.add("slide-right-out"),setTimeout((function(){e.classList.remove("slide-right-out"),"function"==typeof o&&o()}),400))},t.slideTop=function(e,t,o){1==t?(e.classList.add("slide-top-in"),setTimeout((function(){e.classList.remove("slide-top-in"),"function"==typeof o&&o()}),400)):(e.classList.add("slide-top-out"),setTimeout((function(){e.classList.remove("slide-top-out"),"function"==typeof o&&o()}),400))},t.slideBottom=function(e,t,o){1==t?(e.classList.add("slide-bottom-in"),setTimeout((function(){e.classList.remove("slide-bottom-in"),"function"==typeof o&&o()}),400)):(e.classList.add("slide-bottom-out"),setTimeout((function(){e.classList.remove("slide-bottom-out"),"function"==typeof o&&o()}),100))},t.fadeIn=function(e,t){e.classList.add("fade-in"),setTimeout((function(){e.classList.remove("fade-in"),"function"==typeof t&&t()}),2e3)},t.fadeOut=function(e,t){e.classList.add("fade-out"),setTimeout((function(){e.classList.remove("fade-out"),"function"==typeof t&&t()}),1e3)},t.keyDownControls=function(e){if(27==e.which){var t=document.querySelectorAll(".jslider");if(t.length>0)for(var o=0;o<t.length;o++)t[o].slider.close();document.querySelector(".jdialog")&&jSuites.dialog.close()}else 13==e.which&&document.querySelector(".jdialog")&&("function"==typeof jSuites.dialog.options.onconfirm&&jSuites.dialog.options.onconfirm(),jSuites.dialog.close());jSuites.mask&&jSuites.mask.apply(e)};var o=function(e){var t=null;if(t=jSuites.getLinkElement(e.target)){var o=t.getAttribute("data-href");"#back"==o?window.history.back():"#panel"==o?jSuites.panel():jSuites.pages(o)}};return document.addEventListener("swipeleft",(function(e){var t;(t=jSuites.getElement(e.target,"option"))&&t.querySelector(".option-actions")?t.scrollTo({left:100,behavior:"smooth"}):(t=jSuites.getElement(e.target,"jcalendar"))&&jSuites.calendar.current?jSuites.calendar.current.prev():jSuites.panel&&(t=jSuites.panel.get())&&"none"!=t.style.display&&jSuites.panel.close()})),document.addEventListener("swiperight",(function(e){var t;(t=jSuites.getElement(e.target,"option"))&&t.querySelector(".option-actions")?t.scrollTo({left:0,behavior:"smooth"}):(t=jSuites.getElement(e.target,"jcalendar"))&&jSuites.calendar.current?jSuites.calendar.current.next():jSuites.panel&&(t=jSuites.panel.get())&&"none"==t.style.display&&jSuites.panel()})),document.addEventListener("keydown",t.keyDownControls),"ontouchend"in document.documentElement==1?document.addEventListener("touchend",o):document.addEventListener("mouseup",o),document.addEventListener("mouseover",(function(e){jSuites.tooltip&&jSuites.tooltip(e)})),document.addEventListener("mouseout",(function(e){jSuites.tooltip&&jSuites.tooltip.hide()})),document.addEventListener("DOMContentLoaded",(function(){t.init()})),window.onpopstate=function(e){e.state&&e.state.route&&jSuites.pages.get(e.state.route)&&jSuites.pages(e.state.route,{ignoreHistory:!0})},t}();return jSuites.files=[],jSuites.calendar=function(e,t){var o={options:{}};jSuites.calendar.current||(jSuites.calendar.current=null);var r={data:null,type:null,validRange:null,startingDay:null,format:"DD/MM/YYYY",readonly:!0,today:!1,time:!1,resetButton:!0,placeholder:"",months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdays_short:["S","M","T","W","T","F","S"],value:null,onclose:null,onchange:null,fullscreen:!1,mode:null,position:null,opened:!1};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];if(o.options.value||"INPUT"==e.tagName&&e.value&&(o.options.value=e.value),o.options.format=o.options.format.toUpperCase(),o.options.value){var i=(s=o.options.value.split(" "))[1],s=s[0].split("-"),l=parseInt(s[0]),a=parseInt(s[1]),u=parseInt(s[2]);if(i){i=i.split(":");var c=parseInt(i[0]),d=parseInt(i[1])}else c=0,d=0}else l=(s=new Date).getFullYear(),a=s.getMonth()+1,u=s.getDate(),c=s.getHours(),d=s.getMinutes();o.date=[l,a,u,c,d,0];var p=function(e){return 1==(e=""+e).length&&(e="0"+e),e},b=document.createElement("div");b.className="jcalendar-reset",b.innerHTML="Reset";var f=document.createElement("div");f.className="jcalendar-confirm",f.innerHTML="Done";var m=document.createElement("div");m.className="jcalendar-controls",o.options.resetButton&&m.appendChild(b),m.appendChild(f);var j=document.createElement("div");j.className="jcalendar-container";var h=document.createElement("div");h.className="jcalendar-content",h.appendChild(m),j.appendChild(h);var g=document.createElement("div");if(g.className="jcalendar-table",h.appendChild(g),"INPUT"==e.tagName)var v=document.createElement("div");else v=e;v.className="jcalendar",v.appendChild(j);var y=document.createElement("td");y.setAttribute("colspan","2"),y.className="jcalendar-prev";var C=document.createElement("span");C.className="jcalendar-year";var x=document.createElement("span");x.className="jcalendar-month";var w=document.createElement("td");w.className="jcalendar-header",w.setAttribute("colspan","3"),w.appendChild(x),w.appendChild(C);var E=document.createElement("td");E.setAttribute("colspan","2"),E.className="jcalendar-next";var A=document.createElement("tr");A.appendChild(y),A.appendChild(w),A.appendChild(E);var N=document.createElement("thead");N.appendChild(A);var L=document.createElement("tbody"),I=document.createElement("tfoot"),M=document.createElement("table");M.setAttribute("cellpadding","0"),M.setAttribute("cellspacing","0"),M.appendChild(N),M.appendChild(L),M.appendChild(I),g.appendChild(M);var S=document.createElement("select");for(S.className="jcalendar-select",S.onchange=function(){o.date[3]=this.value},d=0;d<24;d++)(D=document.createElement("option")).value=d,D.innerHTML=p(d),S.appendChild(D);var T=document.createElement("select");for(T.className="jcalendar-select",T.onchange=function(){o.date[4]=this.value},d=0;d<60;d++){var D;(D=document.createElement("option")).value=d,D.innerHTML=p(d),T.appendChild(D)}var R=document.createElement("div");R.className="jcalendar-controls";var O=document.createElement("div");O.className="jcalendar-time",O.style.maxWidth="140px",O.appendChild(S),O.appendChild(T);var F=document.createElement("input");F.setAttribute("type","button"),F.className="jcalendar-update",F.value="Update";var H=document.createElement("div");H.style.flexGrow="10",H.appendChild(F),R.appendChild(O),R.appendChild(H),h.appendChild(R);var k=document.createElement("div");k.className="jcalendar-backdrop",v.appendChild(k);var B=function(){var e=v.querySelector(".jcalendar-selected");e&&e.classList.contains("jcalendar-disabled")?(F.setAttribute("disabled","disabled"),S.setAttribute("disabled","disabled"),T.setAttribute("disabled","disabled")):(F.removeAttribute("disabled"),S.removeAttribute("disabled"),T.removeAttribute("disabled"))};o.open=function(t){if(!v.classList.contains("jcalendar-focus"))if(jSuites.calendar.current&&jSuites.calendar.current.close(),jSuites.calendar.current=o,v.classList.add("jcalendar-focus"),o.getDays(),o.options.time&&(S.value=o.date[3],T.value=o.date[4]),jSuites.getWindowWidth()<800||o.options.fullscreen)v.classList.add("jcalendar-fullsize"),jSuites.slideBottom(h,1);else{const t=e.getBoundingClientRect(),r=h.getBoundingClientRect();o.options.position?(j.style.position="fixed",window.innerHeight<t.bottom+r.height?j.style.top=t.top-(r.height+2)+"px":j.style.top=t.top+t.height+2+"px",j.style.left=t.left+"px"):window.innerHeight<t.bottom+r.height?j.style.bottom=1*t.height+r.height+2+"px":j.style.top="2px"}},o.close=function(t,r){if(jSuites.calendar.current){if(jSuites.calendar.current=null,!1!==r){var n=v.querySelector(".jcalendar-selected");if("string"==typeof r)var i=r;else i=n&&n.classList.contains("jcalendar-disabled")?o.options.value:o.getValue();o.setValue(i)}t||"function"!=typeof o.options.onclose||o.options.onclose(e),v.classList.remove("jcalendar-focus")}return o.options.value},o.prev=function(){"years"==o.options.mode?(o.date[0]=o.date[0]-12,o.getYears()):(o.date[1]<2?(o.date[0]=o.date[0]-1,o.date[1]=12):o.date[1]=o.date[1]-1,o.getDays())},o.next=function(){"years"==o.options.mode?(o.date[0]=parseInt(o.date[0])+12,o.getYears()):(o.date[1]>11?(o.date[0]=parseInt(o.date[0])+1,o.date[1]=1):o.date[1]=parseInt(o.date[1])+1,o.getDays())},o.setValue=function(t){t||(t=""+t);var r=t,n=o.options.value;o.setLabel(r,o.options.format),(s=r.split(" "))[1]||(s[1]="00:00:00");var i=s[1].split(":"),s=s[0].split("-"),l=parseInt(s[0]),a=parseInt(s[1]),u=parseInt(s[2]),c=parseInt(i[0]),d=parseInt(i[1]);o.date=[l,a,u,c,d,0],t=o.setLabel(r,o.options.format),n!=r&&("INPUT"==e.tagName&&(e.value=t),o.options.value=r,"function"==typeof o.options.onchange&&o.options.onchange(e,r,n)),o.getDays()},o.getValue=function(){return o.date?o.options.time?p(o.date[0])+"-"+p(o.date[1])+"-"+p(o.date[2])+" "+p(o.date[3])+":"+p(o.date[4])+":"+p(0):p(o.date[0])+"-"+p(o.date[1])+"-"+p(o.date[2])+" "+p(0)+":"+p(0)+":"+p(0):""},o.update=function(e){if(e.classList.contains("jcalendar-disabled"));else{o.date[2]=e.innerText,o.options.time?(o.date[3]=S.value,o.date[4]=T.value):o.close();var t=v.querySelector(".jcalendar-selected");t&&t.classList.remove("jcalendar-selected"),e.classList.add("jcalendar-selected")}B()},o.reset=function(){o.close(!1,"")},o.getDays=function(){o.options.mode="days";var e=new Date,t=o.date&&o.date[0]?o.date[0]:parseInt(e.getFullYear()),r=o.date&&o.date[1]?o.date[1]:parseInt(e.getMonth())+1,n=o.date&&o.date[2]?o.date[2]:parseInt(e.getDay()),i=o.date&&o.date[3]?o.date[3]:parseInt(e.getHours()),s=o.date&&o.date[4]?o.date[4]:parseInt(e.getMinutes());o.date=[t,r,n,i,s,0],C.innerHTML=t,x.innerHTML=o.options.months[r-1];var l=e.getMonth()==r-1&&e.getFullYear()==t,a=e.getDate(),u=(e=new Date(t,r,0,0,0)).getDate(),c=(e=new Date(t,r-1,0,0,0)).getDay()+1;c-=p=o.options.startingDay||0,L.innerHTML="",(m=document.createElement("tr")).setAttribute("align","center"),L.appendChild(m);for(var d=0;d<7;d++)(h=document.createElement("td")).classList.add("jcalendar-weekday"),h.innerHTML=o.options.weekdays_short[p],m.appendChild(h),++p>6&&(p=0);for(var p=0,b=0,f=0;f<5;f++){var m;(m=document.createElement("tr")).setAttribute("align","center");var j=!0;for(d=0;d<7;d++){var h;if((h=document.createElement("td")).classList.add("jcalendar-set-day"),p>=c&&p<c+u){b++,h.innerHTML=b,b==n&&h.classList.add("jcalendar-selected"),l&&a==b&&(h.style.fontWeight="bold");var g=jSuites.calendar.now(new Date(t,r-1,b),!0);if(o.options.validRange){if(!o.options.validRange[0]||g>=o.options.validRange[0])var v=!0;else v=!1;if(!o.options.validRange[1]||g<=o.options.validRange[1])var y=!0;else y=!1;v&&y||h.classList.add("jcalendar-disabled")}j=!1}m.appendChild(h),p++}0==j&&L.appendChild(m)}o.options.time?O.style.display="":O.style.display="none",B()},o.getMonths=function(){o.options.mode="months";var e=o.options.months;C.innerHTML=o.date[0],x.innerHTML="";var t='<td colspan="7"><table width="100%"><tr align="center">';for(d=0;d<12;d++)d>0&&!(d%4)&&(t+='</tr><tr align="center">'),t+='<td class="jcalendar-set-month" data-value="'+(parseInt(d)+1)+'">'+e[d]+"</td>";t+="</tr></table></td>",L.innerHTML=t},o.getYears=function(){o.options.mode="years";var e=[];for(d=0;d<25;d++)e[d]=parseInt(o.date[0])+(d-12);var t='<td colspan="7"><table width="100%"><tr align="center">';for(d=0;d<25;d++)d>0&&!(d%5)&&(t+='</tr><tr align="center">'),t+='<td class="jcalendar-set-year">'+e[d]+"</td>";t+="</tr></table></td>",L.innerHTML=t},o.setLabel=function(e,t){return jSuites.calendar.getDateString(e,t)},o.fromFormatted=function(e,t){return jSuites.calendar.extractDateFromString(e,t)};var P=function(e){var t=e.target.className;"jcalendar-prev"==t?(o.prev(),e.stopPropagation(),e.preventDefault()):"jcalendar-next"==t?(o.next(),e.stopPropagation(),e.preventDefault()):"jcalendar-month"==t?(o.getMonths(),e.stopPropagation(),e.preventDefault()):"jcalendar-year"==t?(o.getYears(),e.stopPropagation(),e.preventDefault()):"jcalendar-set-year"==t?(o.date[0]=e.target.innerText,o.getDays(),e.stopPropagation(),e.preventDefault()):"jcalendar-set-month"==t?(o.date[1]=parseInt(e.target.getAttribute("data-value")),o.getDays(),e.stopPropagation(),e.preventDefault()):"jcalendar-confirm"==t||"jcalendar-update"==t||"jcalendar-close"==t?(o.close(),e.stopPropagation(),e.preventDefault()):"jcalendar-backdrop"==t?(o.close(!1,!1),e.stopPropagation(),e.preventDefault()):"jcalendar-reset"==t?(o.reset(),e.stopPropagation(),e.preventDefault()):e.target.classList.contains("jcalendar-set-day")&&e.target.innerText&&(o.update(e.target),e.stopPropagation(),e.preventDefault())};return e.addEventListener("keyup",(function(e){if(e.target.value&&e.target.value.length>3){var t=jSuites.calendar.extractDateFromString(e.target.value,o.options.format);t&&"true"==e.target.getAttribute("data-completed")&&o.setValue(t)}})),v.addEventListener("swipeleft",(function(e){jSuites.slideLeft(M,0,(function(){o.next(),jSuites.slideRight(M,1)})),e.preventDefault(),e.stopPropagation()})),v.addEventListener("swiperight",(function(e){jSuites.slideRight(M,0,(function(){o.prev(),jSuites.slideLeft(M,1)})),e.preventDefault(),e.stopPropagation()})),"ontouchend"in document.documentElement==1?(v.addEventListener("touchend",P),e.addEventListener("touchend",(function(e){o.open()}))):(v.addEventListener("mouseup",P),e.addEventListener("mouseup",(function(e){o.open()}))),"INPUT"==e.tagName&&(e.parentNode.insertBefore(v,e.nextSibling),e.setAttribute("autocomplete","off"),e.setAttribute("data-mask",o.options.format.toLowerCase()),o.options.readonly&&e.setAttribute("readonly","readonly"),o.options.placeholder&&e.setAttribute("placeholder",o.options.placeholder),e.classList.add("jcalendar-input"),e.value=o.setLabel(o.getValue(),o.options.format)),e.calendar=o,1==o.options.opened&&o.open(),o},jSuites.calendar.prettify=function(e,t){t||(t={justNow:"Just now",xMinutesAgo:"{0}m ago",xHoursAgo:"{0}h ago",xDaysAgo:"{0}d ago",xWeeksAgo:"{0}w ago",xMonthsAgo:"{0} mon ago",xYearsAgo:"{0}y ago"});var o=new Date,r=new Date(e),n=parseInt((o-r)/1e3/60);if(String.prototype.format=function(e){return this.replace("{0}",e)},0==n)var i=t.justNow;else i=n<90?t.xMinutesAgo.format(n):n<1440?t.xHoursAgo.format(Math.round(n/60)):n<20160?t.xDaysAgo.format(Math.round(n/1440)):n<43200?t.xWeeksAgo.format(Math.round(n/10080)):n<1036800?t.xMonthsAgo.format(Math.round(n/43200)):t.xYearsAgo.format(Math.round(n/525600));return i},jSuites.calendar.prettifyAll=function(){for(var e=document.querySelectorAll(".prettydate"),t=0;t<e.length;t++)e[t].getAttribute("data-date")?e[t].innerHTML=jSuites.calendar.prettify(e[t].getAttribute("data-date")):(e[t].setAttribute("data-date",e[t].innerHTML),e[t].innerHTML=jSuites.calendar.prettify(e[t].innerHTML))},jSuites.calendar.now=function(e,t){e||(e=new Date);var o=e.getFullYear(),r=e.getMonth()+1,n=e.getDate(),i=e.getHours(),s=e.getMinutes(),l=e.getSeconds(),a=function(e){return 1==(e=""+e).length&&(e="0"+e),e};return 1==t?a(o)+"-"+a(r)+"-"+a(n):a(o)+"-"+a(r)+"-"+a(n)+" "+a(i)+":"+a(s)+":"+a(l)},jSuites.calendar.extractDateFromString=function(e,t){var o=""+e,r=t.replace(/[0-9]/g,""),n=1,i=r.search("YYYY");i=o.substr(i,4),parseInt(i)!=i&&(n=0);var s=r.search("MM");s=o.substr(s,2),(parseInt(s)!=s||l>12)&&(n=0);var l=r.search("DD");l=o.substr(l,2),(parseInt(l)!=l||l>31)&&(n=0);var a=r.search("HH");a>=0?(a=o.substr(a,2),(!parseInt(a)||a>23)&&(a="00")):a="00";var u=r.search("MI");u>=0?(u=o.substr(u,2),(!parseInt(u)||u>59)&&(u="00")):u="00";var c=r.search("SS");return c>=0?(c=o.substr(c,2),(!parseInt(c)||c>59)&&(c="00")):c="00",1==n&&e.length==r.length?i+"-"+s+"-"+l+" "+a+":"+u+":"+c:""},jSuites.calendar.getDateString=function(e,t){if(t||(t="DD/MM/YYYY"),e){var o=""+e,r="",n="",i="";if((o=o.split(" "))[1]?(n=(r=o[1].split(":"))[1]?r[1]:"00",i=r[2]?r[2]:"00",r=r[0]?r[0]:"00"):(r="00",n="00",i="00"),(o=o[0].split("-"))[0]&&o[1]&&o[2]&&o[0]>0&&o[1]>0&&o[1]<13&&o[2]>0&&o[2]<32){var s=new Date(o[0],o[1]-1,o[2]),l=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"),a=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");o[1]=(o[1].length<2?"0":"")+o[1],o[2]=(o[2].length<2?"0":"")+o[2],r=(r.length<2?"0":"")+r,n=(n.length<2?"0":"")+n,i=(i.length<2?"0":"")+i,e=(e=(e=(e=(e=(e=(e=t).replace("WD",l[s.getDay()])).replace("DD",o[2])).replace("MM",o[1])).replace("YYYY",o[0])).replace("YY",o[0].substring(2,4))).replace("MON",a[parseInt(o[1])-1].toUpperCase()),r&&(e=e.replace("HH24",r)),e=(e=(e=(e=r>12?(e=e.replace("HH12",r-12)).replace("HH",r):(e=e.replace("HH12",r)).replace("HH",r)).replace("MI",n)).replace("MM",n)).replace("SS",i)}else e=""}return e},jSuites.calendar.isOpen=function(e){jSuites.calendar.current&&(e.target.className&&-1!=e.target.className.indexOf("jcalendar")||jSuites.calendar.current.close(!1,!1))},"ontouchstart"in document.documentElement==1?document.addEventListener("touchstart",jSuites.calendar.isOpen):document.addEventListener("mousedown",jSuites.calendar.isOpen),jSuites.color=function(e,t){var o={options:{},values:[]};jSuites.color.current||(jSuites.color.current=null);var r={placeholder:"",value:null,onclose:null,onchange:null,closeOnChange:!0};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];for(var i={red:{50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c"},pink:{50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f"},purple:{50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c"},indigo:{50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e"},blue:{50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20"},lightgreen:{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100"},deeporange:{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121"},bluegrey:{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238"}},s=[],l=Object.keys(i),a=Object.keys(i[l[0]]),u=0;u<l.length;u++)for(var c=0;c<a.length;c++)s[c]||(s[c]=[]),s[c][u]=i[l[u]][a[c]];o.options.value&&(e.value=o.options.value);var d=document.createElement("div");d.className="jcolor";var p=document.createElement("div");p.className="jcolor-backdrop",d.appendChild(p);var b=document.createElement("div");b.className="jcolor-content";var f=document.createElement("div");f.className="jcolor-close",f.innerHTML="Done",f.onclick=function(){o.close()},b.appendChild(f);var m=document.createElement("table");for(m.setAttribute("cellpadding","7"),m.setAttribute("cellspacing","0"),u=0;u<s.length;u++){var j=document.createElement("tr");for(c=0;c<s[u].length;c++){var h=document.createElement("td");h.style.backgroundColor=s[u][c],h.setAttribute("data-value",s[u][c]),h.innerHTML="",j.appendChild(h),o.options.value==s[u][c]&&h.classList.add("jcolor-selected"),o.values[s[u][c]]=h}m.appendChild(j)}return o.open=function(){if(jSuites.color.current&&jSuites.color.current!=o&&jSuites.color.current.close(),!jSuites.color.current){jSuites.color.current=o,d.classList.add("jcolor-focus");const t=b.getBoundingClientRect();if(jSuites.getWindowWidth()<800)b.style.top="",b.classList.add("jcolor-fullscreen"),jSuites.slideBottom(b,1),p.style.display="block";else{b.classList.contains("jcolor-fullscreen")&&(b.classList.remove("jcolor-fullscreen"),p.style.display="");const o=e.getBoundingClientRect();window.innerHeight<o.bottom+t.height?b.style.top=-1*(t.height+o.height+2)+"px":b.style.top="2px"}d.focus()}},o.close=function(t){return jSuites.color.current&&(jSuites.color.current=null,t||"function"!=typeof o.options.onclose||o.options.onclose(e),d.classList.remove("jcolor-focus")),p.style.display="",o.options.value},o.setValue=function(t){t&&(e.value=t,o.options.value=t);var r=d.querySelector(".jcolor-selected");r&&r.classList.remove("jcolor-selected"),o.values[t].classList.add("jcolor-selected"),"function"==typeof o.options.onchange&&o.options.onchange(e,t),1==o.options.closeOnChange&&o.close()},o.getValue=function(){return o.options.value},e.addEventListener("focus",(function(e){o.open()})),e.addEventListener("mousedown",(function(e){jSuites.color.current||setTimeout((function(){o.open(),e.preventDefault()}),200)})),d.addEventListener("mouseup",(function(e){"TD"==e.target.tagName&&(jSuites.color.current.setValue(e.target.getAttribute("data-value")),jSuites.color.current&&jSuites.color.current.close())})),document.addEventListener("mousedown",(function(e){jSuites.color.current&&(jSuites.getElement(e.target,"jcolor")||jSuites.color.current.close())})),d.setAttribute("tabindex","900"),o.options.placeholder&&e.setAttribute("placeholder",o.options.placeholder),b.appendChild(m),d.appendChild(b),"INPUT"==e.tagName?e.parentNode.insertBefore(d,e.nextSibling):e.appendChild(d),e.color=o,o},jSuites.contextmenu=function(e,t){var o={options:{}},r={items:null,onclick:null};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];return e.classList.add("jcontextmenu"),e.setAttribute("tabindex","900"),o.open=function(t,r){if(r&&(o.options.items=r,o.create(r)),t.target)var n=t.clientX,i=t.clientY;else n=t.x,i=t.y;e.classList.add("jcontextmenu-focus"),e.focus();const s=e.getBoundingClientRect();window.innerHeight<i+s.height?e.style.top=i-s.height+"px":e.style.top=i+"px",window.innerWidth<n+s.width?n-s.width>0?e.style.left=n-s.width+"px":e.style.left="10px":e.style.left=n+"px"},o.close=function(){e.classList.contains("jcontextmenu-focus")&&e.classList.remove("jcontextmenu-focus")},o.create=function(t){e.innerHTML="";for(var o=0;o<t.length;o++){if(t[o].type&&"line"==t[o].type)var r=document.createElement("hr");else{r=document.createElement("div");var n=document.createElement("a");if(n.innerHTML=t[o].title,t[o].disabled?r.className="jcontextmenu-disabled":t[o].onclick&&(r.method=t[o].onclick,r.addEventListener("mouseup",(function(){this.method(this)}))),r.appendChild(n),t[o].shortcut){var i=document.createElement("span");i.innerHTML=t[o].shortcut,r.appendChild(i)}}e.appendChild(r)}},"function"==typeof o.options.onclick&&e.addEventListener("click",(function(e){o.options.onclick(o)})),e.addEventListener("blur",(function(e){setTimeout((function(){o.close()}),120)})),window.addEventListener("mousewheel",(function(){o.close()})),o.options.items&&o.create(o.options.items),e.contextmenu=o,o},jSuites.contextmenu.getElement=function(e){var t=0;return function e(o){o.parentNode&&o.getAttribute("aria-contextmenu-id")?t=o.getAttribute("aria-contextmenu-id"):o.parentNode&&e(o.parentNode)}(e),t},document.addEventListener("contextmenu",(function(e){var t=jSuites.contextmenu.getElement(e.target);if(t){var o=document.querySelector("#"+t);o?(o.contextmenu.open(e),e.preventDefault()):console.error("JSUITES: Contextmenu id not found")}})),jSuites.dialog=function(){var e={options:{}},t=document.createElement("div");t.setAttribute("tabindex","901"),t.className="jdialog",t.id="dialog";var o=document.createElement("div");o.className="jdialog-header";var r=document.createElement("div");r.className="jdialog-title",o.appendChild(r);var n=document.createElement("div");n.className="jdialog-message",o.appendChild(n);var i=document.createElement("div");i.className="jdialog-footer";var s=document.createElement("div");s.className="jdialog-container",s.appendChild(o),s.appendChild(i);var l=document.createElement("div"),a=document.createElement("input");a.value=e.options.confirmLabel,a.type="button",a.onclick=function(){"function"==typeof e.options.onconfirm&&e.options.onconfirm(),e.close()},l.appendChild(a),i.appendChild(l);var u=document.createElement("div"),c=document.createElement("input");return c.value=e.options.cancelLabel,c.type="button",c.onclick=function(){"function"==typeof e.options.oncancel&&e.options.oncancel(),e.close()},u.appendChild(c),i.appendChild(u),t.appendChild(s),e.open=function(o){e.options=o,e.options.title&&(r.innerHTML=e.options.title),e.options.message&&(n.innerHTML=e.options.message),e.options.confirmLabel||(e.options.confirmLabel="OK"),a.value=e.options.confirmLabel,e.options.cancelLabel||(e.options.cancelLabel="Cancel"),c.value=e.options.cancelLabel,"confirm"==e.options.type?c.parentNode.style.display="":c.parentNode.style.display="none",t.style.opacity=100,jSuites.el?jSuites.el.appendChild(t):document.body.appendChild(t),t.focus(),setTimeout((function(){s.style.opacity=100}),0)},e.close=function(){t.style.opacity=0,s.style.opacity=0,setTimeout((function(){t.remove()}),100)},e}(),jSuites.confirm=function(e,t){jSuites.getWindowWidth()<800?jSuites.dialog.open({type:"confirm",message:e,title:"Confirmation",onconfirm:t}):confirm(e)&&t()},jSuites.alert=function(e){jSuites.getWindowWidth()<800?jSuites.dialog.open({title:"Alert",message:e}):alert(e)},jSuites.dropdown=function(e,t){var o={options:{}};if("SELECT"==e.tagName){var r=jSuites.dropdown.extractFromDom(e,t);e=r.el,t=r.options}var n={url:null,data:[],multiple:!1,autocomplete:!1,type:null,width:null,opened:!1,value:null,placeholder:"",position:!1,onchange:null,onload:null,onopen:null,onclose:null,onblur:null};for(var i in n)t&&t.hasOwnProperty(i)?o.options[i]=t[i]:o.options[i]=n[i];jSuites.dropdown.current||(jSuites.dropdown.current=null),o.items=[],o.groups=[],o.selected=[],e.classList.add("jdropdown"),"searchbar"==o.options.type?e.classList.add("jdropdown-searchbar"):"list"==o.options.type?e.classList.add("jdropdown-list"):"picker"==o.options.type?e.classList.add("jdropdown-picker"):jSuites.getWindowWidth()<800?(e.classList.add("jdropdown-picker"),o.options.type="picker"):(o.options.width&&(e.style.width=o.options.width,e.style.minWidth=o.options.width),e.classList.add("jdropdown-default"),o.options.type="default");var s=document.createElement("div");s.className="jdropdown-container-header";var l=document.createElement("input");l.className="jdropdown-header","function"==typeof o.options.onblur&&(l.onblur=function(){o.options.onblur(e)});var a=document.createElement("div");a.className="jdropdown-container";var u=document.createElement("div");u.className="jdropdown-content";var c=document.createElement("div");c.className="jdropdown-close",c.innerHTML="Done";var d=document.createElement("div");if(d.className="jdropdown-backdrop",1==o.options.autocomplete){e.setAttribute("data-autocomplete",!0);var p=null;l.addEventListener("keyup",(function(t){p&&clearTimeout(p),p=setTimeout((function(){o.find(l.value),p=null}),500),e.classList.contains("jdropdown-focus")||t.which>65&&o.open()}))}else l.setAttribute("readonly","readonly");return!o.options.placeholder&&e.getAttribute("placeholder")&&(o.options.placeholder=e.getAttribute("placeholder")),o.options.placeholder&&l.setAttribute("placeholder",o.options.placeholder),s.appendChild(l),"searchbar"==o.options.type?s.appendChild(c):a.appendChild(c),a.appendChild(u),e.appendChild(s),e.appendChild(a),e.appendChild(d),o.init=function(){o.options.url?jSuites.ajax({url:o.options.url,method:"GET",dataType:"json",success:function(t){t&&(o.setData(t),null!=o.options.value&&o.setValue(o.options.value),"function"==typeof o.options.onload&&o.options.onload(e,o,t))}}):(o.setData(),null!=o.options.value&&o.setValue(o.options.value),"function"==typeof o.options.onload&&o.options.onload(e,o,data)),1==o.options.opened&&o.open()},o.getUrl=function(){return o.options.url},o.setUrl=function(e){o.options.url=e,jSuites.ajax({url:o.options.url,method:"GET",dataType:"json",success:function(e){o.setData(e)}})},o.createItem=function(e){var t={};if(t.element=document.createElement("div"),t.element.className="jdropdown-item",t.value=e.id,t.text=e.name,t.textLowerCase=""+e.name.toLowerCase(),e.image){var o=document.createElement("img");o.className="jdropdown-image",o.src=e.image,e.title||o.classList.add("jdropdown-image-small"),t.element.appendChild(o)}var r=document.createElement("div");if(r.className="jdropdown-description",r.innerHTML=e.name,e.title){var n=document.createElement("div");n.className="jdropdown-title",n.innerHTML=e.title,r.appendChild(n)}return t.element.appendChild(r),t},o.setData=function(e){e&&(o.options.data=e),e=o.options.data,a.removeChild(u),u.innerHTML="",o.reset(),o.items=[];var t=[],r=[];if(e.length){for(var n=0;n<e.length;n++)"object"!=typeof e[n]&&(o.options.data[n]=e[n]={id:e[n],name:e[n]}),e[n].group?(r[e[n].group]||(r[e[n].group]=[]),r[e[n].group].push(n)):t.push(n);var i=Object.keys(r);if(i.length>0)for(n=0;n<i.length;n++){var s=document.createElement("div");s.className="jdropdown-group";var l=document.createElement("div");l.className="jdropdown-group-name",l.innerHTML=i[n];var c=document.createElement("i");c.className="jdropdown-group-arrow jdropdown-group-arrow-down",l.appendChild(c);var d=document.createElement("div");d.className="jdropdown-group-items";for(var p=0;p<r[i[n]].length;p++){var b=o.createItem(e[r[i[n]][p]]);d.appendChild(b.element),o.items.push(b)}s.appendChild(l),s.appendChild(c),s.appendChild(d),u.appendChild(s)}if(t.length)for(n=0;n<t.length;n++)b=o.createItem(e[t[n]]),o.items.push(b),u.appendChild(b.element);for(n=0;n<o.items.length;n++)o.items[n].element.setAttribute("data-index",n)}a.appendChild(u)},o.getText=function(e){for(var t=[],r=0;r<o.selected.length;r++)o.items[o.selected[r]]&&t.push(o.items[o.selected[r]].text);return e?t:t.join("; ")},o.getValue=function(e){for(var t=[],r=0;r<o.selected.length;r++)o.items[o.selected[r]]&&t.push(o.items[o.selected[r]].value);return e?t:t.join(";")},o.setValue=function(e){for(var t=0;t<o.selected.length;t++)o.items[o.selected[t]].element.classList.remove("jdropdown-selected");if(o.selected=[],null!=e)if(Array.isArray(e))for(t=0;t<o.items.length;t++)for(var r=0;r<e.length;r++)o.items[t].value==e[r]&&(o.selected.push(t),o.items[t].element.classList.add("jdropdown-selected"));else for(t=0;t<o.items.length;t++)o.items[t].value==e&&(o.selected.push(t),o.items[t].element.classList.add("jdropdown-selected"));o.updateLabel()},o.selectIndex=function(t){if(o.items&&o.items[t]){t=t=parseInt(t);var r=o.getValue(),n=o.getText();if(null!=o.currentIndex&&o.items[o.currentIndex].element.classList.remove("jdropdown-cursor"),o.items[t].element.classList.add("jdropdown-cursor"),o.currentIndex=t,o.options.multiple){if(o.items[t].element.classList.contains("jdropdown-selected")){o.items[t].element.classList.remove("jdropdown-selected");var i=o.selected.indexOf(t);o.selected.splice(i,1)}else o.items[t].element.classList.add("jdropdown-selected"),o.selected.push(t);o.options.autocomplete||o.updateLabel()}else o.items[t].element.classList.contains("jdropdown-selected")?o.resetSelected():(o.resetSelected(),o.items[t].element.classList.add("jdropdown-selected"),o.selected.push(t),o.close());var s=o.getValue(),l=o.getText();"function"==typeof o.options.onchange&&o.options.onchange(e,t,r,s,n,l)}},o.selectItem=function(e){if(jSuites.dropdown.current){var t=e.getAttribute("data-index");null!=t&&o.selectIndex(t)}},o.find=function(e){e=e?e.toLowerCase():null;for(var t=0;t<o.items.length;t++)null==e||-1!=o.items[t].textLowerCase.indexOf(e)?o.items[t].element.style.display="":-1==o.selected.indexOf(t)?o.items[t].element.style.display="none":o.items[t].element.style.display=""},o.updateLabel=function(){l.value=o.getText()},o.open=function(){if(jSuites.dropdown.current!=e&&(jSuites.dropdown.current&&jSuites.dropdown.current.dropdown.close(),jSuites.dropdown.current=e),!e.classList.contains("jdropdown-focus")){e.classList.add("jdropdown-focus"),jSuites.getWindowWidth()<800&&(null!=o.options.type&&"picker"!=o.options.type||jSuites.slideBottom(a,1)),1==o.options.autocomplete&&(o.find(),l.value="",l.focus());var t=o.selected&&o.selected[0]?o.selected[0]:0;if(o.updateCursor(t),!o.options.type||"default"==o.options.type){const t=e.getBoundingClientRect(),r=a.getBoundingClientRect();o.options.position?(a.style.position="fixed",window.innerHeight<t.bottom+r.height?(a.style.top="",a.style.bottom=window.innerHeight-t.top+1+"px"):(a.style.top=t.bottom+"px",a.style.bottom=""),a.style.left=t.left+"px"):window.innerHeight<t.bottom+r.height?(a.style.top="",a.style.bottom=t.height+1+"px"):(a.style.top="",a.style.bottom=""),a.style.minWidth=t.width+"px"}}"function"==typeof o.options.onopen&&o.options.onopen(e)},o.close=function(t){return jSuites.dropdown.current&&(jSuites.dropdown.current=null,o.resetCursor(),o.updateLabel(),t||"function"!=typeof o.options.onclose||o.options.onclose(e),l.blur&&l.blur(),e.classList.remove("jdropdown-focus")),o.getValue()},o.updateCursor=function(e){if(o.items&&o.items[e]&&o.items[e].element){o.resetCursor(),o.items[e].element.classList.add("jdropdown-cursor"),o.currentIndex=parseInt(e),u.scrollTop;var t=o.items[o.currentIndex].element;u.scrollTop=t.offsetTop-t.scrollTop+t.clientTop-95}},o.resetCursor=function(){null!=o.currentIndex&&(o.items&&o.items[o.currentIndex]&&o.items[o.currentIndex].element.classList.remove("jdropdown-cursor"),o.currentIndex=null)},o.resetSelected=function(){if(o.selected){for(var e=0;e<o.selected.length;e++)o.items[o.selected[e]]&&o.items[o.selected[e]].element.classList.remove("jdropdown-selected");o.selected=[]}},o.reset=function(){o.resetCursor(),o.resetSelected(),o.updateLabel()},o.firstVisible=function(){for(var e=null,t=0;t<o.items.length;t++)if("none"!=o.items[t].element.style.display){e=t;break}if(null==e)return!1;o.updateCursor(e)},o.first=function(){for(var e=null,t=o.currentIndex-1;t>=0;t--)"none"!=o.items[t].element.style.display&&(e=t);if(null==e)return!1;o.updateCursor(e)},o.last=function(){for(var e=null,t=o.currentIndex+1;t<o.items.length;t++)"none"!=o.items[t].element.style.display&&(e=t);if(null==e)return!1;o.updateCursor(e)},o.next=function(){for(var e=null,t=o.currentIndex+1;t<o.items.length;t++)if("none"!=o.items[t].element.style.display){e=t;break}if(null==e)return!1;o.updateCursor(e)},o.prev=function(){for(var e=null,t=o.currentIndex-1;t>=0;t--)if("none"!=o.items[t].element.style.display){e=t;break}if(null==e)return!1;o.updateCursor(e)},jSuites.dropdown.hasEvents||("ontouchsend"in document.documentElement==1?document.addEventListener("touchsend",jSuites.dropdown.mouseup):document.addEventListener("mouseup",jSuites.dropdown.mouseup),document.addEventListener("keydown",jSuites.dropdown.onkeydown),jSuites.dropdown.hasEvents=!0),o.init(),e.dropdown=o,o},jSuites.dropdown.hasEvents=!1,jSuites.dropdown.mouseup=function(e){var t=jSuites.getElement(e.target,"jdropdown");if(t){var o=t.dropdown;if(e.target.classList.contains("jdropdown-header"))t.classList.contains("jdropdown-focus")&&t.classList.contains("jdropdown-default")?o.close():o.open();else if(e.target.classList.contains("jdropdown-group-name")){var r=e.target.nextSibling.children;if("none"!=e.target.nextSibling.style.display)for(var n=0;n<r.length;n++)"none"!=r[n].style.display&&o.selectItem(r[n])}else e.target.classList.contains("jdropdown-group-arrow")?e.target.classList.contains("jdropdown-group-arrow-down")?(e.target.classList.remove("jdropdown-group-arrow-down"),e.target.classList.add("jdropdown-group-arrow-up"),e.target.parentNode.nextSibling.style.display="none"):(e.target.classList.remove("jdropdown-group-arrow-up"),e.target.classList.add("jdropdown-group-arrow-down"),e.target.parentNode.nextSibling.style.display=""):e.target.classList.contains("jdropdown-item")?o.selectItem(e.target):e.target.classList.contains("jdropdown-image")||e.target.classList.contains("jdropdown-description")?o.selectIndex(e.target.parentNode.getAttribute("data-index")):e.target.classList.contains("jdropdown-title")?o.selectIndex(e.target.parentNode.parentNode.getAttribute("data-index")):(e.target.classList.contains("jdropdown-close")||e.target.classList.contains("jdropdown-backdrop"))&&o.close();e.stopPropagation(),e.preventDefault()}else jSuites.dropdown.current&&jSuites.dropdown.current.dropdown.close()},jSuites.dropdown.onkeydown=function(e){if(jSuites.dropdown.current){var t=jSuites.dropdown.current.dropdown,o=t.currentIndex;e.shiftKey||13!=e.which&&27!=e.which&&35!=e.which&&36!=e.which&&38!=e.which&&40!=e.which||(13==e.which?t.selectIndex(o):38==e.which?null==o?t.firstVisible():o>0&&t.prev():40==e.which?null==o?t.firstVisible():o+1<t.options.data.length&&t.next():36==e.which?t.first():35==e.which?t.last():27==e.which&&t.close(),e.stopPropagation(),e.preventDefault())}},jSuites.dropdown.extractFromDom=function(e,t){var o=e;if(t||(t={}),!e.getAttribute("multiple")||t&&null!=t.multiple||(t.multiple=!0),!e.getAttribute("placeholder")||t&&null!=t.placeholder||(t.placeholder=e.getAttribute("placeholder")),!e.getAttribute("data-autocomplete")||t&&null!=t.autocomplete||(t.autocomplete=!0),t&&null!=t.width||(t.width=e.offsetWidth),!e.value||t&&null!=t.value||(t.value=e.value),!t||null==t.data){t.data=[];for(var r=0;r<e.children.length;r++)if("OPTGROUP"==e.children[r].tagName)for(var n=0;n<e.children[r].children.length;n++)t.data.push({id:e.children[r].children[n].value,name:e.children[r].children[n].innerHTML,group:e.children[r].getAttribute("label")});else t.data.push({id:e.children[r].value,name:e.children[r].innerHTML})}t&&null!=t.onchange||(t.onchange=function(e,r,n,i){1==t.multiple?obj.items[r].classList.contains("jdropdown-selected")?o.options[r].setAttribute("selected","selected"):o.options[r].removeAttribute("selected"):o.value=i});var i=document.createElement("div");return e.parentNode.insertBefore(i,e),e.style.display="none",{el:e=i,options:t}},jSuites.editor=function(e,t){var o={options:{}},r={value:null,snippet:null,toolbar:null,maxHeight:null,remoteParser:null,youtubeKey:null,userSearch:null,parseURL:!1,dropZone:!0,dropAsAttachment:!1,acceptImages:!0,acceptFiles:!1,maxFileSize:5e6,border:!0,padding:!0,focus:!1,onclick:null,onfocus:null,onblur:null,onload:null,onenter:null,onkeyup:null,onkeydown:null};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];var i=null,s=null;e.innerHTML="",e.classList.add("jeditor-container"),1==o.options.padding&&e.classList.add("jeditor-padding"),0==o.options.border&&(e.style.border="0px");var l=document.createElement("div");l.className="snippet",l.setAttribute("contenteditable",!1);var a=document.createElement("div");a.className="jeditor-toolbar";var u=document.createElement("div");if(u.setAttribute("contenteditable",!0),u.setAttribute("spellcheck",!1),u.className="jeditor",o.options.maxHeight&&(u.style.overflowY="auto",u.style.maxHeight=o.options.maxHeight),o.options.value)var c=o.options.value;else c=e.innerHTML?e.innerHTML:"";c||(c="<br>");var d=function(e){var t=document.createElement("div");t.innerHTML=e;var r=t.querySelectorAll("img");if(r.length)for(var n=0;n<r.length;n++)o.addImage(r[n].src)},p=function(e){var t,o;window.getSelection&&(t=window.getSelection()).rangeCount&&((o=t.getRangeAt(0)).toString(),o.deleteContents(),o.insertNode(e),o.setStartAfter(e),o.setEndAfter(e),t.removeAllRanges(),t.addRange(o))},b=function(e){if(l.innerHTML="",e.image){(o=document.createElement("div")).className="snippet-image",o.setAttribute("data-k","image"),l.appendChild(o);var t=document.createElement("img");t.src=e.image,o.appendChild(t)}var o;(o=document.createElement("div")).className="snippet-title",o.setAttribute("data-k","title"),o.innerHTML=e.title,l.appendChild(o),(o=document.createElement("div")).className="snippet-description",o.setAttribute("data-k","description"),o.innerHTML=e.description,l.appendChild(o),(o=document.createElement("div")).className="snippet-host",o.setAttribute("data-k","host"),o.innerHTML=e.host,l.appendChild(o),(o=document.createElement("div")).className="snippet-url",o.setAttribute("data-k","url"),o.innerHTML=e.url,l.appendChild(o),u.appendChild(l)},f=function(){clearTimeout(i),i=setTimeout((function(){var t=u.querySelector(".snippet"),r=e.querySelector(".jeditor-thumbs-container");if(!t&&!r){var n=u.innerHTML.replace(/\n/g," "),i=document.createElement("div");i.innerHTML=n,(r=i.querySelector(".jeditor-thumbs-container"))&&r.remove();var s=i.innerText,l=jSuites.editor.detectUrl(s);if(l)if("jpg"==l[0].substr(-3)||"png"==l[0].substr(-3)||"gif"==l[0].substr(-3))jSuites.editor.getDomain(l[0])==window.location.hostname?o.importImage(l[0],""):o.importImage(o.options.remoteParser+l[0],"");else{var a=jSuites.editor.youtubeParser(l[0]);a?o.getYoutube(a):o.getWebsite(l[0])}}}),1e3)};o.parseContent=function(){f()},o.getYoutube=function(e){o.options.youtubeKey?jSuites.ajax({url:"https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&key="+o.options.youtubeKey+"&id="+e,method:"GET",dataType:"json",success:function(t){if(t.items&&t.items[0]){var o={title:"",description:"",image:"",host:"www.youtube.com",url:"https://www.youtube.com?watch="+e};t.items[0].snippet.title&&(o.title=t.items[0].snippet.title),t.items[0].snippet.description&&(o.description=t.items[0].snippet.description,o.description.length>150&&(o.description=o.description.substr(0,150)+"...")),t.items[0].snippet.thumbnails.medium.url&&(o.image=t.items[0].snippet.thumbnails.medium.url),b(o)}}}):console.error("The youtubeKey is not defined")},o.getWebsite=function(e){o.options.remoteParser?jSuites.ajax({url:o.options.remoteParser+encodeURI(e.trim()),method:"GET",dataType:"json",success:function(t){var o={title:"",description:"",image:"",host:e,url:e};t.title&&(o.title=t.title),t.description&&(o.description=t.description),t.image?o.image=t.image:t["og:image"]&&(o.image=t["og:image"]),t.host&&(o.host=t.host),t.url&&(o.url=t.url),b(o)}}):console.log("The remoteParser is not defined")},o.setData=function(e){u.innerHTML=e,cursor()},o.getData=function(e){if(e){s={content:""};var t=u.querySelectorAll(".post-tag");if(t.length){s.users=[];for(var o=0;o<t.length;o++){var r=t[o].getAttribute("data-user");r&&s.users.push(r)}s.users=s.users.join(",")}if(l.innerHTML){for(s.snippet={},o=0;o<l.children.length;o++){var n=l.children[o].getAttribute("data-k");n&&("image"==n?s.snippet.image=l.children[o].children[0].getAttribute("src"):s.snippet[n]=l.children[o].innerHTML)}l.innerHTML="",l.remove()}var i=u.innerHTML;i=(i=(i=i.replace(/<br>/g,"\n")).replace(/<\/div>/g,"</div>\n")).replace(/<(?:.|\n)*?>/gm,""),s.content=i.trim(),s=JSON.stringify(s)}else var s=u.innerHTML;return s},o.reset=function(){u.innerHTML=""},o.addPdf=function(e){if("data"!=e.result.substr(0,4))console.error("Invalid source");else{var t=document.createElement("canvas");t.width=60,t.height=60;var o=new Image;t.getContext("2d").drawImage(o,0,0,t.width,t.height),t.toBlob((function(t){var o=document.createElement("img");o.src=window.URL.createObjectURL(t),o.setAttribute("data-extension","pdf"),e.name&&o.setAttribute("data-name",e.name),e.size&&o.setAttribute("data-size",e.size),e.date&&o.setAttribute("data-date",e.date),o.className="jfile pdf",p(o),jSuites.files[o.src]=e.result.substr(e.result.indexOf(",")+1)}))}},o.addImage=function(e,t,r,n){if("data"==e.substr(0,4)||o.options.remoteParser){if("data"==e.substr(0,4))i=(i=(i=e.split(";"))[0].split("/"))[1];else{var i=e.substr(e.lastIndexOf(".")+1);e=o.options.remoteParser+e}var s=new Image;s.onload=function(){var e=document.createElement("canvas");e.width=s.width,e.height=s.height,e.getContext("2d").drawImage(s,0,0,e.width,e.height),e.toBlob((function(o){var s=document.createElement("img");s.src=window.URL.createObjectURL(o),s.setAttribute("tabindex","900"),s.setAttribute("data-extension",i),t&&s.setAttribute("data-name",t),r&&s.setAttribute("data-size",r),n&&s.setAttribute("data-date",n),s.className="jfile";var l=e.toDataURL();p(s),jSuites.files[s.src]=l.substr(l.indexOf(",")+1)}))},s.src=e}else console.error("remoteParser not defined in your initialization")},o.addFile=function(e){for(var t=[],r=0;r<e.length;r++)if(e[r].size>o.options.maxFileSize)alert("The file is too big");else{var n=e[r].type.split("/");(n="image"==n[0]?1:"pdf"==n[1]?2:0)?(t[r]=new FileReader,t[r].index=r,t[r].type=n,t[r].name=e[r].name,t[r].date=e[r].lastModified,t[r].size=e[r].size,t[r].addEventListener("load",(function(e){2==e.target.type?1==o.options.acceptFiles&&o.addPdf(e.target):o.addImage(e.target.result,e.target.name,e.total,e.target.lastModified)}),!1),t[r].readAsDataURL(e[r])):alert("The extension is not allowed")}},o.destroy=function(){u.removeEventListener("mouseup",m),u.removeEventListener("mousedown",j),u.removeEventListener("mousemove",h),u.removeEventListener("keyup",g),u.removeEventListener("keydown",v),u.removeEventListener("dragstart",C),u.removeEventListener("dragenter",x),u.removeEventListener("dragover",w),u.removeEventListener("drop",E),u.removeEventListener("paste",y),"function"==typeof o.options.onblur&&u.removeEventListener("blur",A),"function"==typeof o.options.onfocus&&u.removeEventListener("focus",N),e.editor=null,e.classList.remove("jeditor-container"),a.remove(),l.remove(),u.remove()};var m=function(e){s=!1},j=function(e){var t=function(t){var o=t.getBoundingClientRect();o.width-(e.clientX-o.left)<40&&e.clientY-o.top<40&&(t.innerHTML="",t.remove())};if("IMG"==e.target.tagName)if(e.target.style.cursor){var o=e.target.getBoundingClientRect();s={e:e.target,x:e.clientX,y:e.clientY,w:o.width,h:o.height,d:e.target.style.cursor},e.target.style.width||(e.target.style.width=o.width+"px"),e.target.style.height||(e.target.style.height=o.height+"px");var r=window.getSelection();if(r.rangeCount)for(var n=0;n<r.rangeCount;n++)r.removeRange(r.getRangeAt(n))}else s=!0;else e.target.classList.contains("snippet")?t(e.target):e.target.parentNode.classList.contains("snippet")&&t(e.target.parentNode),s=!0},h=function(e){if("IMG"==e.target.tagName&&e.target.getAttribute("tabindex")){var t=e.target.getBoundingClientRect();e.clientY-t.top<5?t.width-(e.clientX-t.left)<5?e.target.style.cursor="ne-resize":e.clientX-t.left<5?e.target.style.cursor="nw-resize":e.target.style.cursor="n-resize":t.height-(e.clientY-t.top)<5?t.width-(e.clientX-t.left)<5?e.target.style.cursor="se-resize":e.clientX-t.left<5?e.target.style.cursor="sw-resize":e.target.style.cursor="s-resize":t.width-(e.clientX-t.left)<5?e.target.style.cursor="e-resize":e.clientX-t.left<5?e.target.style.cursor="w-resize":e.target.style.cursor=""}if(1==e.which&&s&&s.d){if("e-resize"==s.d||"ne-resize"==s.d||"se-resize"==s.d)if(s.e.style.width=s.w+(e.clientX-s.x)+"px",e.shiftKey){var o=(e.clientX-s.x)*(s.h/s.w);s.e.style.height=s.h+o+"px"}else o=null;o||"s-resize"!=s.d&&"se-resize"!=s.d&&"sw-resize"!=s.d||e.shiftKey||(s.e.style.height=s.h+(e.clientY-s.y))}},g=function(t){u.innerHTML||(u.innerHTML="<div><br></div>"),"function"==typeof o.options.onkeyup&&o.options.onkeyup(t,e)},v=function(t){if(1==o.options.parseURL&&f(),"function"==typeof o.options.onenter&&13==t.which){var r=o.getData();o.options.onenter(o,e,r,t)}"function"==typeof o.options.onkeydown&&o.options.onkeydown(t,e)},y=function(e){if(e.clipboardData||e.originalEvent.clipboardData)var t=(e.originalEvent||e).clipboardData.getData("text/html"),r=(e.originalEvent||e).clipboardData.getData("text/plain"),n=(e.originalEvent||e).clipboardData.files;else window.clipboardData&&(t=window.clipboardData.getData("Html"),r=window.clipboardData.getData("Text"),n=window.clipboardData.files);if(n.length)o.addFile(n);else{r=r.split("\r\n");var i="";if("DIV"!=e.target.nodeName||e.target.classList.contains("jeditor"))for(s=0;s<r.length;s++)r[s]?i+="<div>"+r[s]+"</div>":i+="<div><br></div>";else for(var s=0;s<r.length;s++)r[s]&&(i+=r[s]+"<br>\r\n");document.execCommand("insertHtml",!1,i),1==o.options.acceptImages&&d(t)}e.preventDefault()},C=function(e){s&&s.e&&e.preventDefault()},x=function(t){s||0==o.options.dropZone||e.classList.add("jeditor-dragging")},w=function(t){s||0==o.options.dropZone||(i&&clearTimeout(i),i=setTimeout((function(){e.classList.remove("jeditor-dragging")}),100))},E=function(t){if(s||0==o.options.dropZone);else{var r=null;document.caretRangeFromPoint?r=document.caretRangeFromPoint(t.clientX,t.clientY):t.rangeParent&&(r=document.createRange()).setStart(t.rangeParent,t.rangeOffset);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),n.anchorNode.parentNode.focus();var i=(t.originalEvent||t).dataTransfer.getData("text/html"),l=(t.originalEvent||t).dataTransfer.getData("text/plain"),a=(t.originalEvent||t).dataTransfer.files;a.length?o.addFile(a):l&&d(i),e.classList.remove("jeditor-dragging"),t.preventDefault()}},A=function(){o.options.onblur(o,e,o.getData())},N=function(){o.options.onfocus(o,e,o.getData())};if(u.addEventListener("mouseup",m),u.addEventListener("mousedown",j),u.addEventListener("mousemove",h),u.addEventListener("keyup",g),u.addEventListener("keydown",v),u.addEventListener("dragstart",C),u.addEventListener("dragenter",x),u.addEventListener("dragover",w),u.addEventListener("drop",E),u.addEventListener("paste",y),"function"==typeof o.options.onblur&&u.addEventListener("blur",A),"function"==typeof o.options.onfocus&&u.addEventListener("focus",N),"function"==typeof o.options.onload&&o.options.onload(e,u),u.innerHTML=c,e.appendChild(u),o.options.snippet&&b(o.options.snippet),null==o.options.toolbar&&(o.options.toolbar=jSuites.editor.getDefaultToolbar()),o.options.toolbar){for(var L=0;L<o.options.toolbar.length;L++)if(o.options.toolbar[L].icon){(M=document.createElement("div")).style.userSelect="none";var I=document.createElement("i");I.className="material-icons",I.innerHTML=o.options.toolbar[L].icon,I.onclick=function(t){var r=t;return function(){o.options.toolbar[r].onclick(e,o,this)}}(L),M.appendChild(I),a.appendChild(M)}else if("divisor"==o.options.toolbar[L].type)(M=document.createElement("div")).className="jeditor-toolbar-divisor",a.appendChild(M);else if("button"==o.options.toolbar[L].type){var M;(M=document.createElement("div")).classList.add("jeditor-toolbar-button"),M.innerHTML=o.options.toolbar[L].value,a.appendChild(M)}e.appendChild(a)}return o.options.focus&&jSuites.editor.setCursor(u,"initial"==o.options.focus),e.editor=o,o},jSuites.editor.setCursor=function(e,t){e.focus(),document.execCommand("selectAll");var o=window.getSelection(),r=o.getRangeAt(0);if(1==t)var n=r.startContainer,i=0;else i=(n=r.endContainer).length;r.setStart(n,i),r.setEnd(n,i),o.removeAllRanges(),o.addRange(r)},jSuites.editor.getDomain=function(e){return e.replace("http://","").replace("https://","").replace("www.","").split(/[/?#]/)[0].split(/:/g)[0]},jSuites.editor.detectUrl=function(e){var t=e.match(/(((https?:\/\/)|(www\.))[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]+)/gi);return t&&"www"==t[0].substr(0,3)&&(t[0]="http://"+t[0]),t},jSuites.editor.youtubeParser=function(e){var t=e.match(/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/);return!(!t||11!=t[7].length)&&t[7]},jSuites.editor.getDefaultToolbar=function(){return[{icon:"undo",onclick:function(){document.execCommand("undo")}},{icon:"redo",onclick:function(){document.execCommand("redo")}},{type:"divisor"},{icon:"format_bold",onclick:function(e,t,o){document.execCommand("bold"),document.queryCommandState("bold")?o.classList.add("selected"):o.classList.remove("selected")}},{icon:"format_italic",onclick:function(e,t,o){document.execCommand("italic"),document.queryCommandState("italic")?o.classList.add("selected"):o.classList.remove("selected")}},{icon:"format_underline",onclick:function(e,t,o){document.execCommand("underline"),document.queryCommandState("underline")?o.classList.add("selected"):o.classList.remove("selected")}},{type:"divisor"},{icon:"format_list_bulleted",onclick:function(e,t,o){document.execCommand("insertUnorderedList"),document.queryCommandState("insertUnorderedList")?o.classList.add("selected"):o.classList.remove("selected")}},{icon:"format_list_numbered",onclick:function(e,t,o){document.execCommand("insertOrderedList"),document.queryCommandState("insertOrderedList")?o.classList.add("selected"):o.classList.remove("selected")}},{icon:"format_indent_increase",onclick:function(e,t,o){document.execCommand("indent",!0,null),document.queryCommandState("indent")?o.classList.add("selected"):o.classList.remove("selected")}},{icon:"format_indent_decrease",onclick:function(e,t,o){document.execCommand("outdent"),document.queryCommandState("outdent")?o.classList.add("selected"):o.classList.remove("selected")}}]},jSuites.image=function(e,t){var o={options:{}},r={minWidth:!1,onchange:null,singleFile:!0,remoteParser:null,text:{extensionNotAllowed:"The extension is not allowed",imageTooSmall:"The resolution is too low, try a image with a better resolution. width > 800px"}};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];e.classList.add("jupload"),o.addImage=function(e){e.date||(e.date="");var t=document.createElement("img");return t.setAttribute("data-date",e.lastmodified?e.lastmodified:e.date),t.setAttribute("data-name",e.name),t.setAttribute("data-size",e.size),t.setAttribute("data-small",e.small?e.small:""),t.setAttribute("data-cover",e.cover?1:0),t.setAttribute("data-extension",e.extension),t.setAttribute("src",e.file),t.className="jfile",t.style.width="100%",t},o.addImages=function(t){1==o.options.singleFile&&(e.innerHTML="");for(var r=0;r<t.length;r++)e.appendChild(o.addImage(t[r]))},o.addFromFile=function(t){if("image"==t.type.split("/")[0]){1==o.options.singleFile&&(e.innerHTML="");var r=new FileReader;r.addEventListener("load",(function(r){var n=new Image;n.onload=function(){var r=document.createElement("canvas");r.width=n.width,r.height=n.height,r.getContext("2d").drawImage(n,0,0,r.width,r.height);var i={file:r.toDataURL(),extension:t.name.substr(t.name.lastIndexOf(".")+1),name:t.name,size:t.size,lastmodified:t.lastModified},s=o.addImage(i);e.appendChild(s),"function"==typeof o.options.onchange&&o.options.onchange(s)},n.src=r.srcElement.result})),r.readAsDataURL(t)}else alert(text.extentionNotAllowed)},o.addFromUrl=function(t){if("data"==t.substr(0,4)||o.options.remoteParser){if("data"==t.substr(0,4))r=(r=(r=t.split(";"))[0].split("/"))[1];else{var r=t.substr(t.lastIndexOf(".")+1);t=o.options.remoteParser+t}var n=new Image;n.onload=function(){var t=document.createElement("canvas");t.width=n.width,t.height=n.height,t.getContext("2d").drawImage(n,0,0,t.width,t.height),t.toBlob((function(n){var i={file:window.URL.createObjectURL(n),extension:r},s=o.addImage(i);e.appendChild(s);var l=t.toDataURL();jSuites.files[i.file]=l.substr(l.indexOf(",")+1),"function"==typeof o.options.onchange&&o.options.onchange(s)}))},n.src=t}else console.error("remoteParser not defined in your initialization")};var i=document.createElement("input");return i.type="file",i.setAttribute("accept","image/*"),i.onchange=function(){for(var e=0;e<this.files.length;e++)o.addFromFile(this.files[e])},e.addEventListener("dblclick",(function(e){jSuites.click(i)})),e.addEventListener("dragenter",(function(t){e.style.border="1px dashed #000"})),e.addEventListener("dragleave",(function(t){e.style.border="1px solid #eee"})),e.addEventListener("dragstop",(function(t){e.style.border="1px solid #eee"})),e.addEventListener("dragover",(function(e){e.preventDefault()})),e.addEventListener("drop",(function(t){t.preventDefault(),t.stopPropagation();var r=(t.originalEvent||t).dataTransfer.getData("text/html");if((t.originalEvent||t).dataTransfer.files.length)for(var n=0;n<t.dataTransfer.files.length;n++)o.addFromFile(t.dataTransfer.files[n]);else if(r){1==o.options.singleFile&&(e.innerHTML="");var i=document.createElement("div");i.innerHTML=r;var s=i.querySelectorAll("img");if(s.length)for(n=0;n<s.length;n++)o.addFromUrl(s[n].src)}return e.style.border="1px solid #eee",!1})),e.image=o,o},jSuites.loading=function(){var e={},t=document.createElement("div");return t.className="jloading",e.show=function(){document.body.appendChild(t)},e.hide=function(){document.body.removeChild(t)},e}(),jSuites.login=function(e,t){var o={options:{}},r={url:window.location.href,prepareRequest:null,accessToken:null,deviceToken:null,facebookUrl:null,facebookAuthentication:null,maxHeight:null,onload:null,onsuccess:null,onerror:null,message:null,logo:null,newProfile:!1,newProfileUrl:!1,newProfileLogin:!1,fullscreen:!1,newPasswordValidation:null};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];if(!o.options.message){var i=document.querySelector(".message");i&&(o.options.message=i)}var s=null,l=document.createElement("form");e.appendChild(l);var a=document.createElement("div");if(a.className="jlogin-logo",l.appendChild(a),o.options.logo){var u=document.createElement("img");u.src=o.options.logo,a.appendChild(u)}var c=document.createElement("label");c.innerHTML="Please enter here the code received";var d=document.createElement("input");d.type="number",d.id="code",d.setAttribute("maxlength",6);var p=document.createElement("div");p.appendChild(c),p.appendChild(d);var b=document.createElement("input");b.type="hidden",b.name="h";var f=document.createElement("div");f.appendChild(b);var m=document.createElement("input");m.type="hidden",m.name="recovery",m.value="1";var j=document.createElement("div");j.appendChild(m);var h=document.createElement("label");h.innerHTML="Login";var g=document.createElement("input");g.type="text",g.name="login",g.setAttribute("autocomplete","off"),g.onkeyup=function(){this.value=this.value.toLowerCase().replace(/[^a-zA-Z0-9_+]+/gi,"")};var v=document.createElement("div");v.appendChild(h),v.appendChild(g);var y=document.createElement("label");y.innerHTML="Name";var C=document.createElement("input");C.type="text",C.name="name";var x=document.createElement("div");x.appendChild(y),x.appendChild(C);var w=document.createElement("label");w.innerHTML="E-mail";var E=document.createElement("input");E.type="text",E.name="username",E.setAttribute("autocomplete","new-username");var A=document.createElement("div");A.appendChild(w),A.appendChild(E);var N=document.createElement("label");N.innerHTML="New password";var L=document.createElement("input");L.type="password",L.name="password",L.setAttribute("autocomplete","new-password");var I=document.createElement("div");I.appendChild(N),I.appendChild(L),I.onkeydown=function(e){13==e.keyCode&&o.execute()};var M=document.createElement("label");M.innerHTML="Repeat the new password";var S=document.createElement("input");S.type="password",S.name="password";var T=document.createElement("div");T.appendChild(M),T.appendChild(S);var D=document.createElement("label");D.innerHTML="Remember me on this device";var R=document.createElement("input");R.type="checkbox",R.name="remember",R.value="1",D.appendChild(R);var O=document.createElement("div");O.className="rememberButton",O.appendChild(D);var F=document.createElement("input");F.type="button",F.value="Log In",F.onclick=function(){o.execute()};var H=document.createElement("div");H.appendChild(F);var k=document.createElement("div");k.innerHTML="Cancel",k.className="cancelButton",k.onclick=function(){o.requestAccess()};var B=document.createElement("div");B.appendChild(k);var P=document.createElement("label");P.innerHTML="Please type here the code below";var V=document.createElement("input");V.type="text",V.name="captcha";var U=document.createElement("img"),_=document.createElement("div");_.className="jlogin-captcha",_.appendChild(P),_.appendChild(V),_.appendChild(U);var Y=document.createElement("div");Y.innerHTML="Login with Facebook",Y.className="facebookButton";var z=document.createElement("div");z.appendChild(Y),z.onclick=function(){o.requestLoginViaFacebook()};var W=document.createElement("span");W.innerHTML="Request a new password";var q=document.createElement("div");q.className="requestButton",q.appendChild(W),q.onclick=function(){o.requestNewPassword()};var X=document.createElement("span");X.innerHTML="Create a new profile";var G=document.createElement("div");G.className="newProfileButton",G.appendChild(X),G.onclick=function(){o.newProfile()},e.className="jlogin",1==o.options.fullscreen&&e.classList.add("jlogin-fullscreen"),o.showMessage=function(e){"object"==typeof e&&e.message,"function"==typeof o.options.showMessage?o.options.showMessage(e):jSuites.alert(e)},o.newProfile=function(){l.innerHTML="",l.appendChild(a),o.options.newProfileLogin&&l.appendChild(v),l.appendChild(x),l.appendChild(A),l.appendChild(H),1==o.options.facebookAuthentication&&l.appendChild(z),l.appendChild(B),g.value="",E.value="",L.value="",F.value="Create new profile",s="newProfile"},o.requestNewPassword=function(){if(Array.prototype.indexOf.call(l.children,_)>=0)var e=!0;l.innerHTML="",l.appendChild(a),l.appendChild(j),l.appendChild(A),e&&l.appendChild(_),l.appendChild(H),l.appendChild(B),F.value="Request a new password",m.value=1,s="requestNewPassword"},o.codeConfirmation=function(){l.innerHTML="",l.appendChild(a),l.appendChild(f),l.appendChild(p),l.appendChild(H),l.appendChild(B),F.value="Confirm code",m.value=2,s="codeConfirmation"},o.changeMyPassword=function(e){l.innerHTML="",l.appendChild(a),l.appendChild(f),l.appendChild(I),l.appendChild(T),l.appendChild(H),l.appendChild(B),F.value="Change my password",b.value=e,s="changeMyPassword"},o.requestAccess=function(){l.innerHTML="",l.appendChild(a),l.appendChild(A),l.appendChild(I),l.appendChild(H),1==o.options.facebookAuthentication&&l.appendChild(z),l.appendChild(q),l.appendChild(O),l.appendChild(q),1==o.options.newProfile&&l.appendChild(G),F.value="Login",L.value="",window.localStorage.getItem("username")?(E.value=window.localStorage.getItem("username"),L.focus()):E.focus(),s="requestAccess"},o.requestLoginViaFacebook=function(){"undefined"==typeof deviceNotificationToken?FB.getLoginStatus((function(e){e.status&&"connected"==e.status?o.execute({f:e.authResponse.accessToken}):FB.login((function(e){e.authResponse?o.execute({f:e.authResponse.accessToken}):o.showMessage("Not authorized by facebook")}),{scope:"public_profile,email"})}),!0):(jDestroy=function(){fbLogin.removeEventListener("loadstart",jStart),fbLogin.removeEventListener("loaderror",jError),fbLogin.removeEventListener("exit",jExit),fbLogin.close(),fbLogin=null},jStart=function(e){var t=e.url;t.indexOf("access_token")>=0&&setTimeout((function(){var e=t.match(/=(.*?)&/);e[1].length>32&&o.execute({f:e[1]}),jDestroy()}),500),t.indexOf("error=access_denied")>=0&&(setTimeout(jDestroy,500),o.showMessage("Not authorized by facebook"))},jError=function(e){jDestroy()},jExit=function(e){jDestroy()},fbLogin=window.open(o.options.facebookUrl,"_blank","location=no,closebuttoncaption=Exit,disallowoverscroll=yes,toolbar=no"),fbLogin.addEventListener("loadstart",jStart),fbLogin.addEventListener("loaderror",jError),fbLogin.addEventListener("exit",jExit)),s="requestLoginViaFacebook"},o.execute=function(t){if("newProfile"==s){var r=new RegExp(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/);if(!E.value||!r.test(E.value))var n="Invalid e-mail address";if(r=new RegExp(/^[a-zA-Z0-9\_\-\.\s+]+$/),g.value&&r.test(g.value)||(n="Invalid username, please use only characters and numbers"),n)return o.showMessage(n),!1}else if("changeMyPassword"==s){if(L.value.length<3)n="Password is too short";else if(L.value!=S.value)n="Password should match";else if("function"==typeof o.options.newPasswordValidation){var i=o.options.newPasswordValidation(o,L.value,L.value);null!=i&&(n=i)}if(n)return o.showMessage(n),!1}if(""!=E.value&&window.localStorage.setItem("username",E.value),Array.prototype.indexOf.call(l.children,_)>=0&&""==V.value)return o.showMessage("Please enter the captch code below"),!1;var a=o.options.url;o.options.deviceToken&&(a+="?token="+o.options.deviceToken),t||((t=jSuites.getFormElements(e)).password&&(t.password=jSuites.login.sha512(t.password)),Array.prototype.indexOf.call(l.children,p)>=0&&d.value&&(t.h=jSuites.login.sha512(d.value))),e.classList.add("jlogin-loading"),a="newProfile"==s&&o.options.newProfileUrl?o.options.newProfileUrl:o.options.url,jSuites.ajax({url:a,method:"POST",dataType:"json",data:t,success:function(t){e.classList.remove("jlogin-loading"),function(e){e&&(1==e.success&&("requestNewPassword"==s?o.codeConfirmation():"codeConfirmation"==s?o.requestAccess():"newProfile"==s&&(o.requestAccess(),e.newProfile=!0),e.token&&(o.options.accessToken=e.token,window.localStorage.setItem("Access-Token",e.token))),e.message&&o.showMessage(e.message),e.data?(l.insertBefore(_,H),U.setAttribute("src","data:image/png;base64,"+e.data)):Array.prototype.indexOf.call(l.children,_)>=0&&_.remove(),e.hash?o.changeMyPassword(e.hash):e.url&&(1==e.success?"function"==typeof o.options.onsuccess?o.options.onsuccess(e):e.message?setTimeout((function(){window.location.href=e.url}),2e3):window.location.href=e.url:"function"==typeof o.options.onerror&&o.options.onerror(e)))}(t)},error:function(t){e.classList.remove("jlogin-loading"),"function"==typeof o.options.onerror&&o.options.onerror(t)}})};var K=window.location.href.split("?");return K[1]&&130==K[1].length&&"h="==K[1].substr(0,2)?o.changeMyPassword(K[1].substr(2)):o.requestAccess(),o},jSuites.login.sha512=function(e){function t(e,t){this.highOrder=e,this.lowOrder=t}var o,r,n,i,s,l,a,u,c,d,p=[new t(1779033703,4089235720),new t(3144134277,2227873595),new t(1013904242,4271175723),new t(2773480762,1595750129),new t(1359893119,2917565137),new t(2600822924,725511199),new t(528734635,4215389547),new t(1541459225,327033209)],b=[new t(1116352408,3609767458),new t(1899447441,602891725),new t(3049323471,3964484399),new t(3921009573,2173295548),new t(961987163,4081628472),new t(1508970993,3053834265),new t(2453635748,2937671579),new t(2870763221,3664609560),new t(3624381080,2734883394),new t(310598401,1164996542),new t(607225278,1323610764),new t(1426881987,3590304994),new t(1925078388,4068182383),new t(2162078206,991336113),new t(2614888103,633803317),new t(3248222580,3479774868),new t(3835390401,2666613458),new t(4022224774,944711139),new t(264347078,2341262773),new t(604807628,2007800933),new t(770255983,1495990901),new t(1249150122,1856431235),new t(1555081692,3175218132),new t(1996064986,2198950837),new t(2554220882,3999719339),new t(2821834349,766784016),new t(2952996808,2566594879),new t(3210313671,3203337956),new t(3336571891,1034457026),new t(3584528711,2466948901),new t(113926993,3758326383),new t(338241895,168717936),new t(666307205,1188179964),new t(773529912,1546045734),new t(1294757372,1522805485),new t(1396182291,2643833823),new t(1695183700,2343527390),new t(1986661051,1014477480),new t(2177026350,1206759142),new t(2456956037,344077627),new t(2730485921,1290863460),new t(2820302411,3158454273),new t(3259730800,3505952657),new t(3345764771,106217008),new t(3516065817,3606008344),new t(3600352804,1432725776),new t(4094571909,1467031594),new t(275423344,851169720),new t(430227734,3100823752),new t(506948616,1363258195),new t(659060556,3750685593),new t(883997877,3785050280),new t(958139571,3318307427),new t(1322822218,3812723403),new t(1537002063,2003034995),new t(1747873779,3602036899),new t(1955562222,1575990012),new t(2024104815,1125592928),new t(2227730452,2716904306),new t(2361852424,442776044),new t(2428436474,593698344),new t(2756734187,3733110249),new t(3204031479,2999351573),new t(3329325298,3815920427),new t(3391569614,3928383900),new t(3515267271,566280711),new t(3940187606,3454069534),new t(4118630271,4000239992),new t(116418474,1914138554),new t(174292421,2731055270),new t(289380356,3203993006),new t(460393269,320620315),new t(685471733,587496836),new t(852142971,1086792851),new t(1017036298,365543100),new t(1126000580,2618297676),new t(1288033470,3409855158),new t(1501505948,4234509866),new t(1607167915,987167468),new t(1816402316,1246189591)],f=new Array(64);function m(e,o){var r,n,i;return r=(65535&e.lowOrder)+(65535&o.lowOrder),i=(65535&(n=(e.lowOrder>>>16)+(o.lowOrder>>>16)+(r>>>16)))<<16|65535&r,r=(65535&e.highOrder)+(65535&o.highOrder)+(n>>>16),new t((65535&(n=(e.highOrder>>>16)+(o.highOrder>>>16)+(r>>>16)))<<16|65535&r,i)}function j(e,o,r,n){var i,s,l;return i=(65535&e.lowOrder)+(65535&o.lowOrder)+(65535&r.lowOrder)+(65535&n.lowOrder),l=(65535&(s=(e.lowOrder>>>16)+(o.lowOrder>>>16)+(r.lowOrder>>>16)+(n.lowOrder>>>16)+(i>>>16)))<<16|65535&i,i=(65535&e.highOrder)+(65535&o.highOrder)+(65535&r.highOrder)+(65535&n.highOrder)+(s>>>16),new t((65535&(s=(e.highOrder>>>16)+(o.highOrder>>>16)+(r.highOrder>>>16)+(n.highOrder>>>16)+(i>>>16)))<<16|65535&i,l)}function h(e,o,r,n,i){var s,l,a;return s=(65535&e.lowOrder)+(65535&o.lowOrder)+(65535&r.lowOrder)+(65535&n.lowOrder)+(65535&i.lowOrder),a=(65535&(l=(e.lowOrder>>>16)+(o.lowOrder>>>16)+(r.lowOrder>>>16)+(n.lowOrder>>>16)+(i.lowOrder>>>16)+(s>>>16)))<<16|65535&s,s=(65535&e.highOrder)+(65535&o.highOrder)+(65535&r.highOrder)+(65535&n.highOrder)+(65535&i.highOrder)+(l>>>16),new t((65535&(l=(e.highOrder>>>16)+(o.highOrder>>>16)+(r.highOrder>>>16)+(n.highOrder>>>16)+(i.highOrder>>>16)+(s>>>16)))<<16|65535&s,a)}function g(e,o,r){return new t(e.highOrder&o.highOrder^e.highOrder&r.highOrder^o.highOrder&r.highOrder,e.lowOrder&o.lowOrder^e.lowOrder&r.lowOrder^o.lowOrder&r.lowOrder)}function v(e,o,r){return new t(e.highOrder&o.highOrder^~e.highOrder&r.highOrder,e.lowOrder&o.lowOrder^~e.lowOrder&r.lowOrder)}function y(e,o){return o<=32?new t(e.highOrder>>>o|e.lowOrder<<32-o,e.lowOrder>>>o|e.highOrder<<32-o):new t(e.lowOrder>>>o|e.highOrder<<32-o,e.highOrder>>>o|e.lowOrder<<32-o)}function C(e){var o=y(e,28),r=y(e,34),n=y(e,39);return new t(o.highOrder^r.highOrder^n.highOrder,o.lowOrder^r.lowOrder^n.lowOrder)}function x(e){var o=y(e,14),r=y(e,18),n=y(e,41);return new t(o.highOrder^r.highOrder^n.highOrder,o.lowOrder^r.lowOrder^n.lowOrder)}function w(e){var o=y(e,1),r=y(e,8),n=E(e,7);return new t(o.highOrder^r.highOrder^n.highOrder,o.lowOrder^r.lowOrder^n.lowOrder)}function E(e,o){return o<=32?new t(e.highOrder>>>o,e.lowOrder>>>o|e.highOrder<<32-o):new t(0,e.highOrder<<32-o)}var A,N,L,I,M=8*(e=function(e){return unescape(encodeURIComponent(e))}(e)).length;e=function(e){for(var t=[],o=8*e.length,r=0;r<o;r+=8)t[r>>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e),e[M>>5]|=128<<24-M%32,e[31+(M+128>>10<<5)]=M;for(var S=0;S<e.length;S+=32){o=p[0],r=p[1],n=p[2],i=p[3],s=p[4],l=p[5],a=p[6],u=p[7];for(var T=0;T<80;T++)f[T]=T<16?new t(e[2*T+S],e[2*T+S+1]):j((void 0,void 0,void 0,N=y(A=f[T-2],19),L=y(A,61),I=E(A,6),new t(N.highOrder^L.highOrder^I.highOrder,N.lowOrder^L.lowOrder^I.lowOrder)),f[T-7],w(f[T-15]),f[T-16]),c=h(u,x(s),v(s,l,a),b[T],f[T]),d=m(C(o),g(o,r,n)),u=a,a=l,l=s,s=m(i,c),i=n,n=r,r=o,o=m(c,d);p[0]=m(o,p[0]),p[1]=m(r,p[1]),p[2]=m(n,p[2]),p[3]=m(i,p[3]),p[4]=m(s,p[4]),p[5]=m(l,p[5]),p[6]=m(a,p[6]),p[7]=m(u,p[7])}var D=[];for(S=0;S<p.length;S++)D.push(p[S].highOrder),D.push(p[S].lowOrder);return function(e){for(var t,o="0123456789abcdef",r="",n=4*e.length,i=0;i<n;i+=1)t=e[i>>2]>>8*(3-i%4),r+=o.charAt(t>>4&15)+o.charAt(15&t);return r}(D)},jSuites.mask=function(){var e={},t=0,o=[],r=[];return e.run=function(r,n,i){if(r&&n){if(i||(i="."),r==Number(r))var s=(""+r).split("."),l=(r=s[0],s[1]);else r=""+r;var a;if(t=0,o=[],e.prepare(n),a=r)for(var u=0;u<a.length;u++)null!=a[u]&&e.process(a[u]);if(l&&(e.process(i),a=l))for(u=0;u<a.length;u++)null!=a[u]&&e.process(a[u]);return o.join("")}return""},e.apply=function(n){if(n.target&&!n.target.getAttribute("readonly")){var i=n.target.getAttribute("data-mask");if(i&&n.keyCode>46){if(t=0,o=[],e.prepare(i),n.target.selectionStart<n.target.selectionEnd)var s=n.target.value.substring(0,n.target.selectionStart);else s=n.target.value;if(s)for(var l=0;l<s.length;l++)null!=s[l]&&e.process(s[l]);e.process(e.fromKeyCode(n)),n.target.value=o.join(""),r.length==o.length&&r[r.length-1].length==o[o.length-1].length?n.target.setAttribute("data-completed","true"):n.target.setAttribute("data-completed","false"),n.preventDefault()}}},e.process=function(e){do{if("mm"==r[t])return null==o[t]||""==o[t]?parseInt(e)>1&&parseInt(e)<10?(o[t]="0"+e,t++,!0):parseInt(e)<10&&(o[t]=e,!0):(1==o[t]&&o[t]<2&&parseInt(e)<3||0==o[t]&&o[t]<10)&&(o[t]+=e,t++,!0);if("dd"==r[t])return null==o[t]||""==o[t]?parseInt(e)>3&&parseInt(e)<10?(o[t]="0"+e,t++,!0):parseInt(e)<10&&(o[t]=e,!0):(3==o[t]&&parseInt(e)<2||o[t]<3&&parseInt(e)<10)&&(o[t]+=e,t++,!0);if("hh24"==r[t])return null==o[t]||""==o[t]?parseInt(e)>2&&parseInt(e)<10?(o[t]="0"+e,t++,!0):parseInt(e)<10&&(o[t]=e,!0):(2==o[t]&&parseInt(e)<4||o[t]<2&&parseInt(e)<10)&&(o[t]+=e,t++,!0);if("hh"==r[t])return null==o[t]||""==o[t]?parseInt(e)>1&&parseInt(e)<10?(o[t]="0"+e,t++,!0):parseInt(e)<10&&(o[t]=e,!0):(1==o[t]&&parseInt(e)<3||o[t]<1&&parseInt(e)<10)&&(o[t]+=e,t++,!0);if("mi"==r[t]||"ss"==r[t])return null==o[t]||""==o[t]?parseInt(e)>5&&parseInt(e)<10?(o[t]="0"+e,t++,!0):parseInt(e)<10&&(o[t]=e,!0):parseInt(e)<10&&(o[t]+=e,t++,!0);if("yy"==r[t]||"yyyy"==r[t])return parseInt(e)<10&&(null==o[t]||""==o[t]?o[t]=e:o[t]+=e,o[t].length==r[t].length&&t++,!0);if("#"==r[t]||"#.##"==r[t]||"#,##"==r[t]||"# ##"==r[t]){if(e.match(/[0-9]/g)){if("#.##"==r[t])var n=".";else n="#,##"==r[t]?",":"# ##"==r[t]?" ":"";if(null==o[t]||""==o[t])o[t]=e;else if(o[t]+=e,n){o[t]=o[t].match(/[0-9]/g).join("");for(var i=[],s=0,l=o[t].length-1;l>=0;l--)i.push(o[t][l]),++s%3||i.push(n);i=i.reverse(),o[t]=i.join(""),o[t].substr(0,1)==n&&(o[t]=o[t].substr(1))}return!0}if("#.##"==r[t]&&"."==e);else if("#,##"==r[t]&&","==e);else if("# ##"==r[t]&&" "==e);else if(o[t]&&(t++,r[t])){if(r[t]==e)return o[t]=e,!0;if("0"==r[t]&&r[t+1]==e)return t++,o[t]=e,!0}return!1}if("0"==r[t])return!!e.match(/[0-9]/g)&&(o[t]=e,t++,!0);if("a"==r[t])return!!e.match(/[a-zA-Z]/g)&&(o[t]=e,t++,!0);if(null!=r[t]){if("\\a"==r[t])var a="a";else a="\\0"==r[t]?"0":"[-]"==r[t]?"-"==e||"+"==e?e:" ":r[t];if(o[t]=a,e==a)return t++,!0}t++}while(r[t])},e.prepare=function(e){r=[];for(var t=0;t<e.length;t++)e[t].match(/[0-9]|[a-z]|\\/g)?"y"==e[t]&&"y"==e[t+1]&&"y"==e[t+2]&&"y"==e[t+3]?(r.push("yyyy"),t+=3):"y"==e[t]&&"y"==e[t+1]?(r.push("yy"),t++):"m"==e[t]&&"m"==e[t+1]&&"m"==e[t+2]&&"m"==e[t+3]?(r.push("mmmm"),t+=3):"m"==e[t]&&"m"==e[t+1]&&"m"==e[t+2]?(r.push("mmm"),t+=2):"m"==e[t]&&"m"==e[t+1]?(r.push("mm"),t++):"d"==e[t]&&"d"==e[t+1]?(r.push("dd"),t++):"h"==e[t]&&"h"==e[t+1]&&"2"==e[t+2]&&"4"==e[t+3]?(r.push("hh24"),t+=3):"h"==e[t]&&"h"==e[t+1]?(r.push("hh"),t++):"m"==e[t]&&"i"==e[t+1]?(r.push("mi"),t++):"s"==e[t]&&"s"==e[t+1]?(r.push("ss"),t++):"a"==e[t]&&"m"==e[t+1]?(r.push("am"),t++):"p"==e[t]&&"m"==e[t+1]?(r.push("pm"),t++):"\\"==e[t]&&"0"==e[t+1]?(r.push("\\0"),t++):"\\"==e[t]&&"a"==e[t+1]?(r.push("\\a"),t++):r.push(e[t]):"#"==e[t]&&"."==e[t+1]&&"#"==e[t+2]&&"#"==e[t+3]?(r.push("#.##"),t+=3):"#"==e[t]&&","==e[t+1]&&"#"==e[t+2]&&"#"==e[t+3]?(r.push("#,##"),t+=3):"#"==e[t]&&" "==e[t+1]&&"#"==e[t+2]&&"#"==e[t+3]?(r.push("# ##"),t+=3):"["==e[t]&&"-"==e[t+1]&&"]"==e[t+2]?(r.push("[-]"),t+=2):r.push(e[t])},e.fromKeyCode=function(e){var t={188:"44",109:"45",190:"46",191:"47",192:"96",220:"92",222:"39",221:"93",219:"91",173:"45",187:"61",186:"59",189:"45"},o={96:"~",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",48:")",45:"_",61:"+",91:"{",93:"}",92:"|",59:":",39:'"',44:"<",46:">",47:"?"},r=e.which;return t.hasOwnProperty(r)&&(r=t[r]),!e.shiftKey&&r>=65&&r<=90?String.fromCharCode(r+32):e.shiftKey&&o.hasOwnProperty(r)?o[r]:96<=r&&r<=105?String.fromCharCode(r-48):String.fromCharCode(r)},e}(),jSuites.mobile=(jSuites.el&&jSuites.el.addEventListener("mousedown",(function(e){e.target.classList.contains("option-title")&&(e.target.classList.contains("selected")?e.target.classList.remove("selected"):e.target.classList.add("selected"))})),{options:{}}),jSuites.pages=function(){var container=null,current=null,createPage=function(options,callback){var page=document.createElement("div");return page.classList.add("page"),page.style.display="none",page.options=options||{},current?container.insertBefore(page,current.nextSibling):container.appendChild(page),jSuites.ajax({url:page.options.url,method:"GET",success:function(result){jSuites.refresh(page,page.options.onpush),page.innerHTML=result;for(var script=page.getElementsByTagName("script"),i=0;i<script.length;i++){var type=script[i].getAttribute("type");type&&"text/javascript"!=type||eval(script[i].innerHTML)}page.setTitle=function(e){this.children[0].children[0].children[1].innerHTML=e},page.options.closed||showPage(page),"function"==typeof page.options.onload&&page.options.onload(page),"function"==typeof callback&&callback(page)}}),page},showPage=function(e,t,o){if(current)if(current==e)current=e;else{window.scrollTo({top:0}),e.style.display="";var r=Array.prototype.indexOf.call(container.children,current),n=Array.prototype.indexOf.call(container.children,e);"function"==typeof current.options.onleave&&current.options.onleave(current,e,t),jSuites.slideLeft(container,r<n?0:1,(function(){current.style.display="none",current=e})),"function"==typeof e.options.onenter&&e.options.onenter(e,current,t)}else e.style.display="",current=e,"function"==typeof e.options.onenter&&e.options.onenter(e);t||window.history.pushState({route:e.options.route},e.options.title,e.options.route),"function"==typeof o&&o(e)},obj=function(e,t){if(container||((container=document.querySelector(".pages"))||((container=document.createElement("div")).className="pages"),jSuites.el?jSuites.el.appendChild(container):document.body.appendChild(container)),obj.pages[e]){if(t){var o=0;"function"==typeof t?n=t:("function"==typeof t.onenter&&(obj.pages[e].options.onenter=t.onenter),"function"==typeof t.onleave&&(obj.pages[e].options.onleave=t.onleave),o=t.ignoreHistory?1:0)}showPage(obj.pages[e],o,n||null)}else if(e){if("function"==typeof t)var r={},n=t;else r=t||{};if(r.closed=t&&t.closed?1:0,r.route=e,!r.url){var i=e.split("#");r.url=jSuites.pages.path+i[0]+".html"}r.title||(r.title="Untitled"),obj.pages[e]=createPage(r,n||null)}else alert("Error, no route provided")};return obj.pages={},obj.get=function(e){if(obj.pages[e])return obj.pages[e]},obj.getContainer=function(){return container},obj.destroy=function(){current=null,obj.pages={},container&&(container.innerHTML="")},obj}(),jSuites.pages.path="pages",jSuites.panel=function(){var panel=null,obj=function(e){panel||obj.create(jSuites.pages.path+e+".html"),panel.style.display="",panel.classList.contains("panel-left")?jSuites.slideLeft(panel,1):jSuites.slideRight(panel,1)};return obj.create=function(route){if(panel||(panel=document.createElement("div"),panel.classList.add("panel"),panel.classList.add("panel-left"),panel.style.display="none",jSuites.el?jSuites.el.appendChild(panel):document.body.appendChild(panel)),route){var url=jSuites.pages.path+route+".html";jSuites.ajax({url,method:"GET",success:function(result){panel.innerHTML=result;for(var script=panel.getElementsByTagName("script"),i=0;i<script.length;i++){var type=script[i].getAttribute("type");type&&"text/javascript"!=type||eval(script[i].innerHTML)}}})}},obj.close=function(){panel&&(panel.classList.contains("panel-left")?jSuites.slideLeft(panel,0,(function(){panel.style.display="none"})):jSuites.slideRight(panel,0,(function(){panel.style.display="none"})))},obj.get=function(){return panel},obj.destroy=function(){panel.remove(),panel=null},obj}(),jSuites.toolbar=function(e,t){var o={};o.options=t,o.selectItem=function(e){for(var t=n.children,o=0;o<t.length;o++)t[o].classList.remove("selected");e.classList.add("selected")},o.hide=function(){jSuites.slideBottom(r,0,(function(){r.style.display="none"}))},o.show=function(){r.style.display="",jSuites.slideBottom(r,1)},o.get=function(){return r},o.setBadge=function(e,t){n.children[e].children[1].firstChild.innerHTML=t},o.destroy=function(){r.remove(),r=null};var r=document.createElement("div");r.classList.add("jtoolbar"),r.onclick=function(e){var t=jSuites.getElement(e.target,"jtoolbar-item");t&&o.selectItem(t)};var n=document.createElement("div");r.appendChild(n);for(var i=0;i<t.items.length;i++){var s=document.createElement("div");if(s.classList.add("jtoolbar-item"),t.items[i].route&&(s.setAttribute("data-href",t.items[i].route),jSuites.pages(t.items[i].route,{closed:!0,onenter:function(){o.selectItem(s)}})),t.items[i].icon){var l=document.createElement("i");l.classList.add("material-icons"),l.innerHTML=t.items[i].icon,s.appendChild(l)}var a=document.createElement("div");a.classList.add("jbadge");var u=document.createElement("div");if(u.innerHTML=t.items[i].badge?t.items[i].badge:"",a.appendChild(u),s.appendChild(a),t.items[i].title){var c=document.createElement("span");c.innerHTML=t.items[i].title,s.appendChild(c)}n.appendChild(s)}return e.toolbar=o,e.appendChild(r),o},jSuites.actionsheet=function(){var e=document.createElement("div");e.className="jactionsheet",e.style.display="none";var t=document.createElement("div");t.className="jactionsheet-content",e.appendChild(t);var o=function(r){r&&(o.options=r),t.innerHTML="";for(var n=0;n<o.options.length;n++){var i=document.createElement("div");i.className="jactionsheet-group";for(var s=0;s<o.options[n].length;s++){var l=o.options[n][s],a=document.createElement("div"),u=document.createElement("input");u.type="button",u.value=l.title,l.className&&(u.className=l.className),l.onclick&&(u.onclick=l.onclick),"cancel"==l.action&&(u.style.color="red"),a.appendChild(u),i.appendChild(a)}t.appendChild(i)}e.style.display="",jSuites.el.appendChild(e),jSuites.slideBottom(t,!0)};return o.close=function(){"none"!=e.style.display&&jSuites.slideBottom(t,!1,(function(){e.remove(),e.style.display="none"}))},e.addEventListener("mouseup",(function(e){o.close()})),o.options={},o}(),jSuites.modal=function(e,t){var o={options:{}},r={url:null,onopen:null,onclose:null,closed:!1,width:null,height:null,title:null};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];!o.options.title&&e.getAttribute("title")&&(o.options.title=e.getAttribute("title"));for(var i=document.createElement("div"),s=0;s<e.children.length;s++)i.appendChild(e.children[s]);for(o.content=document.createElement("div"),o.content.className="jmodal_content",o.content.innerHTML=e.innerHTML,s=0;s<i.children.length;s++)o.content.appendChild(i.children[s]);o.container=document.createElement("div"),o.container.className="jmodal",o.container.appendChild(o.content),o.options.width&&(o.container.style.width=o.options.width),o.options.height&&(o.container.style.height=o.options.height),o.options.title?o.container.setAttribute("title",o.options.title):o.container.classList.add("no-title"),e.innerHTML="",e.style.display="none",e.appendChild(o.container);var l=document.createElement("div");return l.className="jmodal_backdrop",e.appendChild(l),o.open=function(){e.style.display="block";const t=o.container.getBoundingClientRect();jSuites.getWindowWidth()<t.width?(o.container.style.top="",o.container.style.left="",o.container.classList.add("jmodal_fullscreen"),jSuites.slideBottom(o.container,1)):l.style.display="block",jSuites.modal.current=o,"function"==typeof o.options.onopen&&o.options.onopen(e,o)},o.resetPosition=function(){o.container.style.top="",o.container.style.left=""},o.isOpen=function(){return"none"!=e.style.display},o.close=function(){e.style.display="none",l.style.display="",jSuites.modal.current=null,o.container.classList.remove("jmodal_fullscreen"),"function"==typeof o.options.onclose&&o.options.onclose(e,o)},jSuites.modal.hasEvents||(jSuites.modal.current=o,"ontouchstart"in document.documentElement==1?document.addEventListener("touchstart",jSuites.modal.mouseDownControls):(document.addEventListener("mousedown",jSuites.modal.mouseDownControls),document.addEventListener("mousemove",jSuites.modal.mouseMoveControls),document.addEventListener("mouseup",jSuites.modal.mouseUpControls)),document.addEventListener("keydown",jSuites.modal.keyDownControls),jSuites.modal.hasEvents=!0),o.options.url?jSuites.ajax({url:o.options.url,method:"GET",success:function(e){o.content.innerHTML=e,o.options.closed||o.open()}}):o.options.closed||o.open(),e.modal=o,o},jSuites.modal.current=null,jSuites.modal.position=null,jSuites.modal.keyDownControls=function(e){27==e.which&&jSuites.modal.current&&jSuites.modal.current.close()},jSuites.modal.mouseUpControls=function(e){jSuites.modal.current&&(jSuites.modal.current.container.style.cursor="auto"),jSuites.modal.position=null},jSuites.modal.mouseMoveControls=function(e){if(jSuites.modal.current&&jSuites.modal.position)if(1==e.which||3==e.which){var t=jSuites.modal.position;jSuites.modal.current.container.style.top=t[1]+(e.clientY-t[3])+t[5]/2+"px",jSuites.modal.current.container.style.left=t[0]+(e.clientX-t[2])+t[4]/2+"px",jSuites.modal.current.container.style.cursor="move"}else jSuites.modal.current.container.style.cursor="auto"},jSuites.modal.mouseDownControls=function(e){jSuites.modal.position=[],e.target.classList.contains("jmodal")&&setTimeout((function(){var t=e.target.getBoundingClientRect();if(e.changedTouches&&e.changedTouches[0])var o=e.changedTouches[0].clientX,r=e.changedTouches[0].clientY;else o=e.clientX,r=e.clientY;t.width-(o-t.left)<50&&r-t.top<50?setTimeout((function(){jSuites.modal.current.close()}),100):e.target.getAttribute("title")&&r-t.top<50&&(document.selection?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges(),jSuites.modal.position=[t.left,t.top,e.clientX,e.clientY,t.width,t.height])}),100)},jSuites.notification=function(e){var t={options:{}},o={icon:null,name:"Notification",date:null,title:null,message:null,timeout:4e3,autoHide:!0,closeable:!0};for(var r in o)e&&e.hasOwnProperty(r)?t.options[r]=e[r]:t.options[r]=o[r];var n=document.createElement("div");n.className="jnotification";var i=document.createElement("div");i.className="jnotification-container",n.appendChild(i);var s=document.createElement("div");s.className="jnotification-header",i.appendChild(s);var l=document.createElement("div");if(l.className="jnotification-image",s.appendChild(l),t.options.icon){var a=document.createElement("img");a.src=t.options.icon,l.appendChild(a)}var u=document.createElement("div");if(u.className="jnotification-name",u.innerHTML=t.options.name,s.appendChild(u),1==t.options.closeable){var c=document.createElement("div");c.className="jnotification-close",c.onclick=function(){t.hide()},s.appendChild(c)}var d=document.createElement("div");d.className="jnotification-date",s.appendChild(d);var p=document.createElement("div");if(p.className="jnotification-content",i.appendChild(p),t.options.title){var b=document.createElement("div");b.className="jnotification-title",b.innerHTML=t.options.title,p.appendChild(b)}var f=document.createElement("div");return f.className="jnotification-message",f.innerHTML=t.options.message,p.appendChild(f),t.show=function(){document.body.appendChild(n),jSuites.getWindowWidth()>800?jSuites.fadeIn(n):jSuites.slideTop(n,1)},t.hide=function(){jSuites.getWindowWidth()>800?jSuites.fadeOut(n,(function(){n.parentNode.removeChild(n)})):jSuites.slideTop(n,0,(function(){n.parentNode.removeChild(n)}))},t.show(),1==t.options.autoHide&&setTimeout((function(){t.hide()}),t.options.timeout),jSuites.getWindowWidth()<800&&n.addEventListener("swipeup",(function(e){t.hide(),e.preventDefault(),e.stopPropagation()})),t},jSuites.rating=function(e,t){var o={options:{}},r={number:5,value:0,tooltip:["Very bad","Bad","Average","Good","Very good"],onchange:null};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];e.classList.add("jrating");for(var i=0;i<o.options.number;i++){var s=document.createElement("div");s.setAttribute("data-index",i+1),s.setAttribute("title",o.options.tooltip[i]),e.appendChild(s)}if(o.setValue=function(t){for(var r=0;r<o.options.number;r++)r<t?e.children[r].classList.add("jrating-selected"):(e.children[r].classList.remove("jrating-over"),e.children[r].classList.remove("jrating-selected"));o.options.value=t,"function"==typeof o.options.onchange&&o.options.onchange(e,t)},o.getValue=function(){return o.options.value},o.options.value)for(i=0;i<o.options.number;i++)i<o.options.value&&e.children[i].classList.add("jrating-selected");return e.addEventListener("click",(function(e){var t=e.target.getAttribute("data-index");null!=t&&(t==o.options.value?o.setValue(0):o.setValue(t))})),e.addEventListener("mouseover",(function(t){for(var r=t.target.getAttribute("data-index"),n=0;n<o.options.number;n++)n<r?e.children[n].classList.add("jrating-over"):e.children[n].classList.remove("jrating-over")})),e.addEventListener("mouseout",(function(t){for(var r=0;r<o.options.number;r++)e.children[r].classList.remove("jrating-over")})),e.rating=o,o},jSuites.slider=function(e,t){var o={options:{},currentImage:null};if(t&&(o.options=t),o.options.items=[],e.classList.contains("jslider"))r=e.querySelector("slider-container");else{var r;if(e.classList.add("jslider"),(r=document.createElement("div")).className="jslider-container",e.children.length>0)for(var n=0;n<e.children.length;n++)o.options.items.push(e.children[n]);if(o.options.items.length>0)for(n=0;n<o.options.items.length;n++){o.options.items[n].classList.add("jfile"),(i=o.options.items[n].src.lastIndexOf("/"))<0?o.options.items[n].setAttribute("data-name",o.options.items[n].src):o.options.items[n].setAttribute("data-name",o.options.items[n].src.substr(i+1));var i=o.options.items[n].src.lastIndexOf("/");r.appendChild(o.options.items[n])}e.appendChild(r);var s=document.createElement("div");s.className="jslider-close",s.innerHTML="",s.onclick=function(){o.close()},e.appendChild(s)}if(o.show=function(e){e||(e=r.children[0]),r.classList.contains("jslider-preview")||(r.classList.add("jslider-preview"),s.style.display="block");for(var t=0;t<r.children.length;t++)r.children[t].style.display="none";e.style.display="block",e.previousSibling?r.classList.add("jslider-left"):r.classList.remove("jslider-left"),e.nextSibling?r.classList.add("jslider-right"):r.classList.remove("jslider-right"),o.currentImage=e},o.open=function(){o.show(),"function"==typeof o.options.onopen&&o.options.onopen(e)},o.close=function(){r.classList.remove("jslider-preview"),r.classList.remove("jslider-left"),r.classList.remove("jslider-right");for(var t=0;t<r.children.length;t++)r.children[t].style.display="";s.style.display="",o.currentImage=null,"function"==typeof o.options.onclose&&o.options.onclose(e)},o.reset=function(){r.innerHTML=""},o.addFile=function(t,n){var i=document.createElement("img");i.setAttribute("data-lastmodified",t.lastmodified),i.setAttribute("data-name",t.name),i.setAttribute("data-size",t.size),i.setAttribute("data-extension",t.extension),i.setAttribute("data-cover",t.cover),i.setAttribute("src",t.file),i.className="jfile",r.appendChild(i),o.options.items.push(i),n||"function"==typeof o.options.onchange&&o.options.onchange(e,t)},o.addFiles=function(e){for(var t=0;t<e.length;t++)o.addFile(e[t])},o.next=function(){o.currentImage.nextSibling&&o.show(o.currentImage.nextSibling)},o.prev=function(){o.currentImage.previousSibling&&o.show(o.currentImage.previousSibling)},o.getData=function(){return jSuites.getFiles(r)},o.options.data&&o.options.data.length)for(n=0;n<o.options.data.length;n++)o.options.data[n]&&o.addFile(o.options.data[n]);if(o.options.allowAttachment){var l=document.createElement("input");l.type="file",l.className="slider-attachment",l.setAttribute("accept","image/*"),l.style.display="none",l.onchange=function(){for(var e=[],t=0;t<this.files.length;t++)if("image"==this.files[t].type.split("/")[0]){var r=this.files[t].name;r=(r=r.split("."))[r.length-1];var n={size:this.files[t].size,name:this.files[t].name,extension:r,cover:0,lastmodified:this.files[t].lastModified};e[t]=new FileReader,e[t].addEventListener("load",(function(e){n.file=e.target.result,o.addFile(n)}),!1),e[t].readAsDataURL(this.files[t])}else alert("The extension is not allowed")};var a=document.createElement("i");a.innerHTML="attachment",a.className="jslider-attach material-icons",a.onclick=function(){jSuites.click(l)},e.appendChild(l),e.appendChild(a)}var u=null,c=function(t){"IMG"==t.target.tagName&&(t.target,u=setTimeout((function(){"data"==t.target.src.substr(0,4)?t.target.remove():t.target.classList.contains("jremove")?t.target.classList.remove("jremove"):t.target.classList.add("jremove"),"function"==typeof o.options.onchange&&o.options.onchange(e,t.target)}),1e3))},d=function(e){u&&clearTimeout(u),"IMG"==e.target.tagName?e.target.classList.contains("jremove")||o.show(e.target):e.target.clientWidth-e.offsetX<40?o.next():e.offsetX<40&&o.prev()};return r.addEventListener("mousedown",c),r.addEventListener("touchstart",c),r.addEventListener("mouseup",d),r.addEventListener("touchend",d),e.addEventListener("swipeleft",(function(e){o.next(),e.preventDefault(),e.stopPropagation()})),e.addEventListener("swiperight",(function(e){o.prev(),e.preventDefault(),e.stopPropagation()})),e.slider=o,o},jSuites.sorting=function(e,t){e.classList.add("jsorting"),e.addEventListener("dragstart",(function(e){e.target.classList.add("dragging")})),e.addEventListener("dragover",(function(e){e.preventDefault(),e.target.clientHeight/2>e.offsetY?(e.path[0].style.borderTop="1px dotted #ccc",e.path[0].style.borderBottom=""):(e.path[0].style.borderTop="",e.path[0].style.borderBottom="1px dotted #ccc")})),e.addEventListener("dragleave",(function(e){e.path[0].style.borderTop="",e.path[0].style.borderBottom=""})),e.addEventListener("dragend",(function(e){e.path[1].querySelector(".dragging").classList.remove("dragging")})),e.addEventListener("drop",(function(e){var t=e.path[1].querySelector(".dragging");e.target.clientHeight/2>e.offsetY?e.path[1].insertBefore(t,e.path[0]):e.path[1].insertBefore(t,e.path[0].nextSibling),e.path[0].style.borderTop="",e.path[0].style.borderBottom=""}));for(var o=0;o<e.children.length;o++)e.children[o].setAttribute("draggable","true");return e},jSuites.tabs=function(e,t){var o={options:{}},r={data:null,allowCreate:!1,onload:null,onchange:null,oncreate:null,animation:!1,create:null,autoName:!1,prefixName:"",hideHeaders:!1};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];if(e.classList.add("jtabs"),1==o.options.animation){var i=document.createElement("div");i.className="jtabs-border",e.appendChild(i);var s=function(e){var t=l.children[e].getBoundingClientRect(),o=a.children[e].getBoundingClientRect();i.style.width=t.width+"px",i.style.left=t.left-o.left+"px",i.style.top=t.height+"px"}}if(o.open=function(e){for(var t=0;t<l.children.length;t++)l.children[t].classList.remove("jtabs-selected"),a.children[t]&&a.children[t].classList.remove("jtabs-selected");l.children[e].classList.add("jtabs-selected"),a.children[e]&&a.children[e].classList.add("jtabs-selected"),1==o.options.hideHeaders&&l.children.length<2&&0==o.options.allowCreate?l.style.display="none":(l.style.display="",1==o.options.animation&&setTimeout((function(){s(e)}),100))},o.selectIndex=function(e){var t=Array.prototype.indexOf.call(l.children,e);t>=0&&o.open(t)},o.create=function(t,r){"function"==typeof o.options.create?o.options.create():(o.appendElement(t,r),"function"==typeof o.options.oncreate&&o.options.oncreate(e,r))},o.appendElement=function(e,t){if(e||(1==o.options.autoName?(e=o.options.prefixName,e+=" "+(parseInt(a.children.length)+1)):e=prompt("Title?","")),e){var r=document.createElement("div");r.innerHTML=e,o.options.allowCreate?l.insertBefore(r,l.lastChild):l.appendChild(r),t||(t=document.createElement("div")),a.appendChild(t),o.selectIndex(r)}},o.options.data){e.innerHTML="";var l=document.createElement("div"),a=document.createElement("div");l.classList.add("jtabs-headers"),a.classList.add("jtabs-content"),e.appendChild(l),e.appendChild(a);for(var u=0;u<o.options.data.length;u++){var c=document.createElement("div");l.appendChild(c);var d=document.createElement("div");a.appendChild(d),c.innerHTML=o.options.data[u].title,o.options.data[u].content?d.innerHTML=o.options.data[u].content:o.options.data[u].url&&jSuites.ajax({url:o.options.data[u].url,type:"GET",success:function(e){d.innerHTML=e},complete:function(){"function"==typeof o.options.onload&&(o.options.onload(e),o.open(0))}})}}else e.children[0]&&e.children[1]?(l=e.children[0],a=e.children[1],l.classList.add("jtabs-headers"),a.classList.add("jtabs-content")):(e.innerHTML="",l=document.createElement("div"),a=document.createElement("div"),l.classList.add("jtabs-headers"),a.classList.add("jtabs-content"),e.appendChild(l),e.appendChild(a));if(1==o.options.allowCreate){var p=document.createElement("i");p.className="jtabs-add",l.appendChild(p)}return l.addEventListener("click",(function(e){"DIV"==e.target.tagName?o.selectIndex(e.target):o.create()})),l.children.length&&o.open(0),e.tabs=o,o},jSuites.tags=function(e,t){var o={options:{}},r={value:null,limit:null,limitMessage:"The limit of entries is: ",search:null,placeholder:null,validation:null,onbeforechange:null,onchange:null,onfocus:null,onblur:null,onload:null,colors:null};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];var i=null,s=null,l=0,a=0;o.add=function(t,r){if("function"==typeof o.options.onbeforechange){var n=o.options.onbeforechange(e,o,t);null!=n&&(t=n)}if(i&&(i.style.display=""),o.options.limit>0&&e.children.length>=o.options.limit)alert(o.options.limitMessage+" "+o.options.limit);else{var s=d();if(t&&"string"!=typeof t){s&&s.parentNode.classList.contains("jtags")&&(s.innerText.replace("\n","")||e.removeChild(s));for(var l=0;l<=t.length;l++)(!o.options.limit||e.children.length<o.options.limit)&&((a=document.createElement("div")).innerHTML=t[l]?t[l]:"<br>",e.appendChild(a))}else{var a;(a=document.createElement("div")).innerHTML=t||"<br>",s&&s.parentNode.classList.contains("jtags")?e.insertBefore(a,s.nextSibling):e.appendChild(a)}r&&setTimeout((function(){c(a)}),0),u(),"function"==typeof o.options.onchange&&o.options.onchange(e,o,t||"")}},o.getData=function(){for(var t=[],r=0;r<e.children.length;r++){var n=o.getValue(r);if(n){var i=e.children[r].getAttribute("data-id");i||(i=n),t.push({id:i,value:n})}}return t},o.getValue=function(t){var r=null;if(null!=t)r=e.children[t].innerText.replace("\n","");else{for(var n=[],i=0;i<e.children.length;i++)(r=e.children[i].innerText.replace("\n",""))&&n.push(o.getValue(i));r=n.join(",")}return r},o.setValue=function(e){if(e=e.trim()){var t=p(e);o.add(t)}},o.reset=function(){e.innerHTML="<div><br></div>"},o.isValid=function(){for(var t=0,o=0;o<e.children.length;o++)e.children[o].classList.contains("jtags_error")&&t++;return 0==t},o.selectIndex=function(e){s="";var t=d();t.innerText=e.children[1].innerText,e.children[1].getAttribute("data-id")&&t.setAttribute("data-id",e.children[1].getAttribute("data-id")),i&&(i.style.display="",i.innerHTML=""),t.classList.remove("jtags_error"),o.add()},o.search=function(t){if(!i){var r=document.createElement("div");r.style.position="relative",e.parentNode.insertBefore(r,e.nextSibling),(i=document.createElement("div")).classList.add("jtags_search"),r.appendChild(i)}var n=t.anchorNode.nodeValue;t.anchorNode.nodeValue&&n!=s&&(s=t.anchorNode.nodeValue,l=0,jSuites.ajax({url:o.options.search+s,method:"GET",dataType:"json",success:function(e){if(i.innerHTML="",e.length){i.style.display="block";for(var t=e.length<11?e.length:10,r=0;r<t;r++){var n=document.createElement("div");0==r&&n.classList.add("selected");var s=document.createElement("img");e[r].image?s.src=e[r].image:s.style.display="none",n.appendChild(s);var l=document.createElement("div");l.setAttribute("data-id",e[r].id),l.innerHTML=e[r].name,n.onclick=function(){o.selectIndex(this)},n.appendChild(l),i.appendChild(n)}}else i.style.display=""}}))},o.destroy=function(){e.removeEventListener("mouseup",h),e.removeEventListener("keydown",f),e.removeEventListener("keyup",m),e.removeEventListener("paste",j),e.removeEventListener("focus",g),e.removeEventListener("blur",v),e.parentNode.removeChild(e)};var u=function(){for(var t=0;t<e.children.length;t++)o.getValue(t)?(e.children[t].classList.add("jtags_label"),"function"==typeof o.options.validation&&(o.getValue(t)?o.options.validation(e.children[t],e.children[t].innerText,e.children[t].getAttribute("data-id"))?e.children[t].classList.remove("jtags_error"):e.children[t].classList.add("jtags_error"):e.children[t].classList.remove("jtags_error"))):e.children[t].classList.remove("jtags_label")},c=function(e){var t=document.createRange(),o=window.getSelection();t.setStart(e,e.innerText.length),t.collapse(!0),o.removeAllRanges(),o.addRange(t)},d=function(){var e=document.getSelection().anchorNode;return e?3==e.nodeType?e.parentNode:e:null},p=function(e){var t=[],o="";if(e=e.trim()){for(var r=0;r<e.length;r++)","==e[r]||";"==e[r]||"\r\n"==e[r]?o&&(t.push(o),o=""):o+=e[r];o&&t.push(o)}return t},b=0,f=function(t){if(b=window.getSelection().anchorOffset,!e.children.length){var r=document.createElement("div");r.innerHTML="<br>",e.appendChild(r)}9==t.which||186==t.which||188==t.which?(window.getSelection().anchorOffset>1&&(!o.options.limit||e.children.length<o.options.limit)&&o.add("",!0),t.preventDefault()):13==t.which?(i&&""!=i.style.display?o.selectIndex(i.children[l]):window.getSelection().anchorOffset>1&&(!o.options.limit||e.children.length<o.options.limit)&&o.add("",!0),t.preventDefault()):38==t.which?i&&""!=i.style.display&&(i.children[l].classList.remove("selected"),l>0&&l--,i.children[l].classList.add("selected"),t.preventDefault()):40==t.which&&i&&""!=i.style.display&&(i.children[l].classList.remove("selected"),l<9&&l++,i.children[l].classList.add("selected"),t.preventDefault())},m=function(e){if(39==e.which){var t=window.getSelection().anchorOffset;t>1&&t==b&&o.add()}else 13==e.which||38==e.which||40==e.which?e.preventDefault():(a&&clearTimeout(a),a=setTimeout((function(){var e=window.getSelection();o.options.search&&o.search(e),a=null}),300));u()},j=function(e){if(e.clipboardData||e.originalEvent.clipboardData){(e.originalEvent||e).clipboardData.getData("text/html");var t=(e.originalEvent||e).clipboardData.getData("text/plain")}else window.clipboardData&&(window.clipboardData.getData("Html"),t=window.clipboardData.getData("Text"));o.setValue(t),e.preventDefault()},h=function(t){if(t.target.parentNode&&t.target.parentNode.classList.contains("jtags")&&(t.target.classList.contains("jtags_label")||t.target.classList.contains("jtags_error"))){const o=t.target.getBoundingClientRect();o.width-(t.clientX-o.left)<16&&(e.removeChild(t.target),e.focus())}i&&(i.style.display="")},g=function(t){if((!e.children.length||o.getValue(e.children.length-1))&&(!o.options.limit||e.children.length<o.options.limit)){var r=document.createElement("div");r.innerHTML="<br>",e.appendChild(r)}"function"==typeof o.options.onfocus&&o.options.onfocus(e,o,o.getValue())},v=function(t){i&&setTimeout((function(){i.style.display=""}),200);for(var r=0;r<e.children.length-1;r++)o.getValue(r)||e.removeChild(e.children[r]);"function"==typeof o.options.onblur&&o.options.onblur(e,o,o.getValue())};return e.addEventListener("mouseup",h),e.addEventListener("keydown",f),e.addEventListener("keyup",m),e.addEventListener("paste",j),e.addEventListener("focus",g),e.addEventListener("blur",v),e.classList.add("jtags"),e.setAttribute("contenteditable",!0),e.setAttribute("spellcheck",!1),o.options.placeholder&&(e.placeholder=o.options.placeholder),o.options.value?o.setValue(o.options.value):e.innerHTML="<div><br></div>","function"==typeof o.options.onload&&o.options.onload(e,o),e.tags=o,o},jSuites.tracker=function(e,t){var o={options:{}},r={url:null,message:"Are you sure? There are unsaved information in your form",ignore:!1,currentHash:null,submitButton:null,onload:null,onbeforesave:null,onsave:null};for(var n in r)t&&t.hasOwnProperty(n)?o.options[n]=t[n]:o.options[n]=r[n];return o.setUrl=function(e){o.options.url=e},o.load=function(){jSuites.ajax({url:o.options.url,method:"GET",dataType:"json",success:function(t){for(var r=e.querySelectorAll("input, select, textarea"),n=0;n<r.length;n++){var i=r[n].getAttribute("name");t[i]&&(r[n].value=t[i])}"function"==typeof o.options.onload&&o.options.onload(e,t)}})},o.save=function(){var t=o.validate();if(t)jSuites.alert(t);else{var r=o.getElements(!0);if("function"==typeof o.options.onbeforesave&&!1===(r=o.options.onbeforesave(e,r)))return void console.log("Onbeforesave returned false");jSuites.ajax({url:o.options.url,method:"POST",dataType:"json",data:r,success:function(t){jSuites.alert(t.message),"function"==typeof o.options.onsave&&o.options.onsave(e,t),o.reset()}})}},o.validateElement=function(t){var r=function(e){return!!new RegExp(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/).test(e)},n=function(e){return e.classList.add("error"),o.options.submitButton&&o.options.submitButton.setAttribute("disabled",!0),e.getAttribute("data-error")||"There is an error in the form"},i="";return t.value?t.getAttribute("data-email")&&!r(t.value)||t.getAttribute("data-password")&&!r(t.value)?i=n(t):t.classList.contains("error")&&function(t){var r=!1;t.classList.remove("error");for(var n=e.querySelectorAll("input, select, textarea"),i=0;i<n.length;i++)n[i].getAttribute("data-validation")&&n[i].classList.contains("error")&&(r=!0);o.options.submitButton&&(r?o.options.submitButton.setAttribute("disabled",!0):o.options.submitButton.removeAttribute("disabled"))}(t):i=n(t),i},o.validate=function(){for(var t="",r=e.querySelectorAll("input, select, textarea"),n=0;n<r.length;n++)r[n].getAttribute("data-validation")&&(t&&(t+="<br>\r\n"),t+=o.validateElement(r[n]));return t},o.getError=function(){return!!o.validation()},o.setHash=function(){return o.getHash(o.getElements())},o.getHash=function(e){var t,o=0;if(0===e.length)return o;for(t=0;t<e.length;t++)o=(o<<5)-o+e.charCodeAt(t),o|=0;return o},o.isChanged=function(){var e=o.setHash();return o.options.currentHash!=e},o.resetTracker=function(){o.options.currentHash=o.setHash(),o.options.ignore=!1},o.reset=function(){o.options.currentHash=o.setHash(),o.options.ignore=!1},o.setIgnore=function(e){o.options.ignore=!!e},o.getElements=function(t){for(var o={},r=e.querySelectorAll("input, select, textarea"),n=0;n<r.length;n++){var i=r[n],s=i.name,l=i.value;s&&(o[s]=l)}return 1==t?o:JSON.stringify(o)},setTimeout((function(){o.options.currentHash=o.setHash()}),1e3),window.addEventListener("beforeunload",(function(e){if(o.isChanged()&&0==o.options.ignore){var t=o.options.message?o.options.message:"o/";return t?(void 0===e&&(e=window.event),e&&(e.returnValue=t),t):void 0}})),e.addEventListener("keyup",(function(e){e.target.getAttribute("data-validation")&&o.validateElement(e.target)})),e.tracker=o,o},jSuites},module.exports=factory()},69424:function(module,__unused_webpack_exports,__webpack_require__){if(!jSuites){var jSuites=__webpack_require__(8610);__webpack_require__(77433)}var factory;factory=function(){"use strict";var jexcel=function(el,options){var obj={options:{}};if(!(el instanceof Element||el instanceof HTMLDocument))return console.error("JEXCEL: el is not a valid DOM element"),!1;var defaults={url:null,data:null,copyCompatibility:!1,rows:[],columns:[],colHeaders:[],colWidths:[],colAlignments:[],nestedHeaders:null,defaultColWidth:50,defaultColAlign:"center",minSpareRows:0,minSpareCols:0,minDimensions:[0,0],allowExport:!0,includeHeadersOnDownload:!1,columnSorting:!0,columnDrag:!1,columnResize:!0,rowResize:!1,rowDrag:!0,editable:!0,allowInsertRow:!0,allowManualInsertRow:!0,allowInsertColumn:!0,allowManualInsertColumn:!0,allowDeleteRow:!0,allowDeletingAllRows:!1,allowDeleteColumn:!0,allowRenameColumn:!0,allowComments:!1,wordWrap:!1,imageOptions:null,csv:null,csvFileName:"jexcel",csvHeaders:!0,csvDelimiter:",",selectionCopy:!0,mergeCells:{},toolbar:null,search:!1,pagination:!1,paginationOptions:null,fullscreen:!1,lazyLoading:!1,loadingSpin:!1,tableOverflow:!1,tableHeight:"300px",tableWidth:null,meta:null,style:null,parseFormulas:!0,autoIncrement:!0,autoCasting:!0,onundo:null,onredo:null,onload:null,onchange:null,onbeforechange:null,onafterchanges:null,onbeforeinsertrow:null,oninsertrow:null,onbeforeinsertcolumn:null,oninsertcolumn:null,onbeforedeleterow:null,ondeleterow:null,onbeforedeletecolumn:null,ondeletecolumn:null,onmoverow:null,onmovecolumn:null,onresizerow:null,onresizecolumn:null,onsort:null,onselection:null,onpaste:null,onbeforepaste:null,onmerge:null,onfocus:null,onblur:null,onchangeheader:null,oneditionstart:null,oneditionend:null,onchangestyle:null,onchangemeta:null,onchangepage:null,updateTable:null,detachForUpdates:!1,text:{noRecordsFound:"No records found",showingPage:"Showing page {0} of {1} entries",show:"Show ",search:"Search",entries:" entries",columnName:"Column name",insertANewColumnBefore:"Insert a new column before",insertANewColumnAfter:"Insert a new column after",deleteSelectedColumns:"Delete selected columns",renameThisColumn:"Rename this column",orderAscending:"Order ascending",orderDescending:"Order descending",insertANewRowBefore:"Insert a new row before",insertANewRowAfter:"Insert a new row after",deleteSelectedRows:"Delete selected rows",editComments:"Edit comments",addComments:"Add comments",comments:"Comments",clearComments:"Clear comments",copy:"Copy...",paste:"Paste...",saveAs:"Save as...",about:"About",areYouSureToDeleteTheSelectedRows:"Are you sure to delete the selected rows?",areYouSureToDeleteTheSelectedColumns:"Are you sure to delete the selected columns?",thisActionWillDestroyAnyExistingMergedCellsAreYouSure:"This action will destroy any existing merged cells. Are you sure?",thisActionWillClearYourSearchResultsAreYouSure:"This action will clear your search results. Are you sure?",thereIsAConflictWithAnotherMergedCell:"There is a conflict with another merged cell",invalidMergeProperties:"Invalid merged properties",cellAlreadyMerged:"Cell already merged",noCellsSelected:"No cells selected"},about:"jExcel CE Spreadsheet\nVersion 3.9.1\nAuthor: Paul Hodel <paul.hodel@gmail.com>\nWebsite: https://bossanova.uk/jexcel/v3"};for(var property in defaults)if(options&&options.hasOwnProperty(property))if("text"===property)for(var textKey in obj.options[property]=defaults[property],options[property])options[property].hasOwnProperty(textKey)&&(obj.options[property][textKey]=options[property][textKey]);else obj.options[property]=options[property];else obj.options[property]=defaults[property];obj.el=el,obj.corner=null,obj.contextMenu=null,obj.textarea=null,obj.ads=null,obj.content=null,obj.table=null,obj.thead=null,obj.tbody=null,obj.rows=[],obj.results=null,obj.searchInput=null,obj.toolbar=null,obj.pagination=null,obj.pageNumber=null,obj.headerContainer=null,obj.colgroupContainer=null,obj.headers=[],obj.records=[],obj.history=[],obj.formula=[],obj.colgroup=[],obj.selection=[],obj.highlighted=[],obj.selectedCell=null,obj.selectedContainer=null,obj.style=[],obj.data=null,obj.cursor=null,obj.historyIndex=-1,obj.ignoreEvents=!1,obj.ignoreHistory=!1,obj.edition=null,obj.hashString=null,obj.resizing=null,obj.dragging=null,1==obj.options.lazyLoading&&0==obj.options.tableOverflow&&0==obj.options.fullscreen&&(console.error("JEXCEL: The lazyloading only works when tableOverflow = yes or fullscreen = yes"),obj.options.lazyLoading=!1),obj.fullscreen=function(e){null==e&&(e=!obj.options.fullscreen),obj.options.fullscreen!=e&&(obj.options.fullscreen=e,1==e?el.classList.add("fullscreen"):el.classList.remove("fullscreen"))},obj.prepareTable=function(){var e=obj.options.columns.length;if(obj.options.data&&void 0!==obj.options.data[0]){var t=Object.keys(obj.options.data[0]);t.length>e&&(e=t.length)}obj.options.minDimensions[0]>e&&(e=obj.options.minDimensions[0]);for(var o=[],r=0;r<e;r++)obj.options.colHeaders[r]||(obj.options.colHeaders[r]=""),obj.options.colWidths[r]||(obj.options.colWidths[r]=obj.options.defaultColWidth),obj.options.colAlignments[r]||(obj.options.colAlignments[r]=obj.options.defaultColAlign),obj.options.columns[r]?obj.options.columns[r].type||(obj.options.columns[r].type="text"):obj.options.columns[r]={type:"text"},obj.options.columns[r].name||(obj.options.columns[r].name=t&&t[r]?t[r]:r),obj.options.columns[r].source||(obj.options.columns[r].source=[]),obj.options.columns[r].options||(obj.options.columns[r].options=[]),obj.options.columns[r].editor||(obj.options.columns[r].editor=null),obj.options.columns[r].allowEmpty||(obj.options.columns[r].allowEmpty=!1),obj.options.columns[r].title||(obj.options.columns[r].title=obj.options.colHeaders[r]?obj.options.colHeaders[r]:""),obj.options.columns[r].width||(obj.options.columns[r].width=obj.options.colWidths[r]?obj.options.colWidths[r]:obj.options.defaultColWidth),obj.options.columns[r].align||(obj.options.columns[r].align=obj.options.colAlignments[r]?obj.options.colAlignments[r]:"center"),"autocomplete"==obj.options.columns[r].type||"dropdown"==obj.options.columns[r].type?obj.options.columns[r].url&&o.push(jSuites.ajax({url:obj.options.columns[r].url,index:r,method:"GET",dataType:"json",multiple:o,success:function(e){for(var t=0;t<e.length;t++)obj.options.columns[this.index].source.push(e[t])},complete:function(){obj.createTable()}})):"calendar"==obj.options.columns[r].type&&(obj.options.columns[r].options.format||(obj.options.columns[r].options.format="DD/MM/YYYY"));o.length||obj.createTable()},obj.createTable=function(){obj.table=document.createElement("table"),obj.thead=document.createElement("thead"),obj.tbody=document.createElement("tbody"),obj.headers=[],obj.colgroup=[],obj.content=document.createElement("div"),obj.content.classList.add("jexcel_content"),obj.toolbar=document.createElement("div"),obj.toolbar.classList.add("jexcel_toolbar");var e=document.createElement("div"),t=document.createTextNode(obj.options.text.search+": ");obj.searchInput=document.createElement("input"),obj.searchInput.classList.add("jexcel_search"),e.appendChild(t),e.appendChild(obj.searchInput),obj.searchInput.onfocus=function(){obj.resetSelection()};var o,r=document.createElement("div");if(obj.options.pagination>0&&obj.options.paginationOptions&&obj.options.paginationOptions.length>0){obj.paginationDropdown=document.createElement("select"),obj.paginationDropdown.classList.add("jexcel_pagination_dropdown"),obj.paginationDropdown.onchange=function(){obj.options.pagination=parseInt(this.value),obj.page(0)};for(var n=0;n<obj.options.paginationOptions.length;n++){var i=document.createElement("option");i.value=obj.options.paginationOptions[n],i.innerHTML=obj.options.paginationOptions[n],obj.paginationDropdown.appendChild(i)}r.appendChild(document.createTextNode(obj.options.text.show)),r.appendChild(obj.paginationDropdown),r.appendChild(document.createTextNode(obj.options.text.entries))}if(obj.filter=document.createElement("div"),obj.filter.classList.add("jexcel_filter"),obj.filter.appendChild(r),obj.filter.appendChild(e),obj.colgroupContainer=document.createElement("colgroup"),(o=document.createElement("col")).setAttribute("width","50"),obj.colgroupContainer.appendChild(o),obj.options.nestedHeaders&&obj.options.nestedHeaders.length>0)if(obj.options.nestedHeaders[0]&&obj.options.nestedHeaders[0][0])for(var s=0;s<obj.options.nestedHeaders.length;s++)obj.thead.appendChild(obj.createNestedHeader(obj.options.nestedHeaders[s]));else obj.thead.appendChild(obj.createNestedHeader(obj.options.nestedHeaders));for(obj.headerContainer=document.createElement("tr"),(o=document.createElement("td")).classList.add("jexcel_selectall"),obj.headerContainer.appendChild(o),n=0;n<obj.options.columns.length;n++)obj.createCellHeader(n),obj.headerContainer.appendChild(obj.headers[n]),obj.colgroupContainer.appendChild(obj.colgroup[n]);obj.thead.appendChild(obj.headerContainer),obj.table=document.createElement("table"),obj.table.classList.add("jexcel"),obj.table.setAttribute("cellpadding","0"),obj.table.setAttribute("cellspacing","0"),obj.table.setAttribute("unselectable","yes"),obj.table.setAttribute("onselectstart","return false"),obj.table.appendChild(obj.colgroupContainer),obj.table.appendChild(obj.thead),obj.table.appendChild(obj.tbody),obj.corner=document.createElement("div"),obj.corner.className="jexcel_corner",obj.corner.setAttribute("unselectable","on"),obj.corner.setAttribute("onselectstart","return false"),0==obj.options.selectionCopy&&(obj.corner.style.display="none"),obj.textarea=document.createElement("textarea"),obj.textarea.className="jexcel_textarea",obj.textarea.id="jexcel_textarea",obj.textarea.tabIndex="-1",obj.contextMenu=document.createElement("div"),obj.contextMenu.className="jexcel_contextmenu",jSuites.contextmenu(obj.contextMenu,{onclick:function(){obj.contextMenu.contextmenu.close(!1)}});var l=document.createElement("a");if(l.setAttribute("href","https://bossanova.uk/jexcel/"),obj.ads=document.createElement("div"),obj.ads.className="jexcel_about","undefined"!=typeof sessionStorage&&!sessionStorage.getItem("jexcel")){sessionStorage.setItem("jexcel",!0);var a=document.createElement("img");a.src="//bossanova.uk/jexcel/logo.png",l.appendChild(a)}var u=document.createElement("span");u.innerHTML="Jexcel spreadsheet",l.appendChild(u),obj.ads.appendChild(l),document.createElement("div").classList.add("jexcel_table"),obj.pagination=document.createElement("div"),obj.pagination.classList.add("jexcel_pagination");var c=document.createElement("div"),d=document.createElement("div");obj.pagination.appendChild(c),obj.pagination.appendChild(d),obj.options.pagination||(obj.pagination.style.display="none"),1==obj.options.search&&el.appendChild(obj.filter),obj.content.appendChild(obj.table),obj.content.appendChild(obj.corner),obj.content.appendChild(obj.textarea),el.appendChild(obj.toolbar),el.appendChild(obj.content),el.appendChild(obj.pagination),el.appendChild(obj.contextMenu),el.appendChild(obj.ads),el.classList.add("jexcel_container"),obj.options.toolbar&&obj.options.toolbar.length&&obj.createToolbar(),1==obj.options.fullscreen?el.classList.add("fullscreen"):1==obj.options.tableOverflow&&(obj.options.tableHeight&&(obj.content.style["overflow-y"]="auto",obj.content.style.maxHeight=obj.options.tableHeight),obj.options.tableWidth&&(obj.content.style["overflow-x"]="auto",obj.content.style.width=obj.options.tableWidth)),1!=obj.options.tableOverflow&&obj.options.toolbar&&el.classList.add("with-toolbar"),1==obj.options.columnDrag&&obj.thead.classList.add("draggable"),1==obj.options.columnResize&&obj.thead.classList.add("resizable"),1==obj.options.rowDrag&&obj.tbody.classList.add("draggable"),1==obj.options.rowResize&&obj.tbody.classList.add("resizable"),obj.setData(),obj.options.style&&obj.setStyle(obj.options.style,null,null,1,1)},obj.refresh=function(){obj.options.url?(1==obj.options.loadingSpin&&jSuites.loading.show(),jSuites.ajax({url:obj.options.url,method:"GET",dataType:"json",success:function(e){obj.options.data=e.data?e.data:e,obj.setData(),1==obj.options.loadingSpin&&jSuites.loading.hide()}})):obj.setData()},obj.setData=function(e){if(e&&("string"==typeof e&&(e=JSON.parse(e)),obj.options.data=e),obj.options.data||(obj.options.data=[]),obj.options.data){e=[];for(var t=0;t<obj.options.data.length;t++){for(var o=[],r=0;r<obj.options.columns.length;r++)o[r]=obj.options.data[t][obj.options.columns[r].name];e.push(o)}obj.options.data=e}t=0,r=0;var n=obj.options.columns.length,i=obj.options.data.length,s=obj.options.minDimensions[0],l=obj.options.minDimensions[1],a=s>n?s:n,u=l>i?l:i;for(t=0;t<u;t++)for(r=0;r<a;r++)null==obj.options.data[t]&&(obj.options.data[t]=[]),null==obj.options.data[t][r]&&(obj.options.data[t][r]="");if(obj.rows=[],obj.results=null,obj.records=[],obj.history=[],obj.historyIndex=-1,obj.tbody.innerHTML="",1==obj.options.lazyLoading){var c=0,d=obj.options.data.length<100?obj.options.data.length:100;obj.options.pagination&&(obj.options.pagination=!1,console.error("JEXCEL: Pagination will be disable due the lazyLoading"))}else obj.options.pagination?(obj.pageNumber||(obj.pageNumber=0),obj.options.pagination,c=obj.options.pagination*obj.pageNumber,d=obj.options.pagination*obj.pageNumber+obj.options.pagination,obj.options.data.length<d&&(d=obj.options.data.length)):(c=0,d=obj.options.data.length);for(t=0;t<obj.options.data.length;t++){var p=obj.createRow(t,obj.options.data[t]);t>=c&&t<d&&obj.tbody.appendChild(p)}if(1==obj.options.lazyLoading||obj.options.pagination&&obj.updatePagination(),obj.options.mergeCells){var b=Object.keys(obj.options.mergeCells);for(r=0;r<b.length;r++){var f=obj.options.mergeCells[b[r]];obj.setMerge(b[r],f[0],f[1],1)}}obj.updateTable(),obj.ignoreEvents||"function"==typeof obj.options.onload&&obj.options.onload(el,obj)},obj.getData=function(e,t){for(var o=[],r=0,n=0,i=1==t||0==obj.options.copyCompatibility,s=obj.options.columns.length,l=obj.options.data.length,a=0;a<l;a++){r=0;for(var u=0;u<s;u++)e&&!obj.records[a][u].classList.contains("highlight")||(o[n]||(o[n]=[]),o[n][r]=i?obj.options.data[a][u]:obj.records[a][u].innerHTML,r++);r>0&&n++}return o},obj.getJson=function(e){for(var t=[],o=obj.options.columns.length,r=obj.options.data.length,n=0;n<r;n++){for(var i=null,s=0;s<o;s++)e&&!obj.records[n][s].classList.contains("highlight")||(null==i&&(i={}),i[obj.options.columns[s].name]=obj.options.data[n][s]);null!=i&&t.push(i)}return t},obj.getRowData=function(e){return obj.options.data[e]},obj.setRowData=function(e,t){for(var o=0;o<obj.headers.length;o++){var r=jexcel.getColumnNameFromId([o,e]);null!=t[o]&&obj.setValue(r,t[o])}},obj.getColumnData=function(e){for(var t=[],o=0;o<obj.options.data.length;o++)t.push(obj.options.data[o][e]);return t},obj.setColumnData=function(e,t){for(var o=0;o<obj.rows.length;o++){var r=jexcel.getColumnNameFromId([e,o]);null!=t[o]&&obj.setValue(r,t[o])}},obj.createRow=function(e,t){obj.records[e]||(obj.records[e]=[]),t||(t=obj.options.data[e]),obj.rows[e]=document.createElement("tr"),obj.rows[e].setAttribute("data-y",e),obj.options.rows[e]&&obj.options.rows[e].height&&(obj.rows[e].style.height=obj.options.rows[e].height);var o=document.createElement("td");for(o.innerHTML=parseInt(e+1),o.setAttribute("data-y",e),o.className="jexcel_row",obj.rows[e].appendChild(o),i=0;i<obj.options.columns.length;i++)obj.records[e][i]=obj.createCell(i,e,t[i]),obj.rows[e].appendChild(obj.records[e][i]);return obj.rows[e]},obj.createCell=function(e,t,o){var r=document.createElement("td");if(r.setAttribute("data-x",e),r.setAttribute("data-y",t),"hidden"==obj.options.columns[e].type)r.style.display="none",r.innerHTML=o;else if("checkbox"==obj.options.columns[e].type||"radio"==obj.options.columns[e].type){var n=document.createElement("input");n.type=obj.options.columns[e].type,n.name="c"+e,n.checked=1==o||1==o||"true"==o,n.onclick=function(){obj.setValue(r,this.checked)},1==obj.options.columns[e].readOnly&&n.setAttribute("disabled","disabled"),r.appendChild(n),obj.options.data[t][e]=n.checked}else if("calendar"==obj.options.columns[e].type){var i=jSuites.calendar.extractDateFromString(o,obj.options.columns[e].options.format);r.innerHTML=jSuites.calendar.getDateString(i||o,obj.options.columns[e].options.format)}else if("dropdown"==obj.options.columns[e].type||"autocomplete"==obj.options.columns[e].type)r.classList.add("jexcel_dropdown"),r.innerHTML=obj.getDropDownValue(e,o);else if("color"==obj.options.columns[e].type)if("square"==obj.options.columns[e].render){var s=document.createElement("div");s.className="color",s.style.backgroundColor=o,r.appendChild(s)}else r.style.color=o,r.innerHTML=o;else if("image"==obj.options.columns[e].type){if(o&&"data:image"==o.substr(0,10)){var l=document.createElement("img");l.src=o,r.appendChild(l)}}else{if("="==(""+o).substr(0,1)&&1==obj.options.parseFormulas&&(o=obj.executeFormula(o,e,t)),obj.options.columns[e].mask){var a=obj.options.columns[e].decimal||".";o=""+jSuites.mask.run(o,obj.options.columns[e].mask,a)}r.innerHTML=o}1==obj.options.columns[e].readOnly&&(r.className="readonly");var u=obj.options.columns[e].align?obj.options.columns[e].align:"center";return r.style.textAlign=u,0!=obj.options.columns[e].wordWrap&&(1==obj.options.wordWrap||1==obj.options.columns[e].wordWrap||r.innerHTML.length>200)&&(r.style.whiteSpace="pre-wrap"),e>0&&(o||r.innerHTML?obj.records[t][e-1].style.overflow="hidden":e==obj.options.columns.length-1&&(r.style.overflow="hidden")),r},obj.createCellHeader=function(e){var t=obj.options.columns[e].width?obj.options.columns[e].width:obj.options.defaultColWidth,o=obj.options.columns[e].align?obj.options.columns[e].align:obj.options.defaultColAlign;obj.headers[e]=document.createElement("td"),obj.headers[e].innerHTML=obj.options.columns[e].title?obj.options.columns[e].title:jexcel.getColumnName(e),obj.headers[e].setAttribute("data-x",e),obj.headers[e].style.textAlign=o,obj.options.columns[e].title&&obj.headers[e].setAttribute("title",obj.options.columns[e].title),obj.colgroup[e]=document.createElement("col"),obj.colgroup[e].setAttribute("width",t),"hidden"==obj.options.columns[e].type&&(obj.headers[e].style.display="none",obj.colgroup[e].style.display="none")},obj.createNestedHeader=function(e){var t=document.createElement("tr");t.classList.add("jexcel_nested");var o=document.createElement("td");t.appendChild(o);for(var r=0,n=0;n<e.length;n++){e[n].colspan||(e[n].colspan=1),e[n].align||(e[n].align="center"),e[n].title||(e[n].title="");for(var i=e[n].colspan,s=[],l=0;l<i;l++)obj.options.columns[r]&&"hidden"==obj.options.columns[r].type&&i++,s.push(r),r++;(o=document.createElement("td")).setAttribute("data-column",s.join(",")),o.setAttribute("colspan",e[n].colspan),o.setAttribute("align",e[n].align),o.innerHTML=e[n].title,t.appendChild(o)}return t},obj.createToolbar=function(e){e?obj.options.toolbar=e:e=obj.options.toolbar;for(var t=0;t<e.length;t++)if("i"==e[t].type)(n=document.createElement("i")).classList.add("jexcel_toolbar_item"),n.classList.add("material-icons"),n.setAttribute("data-k",e[t].k),n.setAttribute("data-v",e[t].v),e[t].tooltip&&n.setAttribute("title",e[t].tooltip),e[t].onclick&&(e[t].onclick,1)?n.onclick=e[t].onclick:n.onclick=function(){var e=this.getAttribute("data-k"),t=this.getAttribute("data-v");obj.setStyle(obj.highlighted,e,t)},n.innerHTML=e[t].content,obj.toolbar.appendChild(n);else if("select"==e[t].type){(n=document.createElement("select")).classList.add("jexcel_toolbar_item"),n.setAttribute("data-k",e[t].k),e[t].tooltip&&n.setAttribute("title",e[t].tooltip),e[t].onchange&&(e[t].onchange,1)?n.onchange=e[t].onchange:n.onchange=function(){var e=this.getAttribute("data-k");obj.setStyle(obj.highlighted,e,this.value)};for(var o=0;o<e[t].v.length;o++){var r=document.createElement("option");r.value=e[t].v[o],r.innerHTML=e[t].v[o],n.appendChild(r)}obj.toolbar.appendChild(n)}else if("color"==e[t].type){var n;(n=document.createElement("i")).classList.add("jexcel_toolbar_item"),n.classList.add("material-icons"),n.setAttribute("data-k",e[t].k),n.setAttribute("data-v",""),e[t].tooltip&&n.setAttribute("title",e[t].tooltip),obj.toolbar.appendChild(n),n.onclick=function(){this.color.open()},n.innerHTML=e[t].content,jSuites.color(n,{onchange:function(e,t){var o=e.getAttribute("data-k");obj.setStyle(obj.highlighted,o,t)}})}},obj.setMerge=function(e,t,o,r){var n=!1;if(!e){if(!obj.highlighted.length)return alert(obj.options.text.noCellsSelected),null;var i=parseInt(obj.highlighted[0].getAttribute("data-x")),s=parseInt(obj.highlighted[0].getAttribute("data-y")),l=parseInt(obj.highlighted[obj.highlighted.length-1].getAttribute("data-x")),a=parseInt(obj.highlighted[obj.highlighted.length-1].getAttribute("data-y"));e=jexcel.getColumnNameFromId([i,s]),t=l-i+1,o=a-s+1}var u=jexcel.getIdFromColumnName(e,!0);if(obj.options.mergeCells[e])obj.records[u[1]][u[0]].getAttribute("data-merged")&&(n=obj.options.text.cellAlreadyMerged);else if((!t||t<2)&&(!o||o<2))n=obj.options.text.invalidMergeProperties;else for(var c=u[1];c<u[1]+o;c++)for(var d=u[0];d<u[0]+t;d++)jexcel.getColumnNameFromId([d,c]),obj.records[c][d].getAttribute("data-merged")&&(n=obj.options.text.thereIsAConflictWithAnotherMergedCell);if(n)alert(n);else{t>1?obj.records[u[1]][u[0]].setAttribute("colspan",t):t=1,o>1?obj.records[u[1]][u[0]].setAttribute("rowspan",o):o=1,obj.options.mergeCells[e]=[t,o,[]],obj.records[u[1]][u[0]].setAttribute("data-merged","true"),obj.records[u[1]][u[0]].style.overflow="hidden";for(var p=[],b=u[1];b<u[1]+o;b++)for(var f=u[0];f<u[0]+t;f++)u[0]==f&&u[1]==b||(p.push(obj.options.data[b][f]),obj.updateCell(f,b,"",!0),obj.options.mergeCells[e][2].push(obj.records[b][f]),obj.records[b][f].style.display="none",obj.records[b][f]=obj.records[u[1]][u[0]]);obj.updateSelection(obj.records[u[1]][u[0]]),r||(obj.setHistory({action:"setMerge",column:e,colspan:t,rowspan:o,data:p}),"function"==typeof obj.options.onmerge&&obj.options.onmerge(el,e,t,o))}},obj.getMerge=function(e){var t={};if(e)t=obj.options.mergeCells[e]?[obj.options.mergeCells[e][0],obj.options.mergeCells[e][1]]:null;else if(obj.options.mergeCells){obj.options.mergeCells;for(var o=Object.keys(obj.options.mergeCells),r=0;r<o.length;r++)t[o[r]]=[obj.options.mergeCells[o[r]][0],obj.options.mergeCells[o[r]][1]]}return t},obj.removeMerge=function(e,t,o){if(obj.options.mergeCells[e]){var r=jexcel.getIdFromColumnName(e,!0);obj.records[r[1]][r[0]].removeAttribute("colspan"),obj.records[r[1]][r[0]].removeAttribute("rowspan"),obj.records[r[1]][r[0]].removeAttribute("data-merged");for(var n=obj.options.mergeCells[e],i=0,s=0;s<n[1];s++)for(var l=0;l<n[0];l++)(s>0||l>0)&&(obj.records[r[1]+s][r[0]+l]=n[2][i],obj.records[r[1]+s][r[0]+l].style.display="",t&&t[i]&&obj.updateCell(r[0]+l,r[1]+s,t[i]),i++);obj.updateSelection(obj.records[r[1]][r[0]],obj.records[r[1]+s-1][r[0]+l-1]),o||delete obj.options.mergeCells[e]}},obj.destroyMerged=function(e){if(obj.options.mergeCells){obj.options.mergeCells;for(var t=Object.keys(obj.options.mergeCells),o=0;o<t.length;o++)obj.removeMerge(t[o],null,e)}},obj.isColMerged=function(e,t){var o=[];if(obj.options.mergeCells)for(var r=Object.keys(obj.options.mergeCells),n=0;n<r.length;n++){var i=jexcel.getIdFromColumnName(r[n],!0),s=obj.options.mergeCells[r[n]][0],l=i[0],a=i[0]+(s>1?s-1:0);null==t?l<=e&&a>=e&&o.push(r[n]):t?l<e&&a>=e&&o.push(r[n]):l<=e&&a>e&&o.push(r[n])}return o},obj.isRowMerged=function(e,t){var o=[];if(obj.options.mergeCells)for(var r=Object.keys(obj.options.mergeCells),n=0;n<r.length;n++){var i=jexcel.getIdFromColumnName(r[n],!0),s=obj.options.mergeCells[r[n]][1],l=i[1],a=i[1]+(s>1?s-1:0);null==t?l<=e&&a>=e&&o.push(r[n]):t?l<e&&a>=e&&o.push(r[n]):l<=e&&a>e&&o.push(r[n])}return o},obj.openEditor=function(e,t,o){var r=e.getAttribute("data-y"),n=e.getAttribute("data-x");obj.ignoreEvents||"function"==typeof obj.options.oneditionstart&&obj.options.oneditionstart(el,e,n,r),n>0&&(obj.records[r][n-1].style.overflow="hidden");var i=function(t){var o=e.getBoundingClientRect(),r=document.createElement(t);return r.style.width=o.width+"px",r.style.height=o.height-2+"px",r.style.minHeight=o.height-2+"px",e.classList.add("editor"),e.innerHTML="",e.appendChild(r),r};if(1==e.classList.contains("readonly"));else if(obj.edition=[obj.records[r][n],obj.records[r][n].innerHTML,n,r],obj.options.columns[n].editor)obj.options.columns[n].editor.openEditor(e,el,t,o);else if("hidden"==obj.options.columns[n].type);else if("checkbox"==obj.options.columns[n].type||"radio"==obj.options.columns[n].type){var s=!e.children[0].checked;obj.setValue(e,s),obj.edition=null}else if("dropdown"==obj.options.columns[n].type||"autocomplete"==obj.options.columns[n].type){if(s=obj.options.data[r][n],"function"==typeof obj.options.columns[n].filter)var l=obj.options.columns[n].filter(el,e,n,r,obj.options.columns[n].source);else l=obj.options.columns[n].source;var a=i("div"),u={data:l,multiple:!!obj.options.columns[n].multiple,autocomplete:!(!obj.options.columns[n].autocomplete&&"autocomplete"!=obj.options.columns[n].type),opened:!0,value:obj.options.columns[n].multiple?s.split(";"):s,width:"100%",height:a.style.minHeight,position:1==obj.options.tableOverflow||1==obj.options.fullscreen,onclose:function(){obj.closeEditor(e,!0)}};obj.options.columns[n].options&&obj.options.columns[n].options.type&&(u.type=obj.options.columns[n].options.type),jSuites.dropdown(a,u)}else if("calendar"==obj.options.columns[n].type||"color"==obj.options.columns[n].type)s=obj.options.data[r][n],(a=i("input")).value=s,1!=obj.options.tableOverflow&&1!=obj.options.fullscreen||(obj.options.columns[n].options.position=!0),obj.options.columns[n].options.value=obj.options.data[r][n],obj.options.columns[n].options.opened=!0,obj.options.columns[n].options.onclose=function(t,o){obj.closeEditor(e,!0)},"color"==obj.options.columns[n].type?jSuites.color(a,obj.options.columns[n].options):jSuites.calendar(a,obj.options.columns[n].options).setValue(s),a.focus();else if("image"==obj.options.columns[n].type){var c=e.children[0];(a=i("div")).style.position="relative";var d=document.createElement("div");d.classList.add("jclose"),c&&c.src&&d.appendChild(c),a.appendChild(d),jSuites.image(d,obj.options.imageOptions);const t=e.getBoundingClientRect(),o=d.getBoundingClientRect();window.innerHeight<t.bottom+o.height?d.style.top=t.top-(o.height+2)+"px":d.style.top=t.top+"px"}else{if(s=1==t?"":obj.options.data[r][n],0==obj.options.columns[n].wordWrap||1!=obj.options.wordWrap&&1!=obj.options.columns[n].wordWrap)a=i("input"),obj.options.columns[n].mask&&a.setAttribute("data-mask",obj.options.columns[n].mask);else a=i("textarea");a.value=s,a.onblur=function(){obj.closeEditor(e,!0)},a.focus()}},obj.closeEditor=function(e,t){var o=parseInt(e.getAttribute("data-x")),r=parseInt(e.getAttribute("data-y"));if(1==t){if(obj.options.columns[o].editor)var n=obj.options.columns[o].editor.closeEditor(e,t);else if("checkbox"==obj.options.columns[o].type||"radio"==obj.options.columns[o].type||"hidden"==obj.options.columns[o].type);else if("dropdown"==obj.options.columns[o].type||"autocomplete"==obj.options.columns[o].type)n=e.children[0].dropdown.close(!0);else if("calendar"==obj.options.columns[o].type)n=e.children[0].calendar.close(!0);else if("color"==obj.options.columns[o].type)n=e.children[1].color.close(!0);else if("image"==obj.options.columns[o].type){var i=e.children[0].children[0].children[0];n=i&&"IMG"==i.tagName?i.src:""}else"numeric"==obj.options.columns[o].type?("="!=(n=e.children[0].value).substr(0,1)&&""==n&&(n=obj.options.columns[o].allowEmpty?"":0),e.children[0].onblur=null):(n=e.children[0].value,e.children[0].onblur=null);obj.options.data[r][o]==n?e.innerHTML=obj.edition[1]:obj.setValue(e,n)}else obj.options.columns[o].editor?obj.options.columns[o].editor.closeEditor(e,t):"dropdown"==obj.options.columns[o].type||"autocomplete"==obj.options.columns[o].type?e.children[0].dropdown.close(!0):"calendar"==obj.options.columns[o].type?e.children[0].calendar.close(!0):"color"==obj.options.columns[o].type?e.children[1].color.close(!0):e.children[0].onblur=null,e.innerHTML=obj.edition&&obj.edition[1]?obj.edition[1]:"";obj.ignoreEvents||"function"==typeof obj.options.oneditionend&&obj.options.oneditionend(el,e,o,r,n,t),e.classList.remove("editor"),obj.edition=null},obj.getCell=function(e){var t=(e=jexcel.getIdFromColumnName(e,!0))[0],o=e[1];return obj.records[o][t]},obj.getCellFromCoords=function(e,t){return obj.records[t][e]},obj.getLabel=function(e){var t=(e=jexcel.getIdFromColumnName(e,!0))[0],o=e[1];return obj.records[o][t].innerHTML},obj.getLabelFromCoords=function(e,t){return obj.records[t][e].innerHTML},obj.getValue=function(e,t){if("object"==typeof e)var o=e.getAttribute("data-x"),r=e.getAttribute("data-y");else o=(e=jexcel.getIdFromColumnName(e,!0))[0],r=e[1];var n=null;return null!=o&&null!=r&&(obj.records[r]&&obj.records[r][o]&&(t||1==obj.options.copyCompatibility)?n=obj.records[r][o].innerHTML:obj.options.data[r]&&"undefined"!=obj.options.data[r][o]&&(n=obj.options.data[r][o])),n},obj.getValueFromCoords=function(e,t,o){var r=null;return null!=e&&null!=t&&(obj.records[t]&&obj.records[t][e]&&o||1==obj.options.copyCompatibility?r=obj.records[t][e].innerHTML:obj.options.data[t]&&"undefined"!=obj.options.data[t][e]&&(r=obj.options.data[t][e])),r},obj.setValue=function(e,t,o){var r=[];if("string"==typeof e){var n=(a=jexcel.getIdFromColumnName(e,!0))[0],i=a[1];r.push(obj.updateCell(n,i,t,o)),obj.updateFormulaChain(n,i,r)}else if(n=null,i=null,e&&e.getAttribute&&(n=e.getAttribute("data-x"),i=e.getAttribute("data-y")),null!=n&&null!=i)r.push(obj.updateCell(n,i,t,o)),obj.updateFormulaChain(n,i,r);else{var s=Object.keys(e);if(s.length>0)for(var l=0;l<s.length;l++){var a;"string"==typeof e[l]?(n=(a=jexcel.getIdFromColumnName(e[l],!0))[0],i=a[1]):(n=e[l].getAttribute("data-x"),i=e[l].getAttribute("data-y")),null!=n&&null!=i&&(r.push(obj.updateCell(n,i,t,o)),obj.updateFormulaChain(n,i,r))}}obj.setHistory({action:"setValue",records:r,selection:obj.selectedCell}),obj.updateTable(),obj.onafterchanges(el,r)},obj.setValueFromCoords=function(e,t,o,r){var n=[];n.push(obj.updateCell(e,t,o,r)),obj.updateFormulaChain(e,t,n),obj.setHistory({action:"setValue",records:n,selection:obj.selectedCell}),obj.updateTable(),obj.onafterchanges(el,n)},obj.setCheckRadioValue=function(){for(var e=[],t=Object.keys(obj.highlighted),o=0;o<t.length;o++){var r=obj.highlighted[o].getAttribute("data-x"),n=obj.highlighted[o].getAttribute("data-y");"checkbox"!=obj.options.columns[r].type&&"radio"!=obj.options.columns[r].type||e.push(obj.updateCell(r,n,!obj.options.data[n][r]))}e.length&&(obj.setHistory({action:"setValue",records:e,selection:obj.selectedCell}),obj.onafterchanges(el,e))},obj.updateCell=function(e,t,o,r){if(1!=obj.records[t][e].classList.contains("readonly")||r){if(!obj.ignoreEvents&&"function"==typeof obj.options.onbeforechange){var n=obj.options.onbeforechange(el,obj.records[t][e],e,t,o);null!=n&&(o=n)}if(c={x:e,y:t,col:e,row:t,newValue:o,oldValue:obj.options.data[t][e]},obj.options.columns[e].editor)obj.options.data[t][e]=o,obj.options.columns[e].editor.setValue(obj.records[t][e],o,r);else if("checkbox"==obj.options.columns[e].type||"radio"==obj.options.columns[e].type){if("radio"==obj.options.columns[e].type)for(var i=0;i<obj.options.data.length;i++)obj.options.data[i][e]=!1;obj.records[t][e].children[0].checked=1==o||1==o||"true"==o||"TRUE"==o,obj.options.data[t][e]=obj.records[t][e].children[0].checked}else if("dropdown"==obj.options.columns[e].type||"autocomplete"==obj.options.columns[e].type)obj.options.data[t][e]=o,obj.records[t][e].innerHTML=obj.getDropDownValue(e,o);else if("calendar"==obj.options.columns[e].type){var s=jSuites.calendar.extractDateFromString(o,obj.options.columns[e].options.format);obj.options.data[t][e]=o,obj.records[t][e].innerHTML=jSuites.calendar.getDateString(s||o,obj.options.columns[e].options.format)}else if("color"==obj.options.columns[e].type)if(obj.options.data[t][e]=o,"square"==obj.options.columns[e].render){var l=document.createElement("div");l.className="color",l.style.backgroundColor=o,obj.records[t][e].innerHTML="",obj.records[t][e].appendChild(l)}else obj.records[t][e].style.color=o,obj.records[t][e].innerHTML=o;else if("image"==obj.options.columns[e].type){if(o=""+o,obj.options.data[t][e]=o,obj.records[t][e].innerHTML="",o&&"data:image"==o.substr(0,10)){var a=document.createElement("img");a.src=o,obj.records[t][e].appendChild(a)}}else{if(obj.options.data[t][e]=o,"="==(""+o).substr(0,1)&&1==obj.options.parseFormulas&&(o=obj.executeFormula(o,e,t)),obj.options.columns[e].mask){var u=obj.options.columns[e].decimal||".";o=""+jSuites.mask.run(o,obj.options.columns[e].mask,u)}obj.records[t][e].innerHTML=o,0!=obj.options.columns[e].wordWrap&&(1==obj.options.wordWrap||1==obj.options.columns[e].wordWrap||obj.records[t][e].innerHTML.length>200)?obj.records[t][e].style.whiteSpace="pre-wrap":obj.records[t][e].style.whiteSpace=""}e>0&&(obj.records[t][e-1].style.overflow=o?"hidden":""),obj.ignoreEvents||"function"==typeof obj.options.onchange&&obj.options.onchange(el,obj.records[t]&&obj.records[t][e]?obj.records[t][e]:null,e,t,o,c.oldValue)}else var c={x:e,y:t,col:e,row:t};return c},obj.copyData=function(e,t){var o=obj.getData(!0,!0),r=obj.selectedContainer,n=parseInt(e.getAttribute("data-x")),i=parseInt(e.getAttribute("data-y")),s=parseInt(t.getAttribute("data-x")),l=parseInt(t.getAttribute("data-y")),a=[],u=!1;if(r[0]==n){if(i<r[1])var c=i-r[1];else c=1;var d=0}else d=n<r[0]?n-r[0]:1,c=0;for(var p=0,b=0,f=i;f<=l;f++)if(!obj.rows[f]||"none"!=obj.rows[f].style.display){null==o[b]&&(b=0),p=0,r[0]!=n&&(d=n<r[0]?n-r[0]:1);for(var m=n;m<=s;m++){if(obj.records[f][m]&&!obj.records[f][m].classList.contains("readonly")&&"none"!=obj.records[f][m].style.display&&0==u){if(!obj.selection.length&&""!=obj.options.data[f][m]){u=!0;continue}(null==o[b]||null==o[b][p])&&(p=0);var j=o[b][p];if(j&&!o[1]&&1==obj.options.autoIncrement)if("text"==obj.options.columns[m].type||"number"==obj.options.columns[m].type)if("="==(""+j).substr(0,1)){var h=j.match(/([A-Z]+[0-9]+)/g);if(h){for(var g=[],v=0;v<h.length;v++){var y=jexcel.getIdFromColumnName(h[v],1);y[0]+=d,y[1]+=c,y[1]<0&&(y[1]=0);var C=jexcel.getColumnNameFromId([y[0],y[1]]);C!=h[v]&&(g[h[v]]=C)}g&&(j=obj.updateFormula(j,g))}}else j==Number(j)&&(j=Number(j)+c);else if("calendar"==obj.options.columns[m].type){var x=new Date(j);x.setDate(x.getDate()+c),j=x.getFullYear()+"-"+jexcel.doubleDigitFormat(parseInt(x.getMonth()+1))+"-"+jexcel.doubleDigitFormat(x.getDate())+" 00:00:00"}a.push(obj.updateCell(m,f,j)),obj.updateFormulaChain(m,f,a)}p++,r[0]!=n&&d++}b++,c++}obj.setHistory({action:"setValue",records:a,selection:obj.selectedCell}),obj.updateTable(),obj.onafterchanges(el,a)},obj.refreshSelection=function(){obj.selectedCell&&obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3])},obj.conditionalSelectionUpdate=function(e,t,o){if(1==e){if(obj.selectedCell&&(t>=obj.selectedCell[1]&&t<=obj.selectedCell[3]||o>=obj.selectedCell[1]&&o<=obj.selectedCell[3]))return void obj.resetSelection()}else if(obj.selectedCell&&(t>=obj.selectedCell[0]&&t<=obj.selectedCell[2]||o>=obj.selectedCell[0]&&o<=obj.selectedCell[2]))return void obj.resetSelection()},obj.resetSelection=function(e){if(obj.highlighted.length){u=1;for(var t=0;t<obj.highlighted.length;t++){obj.highlighted[t].classList.remove("highlight"),obj.highlighted[t].classList.remove("highlight-left"),obj.highlighted[t].classList.remove("highlight-right"),obj.highlighted[t].classList.remove("highlight-top"),obj.highlighted[t].classList.remove("highlight-bottom"),obj.highlighted[t].classList.remove("highlight-selected");var o=parseInt(obj.highlighted[t].getAttribute("data-x")),r=parseInt(obj.highlighted[t].getAttribute("data-y"));if(obj.highlighted[t].getAttribute("data-merged"))var n=parseInt(obj.highlighted[t].getAttribute("colspan")),i=parseInt(obj.highlighted[t].getAttribute("rowspan")),s=n>0?o+(n-1):o,l=i>0?r+(i-1):r;else s=o,l=r;for(var a=o;a<=s;a++)obj.headers[a]&&obj.headers[a].classList.remove("selected");for(a=r;a<=l;a++)obj.rows[a]&&obj.rows[a].classList.remove("selected")}}else var u=0;return obj.highlighted=[],obj.selectedCell=null,obj.corner.style.top="-2000px",obj.corner.style.left="-2000px",1!=obj.ignoreEvents&&1==e&&obj.options.onblur&&"function"==typeof obj.options.onblur&&1==u&&obj.options.onblur(el),u},obj.updateSelection=function(e,t,o){var r=e.getAttribute("data-x"),n=e.getAttribute("data-y");if(t)var i=t.getAttribute("data-x"),s=t.getAttribute("data-y");else i=r,s=n;obj.updateSelectionFromCoords(r,n,i,s,o)},obj.updateSelectionFromCoords=function(e,t,o,r,n){var i=obj.resetSelection();if(null==o&&(o=e),null==r&&(r=t),e>=obj.headers.length&&(e=obj.headers.length-1),t>=obj.rows.length&&(t=obj.rows.length-1),o>=obj.headers.length&&(o=obj.headers.length-1),r>=obj.rows.length&&(r=obj.rows.length-1),obj.selectedCell=[e,t,o,r],null!=e){if(obj.records[t][e]&&obj.records[t][e].classList.add("highlight-selected"),parseInt(e)<parseInt(o))var s=parseInt(e),l=parseInt(o);else s=parseInt(o),l=parseInt(e);if(parseInt(t)<parseInt(r))var a=parseInt(t),u=parseInt(r);else a=parseInt(r),u=parseInt(t);for(var c=s;c<=l;c++)for(var d=a;d<=u;d++)if(obj.records[d][c]&&obj.records[d][c].getAttribute("data-merged")){var p=parseInt(obj.records[d][c].getAttribute("data-x")),b=parseInt(obj.records[d][c].getAttribute("data-y")),f=parseInt(obj.records[d][c].getAttribute("colspan")),m=parseInt(obj.records[d][c].getAttribute("rowspan"));f>1&&(p<s&&(s=p),p+f>l&&(l=p+f-1)),m&&(b<a&&(a=b),b+m>u&&(u=b+m-1))}var j=null,h=null,g=null,v=null;for(d=a;d<=u;d++)"none"!=obj.rows[d].style.display&&(null==g&&(g=d),v=d);for(c=s;c<=l;c++){for(d=a;d<=u;d++)"none"!=obj.rows[d].style.display&&"none"!=obj.records[d][c].style.display&&(obj.records[d][c].classList.add("highlight"),obj.highlighted.push(obj.records[d][c]));"hidden"!=obj.options.columns[c].type&&(null==j&&(j=c),h=c)}for(j||(j=0),h||(h=0),c=j;c<=h;c++)"hidden"!=obj.options.columns[c].type&&(obj.records[g][c]&&obj.records[g][c].classList.add("highlight-top"),obj.records[v][c]&&obj.records[v][c].classList.add("highlight-bottom"),obj.headers[c].classList.add("selected"));for(d=g;d<=v;d++)"none"!=obj.rows[d].style.display&&(obj.records[d][j].classList.add("highlight-left"),obj.records[d][h].classList.add("highlight-right"),obj.rows[d].classList.add("selected"));obj.selectedContainer=[j,g,h,v]}1!=obj.ignoreEvents&&(obj.options.onfocus&&"function"==typeof obj.options.onfocus&&0==i&&obj.options.onfocus(el),"function"==typeof obj.options.onselection&&obj.options.onselection(el,j,g,h,v,n)),obj.updateCornerPosition()},obj.removeCopySelection=function(){for(var e=0;e<obj.selection.length;e++)obj.selection[e].classList.remove("selection"),obj.selection[e].classList.remove("selection-left"),obj.selection[e].classList.remove("selection-right"),obj.selection[e].classList.remove("selection-top"),obj.selection[e].classList.remove("selection-bottom");obj.selection=[]},obj.updateCopySelection=function(e,t){obj.removeCopySelection();var o=obj.selectedContainer[0],r=obj.selectedContainer[1],n=obj.selectedContainer[2],i=obj.selectedContainer[3];if(null!=e&&null!=t){if(e-n>0)var s=parseInt(n)+1,l=parseInt(e);else s=parseInt(e),l=parseInt(o)-1;if(t-i>0)var a=parseInt(i)+1,u=parseInt(t);else a=parseInt(t),u=parseInt(r)-1;l-s<u-a?(s=parseInt(o),l=parseInt(n)):(a=parseInt(r),u=parseInt(i));for(var c=a;c<=u;c++)for(var d=s;d<=l;d++)obj.records[c][d]&&"none"!=obj.rows[c].style.display&&"none"!=obj.records[c][d].style.display&&(obj.records[c][d].classList.add("selection"),obj.records[a][d].classList.add("selection-top"),obj.records[u][d].classList.add("selection-bottom"),obj.records[c][s].classList.add("selection-left"),obj.records[c][l].classList.add("selection-right"),obj.selection.push(obj.records[c][d]))}},obj.updateCornerPosition=function(){if(obj.highlighted.length){var e=obj.highlighted[obj.highlighted.length-1];const u=obj.content.getBoundingClientRect();var t=u.left,o=u.top;const c=e.getBoundingClientRect();var r=c.left,n=c.top,i=c.width,s=c.height,l=r-t+obj.content.scrollLeft+i-4,a=n-o+obj.content.scrollTop+s-4;obj.corner.style.top=a+"px",obj.corner.style.left=l+"px"}else obj.corner.style.top="-2000px",obj.corner.style.left="-2000px"},obj.updateScroll=function(e){const t=obj.content.getBoundingClientRect();var o=t.left,r=t.top,n=t.width,i=t.height;const s=obj.records[obj.selectedCell[3]][obj.selectedCell[2]].getBoundingClientRect();var l=s.left,a=s.top,u=s.width,c=s.height;if(0==e||1==e)var d=l-o+obj.content.scrollLeft,p=a-r+obj.content.scrollTop-2;else d=l-o+obj.content.scrollLeft+u,p=a-r+obj.content.scrollTop+c;p>obj.content.scrollTop+30&&p<obj.content.scrollTop+i||(p<obj.content.scrollTop+30?obj.content.scrollTop=p-c:obj.content.scrollTop=p-(i-2)),d>obj.content.scrollLeft&&d<obj.content.scrollLeft+n||(d<obj.content.scrollLeft+30?(obj.content.scrollLeft=d,obj.content.scrollLeft<50&&(obj.content.scrollLeft=0)):obj.content.scrollLeft=d-(n-20))},obj.getWidth=function(e){if(e)"object"==typeof e&&(e=$(e).getAttribute("data-x")),t=obj.colgroup[e].getAttribute("width");else for(var t=[],o=0;o<obj.headers.length;o++)t.push(obj.options.columns[o].width);return t},obj.setWidth=function(e,t,o){t>0&&("object"==typeof e&&(e=e.getAttribute("data-x")),o||(o=obj.colgroup[e].getAttribute("width")),obj.colgroup[e].setAttribute("width",t),obj.options.columns[e].width=t,obj.setHistory({action:"setWidth",column:e,oldValue:o,newValue:t}),1!=obj.ignoreEvents&&"function"==typeof obj.options.onresizecolumn&&obj.options.onresizecolumn(el,e,t,o),obj.updateCornerPosition())},obj.setHeight=function(e,t,o){t>0&&("object"==typeof e&&(e=e.getAttribute("data-y")),o||(o=obj.rows[e].getAttribute("height"))||(o=obj.rows[e].getBoundingClientRect().height),t=parseInt(t),obj.rows[e].style.height=t+"px",obj.options.rows[e]||(obj.options.rows[e]={}),obj.options.rows[e].height=t,obj.setHistory({action:"setHeight",row:e,oldValue:o,newValue:t}),1!=obj.ignoreEvents&&"function"==typeof obj.options.onresizerow&&obj.options.onresizerow(el,e,t,o),obj.updateCornerPosition())},obj.getHeight=function(e){if(e)"object"==typeof e&&(e=$(e).getAttribute("data-y")),t=obj.rows[e].style.height;else for(var t=[],o=0;o<obj.rows.length;o++){var r=obj.rows[o].style.height;r&&(t[o]=r)}return t},obj.getHeader=function(e){return obj.headers[e].innerText},obj.setHeader=function(e,t){if(obj.headers[e]){var o=obj.headers[e].innerText;t||(t=prompt(obj.options.text.columnName,o)),t&&(obj.headers[e].innerHTML=t,obj.headers[e].setAttribute("title",t)),obj.setHistory({action:"setHeader",column:e,oldValue:o,newValue:t}),obj.ignoreEvents||"function"==typeof obj.options.onchangeheader&&obj.options.onchangeheader(el,e,o,t)}},obj.getHeaders=function(e){for(var t=[],o=0;o<obj.headers.length;o++)t.push(obj.getHeader(o));return e?t:t.join(obj.options.csvDelimiter)},obj.getMeta=function(e,t){return e?t?obj.options.meta[e]&&obj.options.meta[e][t]?obj.options.meta[e][t]:null:obj.options.meta[e]?obj.options.meta[e]:null:obj.options.meta},obj.setMeta=function(e,t,o){if(obj.options.meta||(obj.options.meta={}),t&&o)obj.options.meta[e]||(obj.options.meta[e]={}),obj.options.meta[e][t]=o;else for(var r=Object.keys(e),n=0;n<r.length;n++){obj.options.meta[r[n]]||(obj.options.meta[r[n]]={});for(var i=Object.keys(e[r[n]]),s=0;s<i.length;s++)obj.options.meta[r[n]][i[s]]=e[r[n]][i[s]]}1!=obj.ignoreEvents&&"function"==typeof obj.options.onchangemeta&&obj.options.onchangemeta(el,e,t,o)},obj.updateMeta=function(e){if(obj.options.meta){for(var t={},o=Object.keys(obj.options.meta),r=0;r<o.length;r++)e[o[r]]?t[e[o[r]]]=obj.options.meta[o[r]]:t[o[r]]=obj.options.meta[o[r]];obj.options.meta=t}},obj.getStyle=function(e,t){if(e)return e=jexcel.getIdFromColumnName(e,!0),t?obj.records[e[1]][e[0]].style[t]:obj.records[e[1]][e[0]].getAttribute("style");for(var o={},r=obj.options.data[0].length,n=obj.options.data.length,i=0;i<n;i++)for(var s=0;s<r;s++){var l=t?obj.records[i][s].style[t]:obj.records[i][s].getAttribute("style");l&&(o[jexcel.getColumnNameFromId([s,i])]=l)}return o},obj.resetStyle=function(e,t){for(var o=Object.keys(e),r=0;r<o.length;r++){var n=jexcel.getIdFromColumnName(o[r],!0);obj.records[n[1]]&&obj.records[n[1]][n[0]]&&obj.records[n[1]][n[0]].setAttribute("style","")}obj.setStyle(e,null,null,null,t)},obj.setStyle=function(e,t,o,r,n){var i={},s={},l=function(e,t,o){var n=jexcel.getIdFromColumnName(e,!0);if(obj.records[n[1]]&&obj.records[n[1]][n[0]]){var l=obj.records[n[1]][n[0]].style[t];l!=o||r?obj.records[n[1]][n[0]].style[t]=o:(o="",obj.records[n[1]][n[0]].style[t]=""),s[e]||(s[e]=[]),i[e]||(i[e]=[]),s[e].push([t+":"+l]),i[e].push([t+":"+o])}};if(t&&o)if("string"==typeof e)l(e,t,o);else for(var a=[],u=0;u<e.length;u++){var c=e[u].getAttribute("data-x"),d=e[u].getAttribute("data-y"),p=jexcel.getColumnNameFromId([c,d]);a[p]||(l(p,t,o),a[p]=!0)}else{var b=Object.keys(e);for(u=0;u<b.length;u++){var f=e[b[u]];"string"==typeof f&&(f=f.split(";"));for(var m=0;m<f.length;m++)"string"==typeof f[m]&&(f[m]=f[m].split(":")),f[m][0].trim()&&l(b[u],f[m][0].trim(),f[m][1])}}for(b=Object.keys(s),u=0;u<b.length;u++)s[b[u]]=s[b[u]].join(";");for(b=Object.keys(i),u=0;u<b.length;u++)i[b[u]]=i[b[u]].join(";");n||obj.setHistory({action:"setStyle",oldValue:s,newValue:i}),1!=obj.ignoreEvents&&"function"==typeof obj.options.onchangestyle&&obj.options.onchangestyle(el,e,t,o)},obj.getComments=function(e,t){if(e)return"string"==typeof e&&(e=jexcel.getIdFromColumnName(e,!0)),t?[obj.records[e[1]][e[0]].getAttribute("title"),obj.records[e[1]][e[0]].getAttribute("author")]:obj.records[e[1]][e[0]].getAttribute("title")||"";for(var o={},r=0;r<obj.options.data.length;r++)for(var n=0;n<obj.options.columns.length;n++){var i=obj.records[r][n].getAttribute("title");i&&(o[e=jexcel.getColumnNameFromId([n,r])]=i)}return o},obj.setComments=function(e,t,o){if("string"==typeof e)var r=jexcel.getIdFromColumnName(e,!0);else r=e;var n=[obj.records[r[1]][r[0]].getAttribute("title"),o=obj.records[r[1]][r[0]].getAttribute("data-author")];obj.records[r[1]][r[0]].setAttribute("title",t||""),obj.records[r[1]][r[0]].setAttribute("data-author",o||""),t?obj.records[r[1]][r[0]].classList.add("jexcel_comments"):obj.records[r[1]][r[0]].classList.remove("jexcel_comments"),obj.setHistory({action:"setComments",column:e,newValue:[t,o],oldValue:n})},obj.getConfig=function(){var e=obj.options;return e.style=obj.getStyle(),e.mergeCells=obj.getMerge(),e.comments=obj.getComments(),e},obj.orderBy=function(e,t){if(e>=0){if(Object.keys(obj.options.mergeCells).length>0){if(!confirm(obj.options.text.thisActionWillDestroyAnyExistingMergedCellsAreYouSure))return!1;obj.destroyMerged()}t=null==t?obj.headers[e].classList.contains("arrow-down")?1:0:t?1:0,Array.prototype.orderBy=function(e,t){return this.slice(0).sort((function(o,r){var n=""==o[e]?"":Number(o[e])==o[e]?Number(o[e]):o[e].toLowerCase(),i=""==r[e]?"":Number(r[e])==r[e]?Number(r[e]):r[e].toLowerCase();return t?""==n&&""!=i?1:""!=n&&""==i||n>i?-1:n<i?1:0:""==n&&""!=i?1:""!=n&&""==i?-1:n>i?1:n<i?-1:0}))};var o=[];if("calendar"==obj.options.columns[e].type||"checkbox"==obj.options.columns[e].type||"radio"==obj.options.columns[e].type)for(var r=0;r<obj.options.data.length;r++)o[r]=[r,obj.options.data[r][e]];else for(r=0;r<obj.options.data.length;r++)o[r]=[r,obj.records[r][e].innerHTML];o=o.orderBy(1,t);var n=[];for(r=0;r<o.length;r++)n[r]=o[r][0];return obj.setHistory({action:"orderBy",rows:n,column:e,order:t}),obj.updateOrderArrow(e,t),obj.updateOrder(n),1!=obj.ignoreEvents&&"function"==typeof obj.options.onsort&&obj.options.onsort(el,e,t),!0}},obj.updateOrderArrow=function(e,t){for(var o=0;o<obj.headers.length;o++)obj.headers[o].classList.remove("arrow-up"),obj.headers[o].classList.remove("arrow-down");t?obj.headers[e].classList.add("arrow-up"):obj.headers[e].classList.add("arrow-down")},obj.updateOrder=function(e){for(var t=[],o=0;o<e.length;o++)t[o]=obj.options.data[e[o]];for(obj.options.data=t,t=[],o=0;o<e.length;o++)t[o]=obj.records[e[o]];for(obj.records=t,t=[],o=0;o<e.length;o++)t[o]=obj.rows[e[o]];if(obj.rows=t,obj.updateTableReferences(),obj.searchInput.value)obj.search(obj.searchInput.value);else if(obj.results=null,obj.pageNumber=0,obj.options.pagination>0)obj.page(0);else if(1==obj.options.lazyLoading)obj.loadPage(0);else for(o=0;o<obj.rows.length;o++)obj.tbody.appendChild(obj.rows[o])},obj.moveRow=function(e,t,o){if(Object.keys(obj.options.mergeCells).length>0){if(e>t)var r=1;else r=0;if(obj.isRowMerged(e).length||obj.isRowMerged(t,r).length){if(!confirm(obj.options.text.thisActionWillDestroyAnyExistingMergedCellsAreYouSure))return!1;obj.destroyMerged()}}if(1==obj.options.search){if(obj.results&&obj.results.length!=obj.rows.length){if(!confirm(obj.options.text.thisActionWillClearYourSearchResultsAreYouSure))return!1;obj.resetSearch()}obj.results=null}o||(Array.prototype.indexOf.call(obj.tbody.children,obj.rows[t])>=0?e>t?obj.tbody.insertBefore(obj.rows[e],obj.rows[t]):obj.tbody.insertBefore(obj.rows[e],obj.rows[t].nextSibling):obj.tbody.removeChild(obj.rows[e])),obj.rows.splice(t,0,obj.rows.splice(e,1)[0]),obj.records.splice(t,0,obj.records.splice(e,1)[0]),obj.options.data.splice(t,0,obj.options.data.splice(e,1)[0]),obj.options.pagination>0&&obj.tbody.children.length!=obj.options.pagination&&obj.page(obj.pageNumber),obj.setHistory({action:"moveRow",oldValue:e,newValue:t}),obj.updateTableReferences(),1!=obj.ignoreEvents&&"function"==typeof obj.options.onmoverow&&obj.options.onmoverow(el,e,t)},obj.insertRow=function(e,t,o){if(1==obj.options.allowInsertRow){var r=[];if(e>0)var n=e;else n=1,e&&(r=e);o=!!o;var i=obj.options.data.length-1;if((null==t||t>=parseInt(i)||t<0)&&(t=i),"function"==typeof obj.options.onbeforeinsertrow&&!obj.options.onbeforeinsertrow(el,t,n,o))return console.log("onbeforeinsertrow returned false"),!1;if(Object.keys(obj.options.mergeCells).length>0&&obj.isRowMerged(t,o).length){if(!confirm(obj.options.text.thisActionWillDestroyAnyExistingMergedCellsAreYouSure))return!1;obj.destroyMerged()}if(1==obj.options.search){if(obj.results&&obj.results.length!=obj.rows.length){if(!confirm(obj.options.text.thisActionWillClearYourSearchResultsAreYouSure))return!1;obj.resetSearch()}obj.results=null}for(var s=o?t:t+1,l=obj.records.splice(s),a=obj.options.data.splice(s),u=obj.rows.splice(s),c=[],d=[],p=[],b=s;b<n+s;b++){obj.options.data[b]=[];for(var f=0;f<obj.options.columns.length;f++)obj.options.data[b][f]=r[f]?r[f]:"";var m=obj.createRow(b,obj.options.data[b]);u[0]?Array.prototype.indexOf.call(obj.tbody.children,u[0])>=0&&obj.tbody.insertBefore(m,u[0]):Array.prototype.indexOf.call(obj.tbody.children,obj.rows[t])>=0&&obj.tbody.appendChild(m),c.push(obj.records[b]),d.push(obj.options.data[b]),p.push(m)}Array.prototype.push.apply(obj.records,l),Array.prototype.push.apply(obj.options.data,a),Array.prototype.push.apply(obj.rows,u),obj.options.pagination>0&&obj.page(obj.pageNumber),obj.setHistory({action:"insertRow",rowNumber:t,numOfRows:n,insertBefore:o,rowRecords:c,rowData:d,rowNode:p}),obj.updateTableReferences(),1!=obj.ignoreEvents&&"function"==typeof obj.options.oninsertrow&&obj.options.oninsertrow(el,t,n,c,o)}},obj.deleteRow=function(e,t){if(1==obj.options.allowDeleteRow)if(1==obj.options.allowDeletingAllRows||obj.options.data.length>1){if(null==e){var o=obj.getSelectedRows();o[0]?(e=parseInt(o[0].getAttribute("data-y")),t=o.length):(e=obj.options.data.length-1,t=1)}var r=obj.options.data.length-1;if((null==e||e>r||e<0)&&(e=r),t||(t=1),e+t>=obj.options.data.length&&(t=obj.options.data.length-e),"function"==typeof obj.options.onbeforedeleterow&&!obj.options.onbeforedeleterow(el,e,t))return console.log("onbeforedeleterow returned false"),!1;if(parseInt(e)>-1){var n=!1;if(Object.keys(obj.options.mergeCells).length>0)for(var i=e;i<e+t;i++)obj.isRowMerged(i,!1).length&&(n=!0);if(n){if(!confirm(obj.options.text.thisActionWillDestroyAnyExistingMergedCellsAreYouSure))return!1;obj.destroyMerged()}if(1==obj.options.search){if(obj.results&&obj.results.length!=obj.rows.length){if(!confirm(obj.options.text.thisActionWillClearYourSearchResultsAreYouSure))return!1;obj.resetSearch()}obj.results=null}for(i=e;i<e+t;i++)Array.prototype.indexOf.call(obj.tbody.children,obj.rows[i])>=0&&(obj.rows[i].className="",obj.rows[i].parentNode.removeChild(obj.rows[i]));var s=obj.records.splice(e,t),l=obj.options.data.splice(e,t),a=obj.rows.splice(e,t);obj.options.pagination>0&&obj.tbody.children.length!=obj.options.pagination&&obj.page(obj.pageNumber),obj.conditionalSelectionUpdate(1,e,e+t-1),obj.setHistory({action:"deleteRow",rowNumber:e,numOfRows:t,insertBefore:1,rowRecords:s,rowData:l,rowNode:a}),obj.updateTableReferences(),1!=obj.ignoreEvents&&"function"==typeof obj.options.ondeleterow&&obj.options.ondeleterow(el,e,t,s)}}else console.error("JEXCEL. It is not possible to delete the last row")},obj.moveColumn=function(e,t){if(Object.keys(obj.options.mergeCells).length>0){if(e>t)var o=1;else o=0;if(obj.isColMerged(e).length||obj.isColMerged(t,o).length){if(!confirm(obj.options.text.thisActionWillDestroyAnyExistingMergedCellsAreYouSure))return!1;obj.destroyMerged()}}if((e=parseInt(e))>(t=parseInt(t))){obj.headerContainer.insertBefore(obj.headers[e],obj.headers[t]),obj.colgroupContainer.insertBefore(obj.colgroup[e],obj.colgroup[t]);for(var r=0;r<obj.rows.length;r++)obj.rows[r].insertBefore(obj.records[r][e],obj.records[r][t])}else for(obj.headerContainer.insertBefore(obj.headers[e],obj.headers[t].nextSibling),obj.colgroupContainer.insertBefore(obj.colgroup[e],obj.colgroup[t].nextSibling),r=0;r<obj.rows.length;r++)obj.rows[r].insertBefore(obj.records[r][e],obj.records[r][t].nextSibling);for(obj.options.columns.splice(t,0,obj.options.columns.splice(e,1)[0]),obj.headers.splice(t,0,obj.headers.splice(e,1)[0]),obj.colgroup.splice(t,0,obj.colgroup.splice(e,1)[0]),r=0;r<obj.rows.length;r++)obj.options.data[r].splice(t,0,obj.options.data[r].splice(e,1)[0]),obj.records[r].splice(t,0,obj.records[r].splice(e,1)[0]);obj.setHistory({action:"moveColumn",oldValue:e,newValue:t}),obj.updateTableReferences(),1!=obj.ignoreEvents&&"function"==typeof obj.options.onmovecolumn&&obj.options.onmovecolumn(el,e,t)},obj.insertColumn=function(e,t,o,r){if(1==obj.options.allowInsertColumn){var n=[];if(e>0)var i=e;else i=1,e&&(n=e);o=!!o;var s=obj.options.columns.length-1;if((null==t||t>=parseInt(s)||t<0)&&(t=s),"function"==typeof obj.options.onbeforeinsertcolumn&&!obj.options.onbeforeinsertcolumn(el,t,i,o))return console.log("onbeforeinsertcolumn returned false"),!1;if(Object.keys(obj.options.mergeCells).length>0&&obj.isColMerged(t,o).length){if(!confirm(obj.options.text.thisActionWillDestroyAnyExistingMergedCellsAreYouSure))return!1;obj.destroyMerged()}r||(r=[]);for(var l=0;l<i;l++)r[l]||(r[l]={type:"text",source:[],options:[],width:obj.options.defaultColWidth,align:obj.options.defaultColAlign});var a=o?t:t+1;obj.options.columns=jexcel.injectArray(obj.options.columns,a,r);for(var u=obj.headers.splice(a),c=obj.colgroup.splice(a),d=[],p=[],b=[],f=[],m=a;m<i+a;m++)obj.createCellHeader(m),obj.headerContainer.insertBefore(obj.headers[m],obj.headerContainer.children[m+1]),obj.colgroupContainer.insertBefore(obj.colgroup[m],obj.colgroupContainer.children[m+1]),d.push(obj.headers[m]),p.push(obj.colgroup[m]);for(var j=0;j<obj.options.data.length;j++){var h=obj.options.data[j].splice(a),g=obj.records[j].splice(a);for(f[j]=[],b[j]=[],m=a;m<i+a;m++){var v=n[j]?n[j]:"";obj.options.data[j][m]=v;var y=obj.createCell(m,j,obj.options.data[j][m]);obj.records[j][m]=y,obj.rows[j]&&obj.rows[j].insertBefore(y,obj.rows[j].children[m+1]),f[j].push(v),b[j].push(y)}Array.prototype.push.apply(obj.options.data[j],h),Array.prototype.push.apply(obj.records[j],g)}if(Array.prototype.push.apply(obj.headers,u),Array.prototype.push.apply(obj.colgroup,c),obj.options.nestedHeaders&&obj.options.nestedHeaders.length>0)if(obj.options.nestedHeaders[0]&&obj.options.nestedHeaders[0][0])for(var C=0;C<obj.options.nestedHeaders.length;C++){var x=parseInt(obj.options.nestedHeaders[C][obj.options.nestedHeaders[C].length-1].colspan)+i;obj.options.nestedHeaders[C][obj.options.nestedHeaders[C].length-1].colspan=x,obj.thead.children[C].children[obj.thead.children[C].children.length-1].setAttribute("colspan",x)}else x=parseInt(obj.options.nestedHeaders[0].colspan)+i,obj.options.nestedHeaders[0].colspan=x,obj.thead.children[0].children[obj.thead.children[0].children.length-1].setAttribute("colspan",x);obj.setHistory({action:"insertColumn",columnNumber:t,numOfColumns:i,insertBefore:o,columns:r,headers:d,colgroup:p,records:b,data:f}),obj.updateTableReferences(),1!=obj.ignoreEvents&&"function"==typeof obj.options.oninsertcolumn&&obj.options.oninsertcolumn(el,t,i,b,o)}},obj.deleteColumn=function(e,t){if(1==obj.options.allowDeleteColumn)if(obj.headers.length>1){if(null==e){var o=obj.getSelectedColumns(!0);o.length?(e=parseInt(o[0]),t=parseInt(o.length)):(e=obj.headers.length-1,t=1)}var r=obj.options.data[0].length-1;if((null==e||e>r||e<0)&&(e=r),t||(t=1),t>obj.options.data[0].length-e&&(t=obj.options.data[0].length-e),"function"==typeof obj.options.onbeforedeletecolumn&&!obj.options.onbeforedeletecolumn(el,e,t))return console.log("onbeforedeletecolumn returned false"),!1;if(parseInt(e)>-1){var n=!1;if(Object.keys(obj.options.mergeCells).length>0)for(var i=e;i<e+t;i++)obj.isColMerged(i,!1).length&&(n=!0);if(n){if(!confirm(obj.options.text.thisActionWillDestroyAnyExistingMergedCellsAreYouSure))return!1;obj.destroyMerged()}var s=obj.options.columns.splice(e,t);for(i=e;i<e+t;i++)obj.colgroup[i].className="",obj.headers[i].className="",obj.colgroup[i].parentNode.removeChild(obj.colgroup[i]),obj.headers[i].parentNode.removeChild(obj.headers[i]);for(var l=obj.headers.splice(e,t),a=obj.colgroup.splice(e,t),u=[],c=[],d=0;d<obj.options.data.length;d++)for(i=e;i<e+t;i++)obj.records[d][i].className="",obj.records[d][i].parentNode.removeChild(obj.records[d][i]);for(d=0;d<obj.options.data.length;d++)c[d]=obj.options.data[d].splice(e,t),u[d]=obj.records[d].splice(e,t);if(obj.conditionalSelectionUpdate(0,e,e+t-1),obj.options.nestedHeaders&&obj.options.nestedHeaders.length>0)if(obj.options.nestedHeaders[0]&&obj.options.nestedHeaders[0][0])for(var p=0;p<obj.options.nestedHeaders.length;p++){var b=parseInt(obj.options.nestedHeaders[p][obj.options.nestedHeaders[p].length-1].colspan)-t;obj.options.nestedHeaders[p][obj.options.nestedHeaders[p].length-1].colspan=b,obj.thead.children[p].children[obj.thead.children[p].children.length-1].setAttribute("colspan",b)}else b=parseInt(obj.options.nestedHeaders[0].colspan)-t,obj.options.nestedHeaders[0].colspan=b,obj.thead.children[0].children[obj.thead.children[0].children.length-1].setAttribute("colspan",b);obj.setHistory({action:"deleteColumn",columnNumber:e,numOfColumns:t,insertBefore:1,columns:s,headers:l,colgroup:a,records:u,data:c}),obj.updateTableReferences(),1!=obj.ignoreEvents&&"function"==typeof obj.options.ondeletecolumn&&obj.options.ondeletecolumn(el,e,t,u)}}else console.error("JEXCEL. It is not possible to delete the last column")},obj.getSelectedRows=function(e){for(var t=[],o=0;o<obj.rows.length;o++)obj.rows[o].classList.contains("selected")&&(e?t.push(o):t.push(obj.rows[o]));return t},obj.getSelectedColumns=function(){for(var e=[],t=0;t<obj.headers.length;t++)obj.headers[t].classList.contains("selected")&&e.push(t);return e},obj.getHighlighted=function(){return obj.highlighted},obj.updateTableReferences=function(){for(var e=0;e<obj.headers.length;e++)(i=obj.headers[e].getAttribute("data-x"))!=e&&(obj.headers[e].setAttribute("data-x",e),obj.headers[e].getAttribute("title")||(obj.headers[e].innerHTML=jexcel.getColumnName(e)));for(var t=0;t<obj.rows.length;t++)obj.rows[t]&&(s=obj.rows[t].getAttribute("data-y"))!=t&&(obj.rows[t].setAttribute("data-y",t),obj.rows[t].children[0].setAttribute("data-y",t),obj.rows[t].children[0].innerHTML=t+1);var o=[],r=[],n=function(e,t,r,n){if(e!=r&&obj.records[n][r].setAttribute("data-x",r),t!=n&&obj.records[n][r].setAttribute("data-y",n),e!=r||t!=n){var i=jexcel.getColumnNameFromId([e,t]),s=jexcel.getColumnNameFromId([r,n]);o[i]=s}};for(t=0;t<obj.records.length;t++)for(e=0;e<obj.records[0].length;e++)if(obj.records[t][e]){var i=obj.records[t][e].getAttribute("data-x"),s=obj.records[t][e].getAttribute("data-y");if(obj.records[t][e].getAttribute("data-merged")){var l=jexcel.getColumnNameFromId([i,s]),a=jexcel.getColumnNameFromId([e,t]);if(null==r[l])if(l==a)r[l]=!1;else{var u=parseInt(e-i),c=parseInt(t-s);r[l]=[a,u,c]}}else n(i,s,e,t)}var d=Object.keys(r);if(d.length)for(e=0;e<d.length;e++)if(r[d[e]]){var p=jexcel.getIdFromColumnName(d[e],!0);for(n(i=p[0],s=p[1],i+r[d[e]][1],s+r[d[e]][2]),l=d[e],a=r[d[e]][0],t=0;t<obj.options.mergeCells[l][2].length;t++)i=parseInt(obj.options.mergeCells[l][2][t].getAttribute("data-x")),s=parseInt(obj.options.mergeCells[l][2][t].getAttribute("data-y")),obj.options.mergeCells[l][2][t].setAttribute("data-x",i+r[d[e]][1]),obj.options.mergeCells[l][2][t].setAttribute("data-y",s+r[d[e]][2]);obj.options.mergeCells[a]=obj.options.mergeCells[l],delete obj.options.mergeCells[l]}obj.updateFormulas(o),obj.updateMeta(o),obj.refreshSelection(),obj.updateTable()},obj.updateTable=function(){if(obj.options.minSpareRows>0){for(var e=0,t=obj.rows.length-1;t>=0;t--){for(var o=!1,r=0;r<obj.headers.length;r++)obj.options.data[t][r]&&(o=!0);if(o)break;e++}obj.options.minSpareRows-e>0&&obj.insertRow(obj.options.minSpareRows-e)}if(obj.options.minSpareCols>0){var n=0;for(r=obj.headers.length-1;r>=0;r--){for(o=!1,t=0;t<obj.rows.length;t++)obj.options.data[t][r]&&(o=!0);if(o)break;n++}obj.options.minSpareCols-n>0&&obj.insertColumn(obj.options.minSpareCols-n)}if("function"==typeof obj.options.updateTable){for(obj.options.detachForUpdates&&el.removeChild(obj.content),t=0;t<obj.rows.length;t++)for(r=0;r<obj.headers.length;r++)obj.options.updateTable(el,obj.records[t][r],r,t,obj.options.data[t][r],obj.records[t][r].innerText,jexcel.getColumnNameFromId([r,t]));obj.options.detachForUpdates&&el.insertBefore(obj.content,obj.pagination)}setTimeout((function(){obj.updateCornerPosition()}),0)},obj.showColumn=function(e){obj.headers[e].style.display="",obj.colgroup[e].style.display="";for(var t=0;t<obj.options.data.length;t++)obj.records[t][e].style.display=""},obj.hideColumn=function(e){obj.headers[e].style.display="none",obj.colgroup[e].style.display="none";for(var t=0;t<obj.options.data.length;t++)obj.records[t][e].style.display="none"},obj.showIndex=function(){obj.table.classList.remove("jexcel_hidden_index")},obj.hideIndex=function(){obj.table.classList.add("jexcel_hidden_index")};var chainLoopProtection=[];return obj.updateFormulaChain=function(e,t,o){var r=jexcel.getColumnNameFromId([e,t]);if(obj.formula[r]&&obj.formula[r].length>0)if(chainLoopProtection[r])obj.records[t][e].innerHTML="#ERROR",obj.formula[r]="";else{chainLoopProtection[r]=!0;for(var n=0;n<obj.formula[r].length;n++){var i=jexcel.getIdFromColumnName(obj.formula[r][n],!0),s=""+obj.options.data[i[1]][i[0]];"="==s.substr(0,1)?o.push(obj.updateCell(i[0],i[1],s,!0)):Object.keys(obj.formula)[n]=null,obj.updateFormulaChain(i[0],i[1],o)}}chainLoopProtection=[]},obj.updateFormulas=function(e){for(var t=0;t<obj.options.data.length;t++)for(var o=0;o<obj.options.data[0].length;o++)if("="==(l=""+obj.options.data[t][o]).substr(0,1)){var r=obj.updateFormula(l,e);r!=l&&(obj.options.data[t][o]=r)}var n=[],i=Object.keys(obj.formula);for(t=0;t<i.length;t++){var s=i[t],l=obj.formula[s];for(e[s]&&(s=e[s]),n[s]=[],o=0;o<l.length;o++){var a=l[o];e[a]&&(a=e[a]),n[s].push(a)}}obj.formula=n},obj.updateFormula=function(e,t){for(var o=/[A-Z]/,r=/[0-9]/,n="",i=null,s=null,l="",a=0;a<e.length;a++)o.exec(e[a])?(i=1,s=0,l+=e[a]):r.exec(e[a])?(s=i?1:0,l+=e[a]):(i&&s&&(l=t[l]?t[l]:l),n+=l,n+=e[a],i=0,s=0,l="");return l&&(i&&s&&(l=t[l]?t[l]:l),n+=l),n},obj.executeFormula=function(expression,x,y){var formulaResults=[],formulaLoopProtection=[],execute=function(expression,x,y){var parentId=jexcel.getColumnNameFromId([x,y]);if(formulaLoopProtection[parentId])return console.error("Reference loop detected"),"#ERROR";formulaLoopProtection[parentId]=!0;var tokensUpdate=function(e){for(var t=0;t<e.length;t++){var o=[],r=e[t].split(":"),n=jexcel.getIdFromColumnName(r[0],!0),i=jexcel.getIdFromColumnName(r[1],!0);if(n[0]<=i[0])var s=n[0],l=i[0];else s=i[0],l=n[0];if(n[1]<=i[1])var a=n[1],u=i[1];else a=i[1],u=n[1];for(var c=a;c<=u;c++)for(var d=s;d<=l;d++)o.push(jexcel.getColumnNameFromId([d,c]));expression=expression.replace(e[t],o.join(","))}},tokens=expression.match(/([A-Z]+[0-9]+)\:([A-Z]+[0-9]+)/g);tokens&&tokens.length&&tokensUpdate(tokens);var evalstring="",tokens=expression.match(/([A-Z]+[0-9]+)/g);if(tokens&&tokens.indexOf(parentId)>-1)return console.error("Self Reference detected"),"#ERROR";if(tokens)for(var i=0;i<tokens.length;i++)if(obj.formula[tokens[i]]||(obj.formula[tokens[i]]=[]),obj.formula[tokens[i]].indexOf(parentId)<0&&obj.formula[tokens[i]].push(parentId),eval("typeof("+tokens[i]+') == "undefined"')){var position=jexcel.getIdFromColumnName(tokens[i],1);if(void 0!==obj.options.data[position[1]]&&void 0!==obj.options.data[position[1]][position[0]])var value=obj.options.data[position[1]][position[0]];else var value="";if("="==(""+value).substr(0,1)&&(formulaResults[tokens[i]]?value=formulaResults[tokens[i]]:(value=execute(value,position[0],position[1]),formulaResults[tokens[i]]=value)),""==(""+value).trim())evalstring+="var "+tokens[i]+" = null;";else if(value==Number(value)&&1==obj.options.autoCasting)evalstring+="var "+tokens[i]+" = "+Number(value)+";";else{var number=obj.parseNumber(value,position[0]);1==obj.options.autoCasting&&number?evalstring+="var "+tokens[i]+" = "+number+";":evalstring+="var "+tokens[i]+" = '"+value+"';"}}try{evalstring+="function COLUMN() { return parseInt(x) + 1; }; function ROW() { return parseInt(y) + 1; }; function CELL() { return parentId; };";var res=eval(evalstring+expression.substr(1))}catch(e){var res="#ERROR"}return res};return execute(expression,x,y)},obj.parseNumber=function(e,t){var o=t&&obj.options.columns[t].decimal?obj.options.columns[t].decimal:".",r=""+e;if((r=r.split(o))[0]=r[0].match(/[+-]?[0-9]/g),r[0]&&(r[0]=r[0].join("")),r[1]&&(r[1]=r[1].match(/[0-9]*/g).join("")),r[0]&&Number(r[0])>=0)if(r[1])e=Number(r[0]+"."+r[1]);else e=Number(r[0]+".00");else e=null;return e},obj.row=function(e){},obj.col=function(e){},obj.up=function(e,t){if(e?obj.selectedCell[3]>0&&obj.up.visible(1,t?0:1):(obj.selectedCell[1]>0&&obj.up.visible(0,t?0:1),obj.selectedCell[2]=obj.selectedCell[0],obj.selectedCell[3]=obj.selectedCell[1]),obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]),1==obj.options.lazyLoading)if(0==obj.selectedCell[1]||0==obj.selectedCell[3])obj.loadPage(0),obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]);else if(obj.loadValidation())obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]);else{var o=parseInt(obj.tbody.firstChild.getAttribute("data-y"));obj.selectedCell[1]-o<30&&(obj.loadUp(),obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]))}else if(obj.options.pagination>0){var r=obj.whichPage(obj.selectedCell[3]);r!=obj.pageNumber&&obj.page(r)}obj.updateScroll(1)},obj.up.visible=function(e,t){if(0==e)var o=parseInt(obj.selectedCell[0]),r=parseInt(obj.selectedCell[1]);else o=parseInt(obj.selectedCell[2]),r=parseInt(obj.selectedCell[3]);if(0==t){for(var n=0;n<r;n++)if("none"!=obj.records[n][o].style.display&&"none"!=obj.rows[n].style.display){r=n;break}}else r=obj.up.get(o,r);0==e?(obj.selectedCell[0]=o,obj.selectedCell[1]=r):(obj.selectedCell[2]=o,obj.selectedCell[3]=r)},obj.up.get=function(e,t){e=parseInt(e);for(var o=(t=parseInt(t))-1;o>=0;o--)if("none"!=obj.records[o][e].style.display&&"none"!=obj.rows[o].style.display){if(obj.records[o][e].getAttribute("data-merged")&&obj.records[o][e]==obj.records[t][e])continue;t=o;break}return t},obj.down=function(e,t){if(e?obj.selectedCell[3]<obj.records.length-1&&obj.down.visible(1,t?0:1):(obj.selectedCell[1]<obj.records.length-1&&obj.down.visible(0,t?0:1),obj.selectedCell[2]=obj.selectedCell[0],obj.selectedCell[3]=obj.selectedCell[1]),obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]),1==obj.options.lazyLoading)obj.selectedCell[1]==obj.records.length-1||obj.selectedCell[3]==obj.records.length-1?(obj.loadPage(-1),obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3])):obj.loadValidation()?obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]):parseInt(obj.tbody.lastChild.getAttribute("data-y"))-obj.selectedCell[3]<30&&(obj.loadDown(),obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]));else if(obj.options.pagination>0){var o=obj.whichPage(obj.selectedCell[3]);o!=obj.pageNumber&&obj.page(o)}obj.updateScroll(3)},obj.down.visible=function(e,t){if(0==e)var o=parseInt(obj.selectedCell[0]),r=parseInt(obj.selectedCell[1]);else o=parseInt(obj.selectedCell[2]),r=parseInt(obj.selectedCell[3]);if(0==t){for(var n=obj.rows.length-1;n>r;n--)if("none"!=obj.records[n][o].style.display&&"none"!=obj.rows[n].style.display){r=n;break}}else r=obj.down.get(o,r);0==e?(obj.selectedCell[0]=o,obj.selectedCell[1]=r):(obj.selectedCell[2]=o,obj.selectedCell[3]=r)},obj.down.get=function(e,t){e=parseInt(e);for(var o=(t=parseInt(t))+1;o<obj.rows.length;o++)if("none"!=obj.records[o][e].style.display&&"none"!=obj.rows[o].style.display){if(obj.records[o][e].getAttribute("data-merged")&&obj.records[o][e]==obj.records[t][e])continue;t=o;break}return t},obj.right=function(e,t){e?obj.selectedCell[2]<obj.headers.length-1&&obj.right.visible(1,t?0:1):(obj.selectedCell[0]<obj.headers.length-1&&obj.right.visible(0,t?0:1),obj.selectedCell[2]=obj.selectedCell[0],obj.selectedCell[3]=obj.selectedCell[1]),obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]),obj.updateScroll(2)},obj.right.visible=function(e,t){if(0==e)var o=parseInt(obj.selectedCell[0]),r=parseInt(obj.selectedCell[1]);else o=parseInt(obj.selectedCell[2]),r=parseInt(obj.selectedCell[3]);if(0==t){for(var n=obj.headers.length-1;n>o;n--)if("none"!=obj.records[r][n].style.display){o=n;break}}else o=obj.right.get(o,r);0==e?(obj.selectedCell[0]=o,obj.selectedCell[1]=r):(obj.selectedCell[2]=o,obj.selectedCell[3]=r)},obj.right.get=function(e,t){e=parseInt(e),t=parseInt(t);for(var o=e+1;o<obj.headers.length;o++)if("none"!=obj.records[t][o].style.display){if(obj.records[t][o].getAttribute("data-merged")&&obj.records[t][o]==obj.records[t][e])continue;e=o;break}return e},obj.left=function(e,t){e?obj.selectedCell[2]>0&&obj.left.visible(1,t?0:1):(obj.selectedCell[0]>0&&obj.left.visible(0,t?0:1),obj.selectedCell[2]=obj.selectedCell[0],obj.selectedCell[3]=obj.selectedCell[1]),obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]),obj.updateScroll(0)},obj.left.visible=function(e,t){if(0==e)var o=parseInt(obj.selectedCell[0]),r=parseInt(obj.selectedCell[1]);else o=parseInt(obj.selectedCell[2]),r=parseInt(obj.selectedCell[3]);if(0==t){for(var n=0;n<o;n++)if("none"!=obj.records[r][n].style.display){o=n;break}}else o=obj.left.get(o,r);0==e?(obj.selectedCell[0]=o,obj.selectedCell[1]=r):(obj.selectedCell[2]=o,obj.selectedCell[3]=r)},obj.left.get=function(e,t){e=parseInt(e),t=parseInt(t);for(var o=e-1;o>=0;o--)if("none"!=obj.records[t][o].style.display){if(obj.records[t][o].getAttribute("data-merged")&&obj.records[t][o]==obj.records[t][e])continue;e=o;break}return e},obj.first=function(e,t){if(e?t?obj.selectedCell[3]=0:obj.left.visible(1,0):(t?obj.selectedCell[1]=0:obj.left.visible(0,0),obj.selectedCell[2]=obj.selectedCell[0],obj.selectedCell[3]=obj.selectedCell[1]),1!=obj.options.lazyLoading||0!=obj.selectedCell[1]&&0!=obj.selectedCell[3]){if(obj.options.pagination>0){var o=obj.whichPage(obj.selectedCell[3]);o!=obj.pageNumber&&obj.page(o)}}else obj.loadPage(0);obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]),obj.updateScroll(1)},obj.last=function(e,t){if(e?t?obj.selectedCell[3]=obj.records.length-1:obj.right.visible(1,0):(t?obj.selectedCell[1]=obj.records.length-1:obj.right.visible(0,0),obj.selectedCell[2]=obj.selectedCell[0],obj.selectedCell[3]=obj.selectedCell[1]),1!=obj.options.lazyLoading||obj.selectedCell[1]!=obj.records.length-1&&obj.selectedCell[3]!=obj.records.length-1){if(obj.options.pagination>0){var o=obj.whichPage(obj.selectedCell[3]);o!=obj.pageNumber&&obj.page(o)}}else obj.loadPage(-1);obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3]),obj.updateScroll(3)},obj.selectAll=function(){obj.selectedCell||(obj.selectedCell=[]),obj.selectedCell[0]=0,obj.selectedCell[1]=0,obj.selectedCell[2]=obj.headers.length-1,obj.selectedCell[3]=obj.records.length-1,obj.updateSelectionFromCoords(obj.selectedCell[0],obj.selectedCell[1],obj.selectedCell[2],obj.selectedCell[3])},obj.loadPage=function(e){if(1==obj.options.search&&obj.results)var t=obj.results;else t=obj.rows;var o=100;null!=e&&-1!=e||(e=Math.ceil(t.length/o));var r=e*o,n=e*o+o;n>t.length&&(n=t.length),(r=n-100)<0&&(r=0);for(var i=r;i<n;i++)1==obj.options.search&&obj.results?obj.tbody.appendChild(obj.rows[t[i]]):obj.tbody.appendChild(obj.rows[i]),obj.tbody.children.length>o&&obj.tbody.removeChild(obj.tbody.firstChild)},obj.loadUp=function(){if(1==obj.options.search&&obj.results)var e=obj.results;else e=obj.rows;var t=0;if(e.length>100){var o=parseInt(obj.tbody.firstChild.getAttribute("data-y"));if(1==obj.options.search&&obj.results&&(o=e.indexOf(o)),o>0)for(var r=0;r<30;r++)(o-=1)>-1&&(1==obj.options.search&&obj.results?obj.tbody.insertBefore(obj.rows[e[o]],obj.tbody.firstChild):obj.tbody.insertBefore(obj.rows[o],obj.tbody.firstChild),obj.tbody.children.length>100&&(obj.tbody.removeChild(obj.tbody.lastChild),t=1))}return t},obj.loadDown=function(){if(1==obj.options.search&&obj.results)var e=obj.results;else e=obj.rows;var t=0;if(e.length>100){var o=parseInt(obj.tbody.lastChild.getAttribute("data-y"));if(1==obj.options.search&&obj.results&&(o=e.indexOf(o)),o<obj.rows.length-1)for(var r=0;r<=30;r++)o<e.length&&(1==obj.options.search&&obj.results?obj.tbody.appendChild(obj.rows[e[o]]):obj.tbody.appendChild(obj.rows[o]),obj.tbody.children.length>100&&(obj.tbody.removeChild(obj.tbody.firstChild),t=1)),o+=1}return t},obj.loadValidation=function(){if(obj.selectedCell){var e=parseInt(obj.tbody.firstChild.getAttribute("data-y"))/100,t=parseInt(obj.selectedCell[3]/100),o=parseInt(obj.rows.length/100);if(e!=t&&t<=o&&!Array.prototype.indexOf.call(obj.tbody.children,obj.rows[obj.selectedCell[3]]))return obj.loadPage(t),!0}return!1},obj.resetSearch=function(){obj.searchInput.value="",obj.search(""),obj.results=null},obj.search=function(e){if(e&&(e=e.toLowerCase()),obj.resetSelection(),obj.pageNumber=0,obj.results=[],e){var t=function(e){-1==obj.results.indexOf(e)&&obj.results.push(e)};obj.options.data.filter((function(o,r){if(function(e,t,o){for(var r=0;r<e.length;r++)if((""+e[r]).toLowerCase().search(t)>=0||(""+obj.records[o][r].innerHTML).toLowerCase().search(t)>=0)return!0;return!1}(o,e,r)){var n=obj.isRowMerged(r);if(n.length)for(var i=0;i<n.length;i++)for(var s=jexcel.getIdFromColumnName(n[i],!0),l=0;l<obj.options.mergeCells[n[i]][1];l++)t(s[1]+l);else t(r);return!0}return!1}))}else obj.results=null;var o,r=0;for(o=1==obj.options.lazyLoading?100:obj.options.pagination>0?obj.options.pagination:obj.results?obj.results.length:obj.rows.length;obj.tbody.firstChild;)obj.tbody.removeChild(obj.tbody.firstChild);for(var n=0;n<obj.rows.length;n++)!obj.results||obj.results.indexOf(n)>-1?(r<o&&(obj.tbody.appendChild(obj.rows[n]),r++),obj.rows[n].style.display=""):obj.rows[n].style.display="none";return obj.options.pagination>0&&obj.updatePagination(),o},obj.whichPage=function(e){return 1==obj.options.search&&obj.results&&(e=obj.results.indexOf(e)),Math.ceil((parseInt(e)+1)/parseInt(obj.options.pagination))-1},obj.page=function(e){var t=obj.pageNumber;if(1==obj.options.search&&obj.results)var o=obj.results;else o=obj.rows;var r=parseInt(obj.options.pagination);null!=e&&-1!=e||(e=Math.ceil(o.length/r)),obj.pageNumber=e;var n=e*r,i=e*r+r;for(i>o.length&&(i=o.length),n<0&&(n=0);obj.tbody.firstChild;)obj.tbody.removeChild(obj.tbody.firstChild);for(var s=n;s<i;s++)1==obj.options.search&&obj.results?obj.tbody.appendChild(obj.rows[o[s]]):obj.tbody.appendChild(obj.rows[s]);obj.options.pagination>0&&obj.updatePagination(),obj.updateCornerPosition(),"function"==typeof obj.options.onchangepage&&obj.options.onchangepage(el,e,t)},obj.updatePagination=function(){if(obj.pagination.children[0].innerHTML="",obj.pagination.children[1].innerHTML="",obj.options.pagination){if(1==obj.options.search&&obj.results)var e=obj.results.length;else e=obj.rows.length;if(e){var t=Math.ceil(e/obj.options.pagination);if(obj.pageNumber<6)var o=1,r=t<10?t:10;else t-obj.pageNumber<5?(r=t,(o=t-9)<1&&(o=1)):(o=obj.pageNumber-4,r=obj.pageNumber+5);o>1&&((i=document.createElement("div")).className="jexcel_page",i.innerHTML="<",i.title=1,obj.pagination.children[1].appendChild(i));for(var n=o;n<=r;n++){var i;(i=document.createElement("div")).className="jexcel_page",i.innerHTML=n,obj.pagination.children[1].appendChild(i),obj.pageNumber==n-1&&i.classList.add("jexcel_page_selected")}r<t&&((i=document.createElement("div")).className="jexcel_page",i.innerHTML=">",i.title=t,obj.pagination.children[1].appendChild(i)),obj.pagination.children[0].innerHTML=function(e){var t=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,(function(e,o){return void 0!==t[o]?t[o]:e}))}(obj.options.text.showingPage,obj.pageNumber+1,t)}else obj.pagination.children[0].innerHTML=obj.options.text.noRecordsFound}},obj.download=function(e){if(0==obj.options.allowExport)console.error("Export not allowed");else{var t="";1!=e&&1!=obj.options.includeHeadersOnDownload||(t+=obj.getHeaders(),t+="\r\n"),t+=obj.copy(!1,obj.options.csvDelimiter,!0);var o=new Blob(["\ufeff"+t],{type:"text/csv;charset=utf-8;"});if(window.navigator&&window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(o,options.csvFileName+".csv");else{var r=document.createElement("a"),n=URL.createObjectURL(o);r.href=n,r.setAttribute("download",obj.options.csvFileName+".csv"),document.body.appendChild(r),r.click(),r.parentNode.removeChild(r)}}},obj.setHistory=function(e){if(1!=obj.ignoreHistory){var t=++obj.historyIndex;obj.history=obj.history=obj.history.slice(0,t+1),obj.history[t]=e}},obj.copy=function(e,t,o){t||(t="\t");var r=[],n=[],i=[],s=[],l=obj.options.data[0].length,a=obj.options.data.length,u="";obj.style=[];for(var c=0;c<a;c++){r=[],n=[];for(var d=0;d<l;d++)if(!e||obj.records[c][d].classList.contains("highlight")){var p=obj.options.data[c][d];if(p.match&&(p.match(/,/g)||p.match(/\n/)||p.match(/\"/))&&(p='"'+(p=p.replace(new RegExp('"',"g"),'""'))+'"'),r.push(p),"checkbox"==obj.options.columns[d].type||"radio"==obj.options.columns[d].type)var b=p;else(b=obj.records[c][d].innerHTML).match&&(b.match(/,/g)||b.match(/\n/)||b.match(/\"/))&&(b='"'+(b=b.replace(new RegExp('"',"g"),'""'))+'"');n.push(b),u=obj.records[c][d].getAttribute("style"),obj.style.push(u||"")}r.length&&i.push(r.join(t)),n.length&&s.push(n.join(t))}var f=i.join("\r\n"),m=s.join("\r\n");return o||(1==obj.options.copyCompatibility?obj.textarea.value=m:obj.textarea.value=f,obj.textarea.select(),document.execCommand("copy")),1==obj.options.copyCompatibility?obj.data=m:obj.data=f,obj.hashString=obj.hash(obj.data),obj.data},obj.paste=function(e,t,o){"function"==typeof obj.options.onbeforepaste&&(o=obj.options.onbeforepaste(el,o));var r=obj.hash(o),n=r==obj.hashString?obj.style:null;if(1==obj.options.copyCompatibility&&r==obj.hashString&&(o=obj.data),o=obj.parseCSV(o,"\t"),null!=e&&null!=t&&o){for(var i=0,s=0,l=[],a={},u={},c=0,d=parseInt(e),p=parseInt(t),b=null;b=o[s];){for(i=0,d=parseInt(e);null!=b[i];){var f=obj.updateCell(d,p,b[i]);if(l.push(f),obj.updateFormulaChain(d,p,l),n&&n[c]){var m=jexcel.getColumnNameFromId([d,p]);a[m]=n[c],u[m]=obj.getStyle(m),obj.records[p][d].setAttribute("style",n[c]),c++}null!=b[++i]&&(d>=obj.headers.length-1&&obj.insertColumn(),d=obj.right.get(d,p))}o[++s]&&(p>=obj.rows.length-1&&obj.insertRow(),p=obj.down.get(e,p))}obj.updateSelectionFromCoords(e,t,d,p),obj.setHistory({action:"setValue",records:l,selection:obj.selectedCell,newStyle:a,oldStyle:u}),obj.updateTable(),"function"==typeof obj.options.onpaste&&obj.options.onpaste(el,l),obj.onafterchanges(el,l)}},obj.historyProcessRow=function(e,t){var o=t.insertBefore?t.rowNumber:t.rowNumber+1;if(1==obj.options.search&&obj.results&&obj.results.length!=obj.rows.length&&obj.resetSearch(),1==e){for(var r=t.numOfRows,n=o;n<r+o;n++)obj.rows[n].parentNode.removeChild(obj.rows[n]);obj.records.splice(o,r),obj.options.data.splice(o,r),obj.rows.splice(o,r),obj.conditionalSelectionUpdate(1,o,r+o-1)}else{obj.records=jexcel.injectArray(obj.records,o,t.rowRecords),obj.options.data=jexcel.injectArray(obj.options.data,o,t.rowData),obj.rows=jexcel.injectArray(obj.rows,o,t.rowNode);var i=0;for(n=o;n<t.numOfRows+o;n++)obj.tbody.insertBefore(t.rowNode[i],obj.tbody.children[n]),i++}obj.options.pagination>0&&obj.page(obj.pageNumber),obj.updateTableReferences()},obj.historyProcessColumn=function(e,t){var o=t.insertBefore?t.columnNumber:t.columnNumber+1;if(1==e){var r=t.numOfColumns;obj.options.columns.splice(o,r);for(var n=o;n<r+o;n++)obj.headers[n].parentNode.removeChild(obj.headers[n]),obj.colgroup[n].parentNode.removeChild(obj.colgroup[n]);obj.headers.splice(o,r),obj.colgroup.splice(o,r);for(var i=0;i<t.data.length;i++){for(n=o;n<r+o;n++)obj.records[i][n].parentNode.removeChild(obj.records[i][n]);obj.records[i].splice(o,r),obj.options.data[i].splice(o,r)}obj.conditionalSelectionUpdate(0,o,r+o-1)}else{obj.options.columns=jexcel.injectArray(obj.options.columns,o,t.columns),obj.headers=jexcel.injectArray(obj.headers,o,t.headers),obj.colgroup=jexcel.injectArray(obj.colgroup,o,t.colgroup);var s=0;for(n=o;n<t.numOfColumns+o;n++)obj.headerContainer.insertBefore(t.headers[s],obj.headerContainer.children[n+1]),obj.colgroupContainer.insertBefore(t.colgroup[s],obj.colgroupContainer.children[n+1]),s++;for(i=0;i<t.data.length;i++)for(obj.options.data[i]=jexcel.injectArray(obj.options.data[i],o,t.data[i]),obj.records[i]=jexcel.injectArray(obj.records[i],o,t.records[i]),s=0,n=o;n<t.numOfColumns+o;n++)obj.rows[i].insertBefore(t.records[i][s],obj.rows[i].children[n+1]),s++}if(obj.options.nestedHeaders&&obj.options.nestedHeaders.length>0)if(obj.options.nestedHeaders[0]&&obj.options.nestedHeaders[0][0])for(i=0;i<obj.options.nestedHeaders.length;i++){if(1==e)var l=parseInt(obj.options.nestedHeaders[i][obj.options.nestedHeaders[i].length-1].colspan)-t.numOfColumns;else l=parseInt(obj.options.nestedHeaders[i][obj.options.nestedHeaders[i].length-1].colspan)+t.numOfColumns;obj.options.nestedHeaders[i][obj.options.nestedHeaders[i].length-1].colspan=l,obj.thead.children[i].children[obj.thead.children[i].children.length-1].setAttribute("colspan",l)}else l=1==e?parseInt(obj.options.nestedHeaders[0].colspan)-t.numOfColumns:parseInt(obj.options.nestedHeaders[0].colspan)+t.numOfColumns,obj.options.nestedHeaders[0].colspan=l,obj.thead.children[0].children[obj.thead.children[0].children.length-1].setAttribute("colspan",l);obj.updateTableReferences()},obj.undo=function(){var e=!!obj.ignoreEvents,t=!!obj.ignoreHistory;obj.ignoreEvents=!0,obj.ignoreHistory=!0;var o=[];if(obj.historyIndex>=0){var r=obj.history[obj.historyIndex--];if("insertRow"==r.action)obj.historyProcessRow(1,r);else if("deleteRow"==r.action)obj.historyProcessRow(0,r);else if("insertColumn"==r.action)obj.historyProcessColumn(1,r);else if("deleteColumn"==r.action)obj.historyProcessColumn(0,r);else if("moveRow"==r.action)obj.moveRow(r.newValue,r.oldValue);else if("moveColumn"==r.action)obj.moveColumn(r.newValue,r.oldValue);else if("setMerge"==r.action)obj.removeMerge(r.column,r.data);else if("setStyle"==r.action)obj.setStyle(r.oldValue,null,null,1);else if("setWidth"==r.action)obj.setWidth(r.column,r.oldValue);else if("setHeight"==r.action)obj.setHeight(r.row,r.oldValue);else if("setHeader"==r.action)obj.setHeader(r.column,r.oldValue);else if("setComments"==r.action)obj.setComments(r.column,r.oldValue[0],r.oldValue[1]);else if("orderBy"==r.action){for(var n=[],i=0;i<r.rows.length;i++)n[r.rows[i]]=i;obj.updateOrderArrow(r.column,r.order?0:1),obj.updateOrder(n)}else if("setValue"==r.action){for(var s=0;s<r.records.length;s++)obj.updateCell(r.records[s].col,r.records[s].row,r.records[s].oldValue),obj.updateFormulaChain(r.records[s].col,r.records[s].row,o),r.oldStyle&&obj.resetStyle(r.oldStyle,!0);r.selection||(r.selection=[r.records[0].col,r.records[0].row]),obj.updateSelectionFromCoords(r.selection[0],r.selection[1],r.selection[2],r.selection[3]),obj.updateTable()}}obj.ignoreEvents=e,obj.ignoreHistory=t,"function"==typeof obj.options.onundo&&obj.options.onundo(el,r)},obj.redo=function(){var e=!!obj.ignoreEvents,t=!!obj.ignoreHistory;obj.ignoreEvents=!0,obj.ignoreHistory=!0;var o=[];if(obj.historyIndex<obj.history.length-1){var r=obj.history[++obj.historyIndex];if("insertRow"==r.action)obj.historyProcessRow(0,r);else if("deleteRow"==r.action)obj.historyProcessRow(1,r);else if("insertColumn"==r.action)obj.historyProcessColumn(0,r);else if("deleteColumn"==r.action)obj.historyProcessColumn(1,r);else if("moveRow"==r.action)obj.moveRow(r.oldValue,r.newValue);else if("moveColumn"==r.action)obj.moveColumn(r.oldValue,r.newValue);else if("setMerge"==r.action)obj.setMerge(r.column,r.colspan,r.rowspan,1);else if("setStyle"==r.action)obj.setStyle(r.newValue,null,null,1);else if("setWidth"==r.action)obj.setWidth(r.column,r.newValue);else if("setHeight"==r.action)obj.setHeight(r.row,r.newValue);else if("setHeader"==r.action)obj.setHeader(r.column,r.newValue);else if("setComments"==r.action)obj.setComments(r.column,r.newValue[0],r.newValue[1]);else if("orderBy"==r.action)obj.updateOrderArrow(r.column,r.order),obj.updateOrder(r.rows);else if("setValue"==r.action){for(var n=0;n<r.records.length;n++)obj.updateCell(r.records[n].col,r.records[n].row,r.records[n].newValue),obj.updateFormulaChain(r.records[n].col,r.records[n].row,o),r.newStyle&&obj.resetStyle(r.newStyle,!0);r.selection||(r.selection=[r.records[0].col,r.records[0].row]),obj.updateSelectionFromCoords(r.selection[0],r.selection[1],r.selection[2],r.selection[3]),obj.updateTable()}}obj.ignoreEvents=e,obj.ignoreHistory=t,"function"==typeof obj.options.onredo&&obj.options.onredo(el,r)},obj.getDropDownValue=function(e,t){var o=[];if(obj.options.columns[e]&&obj.options.columns[e].source){for(var r=[],n=obj.options.columns[e].source,i=0;i<n.length;i++)"object"==typeof n[i]?r[n[i].id]=n[i].name:r[n[i]]=n[i];var s=(""+t).split(";");for(i=0;i<s.length;i++)r[s[i]]&&o.push(r[s[i]])}else console.error("Invalid column");return o.length>0?o.join("; "):""},obj.parseCSV=function(e,t){9==(e=e.replace(/\r?\n$|\r$|\n$/g,"")).charCodeAt(e.length-1)&&(e+="\0"),t=t||",";for(var o=[],r=!1,n=0,i=0,s=0;s<e.length;s++){var l=e[s],a=e[s+1];o[n]=o[n]||[],o[n][i]=o[n][i]||"",'"'==l&&r&&'"'==a?(o[n][i]+=l,++s):'"'!=l?l!=t||r?"\r"!=l||"\n"!=a||r?"\n"==l&&!r||"\r"==l&&!r?(++n,i=0):o[n][i]+=l:(++n,i=0,++s):++i:r=!r}return o},obj.hash=function(e){var t,o=0;if(0===e.length)return o;for(t=0;t<e.length;t++)o=(o<<5)-o+e.charCodeAt(t),o|=0;return o},obj.onafterchanges=function(e,t){obj.ignoreEvents||"function"==typeof obj.options.onafterchanges&&obj.options.onafterchanges(e,t)},obj.destroy=function(){jexcel.destroy(el)},obj.init=function(){jexcel.current=obj,"function"==typeof jexcel.build&&(jexcel.build(),jexcel.build=null),obj.options.csv?(1==obj.options.loadingSpin&&jSuites.loading.show(),jSuites.ajax({url:obj.options.csv,method:"GET",dataType:"text",success:function(e){var t=obj.parseCSV(e,obj.options.csvDelimiter);if(1==obj.options.csvHeaders&&t.length>0)for(var o=t.shift(),r=0;r<o.length;r++)obj.options.columns[r]||(obj.options.columns[r]={type:"text",align:obj.options.defaultColAlign,width:obj.options.defaultColWidth}),void 0===obj.options.columns[r].title&&(obj.options.columns[r].title=o[r]);obj.options.data=t,obj.prepareTable(),1==obj.options.loadingSpin&&jSuites.loading.hide()}})):obj.options.url?(1==obj.options.loadingSpin&&jSuites.loading.show(),jSuites.ajax({url:obj.options.url,method:"GET",dataType:"json",success:function(e){obj.options.data=e.data?e.data:e,obj.prepareTable(),1==obj.options.loadingSpin&&jSuites.loading.hide()}})):obj.prepareTable()},options&&null!=options.contextMenu?obj.options.contextMenu=options.contextMenu:obj.options.contextMenu=function(e,t,o,r){var n=[];if(null==o)1==obj.options.allowInsertColumn&&n.push({title:obj.options.text.insertANewColumnBefore,onclick:function(){obj.insertColumn(1,parseInt(t),1)}}),1==obj.options.allowInsertColumn&&n.push({title:obj.options.text.insertANewColumnAfter,onclick:function(){obj.insertColumn(1,parseInt(t),0)}}),1==obj.options.allowDeleteColumn&&n.push({title:obj.options.text.deleteSelectedColumns,onclick:function(){obj.deleteColumn(obj.getSelectedColumns().length?void 0:parseInt(t))}}),1==obj.options.allowRenameColumn&&n.push({title:obj.options.text.renameThisColumn,onclick:function(){obj.setHeader(t)}}),1==obj.options.columnSorting&&(n.push({type:"line"}),n.push({title:obj.options.text.orderAscending,onclick:function(){obj.orderBy(t,0)}}),n.push({title:obj.options.text.orderDescending,onclick:function(){obj.orderBy(t,1)}}));else if(1==obj.options.allowInsertRow&&(n.push({title:obj.options.text.insertANewRowBefore,onclick:function(){obj.insertRow(1,parseInt(o),1)}}),n.push({title:obj.options.text.insertANewRowAfter,onclick:function(){obj.insertRow(1,parseInt(o))}})),1==obj.options.allowDeleteRow&&n.push({title:obj.options.text.deleteSelectedRows,onclick:function(){obj.deleteRow(obj.getSelectedRows().length?void 0:parseInt(o))}}),t&&1==obj.options.allowComments){n.push({type:"line"});var i=obj.records[o][t].getAttribute("title")||"";n.push({title:i?obj.options.text.editComments:obj.options.text.addComments,onclick:function(){var e=prompt(obj.options.text.comments,i);e&&obj.setComments([t,o],e)}}),i&&n.push({title:obj.options.text.clearComments,onclick:function(){obj.setComments([t,o],"")}})}return n.push({type:"line"}),n.push({title:obj.options.text.copy,shortcut:"Ctrl + C",onclick:function(){obj.copy(!0)}}),navigator&&navigator.clipboard&&n.push({title:obj.options.text.paste,shortcut:"Ctrl + V",onclick:function(){obj.selectedCell&&navigator.clipboard.readText().then((function(e){e&&jexcel.current.paste(obj.selectedCell[0],obj.selectedCell[1],e)}))}}),obj.options.allowExport&&n.push({title:obj.options.text.saveAs,shortcut:"Ctrl + S",onclick:function(){obj.download()}}),obj.options.about&&n.push({title:obj.options.text.about,onclick:function(){alert(obj.options.about)}}),n},obj.scrollControls=function(e){1==obj.options.lazyLoading&&null==jexcel.timeControlLoading&&(jexcel.timeControlLoading=setTimeout((function(){obj.content.scrollTop+obj.content.clientHeight>=obj.content.scrollHeight?obj.loadDown()&&(obj.content.scrollTop+obj.content.clientHeight>obj.content.scrollHeight-10&&(obj.content.scrollTop=obj.content.scrollTop-obj.content.clientHeight),obj.updateCornerPosition()):obj.content.scrollTop<=obj.content.clientHeight&&obj.loadUp()&&(obj.content.scrollTop<10&&(obj.content.scrollTop=obj.content.scrollTop+obj.content.clientHeight),obj.updateCornerPosition()),jexcel.timeControlLoading=null}),100)),1!=obj.options.lazyLoading&&1!=obj.options.tableOverflow||obj.edition&&"jdropdown"!=e.target.className.substr(0,9)&&obj.closeEditor(obj.edition[0],!0)},el.addEventListener("DOMMouseScroll",obj.scrollControls),el.addEventListener("mousewheel",obj.scrollControls),el.jexcel=obj,obj.init(),obj};jexcel.current=null,jexcel.timeControl=null,jexcel.timeControlLoading=null,jexcel.destroy=function(e,t){e.jexcel&&(e.removeEventListener("DOMMouseScroll",e.jexcel.scrollControls),e.removeEventListener("mousewheel",e.jexcel.scrollControls),e.jexcel=null,e.innerHTML="",t&&(document.removeEventListener("keydown",jexcel.keyDownControls),document.removeEventListener("mouseup",jexcel.mouseUpControls),document.removeEventListener("mousedown",jexcel.mouseDownControls),document.removeEventListener("mousemove",jexcel.mouseMoveControls),document.removeEventListener("mouseover",jexcel.mouseOverControls),document.removeEventListener("dblclick",jexcel.doubleClickControls),document.removeEventListener("paste",jexcel.pasteControls),document.removeEventListener("contextmenu",jexcel.contextMenuControls),document.removeEventListener("touchstart",jexcel.touchStartControls),document.removeEventListener("touchend",jexcel.touchEndControls),document.removeEventListener("touchcancel",jexcel.touchEndControls),jexcel=null))},jexcel.build=function(){document.addEventListener("keydown",jexcel.keyDownControls),document.addEventListener("mouseup",jexcel.mouseUpControls),document.addEventListener("mousedown",jexcel.mouseDownControls),document.addEventListener("mousemove",jexcel.mouseMoveControls),document.addEventListener("mouseover",jexcel.mouseOverControls),document.addEventListener("dblclick",jexcel.doubleClickControls),document.addEventListener("paste",jexcel.pasteControls),document.addEventListener("contextmenu",jexcel.contextMenuControls),document.addEventListener("touchstart",jexcel.touchStartControls),document.addEventListener("touchend",jexcel.touchEndControls),document.addEventListener("touchcancel",jexcel.touchEndControls),document.addEventListener("touchmove",jexcel.touchEndControls)},jexcel.keyDownControls=function(e){if(jexcel.current){if(jexcel.current.edition)if(27==e.which)jexcel.current.edition&&jexcel.current.closeEditor(jexcel.current.edition[0],!1),e.preventDefault();else if(13==e.which)if("calendar"==jexcel.current.options.columns[jexcel.current.edition[2]].type)jexcel.current.editor[0].children[0].calendar.close(1);else if("dropdown"==jexcel.current.options.columns[jexcel.current.edition[2]].type||"autocomplete"==jexcel.current.options.columns[jexcel.current.edition[2]].type);else if((1==jexcel.current.options.wordWrap||1==jexcel.current.options.columns[jexcel.current.edition[2]].wordWrap||jexcel.current.options.data[jexcel.current.edition[3]][jexcel.current.edition[2]].length>200)&&e.altKey){var t=jexcel.current.edition[0].children[0],o=jexcel.current.edition[0].children[0].value,r=t.selectionStart;o=o.slice(0,r)+"\n"+o.slice(r),t.value=o,t.focus(),t.selectionStart=r+1,t.selectionEnd=r+1}else jexcel.current.edition[0].children[0].blur();else 9==e.which&&("calendar"==jexcel.current.options.columns[jexcel.current.edition[2]].type?jexcel.current.edition[0].children[0].calendar.close(1):jexcel.current.edition[0].children[0].blur());if(!jexcel.current.edition&&jexcel.current.selectedCell)if(37==e.which)jexcel.current.left(e.shiftKey,e.ctrlKey),e.preventDefault();else if(39==e.which)jexcel.current.right(e.shiftKey,e.ctrlKey),e.preventDefault();else if(38==e.which)jexcel.current.up(e.shiftKey,e.ctrlKey),e.preventDefault();else if(40==e.which)jexcel.current.down(e.shiftKey,e.ctrlKey),e.preventDefault();else if(36==e.which)jexcel.current.first(e.shiftKey,e.ctrlKey),e.preventDefault();else if(35==e.which)jexcel.current.last(e.shiftKey,e.ctrlKey),e.preventDefault();else if(32==e.which)1==jexcel.current.options.editable&&jexcel.current.setCheckRadioValue(),e.preventDefault();else if(46==e.which)1==jexcel.current.options.editable&&(jexcel.current.selectedRow?1==jexcel.current.options.allowDeleteRow&&confirm(jexcel.current.options.text.areYouSureToDeleteTheSelectedRows)&&jexcel.current.deleteRow():jexcel.current.selectedHeader?1==jexcel.current.options.allowDeleteColumn&&confirm(jexcel.current.options.text.areYouSureToDeleteTheSelectedColumns)&&jexcel.current.deleteColumn():jexcel.current.setValue(jexcel.current.highlighted,""));else if(13==e.which)e.shiftKey?jexcel.current.up():(1==jexcel.current.options.allowInsertRow&&1==jexcel.current.options.allowManualInsertRow&&jexcel.current.selectedCell[1]==jexcel.current.options.data.length-1&&jexcel.current.insertRow(),jexcel.current.down()),e.preventDefault();else if(9==e.which)e.shiftKey?jexcel.current.left():(1==jexcel.current.options.allowInsertColumn&&1==jexcel.current.options.allowManualInsertColumn&&jexcel.current.selectedCell[0]==jexcel.current.options.data[0].length-1&&jexcel.current.insertColumn(),jexcel.current.right()),e.preventDefault();else if(!e.ctrlKey&&!e.metaKey||e.shiftKey){if(jexcel.current.selectedCell&&1==jexcel.current.options.editable){var n=jexcel.current.selectedCell[1],i=jexcel.current.selectedCell[0];"readonly"!=jexcel.current.options.columns[i].type&&(32==e.keyCode?"checkbox"==jexcel.current.options.columns[i].type||"radio"==jexcel.current.options.columns[i].type?e.preventDefault():jexcel.current.openEditor(jexcel.current.records[n][i],!0):113==e.keyCode?jexcel.current.openEditor(jexcel.current.records[n][i],!1):(8==e.keyCode||e.keyCode>=48&&e.keyCode<=57||e.keyCode>=96&&e.keyCode<=111||187==e.keyCode||189==e.keyCode||(String.fromCharCode(e.keyCode)==e.key||String.fromCharCode(e.keyCode).toLowerCase()==e.key.toLowerCase())&&jexcel.validLetter(String.fromCharCode(e.keyCode)))&&(jexcel.current.openEditor(jexcel.current.records[n][i],!0),"calendar"==jexcel.current.options.columns[i].type&&e.preventDefault()))}}else 65==e.which?(jexcel.current.selectAll(),e.preventDefault()):83==e.which?(jexcel.current.download(),e.preventDefault()):89==e.which?(jexcel.current.redo(),e.preventDefault()):90==e.which?(jexcel.current.undo(),e.preventDefault()):67==e.which||67==e.which?(jexcel.current.copy(!0),e.preventDefault()):88==e.which?(1==jexcel.current.options.editable?jexcel.cutControls():jexcel.copyControls(),e.preventDefault()):86==e.which&&jexcel.pasteControls();else e.target.classList.contains("jexcel_search")&&(jexcel.timeControl&&clearTimeout(jexcel.timeControl),jexcel.timeControl=setTimeout((function(){jexcel.current.search(e.target.value)}),200))}},jexcel.isMouseAction=!1,jexcel.mouseDownControls=function(e){if((e=e||window.event).buttons)var t=e.buttons;else t=e.button?e.button:e.which;var o=jexcel.getElement(e.target);if(o[0]?jexcel.current!=o[0].jexcel&&(jexcel.current&&jexcel.current.resetSelection(),jexcel.current=o[0].jexcel):jexcel.current&&(jexcel.current.resetSelection(!0),jexcel.current=null),jexcel.current&&1==t){if(e.target.classList.contains("jexcel_selectall"))jexcel.current&&jexcel.current.selectAll();else if(e.target.classList.contains("jexcel_corner"))1==jexcel.current.options.editable&&(jexcel.current.selectedCorner=!0);else{if(1==o[1]){if(b=e.target.getAttribute("data-x")){var r=e.target.getBoundingClientRect();if(1==jexcel.current.options.columnResize&&r.width-e.offsetX<6){jexcel.current.resizing={mousePosition:e.pageX,column:b,width:r.width},jexcel.current.headers[b].classList.add("resizing");for(var n=0;n<jexcel.current.records.length;n++)jexcel.current.records[n][b]&&jexcel.current.records[n][b].classList.add("resizing")}else if(1==jexcel.current.options.columnDrag&&r.height-e.offsetY<6)if(jexcel.current.isColMerged(b).length)console.error("JEXCEL: This column is part of a merged cell.");else for(jexcel.current.resetSelection(),jexcel.current.dragging={element:e.target,column:b,destination:b},jexcel.current.headers[b].classList.add("dragging"),n=0;n<jexcel.current.records.length;n++)jexcel.current.records[n][b]&&jexcel.current.records[n][b].classList.add("dragging");else{if(jexcel.current.selectedHeader&&(e.shiftKey||e.ctrlKey))var i=jexcel.current.selectedHeader,s=b;else jexcel.current.selectedHeader==b&&1==jexcel.current.options.allowRenameColumn&&(jexcel.timeControl=setTimeout((function(){jexcel.current.setHeader(b)}),800)),jexcel.current.selectedHeader=b,i=b,s=b;jexcel.current.updateSelectionFromCoords(i,0,s,jexcel.current.options.data.length-1)}}else if(e.target.parentNode.classList.contains("jexcel_nested")){if(e.target.getAttribute("data-column"))var l=e.target.getAttribute("data-column").split(","),a=parseInt(l[0]),u=parseInt(l[l.length-1]);else a=0,u=jexcel.current.options.columns.length-1;jexcel.current.updateSelectionFromCoords(a,0,u,jexcel.current.options.data.length-1)}}else jexcel.current.selectedHeader=!1;if(2==o[1]){var c=e.target.getAttribute("data-y");if(e.target.classList.contains("jexcel_row"))r=e.target.getBoundingClientRect(),1==jexcel.current.options.rowResize&&r.height-e.offsetY<6?(jexcel.current.resizing={element:e.target.parentNode,mousePosition:e.pageY,row:c,height:r.height},e.target.parentNode.classList.add("resizing")):1==jexcel.current.options.rowDrag&&r.width-e.offsetX<6?jexcel.current.isRowMerged(c).length?console.error("JEXCEL: This row is part of a merged cell"):1==jexcel.current.options.search&&jexcel.current.results?console.error("JEXCEL: Please clear your search before perform this action"):(jexcel.current.resetSelection(),jexcel.current.dragging={element:e.target.parentNode,row:c,destination:c},e.target.parentNode.classList.add("dragging")):(jexcel.current.selectedRow&&(e.shiftKey||e.ctrlKey)?(i=jexcel.current.selectedRow,s=c):(jexcel.current.selectedRow=c,i=c,s=c),jexcel.current.updateSelectionFromCoords(0,i,jexcel.current.options.data[0].length-1,s));else if(e.target.classList.contains("jclose")&&e.target.clientWidth-e.offsetX<50&&e.offsetY<50)jexcel.current.closeEditor(jexcel.current.edition[0],!0);else{var d=function(e){var t=e.getAttribute("data-x"),o=e.getAttribute("data-y");return t&&o?[t,o]:e.parentNode?d(e.parentNode):void 0},p=d(e.target);if(p){var b=p[0];c=p[1],jexcel.current.edition&&(jexcel.current.edition[2]==b&&jexcel.current.edition[3]==c||jexcel.current.closeEditor(jexcel.current.edition[0],!0)),jexcel.current.edition||(e.shiftKey?jexcel.current.updateSelectionFromCoords(jexcel.current.selectedCell[0],jexcel.current.selectedCell[1],b,c):jexcel.current.updateSelectionFromCoords(b,c)),jexcel.current.selectedHeader=null,jexcel.current.selectedRow=null}}}else jexcel.current.selectedRow=!1;e.target.classList.contains("jexcel_page")&&("<"==e.target.innerText?jexcel.current.page(0):">"==e.target.innerText?jexcel.current.page(e.target.getAttribute("title")-1):jexcel.current.page(e.target.innerText-1))}jexcel.current.edition?jexcel.isMouseAction=!1:jexcel.isMouseAction=!0}else jexcel.isMouseAction=!1},jexcel.mouseUpControls=function(e){if(jexcel.current)if(jexcel.current.resizing){if(jexcel.current.resizing.column){jexcel.current.headers[jexcel.current.resizing.column].classList.remove("resizing");var t=jexcel.current.colgroup[jexcel.current.resizing.column].getAttribute("width");jexcel.current.setWidth(jexcel.current.resizing.column,t,jexcel.current.resizing.width),jexcel.current.headers[jexcel.current.resizing.column].classList.remove("resizing");for(var o=0;o<jexcel.current.records.length;o++)jexcel.current.records[o][jexcel.current.resizing.column]&&jexcel.current.records[o][jexcel.current.resizing.column].classList.remove("resizing")}else{jexcel.current.rows[jexcel.current.resizing.row].children[0].classList.remove("resizing");var r=jexcel.current.rows[jexcel.current.resizing.row].getAttribute("height");jexcel.current.setHeight(jexcel.current.resizing.row,r,jexcel.current.resizing.height),jexcel.current.resizing.element.classList.remove("resizing")}jexcel.current.resizing=null}else if(jexcel.current.dragging){if(jexcel.current.dragging){if(jexcel.current.dragging.column){var n=e.target.getAttribute("data-x");for(jexcel.current.headers[jexcel.current.dragging.column].classList.remove("dragging"),o=0;o<jexcel.current.rows.length;o++)jexcel.current.records[o][jexcel.current.dragging.column]&&jexcel.current.records[o][jexcel.current.dragging.column].classList.remove("dragging");for(var i=0;i<jexcel.current.headers.length;i++)jexcel.current.headers[i].classList.remove("dragging-left"),jexcel.current.headers[i].classList.remove("dragging-right");n&&jexcel.current.dragging.column!=jexcel.current.dragging.destination&&jexcel.current.moveColumn(jexcel.current.dragging.column,jexcel.current.dragging.destination)}else{var s=Array.prototype.indexOf.call(jexcel.current.dragging.element.parentNode.children,jexcel.current.dragging.element);jexcel.current.dragging.row!=s&&jexcel.current.moveRow(jexcel.current.dragging.row,s,!0),jexcel.current.dragging.element.classList.remove("dragging")}jexcel.current.dragging=null}}else jexcel.current.selectedCorner&&(jexcel.current.selectedCorner=!1,jexcel.current.selection.length>0&&(jexcel.current.copyData(jexcel.current.selection[0],jexcel.current.selection[jexcel.current.selection.length-1]),jexcel.current.removeCopySelection()));jexcel.timeControl&&(clearTimeout(jexcel.timeControl),jexcel.timeControl=null),jexcel.isMouseAction=!1},jexcel.mouseMoveControls=function(e){if((e=e||window.event).buttons)var t=e.buttons;else t=e.button?e.button:e.which;if(t||(jexcel.isMouseAction=!1),jexcel.current)if(1==jexcel.isMouseAction){if(jexcel.current.resizing)if(jexcel.current.resizing.column){var o=e.pageX-jexcel.current.resizing.mousePosition;if(jexcel.current.resizing.width+o>0){var r=jexcel.current.resizing.width+o;jexcel.current.colgroup[jexcel.current.resizing.column].setAttribute("width",r),jexcel.current.updateCornerPosition()}}else{var n=e.pageY-jexcel.current.resizing.mousePosition;if(jexcel.current.resizing.height+n>0){var i=jexcel.current.resizing.height+n;jexcel.current.rows[jexcel.current.resizing.row].setAttribute("height",i),jexcel.current.updateCornerPosition()}}}else{var s=e.target.getAttribute("data-x"),l=e.target.getAttribute("data-y"),a=e.target.getBoundingClientRect();jexcel.current.cursor&&(jexcel.current.cursor.style.cursor="",jexcel.current.cursor=null),e.target.parentNode.parentNode&&e.target.parentNode.parentNode.className&&(e.target.parentNode.parentNode.classList.contains("resizable")&&(e.target&&s&&!l&&a.width-(e.clientX-a.left)<6?(jexcel.current.cursor=e.target,jexcel.current.cursor.style.cursor="col-resize"):e.target&&!s&&l&&a.height-(e.clientY-a.top)<6&&(jexcel.current.cursor=e.target,jexcel.current.cursor.style.cursor="row-resize")),e.target.parentNode.parentNode.classList.contains("draggable")&&(e.target&&!s&&l&&a.width-(e.clientX-a.left)<6||e.target&&s&&!l&&a.height-(e.clientY-a.top)<6)&&(jexcel.current.cursor=e.target,jexcel.current.cursor.style.cursor="move"))}},jexcel.mouseOverControls=function(e){if((e=e||window.event).buttons)var t=e.buttons;else t=e.button?e.button:e.which;if(t||(jexcel.isMouseAction=!1),jexcel.current&&1==jexcel.isMouseAction){var o=jexcel.getElement(e.target);if(o[0]){if(jexcel.current!=o[0].jexcel&&jexcel.current)return!1;var r=e.target.getAttribute("data-x"),n=e.target.getAttribute("data-y");if(jexcel.current.dragging){if(jexcel.current.dragging.column){if(r)if(jexcel.current.isColMerged(r).length)console.error("JEXCEL: This column is part of a merged cell.");else{for(var i=0;i<jexcel.current.headers.length;i++)jexcel.current.headers[i].classList.remove("dragging-left"),jexcel.current.headers[i].classList.remove("dragging-right");jexcel.current.dragging.column==r?jexcel.current.dragging.destination=parseInt(r):e.target.clientWidth/2>e.offsetX?(jexcel.current.dragging.column<r?jexcel.current.dragging.destination=parseInt(r)-1:jexcel.current.dragging.destination=parseInt(r),jexcel.current.headers[r].classList.add("dragging-left")):(jexcel.current.dragging.column<r?jexcel.current.dragging.destination=parseInt(r):jexcel.current.dragging.destination=parseInt(r)+1,jexcel.current.headers[r].classList.add("dragging-right"))}}else if(n)if(jexcel.current.isRowMerged(n).length)console.error("JEXCEL: This row is part of a merged cell.");else{var s=e.target.clientHeight/2>e.offsetY?e.target.parentNode.nextSibling:e.target.parentNode;e.target.parentNode.parentNode.insertBefore(jexcel.current.dragging.element,s)}}else if(jexcel.current.resizing);else{if(1==o[1]&&jexcel.current.selectedHeader){r=e.target.getAttribute("data-x");var l=jexcel.current.selectedHeader,a=r;jexcel.current.updateSelectionFromCoords(l,0,a,jexcel.current.options.data.length-1)}2==o[1]&&(e.target.classList.contains("jexcel_row")?jexcel.current.selectedRow&&(l=jexcel.current.selectedRow,a=n,jexcel.current.updateSelectionFromCoords(0,l,jexcel.current.options.data[0].length-1,a)):jexcel.current.edition||r&&n&&(jexcel.current.selectedCorner?jexcel.current.updateCopySelection(r,n):jexcel.current.selectedCell&&jexcel.current.updateSelectionFromCoords(jexcel.current.selectedCell[0],jexcel.current.selectedCell[1],r,n)))}}}jexcel.timeControl&&(clearTimeout(jexcel.timeControl),jexcel.timeControl=null)},jexcel.doubleClickControls=function(e){if(jexcel.current)if(e.target.classList.contains("jexcel_corner")){if(jexcel.current.highlighted.length>0){var t=jexcel.current.highlighted[0].getAttribute("data-x"),o=parseInt(jexcel.current.highlighted[jexcel.current.highlighted.length-1].getAttribute("data-y"))+1,r=jexcel.current.highlighted[jexcel.current.highlighted.length-1].getAttribute("data-x"),n=jexcel.current.records.length-1;jexcel.current.copyData(jexcel.current.records[o][t],jexcel.current.records[n][r])}}else{var i=jexcel.getElement(e.target);if(1==i[1]&&1==jexcel.current.options.columnSorting){var s=e.target.getAttribute("data-x");s&&jexcel.current.orderBy(s)}if(2==i[1]&&1==jexcel.current.options.editable&&!jexcel.current.edition){var l=function(e){if(e.parentNode){var t=e.getAttribute("data-x"),o=e.getAttribute("data-y");return t&&o?e:l(e.parentNode)}},a=l(e.target);a&&a.classList.contains("highlight")&&jexcel.current.openEditor(a)}}},jexcel.copyControls=function(e){jexcel.current&&jexcel.copyControls.enabled&&(jexcel.current.edition||jexcel.current.copy(!0))},jexcel.cutControls=function(e){jexcel.current&&(jexcel.current.edition||(jexcel.current.copy(!0),1==jexcel.current.options.editable&&jexcel.current.setValue(jexcel.current.highlighted,"")))},jexcel.pasteControls=function(e){jexcel.current&&jexcel.current.selectedCell&&(jexcel.current.edition||1==jexcel.current.options.editable&&(e&&e.clipboardData?(jexcel.current.paste(jexcel.current.selectedCell[0],jexcel.current.selectedCell[1],e.clipboardData.getData("text")),e.preventDefault()):window.clipboardData&&jexcel.current.paste(jexcel.current.selectedCell[0],jexcel.current.selectedCell[1],window.clipboardData.getData("text"))))},jexcel.contextMenuControls=function(e){if("buttons"in(e=e||window.event)?e.buttons:e.which||e.button,jexcel.current)if(jexcel.current.edition)e.preventDefault();else if(jexcel.current.options.contextMenu&&(jexcel.current.contextMenu.contextmenu.close(),jexcel.current)){var t=e.target.getAttribute("data-x"),o=e.target.getAttribute("data-y");if(t||o){var r=jexcel.current.options.contextMenu(jexcel.current,t,o,e);jexcel.current.contextMenu.contextmenu.open(e,r),e.preventDefault()}}},jexcel.touchStartControls=function(e){var t=jexcel.getElement(e.target);if(t[0]?jexcel.current!=t[0].jexcel&&(jexcel.current&&jexcel.current.resetSelection(),jexcel.current=t[0].jexcel):jexcel.current&&(jexcel.current.resetSelection(),jexcel.current=null),jexcel.current&&!jexcel.current.edition){var o=e.target.getAttribute("data-x"),r=e.target.getAttribute("data-y");o&&r&&(jexcel.current.updateSelectionFromCoords(o,r),jexcel.timeControl=setTimeout((function(){"color"==jexcel.current.options.columns[o].type?jexcel.tmpElement=null:jexcel.tmpElement=e.target,jexcel.current.openEditor(e.target,!1,e)}),500))}},jexcel.touchEndControls=function(e){jexcel.timeControl&&(clearTimeout(jexcel.timeControl),jexcel.timeControl=null,jexcel.tmpElement&&"INPUT"==jexcel.tmpElement.children[0].tagName&&jexcel.tmpElement.children[0].focus(),jexcel.tmpElement=null)},jexcel.createTabs=function(e,t){e.innerHTML="",e.classList.add("jexcel_tabs");for(var o=[],r=[],n=0;n<t.length;n++)o[n]=document.createElement("div"),o[n].classList.add("jexcel_tab"),r[n]=document.createElement("div"),r[n].classList.add("jexcel_tab_link"),r[n].setAttribute("data-spreadsheet",n),r[n].innerHTML=t[n].sheetName,r[n].onclick=function(){for(var e=0;e<o.length;e++)o[e].style.display="none",r[e].classList.remove("selected");var t=this.getAttribute("data-spreadsheet");o[t].style.display="block",r[t].classList.add("selected")},e.appendChild(r[n]);for(n=0;n<o.length-1;n++)e.appendChild(o[n]),jexcel(o[n],t[n]);o[0].style.display="block",r[0].classList.add("selected")},jexcel.fromSpreadsheet=function(e,t){var o,r=function(e){var t=[];return e.SheetNames.forEach((function(o){var r={rows:[],columns:[],data:[],style:{}};if(r.sheetName=o,(p=e.Sheets[o]["!cols"])&&p.length)for(var n=0;n<p.length;n++)r.columns[n]={},p[n]&&p[n].wpx&&(r.columns[n].width=p[n].wpx+"px");if((p=e.Sheets[o]["!rows"])&&p.length)for(n=0;n<p.length;n++)p[n]&&p[n].hpx&&(r.rows[n]={},r.rows[n].height=p[n].hpx+"px");if((p=e.Sheets[o]["!merges"])&&p.length>0)for(r.mergeCells=[],n=0;n<p.length;n++){var i=p[n].s.c,s=p[n].s.r,l=p[n].e.c,a=p[n].e.r,u=jexcel.getColumnNameFromId([i,s]);r.mergeCells[u]=[l-i+1,a-s+1]}var c=0,d=0,p=Object.keys(e.Sheets[o]);for(n=0;n<p.length;n++)if("!"!=p[n].substr(0,1)){var b=e.Sheets[o][p[n]],f=jexcel.getIdFromColumnName(p[n],!0);r.data[f[1]]||(r.data[f[1]]=[]),r.data[f[1]][f[0]]=b.f?"="+b.f:b.w,c<f[0]&&(c=f[0]),d<f[1]&&(d=f[1]),b.style&&Object.keys(b.style).length>0&&(r.style[p[n]]=b.style),b.s&&b.s.fgColor&&(r.style[p[n]]&&(r.style[p[n]]+=";"),r.style[p[n]]+="background-color:#"+b.s.fgColor.rgb)}for(var m=r.columns,j=0;j<=d;j++)for(n=0;n<=c;n++)r.data[j]||(r.data[j]=[]),r.data[j][n]||m<n&&(r.data[j][n]="");t.push(r)})),t};(o=new XMLHttpRequest).open("GET",e,!0),"undefined"!=typeof Uint8Array?(o.responseType="arraybuffer",o.onload=function(e){var n=o.response,i=new Uint8Array(n),s=XLSX.read(i,{type:"array",cellFormula:!0,cellStyles:!0});t(r(s))}):(o.setRequestHeader("Accept-Charset","x-user-defined"),o.onreadystatechange=function(){if(4==o.readyState&&200==o.status){var e=convertResponseBodyToText(o.responseBody),n=XLSX.read(e,{type:"binary",cellFormula:!0,cellStyles:!0});t(r(n))}}),o.send()},jexcel.validLetter=function(e){return e.match(/([\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC-\u0400-\u04FF']+)/g)?1:0},jexcel.injectArray=function(e,t,o){return e.slice(0,t).concat(o).concat(e.slice(t))},jexcel.getColumnName=function(e){var t="";return e>701?(t+=String.fromCharCode(64+parseInt(e/676)),t+=String.fromCharCode(64+parseInt(e%676/26))):e>25&&(t+=String.fromCharCode(64+parseInt(e/26))),t+String.fromCharCode(65+e%26)},jexcel.getIdFromColumnName=function(e,t){var o=/^[a-zA-Z]+/.exec(e);if(o){for(var r=0,n=0;n<o[0].length;n++)r+=parseInt(o[0].charCodeAt(n)-64)*Math.pow(26,o[0].length-1-n);--r<0&&(r=0);var i=parseInt(/[0-9]+$/.exec(e));i>0&&i--,e=1==t?[r,i]:r+"-"+i}return e},jexcel.getColumnNameFromId=function(e){return Array.isArray(e)||(e=e.split("-")),jexcel.getColumnName(parseInt(e[0]))+(parseInt(e[1])+1)},jexcel.getElement=function(e){var t=0,o=0;return function e(r){r.className&&r.classList.contains("jexcel_container")&&(o=r),"THEAD"==r.tagName?t=1:"TBODY"==r.tagName&&(t=2),r.parentNode&&e(r.parentNode)}(e),[o,t]},jexcel.doubleDigitFormat=function(e){return 1==(e=""+e).length&&(e="0"+e),e},"undefined"!=typeof jQuery&&function(e){e.fn.jexcel=function(t){var o=e(this).get(0);return o.jexcel?o.jexcel[t].apply(this,Array.prototype.slice.call(arguments,1)):jexcel(e(this).get(0),arguments[0])}}(jQuery);var error=(exports={},exports.nil=new Error("#NULL!"),exports.div0=new Error("#DIV/0!"),exports.value=new Error("#VALUE!"),exports.ref=new Error("#REF!"),exports.name=new Error("#NAME?"),exports.num=new Error("#NUM!"),exports.na=new Error("#N/A"),exports.error=new Error("#ERROR!"),exports.data=new Error("#GETTING_DATA"),exports),exports,utils=function(){var e={flattenShallow:function(e){return e&&e.reduce?e.reduce((function(e,t){var o=Array.isArray(e),r=Array.isArray(t);return o&&r?e.concat(t):o?(e.push(t),e):r?[e].concat(t):[e,t]})):e},isFlat:function(e){if(!e)return!1;for(var t=0;t<e.length;++t)if(Array.isArray(e[t]))return!1;return!0},flatten:function(){for(var t=e.argsToArray.apply(null,arguments);!e.isFlat(t);)t=e.flattenShallow(t);return t},argsToArray:function(t){var o=[];return e.arrayEach(t,(function(e){o.push(e)})),o},numbers:function(){return this.flatten.apply(null,arguments).filter((function(e){return"number"==typeof e}))},cleanFloat:function(e){var t=1e14;return Math.round(e*t)/t},parseBool:function(e){if("boolean"==typeof e)return e;if(e instanceof Error)return e;if("number"==typeof e)return 0!==e;if("string"==typeof e){var t=e.toUpperCase();if("TRUE"===t)return!0;if("FALSE"===t)return!1}return e instanceof Date&&!isNaN(e)||error.value},parseNumber:function(e){return void 0===e||""===e||isNaN(e)?error.value:parseFloat(e)},parseNumberArray:function(t){var o,r;if(!t||0===(o=t.length))return error.value;for(;o--;){if((r=e.parseNumber(t[o]))===error.value)return r;t[o]=r}return t},parseMatrix:function(t){var o;if(!t||0===t.length)return error.value;for(var r=0;r<t.length;r++)if(o=e.parseNumberArray(t[r]),t[r]=o,o instanceof Error)return o;return t}},t=new Date(Date.UTC(1900,0,1));return e.parseDate=function(e){if(!isNaN(e)){if(e instanceof Date)return new Date(e);var o=parseInt(e,10);return o<0?error.num:o<=60?new Date(t.getTime()+864e5*(o-1)):new Date(t.getTime()+864e5*(o-2))}return"string"!=typeof e||(e=new Date(e),isNaN(e))?error.value:e},e.parseDateArray=function(e){for(var t,o=e.length;o--;){if((t=this.parseDate(e[o]))===error.value)return t;e[o]=t}return e},e.anyIsError=function(){for(var e=arguments.length;e--;)if(arguments[e]instanceof Error)return!0;return!1},e.arrayValuesToNumbers=function(e){for(var t,o=e.length;o--;)if("number"!=typeof(t=e[o]))if(!0!==t)if(!1!==t){if("string"==typeof t){var r=this.parseNumber(t);r instanceof Error?e[o]=0:e[o]=r}}else e[o]=0;else e[o]=1;return e},e.rest=function(e,t){return t=t||1,e&&"function"==typeof e.slice?e.slice(t):e},e.initial=function(e,t){return t=t||1,e&&"function"==typeof e.slice?e.slice(0,e.length-t):e},e.arrayEach=function(e,t){for(var o=-1,r=e.length;++o<r&&!1!==t(e[o],o,e););return e},e.transpose=function(e){return e?e[0].map((function(t,o){return e.map((function(e){return e[o]}))})):error.value},e}();jexcel.methods={},jexcel.methods.datetime=function(){var e={},t=new Date(1900,0,1),o=[[],[1,2,3,4,5,6,7],[7,1,2,3,4,5,6],[6,0,1,2,3,4,5],[],[],[],[],[],[],[],[7,1,2,3,4,5,6],[6,7,1,2,3,4,5],[5,6,7,1,2,3,4],[4,5,6,7,1,2,3],[3,4,5,6,7,1,2],[2,3,4,5,6,7,1],[1,2,3,4,5,6,7]];function r(e){return(e-t)/864e5+(e>-22038912e5?2:1)}return e.DATE=function(e,t,o){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:e<0||t<0||o<0?error.num:new Date(e,t-1,o)},e.DATEVALUE=function(e){if("string"!=typeof e)return error.value;var o=Date.parse(e);return isNaN(o)?error.value:o<=-22038912e5?(o-t)/864e5+1:(o-t)/864e5+2},e.DAY=function(e){var t=utils.parseDate(e);return t instanceof Error?t:t.getDate()},e.DAYS=function(e,t){return e=utils.parseDate(e),t=utils.parseDate(t),e instanceof Error?e:t instanceof Error?t:r(e)-r(t)},e.DAYS360=function(e,t,o){},e.EDATE=function(e,t){return(e=utils.parseDate(e))instanceof Error?e:isNaN(t)?error.value:(t=parseInt(t,10),e.setMonth(e.getMonth()+t),r(e))},e.EOMONTH=function(e,t){return(e=utils.parseDate(e))instanceof Error?e:isNaN(t)?error.value:(t=parseInt(t,10),r(new Date(e.getFullYear(),e.getMonth()+t+1,0)))},e.HOUR=function(e){return(e=utils.parseDate(e))instanceof Error?e:e.getHours()},e.INTERVAL=function(e){if("number"!=typeof e&&"string"!=typeof e)return error.value;e=parseInt(e,10);var t=Math.floor(e/94608e4);e%=94608e4;var o=Math.floor(e/2592e3);e%=2592e3;var r=Math.floor(e/86400);e%=86400;var n=Math.floor(e/3600);e%=3600;var i=Math.floor(e/60),s=e%=60;return"P"+(t=t>0?t+"Y":"")+(o=o>0?o+"M":"")+(r=r>0?r+"D":"")+"T"+(n=n>0?n+"H":"")+(i=i>0?i+"M":"")+(s>0?s+"S":"")},e.ISOWEEKNUM=function(e){if((e=utils.parseDate(e))instanceof Error)return e;e.setHours(0,0,0),e.setDate(e.getDate()+4-(e.getDay()||7));var t=new Date(e.getFullYear(),0,1);return Math.ceil(((e-t)/864e5+1)/7)},e.MINUTE=function(e){return(e=utils.parseDate(e))instanceof Error?e:e.getMinutes()},e.MONTH=function(e){return(e=utils.parseDate(e))instanceof Error?e:e.getMonth()+1},e.NETWORKDAYS=function(e,t,o){},e.NETWORKDAYS.INTL=function(e,t,o,r){},e.NOW=function(){return new Date},e.SECOND=function(e){return(e=utils.parseDate(e))instanceof Error?e:e.getSeconds()},e.TIME=function(e,t,o){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:e<0||t<0||o<0?error.num:(3600*e+60*t+o)/86400},e.TIMEVALUE=function(e){return(e=utils.parseDate(e))instanceof Error?e:(3600*e.getHours()+60*e.getMinutes()+e.getSeconds())/86400},e.TODAY=function(){return new Date},e.WEEKDAY=function(e,t){if((e=utils.parseDate(e))instanceof Error)return e;void 0===t&&(t=1);var r=e.getDay();return o[t][r]},e.WEEKNUM=function(e,t){},e.WORKDAY=function(e,t,o){},e.WORKDAY.INTL=function(e,t,o,r){},e.YEAR=function(e){return(e=utils.parseDate(e))instanceof Error?e:e.getFullYear()},e.YEARFRAC=function(e,t,o){},e}(),jexcel.methods.database=function(){var exports={};function compact(e){if(!e)return e;for(var t=[],o=0;o<e.length;++o)e[o]&&t.push(e[o]);return t}function findResultIndex(database,criterias){for(var matches={},i=1;i<database[0].length;++i)matches[i]=!0;var maxCriteriaLength=criterias[0].length;for(i=1;i<criterias.length;++i)criterias[i].length>maxCriteriaLength&&(maxCriteriaLength=criterias[i].length);for(var k=1;k<database.length;++k)for(var l=1;l<database[k].length;++l){for(var currentCriteriaResult=!1,hasMatchingCriteria=!1,j=0;j<criterias.length;++j){var criteria=criterias[j];if(!(criteria.length<maxCriteriaLength)){var criteriaField=criteria[0];if(database[k][0]===criteriaField){hasMatchingCriteria=!0;for(var p=1;p<criteria.length;++p)currentCriteriaResult=currentCriteriaResult||eval(database[k][l]+criteria[p])}}}hasMatchingCriteria&&(matches[l]=matches[l]&&currentCriteriaResult)}for(var result=[],n=0;n<database[0].length;++n)matches[n]&&result.push(n-1);return result}return exports.FINDFIELD=function(e,t){for(var o=null,r=0;r<e.length;r++)if(e[r][0]===t){o=r;break}return null==o?error.value:o},exports.DAVERAGE=function(e,t,o){if(isNaN(t)&&"string"!=typeof t)return error.value;var r=findResultIndex(e,o),n=[];if("string"==typeof t){var i=exports.FINDFIELD(e,t);n=utils.rest(e[i])}else n=utils.rest(e[t]);for(var s=0,l=0;l<r.length;l++)s+=n[r[l]];return 0===r.length?error.div0:s/r.length},exports.DCOUNT=function(e,t,o){},exports.DCOUNTA=function(e,t,o){},exports.DGET=function(e,t,o){if(isNaN(t)&&"string"!=typeof t)return error.value;var r=findResultIndex(e,o),n=[];if("string"==typeof t){var i=exports.FINDFIELD(e,t);n=utils.rest(e[i])}else n=utils.rest(e[t]);return 0===r.length?error.value:r.length>1?error.num:n[r[0]]},exports.DMAX=function(e,t,o){if(isNaN(t)&&"string"!=typeof t)return error.value;var r=findResultIndex(e,o),n=[];if("string"==typeof t){var i=exports.FINDFIELD(e,t);n=utils.rest(e[i])}else n=utils.rest(e[t]);for(var s=n[r[0]],l=1;l<r.length;l++)s<n[r[l]]&&(s=n[r[l]]);return s},exports.DMIN=function(e,t,o){if(isNaN(t)&&"string"!=typeof t)return error.value;var r=findResultIndex(e,o),n=[];if("string"==typeof t){var i=exports.FINDFIELD(e,t);n=utils.rest(e[i])}else n=utils.rest(e[t]);for(var s=n[r[0]],l=1;l<r.length;l++)s>n[r[l]]&&(s=n[r[l]]);return s},exports.DPRODUCT=function(e,t,o){if(isNaN(t)&&"string"!=typeof t)return error.value;var r=findResultIndex(e,o),n=[];if("string"==typeof t){var i=exports.FINDFIELD(e,t);n=utils.rest(e[i])}else n=utils.rest(e[t]);for(var s=[],l=0;l<r.length;l++)s[l]=n[r[l]];s=compact(s);var a=1;for(l=0;l<s.length;l++)a*=s[l];return a},exports.DSTDEV=function(e,t,o){},exports.DSTDEVP=function(e,t,o){},exports.DSUM=function(e,t,o){},exports.DVAR=function(e,t,o){},exports.DVARP=function(e,t,o){},exports.MATCH=function(e,t,o){if(!e&&!t)return error.na;if(2===arguments.length&&(o=1),!(t instanceof Array))return error.na;if(-1!==o&&0!==o&&1!==o)return error.na;for(var r,n,i=0;i<t.length;i++)if(1===o){if(t[i]===e)return i+1;t[i]<e&&(n?t[i]>n&&(r=i+1,n=t[i]):(r=i+1,n=t[i]))}else if(0===o){if("string"==typeof e){if(e=e.replace(/\?/g,"."),t[i].toLowerCase().match(e.toLowerCase()))return i+1}else if(t[i]===e)return i+1}else if(-1===o){if(t[i]===e)return i+1;t[i]>e&&(n?t[i]<n&&(r=i+1,n=t[i]):(r=i+1,n=t[i]))}return r||error.na},exports}(),jexcel.methods.engineering=function(){var e={};function t(e){return/^[01]{1,10}$/.test(e)}return e.BESSELI=function(e,t){},e.BESSELJ=function(e,t){},e.BESSELK=function(e,t){},e.BESSELY=function(e,t){},e.BIN2DEC=function(e){if(!t(e))return error.num;var o=parseInt(e,2),r=e.toString();return 10===r.length&&"1"===r.substring(0,1)?parseInt(r.substring(1),2)-512:o},e.BIN2HEX=function(e,o){if(!t(e))return error.num;var r=e.toString();if(10===r.length&&"1"===r.substring(0,1))return(0xfffffffe00+parseInt(r.substring(1),2)).toString(16);var n=parseInt(e,2).toString(16);return void 0===o?n:isNaN(o)?error.value:o<0?error.num:(o=Math.floor(o))>=n.length?REPT("0",o-n.length)+n:error.num},e.BIN2OCT=function(e,o){if(!t(e))return error.num;var r=e.toString();if(10===r.length&&"1"===r.substring(0,1))return(1073741312+parseInt(r.substring(1),2)).toString(8);var n=parseInt(e,2).toString(8);return void 0===o?n:isNaN(o)?error.value:o<0?error.num:(o=Math.floor(o))>=n.length?REPT("0",o-n.length)+n:error.num},e.BITAND=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e<0||t<0||Math.floor(e)!==e||Math.floor(t)!==t||e>0xffffffffffff||t>0xffffffffffff?error.num:e&t},e.BITLSHIFT=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e<0||Math.floor(e)!==e||e>0xffffffffffff||Math.abs(t)>53?error.num:t>=0?e<<t:e>>-t},e.BITOR=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e<0||t<0||Math.floor(e)!==e||Math.floor(t)!==t||e>0xffffffffffff||t>0xffffffffffff?error.num:e|t},e.BITRSHIFT=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e<0||Math.floor(e)!==e||e>0xffffffffffff||Math.abs(t)>53?error.num:t>=0?e>>t:e<<-t},e.BITXOR=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e<0||t<0||Math.floor(e)!==e||Math.floor(t)!==t||e>0xffffffffffff||t>0xffffffffffff?error.num:e^t},e.COMPLEX=function(e,t,o){if(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t))return e;if("i"!==(o=void 0===o?"i":o)&&"j"!==o)return error.value;if(0===e&&0===t)return 0;if(0===e)return 1===t?o:t.toString()+o;if(0===t)return e.toString();var r=t>0?"+":"";return e.toString()+r+(1===t?o:t.toString()+o)},e.CONVERT=function(e,t,o){if((e=utils.parseNumber(e))instanceof Error)return e;for(var r,n=[["a.u. of action","?",null,"action",!1,!1,105457168181818e-48],["a.u. of charge","e",null,"electric_charge",!1,!1,160217653141414e-33],["a.u. of energy","Eh",null,"energy",!1,!1,435974417757576e-32],["a.u. of length","a?",null,"length",!1,!1,529177210818182e-25],["a.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["a.u. of time","?/Eh",null,"time",!1,!1,241888432650516e-31],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,149597870691667e-25],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["coulomb","C",null,"electric_charge",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,846786664623715e-61],["cubic metre","m?",null,"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,4168181825.44058],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,7.58660370370369e-8],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,166053886282828e-41],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["degrees Rankine","Rank",null,"temperature",!1,!0,.555555555555556],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["farad","F",null,"electric_capacitance",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519.538],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,105457168181818e-48],["n.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,128808866778687e-35],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,895054210748189e17],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988.110336],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]],i={Yi:["yobi",80,12089258196146292e8,"Yi","yotta"],Zi:["zebi",70,11805916207174113e5,"Zi","zetta"],Ei:["exbi",60,0x1000000000000000,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]},s={Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]},l=null,a=null,u=t,c=o,d=1,p=1,b=0;b<n.length;b++)r=null===n[b][2]?[]:n[b][2],(n[b][1]===u||r.indexOf(u)>=0)&&(l=n[b]),(n[b][1]===c||r.indexOf(c)>=0)&&(a=n[b]);if(null===l){var f=i[t.substring(0,2)],m=s[t.substring(0,1)];"da"===t.substring(0,2)&&(m=["dekao",10,"da"]),f?(d=f[2],u=t.substring(2)):m&&(d=m[1],u=t.substring(m[2].length));for(var j=0;j<n.length;j++)r=null===n[j][2]?[]:n[j][2],(n[j][1]===u||r.indexOf(u)>=0)&&(l=n[j])}if(null===a){var h=i[o.substring(0,2)],g=s[o.substring(0,1)];"da"===o.substring(0,2)&&(g=["dekao",10,"da"]),h?(p=h[2],c=o.substring(2)):g&&(p=g[1],c=o.substring(g[2].length));for(var v=0;v<n.length;v++)r=null===n[v][2]?[]:n[v][2],(n[v][1]===c||r.indexOf(c)>=0)&&(a=n[v])}return null===l||null===a||l[3]!==a[3]?error.na:e*l[6]*d/(a[6]*p)},e.DEC2BIN=function(e,t){if((e=utils.parseNumber(e))instanceof Error)return e;if(!/^-?[0-9]{1,3}$/.test(e)||e<-512||e>511)return error.num;if(e<0)return"1"+REPT("0",9-(512+e).toString(2).length)+(512+e).toString(2);var o=parseInt(e,10).toString(2);return void 0===t?o:isNaN(t)?error.value:t<0?error.num:(t=Math.floor(t))>=o.length?REPT("0",t-o.length)+o:error.num},e.DEC2HEX=function(e,t){if((e=utils.parseNumber(e))instanceof Error)return e;if(!/^-?[0-9]{1,12}$/.test(e)||e<-549755813888||e>549755813887)return error.num;if(e<0)return(1099511627776+e).toString(16);var o=parseInt(e,10).toString(16);return void 0===t?o:isNaN(t)?error.value:t<0?error.num:(t=Math.floor(t))>=o.length?REPT("0",t-o.length)+o:error.num},e.DEC2OCT=function(e,t){if((e=utils.parseNumber(e))instanceof Error)return e;if(!/^-?[0-9]{1,9}$/.test(e)||e<-536870912||e>536870911)return error.num;if(e<0)return(1073741824+e).toString(8);var o=parseInt(e,10).toString(8);return void 0===t?o:isNaN(t)?error.value:t<0?error.num:(t=Math.floor(t))>=o.length?REPT("0",t-o.length)+o:error.num},e.DELTA=function(e,t){return t=void 0===t?0:t,e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e===t?1:0},e.ERF=function(e,t){},e.ERF.PRECISE=function(){},e.ERFC=function(e){},e.ERFC.PRECISE=function(){},e.GESTEP=function(e,t){return t=t||0,e=utils.parseNumber(e),utils.anyIsError(t,e)?e:e>=t?1:0},e.HEX2BIN=function(e,t){if(!/^[0-9A-Fa-f]{1,10}$/.test(e))return error.num;var o=10===e.length&&"f"===e.substring(0,1).toLowerCase(),r=o?parseInt(e,16)-1099511627776:parseInt(e,16);if(r<-512||r>511)return error.num;if(o)return"1"+REPT("0",9-(512+r).toString(2).length)+(512+r).toString(2);var n=r.toString(2);return void 0===t?n:isNaN(t)?error.value:t<0?error.num:(t=Math.floor(t))>=n.length?REPT("0",t-n.length)+n:error.num},e.HEX2DEC=function(e){if(!/^[0-9A-Fa-f]{1,10}$/.test(e))return error.num;var t=parseInt(e,16);return t>=549755813888?t-1099511627776:t},e.HEX2OCT=function(e,t){if(!/^[0-9A-Fa-f]{1,10}$/.test(e))return error.num;var o=parseInt(e,16);if(o>536870911&&o<0xffe0000000)return error.num;if(o>=0xffe0000000)return(o-0xffc0000000).toString(8);var r=o.toString(8);return void 0===t?r:isNaN(t)?error.value:t<0?error.num:(t=Math.floor(t))>=r.length?REPT("0",t-r.length)+r:error.num},e.IMABS=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);return utils.anyIsError(o,r)?error.value:Math.sqrt(Math.pow(o,2)+Math.pow(r,2))},e.IMAGINARY=function(e){if(void 0===e||!0===e||!1===e)return error.value;if(0===e||"0"===e)return 0;if(["i","j"].indexOf(e)>=0)return 1;var t=(e=e.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j")).indexOf("+"),o=e.indexOf("-");0===t&&(t=e.indexOf("+",1)),0===o&&(o=e.indexOf("-",1));var r=e.substring(e.length-1,e.length),n="i"===r||"j"===r;return t>=0||o>=0?n?t>=0?isNaN(e.substring(0,t))||isNaN(e.substring(t+1,e.length-1))?error.num:Number(e.substring(t+1,e.length-1)):isNaN(e.substring(0,o))||isNaN(e.substring(o+1,e.length-1))?error.num:-Number(e.substring(o+1,e.length-1)):error.num:n?isNaN(e.substring(0,e.length-1))?error.num:e.substring(0,e.length-1):isNaN(e)?error.num:0},e.IMARGUMENT=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);return utils.anyIsError(o,r)?error.value:0===o&&0===r?error.div0:0===o&&r>0?Math.PI/2:0===o&&r<0?-Math.PI/2:0===r&&o>0?0:0===r&&o<0?-Math.PI:o>0?Math.atan(r/o):o<0&&r>=0?Math.atan(r/o)+Math.PI:Math.atan(r/o)-Math.PI},e.IMCONJUGATE=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);return n="i"===n||"j"===n?n:"i",0!==r?e.COMPLEX(o,-r,n):t},e.IMCOS=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);return n="i"===n||"j"===n?n:"i",e.COMPLEX(Math.cos(o)*(Math.exp(r)+Math.exp(-r))/2,-Math.sin(o)*(Math.exp(r)-Math.exp(-r))/2,n)},e.IMCOSH=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);return n="i"===n||"j"===n?n:"i",e.COMPLEX(Math.cos(r)*(Math.exp(o)+Math.exp(-o))/2,Math.sin(r)*(Math.exp(o)-Math.exp(-o))/2,n)},e.IMCOT=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);return utils.anyIsError(o,r)?error.value:e.IMDIV(e.IMCOS(t),e.IMSIN(t))},e.IMDIV=function(t,o){var r=e.IMREAL(t),n=e.IMAGINARY(t),i=e.IMREAL(o),s=e.IMAGINARY(o);if(utils.anyIsError(r,n,i,s))return error.value;var l=t.substring(t.length-1),a=o.substring(o.length-1),u="i";if(("j"===l||"j"===a)&&(u="j"),0===i&&0===s)return error.num;var c=i*i+s*s;return e.COMPLEX((r*i+n*s)/c,(n*i-r*s)/c,u)},e.IMEXP=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);n="i"===n||"j"===n?n:"i";var i=Math.exp(o);return e.COMPLEX(i*Math.cos(r),i*Math.sin(r),n)},e.IMLN=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);return n="i"===n||"j"===n?n:"i",e.COMPLEX(Math.log(Math.sqrt(o*o+r*r)),Math.atan(r/o),n)},e.IMLOG10=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);return n="i"===n||"j"===n?n:"i",e.COMPLEX(Math.log(Math.sqrt(o*o+r*r))/Math.log(10),Math.atan(r/o)/Math.log(10),n)},e.IMLOG2=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);return n="i"===n||"j"===n?n:"i",e.COMPLEX(Math.log(Math.sqrt(o*o+r*r))/Math.log(2),Math.atan(r/o)/Math.log(2),n)},e.IMPOWER=function(t,o){o=utils.parseNumber(o);var r=e.IMREAL(t),n=e.IMAGINARY(t);if(utils.anyIsError(o,r,n))return error.value;var i=t.substring(t.length-1);i="i"===i||"j"===i?i:"i";var s=Math.pow(e.IMABS(t),o),l=e.IMARGUMENT(t);return e.COMPLEX(s*Math.cos(o*l),s*Math.sin(o*l),i)},e.IMPRODUCT=function(){for(var t=arguments[0],o=1;o<arguments.length;o++){var r=e.IMREAL(t),n=e.IMAGINARY(t),i=e.IMREAL(arguments[o]),s=e.IMAGINARY(arguments[o]);if(utils.anyIsError(r,n,i,s))return error.value;t=e.COMPLEX(r*i-n*s,r*s+n*i)}return t},e.IMREAL=function(e){if(void 0===e||!0===e||!1===e)return error.value;if(0===e||"0"===e)return 0;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(e)>=0)return 0;var t=e.indexOf("+"),o=e.indexOf("-");0===t&&(t=e.indexOf("+",1)),0===o&&(o=e.indexOf("-",1));var r=e.substring(e.length-1,e.length),n="i"===r||"j"===r;return t>=0||o>=0?n?t>=0?isNaN(e.substring(0,t))||isNaN(e.substring(t+1,e.length-1))?error.num:Number(e.substring(0,t)):isNaN(e.substring(0,o))||isNaN(e.substring(o+1,e.length-1))?error.num:Number(e.substring(0,o)):error.num:n?isNaN(e.substring(0,e.length-1))?error.num:0:isNaN(e)?error.num:e},e.IMSEC=function(t){if(!0===t||!1===t)return error.value;var o=e.IMREAL(t),r=e.IMAGINARY(t);return utils.anyIsError(o,r)?error.value:e.IMDIV("1",e.IMCOS(t))},e.IMSECH=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);return utils.anyIsError(o,r)?error.value:e.IMDIV("1",e.IMCOSH(t))},e.IMSIN=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);return n="i"===n||"j"===n?n:"i",e.COMPLEX(Math.sin(o)*(Math.exp(r)+Math.exp(-r))/2,Math.cos(o)*(Math.exp(r)-Math.exp(-r))/2,n)},e.IMSINH=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);return n="i"===n||"j"===n?n:"i",e.COMPLEX(Math.cos(r)*(Math.exp(o)-Math.exp(-o))/2,Math.sin(r)*(Math.exp(o)+Math.exp(-o))/2,n)},e.IMSQRT=function(t){var o=e.IMREAL(t),r=e.IMAGINARY(t);if(utils.anyIsError(o,r))return error.value;var n=t.substring(t.length-1);n="i"===n||"j"===n?n:"i";var i=Math.sqrt(e.IMABS(t)),s=e.IMARGUMENT(t);return e.COMPLEX(i*Math.cos(s/2),i*Math.sin(s/2),n)},e.IMCSC=function(t){if(!0===t||!1===t)return error.value;var o=e.IMREAL(t),r=e.IMAGINARY(t);return utils.anyIsError(o,r)?error.num:e.IMDIV("1",e.IMSIN(t))},e.IMCSCH=function(t){if(!0===t||!1===t)return error.value;var o=e.IMREAL(t),r=e.IMAGINARY(t);return utils.anyIsError(o,r)?error.num:e.IMDIV("1",e.IMSINH(t))},e.IMSUB=function(e,t){var o=this.IMREAL(e),r=this.IMAGINARY(e),n=this.IMREAL(t),i=this.IMAGINARY(t);if(utils.anyIsError(o,r,n,i))return error.value;var s=e.substring(e.length-1),l=t.substring(t.length-1),a="i";return("j"===s||"j"===l)&&(a="j"),this.COMPLEX(o-n,r-i,a)},e.IMSUM=function(){for(var e=utils.flatten(arguments),t=e[0],o=1;o<e.length;o++){var r=this.IMREAL(t),n=this.IMAGINARY(t),i=this.IMREAL(e[o]),s=this.IMAGINARY(e[o]);if(utils.anyIsError(r,n,i,s))return error.value;t=this.COMPLEX(r+i,n+s)}return t},e.IMTAN=function(t){if(!0===t||!1===t)return error.value;var o=e.IMREAL(t),r=e.IMAGINARY(t);return utils.anyIsError(o,r)?error.value:this.IMDIV(this.IMSIN(t),this.IMCOS(t))},e.OCT2BIN=function(e,t){if(!/^[0-7]{1,10}$/.test(e))return error.num;var o=10===e.length&&"7"===e.substring(0,1),r=o?parseInt(e,8)-1073741824:parseInt(e,8);if(r<-512||r>511)return error.num;if(o)return"1"+REPT("0",9-(512+r).toString(2).length)+(512+r).toString(2);var n=r.toString(2);return void 0===t?n:isNaN(t)?error.value:t<0?error.num:(t=Math.floor(t))>=n.length?REPT("0",t-n.length)+n:error.num},e.OCT2DEC=function(e){if(!/^[0-7]{1,10}$/.test(e))return error.num;var t=parseInt(e,8);return t>=536870912?t-1073741824:t},e.OCT2HEX=function(e,t){if(!/^[0-7]{1,10}$/.test(e))return error.num;var o=parseInt(e,8);if(o>=536870912)return"ff"+(o+3221225472).toString(16);var r=o.toString(16);return void 0===t?r:isNaN(t)?error.value:t<0?error.num:(t=Math.floor(t))>=r.length?REPT("0",t-r.length)+r:error.num},e}(),jexcel.methods.financial=function(){var e={};function t(e){return e&&e.getTime&&!isNaN(e.getTime())}function o(e){return e instanceof Date?e:new Date(e)}return e.ACCRINT=function(e,r,n,i,s,l,a){return e=o(e),r=o(r),n=o(n),t(e)&&t(r)&&t(n)?i<=0||s<=0||-1===[1,2,4].indexOf(l)||-1===[0,1,2,3,4].indexOf(a)||n<=e?"#NUM!":(a=a||0,(s=s||0)*i*YEARFRAC(e,n,a)):"#VALUE!"},e.ACCRINTM=null,e.AMORDEGRC=null,e.AMORLINC=null,e.COUPDAYBS=null,e.COUPDAYS=null,e.COUPDAYSNC=null,e.COUPNCD=null,e.COUPNUM=null,e.COUPPCD=null,e.CUMIPMT=function(t,o,r,n,i,s){if(t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),utils.anyIsError(t,o,r))return error.value;if(t<=0||o<=0||r<=0)return error.num;if(n<1||i<1||n>i)return error.num;if(0!==s&&1!==s)return error.num;var l=e.PMT(t,o,r,0,s),a=0;1===n&&0===s&&(a=-r,n++);for(var u=n;u<=i;u++)a+=1===s?e.FV(t,u-2,l,r,1)-l:e.FV(t,u-1,l,r,0);return a*t},e.CUMPRINC=function(t,o,r,n,i,s){if(t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),utils.anyIsError(t,o,r))return error.value;if(t<=0||o<=0||r<=0)return error.num;if(n<1||i<1||n>i)return error.num;if(0!==s&&1!==s)return error.num;var l=e.PMT(t,o,r,0,s),a=0;1===n&&(a=0===s?l+r*t:l,n++);for(var u=n;u<=i;u++)a+=s>0?l-(e.FV(t,u-2,l,r,1)-l)*t:l-e.FV(t,u-1,l,r,0)*t;return a},e.DB=function(e,t,o,r,n){if(n=void 0===n?12:n,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),n=utils.parseNumber(n),utils.anyIsError(e,t,o,r,n))return error.value;if(e<0||t<0||o<0||r<0)return error.num;if(-1===[1,2,3,4,5,6,7,8,9,10,11,12].indexOf(n))return error.num;if(r>o)return error.num;if(t>=e)return 0;for(var i=(1-Math.pow(t/e,1/o)).toFixed(3),s=e*i*n/12,l=s,a=0,u=r===o?o-1:r,c=2;c<=u;c++)l+=a=(e-l)*i;return 1===r?s:r===o?(e-l)*i:a},e.DDB=function(e,t,o,r,n){if(n=void 0===n?2:n,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),n=utils.parseNumber(n),utils.anyIsError(e,t,o,r,n))return error.value;if(e<0||t<0||o<0||r<0||n<=0)return error.num;if(r>o)return error.num;if(t>=e)return 0;for(var i=0,s=0,l=1;l<=r;l++)i+=s=Math.min(n/o*(e-i),e-t-i);return s},e.DISC=null,e.DOLLARDE=function(e,t){if(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;if(t<0)return error.num;if(t>=0&&t<1)return error.div0;t=parseInt(t,10);var o=parseInt(e,10);o+=e%1*Math.pow(10,Math.ceil(Math.log(t)/Math.LN10))/t;var r=Math.pow(10,Math.ceil(Math.log(t)/Math.LN2)+1);return Math.round(o*r)/r},e.DOLLARFR=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:t<0?error.num:t>=0&&t<1?error.div0:(t=parseInt(t,10),parseInt(e,10)+e%1*Math.pow(10,-Math.ceil(Math.log(t)/Math.LN10))*t)},e.DURATION=null,e.EFFECT=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e<=0||t<1?error.num:(t=parseInt(t,10),Math.pow(1+e/t,t)-1)},e.FV=function(e,t,o,r,n){if(r=r||0,n=n||0,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),n=utils.parseNumber(n),utils.anyIsError(e,t,o,r,n))return error.value;var i;if(0===e)i=r+o*t;else{var s=Math.pow(1+e,t);i=1===n?r*s+o*(1+e)*(s-1)/e:r*s+o*(s-1)/e}return-i},e.FVSCHEDULE=function(e,t){if(e=utils.parseNumber(e),t=utils.parseNumberArray(utils.flatten(t)),utils.anyIsError(e,t))return error.value;for(var o=t.length,r=e,n=0;n<o;n++)r*=1+t[n];return r},e.INTRATE=null,e.IPMT=function(t,o,r,n,i,s){if(i=i||0,s=s||0,t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),n=utils.parseNumber(n),i=utils.parseNumber(i),s=utils.parseNumber(s),utils.anyIsError(t,o,r,n,i,s))return error.value;var l=e.PMT(t,r,n,i,s);return(1===o?1===s?0:-n:1===s?e.FV(t,o-2,l,n,1)-l:e.FV(t,o-1,l,n,0))*t},e.IRR=function(e,t){if(t=t||0,e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;for(var o=function(e,t,o){for(var r=o+1,n=e[0],i=1;i<e.length;i++)n+=e[i]/Math.pow(r,(t[i]-t[0])/365);return n},r=function(e,t,o){for(var r=o+1,n=0,i=1;i<e.length;i++){var s=(t[i]-t[0])/365;n-=s*e[i]/Math.pow(r,s+1)}return n},n=[],i=!1,s=!1,l=0;l<e.length;l++)n[l]=0===l?0:n[l-1]+365,e[l]>0&&(i=!0),e[l]<0&&(s=!0);if(!i||!s)return error.num;var a,u,c,d=t=void 0===t?.1:t,p=!0;do{a=d-(c=o(e,n,d))/r(e,n,d),u=Math.abs(a-d),d=a,p=u>1e-10&&Math.abs(c)>1e-10}while(p);return d},e.ISPMT=function(e,t,o,r){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),utils.anyIsError(e,t,o,r)?error.value:r*e*(t/o-1)},e.MDURATION=null,e.MIRR=function(t,o,r){if(t=utils.parseNumberArray(utils.flatten(t)),o=utils.parseNumber(o),r=utils.parseNumber(r),utils.anyIsError(t,o,r))return error.value;for(var n=t.length,i=[],s=[],l=0;l<n;l++)t[l]<0?i.push(t[l]):s.push(t[l]);var a=-e.NPV(r,s)*Math.pow(1+r,n-1),u=e.NPV(o,i)*(1+o);return Math.pow(a/u,1/(n-1))-1},e.NOMINAL=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e<=0||t<1?error.num:(t=parseInt(t,10),(Math.pow(e+1,1/t)-1)*t)},e.NPER=function(e,t,o,r,n){if(n=void 0===n?0:n,r=void 0===r?0:r,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),n=utils.parseNumber(n),utils.anyIsError(e,t,o,r,n))return error.value;var i=t*(1+e*n)-r*e,s=o*e+t*(1+e*n);return Math.log(i/s)/Math.log(1+e)},e.NPV=function(){var e=utils.parseNumberArray(utils.flatten(arguments));if(e instanceof Error)return e;for(var t=e[0],o=0,r=1;r<e.length;r++)o+=e[r]/Math.pow(1+t,r);return o},e.ODDFPRICE=null,e.ODDFYIELD=null,e.ODDLPRICE=null,e.ODDLYIELD=null,e.PDURATION=function(e,t,o){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:e<=0?error.num:(Math.log(o)-Math.log(t))/Math.log(1+e)},e.PMT=function(e,t,o,r,n){if(r=r||0,n=n||0,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),n=utils.parseNumber(n),utils.anyIsError(e,t,o,r,n))return error.value;var i;if(0===e)i=(o+r)/t;else{var s=Math.pow(1+e,t);i=1===n?(r*e/(s-1)+o*e/(1-1/s))/(1+e):r*e/(s-1)+o*e/(1-1/s)}return-i},e.PPMT=function(t,o,r,n,i,s){return i=i||0,s=s||0,t=utils.parseNumber(t),r=utils.parseNumber(r),n=utils.parseNumber(n),i=utils.parseNumber(i),s=utils.parseNumber(s),utils.anyIsError(t,r,n,i,s)?error.value:e.PMT(t,r,n,i,s)-e.IPMT(t,o,r,n,i,s)},e.PRICE=null,e.PRICEDISC=null,e.PRICEMAT=null,e.PV=function(e,t,o,r,n){return r=r||0,n=n||0,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),n=utils.parseNumber(n),utils.anyIsError(e,t,o,r,n)?error.value:0===e?-o*t-r:((1-Math.pow(1+e,t))/e*o*(1+e*n)-r)/Math.pow(1+e,t)},e.RATE=function(e,t,o,r,n,i){if(i=void 0===i?.01:i,r=void 0===r?0:r,n=void 0===n?0:n,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),n=utils.parseNumber(n),i=utils.parseNumber(i),utils.anyIsError(e,t,o,r,n,i))return error.value;for(var s=0,l=!1,a=i;s<100&&!l;){var u=Math.pow(a+1,e),c=Math.pow(a+1,e-1),d=a-(r+u*o+t*(u-1)*(a*n+1)/a)/(e*c*o-t*(u-1)*(a*n+1)/Math.pow(a,2)+(e*t*c*(a*n+1)/a+t*(u-1)*n/a));Math.abs(d-a)<1e-6&&(l=!0),s++,a=d}return l?a:Number.NaN+a},e.RECEIVED=null,e.RRI=function(e,t,o){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:0===e||0===t?error.num:Math.pow(o/t,1/e)-1},e.SLN=function(e,t,o){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:0===o?error.num:(e-t)/o},e.SYD=function(e,t,o,r){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumber(r),utils.anyIsError(e,t,o,r)?error.value:0===o||r<1||r>o?error.num:(e-t)*(o-(r=parseInt(r,10))+1)*2/(o*(o+1))},e.TBILLEQ=function(e,t,o){return e=utils.parseDate(e),t=utils.parseDate(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:o<=0||e>t||t-e>31536e6?error.num:365*o/(360-o*DAYS360(e,t,!1))},e.TBILLPRICE=function(e,t,o){return e=utils.parseDate(e),t=utils.parseDate(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:o<=0||e>t||t-e>31536e6?error.num:100*(1-o*DAYS360(e,t,!1)/360)},e.TBILLYIELD=function(e,t,o){return e=utils.parseDate(e),t=utils.parseDate(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:o<=0||e>t||t-e>31536e6?error.num:360*(100-o)/(o*DAYS360(e,t,!1))},e.VDB=null,e.XIRR=function(e,t,o){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseDateArray(utils.flatten(t)),o=utils.parseNumber(o),utils.anyIsError(e,t,o))return error.value;for(var r=function(e,t,o){for(var r=o+1,n=e[0],i=1;i<e.length;i++)n+=e[i]/Math.pow(r,DAYS(t[i],t[0])/365);return n},n=function(e,t,o){for(var r=o+1,n=0,i=1;i<e.length;i++){var s=DAYS(t[i],t[0])/365;n-=s*e[i]/Math.pow(r,s+1)}return n},i=!1,s=!1,l=0;l<e.length;l++)e[l]>0&&(i=!0),e[l]<0&&(s=!0);if(!i||!s)return error.num;var a,u,c,d=o=o||.1,p=!0;do{a=d-(c=r(e,t,d))/n(e,t,d),u=Math.abs(a-d),d=a,p=u>1e-10&&Math.abs(c)>1e-10}while(p);return d},e.XNPV=function(e,t,o){if(e=utils.parseNumber(e),t=utils.parseNumberArray(utils.flatten(t)),o=utils.parseDateArray(utils.flatten(o)),utils.anyIsError(e,t,o))return error.value;for(var r=0,n=0;n<t.length;n++)r+=t[n]/Math.pow(1+e,DAYS(o[n],o[0])/365);return r},e.YIELD=null,e.YIELDDISC=null,e.YIELDMAT=null,e}(),jexcel.methods.information=function(){var e={CELL:null,ERROR:{}};return e.ERROR.TYPE=function(e){switch(e){case error.nil:return 1;case error.div0:return 2;case error.value:return 3;case error.ref:return 4;case error.name:return 5;case error.num:return 6;case error.na:return 7;case error.data:return 8}return error.na},e.INFO=null,e.ISBLANK=function(e){return null===e},e.ISBINARY=function(e){return/^[01]{1,10}$/.test(e)},e.ISERR=function(e){return[error.value,error.ref,error.div0,error.num,error.name,error.nil].indexOf(e)>=0||"number"==typeof e&&(isNaN(e)||!isFinite(e))},e.ISERROR=function(t){return e.ISERR(t)||t===error.na},e.ISEVEN=function(e){return!(1&Math.floor(Math.abs(e)))},e.ISFORMULA=null,e.ISLOGICAL=function(e){return!0===e||!1===e},e.ISNA=function(e){return e===error.na},e.ISNONTEXT=function(e){return"string"!=typeof e},e.ISNUMBER=function(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)},e.ISODD=function(e){return!!(1&Math.floor(Math.abs(e)))},e.ISREF=null,e.ISTEXT=function(e){return"string"==typeof e},e.N=function(e){return this.ISNUMBER(e)?e:e instanceof Date?e.getTime():!0===e?1:!1===e?0:this.ISERROR(e)?e:0},e.NA=function(){return error.na},e.SHEET=null,e.SHEETS=null,e.TYPE=function(e){return this.ISNUMBER(e)?1:this.ISTEXT(e)?2:this.ISLOGICAL(e)?4:this.ISERROR(e)?16:Array.isArray(e)?64:void 0},e}(),jexcel.methods.logical=function(){var e={AND:function(){for(var e=utils.flatten(arguments),t=!0,o=0;o<e.length;o++)e[o]||(t=!1);return t},CHOOSE:function(){if(arguments.length<2)return error.na;var e=arguments[0];return e<1||e>254||arguments.length<e+1?error.value:arguments[e]},FALSE:function(){return!1},IF:function(e,t,o){return e?t:o},IFERROR:function(e,t){return ISERROR(e)?t:e},IFNA:function(e,t){return e===error.na?t:e},NOT:function(e){return!e},OR:function(){for(var e=utils.flatten(arguments),t=!1,o=0;o<e.length;o++)e[o]&&(t=!0);return t},TRUE:function(){return!0},XOR:function(){for(var e=utils.flatten(arguments),t=0,o=0;o<e.length;o++)e[o]&&t++;return!!(1&Math.floor(Math.abs(t)))},SWITCH:function(){var e;if(arguments.length>0){var t=arguments[0],o=arguments.length-1,r=Math.floor(o/2),n=!1,i=o%2==0?null:arguments[arguments.length-1];if(r)for(var s=0;s<r;s++)if(t===arguments[2*s+1]){e=arguments[2*s+2],n=!0;break}!n&&i&&(e=i)}return e}};return e}(),jexcel.methods.math=function(){var exports={ABS:function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.abs(utils.parseNumber(e))},ACOS:function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.acos(e)},ACOSH:function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.log(e+Math.sqrt(e*e-1))},ACOT:function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.atan(1/e)},ACOTH:function(e){return(e=utils.parseNumber(e))instanceof Error?e:.5*Math.log((e+1)/(e-1))},AGGREGATE:null,ARABIC:function(e){if(!/^M*(?:D?C{0,3}|C[MD])(?:L?X{0,3}|X[CL])(?:V?I{0,3}|I[XV])$/.test(e))return error.value;var t=0;return e.replace(/[MDLV]|C[MD]?|X[CL]?|I[XV]?/g,(function(e){t+={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1}[e]})),t},ASIN:function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.asin(e)},ASINH:function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.log(e+Math.sqrt(e*e+1))},ATAN:function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.atan(e)},ATAN2:function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:Math.atan2(e,t)},ATANH:function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.log((1+e)/(1-e))/2},BASE:function(e,t,o){if(o=o||0,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o))return error.value;o=void 0===o?0:o;var r=e.toString(t);return new Array(Math.max(o+1-r.length,0)).join("0")+r},CEILING:function(e,t,o){return t=void 0===t?1:t,o=void 0===o?0:o,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:0===t?0:(t=Math.abs(t),e>=0?Math.ceil(e/t)*t:0===o?-1*Math.floor(Math.abs(e)/t)*t:-1*Math.ceil(Math.abs(e)/t)*t)}};exports.CEILING.MATH=exports.CEILING,exports.CEILING.PRECISE=exports.CEILING,exports.COMBIN=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:exports.FACT(e)/(exports.FACT(t)*exports.FACT(e-t))},exports.COMBINA=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:0===e&&0===t?1:exports.COMBIN(e+t-1,e-1)},exports.COS=function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.cos(e)},exports.COSH=function(e){return(e=utils.parseNumber(e))instanceof Error?e:(Math.exp(e)+Math.exp(-e))/2},exports.COT=function(e){return(e=utils.parseNumber(e))instanceof Error?e:1/Math.tan(e)},exports.COTH=function(e){if((e=utils.parseNumber(e))instanceof Error)return e;var t=Math.exp(2*e);return(t+1)/(t-1)},exports.CSC=function(e){return(e=utils.parseNumber(e))instanceof Error?e:1/Math.sin(e)},exports.CSCH=function(e){return(e=utils.parseNumber(e))instanceof Error?e:2/(Math.exp(e)-Math.exp(-e))},exports.DECIMAL=function(e,t){return arguments.length<1?error.value:parseInt(e,t)},exports.DEGREES=function(e){return(e=utils.parseNumber(e))instanceof Error?e:180*e/Math.PI},exports.EVEN=function(e){return(e=utils.parseNumber(e))instanceof Error?e:exports.CEILING(e,-2,-1)},exports.EXP=Math.exp;var MEMOIZED_FACT=[];return exports.FACT=function(e){if((e=utils.parseNumber(e))instanceof Error)return e;var t=Math.floor(e);return 0===t||1===t?1:(MEMOIZED_FACT[t]>0||(MEMOIZED_FACT[t]=exports.FACT(t-1)*t),MEMOIZED_FACT[t])},exports.FACTDOUBLE=function(e){if((e=utils.parseNumber(e))instanceof Error)return e;var t=Math.floor(e);return t<=0?1:t*exports.FACTDOUBLE(t-2)},exports.FLOOR=function(e,t,o){return t=void 0===t?1:t,o=void 0===o?0:o,e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:0===t?0:(t=Math.abs(t),e>=0?Math.floor(e/t)*t:0===o?-1*Math.ceil(Math.abs(e)/t)*t:-1*Math.floor(Math.abs(e)/t)*t)},exports.FLOOR.MATH=exports.FLOOR,exports.GCD=null,exports.INT=function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.floor(e)},exports.LCM=function(){var e=utils.parseNumberArray(utils.flatten(arguments));if(e instanceof Error)return e;for(var t,o,r,n,i=1;void 0!==(r=e.pop());)for(;r>1;){if(r%2){for(t=3,o=Math.floor(Math.sqrt(r));t<=o&&r%t;t+=2);n=t<=o?t:r}else n=2;for(r/=n,i*=n,t=e.length;t;e[--t]%n==0&&1==(e[t]/=n)&&e.splice(t,1));}return i},exports.LN=function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.log(e)},exports.LOG=function(e,t){return e=utils.parseNumber(e),t=void 0===t?10:utils.parseNumber(t),utils.anyIsError(e,t)?error.value:Math.log(e)/Math.log(t)},exports.LOG10=function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.log(e)/Math.log(10)},exports.MDETERM=null,exports.MINVERSE=null,exports.MMULT=null,exports.MOD=function(e,t){if(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;if(0===t)return error.div0;var o=Math.abs(e%t);return t>0?o:-o},exports.MROUND=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e*t<0?error.num:Math.round(e/t)*t},exports.MULTINOMIAL=function(){var e=utils.parseNumberArray(utils.flatten(arguments));if(e instanceof Error)return e;for(var t=0,o=1,r=0;r<e.length;r++)t+=e[r],o*=exports.FACT(e[r]);return exports.FACT(t)/o},exports.MUNIT=null,exports.ODD=function(e){if((e=utils.parseNumber(e))instanceof Error)return e;var t=Math.ceil(Math.abs(e));return t=1&t?t:t+1,e>0?t:-t},exports.PI=function(){return Math.PI},exports.POWER=function(e,t){if(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;var o=Math.pow(e,t);return isNaN(o)?error.num:o},exports.PRODUCT=function(){var e=utils.parseNumberArray(utils.flatten(arguments));if(e instanceof Error)return e;for(var t=1,o=0;o<e.length;o++)t*=e[o];return t},exports.QUOTIENT=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:parseInt(e/t,10)},exports.RADIANS=function(e){return(e=utils.parseNumber(e))instanceof Error?e:e*Math.PI/180},exports.RAND=function(){return Math.random()},exports.RANDBETWEEN=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e+Math.ceil((t-e+1)*Math.random())-1},exports.ROMAN=null,exports.ROUND=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:Math.round(e*Math.pow(10,t))/Math.pow(10,t)},exports.ROUNDDOWN=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:(e>0?1:-1)*Math.floor(Math.abs(e)*Math.pow(10,t))/Math.pow(10,t)},exports.ROUNDUP=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:(e>0?1:-1)*Math.ceil(Math.abs(e)*Math.pow(10,t))/Math.pow(10,t)},exports.SEC=function(e){return(e=utils.parseNumber(e))instanceof Error?e:1/Math.cos(e)},exports.SECH=function(e){return(e=utils.parseNumber(e))instanceof Error?e:2/(Math.exp(e)+Math.exp(-e))},exports.SERIESSUM=function(e,t,o,r){if(e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),r=utils.parseNumberArray(r),utils.anyIsError(e,t,o,r))return error.value;for(var n=r[0]*Math.pow(e,t),i=1;i<r.length;i++)n+=r[i]*Math.pow(e,t+i*o);return n},exports.SIGN=function(e){return(e=utils.parseNumber(e))instanceof Error?e:e<0?-1:0===e?0:1},exports.SIN=function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.sin(e)},exports.SINH=function(e){return(e=utils.parseNumber(e))instanceof Error?e:(Math.exp(e)-Math.exp(-e))/2},exports.SQRT=function(e){return(e=utils.parseNumber(e))instanceof Error?e:e<0?error.num:Math.sqrt(e)},exports.SQRTPI=function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.sqrt(e*Math.PI)},exports.SUBTOTAL=null,exports.ADD=function(e,t){return 2!==arguments.length?error.na:(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e+t)},exports.MINUS=function(e,t){return 2!==arguments.length?error.na:(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e-t)},exports.DIVIDE=function(e,t){return 2!==arguments.length?error.na:(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:0===t?error.div0:e/t)},exports.MULTIPLY=function(e,t){return 2!==arguments.length?error.na:(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:e*t)},exports.GTE=function(e,t){return 2!==arguments.length?error.na:(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.error:e>=t)},exports.LT=function(e,t){return 2!==arguments.length?error.na:(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.error:e<t)},exports.LTE=function(e,t){return 2!==arguments.length?error.na:(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.error:e<=t)},exports.EQ=function(e,t){return 2!==arguments.length?error.na:e===t},exports.NE=function(e,t){return 2!==arguments.length?error.na:e!==t},exports.POW=function(e,t){return 2!==arguments.length?error.na:(e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.error:exports.POWER(e,t))},exports.SUM=function(){for(var e=0,t=Object.keys(arguments),o=0;o<t.length;++o){var r=arguments[t[o]];if("number"==typeof r)e+=r;else if("string"==typeof r){var n=parseFloat(r);!isNaN(n)&&(e+=n)}else Array.isArray(r)&&(e+=exports.SUM.apply(null,r))}return e},exports.SUMIF=function(range,criteria){if(range=utils.parseNumberArray(utils.flatten(range)),range instanceof Error)return range;for(var result=0,i=0;i<range.length;i++)result+=eval(range[i]+criteria)?range[i]:0;return result},exports.SUMIFS=function(){var args=utils.argsToArray(arguments),range=utils.parseNumberArray(utils.flatten(args.shift()));if(range instanceof Error)return range;for(var criteria=args,n_range_elements=range.length,n_criterias=criteria.length,result=0,i=0;i<n_range_elements;i++){for(var el=range[i],condition="",c=0;c<n_criterias;c++)condition+=el+criteria[c],c!==n_criterias-1&&(condition+="&&");eval(condition)&&(result+=el)}return result},exports.SUMPRODUCT=null,exports.SUMSQ=function(){var e=utils.parseNumberArray(utils.flatten(arguments));if(e instanceof Error)return e;for(var t=0,o=e.length,r=0;r<o;r++)t+=ISNUMBER(e[r])?e[r]*e[r]:0;return t},exports.SUMX2MY2=function(e,t){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumberArray(utils.flatten(t)),utils.anyIsError(e,t))return error.value;for(var o=0,r=0;r<e.length;r++)o+=e[r]*e[r]-t[r]*t[r];return o},exports.SUMX2PY2=function(e,t){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumberArray(utils.flatten(t)),utils.anyIsError(e,t))return error.value;var o=0;e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumberArray(utils.flatten(t));for(var r=0;r<e.length;r++)o+=e[r]*e[r]+t[r]*t[r];return o},exports.SUMXMY2=function(e,t){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumberArray(utils.flatten(t)),utils.anyIsError(e,t))return error.value;var o=0;e=utils.flatten(e),t=utils.flatten(t);for(var r=0;r<e.length;r++)o+=Math.pow(e[r]-t[r],2);return o},exports.TAN=function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.tan(e)},exports.TANH=function(e){if((e=utils.parseNumber(e))instanceof Error)return e;var t=Math.exp(2*e);return(t-1)/(t+1)},exports.TRUNC=function(e,t){return t=void 0===t?0:t,e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:(e>0?1:-1)*Math.floor(Math.abs(e)*Math.pow(10,t))/Math.pow(10,t)},exports}(),jexcel.methods.misc=function(){var e={UNIQUE:function(){for(var e=[],t=0;t<arguments.length;++t){for(var o=!1,r=arguments[t],n=0;n<e.length&&!(o=e[n]===r);++n);o||e.push(r)}return e}};return e.FLATTEN=utils.flatten,e.ARGS2ARRAY=function(){return Array.prototype.slice.call(arguments,0)},e.REFERENCE=function(e,t){try{for(var o=t.split("."),r=e,n=0;n<o.length;++n){var i=o[n];if("]"===i[i.length-1]){var s=i.indexOf("["),l=i.substring(s+1,i.length-1);r=r[i.substring(0,s)][l]}else r=r[i]}return r}catch(e){}},e.JOIN=function(e,t){return e.join(t)},e.NUMBERS=function(){return utils.flatten(arguments).filter((function(e){return"number"==typeof e}))},e.NUMERAL=null,e}(),jexcel.methods.text=function(){var e={ASC:null,BAHTTEXT:null,CHAR:function(e){return(e=utils.parseNumber(e))instanceof Error?e:String.fromCharCode(e)},CLEAN:function(e){return(e=e||"").replace(/[\0-\x1F]/g,"")},CODE:function(e){return(e=e||"").charCodeAt(0)},CONCATENATE:function(){for(var e=utils.flatten(arguments),t=0;(t=e.indexOf(!0))>-1;)e[t]="TRUE";for(var o=0;(o=e.indexOf(!1))>-1;)e[o]="FALSE";return e.join("")},DBCS:null,DOLLAR:null,EXACT:function(e,t){return e===t},FIND:function(e,t,o){return o=void 0===o?0:o,t?t.indexOf(e,o-1)+1:null},FIXED:null,HTML2TEXT:function(e){var t="";return e&&(e instanceof Array?e.forEach((function(e){""!==t&&(t+="\n"),t+=e.replace(/<(?:.|\n)*?>/gm,"")})):t=e.replace(/<(?:.|\n)*?>/gm,"")),t},LEFT:function(e,t){return t=void 0===t?1:t,(t=utils.parseNumber(t))instanceof Error||"string"!=typeof e?error.value:e?e.substring(0,t):null},LEN:function(e){return 0===arguments.length?error.error:"string"==typeof e?e?e.length:0:e.length?e.length:error.value},LOWER:function(e){return"string"!=typeof e?error.value:e?e.toLowerCase():e},MID:function(e,t,o){if(t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(t,o)||"string"!=typeof e)return o;var r=t-1,n=r+o;return e.substring(r,n)},NUMBERVALUE:null,PRONETIC:null,PROPER:function(e){return void 0===e||0===e.length?error.value:(!0===e&&(e="TRUE"),!1===e&&(e="FALSE"),isNaN(e)&&"number"==typeof e?error.value:("number"==typeof e&&(e=""+e),e.replace(/\w\S*/g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()}))))},REGEXEXTRACT:function(e,t){var o=e.match(new RegExp(t));return o?o[o.length>1?o.length-1:0]:null},REGEXMATCH:function(e,t,o){var r=e.match(new RegExp(t));return o?r:!!r},REGEXREPLACE:function(e,t,o){return e.replace(new RegExp(t),o)},REPLACE:function(e,t,o,r){return t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(t,o)||"string"!=typeof e||"string"!=typeof r?error.value:e.substr(0,t-1)+r+e.substr(t-1+o)},REPT:function(e,t){return(t=utils.parseNumber(t))instanceof Error?t:new Array(t+1).join(e)},RIGHT:function(e,t){return t=void 0===t?1:t,(t=utils.parseNumber(t))instanceof Error?t:e?e.substring(e.length-t):null},SEARCH:function(e,t,o){var r;return"string"!=typeof e||"string"!=typeof t?error.value:(o=void 0===o?0:o,0===(r=t.toLowerCase().indexOf(e.toLowerCase(),o-1)+1)?error.value:r)},SPLIT:function(e,t){return e.split(t)},SUBSTITUTE:function(e,t,o,r){if(!(e&&t&&o))return e;if(void 0===r)return e.replace(new RegExp(t,"g"),o);for(var n=0,i=0;e.indexOf(t,n)>0;)if(n=e.indexOf(t,n+1),++i===r)return e.substring(0,n)+o+e.substring(n+t.length)},T:function(e){return"string"==typeof e?e:""},TEXT:null,TRIM:function(e){return"string"!=typeof e?error.value:e.replace(/ +/g," ").trim()}};return e.UNICHAR=e.CHAR,e.UNICODE=e.CODE,e.UPPER=function(e){return"string"!=typeof e?error.value:e.toUpperCase()},e.VALUE=null,e}(),jexcel.methods.stats=function(){var exports={},SQRT2PI=2.5066282746310002;return exports.AVEDEV=null,exports.AVERAGE=function(){for(var e=utils.numbers(utils.flatten(arguments)),t=e.length,o=0,r=0,n=0;n<t;n++)o+=e[n],r+=1;return o/r},exports.AVERAGEA=function(){for(var e=utils.flatten(arguments),t=e.length,o=0,r=0,n=0;n<t;n++){var i=e[n];"number"==typeof i&&(o+=i),!0===i&&o++,null!==i&&r++}return o/r},exports.AVERAGEIF=function(range,criteria,average_range){if(average_range=average_range||range,range=utils.flatten(range),average_range=utils.parseNumberArray(utils.flatten(average_range)),average_range instanceof Error)return average_range;for(var average_count=0,result=0,i=0;i<range.length;i++)eval(range[i]+criteria)&&(result+=average_range[i],average_count++);return result/average_count},exports.AVERAGEIFS=null,exports.COUNT=function(){return utils.numbers(utils.flatten(arguments)).length},exports.COUNTA=function(){var e=utils.flatten(arguments);return e.length-exports.COUNTBLANK(e)},exports.COUNTIN=function(e,t){for(var o=0,r=0;r<e.length;r++)e[r]===t&&o++;return o},exports.COUNTBLANK=function(){for(var e,t=utils.flatten(arguments),o=0,r=0;r<t.length;r++)null!==(e=t[r])&&""!==e||o++;return o},exports.COUNTIF=function(range,criteria){range=utils.flatten(range),/[<>=!]/.test(criteria)||(criteria='=="'+criteria+'"');for(var matches=0,i=0;i<range.length;i++)"string"!=typeof range[i]?eval(range[i]+criteria)&&matches++:eval('"'+range[i]+'"'+criteria)&&matches++;return matches},exports.COUNTIFS=function(){for(var args=utils.argsToArray(arguments),results=new Array(utils.flatten(args[0]).length),i=0;i<results.length;i++)results[i]=!0;for(i=0;i<args.length;i+=2){var range=utils.flatten(args[i]),criteria=args[i+1];/[<>=!]/.test(criteria)||(criteria='=="'+criteria+'"');for(var j=0;j<range.length;j++)"string"!=typeof range[j]?results[j]=results[j]&&eval(range[j]+criteria):results[j]=results[j]&&eval('"'+range[j]+'"'+criteria)}var result=0;for(i=0;i<results.length;i++)results[i]&&result++;return result},exports.COUNTUNIQUE=function(){return UNIQUE.apply(null,utils.flatten(arguments)).length},exports.FISHER=function(e){return(e=utils.parseNumber(e))instanceof Error?e:Math.log((1+e)/(1-e))/2},exports.FISHERINV=function(e){if((e=utils.parseNumber(e))instanceof Error)return e;var t=Math.exp(2*e);return(t-1)/(t+1)},exports.FREQUENCY=function(e,t){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumberArray(utils.flatten(t)),utils.anyIsError(e,t))return error.value;for(var o=e.length,r=t.length,n=[],i=0;i<=r;i++){n[i]=0;for(var s=0;s<o;s++)0===i?e[s]<=t[0]&&(n[0]+=1):i<r?e[s]>t[i-1]&&e[s]<=t[i]&&(n[i]+=1):i===r&&e[s]>t[r-1]&&(n[r]+=1)}return n},exports.LARGE=function(e,t){return e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),utils.anyIsError(e,t)?e:e.sort((function(e,t){return t-e}))[t-1]},exports.MAX=function(){var e=utils.numbers(utils.flatten(arguments));return 0===e.length?0:Math.max.apply(Math,e)},exports.MAXA=function(){var e=utils.arrayValuesToNumbers(utils.flatten(arguments));return 0===e.length?0:Math.max.apply(Math,e)},exports.MIN=function(){var e=utils.numbers(utils.flatten(arguments));return 0===e.length?0:Math.min.apply(Math,e)},exports.MINA=function(){var e=utils.arrayValuesToNumbers(utils.flatten(arguments));return 0===e.length?0:Math.min.apply(Math,e)},exports.MODE={},exports.MODE.MULT=function(){var e=utils.parseNumberArray(utils.flatten(arguments));if(e instanceof Error)return e;for(var t,o=e.length,r={},n=[],i=0,s=0;s<o;s++)r[t=e[s]]=r[t]?r[t]+1:1,r[t]>i&&(i=r[t],n=[]),r[t]===i&&(n[n.length]=t);return n},exports.MODE.SNGL=function(){var e=utils.parseNumberArray(utils.flatten(arguments));return e instanceof Error?e:exports.MODE.MULT(e).sort((function(e,t){return e-t}))[0]},exports.PERCENTILE={},exports.PERCENTILE.EXC=function(e,t){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;var o=(e=e.sort((function(e,t){return e-t}))).length;if(t<1/(o+1)||t>1-1/(o+1))return error.num;var r=t*(o+1)-1,n=Math.floor(r);return utils.cleanFloat(r===n?e[r]:e[n]+(r-n)*(e[n+1]-e[n]))},exports.PERCENTILE.INC=function(e,t){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;var o=t*((e=e.sort((function(e,t){return e-t}))).length-1),r=Math.floor(o);return utils.cleanFloat(o===r?e[o]:e[r]+(o-r)*(e[r+1]-e[r]))},exports.PERCENTRANK={},exports.PERCENTRANK.EXC=function(e,t,o){if(o=void 0===o?3:o,e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o))return error.value;e=e.sort((function(e,t){return e-t}));for(var r=UNIQUE.apply(null,e),n=e.length,i=r.length,s=Math.pow(10,o),l=0,a=!1,u=0;!a&&u<i;)t===r[u]?(l=(e.indexOf(r[u])+1)/(n+1),a=!0):t>=r[u]&&(t<r[u+1]||u===i-1)&&(l=(e.indexOf(r[u])+1+(t-r[u])/(r[u+1]-r[u]))/(n+1),a=!0),u++;return Math.floor(l*s)/s},exports.PERCENTRANK.INC=function(e,t,o){if(o=void 0===o?3:o,e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o))return error.value;e=e.sort((function(e,t){return e-t}));for(var r=UNIQUE.apply(null,e),n=e.length,i=r.length,s=Math.pow(10,o),l=0,a=!1,u=0;!a&&u<i;)t===r[u]?(l=e.indexOf(r[u])/(n-1),a=!0):t>=r[u]&&(t<r[u+1]||u===i-1)&&(l=(e.indexOf(r[u])+(t-r[u])/(r[u+1]-r[u]))/(n-1),a=!0),u++;return Math.floor(l*s)/s},exports.PERMUT=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:FACT(e)/FACT(e-t)},exports.PERMUTATIONA=function(e,t){return e=utils.parseNumber(e),t=utils.parseNumber(t),utils.anyIsError(e,t)?error.value:Math.pow(e,t)},exports.PHI=function(e){return(e=utils.parseNumber(e))instanceof Error?error.value:Math.exp(-.5*e*e)/SQRT2PI},exports.PROB=function(e,t,o,r){if(void 0===o)return 0;if(r=void 0===r?o:r,e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumberArray(utils.flatten(t)),o=utils.parseNumber(o),r=utils.parseNumber(r),utils.anyIsError(e,t,o,r))return error.value;if(o===r)return e.indexOf(o)>=0?t[e.indexOf(o)]:0;for(var n=e.sort((function(e,t){return e-t})),i=n.length,s=0,l=0;l<i;l++)n[l]>=o&&n[l]<=r&&(s+=t[e.indexOf(n[l])]);return s},exports.QUARTILE={},exports.QUARTILE.EXC=function(e,t){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;switch(t){case 1:return exports.PERCENTILE.EXC(e,.25);case 2:return exports.PERCENTILE.EXC(e,.5);case 3:return exports.PERCENTILE.EXC(e,.75);default:return error.num}},exports.QUARTILE.INC=function(e,t){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;switch(t){case 1:return exports.PERCENTILE.INC(e,.25);case 2:return exports.PERCENTILE.INC(e,.5);case 3:return exports.PERCENTILE.INC(e,.75);default:return error.num}},exports.RANK={},exports.RANK.AVG=function(e,t,o){if(e=utils.parseNumber(e),t=utils.parseNumberArray(utils.flatten(t)),utils.anyIsError(e,t))return error.value;for(var r=(o=o||!1)?function(e,t){return e-t}:function(e,t){return t-e},n=(t=(t=utils.flatten(t)).sort(r)).length,i=0,s=0;s<n;s++)t[s]===e&&i++;return i>1?(2*t.indexOf(e)+i+1)/2:t.indexOf(e)+1},exports.RANK.EQ=function(e,t,o){if(e=utils.parseNumber(e),t=utils.parseNumberArray(utils.flatten(t)),utils.anyIsError(e,t))return error.value;var r=(o=o||!1)?function(e,t){return e-t}:function(e,t){return t-e};return(t=t.sort(r)).indexOf(e)+1},exports.RSQ=function(e,t){return e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumberArray(utils.flatten(t)),utils.anyIsError(e,t)?error.value:Math.pow(exports.PEARSON(e,t),2)},exports.SMALL=function(e,t){return e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),utils.anyIsError(e,t)?e:e.sort((function(e,t){return e-t}))[t-1]},exports.STANDARDIZE=function(e,t,o){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:(e-t)/o},exports.STDEV={},exports.STDEV.P=function(){var e=exports.VAR.P.apply(this,arguments);return Math.sqrt(e)},exports.STDEV.S=function(){var e=exports.VAR.S.apply(this,arguments);return Math.sqrt(e)},exports.STDEVA=function(){var e=exports.VARA.apply(this,arguments);return Math.sqrt(e)},exports.STDEVPA=function(){var e=exports.VARPA.apply(this,arguments);return Math.sqrt(e)},exports.VAR={},exports.VAR.P=function(){for(var e=utils.numbers(utils.flatten(arguments)),t=e.length,o=0,r=exports.AVERAGE(e),n=0;n<t;n++)o+=Math.pow(e[n]-r,2);return o/t},exports.VAR.S=function(){for(var e=utils.numbers(utils.flatten(arguments)),t=e.length,o=0,r=exports.AVERAGE(e),n=0;n<t;n++)o+=Math.pow(e[n]-r,2);return o/(t-1)},exports.VARA=function(){for(var e=utils.flatten(arguments),t=e.length,o=0,r=0,n=exports.AVERAGEA(e),i=0;i<t;i++){var s=e[i];o+="number"==typeof s?Math.pow(s-n,2):!0===s?Math.pow(1-n,2):Math.pow(0-n,2),null!==s&&r++}return o/(r-1)},exports.VARPA=function(){for(var e=utils.flatten(arguments),t=e.length,o=0,r=0,n=exports.AVERAGEA(e),i=0;i<t;i++){var s=e[i];o+="number"==typeof s?Math.pow(s-n,2):!0===s?Math.pow(1-n,2):Math.pow(0-n,2),null!==s&&r++}return o/r},exports.WEIBULL={},exports.WEIBULL.DIST=function(e,t,o,r){return e=utils.parseNumber(e),t=utils.parseNumber(t),o=utils.parseNumber(o),utils.anyIsError(e,t,o)?error.value:r?1-Math.exp(-Math.pow(e/o,t)):Math.pow(e,t-1)*Math.exp(-Math.pow(e/o,t))*t/Math.pow(o,t)},exports.Z={},exports.Z.TEST=function(e,t,o){if(e=utils.parseNumberArray(utils.flatten(e)),t=utils.parseNumber(t),utils.anyIsError(e,t))return error.value;o=o||exports.STDEV.S(e);var r=e.length;return 1-exports.NORM.S.DIST((exports.AVERAGE(e)-t)/(o/Math.sqrt(r)),!0)},exports}();for(var i=0;i<Object.keys(jexcel.methods).length;i++)for(var methods=jexcel.methods[Object.keys(jexcel.methods)[i]],j=0;j<Object.keys(methods).length;j++)"function"==typeof methods[Object.keys(methods)[j]]?window[Object.keys(methods)[j]]=methods[Object.keys(methods)[j]]:window[Object.keys(methods)[j]]=function(){return Object.keys(methods)[j]+"Not implemented"};return jexcel},module.exports=factory()},77433:(e,t,o)=>{"use strict";o.r(t)}}]);
//# sourceMappingURL=131.ee437eeefadd750d.js.map