diff --git a/anki/graphs.py b/anki/graphs.py
index 053ed7075..2f16d3d8f 100644
--- a/anki/graphs.py
+++ b/anki/graphs.py
@@ -14,9 +14,7 @@ colRelearn = "#c00"
colCram = "#ff0"
colIvl = "#077"
colTime = "#770"
-easesNewC = "#80b3ff"
-easesYoungC = "#5555ff"
-easesMatureC = "#0f5aff"
+colUnseen = "#000"
class Graphs(object):
@@ -35,6 +33,7 @@ class Graphs(object):
txt += self.ivlGraph()
# other graphs
txt += self.easeGraph()
+ txt += self.cardGraph()
return "
%s " % (anki.js.all, txt)
# Due and cumulative due
@@ -199,7 +198,7 @@ group by day order by day""" % lim,
######################################################################
def ivlGraph(self):
- (ivls, all) = self._ivls()
+ (ivls, all, avg) = self._ivls()
tot = 0
totd = []
if not ivls or not all:
@@ -215,7 +214,7 @@ group by day order by day""" % lim,
yaxes=[dict(), dict(position="right", max=105)]),
info=_("""\
Intervals in the review queue. New cards and cards in (re)learning \
-are not included."""))
+are not included.""") + "" + (_("Average interval: %d") % avg))
return txt
def _ivls(self):
@@ -231,7 +230,56 @@ where queue = 2 %s %s
group by grp
order by grp""" % (self._limit(), lim), chunk=chunk),
self.deck.db.scalar("""
-select count() from cards where queue = 2 %s""" % self._limit()))
+select count() from cards where queue = 2 %s""" % self._limit()),
+ self.deck.db.scalar("""
+select avg(ivl) from cards where queue = 2 %s""" % self._limit()))
+
+ # Intervals
+ ######################################################################
+
+ def cardGraph(self):
+ # graph data
+ div = self._cards()
+ d = []
+ for c, (t, col) in enumerate((
+ (_("Mature"), colMature),
+ (_("Young+Learn"), colYoung),
+ (_("Unseen"), colUnseen))):
+ d.append(dict(data=div[c], label=t, color=col))
+ # text data
+ info = []
+ def line(a, b):
+ info.append("
%s: %s " % (a,b))
+ line(_("Total Cards"), self.deck.cardCount())
+ line(_("Total Facts"), self.deck.factCount())
+ (low, avg, high) = self._factors()
+ line(_("Lowest ease factor"), "%d%%" % low)
+ line(_("Average ease factor"), "%d%%" % avg)
+ line(_("Highest ease factor"), "%d%%" % high)
+ info = ""
+ info += _('''\
+A card's ease factor is the size of the next interval \
+when you answer "good"''')
+ txt = self._graph(id="cards", title=_("Cards"), data=d,
+ info=info, type="pie")
+ return txt
+
+ def _factors(self):
+ return self.deck.db.first("""
+select
+min(factor) / 10.0,
+avg(factor) / 10.0,
+max(factor) / 10.0
+from cards where queue = 2 %s""" % self._limit())
+
+ def _cards(self):
+ return self.deck.db.first("""
+select
+sum(case when queue=2 and ivl >= 21 then 1 else 0 end), -- mtr
+sum(case when queue=1 or (queue=2 and ivl < 21) then 1 else 0 end), -- yng/lrn
+sum(case when queue=0 then 1 else 0 end) -- new
+%s
+from cards""" % self._limit())
# Eases
######################################################################
@@ -288,6 +336,7 @@ order by thetype, ease""")
conf['xaxis'] = {}
if timeTicks:
conf['timeTicks'] = (_("d"), _("w"), _("m"))[self.type]
+ # types
if type == "bars":
conf['series']['bars'] = dict(
show=True, barWidth=0.8, align="center", fill=0.7, lineWidth=0)
@@ -296,6 +345,21 @@ order by thetype, ease""")
show=True, barWidth=0.8, align="center", fill=0.7, lineWidth=3)
elif type == "fill":
conf['series']['lines'] = dict(show=True, fill=True)
+ elif type == "pie":
+ width /= 2
+ height *= 1.5
+ ylabel = ""
+ conf['series']['pie'] = dict(
+ show=True,
+ radius=1,
+ stroke=dict(color="#000", width=3),
+ label=dict(
+ show=True,
+ radius=1, #3/4.0,
+ background=dict(
+ opacity=1,
+ color='#000')))
+ conf['legend'] = dict(show=False)
return (
"""
%(title)s
@@ -306,7 +370,7 @@ order by thetype, ease""")
-
+
%(info)s
@@ -318,11 +382,16 @@ $(function () {
return val.toFixed(0)+conf.timeTicks;
}
}
+ if (conf.series.pie) {
+ conf.series.pie.label.formatter = function(label, series){
+ return ''+label+' '+Math.round(series.percent)+'%%
';
+ };
+ }
$.plot($("#%(id)s"), %(data)s, conf);
});
""" % dict(
id=id, title=title, w=width, h=height, tw=width+100, ylab=ylabel,
- info=info,
+ info=info, infoW=(type=="pie" and 300 or 100),
data=simplejson.dumps(data), conf=simplejson.dumps(conf)))
def _limit(self):
diff --git a/anki/groups.py b/anki/groups.py
index 93eacaf58..742c51c15 100644
--- a/anki/groups.py
+++ b/anki/groups.py
@@ -9,7 +9,7 @@ defaultConf = {
'new': {
'delays': [0.5, 3, 10],
'ints': [1, 7, 4],
- 'initialFactor': 2.5,
+ 'initialFactor': 2500,
},
'lapse': {
'delays': [0.5, 3, 10],
diff --git a/anki/js.py b/anki/js.py
index 927c5c980..53e129304 100644
--- a/anki/js.py
+++ b/anki/js.py
@@ -2,4 +2,5 @@
# Includes jquery 1.5, flot 0.7, and the stack plugin
all = '''
/*\n * jQuery JavaScript Library v1.5\n * http://jquery.com/\n *\n * Copyright 2011, John Resig\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n * Copyright 2011, The Dojo Foundation\n * Released under the MIT, BSD, and GPL Licenses.\n *\n * Date: Mon Jan 31 08:31:29 2011 -0500\n */\n(function(aR,G){var ag=aR.document;var a=(function(){var bh=function(bC,bD){return new bh.fn.init(bC,bD,bf)},bx=aR.jQuery,bj=aR.$,bf,bB=/^(?:[^<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]+)$)/,bp=/\\S/,bl=/^\\s+/,bg=/\\s+$/,bk=/\\d/,bd=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/,bq=/^[\\],:{}\\s]*$/,bz=/\\\\(?:["\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bs=/"[^"\\\\\\n\\r]*"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,bm=/(?:^|:|,)(?:\\s*\\[)+/g,bb=/(webkit)[ \\/]([\\w.]+)/,bu=/(opera)(?:.*version)?[ \\/]([\\w.]+)/,bt=/(msie) ([\\w.]+)/,bv=/(mozilla)(?:.*? rv:([\\w.]+))?/,bA=navigator.userAgent,by,bw=false,be,a6="then done fail isResolved isRejected promise".split(" "),a7,bo=Object.prototype.toString,bi=Object.prototype.hasOwnProperty,bc=Array.prototype.push,bn=Array.prototype.slice,br=String.prototype.trim,a8=Array.prototype.indexOf,ba={};bh.fn=bh.prototype={constructor:bh,init:function(bC,bG,bF){var bE,bH,bD,bI;if(!bC){return this}if(bC.nodeType){this.context=this[0]=bC;this.length=1;return this}if(bC==="body"&&!bG&&ag.body){this.context=ag;this[0]=ag.body;this.selector="body";this.length=1;return this}if(typeof bC==="string"){bE=bB.exec(bC);if(bE&&(bE[1]||!bG)){if(bE[1]){bG=bG instanceof bh?bG[0]:bG;bI=(bG?bG.ownerDocument||bG:ag);bD=bd.exec(bC);if(bD){if(bh.isPlainObject(bG)){bC=[ag.createElement(bD[1])];bh.fn.attr.call(bC,bG,true)}else{bC=[bI.createElement(bD[1])]}}else{bD=bh.buildFragment([bE[1]],[bI]);bC=(bD.cacheable?bh.clone(bD.fragment):bD.fragment).childNodes}return bh.merge(this,bC)}else{bH=ag.getElementById(bE[2]);if(bH&&bH.parentNode){if(bH.id!==bE[2]){return bF.find(bC)}this.length=1;this[0]=bH}this.context=ag;this.selector=bC;return this}}else{if(!bG||bG.jquery){return(bG||bF).find(bC)}else{return this.constructor(bG).find(bC)}}}else{if(bh.isFunction(bC)){return bF.ready(bC)}}if(bC.selector!==G){this.selector=bC.selector;this.context=bC.context}return bh.makeArray(bC,this)},selector:"",jquery:"1.5",length:0,size:function(){return this.length},toArray:function(){return bn.call(this,0)},get:function(bC){return bC==null?this.toArray():(bC<0?this[this.length+bC]:this[bC])},pushStack:function(bD,bF,bC){var bE=this.constructor();if(bh.isArray(bD)){bc.apply(bE,bD)}else{bh.merge(bE,bD)}bE.prevObject=this;bE.context=this.context;if(bF==="find"){bE.selector=this.selector+(this.selector?" ":"")+bC}else{if(bF){bE.selector=this.selector+"."+bF+"("+bC+")"}}return bE},each:function(bD,bC){return bh.each(this,bD,bC)},ready:function(bC){bh.bindReady();be.done(bC);return this},eq:function(bC){return bC===-1?this.slice(bC):this.slice(bC,+bC+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bn.apply(this,arguments),"slice",bn.call(arguments).join(","))},map:function(bC){return this.pushStack(bh.map(this,function(bE,bD){return bC.call(bE,bD,bE)}))},end:function(){return this.prevObject||this.constructor(null)},push:bc,sort:[].sort,splice:[].splice};bh.fn.init.prototype=bh.fn;bh.extend=bh.fn.extend=function(){var bL,bE,bC,bD,bI,bJ,bH=arguments[0]||{},bG=1,bF=arguments.length,bK=false;if(typeof bH==="boolean"){bK=bH;bH=arguments[1]||{};bG=2}if(typeof bH!=="object"&&!bh.isFunction(bH)){bH={}}if(bF===bG){bH=this;--bG}for(;bG0){return}be.resolveWith(ag,[bh]);if(bh.fn.trigger){bh(ag).trigger("ready").unbind("ready")}}},bindReady:function(){if(bw){return}bw=true;if(ag.readyState==="complete"){return setTimeout(bh.ready,1)}if(ag.addEventListener){ag.addEventListener("DOMContentLoaded",a7,false);aR.addEventListener("load",bh.ready,false)}else{if(ag.attachEvent){ag.attachEvent("onreadystatechange",a7);aR.attachEvent("onload",bh.ready);var bC=false;try{bC=aR.frameElement==null}catch(bD){}if(ag.documentElement.doScroll&&bC){a9()}}}},isFunction:function(bC){return bh.type(bC)==="function"},isArray:Array.isArray||function(bC){return bh.type(bC)==="array"},isWindow:function(bC){return bC&&typeof bC==="object"&&"setInterval" in bC},isNaN:function(bC){return bC==null||!bk.test(bC)||isNaN(bC)},type:function(bC){return bC==null?String(bC):ba[bo.call(bC)]||"object"},isPlainObject:function(bD){if(!bD||bh.type(bD)!=="object"||bD.nodeType||bh.isWindow(bD)){return false}if(bD.constructor&&!bi.call(bD,"constructor")&&!bi.call(bD.constructor.prototype,"isPrototypeOf")){return false}var bC;for(bC in bD){}return bC===G||bi.call(bD,bC)},isEmptyObject:function(bD){for(var bC in bD){return false}return true},error:function(bC){throw bC},parseJSON:function(bC){if(typeof bC!=="string"||!bC){return null}bC=bh.trim(bC);if(bq.test(bC.replace(bz,"@").replace(bs,"]").replace(bm,""))){return aR.JSON&&aR.JSON.parse?aR.JSON.parse(bC):(new Function("return "+bC))()}else{bh.error("Invalid JSON: "+bC)}},parseXML:function(bE,bC,bD){if(aR.DOMParser){bD=new DOMParser();bC=bD.parseFromString(bE,"text/xml")}else{bC=new ActiveXObject("Microsoft.XMLDOM");bC.async="false";bC.loadXML(bE)}bD=bC.documentElement;if(!bD||!bD.nodeName||bD.nodeName==="parsererror"){bh.error("Invalid XML: "+bE)}return bC},noop:function(){},globalEval:function(bE){if(bE&&bp.test(bE)){var bD=ag.getElementsByTagName("head")[0]||ag.documentElement,bC=ag.createElement("script");bC.type="text/javascript";if(bh.support.scriptEval()){bC.appendChild(ag.createTextNode(bE))}else{bC.text=bE}bD.insertBefore(bC,bD.firstChild);bD.removeChild(bC)}},nodeName:function(bD,bC){return bD.nodeName&&bD.nodeName.toUpperCase()===bC.toUpperCase()},each:function(bF,bJ,bE){var bD,bG=0,bH=bF.length,bC=bH===G||bh.isFunction(bF);if(bE){if(bC){for(bD in bF){if(bJ.apply(bF[bD],bE)===false){break}}}else{for(;bG1){bC=new Array(bG);bh.each(bE,function(bI,bJ){bh.when(bJ).then(function(bK){bC[bI]=arguments.length>1?bn.call(arguments,0):bK;if(!--bG){bD.resolveWith(bH,bC)}},bD.reject)})}else{if(bD!==bF){bD.resolve(bF)}}return bH},uaMatch:function(bD){bD=bD.toLowerCase();var bC=bb.exec(bD)||bu.exec(bD)||bt.exec(bD)||bD.indexOf("compatible")<0&&bv.exec(bD)||[];return{browser:bC[1]||"",version:bC[2]||"0"}},sub:function(){function bD(bF,bG){return new bD.fn.init(bF,bG)}bh.extend(true,bD,this);bD.superclass=this;bD.fn=bD.prototype=this();bD.fn.constructor=bD;bD.subclass=this.subclass;bD.fn.init=function bE(bF,bG){if(bG&&bG instanceof bh&&!(bG instanceof bD)){bG=bD(bG)}return bh.fn.init.call(this,bF,bG,bC)};bD.fn.init.prototype=bD.fn;var bC=bD(ag);return bD},browser:{}});be=bh._Deferred();bh.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(bD,bC){ba["[object "+bC+"]"]=bC.toLowerCase()});by=bh.uaMatch(bA);if(by.browser){bh.browser[by.browser]=true;bh.browser.version=by.version}if(bh.browser.webkit){bh.browser.safari=true}if(a8){bh.inArray=function(bC,bD){return a8.call(bD,bC)}}bf=bh(ag);if(ag.addEventListener){a7=function(){ag.removeEventListener("DOMContentLoaded",a7,false);bh.ready()}}else{if(ag.attachEvent){a7=function(){if(ag.readyState==="complete"){ag.detachEvent("onreadystatechange",a7);bh.ready()}}}}function a9(){if(bh.isReady){return}try{ag.documentElement.doScroll("left")}catch(bC){setTimeout(a9,1);return}bh.ready()}return(aR.jQuery=aR.$=bh)})();(function(){a.support={};var a6=ag.createElement("div");a6.style.display="none";a6.innerHTML=" a ";var bd=a6.getElementsByTagName("*"),bb=a6.getElementsByTagName("a")[0],bc=ag.createElement("select"),a7=bc.appendChild(ag.createElement("option"));if(!bd||!bd.length||!bb){return}a.support={leadingWhitespace:a6.firstChild.nodeType===3,tbody:!a6.getElementsByTagName("tbody").length,htmlSerialize:!!a6.getElementsByTagName("link").length,style:/red/.test(bb.getAttribute("style")),hrefNormalized:bb.getAttribute("href")==="/a",opacity:/^0.55$/.test(bb.style.opacity),cssFloat:!!bb.style.cssFloat,checkOn:a6.getElementsByTagName("input")[0].value==="on",optSelected:a7.selected,deleteExpando:true,optDisabled:false,checkClone:false,_scriptEval:null,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};bc.disabled=true;a.support.optDisabled=!a7.disabled;a.support.scriptEval=function(){if(a.support._scriptEval===null){var bf=ag.documentElement,bg=ag.createElement("script"),bi="script"+a.now();bg.type="text/javascript";try{bg.appendChild(ag.createTextNode("window."+bi+"=1;"))}catch(bh){}bf.insertBefore(bg,bf.firstChild);if(aR[bi]){a.support._scriptEval=true;delete aR[bi]}else{a.support._scriptEval=false}bf.removeChild(bg);bf=bg=bi=null}return a.support._scriptEval};try{delete a6.test}catch(a8){a.support.deleteExpando=false}if(a6.attachEvent&&a6.fireEvent){a6.attachEvent("onclick",function be(){a.support.noCloneEvent=false;a6.detachEvent("onclick",be)});a6.cloneNode(true).fireEvent("onclick")}a6=ag.createElement("div");a6.innerHTML=" ";var a9=ag.createDocumentFragment();a9.appendChild(a6.firstChild);a.support.checkClone=a9.cloneNode(true).cloneNode(true).lastChild.checked;a(function(){var bh=ag.createElement("div"),bf=ag.getElementsByTagName("body")[0];if(!bf){return}bh.style.width=bh.style.paddingLeft="1px";bf.appendChild(bh);a.boxModel=a.support.boxModel=bh.offsetWidth===2;if("zoom" in bh.style){bh.style.display="inline";bh.style.zoom=1;a.support.inlineBlockNeedsLayout=bh.offsetWidth===2;bh.style.display="";bh.innerHTML="
";a.support.shrinkWrapBlocks=bh.offsetWidth!==2}bh.innerHTML="";var bg=bh.getElementsByTagName("td");a.support.reliableHiddenOffsets=bg[0].offsetHeight===0;bg[0].style.display="";bg[1].style.display="none";a.support.reliableHiddenOffsets=a.support.reliableHiddenOffsets&&bg[0].offsetHeight===0;bh.innerHTML="";bf.removeChild(bh).style.display="none";bh=bg=null});var ba=function(bf){var bh=ag.createElement("div");bf="on"+bf;if(!bh.attachEvent){return true}var bg=(bf in bh);if(!bg){bh.setAttribute(bf,"return;");bg=typeof bh[bf]==="function"}bh=null;return bg};a.support.submitBubbles=ba("submit");a.support.changeBubbles=ba("change");a6=bd=bb=null})();var av=/^(?:\\{.*\\}|\\[.*\\])$/;a.extend({cache:{},uuid:0,expando:"jQuery"+(a.fn.jquery+Math.random()).replace(/\\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(a6){a6=a6.nodeType?a.cache[a6[a.expando]]:a6[a.expando];return !!a6&&!a.isEmptyObject(a6)},data:function(a9,a7,bb,ba){if(!a.acceptData(a9)){return}var be=a.expando,bd=typeof a7==="string",bc,bf=a9.nodeType,a6=bf?a.cache:a9,a8=bf?a9[a.expando]:a9[a.expando]&&a.expando;if((!a8||(ba&&a8&&!a6[a8][be]))&&bd&&bb===G){return}if(!a8){if(bf){a9[a.expando]=a8=++a.uuid}else{a8=a.expando}}if(!a6[a8]){a6[a8]={}}if(typeof a7==="object"){if(ba){a6[a8][be]=a.extend(a6[a8][be],a7)}else{a6[a8]=a.extend(a6[a8],a7)}}bc=a6[a8];if(ba){if(!bc[be]){bc[be]={}}bc=bc[be]}if(bb!==G){bc[a7]=bb}if(a7==="events"&&!bc[a7]){return bc[be]&&bc[be].events}return bd?bc[a7]:bc},removeData:function(ba,a8,bb){if(!a.acceptData(ba)){return}var bd=a.expando,be=ba.nodeType,a7=be?a.cache:ba,a9=be?ba[a.expando]:a.expando;if(!a7[a9]){return}if(a8){var bc=bb?a7[a9][bd]:a7[a9];if(bc){delete bc[a8];if(!a.isEmptyObject(bc)){return}}}if(bb){delete a7[a9][bd];if(!a.isEmptyObject(a7[a9])){return}}var a6=a7[a9][bd];if(a.support.deleteExpando||a7!=aR){delete a7[a9]}else{a7[a9]=null}if(a6){a7[a9]={};a7[a9][bd]=a6}else{if(be){if(a.support.deleteExpando){delete ba[a.expando]}else{if(ba.removeAttribute){ba.removeAttribute(a.expando)}else{ba[a.expando]=null}}}}},_data:function(a7,a6,a8){return a.data(a7,a6,a8,true)},acceptData:function(a7){if(a7.nodeName){var a6=a.noData[a7.nodeName.toLowerCase()];if(a6){return !(a6===true||a7.getAttribute("classid")!==a6)}}return true}});a.fn.extend({data:function(ba,bc){var bb=null;if(typeof ba==="undefined"){if(this.length){bb=a.data(this[0]);if(this[0].nodeType===1){var a6=this[0].attributes,a8;for(var a9=0,a7=a6.length;a9-1){return true}}return false},val:function(be){if(!arguments.length){var a8=this[0];if(a8){if(a.nodeName(a8,"option")){var a7=a8.attributes.value;return !a7||a7.specified?a8.value:a8.text}if(a.nodeName(a8,"select")){var bc=a8.selectedIndex,bf=[],bg=a8.options,bb=a8.type==="select-one";if(bc<0){return null}for(var a9=bb?bc:0,bd=bb?bc+1:bg.length;a9=0}else{if(a.nodeName(this,"select")){var bh=a.makeArray(bk);a("option",this).each(function(){this.selected=a.inArray(a(this).val(),bh)>=0});if(!bh.length){this.selectedIndex=-1}}else{this.value=bk}}})}});a.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a7,a6,bc,bf){if(!a7||a7.nodeType===3||a7.nodeType===8||a7.nodeType===2){return G}if(bf&&a6 in a.attrFn){return a(a7)[a6](bc)}var a8=a7.nodeType!==1||!a.isXMLDoc(a7),bb=bc!==G;a6=a8&&a.props[a6]||a6;if(a7.nodeType===1){var ba=aU.test(a6);if(a6==="selected"&&!a.support.optSelected){var bd=a7.parentNode;if(bd){bd.selectedIndex;if(bd.parentNode){bd.parentNode.selectedIndex}}}if((a6 in a7||a7[a6]!==G)&&a8&&!ba){if(bb){if(a6==="type"&&e.test(a7.nodeName)&&a7.parentNode){a.error("type property can\'t be changed")}if(bc===null){if(a7.nodeType===1){a7.removeAttribute(a6)}}else{a7[a6]=bc}}if(a.nodeName(a7,"form")&&a7.getAttributeNode(a6)){return a7.getAttributeNode(a6).nodeValue}if(a6==="tabIndex"){var be=a7.getAttributeNode("tabIndex");return be&&be.specified?be.value:B.test(a7.nodeName)||k.test(a7.nodeName)&&a7.href?0:G}return a7[a6]}if(!a.support.style&&a8&&a6==="style"){if(bb){a7.style.cssText=""+bc}return a7.style.cssText}if(bb){a7.setAttribute(a6,""+bc)}if(!a7.attributes[a6]&&(a7.hasAttribute&&!a7.hasAttribute(a6))){return G}var a9=!a.support.hrefNormalized&&a8&&ba?a7.getAttribute(a6,2):a7.getAttribute(a6);return a9===null?G:a9}if(bb){a7[a6]=bc}return a7[a6]}});var aI=/\\.(.*)$/,aT=/^(?:textarea|input|select)$/i,I=/\\./g,W=/ /g,ao=/[^\\w\\s.|`]/g,D=function(a6){return a6.replace(ao,"\\\\$&")},aA="events";a.event={add:function(a9,bd,bi,bb){if(a9.nodeType===3||a9.nodeType===8){return}if(a.isWindow(a9)&&(a9!==aR&&!a9.frameElement)){a9=aR}if(bi===false){bi=aX}else{if(!bi){return}}var a7,bh;if(bi.handler){a7=bi;bi=a7.handler}if(!bi.guid){bi.guid=a.guid++}var be=a._data(a9);if(!be){return}var bj=be[aA],bc=be.handle;if(typeof bj==="function"){bc=bj.handle;bj=bj.events}else{if(!bj){if(!a9.nodeType){be[aA]=be=function(){}}be.events=bj={}}}if(!bc){be.handle=bc=function(){return typeof a!=="undefined"&&!a.event.triggered?a.event.handle.apply(bc.elem,arguments):G}}bc.elem=a9;bd=bd.split(" ");var bg,ba=0,a6;while((bg=bd[ba++])){bh=a7?a.extend({},a7):{handler:bi,data:bb};if(bg.indexOf(".")>-1){a6=bg.split(".");bg=a6.shift();bh.namespace=a6.slice(0).sort().join(".")}else{a6=[];bh.namespace=""}bh.type=bg;if(!bh.guid){bh.guid=bi.guid}var a8=bj[bg],bf=a.event.special[bg]||{};if(!a8){a8=bj[bg]=[];if(!bf.setup||bf.setup.call(a9,bb,a6,bc)===false){if(a9.addEventListener){a9.addEventListener(bg,bc,false)}else{if(a9.attachEvent){a9.attachEvent("on"+bg,bc)}}}}if(bf.add){bf.add.call(a9,bh);if(!bh.handler.guid){bh.handler.guid=bi.guid}}a8.push(bh);a.event.global[bg]=true}a9=null},global:{},remove:function(bl,bg,a8,bc){if(bl.nodeType===3||bl.nodeType===8){return}if(a8===false){a8=aX}var bo,bb,bd,bi,bj=0,a9,be,bh,ba,bf,a6,bn,bk=a.hasData(bl)&&a._data(bl),a7=bk&&bk[aA];if(!bk||!a7){return}if(typeof a7==="function"){bk=a7;a7=a7.events}if(bg&&bg.type){a8=bg.handler;bg=bg.type}if(!bg||typeof bg==="string"&&bg.charAt(0)==="."){bg=bg||"";for(bb in a7){a.event.remove(bl,bb+bg)}return}bg=bg.split(" ");while((bb=bg[bj++])){bn=bb;a6=null;a9=bb.indexOf(".")<0;be=[];if(!a9){be=bb.split(".");bb=be.shift();bh=new RegExp("(^|\\\\.)"+a.map(be.slice(0).sort(),D).join("\\\\.(?:.*\\\\.)?")+"(\\\\.|$)")}bf=a7[bb];if(!bf){continue}if(!a8){for(bi=0;bi=0){a7.type=bg=bg.slice(0,-1);a7.exclusive=true}if(!a9){a7.stopPropagation();if(a.event.global[bg]){a.each(a.cache,function(){var bl=a.expando,bk=this[bl];if(bk&&bk.events&&bk.events[bg]){a.event.trigger(a7,bc,bk.handle.elem)}})}}if(!a9||a9.nodeType===3||a9.nodeType===8){return G}a7.result=G;a7.target=a9;bc=a.makeArray(bc);bc.unshift(a7)}a7.currentTarget=a9;var bd=a9.nodeType?a._data(a9,"handle"):(a._data(a9,aA)||{}).handle;if(bd){bd.apply(a9,bc)}var bi=a9.parentNode||a9.ownerDocument;try{if(!(a9&&a9.nodeName&&a.noData[a9.nodeName.toLowerCase()])){if(a9["on"+bg]&&a9["on"+bg].apply(a9,bc)===false){a7.result=false;a7.preventDefault()}}}catch(bh){}if(!a7.isPropagationStopped()&&bi){a.event.trigger(a7,bc,bi,true)}else{if(!a7.isDefaultPrevented()){var a8,be=a7.target,a6=bg.replace(aI,""),bj=a.nodeName(be,"a")&&a6==="click",bf=a.event.special[a6]||{};if((!bf._default||bf._default.call(a9,a7)===false)&&!bj&&!(be&&be.nodeName&&a.noData[be.nodeName.toLowerCase()])){try{if(be[a6]){a8=be["on"+a6];if(a8){be["on"+a6]=null}a.event.triggered=true;be[a6]()}}catch(ba){}if(a8){be["on"+a6]=a8}a.event.triggered=false}}}},handle:function(a6){var bf,a8,a7,bh,bg,bb=[],bd=a.makeArray(arguments);a6=bd[0]=a.event.fix(a6||aR.event);a6.currentTarget=this;bf=a6.type.indexOf(".")<0&&!a6.exclusive;if(!bf){a7=a6.type.split(".");a6.type=a7.shift();bb=a7.slice(0).sort();bh=new RegExp("(^|\\\\.)"+bb.join("\\\\.(?:.*\\\\.)?")+"(\\\\.|$)")}a6.namespace=a6.namespace||bb.join(".");bg=a._data(this,aA);if(typeof bg==="function"){bg=bg.events}a8=(bg||{})[a6.type];if(bg&&a8){a8=a8.slice(0);for(var ba=0,a9=a8.length;ba-1?a.map(a7.options,function(a9){return a9.selected}).join("-"):""}else{if(a7.nodeName.toLowerCase()==="select"){a8=a7.selectedIndex}}}return a8},T=function T(a8){var a6=a8.target,a7,a9;if(!aT.test(a6.nodeName)||a6.readOnly){return}a7=a._data(a6,"_change_data");a9=j(a6);if(a8.type!=="focusout"||a6.type!=="radio"){a._data(a6,"_change_data",a9)}if(a7===G||a9===a7){return}if(a7!=null||a9){a8.type="change";a8.liveFired=G;return a.event.trigger(a8,arguments[1],a6)}};a.event.special.change={filters:{focusout:T,beforedeactivate:T,click:function(a8){var a7=a8.target,a6=a7.type;if(a6==="radio"||a6==="checkbox"||a7.nodeName.toLowerCase()==="select"){return T.call(this,a8)}},keydown:function(a8){var a7=a8.target,a6=a7.type;if((a8.keyCode===13&&a7.nodeName.toLowerCase()!=="textarea")||(a8.keyCode===32&&(a6==="checkbox"||a6==="radio"))||a6==="select-multiple"){return T.call(this,a8)}},beforeactivate:function(a7){var a6=a7.target;a._data(a6,"_change_data",j(a6))}},setup:function(a8,a7){if(this.type==="file"){return false}for(var a6 in aY){a.event.add(this,a6+".specialChange",aY[a6])}return aT.test(this.nodeName)},teardown:function(a6){a.event.remove(this,".specialChange");return aT.test(this.nodeName)}};aY=a.event.special.change.filters;aY.focus=aY.beforeactivate}function aF(a7,a8,a6){a6[0].type=a7;return a.event.handle.apply(a8,a6)}if(ag.addEventListener){a.each({focus:"focusin",blur:"focusout"},function(a8,a6){a.event.special[a6]={setup:function(){this.addEventListener(a8,a7,true)},teardown:function(){this.removeEventListener(a8,a7,true)}};function a7(a9){a9=a.event.fix(a9);a9.type=a6;return a.event.handle.call(this,a9)}})}a.each(["bind","one"],function(a7,a6){a.fn[a6]=function(bd,be,bc){if(typeof bd==="object"){for(var ba in bd){this[a6](ba,be,bd[ba],bc)}return this}if(a.isFunction(be)||be===false){bc=be;be=G}var bb=a6==="one"?a.proxy(bc,function(bf){a(this).unbind(bf,bb);return bc.apply(this,arguments)}):bc;if(bd==="unload"&&a6!=="one"){this.one(bd,be,bc)}else{for(var a9=0,a8=this.length;a9a9){break}bh.currentTarget=bb.elem;bh.data=bb.handleObj.data;bh.handleObj=bb.handleObj;bl=bb.handleObj.origHandler.apply(bb.elem,arguments);if(bl===false||bh.isPropagationStopped()){a9=bb.level;if(bl===false){be=false}if(bh.isImmediatePropagationStopped()){break}}}return be}function o(a7,a6){return(a7&&a7!=="*"?a7+".":"")+a6.replace(I,"`").replace(W,"&")}a.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error").split(" "),function(a7,a6){a.fn[a6]=function(a9,a8){if(a8==null){a8=a9;a9=null}return arguments.length>0?this.bind(a6,a9,a8):this.trigger(a6)};if(a.attrFn){a.attrFn[a6]=true}});\n/*\n * Sizzle CSS Selector Engine\n * Copyright 2011, The Dojo Foundation\n * Released under the MIT, BSD, and GPL Licenses.\n * More information: http://sizzlejs.com/\n */\n(function(){var bl=/((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|[\'"][^\'"]*[\'"]|[^\\[\\]\'"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g,be=0,a9=Object.prototype.toString,bk=false,bd=true;[0,0].sort(function(){bd=false;return 0});var a7=function(bs,bn,bv,bw){bv=bv||[];bn=bn||ag;var by=bn;if(bn.nodeType!==1&&bn.nodeType!==9){return[]}if(!bs||typeof bs!=="string"){return bv}var bp,bA,bD,bo,bz,bC,bB,bu,br=true,bq=a7.isXML(bn),bt=[],bx=bs;do{bl.exec("");bp=bl.exec(bx);if(bp){bx=bp[3];bt.push(bp[1]);if(bp[2]){bo=bp[3];break}}}while(bp);if(bt.length>1&&bf.exec(bs)){if(bt.length===2&&ba.relative[bt[0]]){bA=bc(bt[0]+bt[1],bn)}else{bA=ba.relative[bt[0]]?[bn]:a7(bt.shift(),bn);while(bt.length){bs=bt.shift();if(ba.relative[bs]){bs+=bt.shift()}bA=bc(bs,bA)}}}else{if(!bw&&bt.length>1&&bn.nodeType===9&&!bq&&ba.match.ID.test(bt[0])&&!ba.match.ID.test(bt[bt.length-1])){bz=a7.find(bt.shift(),bn,bq);bn=bz.expr?a7.filter(bz.expr,bz.set)[0]:bz.set[0]}if(bn){bz=bw?{expr:bt.pop(),set:a6(bw)}:a7.find(bt.pop(),bt.length===1&&(bt[0]==="~"||bt[0]==="+")&&bn.parentNode?bn.parentNode:bn,bq);bA=bz.expr?a7.filter(bz.expr,bz.set):bz.set;if(bt.length>0){bD=a6(bA)}else{br=false}while(bt.length){bC=bt.pop();bB=bC;if(!ba.relative[bC]){bC=""}else{bB=bt.pop()}if(bB==null){bB=bn}ba.relative[bC](bD,bB,bq)}}else{bD=bt=[]}}if(!bD){bD=bA}if(!bD){a7.error(bC||bs)}if(a9.call(bD)==="[object Array]"){if(!br){bv.push.apply(bv,bD)}else{if(bn&&bn.nodeType===1){for(bu=0;bD[bu]!=null;bu++){if(bD[bu]&&(bD[bu]===true||bD[bu].nodeType===1&&a7.contains(bn,bD[bu]))){bv.push(bA[bu])}}}else{for(bu=0;bD[bu]!=null;bu++){if(bD[bu]&&bD[bu].nodeType===1){bv.push(bA[bu])}}}}}else{a6(bD,bv)}if(bo){a7(bo,by,bv,bw);a7.uniqueSort(bv)}return bv};a7.uniqueSort=function(bo){if(a8){bk=bd;bo.sort(a8);if(bk){for(var bn=1;bn0};a7.find=function(bu,bn,bv){var bt;if(!bu){return[]}for(var bq=0,bp=ba.order.length;bq":function(bt,bo){var bs,br=typeof bo==="string",bp=0,bn=bt.length;if(br&&!/\\W/.test(bo)){bo=bo.toLowerCase();for(;bp=0)){if(!bp){bn.push(bs)}}else{if(bp){bo[br]=false}}}}return false},ID:function(bn){return bn[1].replace(/\\\\/g,"")},TAG:function(bo,bn){return bo[1].toLowerCase()},CHILD:function(bn){if(bn[1]==="nth"){if(!bn[2]){a7.error(bn[0])}bn[2]=bn[2].replace(/^\\+|\\s*/g,"");var bo=/(-?)(\\d*)(?:n([+\\-]?\\d*))?/.exec(bn[2]==="even"&&"2n"||bn[2]==="odd"&&"2n+1"||!/\\D/.test(bn[2])&&"0n+"+bn[2]||bn[2]);bn[2]=(bo[1]+(bo[2]||1))-0;bn[3]=bo[3]-0}else{if(bn[2]){a7.error(bn[0])}}bn[0]=be++;return bn},ATTR:function(br,bo,bp,bn,bs,bt){var bq=br[1]=br[1].replace(/\\\\/g,"");if(!bt&&ba.attrMap[bq]){br[1]=ba.attrMap[bq]}br[4]=(br[4]||br[5]||"").replace(/\\\\/g,"");if(br[2]==="~="){br[4]=" "+br[4]+" "}return br},PSEUDO:function(br,bo,bp,bn,bs){if(br[1]==="not"){if((bl.exec(br[3])||"").length>1||/^\\w/.test(br[3])){br[3]=a7(br[3],null,null,bo)}else{var bq=a7.filter(br[3],bo,bp,true^bs);if(!bp){bn.push.apply(bn,bq)}return false}}else{if(ba.match.POS.test(br[0])||ba.match.CHILD.test(br[0])){return true}}return br},POS:function(bn){bn.unshift(true);return bn}},filters:{enabled:function(bn){return bn.disabled===false&&bn.type!=="hidden"},disabled:function(bn){return bn.disabled===true},checked:function(bn){return bn.checked===true},selected:function(bn){bn.parentNode.selectedIndex;return bn.selected===true},parent:function(bn){return !!bn.firstChild},empty:function(bn){return !bn.firstChild},has:function(bp,bo,bn){return !!a7(bn[3],bp).length},header:function(bn){return(/h\\d/i).test(bn.nodeName)},text:function(bn){return"text"===bn.type},radio:function(bn){return"radio"===bn.type},checkbox:function(bn){return"checkbox"===bn.type},file:function(bn){return"file"===bn.type},password:function(bn){return"password"===bn.type},submit:function(bn){return"submit"===bn.type},image:function(bn){return"image"===bn.type},reset:function(bn){return"reset"===bn.type},button:function(bn){return"button"===bn.type||bn.nodeName.toLowerCase()==="button"},input:function(bn){return(/input|select|textarea|button/i).test(bn.nodeName)}},setFilters:{first:function(bo,bn){return bn===0},last:function(bp,bo,bn,bq){return bo===bq.length-1},even:function(bo,bn){return bn%2===0},odd:function(bo,bn){return bn%2===1},lt:function(bp,bo,bn){return bobn[3]-0},nth:function(bp,bo,bn){return bn[3]-0===bo},eq:function(bp,bo,bn){return bn[3]-0===bo}},filter:{PSEUDO:function(bp,bu,bt,bv){var bn=bu[1],bo=ba.filters[bn];if(bo){return bo(bp,bt,bu,bv)}else{if(bn==="contains"){return(bp.textContent||bp.innerText||a7.getText([bp])||"").indexOf(bu[3])>=0}else{if(bn==="not"){var bq=bu[3];for(var bs=0,br=bq.length;bs =0)}}},ID:function(bo,bn){return bo.nodeType===1&&bo.getAttribute("id")===bn},TAG:function(bo,bn){return(bn==="*"&&bo.nodeType===1)||bo.nodeName.toLowerCase()===bn},CLASS:function(bo,bn){return(" "+(bo.className||bo.getAttribute("class"))+" ").indexOf(bn)>-1},ATTR:function(bs,bq){var bp=bq[1],bn=ba.attrHandle[bp]?ba.attrHandle[bp](bs):bs[bp]!=null?bs[bp]:bs.getAttribute(bp),bt=bn+"",br=bq[2],bo=bq[4];return bn==null?br==="!=":br==="="?bt===bo:br==="*="?bt.indexOf(bo)>=0:br==="~="?(" "+bt+" ").indexOf(bo)>=0:!bo?bt&&bn!==false:br==="!="?bt!==bo:br==="^="?bt.indexOf(bo)===0:br==="$="?bt.substr(bt.length-bo.length)===bo:br==="|="?bt===bo||bt.substr(0,bo.length+1)===bo+"-":false},POS:function(br,bo,bp,bs){var bn=bo[2],bq=ba.setFilters[bn];if(bq){return bq(br,bp,bo,bs)}}}};var bf=ba.match.POS,bb=function(bo,bn){return"\\\\"+(bn-0+1)};for(var bi in ba.match){ba.match[bi]=new RegExp(ba.match[bi].source+(/(?![^\\[]*\\])(?![^\\(]*\\))/.source));ba.leftMatch[bi]=new RegExp(/(^(?:.|\\r|\\n)*?)/.source+ba.match[bi].source.replace(/\\\\(\\d+)/g,bb))}var a6=function(bo,bn){bo=Array.prototype.slice.call(bo,0);if(bn){bn.push.apply(bn,bo);return bn}return bo};try{Array.prototype.slice.call(ag.documentElement.childNodes,0)[0].nodeType}catch(bg){a6=function(br,bq){var bp=0,bo=bq||[];if(a9.call(br)==="[object Array]"){Array.prototype.push.apply(bo,br)}else{if(typeof br.length==="number"){for(var bn=br.length;bp";bn.insertBefore(bo,bn.firstChild);if(ag.getElementById(bp)){ba.find.ID=function(br,bs,bt){if(typeof bs.getElementById!=="undefined"&&!bt){var bq=bs.getElementById(br[1]);return bq?bq.id===br[1]||typeof bq.getAttributeNode!=="undefined"&&bq.getAttributeNode("id").nodeValue===br[1]?[bq]:G:[]}};ba.filter.ID=function(bs,bq){var br=typeof bs.getAttributeNode!=="undefined"&&bs.getAttributeNode("id");return bs.nodeType===1&&br&&br.nodeValue===bq}}bn.removeChild(bo);bn=bo=null})();(function(){var bn=ag.createElement("div");bn.appendChild(ag.createComment(""));if(bn.getElementsByTagName("*").length>0){ba.find.TAG=function(bo,bs){var br=bs.getElementsByTagName(bo[1]);if(bo[1]==="*"){var bq=[];for(var bp=0;br[bp];bp++){if(br[bp].nodeType===1){bq.push(br[bp])}}br=bq}return br}}bn.innerHTML=" ";if(bn.firstChild&&typeof bn.firstChild.getAttribute!=="undefined"&&bn.firstChild.getAttribute("href")!=="#"){ba.attrHandle.href=function(bo){return bo.getAttribute("href",2)}}bn=null})();if(ag.querySelectorAll){(function(){var bn=a7,bq=ag.createElement("div"),bp="__sizzle__";bq.innerHTML="
";if(bq.querySelectorAll&&bq.querySelectorAll(".TEST").length===0){return}a7=function(bA,bs,bv,bz){bs=bs||ag;if(!bz&&!a7.isXML(bs)){var by=/^(\\w+$)|^\\.([\\w\\-]+$)|^#([\\w\\-]+$)/.exec(bA);if(by&&(bs.nodeType===1||bs.nodeType===9)){if(by[1]){return a6(bs.getElementsByTagName(bA),bv)}else{if(by[2]&&ba.find.CLASS&&bs.getElementsByClassName){return a6(bs.getElementsByClassName(by[2]),bv)}}}if(bs.nodeType===9){if(bA==="body"&&bs.body){return a6([bs.body],bv)}else{if(by&&by[3]){var bu=bs.getElementById(by[3]);if(bu&&bu.parentNode){if(bu.id===by[3]){return a6([bu],bv)}}else{return a6([],bv)}}}try{return a6(bs.querySelectorAll(bA),bv)}catch(bw){}}else{if(bs.nodeType===1&&bs.nodeName.toLowerCase()!=="object"){var bt=bs.getAttribute("id"),br=bt||bp,bC=bs.parentNode,bB=/^\\s*[+~]/.test(bA);if(!bt){bs.setAttribute("id",br)}else{br=br.replace(/\'/g,"\\\\$&")}if(bB&&bC){bs=bs.parentNode}try{if(!bB||bC){return a6(bs.querySelectorAll("[id=\'"+br+"\'] "+bA),bv)}}catch(bx){}finally{if(!bt){bs.removeAttribute("id")}}}}}return bn(bA,bs,bv,bz)};for(var bo in bn){a7[bo]=bn[bo]}bq=null})()}(function(){var bn=ag.documentElement,bp=bn.matchesSelector||bn.mozMatchesSelector||bn.webkitMatchesSelector||bn.msMatchesSelector,bo=false;try{bp.call(ag.documentElement,"[test!=\'\']:sizzle")}catch(bq){bo=true}if(bp){a7.matchesSelector=function(br,bt){bt=bt.replace(/\\=\\s*([^\'"\\]]*)\\s*\\]/g,"=\'$1\']");if(!a7.isXML(br)){try{if(bo||!ba.match.PSEUDO.test(bt)&&!/!=/.test(bt)){return bp.call(br,bt)}}catch(bs){}}return a7(bt,null,null,[br]).length>0}}})();(function(){var bn=ag.createElement("div");bn.innerHTML="
";if(!bn.getElementsByClassName||bn.getElementsByClassName("e").length===0){return}bn.lastChild.className="e";if(bn.getElementsByClassName("e").length===1){return}ba.order.splice(1,0,"CLASS");ba.find.CLASS=function(bo,bp,bq){if(typeof bp.getElementsByClassName!=="undefined"&&!bq){return bp.getElementsByClassName(bo[1])}};bn=null})();function bj(bo,bt,bs,bw,bu,bv){for(var bq=0,bp=bw.length;bq0){br=bn;break}}}bn=bn[bo]}bw[bq]=br}}}if(ag.documentElement.contains){a7.contains=function(bo,bn){return bo!==bn&&(bo.contains?bo.contains(bn):true)}}else{if(ag.documentElement.compareDocumentPosition){a7.contains=function(bo,bn){return !!(bo.compareDocumentPosition(bn)&16)}}else{a7.contains=function(){return false}}}a7.isXML=function(bn){var bo=(bn?bn.ownerDocument||bn:0).documentElement;return bo?bo.nodeName!=="HTML":false};var bc=function(bn,bu){var bs,bq=[],br="",bp=bu.nodeType?[bu]:bu;while((bs=ba.match.PSEUDO.exec(bn))){br+=bs[0];bn=bn.replace(ba.match.PSEUDO,"")}bn=ba.relative[bn]?bn+"*":bn;for(var bt=0,bo=bp.length;bt0){for(var bc=bb;bc0},closest:function(bg,a7){var bd=[],ba,a8,bf=this[0];if(a.isArray(bg)){var bc,a9,bb={},a6=1;if(bf&&bg.length){for(ba=0,a8=bg.length;ba-1:a(bf).is(bc)){bd.push({selector:a9,elem:bf,level:a6})}}bf=bf.parentNode;a6++}}return bd}var be=E.test(bg)?a(bg,a7||this.context):null;for(ba=0,a8=this.length;ba-1:a.find.matchesSelector(bf,bg)){bd.push(bf);break}else{bf=bf.parentNode;if(!bf||!bf.ownerDocument||bf===a7){break}}}}bd=bd.length>1?a.unique(bd):bd;return this.pushStack(bd,"closest",bg)},index:function(a6){if(!a6||typeof a6==="string"){return a.inArray(this[0],a6?a(a6):this.parent().children())}return a.inArray(a6.jquery?a6[0]:a6,this)},add:function(a6,a7){var a9=typeof a6==="string"?a(a6,a7):a.makeArray(a6),a8=a.merge(this.get(),a9);return this.pushStack(A(a9[0])||A(a8[0])?a8:a.unique(a8))},andSelf:function(){return this.add(this.prevObject)}});function A(a6){return !a6||!a6.parentNode||a6.parentNode.nodeType===11}a.each({parent:function(a7){var a6=a7.parentNode;return a6&&a6.nodeType!==11?a6:null},parents:function(a6){return a.dir(a6,"parentNode")},parentsUntil:function(a7,a6,a8){return a.dir(a7,"parentNode",a8)},next:function(a6){return a.nth(a6,2,"nextSibling")},prev:function(a6){return a.nth(a6,2,"previousSibling")},nextAll:function(a6){return a.dir(a6,"nextSibling")},prevAll:function(a6){return a.dir(a6,"previousSibling")},nextUntil:function(a7,a6,a8){return a.dir(a7,"nextSibling",a8)},prevUntil:function(a7,a6,a8){return a.dir(a7,"previousSibling",a8)},siblings:function(a6){return a.sibling(a6.parentNode.firstChild,a6)},children:function(a6){return a.sibling(a6.firstChild)},contents:function(a6){return a.nodeName(a6,"iframe")?a6.contentDocument||a6.contentWindow.document:a.makeArray(a6.childNodes)}},function(a6,a7){a.fn[a6]=function(bb,a8){var ba=a.map(this,a7,bb),a9=K.call(arguments);if(!S.test(a6)){a8=bb}if(a8&&typeof a8==="string"){ba=a.filter(a8,ba)}ba=this.length>1&&!ai[a6]?a.unique(ba):ba;if((this.length>1||aP.test(a8))&&ad.test(a6)){ba=ba.reverse()}return this.pushStack(ba,a6,a9.join(","))}});a.extend({filter:function(a8,a6,a7){if(a7){a8=":not("+a8+")"}return a6.length===1?a.find.matchesSelector(a6[0],a8)?[a6[0]]:[]:a.find.matches(a8,a6)},dir:function(a8,a7,ba){var a6=[],a9=a8[a7];while(a9&&a9.nodeType!==9&&(ba===G||a9.nodeType!==1||!a(a9).is(ba))){if(a9.nodeType===1){a6.push(a9)}a9=a9[a7]}return a6},nth:function(ba,a6,a8,a9){a6=a6||1;var a7=0;for(;ba;ba=ba[a8]){if(ba.nodeType===1&&++a7===a6){break}}return ba},sibling:function(a8,a7){var a6=[];for(;a8;a8=a8.nextSibling){if(a8.nodeType===1&&a8!==a7){a6.push(a8)}}return a6}});function an(a9,a8,a6){if(a.isFunction(a8)){return a.grep(a9,function(bb,ba){var bc=!!a8.call(bb,ba,bb);return bc===a6})}else{if(a8.nodeType){return a.grep(a9,function(bb,ba){return(bb===a8)===a6})}else{if(typeof a8==="string"){var a7=a.grep(a9,function(ba){return ba.nodeType===1});if(a1.test(a8)){return a.filter(a8,a7,!a6)}else{a8=a.filter(a8,a7)}}}}return a.grep(a9,function(bb,ba){return(a.inArray(bb,a8)>=0)===a6})}var X=/ jQuery\\d+="(?:\\d+|null)"/g,ae=/^\\s+/,M=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/ig,c=/<([\\w:]+)/,v=/",""],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]};ah.optgroup=ah.option;ah.tbody=ah.tfoot=ah.colgroup=ah.caption=ah.thead;ah.th=ah.td;if(!a.support.htmlSerialize){ah._default=[1,"div","
"]}a.fn.extend({text:function(a6){if(a.isFunction(a6)){return this.each(function(a8){var a7=a(this);a7.text(a6.call(this,a8,a7.text()))})}if(typeof a6!=="object"&&a6!==G){return this.empty().append((this[0]&&this[0].ownerDocument||ag).createTextNode(a6))}return a.text(this)},wrapAll:function(a6){if(a.isFunction(a6)){return this.each(function(a8){a(this).wrapAll(a6.call(this,a8))})}if(this[0]){var a7=a(a6,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){a7.insertBefore(this[0])}a7.map(function(){var a8=this;while(a8.firstChild&&a8.firstChild.nodeType===1){a8=a8.firstChild}return a8}).append(this)}return this},wrapInner:function(a6){if(a.isFunction(a6)){return this.each(function(a7){a(this).wrapInner(a6.call(this,a7))})}return this.each(function(){var a7=a(this),a8=a7.contents();if(a8.length){a8.wrapAll(a6)}else{a7.append(a6)}})},wrap:function(a6){return this.each(function(){a(this).wrapAll(a6)})},unwrap:function(){return this.parent().each(function(){if(!a.nodeName(this,"body")){a(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(a6){if(this.nodeType===1){this.appendChild(a6)}})},prepend:function(){return this.domManip(arguments,true,function(a6){if(this.nodeType===1){this.insertBefore(a6,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(a7){this.parentNode.insertBefore(a7,this)})}else{if(arguments.length){var a6=a(arguments[0]);a6.push.apply(a6,this.toArray());return this.pushStack(a6,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(a7){this.parentNode.insertBefore(a7,this.nextSibling)})}else{if(arguments.length){var a6=this.pushStack(this,"after",arguments);a6.push.apply(a6,a(arguments[0]).toArray());return a6}}},remove:function(a6,a9){for(var a7=0,a8;(a8=this[a7])!=null;a7++){if(!a6||a.filter(a6,[a8]).length){if(!a9&&a8.nodeType===1){a.cleanData(a8.getElementsByTagName("*"));a.cleanData([a8])}if(a8.parentNode){a8.parentNode.removeChild(a8)}}}return this},empty:function(){for(var a6=0,a7;(a7=this[a6])!=null;a6++){if(a7.nodeType===1){a.cleanData(a7.getElementsByTagName("*"))}while(a7.firstChild){a7.removeChild(a7.firstChild)}}return this},clone:function(a7,a6){a7=a7==null?true:a7;a6=a6==null?a7:a6;return this.map(function(){return a.clone(this,a7,a6)})},html:function(a8){if(a8===G){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null}else{if(typeof a8==="string"&&!J.test(a8)&&(a.support.leadingWhitespace||!ae.test(a8))&&!ah[(c.exec(a8)||["",""])[1].toLowerCase()]){a8=a8.replace(M,"<$1>$2>");try{for(var a7=0,a6=this.length;a71&&a80?this.clone(true):this).get();a(be[bc])[a7](ba);bb=bb.concat(ba)}return this.pushStack(bb,a6,be.selector)}}});a.extend({clone:function(ba,bc,a8){var bb=ba.cloneNode(true),a6,a7,a9;if(!a.support.noCloneEvent&&(ba.nodeType===1||ba.nodeType===11)&&!a.isXMLDoc(ba)){a6=ba.getElementsByTagName("*");a7=bb.getElementsByTagName("*");for(a9=0;a6[a9];++a9){Y(a6[a9],a7[a9])}Y(ba,bb)}if(bc){s(ba,bb);if(a8&&"getElementsByTagName" in ba){a6=ba.getElementsByTagName("*");a7=bb.getElementsByTagName("*");if(a6.length){for(a9=0;a6[a9];++a9){s(a6[a9],a7[a9])}}}}return bb},clean:function(a8,ba,bh,bc){ba=ba||ag;if(typeof ba.createElement==="undefined"){ba=ba.ownerDocument||ba[0]&&ba[0].ownerDocument||ag}var bi=[];for(var bg=0,bb;(bb=a8[bg])!=null;bg++){if(typeof bb==="number"){bb+=""}if(!bb){continue}if(typeof bb==="string"&&!P.test(bb)){bb=ba.createTextNode(bb)}else{if(typeof bb==="string"){bb=bb.replace(M,"<$1>$2>");var bj=(c.exec(bb)||["",""])[1].toLowerCase(),a9=ah[bj]||ah._default,bf=a9[0],a7=ba.createElement("div");a7.innerHTML=a9[1]+bb+a9[2];while(bf--){a7=a7.lastChild}if(!a.support.tbody){var a6=v.test(bb),be=bj==="table"&&!a6?a7.firstChild&&a7.firstChild.childNodes:a9[1]===""&&!a6?a7.childNodes:[];for(var bd=be.length-1;bd>=0;--bd){if(a.nodeName(be[bd],"tbody")&&!be[bd].childNodes.length){be[bd].parentNode.removeChild(be[bd])}}}if(!a.support.leadingWhitespace&&ae.test(bb)){a7.insertBefore(ba.createTextNode(ae.exec(bb)[0]),a7.firstChild)}bb=a7.childNodes}}if(bb.nodeType){bi.push(bb)}else{bi=a.merge(bi,bb)}}if(bh){for(bg=0;bi[bg];bg++){if(bc&&a.nodeName(bi[bg],"script")&&(!bi[bg].type||bi[bg].type.toLowerCase()==="text/javascript")){bc.push(bi[bg].parentNode?bi[bg].parentNode.removeChild(bi[bg]):bi[bg])}else{if(bi[bg].nodeType===1){bi.splice.apply(bi,[bg+1,0].concat(a.makeArray(bi[bg].getElementsByTagName("script"))))}bh.appendChild(bi[bg])}}}return bi},cleanData:function(a7){var ba,a8,a6=a.cache,bf=a.expando,bd=a.event.special,bc=a.support.deleteExpando;for(var bb=0,a9;(a9=a7[bb])!=null;bb++){if(a9.nodeName&&a.noData[a9.nodeName.toLowerCase()]){continue}a8=a9[a.expando];if(a8){ba=a6[a8]&&a6[a8][bf];if(ba&&ba.events){for(var be in ba.events){if(bd[be]){a.event.remove(a9,be)}else{a.removeEvent(a9,be,ba.handle)}}if(ba.handle){ba.handle.elem=null}}if(bc){delete a9[a.expando]}else{if(a9.removeAttribute){a9.removeAttribute(a.expando)}}delete a6[a8]}}}});function a0(a6,a7){if(a7.src){a.ajax({url:a7.src,async:false,dataType:"script"})}else{a.globalEval(a7.text||a7.textContent||a7.innerHTML||"")}if(a7.parentNode){a7.parentNode.removeChild(a7)}}var Z=/alpha\\([^)]*\\)/i,af=/opacity=([^)]*)/,aD=/-([a-z])/ig,y=/([A-Z])/g,aS=/^-?\\d+(?:px)?$/i,aZ=/^-?\\d/,aO={position:"absolute",visibility:"hidden",display:"block"},ab=["Left","Right"],aK=["Top","Bottom"],Q,aq,aC,l=function(a6,a7){return a7.toUpperCase()};a.fn.css=function(a6,a7){if(arguments.length===2&&a7===G){return this}return a.access(this,a6,a7,true,function(a9,a8,ba){return ba!==G?a.style(a9,a8,ba):a.css(a9,a8)})};a.extend({cssHooks:{opacity:{get:function(a8,a7){if(a7){var a6=Q(a8,"opacity","opacity");return a6===""?"1":a6}else{return a8.style.opacity}}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":a.support.cssFloat?"cssFloat":"styleFloat"},style:function(a8,a7,bd,a9){if(!a8||a8.nodeType===3||a8.nodeType===8||!a8.style){return}var bc,ba=a.camelCase(a7),a6=a8.style,be=a.cssHooks[ba];a7=a.cssProps[ba]||ba;if(bd!==G){if(typeof bd==="number"&&isNaN(bd)||bd==null){return}if(typeof bd==="number"&&!a.cssNumber[ba]){bd+="px"}if(!be||!("set" in be)||(bd=be.set(a8,bd))!==G){try{a6[a7]=bd}catch(bb){}}}else{if(be&&"get" in be&&(bc=be.get(a8,false,a9))!==G){return bc}return a6[a7]}},css:function(bb,ba,a7){var a9,a8=a.camelCase(ba),a6=a.cssHooks[a8];ba=a.cssProps[a8]||a8;if(a6&&"get" in a6&&(a9=a6.get(bb,true,a7))!==G){return a9}else{if(Q){return Q(bb,ba,a8)}}},swap:function(a9,a8,ba){var a6={};for(var a7 in a8){a6[a7]=a9.style[a7];a9.style[a7]=a8[a7]}ba.call(a9);for(a7 in a8){a9.style[a7]=a6[a7]}},camelCase:function(a6){return a6.replace(aD,l)}});a.curCSS=a.css;a.each(["height","width"],function(a7,a6){a.cssHooks[a6]={get:function(ba,a9,a8){var bb;if(a9){if(ba.offsetWidth!==0){bb=p(ba,a6,a8)}else{a.swap(ba,aO,function(){bb=p(ba,a6,a8)})}if(bb<=0){bb=Q(ba,a6,a6);if(bb==="0px"&&aC){bb=aC(ba,a6,a6)}if(bb!=null){return bb===""||bb==="auto"?"0px":bb}}if(bb<0||bb==null){bb=ba.style[a6];return bb===""||bb==="auto"?"0px":bb}return typeof bb==="string"?bb:bb+"px"}},set:function(a8,a9){if(aS.test(a9)){a9=parseFloat(a9);if(a9>=0){return a9+"px"}}else{return a9}}}});if(!a.support.opacity){a.cssHooks.opacity={get:function(a7,a6){return af.test((a6&&a7.currentStyle?a7.currentStyle.filter:a7.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":a6?"1":""},set:function(a9,ba){var a8=a9.style;a8.zoom=1;var a6=a.isNaN(ba)?"":"alpha(opacity="+ba*100+")",a7=a8.filter||"";a8.filter=Z.test(a7)?a7.replace(Z,a6):a8.filter+" "+a6}}}if(ag.defaultView&&ag.defaultView.getComputedStyle){aq=function(bb,a6,a9){var a8,ba,a7;a9=a9.replace(y,"-$1").toLowerCase();if(!(ba=bb.ownerDocument.defaultView)){return G}if((a7=ba.getComputedStyle(bb,null))){a8=a7.getPropertyValue(a9);if(a8===""&&!a.contains(bb.ownerDocument.documentElement,bb)){a8=a.style(bb,a9)}}return a8}}if(ag.documentElement.currentStyle){aC=function(ba,a8){var bb,a7=ba.currentStyle&&ba.currentStyle[a8],a6=ba.runtimeStyle&&ba.runtimeStyle[a8],a9=ba.style;if(!aS.test(a7)&&aZ.test(a7)){bb=a9.left;if(a6){ba.runtimeStyle.left=ba.currentStyle.left}a9.left=a8==="fontSize"?"1em":(a7||0);a7=a9.pixelLeft+"px";a9.left=bb;if(a6){ba.runtimeStyle.left=a6}}return a7===""?"auto":a7}}Q=aq||aC;function p(a8,a7,a6){var ba=a7==="width"?ab:aK,a9=a7==="width"?a8.offsetWidth:a8.offsetHeight;if(a6==="border"){return a9}a.each(ba,function(){if(!a6){a9-=parseFloat(a.css(a8,"padding"+this))||0}if(a6==="margin"){a9+=parseFloat(a.css(a8,"margin"+this))||0}else{a9-=parseFloat(a.css(a8,"border"+this+"Width"))||0}});return a9}if(a.expr&&a.expr.filters){a.expr.filters.hidden=function(a8){var a7=a8.offsetWidth,a6=a8.offsetHeight;return(a7===0&&a6===0)||(!a.support.reliableHiddenOffsets&&(a8.style.display||a.css(a8,"display"))==="none")};a.expr.filters.visible=function(a6){return !a.expr.filters.hidden(a6)}}var h=/%20/g,ac=/\\[\\]$/,a5=/\\r?\\n/g,a2=/#.*$/,al=/^(.*?):\\s*(.*?)\\r?$/mg,aG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,au=/^(?:GET|HEAD)$/,b=/^\\/\\//,H=/\\?/,aN=/