/*! TableSorter (FORK) v2.31.1 */
(function(n){"use strict";var t=n.tablesorter={version:"2.31.1",parsers:[],widgets:[],defaults:{theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,tabIndex:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sortResetKey:"ctrlKey",usNumberFormat:!0,delayInit:!1,serverSideSorting:!1,resort:!0,headers:{},ignoreCase:!0,sortForce:null,sortList:[],sortAppend:null,sortStable:!1,sortInitialOrder:"asc",sortLocaleCompare:!1,sortReset:!1,sortRestart:!1,emptyTo:"bottom",stringTo:"max",duplicateSpan:!0,textExtraction:"basic",textAttribute:"data-text",textSorter:null,numberSorter:null,initWidgets:!0,widgetClass:"widget-{name}",widgets:[],widgetOptions:{zebra:["even","odd"]},initialized:null,tableClass:"",cssAsc:"",cssDesc:"",cssNone:"",cssHeader:"",cssHeaderRow:"",cssProcessing:"",cssChildRow:"tablesorter-childRow",cssInfoBlock:"tablesorter-infoOnly",cssNoSort:"tablesorter-noSort",cssIgnoreRow:"tablesorter-ignoreRow",cssIcon:"tablesorter-icon",cssIconNone:"",cssIconAsc:"",cssIconDesc:"",cssIconDisabled:"",pointerClick:"click",pointerDown:"mousedown",pointerUp:"mouseup",selectorHeaders:"> thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[],empties:{},strings:{},parsers:[],globalize:0,imgAttr:0},css:{table:"tablesorter",cssHasChild:"tablesorter-hasChildRow",childRow:"tablesorter-childRow",colgroup:"tablesorter-colgroup",header:"tablesorter-header",headerRow:"tablesorter-headerRow",headerIn:"tablesorter-header-inner",icon:"tablesorter-icon",processing:"tablesorter-processing",sortAsc:"tablesorter-headerAsc",sortDesc:"tablesorter-headerDesc",sortNone:"tablesorter-headerUnSorted"},language:{sortAsc:"Ascending sort applied, ",sortDesc:"Descending sort applied, ",sortNone:"No sort applied, ",sortDisabled:"sorting is disabled",nextAsc:"activate to apply an ascending sort",nextDesc:"activate to apply a descending sort",nextNone:"activate to remove the sort"},regex:{templateContent:/\{content\}/g,templateIcon:/\{icon\}/g,templateName:/\{name\}/i,spaces:/\s+/g,nonWord:/\W/g,formElements:/(input|select|button|textarea)/i,chunk:/(^([+\-]?(?:\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,chunks:/(^\\0|\\0$)/,hex:/^0x[0-9a-f]+$/i,comma:/,/g,digitNonUS:/[\s|\.]/g,digitNegativeTest:/^\s*\([.\d]+\)/,digitNegativeReplace:/^\s*\(([.\d]+)\)/,digitTest:/^[\-+(]?\d+[)]?$/,digitReplace:/[,.'"\s]/g},string:{max:1,min:-1,emptymin:1,emptymax:-1,zero:0,none:0,"null":0,top:!0,bottom:!1},keyCodes:{enter:13},dates:{},instanceMethods:{},setup:function(i,r){if(!i||!i.tHead||i.tBodies.length===0||i.hasInitialized===!0){t.debug(r,"core")&&(i.hasInitialized?console.warn("Stopping initialization. Tablesorter has already been initialized"):console.error("Stopping initialization! No table, thead or tbody",i));return}var f="",u=n(i),e=n.metadata;i.hasInitialized=!1;i.isProcessing=!0;i.config=r;n.data(i,"tablesorter",r);t.debug(r,"core")&&(console[console.group?"group":"log"]("Initializing tablesorter v"+t.version),n.data(i,"startoveralltimer",new Date));r.supportsDataObject=function(n){return n[0]=parseInt(n[0],10),n[0]>1||n[0]===1&&parseInt(n[1],10)>=4}(n.fn.jquery.split("."));r.emptyTo=r.emptyTo.toLowerCase();r.stringTo=r.stringTo.toLowerCase();r.last={sortList:[],clickedIndex:-1};/tablesorter\-/.test(u.attr("class"))||(f=r.theme!==""?" tablesorter-"+r.theme:"");r.namespace=r.namespace?"."+r.namespace.replace(t.regex.nonWord,""):".tablesorter"+Math.random().toString(16).slice(2);r.table=i;r.$table=u.addClass(t.css.table+" "+r.tableClass+f+" "+r.namespace.slice(1)).attr("role","grid");r.$headers=u.find(r.selectorHeaders);r.$table.children().children("tr").attr("role","row");r.$tbodies=u.children("tbody:not(."+r.cssInfoBlock+")").attr({"aria-live":"polite","aria-relevant":"all"});r.$table.children("caption").length&&(f=r.$table.children("caption")[0],f.id||(f.id=r.namespace.slice(1)+"caption"),r.$table.attr("aria-labelledby",f.id));r.widgetInit={};r.textExtraction=r.$table.attr("data-text-extraction")||r.textExtraction||"basic";t.buildHeaders(r);t.fixColumnWidth(i);t.addWidgetFromClass(i);t.applyWidgetOptions(i);t.setupParsers(r);r.totalRows=0;r.debug&&t.validateOptions(r);r.delayInit||t.buildCache(r);t.bindEvents(i,r.$headers,!0);t.bindMethods(r);r.supportsDataObject&&typeof u.data().sortlist!="undefined"?r.sortList=u.data().sortlist:e&&u.metadata()&&u.metadata().sortlist&&(r.sortList=u.metadata().sortlist);t.applyWidget(i,!0);r.sortList.length>0?(r.last.sortList=r.sortList,t.sortOn(r,r.sortList,{},!r.initWidgets)):(t.setHeadersCss(r),r.initWidgets&&t.applyWidget(i,!1));r.showProcessing&&u.unbind("sortBegin"+r.namespace+" sortEnd"+r.namespace).bind("sortBegin"+r.namespace+" sortEnd"+r.namespace,function(n){clearTimeout(r.timerProcessing);t.isProcessing(i);n.type==="sortBegin"&&(r.timerProcessing=setTimeout(function(){t.isProcessing(i,!0)},500))});i.hasInitialized=!0;i.isProcessing=!1;t.debug(r,"core")&&(console.log("Overall initialization time:"+t.benchmark(n.data(i,"startoveralltimer"))),t.debug(r,"core")&&console.groupEnd&&console.groupEnd());u.triggerHandler("tablesorter-initialized",i);typeof r.initialized=="function"&&r.initialized(i)},bindMethods:function(i){var u=i.$table,r=i.namespace,f="sortReset update updateRows updateAll updateHeaders addRows updateCell updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave ".split(" ").join(r+" ");u.unbind(f.replace(t.regex.spaces," ")).bind("sortReset"+r,function(n,i){n.stopPropagation();t.sortReset(this.config,function(n){n.isApplyingWidgets?setTimeout(function(){t.applyWidget(n,"",i)},100):t.applyWidget(n,"",i)})}).bind("updateAll"+r,function(n,i,r){n.stopPropagation();t.updateAll(this.config,i,r)}).bind("update"+r+" updateRows"+r,function(n,i,r){n.stopPropagation();t.update(this.config,i,r)}).bind("updateHeaders"+r,function(n,i){n.stopPropagation();t.updateHeaders(this.config,i)}).bind("updateCell"+r,function(n,i,r,u){n.stopPropagation();t.updateCell(this.config,i,r,u)}).bind("addRows"+r,function(n,i,r,u){n.stopPropagation();t.addRows(this.config,i,r,u)}).bind("updateComplete"+r,function(){this.isUpdating=!1}).bind("sorton"+r,function(n,i,r,u){n.stopPropagation();t.sortOn(this.config,i,r,u)}).bind("appendCache"+r,function(i,r,u){i.stopPropagation();t.appendCache(this.config,u);n.isFunction(r)&&r(this)}).bind("updateCache"+r,function(n,i,r){n.stopPropagation();t.updateCache(this.config,i,r)}).bind("applyWidgetId"+r,function(n,i){n.stopPropagation();t.applyWidgetId(this,i)}).bind("applyWidgets"+r,function(n,i){n.stopPropagation();t.applyWidget(this,!1,i)}).bind("refreshWidgets"+r,function(n,i,r){n.stopPropagation();t.refreshWidgets(this,i,r)}).bind("removeWidget"+r,function(n,i,r){n.stopPropagation();t.removeWidget(this,i,r)}).bind("destroy"+r,function(n,i,r){n.stopPropagation();t.destroy(this,i,r)}).bind("resetToLoadState"+r,function(r){r.stopPropagation();t.removeWidget(this,!0,!1);var u=n.extend(!0,{},i.originalSettings);i=n.extend(!0,{},t.defaults,u);i.originalSettings=u;this.hasInitialized=!1;t.setup(this,i)})},bindEvents:function(i,r,u){i=n(i)[0];var e,f=i.config,o=f.namespace,s=null;u!==!0&&(r.addClass(o.slice(1)+"_extra_headers"),e=t.getClosest(r,"table"),e.length&&e[0].nodeName==="TABLE"&&e[0]!==i&&n(e[0]).addClass(o.slice(1)+"_extra_table"));e=(f.pointerDown+" "+f.pointerUp+" "+f.pointerClick+" sort keyup ").replace(t.regex.spaces," ").split(" ").join(o+" ");r.find(f.selectorSort).add(r.filter(f.selectorSort)).unbind(e).bind(e,function(i,r){var e,o,c,h=n(i.target),u=" "+i.type+" ";if(((i.which||i.button)===1||u.match(" "+f.pointerClick+" | sort | keyup "))&&(u!==" keyup "||i.which===t.keyCodes.enter)&&(!u.match(" "+f.pointerClick+" ")||typeof i.which=="undefined")&&(!u.match(" "+f.pointerUp+" ")||s===i.target||r===!0)){if(u.match(" "+f.pointerDown+" ")){s=i.target;c=h.jquery.split(".");c[0]==="1"&&c[1]<4&&i.preventDefault();return}if(s=null,e=t.getClosest(n(this),"."+t.css.header),t.regex.formElements.test(i.target.nodeName)||h.hasClass(f.cssNoSort)||h.parents("."+f.cssNoSort).length>0||e.hasClass("sorter-false")||h.parents("button").length>0)return!f.cancelSelection;f.delayInit&&t.isEmptyObject(f.cache)&&t.buildCache(f);f.last.clickedIndex=e.attr("data-column")||e.index();o=f.$headerIndexed[f.last.clickedIndex][0];o&&!o.sortDisabled&&t.initSort(f,o,i)}});f.cancelSelection&&r.attr("unselectable","on").bind("selectstart",!1).css({"user-select":"none",MozUserSelect:"none"})},buildHeaders:function(i){var u,f,e,r;for(i.headerList=[],i.headerContent=[],i.sortVars=[],t.debug(i,"core")&&(e=new Date),i.columns=t.computeColumnIndex(i.$table.children("thead, tfoot").children("tr")),f=i.cssIcon?'<i class="'+(i.cssIcon===t.css.icon?t.css.icon:i.cssIcon+" "+t.css.icon)+'"><\/i>':"",i.$headers=n(n.map(i.$table.find(i.selectorHeaders),function(r,u){var l,h,s,c,o,e=n(r);if(!t.getClosest(e,"tr").hasClass(i.cssIgnoreRow))return/(th|td)/i.test(r.nodeName)||(o=t.getClosest(e,"th, td"),e.attr("data-column",o.attr("data-column"))),l=t.getColumnData(i.table,i.headers,u,!0),i.headerContent[u]=e.html(),i.headerTemplate===""||e.find("."+t.css.headerIn).length||(c=i.headerTemplate.replace(t.regex.templateContent,e.html()).replace(t.regex.templateIcon,e.find("."+t.css.icon).length?"":f),i.onRenderTemplate&&(h=i.onRenderTemplate.apply(e,[u,c]),h&&typeof h=="string"&&(c=h)),e.html('<div class="'+t.css.headerIn+'">'+c+"<\/div>")),i.onRenderHeader&&i.onRenderHeader.apply(e,[u,i,i.$table]),s=parseInt(e.attr("data-column"),10),r.column=s,o=t.getOrder(t.getData(e,l,"sortInitialOrder")||i.sortInitialOrder),i.sortVars[s]={count:-1,order:o?i.sortReset?[1,0,2]:[1,0]:i.sortReset?[0,1,2]:[0,1],lockedOrder:!1,sortedBy:""},o=t.getData(e,l,"lockedOrder")||!1,typeof o!="undefined"&&o!==!1&&(i.sortVars[s].lockedOrder=!0,i.sortVars[s].order=t.getOrder(o)?[1,1]:[0,0]),i.headerList[u]=r,e.addClass(t.css.header+" "+i.cssHeader),t.getClosest(e,"tr").addClass(t.css.headerRow+" "+i.cssHeaderRow).attr("role","row"),i.tabIndex&&e.attr("tabindex",0),r})),i.$headerIndexed=[],r=0;r<i.columns;r++)t.isEmptyObject(i.sortVars[r])&&(i.sortVars[r]={}),u=i.$headers.filter('[data-column="'+r+'"]'),i.$headerIndexed[r]=u.length?u.not(".sorter-false").length?u.not(".sorter-false").filter(":last"):u.filter(":last"):n();i.$table.find(i.selectorHeaders).attr({scope:"col",role:"columnheader"});t.updateHeader(i);t.debug(i,"core")&&(console.log("Built headers:"+t.benchmark(e)),console.log(i.$headers))},addInstanceMethods:function(i){n.extend(t.instanceMethods,i)},setupParsers:function(n,i){var a,f,e,v,r,y,u,h,k,o,s,d,p,c,g=n.table,w=0,l=t.debug(n,"core"),b={};if(n.$tbodies=n.$table.children("tbody:not(."+n.cssInfoBlock+")"),p=typeof i=="undefined"?n.$tbodies:i,c=p.length,c===0)return l?console.warn("Warning: *Empty table!* Not building a parser cache"):"";for(l&&(d=new Date,console[console.group?"group":"log"]("Detecting parsers for each column")),f={extractors:[],parsers:[]};w<c;){if(a=p[w].rows,a.length)for(r=0,v=n.columns,y=0;y<v;y++){if(u=n.$headerIndexed[r],u&&u.length&&(h=t.getColumnData(g,n.headers,r),s=t.getParserById(t.getData(u,h,"extractor")),o=t.getParserById(t.getData(u,h,"sorter")),k=t.getData(u,h,"parser")==="false",n.empties[r]=(t.getData(u,h,"empty")||n.emptyTo||(n.emptyToBottom?"bottom":"top")).toLowerCase(),n.strings[r]=(t.getData(u,h,"string")||n.stringTo||"max").toLowerCase(),k&&(o=t.getParserById("no-parser")),s||(s=!1),o||(o=t.detectParserForColumn(n,a,-1,r)),l&&(b["("+r+") "+u.text()]={parser:o.id,extractor:s?s.id:"none",string:n.strings[r],empty:n.empties[r]}),f.parsers[r]=o,f.extractors[r]=s,e=u[0].colSpan-1,e>0))for(r+=e,v+=e;e+1>0;)f.parsers[r-e]=o,f.extractors[r-e]=s,e--;r++}w+=f.parsers.length?c:1}l&&(t.isEmptyObject(b)?console.warn("  No parsers detected!"):console[console.table?"table":"log"](b),console.log("Completed detecting parsers"+t.benchmark(d)),console.groupEnd&&console.groupEnd());n.parsers=f.parsers;n.extractors=f.extractors},addParser:function(n){for(var u=t.parsers.length,r=!0,i=0;i<u;i++)t.parsers[i].id.toLowerCase()===n.id.toLowerCase()&&(r=!1);r&&(t.parsers[t.parsers.length]=n)},getParserById:function(n){if(n=="false")return!1;for(var r=t.parsers.length,i=0;i<r;i++)if(t.parsers[i].id.toLowerCase()===n.toString().toLowerCase())return t.parsers[i];return!1},detectParserForColumn:function(i,r,u,f){for(var e,c,h,l=t.parsers.length,o=!1,s="",v=t.debug(i,"core"),a=!0;s===""&&a;)u++,h=r[u],h&&u<50?h.className.indexOf(t.cssIgnoreRow)<0&&(o=r[u].cells[f],s=t.getElementText(i,o,f),c=n(o),v&&console.log("Checking if value was empty on row "+u+", column: "+f+': "'+s+'"')):a=!1;while(--l>=0)if(e=t.parsers[l],e&&e.id!=="text"&&e.is&&e.is(s,i.table,o,c))return e;return t.getParserById("text")},getElementText:function(i,r,u){if(!r)return"";var o,e=i.textExtraction||"",f=r.jquery?r:n(r);return typeof e=="string"?e==="basic"&&typeof(o=f.attr(i.textAttribute))!="undefined"?n.trim(o):n.trim(r.textContent||f.text()):typeof e=="function"?n.trim(e(f[0],i.table,u)):typeof(o=t.getColumnData(i.table,e,u))=="function"?n.trim(o(f[0],i.table,u)):n.trim(f[0].textContent||f.text())},getParsedText:function(n,i,r,u){typeof u=="undefined"&&(u=t.getElementText(n,i,r));var f=""+u,e=n.parsers[r],o=n.extractors[r];return e&&(o&&typeof o.format=="function"&&(u=o.format(u,n.table,i,r)),f=e.id==="no-parser"?"":e.format(""+u,n.table,i,r),n.ignoreCase&&typeof f=="string"&&(f=f.toLowerCase())),f},buildCache:function(i,r,u){var a,s,w,v,e,y,g,h,nt,rt,o,ot,st,b,k,tt,c,f,ut,d,l,p,ft=i.table,et=i.parsers,it=t.debug(i,"core");if(i.$tbodies=i.$table.children("tbody:not(."+i.cssInfoBlock+")"),g=typeof u=="undefined"?i.$tbodies:u,i.cache={},i.totalRows=0,!et)return it?console.warn("Warning: *Empty table!* Not building a cache"):"";for(it&&(ot=new Date),i.showProcessing&&t.isProcessing(ft,!0),y=0;y<g.length;y++){for(tt=[],a=i.cache[y]={normalized:[]},st=g[y]&&g[y].rows.length||0,v=0;v<st;++v)if(b={child:[],raw:[]},h=n(g[y].rows[v]),nt=[],!h.hasClass(i.selectorRemove.slice(1))){if(h.hasClass(i.cssChildRow)&&v!==0){for(l=a.normalized.length-1,k=a.normalized[l][i.columns],k.$row=k.$row.add(h),h.prev().hasClass(i.cssChildRow)||h.prev().addClass(t.css.cssHasChild),rt=h.children("th, td"),l=k.child.length,k.child[l]=[],f=0,d=i.columns,e=0;e<d;e++)o=rt[e],o&&(k.child[l][e]=t.getParsedText(i,o,e),c=rt[e].colSpan-1,c>0&&(f+=c,d+=c)),f++;continue}for(b.$row=h,b.order=v,f=0,d=i.columns,e=0;e<d;++e){if(o=h[0].cells[e],o&&f<i.columns&&(ut=typeof et[f]!="undefined",!ut&&it&&console.warn("No parser found for row: "+v+", column: "+e+'; cell containing: "'+n(o).text()+'"; does it have a header?'),s=t.getElementText(i,o,f),b.raw[f]=s,w=t.getParsedText(i,o,f,s),nt[f]=w,ut&&(et[f].type||"").toLowerCase()==="numeric"&&(tt[f]=Math.max(Math.abs(w)||0,tt[f]||0)),c=o.colSpan-1,c>0)){for(p=0;p<=c;)w=i.duplicateSpan||p===0?s:typeof i.textExtraction!="string"?t.getElementText(i,o,f+p)||"":"",b.raw[f+p]=w,nt[f+p]=w,p++;f+=c;d+=c}f++}nt[i.columns]=b;a.normalized[a.normalized.length]=nt}a.colMax=tt;i.totalRows+=a.normalized.length}if(i.showProcessing&&t.isProcessing(ft),it){for(l=Math.min(5,i.cache[0].normalized.length),console[console.group?"group":"log"]("Building cache for "+i.totalRows+" rows (showing "+l+" rows in log) and "+i.columns+" columns"+t.benchmark(ot)),s={},e=0;e<i.columns;e++)for(f=0;f<l;f++)s["row: "+f]||(s["row: "+f]={}),s["row: "+f][i.$headerIndexed[e].text()]=i.cache[0].normalized[f][e];console[console.table?"table":"log"](s);console.groupEnd&&console.groupEnd()}n.isFunction(r)&&r(ft)},getColumnText:function(i,r,u,f){i=n(i)[0];var h,c,l,e,b,k,a,v,y,p,d=typeof u=="function",w=r==="all",o={raw:[],parsed:[],$cell:[]},s=i.config;if(t.isEmptyObject(s))t.debug(s,"core")&&console.warn("No cache found - aborting getColumnText function!");else{for(b=s.$tbodies.length,h=0;h<b;h++)for(l=s.cache[h].normalized,k=l.length,c=0;c<k;c++)(e=l[c],!f||e[s.columns].$row.is(f))&&(p=!0,v=w?e.slice(0,s.columns):e[r],e=e[s.columns],a=w?e.raw:e.raw[r],y=w?e.$row.children():e.$row.children().eq(r),d&&(p=u({tbodyIndex:h,rowIndex:c,parsed:v,raw:a,$row:e.$row,$cell:y})),p!==!1&&(o.parsed[o.parsed.length]=v,o.raw[o.raw.length]=a,o.$cell[o.$cell.length]=y));return o}},setHeadersCss:function(i){var r,e,f=i.sortList,o=f.length,c=t.css.sortNone+" "+i.cssNone,h=[t.css.sortAsc+" "+i.cssAsc,t.css.sortDesc+" "+i.cssDesc],s=[i.cssIconAsc,i.cssIconDesc,i.cssIconNone],v=["ascending","descending"],l=function(n,i){n.removeClass(c).addClass(h[i]).attr("aria-sort",v[i]).find("."+t.css.icon).removeClass(s[2]).addClass(s[i])},a=i.$table.find("tfoot tr").children("td, th").add(n(i.namespace+"_extra_headers")).removeClass(h.join(" ")),u=i.$headers.add(n("thead "+i.namespace+"_extra_headers")).removeClass(h.join(" ")).addClass(c).attr("aria-sort","none").find("."+t.css.icon).removeClass(s.join(" ")).end();for(u.not(".sorter-false").find("."+t.css.icon).addClass(s[2]),i.cssIconDisabled&&u.filter(".sorter-false").find("."+t.css.icon).addClass(i.cssIconDisabled),r=0;r<o;r++)if(f[r][1]!==2){if(u=i.$headers.filter(function(n){for(var r=!0,f=i.$headers.eq(n),u=parseInt(f.attr("data-column"),10),e=u+t.getClosest(f,"th, td")[0].colSpan;u<e;u++)r=r?r||t.isValueInArray(u,i.sortList)>-1:!1;return r}),u=u.not(".sorter-false").filter('[data-column="'+f[r][0]+'"]'+(o===1?":last":"")),u.length)for(e=0;e<u.length;e++)u[e].sortDisabled||l(u.eq(e),f[r][1]);a.length&&l(a.filter('[data-column="'+f[r][0]+'"]'),f[r][1])}for(o=i.$headers.length,r=0;r<o;r++)t.setColumnAriaLabel(i,i.$headers.eq(r))},getClosest:function(t,i){return n.fn.closest?t.closest(i):t.is(i)?t:t.parents(i).filter(":first")},setColumnAriaLabel:function(i,r,u){if(r.length){var s=parseInt(r.attr("data-column"),10),f=i.sortVars[s],e=r.hasClass(t.css.sortAsc)?"sortAsc":r.hasClass(t.css.sortDesc)?"sortDesc":"sortNone",o=n.trim(r.text())+": "+t.language[e];r.hasClass("sorter-false")||u===!1?o+=t.language.sortDisabled:(e=(f.count+1)%f.order.length,u=f.order[e],o+=t.language[u===0?"nextAsc":u===1?"nextDesc":"nextNone"]);r.attr("aria-label",o);f.sortedBy?r.attr("data-sortedBy",f.sortedBy):r.removeAttr("data-sortedBy")}},updateHeader:function(n){for(var f,r,u,e=n.table,o=n.$headers.length,i=0;i<o;i++)r=n.$headers.eq(i),u=t.getColumnData(e,n.headers,i,!0),f=t.getData(r,u,"sorter")==="false"||t.getData(r,u,"parser")==="false",t.setColumnSort(n,r,f)},setColumnSort:function(n,t,i){var r=n.table.id;t[0].sortDisabled=i;t[i?"addClass":"removeClass"]("sorter-false").attr("aria-disabled",""+i);n.tabIndex&&(i?t.removeAttr("tabindex"):t.attr("tabindex","0"));r&&(i?t.removeAttr("aria-controls"):t.attr("aria-controls",r))},updateHeaderSortCount:function(i,r){var f,u,s,o,h,c,l,e,a=r||i.sortList,v=a.length;for(i.sortList=[],o=0;o<v;o++)if(l=a[o],f=parseInt(l[0],10),f<i.columns){i.sortVars[f].order||(e=t.getOrder(i.sortInitialOrder)?i.sortReset?[1,0,2]:[1,0]:i.sortReset?[0,1,2]:[0,1],i.sortVars[f].order=e,i.sortVars[f].count=0);e=i.sortVars[f].order;u=(""+l[1]).match(/^(1|d|s|o|n)/);u=u?u[0]:"";switch(u){case"1":case"d":u=1;break;case"s":u=h||0;break;case"o":c=e[(h||0)%e.length];u=c===0?1:c===1?0:2;break;case"n":u=e[++i.sortVars[f].count%e.length];break;default:u=0}h=o===0?u:h;s=[f,parseInt(u,10)||0];i.sortList[i.sortList.length]=s;u=n.inArray(s[1],e);i.sortVars[f].count=u>=0?u:s[1]%e.length}},updateAll:function(n,i,r){var u=n.table;u.isUpdating=!0;t.refreshWidgets(u,!0,!0);t.buildHeaders(n);t.bindEvents(u,n.$headers,!0);t.bindMethods(n);t.commonUpdate(n,i,r)},update:function(n,i,r){var u=n.table;u.isUpdating=!0;t.updateHeader(n);t.commonUpdate(n,i,r)},updateHeaders:function(n,i){n.table.isUpdating=!0;t.buildHeaders(n);t.bindEvents(n.table,n.$headers,!0);t.resortComplete(n,i)},updateCell:function(i,r,u,f){if(n(r).closest("tr").hasClass(i.cssChildRow)){console.warn('Tablesorter Warning! "updateCell" for child row content has been disabled, use "update" instead');return}if(t.isEmptyObject(i.cache)){t.updateHeader(i);t.commonUpdate(i,u,f);return}i.table.isUpdating=!0;i.$table.find(i.selectorRemove).remove();var e,s,w,o,l,a,v=i.$tbodies,h=n(r),y=v.index(t.getClosest(h,"tbody")),p=i.cache[y],c=t.getClosest(h,"tr");if(r=h[0],v.length&&y>=0){if(w=v.eq(y).find("tr").not("."+i.cssChildRow).index(c),l=p.normalized[w],a=c[0].cells.length,a!==i.columns)for(o=0,e=!1,s=0;s<a;s++)e||c[0].cells[s]===r?e=!0:o+=c[0].cells[s].colSpan;else o=h.index();e=t.getElementText(i,r,o);l[i.columns].raw[o]=e;e=t.getParsedText(i,r,o,e);l[o]=e;(i.parsers[o].type||"").toLowerCase()==="numeric"&&(p.colMax[o]=Math.max(Math.abs(e)||0,p.colMax[o]||0));e=u!=="undefined"?u:i.resort;e!==!1?t.checkResort(i,e,f):t.resortComplete(i,f)}else t.debug(i,"core")&&console.error("updateCell aborted, tbody missing or not within the indicated table"),i.table.isUpdating=!1},addRows:function(i,r,u,f){var a,v,s,o,b,h,k,y,e,p,c,l,w,d=typeof r=="string"&&i.$tbodies.length===1&&/<tr/.test(r||""),g=i.table;if(d)r=n(r),i.$tbodies.append(r);else if(!r||!(r instanceof n)||t.getClosest(r,"table")[0]!==i.table)return t.debug(i,"core")&&console.error("addRows method requires (1) a jQuery selector reference to rows that have already been added to the table, or (2) row HTML string to be added to a table with only one tbody"),!1;if(g.isUpdating=!0,t.isEmptyObject(i.cache))t.updateHeader(i),t.commonUpdate(i,u,f);else{for(b=r.filter("tr").attr("role","row").length,s=i.$tbodies.index(r.parents("tbody").filter(":first")),i.parsers&&i.parsers.length||t.setupParsers(i),o=0;o<b;o++){for(e=0,k=r[o].cells.length,y=i.cache[s].normalized.length,c=[],p={child:[],raw:[],$row:r.eq(o),order:y},h=0;h<k;h++)l=r[o].cells[h],a=t.getElementText(i,l,e),p.raw[e]=a,v=t.getParsedText(i,l,e,a),c[e]=v,(i.parsers[e].type||"").toLowerCase()==="numeric"&&(i.cache[s].colMax[e]=Math.max(Math.abs(v)||0,i.cache[s].colMax[e]||0)),w=l.colSpan-1,w>0&&(e+=w),e++;c[i.columns]=p;i.cache[s].normalized[y]=c}t.checkResort(i,u,f)}},updateCache:function(n,i,r){n.parsers&&n.parsers.length||t.setupParsers(n,r);t.buildCache(n,i,r)},appendCache:function(n,i){var e,c,s,h,u,f,l,r=n.table,a=n.$tbodies,o=[],v=n.cache;if(t.isEmptyObject(v))return n.appender?n.appender(r,o):r.isUpdating?n.$table.triggerHandler("updateComplete",r):"";for(t.debug(n,"core")&&(l=new Date),f=0;f<a.length;f++)if(s=a.eq(f),s.length){for(h=t.processTbody(r,s,!0),e=v[f].normalized,c=e.length,u=0;u<c;u++)o[o.length]=e[u][n.columns].$row,n.appender&&(!n.pager||n.pager.removeRows||n.pager.ajax)||h.append(e[u][n.columns].$row);t.processTbody(r,h,!1)}n.appender&&n.appender(r,o);t.debug(n,"core")&&console.log("Rebuilt table"+t.benchmark(l));i||n.appender||t.applyWidget(r);r.isUpdating&&n.$table.triggerHandler("updateComplete",r)},commonUpdate:function(n,i,r){n.$table.find(n.selectorRemove).remove();t.setupParsers(n);t.buildCache(n);t.checkResort(n,i,r)},initSort:function(i,r,u){if(i.table.isUpdating)return setTimeout(function(){t.initSort(i,r,u)},50);var s,f,v,o,p,h,w,b=!u[i.sortMultiSortKey],y=i.table,k=i.$headers.length,c=t.getClosest(n(r),"th, td"),e=parseInt(c.attr("data-column"),10),a=u.type==="mouseup"?"user":u.type,l=i.sortVars[e].order;if(c=c[0],i.$table.triggerHandler("sortStart",y),h=(i.sortVars[e].count+1)%l.length,i.sortVars[e].count=u[i.sortResetKey]?2:h,i.sortRestart)for(v=0;v<k;v++)w=i.$headers.eq(v),h=parseInt(w.attr("data-column"),10),e!==h&&(b||w.hasClass(t.css.sortNone))&&(i.sortVars[h].count=-1);if(b){if(n.each(i.sortVars,function(n){i.sortVars[n].sortedBy=""}),i.sortList=[],i.last.sortList=[],i.sortForce!==null)for(s=i.sortForce,f=0;f<s.length;f++)s[f][0]!==e&&(i.sortList[i.sortList.length]=s[f],i.sortVars[s[f][0]].sortedBy="sortForce");if(o=l[i.sortVars[e].count],o<2&&(i.sortList[i.sortList.length]=[e,o],i.sortVars[e].sortedBy=a,c.colSpan>1))for(f=1;f<c.colSpan;f++)i.sortList[i.sortList.length]=[e+f,o],i.sortVars[e+f].count=n.inArray(o,l),i.sortVars[e+f].sortedBy=a}else if(i.sortList=n.extend([],i.last.sortList),t.isValueInArray(e,i.sortList)>=0)for(i.sortVars[e].sortedBy=a,f=0;f<i.sortList.length;f++)h=i.sortList[f],h[0]===e&&(h[1]=l[i.sortVars[e].count],h[1]===2&&(i.sortList.splice(f,1),i.sortVars[e].count=-1));else if(o=l[i.sortVars[e].count],i.sortVars[e].sortedBy=a,o<2&&(i.sortList[i.sortList.length]=[e,o],c.colSpan>1))for(f=1;f<c.colSpan;f++)i.sortList[i.sortList.length]=[e+f,o],i.sortVars[e+f].count=n.inArray(o,l),i.sortVars[e+f].sortedBy=a;if(i.last.sortList=n.extend([],i.sortList),i.sortList.length&&i.sortAppend&&(s=n.isArray(i.sortAppend)?i.sortAppend:i.sortAppend[i.sortList[0][0]],!t.isEmptyObject(s)))for(f=0;f<s.length;f++)if(s[f][0]!==e&&t.isValueInArray(s[f][0],i.sortList)<0){if(o=s[f][1],p=(""+o).match(/^(a|d|s|o|n)/),p){h=i.sortList[0][1];switch(p[0]){case"d":o=1;break;case"s":o=h;break;case"o":o=h===0?1:0;break;case"n":o=(h+1)%l.length;break;default:o=0}}i.sortList[i.sortList.length]=[s[f][0],o];i.sortVars[s[f][0]].sortedBy="sortAppend"}i.$table.triggerHandler("sortBegin",y);setTimeout(function(){t.setHeadersCss(i);t.multisort(i);t.appendCache(i);i.$table.triggerHandler("sortBeforeEnd",y);i.$table.triggerHandler("sortEnd",y)},1)},multisort:function(n){var u,c,r,l,s,f=n.table,h=[],i=0,e=n.textSorter||"",o=n.sortList,a=o.length,v=n.$tbodies.length;if(!n.serverSideSorting&&!t.isEmptyObject(n.cache)){if(t.debug(n,"core")&&(c=new Date),typeof e=="object")for(r=n.columns;r--;)s=t.getColumnData(f,e,r),typeof s=="function"&&(h[r]=s);for(u=0;u<v;u++)r=n.cache[u].colMax,l=n.cache[u].normalized,l.sort(function(u,s){for(var v,c,b,y,p,w,l=0;l<a;l++){if(c=o[l][0],b=o[l][1],i=b===0,n.sortStable&&u[c]===s[c]&&a===1)return u[n.columns].order-s[n.columns].order;if(v=/n/i.test(t.getSortType(n.parsers,c)),v&&n.strings[c]?(v=typeof t.string[n.strings[c]]=="boolean"?(i?1:-1)*(t.string[n.strings[c]]?-1:1):n.strings[c]?t.string[n.strings[c]]||0:0,y=n.numberSorter?n.numberSorter(u[c],s[c],i,r[c],f):t["sortNumeric"+(i?"Asc":"Desc")](u[c],s[c],v,r[c],c,n)):(p=i?u:s,w=i?s:u,y=typeof e=="function"?e(p[c],w[c],i,c,f):typeof h[c]=="function"?h[c](p[c],w[c],i,c,f):t["sortNatural"+(i?"Asc":"Desc")](u[c]||"",s[c]||"",c,n)),y)return y}return u[n.columns].order-s[n.columns].order});t.debug(n,"core")&&console.log("Applying sort "+o.toString()+t.benchmark(c))}},resortComplete:function(t,i){t.table.isUpdating&&t.$table.triggerHandler("updateComplete",t.table);n.isFunction(i)&&i(t.table)},checkResort:function(i,r,u){var f=n.isArray(r)?r:i.sortList,e=typeof r=="undefined"?i.resort:r;e===!1||i.serverSideSorting||i.table.isProcessing?(t.resortComplete(i,u),t.applyWidget(i.table,!1)):f.length?t.sortOn(i,f,function(){t.resortComplete(i,u)},!0):t.sortReset(i,function(){t.resortComplete(i,u);t.applyWidget(i.table,!1)})},sortOn:function(i,r,u,f){var o,e=i.table;for(i.$table.triggerHandler("sortStart",e),o=0;o<i.columns;o++)i.sortVars[o].sortedBy=t.isValueInArray(o,r)>-1?"sorton":"";t.updateHeaderSortCount(i,r);t.setHeadersCss(i);i.delayInit&&t.isEmptyObject(i.cache)&&t.buildCache(i);i.$table.triggerHandler("sortBegin",e);t.multisort(i);t.appendCache(i,f);i.$table.triggerHandler("sortBeforeEnd",e);i.$table.triggerHandler("sortEnd",e);t.applyWidget(e);n.isFunction(u)&&u(e)},sortReset:function(i,r){i.sortList=[];for(var u=0;u<i.columns;u++)i.sortVars[u].count=-1,i.sortVars[u].sortedBy="";t.setHeadersCss(i);t.multisort(i);t.appendCache(i);n.isFunction(r)&&r(i.table)},getSortType:function(n,t){return n&&n[t]?n[t].type||"":""},getOrder:function(n){return/^d/i.test(n)||n===1},sortNatural:function(n,i){if(n===i)return 0;n=(n||"").toString();i=(i||"").toString();var u,f,e,s,r,h,o=t.regex;if(o.hex.test(i)){if(u=parseInt(n.match(o.hex),16),f=parseInt(i.match(o.hex),16),u<f)return-1;if(u>f)return 1}for(u=n.replace(o.chunk,"\\0$1\\0").replace(o.chunks,"").split("\\0"),f=i.replace(o.chunk,"\\0$1\\0").replace(o.chunks,"").split("\\0"),h=Math.max(u.length,f.length),r=0;r<h;r++){if(e=isNaN(u[r])?u[r]||0:parseFloat(u[r])||0,s=isNaN(f[r])?f[r]||0:parseFloat(f[r])||0,isNaN(e)!==isNaN(s))return isNaN(e)?1:-1;if(typeof e!=typeof s&&(e+="",s+=""),e<s)return-1;if(e>s)return 1}return 0},sortNaturalAsc:function(n,i,r,u){if(n===i)return 0;var f=t.string[u.empties[r]||u.emptyTo];return n===""&&f!==0?typeof f=="boolean"?f?-1:1:-f||-1:i===""&&f!==0?typeof f=="boolean"?f?1:-1:f||1:t.sortNatural(n,i)},sortNaturalDesc:function(n,i,r,u){if(n===i)return 0;var f=t.string[u.empties[r]||u.emptyTo];return n===""&&f!==0?typeof f=="boolean"?f?-1:1:f||1:i===""&&f!==0?typeof f=="boolean"?f?1:-1:-f||-1:t.sortNatural(i,n)},sortText:function(n,t){return n>t?1:n<t?-1:0},getTextValue:function(n,t,i){if(i){for(var f=n?n.length:0,u=i+t,r=0;r<f;r++)u+=n.charCodeAt(r);return t*u}return 0},sortNumericAsc:function(n,i,r,u,f,e){if(n===i)return 0;var o=t.string[e.empties[f]||e.emptyTo];return n===""&&o!==0?typeof o=="boolean"?o?-1:1:-o||-1:i===""&&o!==0?typeof o=="boolean"?o?1:-1:o||1:(isNaN(n)&&(n=t.getTextValue(n,r,u)),isNaN(i)&&(i=t.getTextValue(i,r,u)),n-i)},sortNumericDesc:function(n,i,r,u,f,e){if(n===i)return 0;var o=t.string[e.empties[f]||e.emptyTo];return n===""&&o!==0?typeof o=="boolean"?o?-1:1:o||1:i===""&&o!==0?typeof o=="boolean"?o?1:-1:-o||-1:(isNaN(n)&&(n=t.getTextValue(n,r,u)),isNaN(i)&&(i=t.getTextValue(i,r,u)),i-n)},sortNumeric:function(n,t){return n-t},addWidget:function(n){n.id&&!t.isEmptyObject(t.getWidgetById(n.id))&&console.warn('"'+n.id+'" widget was loaded more than once!');t.widgets[t.widgets.length]=n},hasWidget:function(t,i){return t=n(t),t.length&&t[0].config&&t[0].config.widgetInit[i]||!1},getWidgetById:function(n){for(var i,u=t.widgets.length,r=0;r<u;r++)if(i=t.widgets[r],i&&i.id&&i.id.toLowerCase()===n.toLowerCase())return i},applyWidgetOptions:function(i){var u,r,e,f=i.config,o=f.widgets.length;if(o)for(u=0;u<o;u++)r=t.getWidgetById(f.widgets[u]),r&&r.options&&(e=n.extend(!0,{},r.options),f.widgetOptions=n.extend(!0,e,f.widgetOptions),n.extend(!0,t.defaults.widgetOptions,r.options))},addWidgetFromClass:function(n){var f,i,u=n.config,o="^"+u.widgetClass.replace(t.regex.templateName,"(\\S+)+")+"$",e=new RegExp(o,"g"),r=(n.className||"").split(t.regex.spaces);if(r.length)for(f=r.length,i=0;i<f;i++)r[i].match(e)&&(u.widgets[u.widgets.length]=r[i].replace(e,"$1"))},applyWidgetId:function(i,r,u){i=n(i)[0];var s,c,e,f=i.config,l=f.widgetOptions,h=t.debug(f,"core"),o=t.getWidgetById(r);o&&(e=o.id,s=!1,n.inArray(e,f.widgets)<0&&(f.widgets[f.widgets.length]=e),h&&(c=new Date),(u||!f.widgetInit[e])&&(f.widgetInit[e]=!0,i.hasInitialized&&t.applyWidgetOptions(i),typeof o.init=="function"&&(s=!0,h&&console[console.group?"group":"log"]("Initializing "+e+" widget"),o.init(i,o,f,l))),u||typeof o.format!="function"||(s=!0,h&&console[console.group?"group":"log"]("Updating "+e+" widget"),o.format(i,f,l,!1)),h&&s&&(console.log("Completed "+(u?"initializing ":"applying ")+e+" widget"+t.benchmark(c)),console.groupEnd&&console.groupEnd()))},applyWidget:function(i,r,u){i=n(i)[0];var e,h,c,f,a,o=i.config,s=t.debug(o,"core"),l=[];if(r===!1||!i.hasInitialized||!(i.isApplyingWidgets||i.isUpdating)){if(s&&(a=new Date),t.addWidgetFromClass(i),clearTimeout(o.timerReady),o.widgets.length){for(i.isApplyingWidgets=!0,o.widgets=n.grep(o.widgets,function(t,i){return n.inArray(t,o.widgets)===i}),c=o.widgets||[],h=c.length,e=0;e<h;e++)f=t.getWidgetById(c[e]),f&&f.id?(f.priority||(f.priority=10),l[e]=f):s&&console.warn('"'+c[e]+'" was enabled, but the widget code has not been loaded!');for(l.sort(function(n,t){return n.priority<t.priority?-1:n.priority===t.priority?0:1}),h=l.length,s&&console[console.group?"group":"log"]("Start "+(r?"initializing":"applying")+" widgets"),e=0;e<h;e++)f=l[e],f&&f.id&&t.applyWidgetId(i,f.id,r);s&&console.groupEnd&&console.groupEnd()}o.timerReady=setTimeout(function(){i.isApplyingWidgets=!1;n.data(i,"lastWidgetApplication",new Date);o.$table.triggerHandler("tablesorter-ready");r||typeof u!="function"||u(i);s&&(f=o.widgets.length,console.log("Completed "+(r===!0?"initializing ":"applying ")+f+" widget"+(f!==1?"s":"")+t.benchmark(a)))},10)}},removeWidget:function(i,r,u){i=n(i)[0];var e,f,o,h,s=i.config;if(r===!0)for(r=[],h=t.widgets.length,o=0;o<h;o++)f=t.widgets[o],f&&f.id&&(r[r.length]=f.id);else r=(n.isArray(r)?r.join(","):r||"").toLowerCase().split(/[\s,]+/);for(h=r.length,e=0;e<h;e++)f=t.getWidgetById(r[e]),o=n.inArray(r[e],s.widgets),o>=0&&u!==!0&&s.widgets.splice(o,1),f&&f.remove&&(t.debug(s,"core")&&console.log((u?"Refreshing":"Removing")+' "'+r[e]+'" widget'),f.remove(i,s,s.widgetOptions,u),s.widgetInit[r[e]]=!1);s.$table.triggerHandler("widgetRemoveEnd",i)},refreshWidgets:function(i,r,u){i=n(i)[0];for(var f,c=i.config,l=c.widgets,h=t.widgets,a=h.length,o=[],s=function(t){n(t).triggerHandler("refreshComplete")},e=0;e<a;e++)f=h[e],f&&f.id&&(r||n.inArray(f.id,l)<0)&&(o[o.length]=f.id);t.removeWidget(i,o.join(","),!0);u!==!0?(t.applyWidget(i,r||!1,s),r&&t.applyWidget(i,!1,s)):s(i)},benchmark:function(n){return" ("+((new Date).getTime()-n.getTime())+" ms)"},log:function(){console.log(arguments)},debug:function(n,t){return n&&(n.debug===!0||typeof n.debug=="string"&&n.debug.indexOf(t)>-1)},isEmptyObject:function(n){for(var t in n)return!1;return!0},isValueInArray:function(n,t){for(var r=t&&t.length||0,i=0;i<r;i++)if(t[i][0]===n)return i;return-1},formatFloat:function(i,r){if(typeof i!="string"||i==="")return i;var u,f=r&&r.config?r.config.usNumberFormat!==!1:typeof r!="undefined"?r:!0;return i=f?i.replace(t.regex.comma,""):i.replace(t.regex.digitNonUS,"").replace(t.regex.comma,"."),t.regex.digitNegativeTest.test(i)&&(i=i.replace(t.regex.digitNegativeReplace,"-$1")),u=parseFloat(i),isNaN(u)?n.trim(i):u},isDigit:function(n){return isNaN(n)?t.regex.digitTest.test(n.toString().replace(t.regex.digitReplace,"")):n!==""},computeColumnIndex:function(i,r){for(var c,u,l,e,v,o,y,p,s,w=r&&r.columns||0,f=[],a=new Array(w),h=0;h<i.length;h++)for(v=i[h].cells,c=0;c<v.length;c++){for(e=v[c],o=h,y=e.rowSpan||1,p=e.colSpan||1,typeof f[o]=="undefined"&&(f[o]=[]),u=0;u<f[o].length+1;u++)if(typeof f[o][u]=="undefined"){s=u;break}for(w&&e.cellIndex===s||(e.setAttribute?e.setAttribute("data-column",s):n(e).attr("data-column",s)),u=o;u<o+y;u++)for(typeof f[u]=="undefined"&&(f[u]=[]),a=f[u],l=s;l<s+p;l++)a[l]="x"}return t.checkColumnCount(i,f,a.length),a.length},checkColumnCount:function(n,t,i){for(var f,e=!0,u=[],r=0;r<t.length;r++)if(t[r]&&(f=t[r].length,t[r].length!==i)){e=!1;break}e||(n.each(function(n,t){var i=t.parentElement.nodeName;u.indexOf(i)<0&&u.push(i)}),console.error("Invalid or incorrect number of columns in the "+u.join(" or ")+"; expected "+i+", but found "+f+" columns"))},fixColumnWidth:function(i){i=n(i)[0];var o,s,e,h,f,r=i.config,u=r.$table.children("colgroup");if(u.length&&u.hasClass(t.css.colgroup)&&u.remove(),r.widthFixed&&r.$table.children("colgroup").length===0){for(u=n('<colgroup class="'+t.css.colgroup+'">'),o=r.$table.width(),e=r.$tbodies.find("tr:first").children(":visible"),h=e.length,f=0;f<h;f++)s=parseInt(e.eq(f).width()/o*1e3,10)/10+"%",u.append(n("<col>").css("width",s));r.$table.prepend(u)}},getData:function(t,i,r){var e,o,f="",u=n(t);return u.length?(e=n.metadata?u.metadata():!1,o=" "+(u.attr("class")||""),typeof u.data(r)!="undefined"||typeof u.data(r.toLowerCase())!="undefined"?f+=u.data(r)||u.data(r.toLowerCase()):e&&typeof e[r]!="undefined"?f+=e[r]:i&&typeof i[r]!="undefined"?f+=i[r]:o!==" "&&o.match(" "+r+"-")&&(f=o.match(new RegExp("\\s"+r+"-([\\w-]+)"))[1]||""),n.trim(f)):""},getColumnData:function(t,i,r,u,f){if(typeof i!="object"||i===null)return i;t=n(t)[0];var h,e,o=t.config,c=f||o.$headers,s=o.$headerIndexed&&o.$headerIndexed[r]||c.find('[data-column="'+r+'"]:last');if(typeof i[r]!="undefined")return u?i[r]:i[c.index(s)];for(e in i)if(typeof e=="string"&&(h=s.filter(e).add(s.find(e)),h.length))return i[e];return},isProcessing:function(i,r,u){i=n(i);var f=i[0].config,e=u||i.find("."+t.css.header);r?(typeof u!="undefined"&&f.sortList.length>0&&(e=e.filter(function(){return this.sortDisabled?!1:t.isValueInArray(parseFloat(n(this).attr("data-column")),f.sortList)>=0})),i.add(e).addClass(t.css.processing+" "+f.cssProcessing)):i.add(e).removeClass(t.css.processing+" "+f.cssProcessing)},processTbody:function(t,i,r){if(t=n(t)[0],r)return t.isProcessing=!0,i.before('<colgroup class="tablesorter-savemyplace"/>'),n.fn.detach?i.detach():i.remove();var u=n(t).find("colgroup.tablesorter-savemyplace");i.insertAfter(u);u.remove();t.isProcessing=!1},clearTableBody:function(t){n(t)[0].config.$tbodies.children().detach()},characterEquivalents:{a:"áàâãäąå",A:"ÁÀÂÃÄĄÅ",c:"çćč",C:"ÇĆČ",e:"éèêëěę",E:"ÉÈÊËĚĘ",i:"íìİîïı",I:"ÍÌİÎÏ",o:"óòôõöō",O:"ÓÒÔÕÖŌ",ss:"ß",SS:"ẞ",u:"úùûüů",U:"ÚÙÛÜŮ"},replaceAccents:function(n){var i,u="[",r=t.characterEquivalents;if(!t.characterRegex){t.characterRegexArray={};for(i in r)typeof i=="string"&&(u+=r[i],t.characterRegexArray[i]=new RegExp("["+r[i]+"]","g"));t.characterRegex=new RegExp(u+"]")}if(t.characterRegex.test(n))for(i in r)typeof i=="string"&&(n=n.replace(t.characterRegexArray[i],i));return n},validateOptions:function(i){var r,f,u,o,s="headers sortForce sortList sortAppend widgets".split(" "),e=i.originalSettings;if(e){t.debug(i,"core")&&(o=new Date);for(r in e)if(u=typeof t.defaults[r],u==="undefined")console.warn('Tablesorter Warning! "table.config.'+r+'" option not recognized');else if(u==="object")for(f in e[r])u=t.defaults[r]&&typeof t.defaults[r][f],n.inArray(r,s)<0&&u==="undefined"&&console.warn('Tablesorter Warning! "table.config.'+r+"."+f+'" option not recognized');t.debug(i,"core")&&console.log("validate options time:"+t.benchmark(o))}},restoreHeaders:function(i){for(var u,f=n(i)[0].config,e=f.$table.find(f.selectorHeaders),o=e.length,r=0;r<o;r++)u=e.eq(r),u.find("."+t.css.headerIn).length&&u.html(f.headerContent[r])},destroy:function(i,r,u){if(i=n(i)[0],i.hasInitialized){t.removeWidget(i,!0,!1);var o,e=n(i),f=i.config,s=e.find("thead:first"),h=s.find("tr."+t.css.headerRow).removeClass(t.css.headerRow+" "+f.cssHeaderRow),c=e.find("tfoot:first > tr").children("th, td");r===!1&&n.inArray("uitheme",f.widgets)>=0&&(e.triggerHandler("applyWidgetId",["uitheme"]),e.triggerHandler("applyWidgetId",["zebra"]));s.find("tr").not(h).remove();o="sortReset update updateRows updateAll updateHeaders updateCell addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets removeWidget destroy mouseup mouseleave "+"keypress sortBegin sortEnd resetToLoadState ".split(" ").join(f.namespace+" ");e.removeData("tablesorter").unbind(o.replace(t.regex.spaces," "));f.$headers.add(c).removeClass([t.css.header,f.cssHeader,f.cssAsc,f.cssDesc,t.css.sortAsc,t.css.sortDesc,t.css.sortNone].join(" ")).removeAttr("data-column").removeAttr("aria-label").attr("aria-disabled","true");h.find(f.selectorSort).unbind("mousedown mouseup keypress ".split(" ").join(f.namespace+" ").replace(t.regex.spaces," "));t.restoreHeaders(i);e.toggleClass(t.css.table+" "+f.tableClass+" tablesorter-"+f.theme,r===!1);e.removeClass(f.namespace.slice(1));i.hasInitialized=!1;delete i.config.cache;typeof u=="function"&&u(i);t.debug(f,"core")&&console.log("tablesorter has been removed")}}};n.fn.tablesorter=function(i){return this.each(function(){var r=this,u=n.extend(!0,{},t.defaults,i,t.instanceMethods);u.originalSettings=i;!r.hasInitialized&&t.buildTable&&this.nodeName!=="TABLE"?t.buildTable(r,u):t.setup(r,u)})};window.console&&window.console.log||(t.logs=[],console={},console.log=console.warn=console.error=console.table=function(){var n=arguments.length>1?arguments:arguments[0];t.logs[t.logs.length]={date:Date.now(),log:n}});t.addParser({id:"no-parser",is:function(){return!1},format:function(){return""},type:"text"});t.addParser({id:"text",is:function(){return!0},format:function(i,r){var u=r.config;return i&&(i=n.trim(u.ignoreCase?i.toLocaleLowerCase():i),i=u.sortLocaleCompare?t.replaceAccents(i):i),i},type:"text"});t.regex.nondigit=/[^\w,. \-()]/g;t.addParser({id:"digit",is:function(n){return t.isDigit(n)},format:function(i,r){var u=t.formatFloat((i||"").replace(t.regex.nondigit,""),r);return i&&typeof u=="number"?u:i?n.trim(i&&r.config.ignoreCase?i.toLocaleLowerCase():i):i},type:"numeric"});t.regex.currencyReplace=/[+\-,. ]/g;t.regex.currencyTest=/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/;t.addParser({id:"currency",is:function(n){return n=(n||"").replace(t.regex.currencyReplace,""),t.regex.currencyTest.test(n)},format:function(i,r){var u=t.formatFloat((i||"").replace(t.regex.nondigit,""),r);return i&&typeof u=="number"?u:i?n.trim(i&&r.config.ignoreCase?i.toLocaleLowerCase():i):i},type:"numeric"});t.regex.urlProtocolTest=/^(https?|ftp|file):\/\//;t.regex.urlProtocolReplace=/(https?|ftp|file):\/\/(www\.)?/;t.addParser({id:"url",is:function(n){return t.regex.urlProtocolTest.test(n)},format:function(i){return i?n.trim(i.replace(t.regex.urlProtocolReplace,"")):i},type:"text"});t.regex.dash=/-/g;t.regex.isoDate=/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/;t.addParser({id:"isoDate",is:function(n){return t.regex.isoDate.test(n)},format:function(n){var i=n?new Date(n.replace(t.regex.dash,"/")):n;return i instanceof Date&&isFinite(i)?i.getTime():n},type:"numeric"});t.regex.percent=/%/g;t.regex.percentTest=/(\d\s*?%|%\s*?\d)/;t.addParser({id:"percent",is:function(n){return t.regex.percentTest.test(n)&&n.length<15},format:function(n,i){return n?t.formatFloat(n.replace(t.regex.percent,""),i):n},type:"numeric"});t.addParser({id:"image",is:function(n,t,i,r){return r.find("img").length>0},format:function(t,i,r){return n(r).find("img").attr(i.config.imgAttr||"alt")||t},parsed:!0,type:"text"});t.regex.dateReplace=/(\S)([AP]M)$/i;t.regex.usLongDateTest1=/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i;t.regex.usLongDateTest2=/^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i;t.addParser({id:"usLongDate",is:function(n){return t.regex.usLongDateTest1.test(n)||t.regex.usLongDateTest2.test(n)},format:function(n){var i=n?new Date(n.replace(t.regex.dateReplace,"$1 $2")):n;return i instanceof Date&&isFinite(i)?i.getTime():n},type:"numeric"});t.regex.shortDateTest=/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/;t.regex.shortDateReplace=/[\-.,]/g;t.regex.shortDateXXY=/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/;t.regex.shortDateYMD=/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/;t.convertFormat=function(n,i){n=(n||"").replace(t.regex.spaces," ").replace(t.regex.shortDateReplace,"/");i==="mmddyyyy"?n=n.replace(t.regex.shortDateXXY,"$3/$1/$2"):i==="ddmmyyyy"?n=n.replace(t.regex.shortDateXXY,"$3/$2/$1"):i==="yyyymmdd"&&(n=n.replace(t.regex.shortDateYMD,"$1/$2/$3"));var r=new Date(n);return r instanceof Date&&isFinite(r)?r.getTime():""};t.addParser({id:"shortDate",is:function(n){return n=(n||"").replace(t.regex.spaces," ").replace(t.regex.shortDateReplace,"/"),t.regex.shortDateTest.test(n)},format:function(n,i,r,u){if(n){var e=i.config,f=e.$headerIndexed[u],o=f.length&&f.data("dateFormat")||t.getData(f,t.getColumnData(i,e.headers,u),"dateFormat")||e.dateFormat;return f.length&&f.data("dateFormat",o),t.convertFormat(n,o)||n}return n},type:"numeric"});t.regex.timeTest=/^(0?[1-9]|1[0-2]):([0-5]\d)(\s[AP]M)$|^((?:[01]\d|[2][0-4]):[0-5]\d)$/i;t.regex.timeMatch=/(0?[1-9]|1[0-2]):([0-5]\d)(\s[AP]M)|((?:[01]\d|[2][0-4]):[0-5]\d)/i;t.addParser({id:"time",is:function(n){return t.regex.timeTest.test(n)},format:function(n){var f,e=(n||"").match(t.regex.timeMatch),i=new Date(n),u=n&&(e!==null?e[0]:"00:00 AM"),r=u?new Date("2000/01/01 "+u.replace(t.regex.dateReplace,"$1 $2")):u;return r instanceof Date&&isFinite(r)?(f=i instanceof Date&&isFinite(i)?i.getTime():0,f?parseFloat(r.getTime()+"."+i.getTime()):r.getTime()):n},type:"numeric"});t.addParser({id:"metadata",is:function(){return!1},format:function(t,i,r){var u=i.config,f=u.parserMetadataName?u.parserMetadataName:"sortValue";return n(r).metadata()[f]},type:"numeric"});t.addWidget({id:"zebra",priority:90,format:function(t,i,r){for(var e,o,s,h,f,c,a=new RegExp(i.cssChildRow,"i"),l=i.$tbodies.add(n(i.namespace+"_extra_table").children("tbody:not(."+i.cssInfoBlock+")")),u=0;u<l.length;u++)for(s=0,e=l.eq(u).children("tr:visible").not(i.selectorRemove),c=e.length,f=0;f<c;f++)o=e.eq(f),a.test(o[0].className)||s++,h=s%2==0,o.removeClass(r.zebra[h?1:0]).addClass(r.zebra[h?0:1])},remove:function(n,i,r,u){if(!u)for(var e,o=i.$tbodies,s=(r.zebra||["even","odd"]).join(" "),f=0;f<o.length;f++)e=t.processTbody(n,o.eq(f),!0),e.children().removeClass(s),t.processTbody(n,e,!1)}})})(jQuery);