template-min/app.js in jsduck-3.8.1 vs template-min/app.js in jsduck-3.8.2

- old
+ new

@@ -1 +1 @@ -var CodeMirror=(function(){function n(Y,bc){var bm={},a6=n.defaults;for(var bA in a6){if(a6.hasOwnProperty(bA)){bm[bA]=(bc&&bc.hasOwnProperty(bA)?bc:a6)[bA]}}var bR=bm.document;var by=bR.createElement("div");by.className="CodeMirror";by.innerHTML='<div style="overflow: hidden; position: relative; width: 1px; height: 0px;"><textarea style="position: absolute; width: 2px;" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scroll cm-s-'+bm.theme+'"><div style="position: relative"><div style="position: absolute; height: 0; width: 0; overflow: hidden;"></div><div style="position: relative"><div class="CodeMirror-gutter"><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative" draggable="true"><pre class="CodeMirror-cursor">&#160;</pre><div></div></div></div></div></div></div>';if(Y.appendChild){Y.appendChild(by)}else{Y(by)}var b7=by.firstChild,b4=b7.firstChild,aL=by.lastChild,aM=aL.firstChild,aE=aM.firstChild,bu=aE.nextSibling,aX=bu.firstChild,b2=aX.firstChild,aP=aX.nextSibling.firstChild,ak=aP.firstChild,ao=ak.nextSibling;if(bm.tabindex!=null){b4.tabindex=bm.tabindex}if(!bm.gutter&&!bm.lineNumbers){aX.style.display="none"}var aO=new q(),ay=new q(),an;var bo,bY=[new c("")],bg,bd=new g(),i;bw();var aZ={from:{line:0,ch:0},to:{line:0,ch:0},inverted:false};var bf,bI,bG,am,a9;var bs,bW,aR,au,bU,bC;var bp=0,bF=0,bN=0,aW=null;var aa,bM;var aQ="",Z;bZ(function(){aq(bm.value||"");bs=false})();l(aL,"mousedown",bZ(az));l(aL,"dblclick",bZ(ac));l(aP,"dragstart",af);if(!A){l(aL,"contextmenu",aw)}l(aL,"scroll",function(){al([]);if(bm.fixedGutter){aX.style.left=aL.scrollLeft+"px"}if(bm.onScroll){bm.onScroll(bV)}});l(window,"resize",function(){al(true)});l(b4,"keyup",bZ(bt));l(b4,"keydown",bZ(aC));l(b4,"keypress",bZ(bj));l(b4,"focus",aK);l(b4,"blur",aI);l(aL,"dragenter",o);l(aL,"dragover",o);l(aL,"drop",bZ(at));l(aL,"paste",function(){ax();bT()});l(b4,"paste",function(){bT()});l(b4,"cut",function(){bT()});var ah;try{ah=(bR.activeElement==b4)}catch(a3){}if(ah){setTimeout(aK,20)}else{aI()}function S(b9){return b9>=0&&b9<bY.length}var bV=by.CodeMirror={getValue:bn,setValue:bZ(aq),getSelection:bP,replaceSelection:bZ(ar),focus:function(){ax();aK();bT()},setOption:function(b9,ca){bm[b9]=ca;if(b9=="lineNumbers"||b9=="gutter"||b9=="firstLineNumber"){bZ(U)()}else{if(b9=="mode"||b9=="indentUnit"){bw()}else{if(b9=="readOnly"&&ca=="nocursor"){b4.blur()}else{if(b9=="theme"){aL.className=aL.className.replace(/cm-s-\w+/,"cm-s-"+ca)}}}}},getOption:function(b9){return bm[b9]},undo:bZ(bK),redo:bZ(b8),indentLine:bZ(function(ca,b9){if(S(ca)){aB(ca,b9==null?"smart":b9?"add":"subtract")}}),historySize:function(){return{undo:bd.done.length,redo:bd.undone.length}},matchBrackets:bZ(function(){aA(true)}),getTokenAt:function(b9){b9=ap(b9);return bY[b9.line].getTokenAt(bo,aN(b9.line),b9.ch)},getStateAfter:function(b9){b9=a7(b9==null?bY.length-1:b9);return aN(b9+1)},cursorCoords:function(b9){if(b9==null){b9=aZ.inverted}return bD(b9?aZ.from:aZ.to)},charCoords:function(b9){return bD(ap(b9))},coordsChar:function(ca){var cb=R(aP);var b9=a7(Math.min(bY.length-1,bp+Math.floor((ca.y-cb.top)/bX())));return ap({line:b9,ch:bl(a7(b9),ca.x-cb.left)})},getSearchCursor:function(ca,cb,b9){return new aF(ca,cb,b9)},markText:bZ(function(ca,b9,cb){return bZ(X(ca,b9,cb))}),setMarker:bZ(av),clearMarker:bZ(aj),setLineClass:bZ(aV),lineInfo:ag,addWidget:function(cd,cb,cf,cc,ch){cd=bE(ap(cd));var ce=cd.yBot,ca=cd.x;cb.style.position="absolute";aM.appendChild(cb);if(cc=="over"){ce=cd.y}else{if(cc=="near"){var b9=Math.max(aL.offsetHeight,bY.length*bX()),cg=Math.max(aM.clientWidth,aP.clientWidth)-bv();if(cd.yBot+cb.offsetHeight>b9&&cd.y>cb.offsetHeight){ce=cd.y-cb.offsetHeight}if(ca+cb.offsetWidth>cg){ca=cg-cb.offsetWidth}}}cb.style.top=(ce+bh())+"px";cb.style.left=cb.style.right="";if(ch=="right"){ca=aM.clientWidth-cb.offsetWidth;cb.style.right="0px"}else{if(ch=="left"){ca=0}else{if(ch=="middle"){ca=(aM.clientWidth-cb.offsetWidth)/2}}cb.style.left=(ca+bv())+"px"}if(cf){b6(ca,ce,ca+cb.offsetWidth,ce+cb.offsetHeight)}},lineCount:function(){return bY.length},getCursor:function(b9){if(b9==null){b9=aZ.inverted}return I(b9?aZ.from:aZ.to)},somethingSelected:function(){return !L(aZ.from,aZ.to)},setCursor:bZ(function(b9,ca){if(ca==null&&typeof b9.line=="number"){a2(b9.line,b9.ch)}else{a2(b9,ca)}}),setSelection:bZ(function(ca,b9){bH(ap(ca),ap(b9||ca))}),getLine:function(b9){if(S(b9)){return bY[b9].text}},setLine:bZ(function(b9,ca){if(S(b9)){bx(ca,{line:b9,ch:0},{line:b9,ch:bY[b9].text.length})}}),removeLine:bZ(function(b9){if(S(b9)){bx("",{line:b9,ch:0},ap({line:b9+1,ch:0}))}}),replaceRange:bZ(bx),getRange:function(ca,b9){return bi(ap(ca),ap(b9))},coordsFromIndex:function(cb){var cd=bY.length,ce=0,ca,cc,b9;for(ca=0;ca<cd;ca++){b9=bY[ca].text.length+1;if(ce+b9>cb){cc=cb-ce;break}ce+=b9}return ap({line:ca,ch:cc})},operation:function(b9){return bZ(b9)()},refresh:function(){al(true)},getInputField:function(){return b4},getWrapperElement:function(){return by},getScrollerElement:function(){return aL},getGutterElement:function(){return aX}};function aq(b9){bd=null;var ca={line:0,ch:0};br(ca,{line:bY.length-1,ch:bY[bY.length-1].text.length},r(b9),ca,ca);bd=new g();bs=true}function bn(cb){var cc=[];for(var ca=0,b9=bY.length;ca<b9;++ca){cc.push(bY[ca].text)}return cc.join("\n")}function az(cf){for(var cc=f(cf);cc!=by;cc=cc.parentNode){if(cc.parentNode==aM&&cc!=bu){return}}for(var cc=f(cf);cc!=by;cc=cc.parentNode){if(cc.parentNode==b2){if(bm.onGutterClick){bm.onGutterClick(bV,k(b2.childNodes,cc)+bp,cf)}return E(cf)}}var b9=ai(cf);switch(p(cf)){case 3:if(A&&!y){aw(cf)}return;case 2:if(b9){a2(b9.line,b9.ch,true)}return}if(!b9){if(f(cf)==aL){E(cf)}return}if(!i){aK()}var ca=+new Date;if(am>ca-400){E(cf);return aU(b9.line)}else{if(bG>ca-400){am=ca;E(cf);return bq(b9)}else{bG=ca}}var ch=b9,cb;if(u&&!L(aZ.from,aZ.to)&&!H(b9,aZ.from)&&!H(aZ.to,b9)){var ce=l(bR,"mouseup",bZ(function(ci){a9=false;ce();if(Math.abs(cf.clientX-ci.clientX)+Math.abs(cf.clientY-ci.clientY)<10){E(ci);a2(b9.line,b9.ch,true);ax()}}),true);a9=true;return}E(cf);a2(b9.line,b9.ch,true);function cg(ci){var ck=ai(ci,true);if(ck&&!L(ck,ch)){if(!i){aK()}ch=ck;aY(b9,ck);bs=false;var cj=b0();if(ck.line>=cj.to||ck.line<cj.from){cb=setTimeout(bZ(function(){cg(ci)}),150)}}}var cd=l(bR,"mousemove",bZ(function(ci){clearTimeout(cb);E(ci);cg(ci)}),true);var ce=l(bR,"mouseup",bZ(function(ci){clearTimeout(cb);var cj=ai(ci);if(cj){aY(b9,cj)}E(ci);ax();bs=true;cd();ce()}),true)}function ac(b9){var ca=ai(b9);if(!ca){return}am=+new Date;E(b9);bq(ca)}function at(cg){cg.preventDefault();var ch=ai(cg,true),b9=cg.dataTransfer.files;if(!ch||bm.readOnly){return}if(b9&&b9.length&&window.FileReader&&window.File){function cd(cm,cl){var ck=new FileReader;ck.onload=function(){cj[cl]=ck.result;if(++ca==cb){ch=ap(ch);var cn=bx(cj.join(""),ch,ch);aY(ch,cn)}};ck.readAsText(cm)}var cb=b9.length,cj=Array(cb),ca=0;for(var ce=0;ce<cb;++ce){cd(b9[ce],ce)}}else{try{var cj=cg.dataTransfer.getData("Text");if(cj){var cc=bx(cj,ch,ch);var ci=aZ.from,cf=aZ.to;aY(ch,cc);if(a9){bx("",ci,cf)}ax()}}catch(cg){}}}function af(ca){var b9=bP();B(b9);ca.dataTransfer.setDragImage(O,0,0);ca.dataTransfer.setData("Text",b9)}function aC(cd){if(!i){aK()}var cc=cd.keyCode;if(x&&cc==27){cd.returnValue=false}var cb=(y?cd.metaKey:cd.ctrlKey)&&!cd.altKey,ca=cd.ctrlKey||cd.altKey||cd.metaKey;if(cc==16||cd.shiftKey){bf=bf||(aZ.inverted?aZ.to:aZ.from)}else{bf=null}if(bm.onKeyEvent&&bm.onKeyEvent(bV,z(cd))){return}if(cc==33||cc==34){bQ(cc==34);return E(cd)}if(cb&&((cc==36||cc==35)||y&&(cc==38||cc==40))){b1(cc==36||cc==38);return E(cd)}if(cb&&cc==65){bz();return E(cd)}if(!bm.readOnly){if(!ca&&cc==13){return}if(!ca&&cc==9&&aG(cd.shiftKey)){return E(cd)}if(cb&&cc==90){bK();return E(cd)}if(cb&&((cd.shiftKey&&cc==90)||cc==89)){b8();return E(cd)}}if(cc==36){if(bm.smartHome){bb();return E(cd)}}aW=(cb?"c":"")+(cd.altKey?"a":"")+cc;if(aZ.inverted&&M[aW]===true){var b9=N(b4);if(b9){bI={anchor:b9.start};b(b4,b9.start,b9.start)}}if(!cb&&!cd.altKey){aW=null}bT(aW)}function bt(b9){if(bm.onKeyEvent&&bm.onKeyEvent(bV,z(b9))){return}if(bI){bI=null;bs=true}if(b9.keyCode==16){bf=null}}function bj(cb){if(bm.onKeyEvent&&bm.onKeyEvent(bV,z(cb))){return}if(bm.electricChars&&bo.electricChars){var b9=String.fromCharCode(cb.charCode==null?cb.keyCode:cb.charCode);if(bo.electricChars.indexOf(b9)>-1){setTimeout(bZ(function(){aB(aZ.to.line,"smart")}),50)}}var ca=cb.keyCode;if(ca==13){if(!bm.readOnly){aH()}E(cb)}else{if(!cb.ctrlKey&&!cb.altKey&&!cb.metaKey&&ca==9&&bm.tabMode!="default"){E(cb)}else{bT(aW)}}}function aK(){if(bm.readOnly=="nocursor"){return}if(!i){if(bm.onFocus){bm.onFocus(bV)}i=true;if(by.className.search(/\bCodeMirror-focused\b/)==-1){by.className+=" CodeMirror-focused"}if(!bU){aJ()}}bJ();T()}function aI(){if(i){if(bm.onBlur){bm.onBlur(bV)}i=false;by.className=by.className.replace(" CodeMirror-focused","")}clearInterval(an);setTimeout(function(){if(!i){bf=null}},150)}function br(cg,cf,cd,ca,b9){if(bd){var cb=[];for(var cc=cg.line,ce=cf.line+1;cc<ce;++cc){cb.push(bY[cc].text)}bd.addChange(cg.line,cd.length,cb);while(bd.done.length>bm.undoDepth){bd.done.shift()}}V(cg,cf,cd,ca,b9)}function a1(cf,ce){var cd=cf.pop();if(cd){var cb=[],b9=cd.start+cd.added;for(var ca=cd.start;ca<b9;++ca){cb.push(bY[ca].text)}ce.push({start:cd.start,added:cd.old.length,old:cb});var cc=ap({line:cd.start+cd.old.length-1,ch:G(cb[cb.length-1],cd.old[cd.old.length-1])});V({line:cd.start,ch:0},{line:b9-1,ch:bY[b9-1].text.length},cd.old,cc,cc);bs=true}}function bK(){a1(bd.done,bd.undone)}function b8(){a1(bd.undone,bd.done)}function V(ck,cd,cp,b9,cq){var co=false,cc=aQ.length;for(var cl=ck.line;cl<=cd.line;++cl){if(bY[cl].text.length==cc){co=true;break}}var cg=cd.line-ck.line,cf=bY[ck.line],ca=bY[cd.line];if(cf==ca){if(cp.length==1){cf.replace(ck.ch,cd.ch,cp[0])}else{ca=cf.split(cd.ch,cp[cp.length-1]);var ch=[ck.line+1,cg];cf.replace(ck.ch,cf.text.length,cp[0]);for(var cl=1,cn=cp.length-1;cl<cn;++cl){ch.push(new c(cp[cl]))}ch.push(ca);bY.splice.apply(bY,ch)}}else{if(cp.length==1){cf.replace(ck.ch,cf.text.length,cp[0]+ca.text.slice(cd.ch));bY.splice(ck.line+1,cg)}else{var ch=[ck.line+1,cg-1];cf.replace(ck.ch,cf.text.length,cp[0]);ca.replace(0,cd.ch,cp[cp.length-1]);for(var cl=1,cn=cp.length-1;cl<cn;++cl){ch.push(new c(cp[cl]))}bY.splice.apply(bY,ch)}}for(var cl=ck.line,cn=cl+cp.length;cl<cn;++cl){var cj=bY[cl].text;if(cj.length>cc){aQ=cj;cc=cj.length;Z=null;co=false}}if(co){cc=0;aQ="";Z=null;for(var cl=0,cn=bY.length;cl<cn;++cl){var cj=bY[cl].text;if(cj.length>cc){cc=cj.length;aQ=cj}}}var cb=[],ce=cp.length-cg-1;for(var cl=0,cj=bg.length;cl<cj;++cl){var cm=bg[cl];if(cm<ck.line){cb.push(cm)}else{if(cm>cd.line){cb.push(cm+ce)}}}if(cp.length<5){bk(ck.line,ck.line+cp.length);cb.push(ck.line+cp.length)}else{cb.push(ck.line)}bg=cb;b3(100);bW.push({from:ck.line,to:cd.line+1,diff:ce});aR={from:ck,to:cd,text:cp};function ci(cr){return cr<=Math.min(cd.line,cd.line+ce)?cr:cr+ce}bH(b9,cq,ci(aZ.from.line),ci(aZ.to.line));aM.style.height=(bY.length*bX()+2*bh())+"px"}function bx(ca,cd,cc){cd=ap(cd);if(!cc){cc=cd}else{cc=ap(cc)}ca=r(ca);function cb(cg){if(H(cg,cd)){return cg}if(!H(cc,cg)){return b9}var ce=cg.line+ca.length-(cc.line-cd.line)-1;var cf=cg.ch;if(cg.line==cc.line){cf+=ca[ca.length-1].length-(cc.ch-(cc.line==cd.line?cd.ch:0))}return{line:ce,ch:cf}}var b9;bL(ca,cd,cc,function(ce){b9=ce;return{from:cb(aZ.from),to:cb(aZ.to)}});return b9}function ar(b9,ca){bL(r(b9),aZ.from,aZ.to,function(cb){if(ca=="end"){return{from:cb,to:cb}}else{if(ca=="start"){return{from:aZ.from,to:aZ.from}}else{return{from:aZ.from,to:cb}}}})}function bL(cc,ce,cd,b9){var cb=cc.length==1?cc[0].length+ce.ch:cc[cc.length-1].length;var ca=b9({line:ce.line+cc.length-1,ch:cb});br(ce,cd,cc,ca.from,ca.to)}function bi(ce,cd){var ca=ce.line,b9=cd.line;if(ca==b9){return bY[ca].text.slice(ce.ch,cd.ch)}var cc=[bY[ca].text.slice(ce.ch)];for(var cb=ca+1;cb<b9;++cb){cc.push(bY[cb].text)}cc.push(bY[b9].text.slice(0,cd.ch));return cc.join("\n")}function bP(){return bi(aZ.from,aZ.to)}var a5=false;function bJ(){if(a5){return}aO.set(2000,function(){ad();bS();if(i){bJ()}aT()})}function bT(cb){var b9=false;a5=true;function ca(){ad();var cc=bS();if(cc&&cb){if(cc=="moved"&&M[cb]==null){M[cb]=true}if(cc=="changed"){M[cb]=false}}if(!cc&&!b9){b9=true;aO.set(80,ca)}else{a5=false;bJ()}aT()}aO.set(20,ca)}function bS(){if(bU||!i){return}var cg=false,cp=b4.value,cr=N(b4);if(!cr){return false}var cg=aa.text!=cp,cj=bI;var ci=cg||cr.start!=aa.start||cr.end!=(cj?aa.start:aa.end);if(!ci&&!cj){return false}if(cg){bf=bI=null;if(bm.readOnly){bs=true;return"changed"}}function cd(cw,cu){var cv=0;for(;;){var ch=cp.indexOf("\n",cv);if(ch==-1||(cp.charAt(ch-1)=="\r"?ch-1:ch)>=cw){return{line:cu,ch:cw-cv}}++cu;cv=ch+1}}var cq=cd(cr.start,aa.from),ca=cd(cr.end,aa.from);if(cj){var cf=cr.start==cj.anchor?ca:cq;var ck=bf?aZ.to:cr.start==cj.anchor?cq:ca;if(aZ.inverted=H(cf,ck)){cq=cf;ca=ck}else{bI=null;cq=ck;ca=cf}}if(cq.line==ca.line&&cq.line==aZ.from.line&&cq.line==aZ.to.line&&!bf){bs=false}if(cg){var ce=0,cc=cp.length,cs=Math.min(cc,aa.text.length);var ct,cm=aa.from,cb=-1;while(ce<cs&&(ct=cp.charAt(ce))==aa.text.charAt(ce)){++ce;if(ct=="\n"){cm++;cb=ce}}var cn=cb>-1?ce-cb:ce,b9=aa.to-1,cl=aa.text.length;for(;;){ct=aa.text.charAt(cl);if(cp.charAt(cc)!=ct){++cc;++cl;break}if(ct=="\n"){b9--}if(cl<=ce||cc<=ce){break}--cc;--cl}var cb=aa.text.lastIndexOf("\n",cl-1),co=cb==-1?cl:cl-cb-1;br({line:cm,ch:cn},{line:b9,ch:co},r(cp.slice(ce,cc)),cq,ca);if(cm!=b9||cq.line!=cm){bs=true}}else{bH(cq,ca)}aa.text=cp;aa.start=cr.start;aa.end=cr.end;return cg?"changed":ci?"moved":false}function aJ(){var cc=[];var ce=Math.max(0,aZ.from.line-1),cd=Math.min(bY.length,aZ.to.line+2);for(var cb=ce;cb<cd;++cb){cc.push(bY[cb].text)}cc=b4.value=cc.join(d);var ca=aZ.from.ch,b9=aZ.to.ch;for(var cb=ce;cb<aZ.from.line;++cb){ca+=d.length+bY[cb].text.length}for(var cb=ce;cb<aZ.to.line;++cb){b9+=d.length+bY[cb].text.length}aa={text:cc,from:ce,to:cd,start:ca,end:b9};b(b4,ca,bI?ca:b9)}function ax(){if(bm.readOnly!="nocursor"){b4.focus()}}function aS(){if(!ak.getBoundingClientRect){return}var b9=ak.getBoundingClientRect();var ca=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);if(b9.top<0||b9.bottom>ca){ak.scrollIntoView()}}function a4(){var b9=bE(aZ.inverted?aZ.from:aZ.to);return b6(b9.x,b9.y,b9.x,b9.yBot)}function b6(cb,cg,b9,cf){var cd=bv(),cm=bh(),ci=bX();cg+=cm;cf+=cm;cb+=cd;b9+=cd;var cj=aL.clientHeight,cc=aL.scrollTop,ca=false,cl=true;if(cg<cc){aL.scrollTop=Math.max(0,cg-2*ci);ca=true}else{if(cf>cc+cj){aL.scrollTop=cf+ci-cj;ca=true}}var ch=aL.clientWidth,ck=aL.scrollLeft;var ce=bm.fixedGutter?aX.clientWidth:0;if(cb<ck+ce){if(cb<50){cb=0}aL.scrollLeft=Math.max(0,cb-10-ce);ca=true}else{if(b9>ch+ck){aL.scrollLeft=b9+10-ch;ca=true;if(b9>aM.clientWidth){cl=false}}}if(ca&&bm.onScroll){bm.onScroll(bV)}return cl}function b0(){var b9=bX(),ca=aL.scrollTop-bh();return{from:Math.min(bY.length,Math.max(0,Math.floor(ca/b9))),to:Math.min(bY.length,Math.ceil((ca+aL.clientHeight)/b9))}}function al(cr){if(!aL.clientWidth){bp=bF=0;return}var cq=cr===true?[]:[{from:bp,to:bF,domStart:0}];for(var cp=0,cl=cr.length||0;cp<cl;++cp){var cf=cr[cp],cd=[],cg=cf.diff||0;for(var co=0,cm=cq.length;co<cm;++co){var ci=cq[co];if(cf.to<=ci.from){cd.push({from:ci.from+cg,to:ci.to+cg,domStart:ci.domStart})}else{if(ci.to<=cf.from){cd.push(ci)}else{if(cf.from>ci.from){cd.push({from:ci.from,to:cf.from,domStart:ci.domStart})}if(cf.to<ci.to){cd.push({from:cf.to+cg,to:ci.to+cg,domStart:ci.domStart+(cf.to-ci.from)})}}}}cq=cd}var ca=b0();var cn=Math.min(bp,Math.max(ca.from-3,0)),b9=Math.min(bY.length,Math.max(bF,ca.to+3)),ce=[],ch=0,cc=bF-bp,cb=cn,ck=0;for(var cp=0,cl=cq.length;cp<cl;++cp){var ci=cq[cp];if(ci.to<=cn){continue}if(ci.from>=b9){break}if(ci.domStart>ch||ci.from>cb){ce.push({from:cb,to:ci.from,domSize:ci.domStart-ch,domStart:ch});ck+=ci.from-cb}cb=ci.to;ch=ci.domStart+(ci.to-ci.from)}if(ch!=cc||cb!=b9){ck+=Math.abs(b9-cb);ce.push({from:cb,to:b9,domSize:cc-ch,domStart:ch});if(b9-cb!=cc-ch){bC=true}}if(!ce.length){return}ao.style.display="none";if(ck>(ca.to-ca.from)*0.3){a8(cn=Math.max(ca.from-10,0),b9=Math.min(ca.to+7,bY.length))}else{ae(ce)}ao.style.display="";var cj=cn!=bp||b9!=bF||bN!=aL.clientHeight;bp=cn;bF=b9;bu.style.top=(cn*bX())+"px";if(cj){bN=aL.clientHeight;aM.style.height=(bY.length*bX()+2*bh())+"px"}if(cj||bC){ab()}if(Z==null){Z=a0(aQ)}if(Z>aL.clientWidth){aP.style.width=Z+"px";aM.style.width="";aM.style.width=aL.scrollWidth+"px"}else{aP.style.width=aM.style.width=""}if(ao.childNodes.length!=bF-bp){throw new Error("BAD PATCH! "+JSON.stringify(ce)+" size="+(bF-bp)+" nodes="+ao.childNodes.length)}bO()}function a8(cg,cf){var cc=[],ce={line:cg,ch:0},cd=H(aZ.from,ce)&&!H(aZ.to,ce);for(var cb=cg;cb<cf;++cb){var ca=null,b9=null;if(cd){ca=0;if(aZ.to.line==cb){cd=false;b9=aZ.to.ch}}else{if(aZ.from.line==cb){if(aZ.to.line==cb){ca=aZ.from.ch;b9=aZ.to.ch}else{cd=true;ca=aZ.from.ch}}}cc.push(bY[cb].getHTML(ca,b9,true))}ao.innerHTML=cc.join("")}function ae(cl){var cm=aZ.from.line,cn=aZ.to.line,cb=0,cj=C&&bR.createElement("div");for(var ch=0,ci=cl.length;ch<ci;++ch){var ce=cl[ch];var cd=(ce.to-ce.from)-ce.domSize;var ck=ao.childNodes[ce.domStart+ce.domSize+cb]||null;if(C){for(var cg=Math.max(-cd,ce.domSize);cg>0;--cg){ao.removeChild(ck?ck.previousSibling:ao.lastChild)}}else{if(cd){for(var cg=Math.max(0,cd);cg>0;--cg){ao.insertBefore(bR.createElement("pre"),ck)}for(var cg=Math.max(0,-cd);cg>0;--cg){ao.removeChild(ck?ck.previousSibling:ao.lastChild)}}}var cc=ao.childNodes[ce.domStart+cb],cf=cm<ce.from&&cn>=ce.from;for(var cg=ce.from;cg<ce.to;++cg){var ca=null,b9=null;if(cf){ca=0;if(cn==cg){cf=false;b9=aZ.to.ch}}else{if(cm==cg){if(cn==cg){ca=aZ.from.ch;b9=aZ.to.ch}else{cf=true;ca=aZ.from.ch}}}if(C){cj.innerHTML=bY[cg].getHTML(ca,b9,true);ao.insertBefore(cj.firstChild,ck)}else{cc.innerHTML=bY[cg].getHTML(ca,b9,false);cc.className=bY[cg].className||"";cc=cc.nextSibling}}cb+=cd}}function ab(){if(!bm.gutter&&!bm.lineNumbers){return}var cb=bu.offsetHeight,ci=aL.clientHeight;aX.style.height=(cb-ci<2?ci:cb)+"px";var cg=[];for(var ce=bp;ce<Math.max(bF,bp+1);++ce){var cf=bY[ce].gutterMarker;var ch=bm.lineNumbers?ce+bm.firstLineNumber:null;if(cf&&cf.text){ch=cf.text.replace("%N%",ch!=null?ch:"")}else{if(ch==null){ch="\u00a0"}}cg.push((cf&&cf.style?'<pre class="'+cf.style+'">':"<pre>"),ch,"</pre>")}aX.style.display="none";b2.innerHTML=cg.join("");var cd=String(bY.length).length,b9=b2.firstChild,ca=v(b9),cc="";while(ca.length+cc.length<cd){cc+="\u00a0"}if(cc){b9.insertBefore(bR.createTextNode(cc),b9.firstChild)}aX.style.display="";aP.style.marginLeft=aX.offsetWidth+"px";bC=false}function bO(){var cb=aZ.inverted?aZ.from:aZ.to,ca=bX();var b9=W(cb.line,cb.ch);var cc=cb.line*ca-aL.scrollTop;b7.style.top=Math.max(Math.min(cc,aL.offsetHeight),0)+"px";b7.style.left=(b9-aL.scrollLeft)+"px";if(L(aZ.from,aZ.to)){ak.style.top=(cb.line-bp)*ca+"px";ak.style.left=b9+"px";ak.style.display=""}else{ak.style.display="none"}}function aY(cb,ca){var b9=bf&&ap(bf);if(b9){if(H(b9,cb)){cb=b9}else{if(H(ca,b9)){ca=b9}}}bH(cb,ca)}function bH(cd,cc,b9,cb){if(L(aZ.from,cd)&&L(aZ.to,cc)){return}if(H(cc,cd)){var ca=cc;cc=cd;cd=ca}if(L(cd,cc)){aZ.inverted=false}else{if(L(cd,aZ.to)){aZ.inverted=false}else{if(L(cc,aZ.from)){aZ.inverted=true}}}if(b9==null){b9=aZ.from.line;cb=aZ.to.line}if(L(cd,cc)){if(!L(aZ.from,aZ.to)){bW.push({from:b9,to:cb+1})}}else{if(L(aZ.from,aZ.to)){bW.push({from:cd.line,to:cc.line+1})}else{if(!L(cd,aZ.from)){if(cd.line<b9){bW.push({from:cd.line,to:Math.min(cc.line,b9)+1})}else{bW.push({from:b9,to:Math.min(cb,cd.line)+1})}}if(!L(cc,aZ.to)){if(cc.line<cb){bW.push({from:Math.max(b9,cd.line),to:cb+1})}else{bW.push({from:Math.max(cd.line,cb),to:cc.line+1})}}}}aZ.from=cd;aZ.to=cc;au=true}function a2(b9,cb,ca){var cc=ap({line:b9,ch:cb||0});(ca?aY:bH)(cc,cc)}function a7(b9){return Math.max(0,Math.min(b9,bY.length-1))}function ap(cb){if(cb.line<0){return{line:0,ch:0}}if(cb.line>=bY.length){return{line:bY.length-1,ch:bY[bY.length-1].text.length}}var b9=cb.ch,ca=bY[cb.line].text.length;if(b9==null||b9>ca){return{line:cb.line,ch:ca}}else{if(b9<0){return{line:cb.line,ch:0}}else{return cb}}}function bQ(cb){var b9=Math.floor(aL.clientHeight/bX()),ca=aZ.inverted?aZ.from:aZ.to;a2(ca.line+(Math.max(b9-1,1)*(cb?1:-1)),ca.ch,true)}function b1(b9){var ca=b9?{line:0,ch:0}:{line:bY.length-1,ch:bY[bY.length-1].text.length};aY(ca,ca)}function bz(){var b9=bY.length-1;bH({line:0,ch:0},{line:b9,ch:bY[b9].text.length})}function bq(cc){var ca=bY[cc.line].text;var cb=cc.ch,b9=cc.ch;while(cb>0&&/\w/.test(ca.charAt(cb-1))){--cb}while(b9<ca.length&&/\w/.test(ca.charAt(b9))){++b9}aY({line:cc.line,ch:cb},{line:cc.line,ch:b9})}function aU(b9){aY({line:b9,ch:0},{line:b9,ch:bY[b9].text.length})}function aH(){ar("\n","end");if(bm.enterMode!="flat"){aB(aZ.from.line,bm.enterMode=="keep"?"prev":"smart")}}function aG(b9){function ca(cd){if(L(aZ.from,aZ.to)){return aB(aZ.from.line,cd)}var cc=aZ.to.line-(aZ.to.ch?0:1);for(var cb=aZ.from.line;cb<=cc;++cb){aB(cb,cd)}}bf=null;switch(bm.tabMode){case"default":return false;case"indent":ca("smart");break;case"classic":if(L(aZ.from,aZ.to)){if(b9){aB(aZ.from.line,"smart")}else{ar(" ","end")}break}case"shift":ca(b9?"subtract":"add");break}return true}function bb(){var b9=Math.max(0,bY[aZ.from.line].text.search(/\S/));a2(aZ.from.line,aZ.from.ch<=b9&&aZ.from.ch?0:b9,true)}function aB(cb,ci){if(ci=="smart"){if(!bo.indent){ci="prev"}else{var b9=aN(cb)}}var cj=bY[cb],cd=cj.indentation(),ca=cj.text.match(/^\s*/)[0],cf;if(ci=="prev"){if(cb){cf=bY[cb-1].indentation()}else{cf=0}}else{if(ci=="smart"){cf=bo.indent(b9,cj.text.slice(ca.length))}else{if(ci=="add"){cf=cd+bm.indentUnit}else{if(ci=="subtract"){cf=cd-bm.indentUnit}}}}cf=Math.max(0,cf);var ch=cf-cd;if(!ch){if(aZ.from.line!=cb&&aZ.to.line!=cb){return}var cg=ca}else{var cg="",ce=0;if(bm.indentWithTabs){for(var cc=Math.floor(cf/s);cc;--cc){ce+=s;cg+="\t"}}while(ce<cf){++ce;cg+=" "}}bx(cg,{line:cb,ch:0},{line:cb,ch:ca.length})}function bw(){bo=n.getMode(bm,bm.mode);for(var ca=0,b9=bY.length;ca<b9;++ca){bY[ca].stateAfter=null}bg=[0];b3()}function U(){var b9=bm.gutter||bm.lineNumbers;aX.style.display=b9?"":"none";if(b9){bC=true}else{ao.parentNode.style.marginLeft=0}}function X(cf,ce,cb){cf=ap(cf);ce=ap(ce);var b9=[];function cd(cg,ck,cj,ch){var cg=bY[cg],ci=cg.addMark(ck,cj,ch);ci.line=cg;b9.push(ci)}if(cf.line==ce.line){cd(cf.line,cf.ch,ce.ch,cb)}else{cd(cf.line,cf.ch,null,cb);for(var ca=cf.line+1,cc=ce.line;ca<cc;++ca){cd(ca,0,null,cb)}cd(ce.line,0,ce.ch,cb)}bW.push({from:cf.line,to:ce.line+1});return function(){var ck,cg;for(var ch=0;ch<b9.length;++ch){var cj=b9[ch],ci=k(bY,cj.line);cj.line.removeMark(cj);if(ci>-1){if(ck==null){ck=ci}cg=ci}}if(ck!=null){bW.push({from:ck,to:cg+1})}}}function av(b9,cb,ca){if(typeof b9=="number"){b9=bY[a7(b9)]}b9.gutterMarker={text:cb,style:ca};bC=true;return b9}function aj(b9){if(typeof b9=="number"){b9=bY[a7(b9)]}b9.gutterMarker=null;bC=true}function aV(b9,ca){if(typeof b9=="number"){var cb=b9;b9=bY[a7(b9)]}else{var cb=k(bY,b9);if(cb==-1){return null}}if(b9.className!=ca){b9.className=ca;bW.push({from:cb,to:cb+1})}return b9}function ag(ca){if(typeof ca=="number"){var cb=ca;ca=bY[ca];if(!ca){return null}}else{var cb=k(bY,ca);if(cb==-1){return null}}var b9=ca.gutterMarker;return{line:cb,text:ca.text,markerText:b9&&b9.text,markerClass:b9&&b9.style}}function a0(b9){aE.innerHTML="<pre><span>x</span></pre>";aE.firstChild.firstChild.firstChild.nodeValue=b9;return aE.firstChild.firstChild.offsetWidth||10}function W(b9,ca){if(ca==0){return 0}aE.innerHTML="<pre><span>"+bY[b9].getHTML(null,null,false,ca)+"</span></pre>";return aE.firstChild.firstChild.offsetWidth}function bl(cl,cf){if(cf<=0){return 0}var cc=bY[cl],ci=cc.text;function cj(cm){aE.innerHTML="<pre><span>"+cc.getHTML(null,null,false,cm)+"</span></pre>";return aE.firstChild.firstChild.offsetWidth}var cg=0,ce=0,ch=ci.length,cd;var ca=Math.min(ch,Math.ceil(cf/a0("x")));for(;;){var cb=cj(ca);if(cb<=cf&&ca<ch){ca=Math.min(ch,Math.ceil(ca*1.2))}else{cd=cb;ch=ca;break}}if(cf>cd){return ch}ca=Math.floor(ch*0.8);cb=cj(ca);if(cb<cf){cg=ca;ce=cb}for(;;){if(ch-cg<=1){return(cd-cf>cf-ce)?cg:ch}var ck=Math.ceil((cg+ch)/2),b9=cj(ck);if(b9>cf){ch=ck;cd=b9}else{cg=ck;ce=b9}}}function bE(cc,cb){var ca=bX(),b9=cc.line-(cb?bp:0);return{x:W(cc.line,cc.ch),y:b9*ca,yBot:(b9+1)*ca}}function bD(cb){var b9=bE(cb,true),ca=R(aP);return{x:ca.left+b9.x,y:ca.top+b9.y,yBot:ca.top+b9.yBot}}function bX(){var b9=ao.childNodes.length;if(b9){return(ao.offsetHeight/b9)||1}aE.innerHTML="<pre>x</pre>";return aE.firstChild.offsetHeight||1}function bh(){return aP.offsetTop}function bv(){return aP.offsetLeft}function ai(ce,cd){var cc=R(aL,true),b9,cf;try{b9=ce.clientX;cf=ce.clientY}catch(ce){return null}if(!cd&&(b9-cc.left>aL.clientWidth||cf-cc.top>aL.clientHeight)){return null}var cb=R(aP,true);var ca=bp+Math.floor((cf-cb.top)/bX());return ap({line:ca,ch:bl(a7(ca),b9-cb.left)})}function aw(ca){var ce=ai(ca);if(!ce||window.opera){return}if(L(aZ.from,aZ.to)||H(ce,aZ.from)||!H(ce,aZ.to)){bZ(a2)(ce.line,ce.ch)}var cd=b4.style.cssText;b7.style.position="absolute";b4.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(ca.clientY-5)+"px; left: "+(ca.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";bU=true;var cc=b4.value=bP();ax();b(b4,0,b4.value.length);function b9(){var cf=r(b4.value).join("\n");if(cf!=cc){bZ(ar)(cf,"end")}b7.style.position="relative";b4.style.cssText=cd;bU=false;aJ();bJ()}if(A){o(ca);var cb=l(window,"mouseup",function(){cb();setTimeout(b9,20)},true)}else{setTimeout(b9,50)}}function T(){clearInterval(an);var b9=true;ak.style.visibility="";an=setInterval(function(){ak.style.visibility=(b9=!b9)?"":"hidden"},650)}var b5={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function aA(cf){var b9=aZ.inverted?aZ.from:aZ.to,ci=bY[b9.line],ca=b9.ch-1;var ce=(ca>=0&&b5[ci.text.charAt(ca)])||b5[ci.text.charAt(++ca)];if(!ce){return}var cj=ce.charAt(0),cg=ce.charAt(1)==">",ct=cg?1:-1,co=ci.styles;for(var cu=ca+1,cq=0,cs=co.length;cq<cs;cq+=2){if((cu-=co[cq].length)<=0){var cr=co[cq+1];break}}var cc=[ci.text.charAt(ca)],cn=/[(){}[\]]/;function cl(cF,cA,cB){if(!cF.text){return}var cE=cF.styles,cz=cg?0:cF.text.length-1,cC;for(var cw=cg?0:cE.length-2,cy=cg?cE.length:-2;cw!=cy;cw+=2*ct){var cD=cE[cw];if(cE[cw+1]!=null&&cE[cw+1]!=cr){cz+=ct*cD.length;continue}for(var cv=cg?0:cD.length-1,ch=cg?cD.length:-1;cv!=ch;cv+=ct,cz+=ct){if(cz>=cA&&cz<cB&&cn.test(cC=cD.charAt(cv))){var cx=b5[cC];if(cx.charAt(1)==">"==cg){cc.push(cC)}else{if(cc.pop()!=cx.charAt(0)){return{pos:cz,match:false}}else{if(!cc.length){return{pos:cz,match:true}}}}}}}}for(var cq=b9.line,cs=cg?Math.min(cq+100,bY.length):Math.max(-1,cq-100);cq!=cs;cq+=ct){var ci=bY[cq],cd=cq==b9.line;var ck=cl(ci,cd&&cg?ca+1:0,cd&&!cg?ca:ci.text.length);if(ck){break}}if(!ck){ck={pos:null,match:false}}var cr=ck.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var cp=X({line:b9.line,ch:ca},{line:b9.line,ch:ca+1},cr),cb=ck.pos!=null?X({line:cq,ch:ck.pos},{line:cq,ch:ck.pos+1},cr):function(){};var cm=bZ(function(){cp();cb()});if(cf){setTimeout(cm,800)}else{bM=cm}}function ba(cf){var ce,cb;for(var ca=cf,cc=cf-40;ca>cc;--ca){if(ca==0){return 0}var b9=bY[ca-1];if(b9.stateAfter){return ca}var cd=b9.indentation();if(cb==null||ce>cd){cb=ca-1;ce=cd}}return cb}function aN(cd){var cc=ba(cd),cb=cc&&bY[cc-1].stateAfter;if(!cb){cb=F(bo)}else{cb=j(bo,cb)}for(var ca=cc;ca<cd;++ca){var b9=bY[ca];b9.highlight(bo,cb);b9.stateAfter=j(bo,cb)}bW.push({from:cc,to:cd});if(cd<bY.length&&!bY[cd].stateAfter){bg.push(cd)}return cb}function bk(cd,ca){var cc=aN(cd);for(var cb=cd;cb<ca;++cb){var b9=bY[cb];b9.highlight(bo,cc);b9.stateAfter=j(bo,cc)}}function be(){var cf=+new Date+bm.workTime;var ck=bg.length;while(bg.length){if(!bY[bp].stateAfter){var cc=bp}else{var cc=bg.pop()}if(cc>=bY.length){continue}var ca=ba(cc),b9=ca&&bY[ca-1].stateAfter;if(b9){b9=j(bo,b9)}else{b9=F(bo)}var ce=0,cb=bo.compareStates,cj=false;for(var ci=ca,cd=bY.length;ci<cd;++ci){var cl=bY[ci],cg=cl.stateAfter;if(+new Date>cf){bg.push(ci);b3(bm.workDelay);if(cj){bW.push({from:cc,to:ci+1})}return}var ch=cl.highlight(bo,b9);if(ch){cj=true}cl.stateAfter=j(bo,b9);if(cb){if(cg&&cb(cg,b9)){break}}else{if(ch!==false||!cg){ce=0}else{if(++ce>3){break}}}}if(cj){bW.push({from:cc,to:ci+1})}}if(ck&&bm.onHighlightComplete){bm.onHighlightComplete(bV)}}function b3(b9){if(!bg.length){return}ay.set(b9,bZ(be))}function ad(){bs=null;bW=[];aR=au=false}function aT(){var ca=false;if(au){ca=!a4()}if(bW.length){al(bW)}else{if(au){bO()}if(bC){ab()}}if(ca){a4()}if(au){aS();T()}if(i&&!bU&&(bs===true||(bs!==false&&au))){aJ()}if(au&&bm.matchBrackets){setTimeout(bZ(function(){if(bM){bM();bM=null}aA(false)}),20)}var b9=aR;if(au&&bm.onCursorActivity){bm.onCursorActivity(bV)}if(b9&&bm.onChange&&bV){bm.onChange(bV,b9)}}var aD=0;function bZ(b9){return function(){if(!aD++){ad()}try{var ca=b9.apply(this,arguments)}finally{if(!--aD){aT()}}return ca}}function aF(cb,cd,ca){this.atOccurrence=false;if(ca==null){ca=typeof cb=="string"&&cb==cb.toLowerCase()}if(cd&&typeof cd=="object"){cd=ap(cd)}else{cd={line:0,ch:0}}this.pos={from:cd,to:cd};if(typeof cb!="string"){this.matches=function(cg,ck){if(cg){var ce=bY[ck.line].text.slice(0,ck.ch),cf=ce.match(cb),cj=0;while(cf){var ch=ce.indexOf(cf[0]);cj+=ch;ce=ce.slice(ch+1);var ci=ce.match(cb);if(ci){cf=ci}else{break}cj++}}else{var ce=bY[ck.line].text.slice(ck.ch),cf=ce.match(cb),cj=cf&&ck.ch+ce.indexOf(cf[0])}if(cf){return{from:{line:ck.line,ch:cj},to:{line:ck.line,ch:cj+cf[0].length},match:cf}}}}else{if(ca){cb=cb.toLowerCase()}var b9=ca?function(ce){return ce.toLowerCase()}:function(ce){return ce};var cc=cb.split("\n");if(cc.length==1){this.matches=function(ch,ci){var cf=b9(bY[ci.line].text),ce=cb.length,cg;if(ch?(ci.ch>=ce&&(cg=cf.lastIndexOf(cb,ci.ch-ce))!=-1):(cg=cf.indexOf(cb,ci.ch))!=-1){return{from:{line:ci.line,ch:cg},to:{line:ci.line,ch:cg+ce}}}}}else{this.matches=function(cj,cl){var ck=cl.line,cm=(cj?cc.length-1:0),ch=cc[cm],cn=b9(bY[ck].text);var ci=(cj?cn.indexOf(ch)+ch.length:cn.lastIndexOf(ch));if(cj?ci>=cl.ch||ci!=ch.length:ci<=cl.ch||ci!=cn.length-ch.length){return}for(;;){if(cj?!ck:ck==bY.length-1){return}cn=b9(bY[ck+=cj?-1:1].text);ch=cc[cj?--cm:++cm];if(cm>0&&cm<cc.length-1){if(cn!=ch){return}else{continue}}var cg=(cj?cn.lastIndexOf(ch):cn.indexOf(ch)+ch.length);if(cj?cg!=cn.length-ch.length:cg!=ch.length){return}var ce={line:cl.line,ch:ci},cf={line:ck,ch:cg};return{from:cj?cf:ce,to:cj?ce:cf}}}}}}aF.prototype={findNext:function(){return this.find(false)},findPrevious:function(){return this.find(true)},find:function(ca){var b9=this,cc=ap(ca?this.pos.from:this.pos.to);function cb(cd){var ce={line:cd,ch:0};b9.pos={from:ce,to:ce};b9.atOccurrence=false;return false}for(;;){if(this.pos=this.matches(ca,cc)){this.atOccurrence=true;return this.pos.match||true}if(ca){if(!cc.line){return cb(0)}cc={line:cc.line-1,ch:bY[cc.line-1].text.length}}else{if(cc.line==bY.length-1){return cb(bY.length)}cc={line:cc.line+1,ch:0}}}},from:function(){if(this.atOccurrence){return I(this.pos.from)}},to:function(){if(this.atOccurrence){return I(this.pos.to)}},replace:function(ca){var b9=this;if(this.atOccurrence){bZ(function(){b9.pos.to=bx(ca,b9.pos.from,b9.pos.to)})()}}};for(var bB in J){if(J.propertyIsEnumerable(bB)&&!bV.propertyIsEnumerable(bB)){bV[bB]=J[bB]}}return bV}n.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:false,tabMode:"classic",enterMode:"indent",electricChars:true,onKeyEvent:null,lineNumbers:false,gutter:false,fixedGutter:false,firstLineNumber:1,readOnly:false,smartHome:true,onChange:null,onCursorActivity:null,onGutterClick:null,onHighlightComplete:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:false,workTime:100,workDelay:200,undoDepth:40,tabindex:null,document:window.document};var P={},D={};n.defineMode=function(i,S){if(!n.defaults.mode&&i!="null"){n.defaults.mode=i}P[i]=S};n.defineMIME=function(S,i){D[S]=i};n.getMode=function(T,i){if(typeof i=="string"&&D.hasOwnProperty(i)){i=D[i]}if(typeof i=="string"){var V=i,S={}}else{if(i!=null){var V=i.name,S=i}}var U=P[V];if(!U){if(window.console){console.warn("No mode "+V+" found, falling back to plain text.")}return n.getMode(T,"text/plain")}return U(T,S||{})};n.listModes=function(){var S=[];for(var i in P){if(P.propertyIsEnumerable(i)){S.push(i)}}return S};n.listMIMEs=function(){var S=[];for(var i in D){if(D.propertyIsEnumerable(i)){S.push({mime:i,mode:D[i]})}}return S};var J={};n.defineExtension=function(i,S){J[i]=S};n.fromTextArea=function(S,T){if(!T){T={}}T.value=S.value;if(!T.tabindex&&S.tabindex){T.tabindex=S.tabindex}function U(){S.value=i.getValue()}S.style.display="none";var i=n(function(V){S.parentNode.insertBefore(V,S.nextSibling)},T);i.save=U;i.toTextArea=function(){U();S.parentNode.removeChild(i.getWrapperElement());S.style.display=""};return i};function j(U,i){if(i===true){return i}if(U.copyState){return U.copyState(i)}var T={};for(var V in i){var S=i[V];if(S instanceof Array){S=S.concat([])}T[V]=S}return T}n.startState=F;function F(T,S,i){return T.startState?T.startState(S,i):true}n.copyState=j;function a(i){this.pos=this.start=0;this.string=i}a.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(i){var T=this.string.charAt(this.pos);if(typeof i=="string"){var S=T==i}else{var S=T&&(i.test?i.test(T):i(T))}if(S){++this.pos;return T}},eatWhile:function(i){var S=this.pos;while(this.eat(i)){}return this.pos>S},eatSpace:function(){var i=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>i},skipToEnd:function(){this.pos=this.string.length},skipTo:function(i){var S=this.string.indexOf(i,this.pos);if(S>-1){this.pos=S;return true}},backUp:function(i){this.pos-=i},column:function(){return h(this.string,this.start)},indentation:function(){return h(this.string)},match:function(U,S,i){if(typeof U=="string"){function V(W){return i?W.toLowerCase():W}if(V(this.string).indexOf(V(U),this.pos)==this.pos){if(S!==false){this.pos+=U.length}return true}}else{var T=this.string.slice(this.pos).match(U);if(T&&S!==false){this.pos+=T[0].length}return T}},current:function(){return this.string.slice(this.start,this.pos)}};n.StringStream=a;function c(S,i){this.styles=i||[S,null];this.stateAfter=null;this.text=S;this.marked=this.gutterMarker=this.className=null}c.prototype={replace:function(X,Y,ab){var ac=[],V=this.marked;Q(0,X,this.styles,ac);if(ab){ac.push(ab,null)}Q(Y,this.text.length,this.styles,ac);this.styles=ac;this.text=this.text.slice(0,X)+ab+this.text.slice(Y);this.stateAfter=null;if(V){var Z=ab.length-(Y-X),T=this.text.length;function W(i){return i<=Math.min(Y,Y+Z)?i:i+Z}for(var U=0;U<V.length;++U){var S=V[U],aa=false;if(S.from>=T){aa=true}else{S.from=W(S.from);if(S.to!=null){S.to=W(S.to)}}if(aa||S.from>=S.to){V.splice(U,1);U--}}}},split:function(T,S){var i=[S,null];Q(T,this.text.length,this.styles,i);return new c(S+this.text.slice(T),i)},addMark:function(V,U,S){var i=this.marked,T={from:V,to:U,style:S};if(this.marked==null){this.marked=[]}this.marked.push(T);this.marked.sort(function(X,W){return X.from-W.from});return T},removeMark:function(U){var S=this.marked;if(!S){return}for(var T=0;T<S.length;++T){if(S[T]==U){S.splice(T,1);break}}},highlight:function(W,S){var Y=new a(this.text),aa=this.styles,X=0;var V=false,T=aa[0],Z;if(this.text==""&&W.blankLine){W.blankLine(S)}while(!Y.eol()){var i=W.token(Y,S);var U=this.text.slice(Y.start,Y.pos);Y.start=Y.pos;if(X&&aa[X-1]==i){aa[X-2]+=U}else{if(U){if(!V&&(aa[X+1]!=i||(X&&aa[X-2]!=Z))){V=true}aa[X++]=U;aa[X++]=i;Z=T;T=aa[X]}}if(Y.pos>5000){aa[X++]=this.text.slice(Y.pos);aa[X++]=null;break}}if(aa.length!=X){aa.length=X;V=true}if(X&&aa[X-2]!=Z){V=true}return V||(aa.length<5&&this.text.length<10?null:false)},getTokenAt:function(W,U,T){var i=this.text,V=new a(i);while(V.pos<T&&!V.eol()){V.start=V.pos;var S=W.token(V,U)}return{start:V.start,end:V.pos,string:V.current(),className:S||null,state:U}},indentation:function(){return h(this.text)},getHTML:function(ae,ai,V,ag){var Y=[];if(V){Y.push(this.className?'<pre class="'+this.className+'">':"<pre>")}function aj(ar,i){if(!ar){return}if(i){Y.push('<span class="',i,'">',B(ar),"</span>")}else{Y.push(B(ar))}}var ad=this.styles,W=this.text,ac=this.marked;if(ae==ai){ae=null}var al=W.length;if(ag!=null){al=Math.min(ag,al)}if(!W&&ag==null){aj(" ",ae!=null&&ai==null?"CodeMirror-selected":null)}else{if(!ac&&ae==null){for(var ak=0,Z=0;Z<al;ak+=2){var af=ad[ak],am=ad[ak+1],ah=af.length;if(Z+ah>al){af=af.slice(0,al-Z)}Z+=ah;aj(af,am&&"cm-"+am)}}else{var U=0,ak=0,ab="",am,ap=0;var an=-1,X=null;function ao(){if(ac){an+=1;X=(an<ac.length)?ac[an]:null}}ao();while(U<al){var aa=al;var aq="";if(ae!=null){if(ae>U){aa=ae}else{if(ai==null||ai>U){aq=" CodeMirror-selected";if(ai!=null){aa=Math.min(aa,ai)}}}}while(X&&X.to!=null&&X.to<=U){ao()}if(X){if(X.from>U){aa=Math.min(aa,X.from)}else{aq+=" "+X.style;if(X.to!=null){aa=Math.min(aa,X.to)}}}for(;;){var T=U+ab.length;var S=am;if(aq){S=am?am+aq:aq}aj(T>aa?ab.slice(0,aa-U):ab,S);if(T>=aa){ab=ab.slice(aa-U);U=aa;break}U=T;ab=ad[ak++];am="cm-"+ad[ak++]}}if(ae!=null&&ai==null){aj(" ","CodeMirror-selected")}}}if(V){Y.push("</pre>")}return Y.join("")}};function Q(Y,Z,S,aa){for(var W=0,X=0,T=0;X<Z;W+=2){var U=S[W],V=X+U.length;if(T==0){if(V>Y){aa.push(U.slice(Y-X,Math.min(U.length,Z-X)),S[W+1])}if(V>=Y){T=1}}else{if(T==1){if(V>Z){aa.push(U.slice(0,Z-X),S[W+1])}else{aa.push(U,S[W+1])}}}X=V}}function g(){this.time=0;this.done=[];this.undone=[]}g.prototype={addChange:function(Z,U,S){this.undone.length=0;var Y=+new Date,W=this.done[this.done.length-1];if(Y-this.time>400||!W||W.start>Z+U||W.start+W.added<Z-W.added+W.old.length){this.done.push({start:Z,added:U,old:S})}else{var V=0;if(Z<W.start){for(var T=W.start-Z-1;T>=0;--T){W.old.unshift(S[T])}W.added+=W.start-Z;W.start=Z}else{if(W.start<Z){V=Z-W.start;U+=V}}for(var T=W.added-V,X=S.length;T<X;++T){W.old.push(S[T])}if(W.added<U){W.added=U}}this.time=Y}};function w(){o(this)}function z(i){if(!i.stop){i.stop=w}return i}function E(i){if(i.preventDefault){i.preventDefault()}else{i.returnValue=false}}function t(i){if(i.stopPropagation){i.stopPropagation()}else{i.cancelBubble=true}}function o(i){E(i);t(i)}function f(i){return i.target||i.srcElement}function p(i){if(i.which){return i.which}else{if(i.button&1){return 1}else{if(i.button&2){return 3}else{if(i.button&4){return 2}}}}}function l(U,T,S,i){function V(W){S(W||window.event)}if(typeof U.addEventListener=="function"){U.addEventListener(T,V,false);if(i){return function(){U.removeEventListener(T,V,false)}}}else{U.attachEvent("on"+T,V);if(i){return function(){U.detachEvent("on"+T,V)}}}}function q(){this.id=null}q.prototype={set:function(i,S){clearTimeout(this.id);this.id=setTimeout(S,i)}};var C=(function(){var i=document.createElement("pre");i.innerHTML=" ";return !i.innerHTML})();var u=(function(){if(/MSIE [1-8]\b/.test(navigator.userAgent)){return false}var i=document.createElement("div");return"ondragstart" in i&&"ondrop" in i})();var A=/gecko\/\d{7}/i.test(navigator.userAgent);var x=/MSIE \d/.test(navigator.userAgent);var e=/Apple Computer/.test(navigator.vendor);var d="\n";(function(){var i=document.createElement("textarea");i.value="foo\nbar";if(i.value.indexOf("\r")>-1){d="\r\n"}}());var s=4;var y=/Mac/.test(navigator.platform);var M={};for(var K=35;K<=40;++K){M[K]=M["c"+K]=true}function h(T,S){if(S==null){S=T.search(/[^\s\u00a0]/);if(S==-1){S=T.length}}for(var U=0,V=0;U<S;++U){if(T.charAt(U)=="\t"){V+=s-(V%s)}else{++V}}return V}function m(i){if(i.currentStyle){return i.currentStyle}return window.getComputedStyle(i,null)}function R(U,T){var W=U.ownerDocument.body;var S=0,Y=0,i=false;for(var X=U;X;X=X.offsetParent){S+=X.offsetLeft;Y+=X.offsetTop;if(T&&m(X).position=="fixed"){i=true}}var V=T&&!i?null:W;for(var X=U.parentNode;X!=V;X=X.parentNode){if(X.scrollLeft!=null){S-=X.scrollLeft;Y-=X.scrollTop}}return{left:S,top:Y}}function v(i){return i.textContent||i.innerText||i.nodeValue||""}function L(S,i){return S.line==i.line&&S.ch==i.ch}function H(S,i){return S.line<i.line||(S.line==i.line&&S.ch<i.ch)}function I(i){return{line:i.line,ch:i.ch}}var O=document.createElement("div");function B(i){O.innerText=O.textContent=i;return O.innerHTML}n.htmlEscape=B;function G(V,U){if(!U){return V?V.length:0}if(!V){return U.length}for(var T=V.length,S=U.length;T>=0&&S>=0;--T,--S){if(V.charAt(T)!=U.charAt(S)){break}}return S+1}function k(V,S){if(V.indexOf){return V.indexOf(S)}for(var T=0,U=V.length;T<U;++T){if(V[T]==S){return T}}return -1}var r,N,b;if("\n\nb".split(/\n/).length!=3){r=function(T){var U=0,S,i=[];while((S=T.indexOf("\n",U))>-1){i.push(T.slice(U,T.charAt(S-1)=="\r"?S-1:S));U=S+1}i.push(T.slice(U));return i}}else{r=function(i){return i.split(/\r?\n/)}}n.splitLines=r;if(window.getSelection){N=function(S){try{return{start:S.selectionStart,end:S.selectionEnd}}catch(i){return null}};if(e){b=function(S,T,i){if(T==i){S.setSelectionRange(T,i)}else{S.setSelectionRange(T,i-1);window.getSelection().modify("extend","forward","character")}}}else{b=function(T,U,i){try{T.setSelectionRange(U,i)}catch(S){}}}}else{N=function(U){try{var Y=U.ownerDocument.selection.createRange()}catch(aa){return null}if(!Y||Y.parentElement()!=U){return null}var T=U.value,Z=T.length,ab=U.createTextRange();ab.moveToBookmark(Y.getBookmark());var W=U.createTextRange();W.collapse(false);if(ab.compareEndPoints("StartToEnd",W)>-1){return{start:Z,end:Z}}var S=-ab.moveStart("character",-Z);for(var X=T.indexOf("\r");X>-1&&X<S;X=T.indexOf("\r",X+1),S++){}if(ab.compareEndPoints("EndToEnd",W)>-1){return{start:S,end:Z}}var V=-ab.moveEnd("character",-Z);for(var X=T.indexOf("\r");X>-1&&X<V;X=T.indexOf("\r",X+1),V++){}return{start:S,end:V}};b=function(W,Y,T){var U=W.createTextRange();U.collapse(true);var S=U.duplicate();var V=0,i=W.value;for(var X=i.indexOf("\n");X>-1&&X<Y;X=i.indexOf("\n",X+1)){++V}U.move("character",Y-V);for(;X>-1&&X<T;X=i.indexOf("\n",X+1)){++V}S.move("character",T-V);U.setEndPoint("EndToEnd",S);U.select()}}n.defineMode("null",function(){return{token:function(i){i.skipToEnd()}}});n.defineMIME("text/plain","null");return n})();CodeMirror.defineMode("javascript",function(H,L){var v=H.indentUnit;var P=L.json;var b=function(){function V(Y){return{type:Y,style:"keyword"}}var S=V("keyword a"),X=V("keyword b"),W=V("keyword c");var T=V("operator"),U={type:"atom",style:"atom"};return{"if":S,"while":S,"with":S,"else":X,"do":X,"try":X,"finally":X,"return":W,"break":W,"continue":W,"new":W,"delete":W,"throw":W,"var":V("var"),"function":V("function"),"catch":V("catch"),"for":V("for"),"switch":V("switch"),"case":V("case"),"default":V("default"),"in":T,"typeof":T,"instanceof":T,"true":U,"false":U,"null":U,"undefined":U,"NaN":U,"Infinity":U}}();var M=/[+\-*&%=<>!?|]/;function Q(U,T,S){T.tokenize=S;return S(U,T)}function h(V,S){var U=false,T;while((T=V.next())!=null){if(T==S&&!U){return false}U=!U&&T=="\\"}return U}var R,p;function A(U,T,S){R=U;p=S;return T}function l(W,U){var S=W.next();if(S=='"'||S=="'"){return Q(W,U,z(S))}else{if(/[\[\]{}\(\),;\:\.]/.test(S)){return A(S)}else{if(S=="0"&&W.eat(/x/i)){W.eatWhile(/[\da-f]/i);return A("number","number")}else{if(/\d/.test(S)){W.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);return A("number","number")}else{if(S=="/"){if(W.eat("*")){return Q(W,U,f)}else{if(W.eat("/")){W.skipToEnd();return A("comment","comment")}else{if(U.reAllowed){h(W,"/");W.eatWhile(/[gimy]/);return A("regexp","string")}else{W.eatWhile(M);return A("operator",null,W.current())}}}}else{if(S=="#"){W.skipToEnd();return A("error","error")}else{if(M.test(S)){W.eatWhile(M);return A("operator",null,W.current())}else{W.eatWhile(/[\w\$_]/);var V=W.current(),T=b.propertyIsEnumerable(V)&&b[V];return T?A(T.type,T.style,V):A("variable","variable",V)}}}}}}}}function z(S){return function(U,T){if(!h(U,S)){T.tokenize=l}return A("string","string")}}function f(V,U){var S=false,T;while(T=V.next()){if(T=="/"&&S){U.tokenize=l;break}S=(T=="*")}return A("comment","comment")}var k={atom:true,number:true,variable:true,string:true,regexp:true};function t(X,T,S,W,U,V){this.indented=X;this.column=T;this.type=S;this.prev=U;this.info=V;if(W!=null){this.align=W}}function w(U,T){for(var S=U.localVars;S;S=S.next){if(S.name==T){return true}}}function D(W,T,S,V,X){var Y=W.cc;u.state=W;u.stream=X;u.marked=null,u.cc=Y;if(!W.lexical.hasOwnProperty("align")){W.lexical.align=true}while(true){var U=Y.length?Y.pop():P?x:y;if(U(S,V)){while(Y.length&&Y[Y.length-1].lex){Y.pop()()}if(u.marked){return u.marked}if(S=="variable"&&w(W,V)){return"variable-2"}return T}}}var u={state:null,column:null,marked:null,cc:null};function a(){for(var S=arguments.length-1;S>=0;S--){u.cc.push(arguments[S])}}function F(){a.apply(null,arguments);return true}function m(T){var U=u.state;if(U.context){u.marked="def";for(var S=U.localVars;S;S=S.next){if(S.name==T){return}}U.localVars={name:T,next:U.localVars}}}var C={name:"this",next:{name:"arguments"}};function s(){if(!u.state.context){u.state.localVars=C}u.state.context={prev:u.state.context,vars:u.state.localVars}}function r(){u.state.localVars=u.state.context.vars;u.state.context=u.state.context.prev}function j(T,U){var S=function(){var V=u.state;V.lexical=new t(V.indented,u.stream.column(),T,null,V.lexical,U)};S.lex=true;return S}function E(){var S=u.state;if(S.lexical.prev){if(S.lexical.type==")"){S.indented=S.lexical.indented}S.lexical=S.lexical.prev}}E.lex=true;function c(T){return function S(U){if(U==T){return F()}else{if(T==";"){return a()}else{return F(arguments.callee)}}}}function y(S){if(S=="var"){return F(j("vardef"),I,c(";"),E)}if(S=="keyword a"){return F(j("form"),x,y,E)}if(S=="keyword b"){return F(j("form"),y,E)}if(S=="{"){return F(j("}"),n,E)}if(S==";"){return F()}if(S=="function"){return F(i)}if(S=="for"){return F(j("form"),c("("),j(")"),g,c(")"),E,y,E)}if(S=="variable"){return F(j("stat"),B)}if(S=="switch"){return F(j("form"),x,j("}","switch"),c("{"),n,E,E)}if(S=="case"){return F(x,c(":"))}if(S=="default"){return F(c(":"))}if(S=="catch"){return F(j("form"),s,c("("),q,c(")"),y,E,r)}return a(j("stat"),x,c(";"),E)}function x(S){if(k.hasOwnProperty(S)){return F(K)}if(S=="function"){return F(i)}if(S=="keyword c"){return F(x)}if(S=="("){return F(j(")"),x,c(")"),E,K)}if(S=="operator"){return F(x)}if(S=="["){return F(j("]"),N(x,"]"),E,K)}if(S=="{"){return F(j("}"),N(o,"}"),E,K)}return F()}function K(S,T){if(S=="operator"&&/\+\+|--/.test(T)){return F(K)}if(S=="operator"){return F(x)}if(S==";"){return}if(S=="("){return F(j(")"),N(x,")"),E,K)}if(S=="."){return F(O,K)}if(S=="["){return F(j("]"),x,c("]"),E,K)}}function B(S){if(S==":"){return F(E,y)}return a(K,c(";"),E)}function O(S){if(S=="variable"){u.marked="property";return F()}}function o(S){if(S=="variable"){u.marked="property"}if(k.hasOwnProperty(S)){return F(c(":"),x)}}function N(U,S){function T(W){if(W==","){return F(U,T)}if(W==S){return F()}return F(c(S))}return function V(W){if(W==S){return F()}else{return a(U,T)}}}function n(S){if(S=="}"){return F()}return a(y,n)}function I(S,T){if(S=="variable"){m(T);return F(G)}return F()}function G(S,T){if(T=="="){return F(x,G)}if(S==","){return F(I)}}function g(S){if(S=="var"){return F(I,e)}if(S==";"){return a(e)}if(S=="variable"){return F(J)}return a(e)}function J(S,T){if(T=="in"){return F(x)}return F(K,e)}function e(S,T){if(S==";"){return F(d)}if(T=="in"){return F(x)}return F(x,c(";"),d)}function d(S){if(S!=")"){F(x)}}function i(S,T){if(S=="variable"){m(T);return F(i)}if(S=="("){return F(j(")"),s,N(q,")"),E,y,r)}}function q(S,T){if(S=="variable"){m(T);return F()}}return{startState:function(S){return{tokenize:l,reAllowed:true,cc:[],lexical:new t((S||0)-v,0,"block",false),localVars:null,context:null,indented:0}},token:function(U,T){if(U.sol()){if(!T.lexical.hasOwnProperty("align")){T.lexical.align=false}T.indented=U.indentation()}if(U.eatSpace()){return null}var S=T.tokenize(U,T);if(R=="comment"){return S}T.reAllowed=R=="operator"||R=="keyword c"||R.match(/^[\[{}\(,;:]$/);return D(T,S,R,p,U)},indent:function(X,S){if(X.tokenize!=l){return 0}var W=S&&S.charAt(0),U=X.lexical,V=U.type,T=W==V;if(V=="vardef"){return U.indented+4}else{if(V=="form"&&W=="{"){return U.indented}else{if(V=="stat"||V=="form"){return U.indented+v}else{if(U.info=="switch"&&!T){return U.indented+(/^(?:case|default)\b/.test(S)?v:2*v)}else{if(U.align){return U.column+(T?0:1)}else{return U.indented+(T?0:v)}}}}}},electricChars:":{}"}});CodeMirror.defineMIME("text/javascript","javascript");CodeMirror.defineMIME("application/json",{name:"javascript",json:true});CodeMirror.defineMode("xml",function(w,k){var p=w.indentUnit;var v=k.htmlMode?{autoSelfClosers:{br:true,img:true,hr:true,link:true,input:true,meta:true,col:true,frame:true,base:true,area:true},doNotIndent:{pre:true,"!cdata":true},allowUnquoted:true}:{autoSelfClosers:{},doNotIndent:{"!cdata":true},allowUnquoted:false};var a=k.alignCDATA;var f,g;function o(A,z){function x(C){z.tokenize=C;return C(A,z)}var y=A.next();if(y=="<"){if(A.eat("!")){if(A.eat("[")){if(A.match("CDATA[")){return x(u("atom","]]>"))}else{return null}}else{if(A.match("--")){return x(u("comment","-->"))}else{if(A.match("DOCTYPE",true,true)){A.eatWhile(/[\w\._\-]/);return x(u("meta",">"))}else{return null}}}}else{if(A.eat("?")){A.eatWhile(/[\w\._\-]/);z.tokenize=u("meta","?>");return"meta"}else{g=A.eat("/")?"closeTag":"openTag";A.eatSpace();f="";var B;while((B=A.eat(/[^\s\u00a0=<>\"\'\/?]/))){f+=B}z.tokenize=n;return"tag"}}}else{if(y=="&"){A.eatWhile(/[^;]/);A.eat(";");return"atom"}else{A.eatWhile(/[^&<]/);return null}}}function n(z,y){var x=z.next();if(x==">"||(x=="/"&&z.eat(">"))){y.tokenize=o;g=x==">"?"endTag":"selfcloseTag";return"tag"}else{if(x=="="){g="equals";return null}else{if(/[\'\"]/.test(x)){y.tokenize=j(x);return y.tokenize(z,y)}else{z.eatWhile(/[^\s\u00a0=<>\"\'\/?]/);return"word"}}}}function j(x){return function(z,y){while(!z.eol()){if(z.next()==x){y.tokenize=n;break}}return"string"}}function u(y,x){return function(A,z){while(!A.eol()){if(A.match(x)){z.tokenize=o;break}A.next()}return y}}var l,h;function b(){for(var x=arguments.length-1;x>=0;x--){l.cc.push(arguments[x])}}function e(){b.apply(null,arguments);return true}function i(x,z){var y=v.doNotIndent.hasOwnProperty(x)||(l.context&&l.context.noIndent);l.context={prev:l.context,tagName:x,indent:l.indented,startOfLine:z,noIndent:y}}function s(){if(l.context){l.context=l.context.prev}}function d(x){if(x=="openTag"){l.tagName=f;return e(m,c(l.startOfLine))}else{if(x=="closeTag"){var y=false;if(l.context){y=l.context.tagName!=f}else{y=true}if(y){h="error"}return e(q(y))}else{if(x=="string"){if(!l.context||l.context.name!="!cdata"){i("!cdata")}if(l.tokenize==o){s()}return e()}else{return e()}}}}function c(x){return function(y){if(y=="selfcloseTag"||(y=="endTag"&&v.autoSelfClosers.hasOwnProperty(l.tagName.toLowerCase()))){return e()}if(y=="endTag"){i(l.tagName,x);return e()}return e()}}function q(x){return function(y){if(x){h="error"}if(y=="endTag"){s();return e()}h="error";return e(arguments.callee)}}function m(x){if(x=="word"){h="attribute";return e(m)}if(x=="equals"){return e(t,m)}if(x=="string"){h="error";return e(m)}return b()}function t(x){if(x=="word"&&v.allowUnquoted){h="string";return e()}if(x=="string"){return e(r)}return b()}function r(x){if(x=="string"){return e(r)}else{return b()}}return{startState:function(){return{tokenize:o,cc:[],indented:0,startOfLine:true,tagName:null,context:null}},token:function(A,z){if(A.sol()){z.startOfLine=true;z.indented=A.indentation()}if(A.eatSpace()){return null}h=g=f=null;var y=z.tokenize(A,z);if((y||g)&&y!="comment"){l=z;while(true){var x=z.cc.pop()||d;if(x(g||y)){break}}}z.startOfLine=false;return h||y},indent:function(z,x){var y=z.context;if(y&&y.noIndent){return 0}if(a&&/<!\[CDATA\[/.test(x)){return 0}if(y&&/^<\//.test(x)){y=y.prev}while(y&&!y.startOfLine){y=y.prev}if(y){return y.indent+p}else{return 0}},compareStates:function(A,y){if(A.indented!=y.indented){return false}for(var z=A.context,x=y.context;;z=z.prev,x=x.prev){if(!z||!x){return z==x}if(z.tagName!=x.tagName){return false}}},electricChars:"/"}});CodeMirror.defineMIME("application/xml","xml");CodeMirror.defineMIME("text/html",{name:"xml",htmlMode:true});CodeMirror.defineMode("markdown",function(y,k){var g=CodeMirror.getMode(y,{name:"xml",htmlMode:true});var u="header",b="code",x="quote",w="list",B="hr",p="linktext",A="linkhref",e="em",h="strong",s="emstrong";var C=/^[*-=_]/,m=/^[*-+]\s+/,q=/^[0-9]\.\s+/,l=/^(?:\={3,}|-{3,})$/,v=/^(k:\t|\s{4,})/,d=/^[^\[*_\\<>`]+/;function c(F,E,D){E.f=E.inline=D;return D(F,E)}function o(F,E,D){E.f=E.block=D;return D(F,E)}function j(G,F){if(G.match(v)){G.skipToEnd();return b}if(G.eatSpace()){return null}if(G.peek()==="#"||G.match(l)){G.skipToEnd();return u}if(G.eat(">")){F.indentation++;return x}if(G.peek()==="<"){return o(G,F,t)}if(G.peek()==="["){return c(G,F,i)}if(C.test(G.peek())){var E=new RegExp("(?:s*["+G.peek()+"]){3,}$");if(G.match(E,true)){return B}}var D;if(D=G.match(m,true)||G.match(q,true)){F.indentation+=D[0].length;return w}return c(G,F,F.inline)}function t(F,E){var D=g.token(F,E.htmlState);if(F.eol()&&!E.htmlState.context){E.block=j}return D}function n(H,F){function G(){return F.strong?(F.em?s:h):(F.em?e:null)}if(H.match(d,true)){return G()}var E=H.next();if(E==="\\"){H.next();return G()}if(E==="`"){return c(H,F,r(b,"`"))}if(E==="<"){return c(H,F,r(p,">"))}if(E==="["){return c(H,F,z)}var D=G();if(E==="*"||E==="_"){if(H.eat(E)){return(F.strong=!F.strong)?G():D}return(F.em=!F.em)?G():D}return G()}function z(F,E){while(!F.eol()){var D=F.next();if(D==="\\"){F.next()}if(D==="]"){E.inline=E.f=f;return p}}return p}function f(F,E){F.eatSpace();var D=F.next();if(D==="("||D==="["){return c(F,E,r(A,D==="("?")":"]"))}return"error"}function i(E,D){if(E.match(/^[^\]]*\]:/,true)){D.f=a;return p}return c(E,D,n)}function a(E,D){E.eatSpace();E.match(/^[^\s]+/,true);D.f=D.inline=n;return A}function r(E,F,D){D=D||n;return function(I,H){while(!I.eol()){var G=I.next();if(G==="\\"){I.next()}if(G===F){H.inline=H.f=D;return E}}return E}}return{startState:function(){return{f:j,block:j,htmlState:g.startState(),indentation:0,inline:n,em:false,strong:false}},copyState:function(D){return{f:D.f,block:D.block,htmlState:CodeMirror.copyState(g,D.htmlState),indentation:D.indentation,inline:D.inline,em:D.em,strong:D.strong}},token:function(G,F){if(G.sol()){F.f=F.block;var E=F.indentation,D=0;while(E>0){if(G.eat(" ")){E--;D++}else{if(E>=4&&G.eat("\t")){E-=4;D+=4}else{break}}}F.indentation=D;if(D>0){return null}}return F.f(G,F)}}});CodeMirror.defineMIME("text/x-markdown","markdown");Ext.define("Ext.AbstractPlugin",{disabled:false,constructor:function(b){if(!b.cmp&&Ext.global.console){Ext.global.console.warn("Attempted to attach a plugin ")}Ext.apply(this,b)},getCmp:function(){return this.cmp},init:Ext.emptyFn,destroy:Ext.emptyFn,enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Docs.History",{singleton:true,init:function(){Ext.util.History.init(function(){this.historyLoaded=true;this.initialNavigate()},this);Ext.util.History.on("change",function(b){this.navigate(b,true)},this)},notifyTabsLoaded:function(){this.tabsLoaded=true;this.initialNavigate()},initialNavigate:function(){if(this.tabsLoaded&&this.historyLoaded){this.navigate(Ext.util.History.getToken(),true)}},navigate:function(d,f){var e=this.parseToken(d);if(e.url=="#!/api"){Docs.App.getController("Classes").loadIndex(f)}else{if(e.type==="api"){Docs.App.getController("Classes").loadClass(e.url,f)}else{if(e.url==="#!/guide"){Docs.App.getController("Guides").loadIndex(f)}else{if(e.type==="guide"){Docs.App.getController("Guides").loadGuide(e.url,f)}else{if(e.url==="#!/video"){Docs.App.getController("Videos").loadIndex(f)}else{if(e.type==="video"){Docs.App.getController("Videos").loadVideo(e.url,f)}else{if(e.url==="#!/example"){Docs.App.getController("Examples").loadIndex()}else{if(e.type==="example"){Docs.App.getController("Examples").loadExample(e.url,f)}else{if(e.url==="#!/stats"){Docs.App.getController("Stats").loadIndex()}else{if(e.url==="#!/comment"){Docs.App.getController("Comments").loadIndex()}else{if(Docs.App.getController("Welcome").isActive()){Docs.App.getController("Welcome").loadIndex(f)}else{if(!this.noRepeatNav){this.noRepeatNav=true;this.navigate(Ext.getCmp("doctabs").staticTabs[0].href,f)}}}}}}}}}}}}},parseToken:function(d){var c=d&&d.match(/!?(\/(api|guide|example|video|stats|comment)(\/(.*))?)/);return c?{type:c[2],url:"#!"+c[1]}:{}},push:function(d,c){d=this.cleanUrl(d);if(!/^#!?/.test(d)){d="#!"+d}Ext.util.History.add(d)},cleanUrl:function(b){return b.replace(/^[^#]+#/,"#")}});Ext.define("Docs.ContentGrabber",{singleton:true,get:function(f){var e;var d=Ext.get(f);if(d){e=d.dom.innerHTML;d.remove()}return e}});Ext.define("Docs.view.examples.Device",{config:{url:"",id:undefined,device:"phone",orientation:"landscape"},constructor:function(b){Ext.apply(this,b);Ext.apply(this,this.getIframeSize());this.id=this.id||Ext.id();if(Ext.isWebKit){this.tpl=new Ext.XTemplate('<div class="touchExample {device} {orientation}">','<iframe id={id} style="width: {width}; height: {height}; border: 0;" ','src="{[this.deviceUrl(values)]}"></iframe>',"</div>",{deviceUrl:function(a){return a.url+"?deviceType="+(a.device==="tablet"?"Tablet":"Phone")}})}else{this.tpl=new Ext.XTemplate('<div class="touchExample {device} {orientation}">','<div id={id} class="wrong-browser" style="width: {width}; height: {height};">','<div style="padding: 20px;">Sencha Touch only functions on WebKit based browsers. <br /><br />Please use Google Chrome or Safari to see live examples.</div>',"</div>","</div>")}},toHtml:function(){return this.tpl.apply(this)},setDevice:function(b){this.device=b;Ext.apply(this,this.getIframeSize())},setOrientation:function(b){this.orientation=b;Ext.apply(this,this.getIframeSize())},getIframeSize:function(){var b={phone:{width:"481px",height:"320px"},miniphone:{width:"320px",height:"219px"},tablet:{width:"717px",height:"538px"}}[this.device];if(this.orientation==="landscape"){return b}else{return{width:b.height,height:b.width}}}});Ext.define("Ext.form.field.VTypes",(function(){var h=/^[a-zA-Z_]+$/,g=/^[a-zA-Z0-9_]+$/,e=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,f=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{singleton:true,alternateClassName:"Ext.form.VTypes",email:function(a){return e.test(a)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(a){return f.test(a)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(a){return h.test(a)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(a){return g.test(a)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}})());Ext.define("Ext.util.Observable",{requires:["Ext.util.Event"],statics:{releaseCapture:function(b){b.fireEvent=this.prototype.fireEvent},capture:function(f,d,e){f.fireEvent=Ext.Function.createInterceptor(f.fireEvent,d,e)},observe:function(d,c){if(d){if(!d.isObservable){Ext.applyIf(d,new this());this.capture(d.prototype,d.fireEvent,d)}if(Ext.isObject(c)){d.on(c)}return d}}},isObservable:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.listeners){c.on(c.listeners);delete c.listeners}c.events=c.events||{};if(c.bubbleEvents){c.enableBubble(c.bubbleEvents)}},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal|freezeEvent)$/,addManagedListener:function(k,o,m,n,p){var l=this,j=l.managedListeners=l.managedListeners||[],i;if(typeof o!=="string"){p=o;for(o in p){if(p.hasOwnProperty(o)){i=p[o];if(!l.eventOptionsRe.test(o)){l.addManagedListener(k,o,i.fn||i,i.scope||p.scope,i.fn?i:p)}}}}else{j.push({item:k,ename:o,fn:m,scope:n,options:p});k.on(o,m,n,p)}},removeManagedListener:function(m,r,o,l){var p=this,i,s,n,t,q;if(typeof r!=="string"){i=r;for(r in i){if(i.hasOwnProperty(r)){s=i[r];if(!p.eventOptionsRe.test(r)){p.removeManagedListener(m,r,s.fn||s,s.scope||i.scope)}}}}n=p.managedListeners?p.managedListeners.slice():[];for(q=0,t=n.length;q<t;q++){p.removeManagedListenerItem(false,n[q],m,r,o,l)}},fireEvent:function(f){var j=f.toLowerCase(),i=this.events,h=i&&i[j],g=h&&h.bubble;return this.continueFireEvent(j,Ext.Array.slice(arguments,1),g)},continueFireEvent:function(n,l,h){var j=this,i,k,m=true;do{if(j.eventsSuspended===true){if((i=j.eventQueue)){i.push([n,l,h])}return m}else{k=j.events[n];if(k&&k!=true){if((m=k.fire.apply(k,l))===false){break}}}}while(h&&(j=j.getBubbleParent()));return m},getBubbleParent:function(){var c=this,d=c.getBubbleTarget&&c.getBubbleTarget();if(d&&d.isObservable){return d}return null},addListener:function(n,l,m,h){var j=this,i,k;if(typeof n!=="string"){h=n;for(n in h){if(h.hasOwnProperty(n)){i=h[n];if(!j.eventOptionsRe.test(n)){j.addListener(n,i.fn||i,i.scope||h.scope,i.fn?i:h)}}}}else{n=n.toLowerCase();j.events[n]=j.events[n]||true;k=j.events[n]||true;if(Ext.isBoolean(k)){j.events[n]=k=new Ext.util.Event(j,n)}k.addListener(l,m,Ext.isObject(h)?h:{})}},removeListener:function(n,l,m){var j=this,h,k,i;if(typeof n!=="string"){i=n;for(n in i){if(i.hasOwnProperty(n)){h=i[n];if(!j.eventOptionsRe.test(n)){j.removeListener(n,h.fn||h,h.scope||i.scope)}}}}else{n=n.toLowerCase();k=j.events[n];if(k&&k.isEvent){k.removeListener(l,m)}}},clearListeners:function(){var d=this.events,f,e;for(e in d){if(d.hasOwnProperty(e)){f=d[e];if(f.isEvent){f.clearListeners()}}}this.clearManagedListeners()},purgeListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeListeners has been deprecated. Please use clearListeners.")}return this.clearListeners.apply(this,arguments)},clearManagedListeners:function(){var d=this.managedListeners||[],f=0,e=d.length;for(;f<e;f++){this.removeManagedListenerItem(true,d[f])}this.managedListeners=[]},removeManagedListenerItem:function(g,h,i,l,j,k){if(g||(h.item===i&&h.ename===l&&(!j||h.fn===j)&&(!k||h.scope===k))){h.item.un(h.ename,h.fn,h.scope);if(!g){Ext.Array.remove(this.managedListeners,h)}}},purgeManagedListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeManagedListeners has been deprecated. Please use clearManagedListeners.")}return this.clearManagedListeners.apply(this,arguments)},addEvents:function(h){var i=this,f,g,j;i.events=i.events||{};if(Ext.isString(h)){f=arguments;j=f.length;while(j--){i.events[f[j]]=i.events[f[j]]||true}}else{Ext.applyIf(i.events,h)}},hasListener:function(d){var c=this.events[d.toLowerCase()];return c&&c.isEvent===true&&c.listeners.length>0},suspendEvents:function(b){this.eventsSuspended=true;if(b&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var d=this,c=d.eventQueue;d.eventsSuspended=false;delete d.eventQueue;if(c){Ext.each(c,function(a){d.continueFireEvent.apply(d,a)})}},relayEvents:function(p,n,k){k=k||"";var l=this,j=n.length,o=0,m,i;for(;o<j;o++){m=n[o].substr(k.length);i=k+m;l.events[i]=l.events[i]||true;p.on(m,l.createRelayer(i))}},createRelayer:function(d){var c=this;return function(){return c.fireEvent.apply(c,[d].concat(Array.prototype.slice.call(arguments,0,-1)))}},enableBubble:function(d){var c=this;if(!Ext.isEmpty(d)){d=Ext.isArray(d)?d:Ext.Array.toArray(arguments);Ext.each(d,function(b){b=b.toLowerCase();var a=c.events[b]||true;if(Ext.isBoolean(a)){a=new Ext.util.Event(c,b);c.events[b]=a}a.bubble=true})}}},function(){this.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener"});this.observeClass=this.observe;Ext.apply(Ext.util.Observable.prototype,function(){function b(e){var j=(this.methodEvents=this.methodEvents||{})[e],m,n,l,k=this;if(!j){this.methodEvents[e]=j={};j.originalFn=this[e];j.methodName=e;j.before=[];j.after=[];var a=function(c,d,f){if((n=c.apply(d||k,f))!==undefined){if(typeof n=="object"){if(n.returnValue!==undefined){m=n.returnValue}else{m=n}l=!!n.cancel}else{if(n===false){l=true}else{m=n}}}};this[e]=function(){var d=Array.prototype.slice.call(arguments,0),f,c,g;m=n=undefined;l=false;for(c=0,g=j.before.length;c<g;c++){f=j.before[c];a(f.fn,f.scope,d);if(l){return m}}if((n=j.originalFn.apply(k,d))!==undefined){m=n}for(c=0,g=j.after.length;c<g;c++){f=j.after[c];a(f.fn,f.scope,d);if(l){return m}}return m}}return j}return{beforeMethod:function(e,f,a){b.call(this,e).before.push({fn:f,scope:a})},afterMethod:function(e,f,a){b.call(this,e).after.push({fn:f,scope:a})},removeMethodListener:function(e,j,k){var i=this.getMethodEvent(e),l,a;for(l=0,a=i.before.length;l<a;l++){if(i.before[l].fn==j&&i.before[l].scope==k){Ext.Array.erase(i.before,l,1);return}}for(l=0,a=i.after.length;l<a;l++){if(i.after[l].fn==j&&i.after[l].scope==k){Ext.Array.erase(i.after,l,1);return}}},toggleEventLogging:function(a){Ext.util.Observable[a?"capture":"releaseCapture"](this,function(d){if(Ext.isDefined(Ext.global.console)){Ext.global.console.log(d,arguments)}})}}}())});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",constructor:function(e,g,f){var h=this;Ext.apply(h,{el:Ext.get(e),eventName:f||h.eventName,bindings:[]});if(g){h.addBinding(g)}h.enable()},eventName:"keydown",addBinding:function(l){if(Ext.isArray(l)){Ext.each(l,this.addBinding,this);return}var m=l.key,k=false,o,n,i,p,j;if(Ext.isString(m)){n=[];i=m.toUpperCase();for(p=0,j=i.length;p<j;++p){n.push(i.charCodeAt(p))}m=n;k=true}if(!Ext.isArray(m)){m=[m]}if(!k){for(p=0,j=m.length;p<j;++p){o=m[p];if(Ext.isString(o)){m[p]=o.toUpperCase().charCodeAt(0)}}}this.bindings.push(Ext.apply({keyCode:m},l))},handleKeyDown:function(h){if(this.enabled){var g=this.bindings,e=0,f=g.length;h=this.processEvent(h);for(;e<f;++e){this.processBinding(g[e],h)}}},processEvent:function(b){return b},processBinding:function(o,t){if(this.checkModifiers(o,t)){var n=t.getKey(),l=o.fn||o.handler,i=o.scope||this,m=o.keyCode,s=o.defaultEventAction,r,p,q=new Ext.EventObjectImpl(t);for(r=0,p=m.length;r<p;++r){if(n===m[r]){if(l.call(i,n,t)!==true&&s){q[s]()}break}}}},checkModifiers:function(j,l){var m=["shift","ctrl","alt"],n=0,i=m.length,k,e;for(;n<i;++n){e=m[n];k=j[e];if(!(k===undefined||(k===l[e+"Key"]))){return false}}return true},on:function(h,m,n){var j,i,l,k;if(Ext.isObject(h)&&!Ext.isArray(h)){j=h.key;i=h.shift;l=h.ctrl;k=h.alt}else{j=h}this.addBinding({key:j,shift:i,ctrl:l,alt:k,fn:m,scope:n})},isEnabled:function(){return this.enabled},enable:function(){var b=this;if(!b.enabled){b.el.on(b.eventName,b.handleKeyDown,b);b.enabled=true}},disable:function(){var b=this;if(b.enabled){b.el.removeListener(b.eventName,b.handleKeyDown,b);b.enabled=false}},setDisabled:function(b){if(b){this.disable()}else{this.enable()}},destroy:function(c){var d=this;d.bindings=[];d.disable();if(c===true){d.el.remove()}delete d.el}});Ext.define("Ext.util.Memento",function(){function i(b,c,a){b[a]=c[a]}function j(b,c,a){delete b[a]}function h(b,c,a){var d=b[a];if(d||b.hasOwnProperty(a)){g(c,a,d)}}function g(b,a,c){if(Ext.isDefined(c)){b[a]=c}else{delete b[a]}}function f(d,a,b,c){if(a){if(Ext.isArray(c)){Ext.each(c,function(e){d(a,b,e)})}else{d(a,b,c)}}}return{data:null,target:null,constructor:function(a,b){if(a){this.target=a;if(b){this.capture(b)}}},capture:function(b,a){f(i,this.data||(this.data={}),a||this.target,b)},remove:function(a){f(j,this.data,null,a)},restore:function(b,c,a){f(h,this.data,a||this.target,b);if(c!==false){this.remove(b)}},restoreAll:function(d,a){var b=this,c=a||this.target;Ext.Object.each(b.data,function(e,l){g(c,e,l)});if(d!==false){delete b.data}}}}());Ext.define("Ext.util.KeyNav",{alternateClassName:"Ext.KeyNav",requires:["Ext.util.KeyMap"],statics:{keyOptions:{left:37,right:39,up:38,down:40,space:32,pageUp:33,pageDown:34,del:46,backspace:8,home:36,end:35,enter:13,esc:27,tab:9}},constructor:function(c,d){this.setConfig(c,d||{})},setConfig:function(k,h){if(this.map){this.map.destroy()}var i=Ext.create("Ext.util.KeyMap",k,null,this.getKeyEvent("forceKeyDown" in h?h.forceKeyDown:this.forceKeyDown)),j=Ext.util.KeyNav.keyOptions,l=h.scope||this,g;this.map=i;for(g in j){if(j.hasOwnProperty(g)){if(h[g]){i.addBinding({scope:l,key:j[g],handler:Ext.Function.bind(this.handleEvent,l,[h[g]],true),defaultEventAction:h.defaultEventAction||this.defaultEventAction})}}}i.disable();if(!h.disabled){i.enable()}},handleEvent:function(f,d,e){return e.call(this,d)},disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,destroy:function(b){this.map.destroy(b);delete this.map},enable:function(){this.map.enable();this.disabled=false},disable:function(){this.map.disable();this.disabled=true},setDisabled:function(b){this.map.setDisabled(b);this.disabled=b},getKeyEvent:function(b){return(b||Ext.EventManager.useKeyDown)?"keydown":"keypress"}});Ext.define("Ext.fx.CubicBezier",{singleton:true,cubicBezierAtTime:function(q,A,C,r,s,w){var v=3*A,t=3*(r-A)-v,D=1-v-t,x=3*C,u=3*(s-C)-x,p=1-x-u;function y(a){return((D*a+t)*a+v)*a}function B(c,a){var b=z(c,a);return((p*b+u)*b+x)*b}function z(h,a){var b,c,e,g,d,f;for(e=h,f=0;f<8;f++){g=y(e)-h;if(Math.abs(g)<a){return e}d=(3*D*e+2*t)*e+v;if(Math.abs(d)<0.000001){break}e=e-g/d}b=0;c=1;e=h;if(e<b){return b}if(e>c){return c}while(b<c){g=y(e);if(Math.abs(g-h)<a){return e}if(h>g){b=e}else{c=e}e=(c-b)/2+b}return e}return B(q,1/(200*w))},cubicBezier:function(f,h,g,j){var i=function(a){return Ext.fx.CubicBezier.cubicBezierAtTime(a,f,h,g,j,1)};i.toCSS3=function(){return"cubic-bezier("+[f,h,g,j].join(",")+")"};i.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-g,1-j,1-f,1-h)};return i}});Ext.define("Ext.data.Operation",{synchronous:true,action:undefined,filters:undefined,sorters:undefined,group:undefined,start:undefined,limit:undefined,batch:undefined,callback:undefined,scope:undefined,started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,actionCommitRecordsRe:/^(?:create|update)$/i,actionSkipSyncRe:/^destroy$/i,constructor:function(b){Ext.apply(this,b||{})},commitRecords:function(h){var k=this,j,n,m,l,i;if(!k.actionSkipSyncRe.test(k.action)){m=k.records;if(m&&m.length){j=Ext.create("Ext.util.MixedCollection",true,function(a){return a.getId()});j.addAll(m);for(n=h?h.length:0;n--;){l=h[n];i=j.get(l.getId());if(i){i.beginEdit();i.set(l.data);i.endEdit(true)}}if(k.actionCommitRecordsRe.test(k.action)){for(n=m.length;n--;){m[n].commit()}}}}},setStarted:function(){this.started=true;this.running=true},setCompleted:function(){this.complete=true;this.running=false},setSuccessful:function(){this.success=true},setException:function(b){this.exception=true;this.success=false;this.running=false;this.error=b},hasException:function(){return this.exception===true},getError:function(){return this.error},getRecords:function(){var b=this.getResultSet();return(b===undefined?this.records:b.records)},getResultSet:function(){return this.resultSet},isStarted:function(){return this.started===true},isRunning:function(){return this.running===true},isComplete:function(){return this.complete===true},wasSuccessful:function(){return this.isComplete()&&this.success===true},setBatch:function(b){this.batch=b},allowWrite:function(){return this.action!="read"}});Ext.define("Ext.util.Filter",{anyMatch:false,exactMatch:false,caseSensitive:false,constructor:function(d){var c=this;Ext.apply(c,d);c.filter=c.filter||c.filterFn;if(c.filter===undefined){if(c.property===undefined||c.value===undefined){}else{c.filter=c.createFilterFn()}c.filterFn=c.filter}},createFilterFn:function(){var e=this,f=e.createValueMatcher(),d=e.property;return function(b){var a=e.getRoot.call(e,b)[d];return f===null?a===null:f.test(a)}},getRoot:function(c){var d=this.root;return d===undefined?c:c[d]},createValueMatcher:function(){var k=this,j=k.value,i=k.anyMatch,l=k.exactMatch,h=k.caseSensitive,g=Ext.String.escapeRegex;if(j===null){return j}if(!j.exec){j=String(j);if(i===true){j=g(j)}else{j="^"+g(j);if(l===true){j+="$"}}j=new RegExp(j,h?"":"i")}return j}});Ext.define("Ext.util.Floating",{uses:["Ext.Layer","Ext.window.Window"],focusOnToFront:true,shadow:"sides",constructor:function(d){var c=this;c.floating=true;c.el=Ext.create("Ext.Layer",Ext.apply({},d,{hideMode:c.hideMode,hidden:c.hidden,shadow:Ext.isDefined(c.shadow)?c.shadow:"sides",shadowOffset:c.shadowOffset,constrain:false,shim:c.shim===false?false:undefined}),c.el)},onFloatRender:function(){var b=this;b.zIndexParent=b.getZIndexParent();b.setFloatParent(b.ownerCt);delete b.ownerCt;if(b.zIndexParent){b.zIndexParent.registerFloatingItem(b)}else{Ext.WindowManager.register(b)}},setFloatParent:function(c){var d=this;if(d.floatParent){d.mun(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}d.floatParent=c;if(c){d.mon(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}if((d.constrain||d.constrainHeader)&&!d.constrainTo){d.constrainTo=c?c.getTargetEl():d.container}},onFloatParentHide:function(){var b=this;if(b.hideOnParentHide!==false){b.showOnParentShow=b.isVisible();b.hide()}},onFloatParentShow:function(){if(this.showOnParentShow){delete this.showOnParentShow;this.show()}},getZIndexParent:function(){var d=this.ownerCt,c;if(d){while(d){c=d;d=d.ownerCt}if(c.floating){return c}}},setZIndex:function(d){var c=this;c.el.setZIndex(d);d+=10;if(c.floatingItems){d=Math.floor(c.floatingItems.setBase(d)/100)*100+10000}return d},doConstrain:function(e){var h=this,f=h.getConstrainVector(e||h.el.getScopeParent()),g;if(f){g=h.getPosition();g[0]+=f[0];g[1]+=f[1];h.setPosition(g)}},getConstrainVector:function(d){var f=this,e;if(f.constrain||f.constrainHeader){e=f.constrainHeader?f.header.el:f.el;d=d||(f.floatParent&&f.floatParent.getTargetEl())||f.container;return e.getConstrainVector(d)}},alignTo:function(e,f,h){if(e.isComponent){e=e.getEl()}var g=this.el.getAlignToXY(e,f,h);this.setPagePosition(g);return this},toFront:function(c){var d=this;if(d.zIndexParent){d.zIndexParent.toFront(true)}if(d.zIndexManager.bringToFront(d)){if(!Ext.isDefined(c)){c=!d.focusOnToFront}if(!c){d.focus(false,true)}}return d},setActive:function(d,f){var e=this;if(d){if(e.el.shadow&&!e.maximized){e.el.enableShadow(true)}e.fireEvent("activate",e)}else{if((e instanceof Ext.window.Window)&&(f instanceof Ext.window.Window)){e.el.disableShadow()}e.fireEvent("deactivate",e)}},toBack:function(){this.zIndexManager.sendToBack(this);return this},center:function(){var d=this,c=d.el.getAlignToXY(d.container,"c-c");d.setPagePosition(c);return d},syncShadow:function(){if(this.floating){this.el.sync(true)}},fitContainer:function(){var f=this.floatParent,e=f?f.getTargetEl():this.container,d=e.getViewSize(false);this.setSize(d)}});Ext.define("Ext.app.Controller",{mixins:{observable:"Ext.util.Observable"},onClassExtended:function(k,p){var l=Ext.getClassName(k),o=l.match(/^(.*)\.controller\./);if(o!==null){var r=Ext.Loader.getPrefix(l)||o[1],m=p.onBeforeClassCreated,j=[],q=["model","view","store"],n;p.onBeforeClassCreated=function(i,f){var e,c,h,b,g,d,a;for(e=0,c=q.length;e<c;e++){h=q[e];b=Ext.Array.from(f[h+"s"]);for(g=0,d=b.length;g<d;g++){a=b[g];n=Ext.Loader.getPrefix(a);if(n===""||n===a){j.push(r+"."+h+"."+a)}else{j.push(a)}}}Ext.require(j,Ext.Function.pass(m,arguments,this))}}},constructor:function(b){this.mixins.observable.constructor.call(this,b);Ext.apply(this,b||{});this.createGetters("model",this.models);this.createGetters("store",this.stores);this.createGetters("view",this.views);if(this.refs){this.ref(this.refs)}},init:function(b){},onLaunch:function(b){},createGetters:function(c,d){c=Ext.String.capitalize(c);Ext.Array.each(d,function(b){var f="get",a=b.split(".");Ext.Array.each(a,function(e){f+=Ext.String.capitalize(e)});f+=c;if(!this[f]){this[f]=Ext.Function.pass(this["get"+c],[b],this)}this[f](b)},this)},ref:function(d){var c=this;d=Ext.Array.from(d);Ext.Array.each(d,function(a){var b=a.ref,f="get"+Ext.String.capitalize(b);if(!c[f]){c[f]=Ext.Function.pass(c.getRef,[b,a],c)}})},getRef:function(j,i,g){this.refCache=this.refCache||{};i=i||{};g=g||{};Ext.apply(i,g);if(i.forceCreate){return Ext.ComponentManager.create(i,"component")}var k=this,h=i.selector,l=k.refCache[j];if(!l){k.refCache[j]=l=Ext.ComponentQuery.query(i.selector)[0];if(!l&&i.autoCreate){k.refCache[j]=l=Ext.ComponentManager.create(i,"component")}if(l){l.on("beforedestroy",function(){k.refCache[j]=null})}}return l},control:function(d,c){this.application.control(d,c,this)},getController:function(b){return this.application.getController(b)},getStore:function(b){return this.application.getStore(b)},getModel:function(b){return this.application.getModel(b)},getView:function(b){return this.application.getView(b)}});Ext.define("Ext.app.EventBus",{requires:["Ext.util.Event"],mixins:{observable:"Ext.util.Observable"},constructor:function(){this.mixins.observable.constructor.call(this);this.bus={};var b=this;Ext.override(Ext.Component,{fireEvent:function(a){if(Ext.util.Observable.prototype.fireEvent.apply(this,arguments)!==false){return b.dispatch.call(b,a,this,arguments)}return false}})},dispatch:function(o,s,p){var r=this.bus,n=r[o],u,v,w,i,x,t,q;if(n){for(u in n){if(s.is(u)){v=n[u];for(w in v){i=v[w];for(t=0,q=i.length;t<q;t++){x=i[t];if(x.fire.apply(x,Array.prototype.slice.call(p,1))===false){return false}}}}}}},control:function(k,i,l){var g=this.bus,h,j;if(Ext.isString(k)){h=k;k={};k[h]=i;this.control(k,null,l);return}Ext.Object.each(k,function(b,a){Ext.Object.each(a,function(d,c){var n={},f=l,e=Ext.create("Ext.util.Event",l,d);if(Ext.isObject(c)){n=c;c=n.fn;f=n.scope||l;delete n.fn;delete n.scope}e.addListener(c,f,n);g[d]=g[d]||{};g[d][b]=g[d][b]||{};g[d][b][l.id]=g[d][b][l.id]||[];g[d][b][l.id].push(e)})})}});Ext.define("Docs.LocalStore",{storeName:"",init:function(){this.localStorage=!!window.localStorage;this.store=Ext.getStore(this.storeName);if(this.localStorage){this.cleanup();this.store.load();if(window.addEventListener){window.addEventListener("storage",Ext.Function.bind(this.onStorageChange,this),false)}else{window.attachEvent("onstorage",Ext.Function.bind(this.onStorageChange,this))}}},onStorageChange:function(b){b=b||window.event;if(b.key===this.store.getProxy().id){this.store.load()}},syncStore:function(){this.localStorage&&this.store.sync()},cleanup:function(){var f=/-settings/;for(var d=0;d<window.localStorage.length;d++){var e=window.localStorage.key(d);if(!f.test(e)){window.localStorage.removeItem(e)}}}});Ext.define("Docs.Syntax",{singleton:true,highlight:function(b){Ext.Array.forEach(Ext.query("pre > code",b.dom||b),function(a){a=Ext.get(a);var d=a.parent();if(!(d.hasCls("inline-example")&&d.hasCls("preview"))){a.addCls("prettyprint")}});prettyPrint()}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var b=this;b.originalValue=b.lastValue=b.value;b.suspendCheckChange++;b.setValue(b.value);b.suspendCheckChange--},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(c){var d=this;d.value=c;d.checkChange();return d},isEqual:function(c,d){return String(c)===String(d)},isEqualAsString:function(c,d){return String(Ext.value(c,""))===String(Ext.value(d,""))},getSubmitData:function(){var d=this,c=null;if(!d.disabled&&d.submitValue&&!d.isFileUpload()){c={};c[d.getName()]=""+d.getValue()}return c},getModelData:function(){var d=this,c=null;if(!d.disabled&&!d.isFileUpload()){c={};c[d.getName()]=d.getValue()}return c},reset:function(){var b=this;b.setValue(b.originalValue);b.clearInvalid();delete b.wasValid},resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var f=this,d=f.getValue(),e=f.lastValue;if(!f.isEqual(d,e)&&!f.isDestroyed){f.lastValue=d;f.fireEvent("change",f,d,e);f.onChange(d,e)}}},onChange:function(c,d){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var b=this;return !b.disabled&&!b.isEqual(b.getValue(),b.originalValue)},checkDirty:function(){var d=this,c=d.isDirty();if(c!==d.wasDirty){d.fireEvent("dirtychange",d,c);d.onDirtyChange(c);d.wasDirty=c}},onDirtyChange:Ext.emptyFn,getErrors:function(b){return[]},isValid:function(){var b=this;return b.disabled||Ext.isEmpty(b.getErrors())},validate:function(){var d=this,c=d.isValid();if(c!==d.wasValid){d.wasValid=c;d.fireEvent("validitychange",d,c)}return c},batchChanges:function(d){try{this.suspendCheckChange++;d()}catch(c){throw c}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(g,i,h){var f=this,j=f.shared;if(!j){j=f.shared=new f(g,h)}j.bind(g);j.setFixedWidth(h||"auto");return j.getSize(i)},destroy:function(){var b=this;Ext.destroy(b.shared);b.shared=null}},constructor:function(e,f){var d=this.measure=Ext.getBody().createChild({cls:"x-textmetrics"});this.el=Ext.get(e);d.position("absolute");d.setLeftTop(-1000,-1000);d.hide();if(f){d.setWidth(f)}},getSize:function(f){var d=this.measure,e;d.update(f);e=d.getSize();d.update("");return e},bind:function(d){var c=this;c.el=Ext.get(d);c.measure.setStyle(c.el.getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(b){this.measure.setWidth(b)},getWidth:function(b){this.measure.dom.style.width="auto";return this.getSize(b).width},getHeight:function(b){return this.getSize(b).height},destroy:function(){var b=this;b.measure.remove();delete b.el;delete b.measure}},function(){Ext.Element.addMethods({getTextWidth:function(f,d,e){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.value(f,this.dom.innerHTML,true)).width,d||0,e||1000000)}})});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",constructor:function(d,c){this.panel=d;this.id=this.panel.id+"-ddproxy";Ext.apply(this,c)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.unghost(null,false);delete this.ghost}},show:function(){if(!this.ghost){var b=this.panel.getSize();this.panel.el.setVisibilityMode(Ext.Element.DISPLAY);this.ghost=this.panel.ghost();if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});this.proxy.setSize(b)}}},repair:function(d,f,e){this.hide();if(typeof f=="function"){f.call(e||this)}},moveProxy:function(d,c){if(this.proxy){d.insertBefore(this.proxy.dom,c)}}});Ext.define("Ext.Template",{requires:["Ext.DomHelper","Ext.util.Format"],inheritableStatics:{from:function(c,d){c=Ext.getDom(c);return new this(c.value||c.innerHTML,d||"")}},constructor:function(m){var k=this,h=arguments,i=[],n=0,l=h.length,j;k.initialConfig={};if(l>1){for(;n<l;n++){j=h[n];if(typeof j=="object"){Ext.apply(k.initialConfig,j);Ext.apply(k,j)}else{i.push(j)}}m=i.join("")}else{if(Ext.isArray(m)){i.push(m.join(""))}else{i.push(m)}}k.html=i.join("");if(k.compiled){k.compile()}},isTemplate:true,disableFormats:false,re:/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,applyTemplate:function(h){var i=this,l=i.disableFormats!==true,j=Ext.util.Format,g=i;if(i.compiled){return i.compiled(h)}function k(d,b,a,c){if(a&&l){if(c){c=[h[b]].concat(Ext.functionFactory("return ["+c+"];")())}else{c=[h[b]]}if(a.substr(0,5)=="this."){return g[a.substr(5)].apply(g,c)}else{return j[a].apply(j,c)}}else{return h[b]!==undefined?h[b]:""}}return i.html.replace(i.re,k)},set:function(e,f){var d=this;d.html=e;d.compiled=null;return f?d.compile():d},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){var me=this,fm=Ext.util.Format,useFormat=me.disableFormats!==true,body,bodyReturn;function fn(m,name,format,args){if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"',"+format+"values['"+name+"']"+args+") ,'"}bodyReturn=me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn);body="this.compiled = function(values){ return ['"+bodyReturn+"'].join('');};";eval(body);return me},insertFirst:function(d,e,f){return this.doInsert("afterBegin",d,e,f)},insertBefore:function(d,e,f){return this.doInsert("beforeBegin",d,e,f)},insertAfter:function(d,e,f){return this.doInsert("afterEnd",d,e,f)},append:function(d,e,f){return this.doInsert("beforeEnd",d,e,f)},doInsert:function(j,h,f,g){h=Ext.getDom(h);var i=Ext.DomHelper.insertHtml(j,h,this.applyTemplate(f));return g?Ext.get(i,true):i},overwrite:function(d,e,f){d=Ext.getDom(d);d.innerHTML=this.applyTemplate(e);return f?Ext.get(d.firstChild,true):d.firstChild}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.ComponentQuery",{singleton:true,uses:["Ext.ComponentManager"]},function(){var t=this,q=["var r = [],","i = 0,","it = items,","l = it.length,","c;","for (; i < l; i++) {","c = it[i];","if (c.{0}) {","r.push(c);","}","}","return r;"].join(""),v=function(a,b){return b.method.apply(this,[a].concat(b.args))},z=function(e,a){var g=[],d=0,b=e.length,c,f=a!==">";for(;d<b;d++){c=e[d];if(c.getRefItems){g=g.concat(c.getRefItems(f))}}return g},u=function(d){var e=[],c=0,a=d.length,b;for(;c<a;c++){b=d[c];while(!!(b=(b.ownerCt||b.floatParent))){e.push(b)}}return e},o=function(f,a,b){if(a==="*"){return f.slice()}else{var g=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(d.isXType(a,b)){g.push(d)}}return g}},r=function(f,c){var a=Ext.Array,g=[],e=0,b=f.length,d;for(;e<b;e++){d=f[e];if(d.el?d.el.hasCls(c):a.contains(d.initCls(),c)){g.push(d)}}return g},n=function(f,a,g,b){var h=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(!b?!!d[a]:(String(d[a])===b)){h.push(d)}}return h},w=function(e,a){var f=[],d=0,b=e.length,c;for(;d<b;d++){c=e[d];if(c.getItemId()===a){f.push(c)}}return f},p=function(c,b,a){return t.pseudos[b](c,a)},s=/^(\s?([>\^])\s?|\s|$)/,x=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,y=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:o},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:n},{re:/^#([\w\-]+)/,method:w},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:p},{re:/^(?:\{([^\}]+)\})/,method:q}];t.Query=Ext.extend(Object,{constructor:function(a){a=a||{};Ext.apply(this,a)},execute:function(e){var c=this.operations,b=0,a=c.length,d,f;if(!e){f=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(e)){f=e}}for(;b<a;b++){d=c[b];if(d.mode==="^"){f=u(f||[e])}else{if(d.mode){f=z(f||[e],d.mode)}else{f=v(f||z([e]),d)}}if(b===a-1){return f}}return[]},is:function(e){var f=this.operations,b=Ext.isArray(e)?e:[e],g=b.length,a=f[f.length-1],c,d;b=v(b,a);if(b.length===g){if(f.length>1){for(d=0,c=b.length;d<c;d++){if(Ext.Array.indexOf(this.execute(),b[d])===-1){return false}}}return true}return false}});Ext.apply(this,{cache:{},pseudos:{not:function(b,h){var a=Ext.ComponentQuery,d=0,c=b.length,e=[],f=-1,g;for(;d<c;++d){g=b[d];if(!a.is(g,h)){e[++f]=g}}return e},last:function(a){return a[a.length-1]}},query:function(d,h){var g=d.split(","),e=g.length,c=0,b=[],f=[],i={},k,a,j;for(;c<e;c++){d=Ext.String.trim(g[c]);k=this.cache[d];if(!k){this.cache[d]=k=this.parse(d)}b=b.concat(k.execute(h))}if(e>1){a=b.length;for(c=0;c<a;c++){j=b[c];if(!i[j.id]){f.push(j);i[j.id]=true}}b=f}return b},is:function(b,c){if(!c){return true}var a=this.cache[c];if(!a){this.cache[c]=a=this.parse(c)}return a.is(b)},parse:function(b){var d=[],c=y.length,i,a,h,g,f,k,j,e;while(b&&i!==b){i=b;a=b.match(x);if(a){h=a[1];if(h==="#"){d.push({method:w,args:[Ext.String.trim(a[2])]})}else{if(h==="."){d.push({method:r,args:[Ext.String.trim(a[2])]})}else{d.push({method:o,args:[Ext.String.trim(a[2]),Boolean(a[3])]})}}b=b.replace(a[0],"")}while(!(g=b.match(s))){for(k=0;b&&k<c;k++){j=y[k];f=b.match(j.re);e=j.method;if(f){d.push({method:Ext.isString(j.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[e].concat(f.slice(1)))):j.method,args:f.slice(1)});b=b.replace(f[0],"");break}if(k===(c-1)){Ext.Error.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(g[1]){d.push({mode:g[2]||g[1]});b=b.replace(g[0],"")}}return new t.Query({operations:d})}})});Ext.define("Ext.util.HashMap",{mixins:{observable:"Ext.util.Observable"},constructor:function(e){e=e||{};var f=this,d=e.keyFn;f.addEvents("add","clear","remove","replace");f.mixins.observable.constructor.call(f,e);f.clear(true);if(d){f.getKey=d}},getCount:function(){return this.length},getData:function(d,c){if(c===undefined){c=d;d=this.getKey(c)}return[d,c]},getKey:function(b){return b.id},add:function(f,g){var e=this,h;if(arguments.length===1){g=f;f=e.getKey(g)}if(e.containsKey(f)){return e.replace(f,g)}h=e.getData(f,g);f=h[0];g=h[1];e.map[f]=g;++e.length;e.fireEvent("add",e,f,g);return g},replace:function(f,i){var j=this,h=j.map,g;if(!j.containsKey(f)){j.add(f,i)}g=h[f];h[f]=i;j.fireEvent("replace",j,f,i,g);return i},remove:function(c){var d=this.findKey(c);if(d!==undefined){return this.removeAtKey(d)}return false},removeAtKey:function(e){var d=this,f;if(d.containsKey(e)){f=d.map[e];delete d.map[e];--d.length;d.fireEvent("remove",d,e,f);return true}return false},get:function(b){return this.map[b]},clear:function(d){var c=this;c.map={};c.length=0;if(d!==true){c.fireEvent("clear",c)}return c},containsKey:function(b){return this.map[b]!==undefined},contains:function(b){return this.containsKey(this.findKey(b))},getKeys:function(){return this.getArray(true)},getValues:function(){return this.getArray(false)},getArray:function(g){var f=[],e,h=this.map;for(e in h){if(h.hasOwnProperty(e)){f.push(g?e:h[e])}}return f},each:function(i,j){var g=Ext.apply({},this.map),f,h=this.length;j=j||this;for(f in g){if(g.hasOwnProperty(f)){if(i.call(j,f,g[f],h)===false){break}}}return this},clone:function(){var f=new this.self(),d=this.map,e;f.suspendEvents();for(e in d){if(d.hasOwnProperty(e)){f.add(e,d[e])}}f.resumeEvents();return f},findKey:function(d){var e,f=this.map;for(e in f){if(f.hasOwnProperty(e)&&f[e]===d){return e}}return undefined}});Ext.define("Ext.layout.Layout",{isLayout:true,initialized:false,statics:{create:function(d,f){var e;if(d instanceof Ext.layout.Layout){return Ext.createByAlias("layout."+d)}else{if(!d||typeof d==="string"){e=d||f;d={}}else{e=d.type||f}return Ext.createByAlias("layout."+e,d||{})}}},constructor:function(b){this.id=Ext.id(null,this.type+"-");Ext.apply(this,b)},layout:function(){var b=this;b.layoutBusy=true;b.initLayout();if(b.beforeLayout.apply(b,arguments)!==false){b.layoutCancelled=false;b.onLayout.apply(b,arguments);b.childrenChanged=false;b.owner.needsLayout=false;b.layoutBusy=false;b.afterLayout.apply(b,arguments)}else{b.layoutCancelled=true}b.layoutBusy=false;b.doOwnerCtLayouts()},beforeLayout:function(){this.renderChildren();return true},renderChildren:function(){this.renderItems(this.getLayoutItems(),this.getRenderTarget())},renderItems:function(h,i){var j=this,k=h.length,g=0,l;for(;g<k;g++){l=h[g];if(l&&!l.rendered){j.renderItem(l,i,g)}else{if(!j.isValidParent(l,i,g)){j.moveItem(l,i,g)}else{j.configureItem(l)}}}},isValidParent:function(e,h,f){var g=e.el?e.el.dom:Ext.getDom(e);if(g&&h&&h.dom){if(Ext.isNumber(f)&&g!==h.dom.childNodes[f]){return false}return(g.parentNode==(h.dom||h))}return false},renderItem:function(h,g,f){var e=this;if(!h.rendered){if(e.itemCls){h.addCls(e.itemCls)}if(e.owner.itemCls){h.addCls(e.owner.itemCls)}h.render(g,f);e.configureItem(h);e.childrenChanged=true}},moveItem:function(d,f,e){f=f.dom||f;if(typeof e=="number"){e=f.childNodes[e]}f.insertBefore(d.el.dom,e||null);d.container=Ext.get(f);this.configureItem(d);this.childrenChanged=true},initLayout:function(){var d=this,c=d.targetCls;if(!d.initialized&&!Ext.isEmpty(c)){d.getTarget().addCls(c)}d.initialized=true},setOwner:function(b){this.owner=b},getLayoutItems:function(){return[]},configureItem:Ext.emptyFn,onLayout:Ext.emptyFn,afterLayout:Ext.emptyFn,onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,doOwnerCtLayouts:Ext.emptyFn,afterRemove:function(j){var f=j.el,g=this.owner,h=this.itemCls,i=g.itemCls;if(j.rendered&&!j.isDestroyed){if(h){f.removeCls(h)}if(i){f.removeCls(i)}}delete j.layoutManagedWidth;delete j.layoutManagedHeight},destroy:function(){var c=this.targetCls,d;if(!Ext.isEmpty(c)){d=this.getTarget();if(d){d.removeCls(c)}}this.onDestroy()}});Ext.define("Ext.ZIndexManager",{alternateClassName:"Ext.WindowGroup",statics:{zBase:9000},constructor:function(d){var c=this;c.list={};c.zIndexStack=[];c.front=null;if(d){if(d.isContainer){d.on("resize",c._onContainerResize,c);c.zseed=Ext.Number.from(d.getEl().getStyle("zIndex"),c.getNextZSeed());c.targetEl=d.getTargetEl();c.container=d}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();c.targetEl=Ext.get(d)}}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();Ext.onDocumentReady(function(){c.targetEl=Ext.getBody()})}},getNextZSeed:function(){return(Ext.ZIndexManager.zBase+=10000)},setBase:function(b){this.zseed=b;return this.assignZIndices()},assignZIndices:function(){var j=this.zIndexStack,a=j.length,h=0,g=this.zseed,i;for(;h<a;h++){i=j[h];if(i&&!i.hidden){g=i.setZIndex(g)}}this._activateLast();return g},_setActiveChild:function(b){if(b!==this.front){if(this.front){this.front.setActive(false,b)}this.front=b;if(b){b.setActive(true);if(b.modal){this._showModalMask(b)}}}},_activateLast:function(f){var e,g=false,h;for(h=this.zIndexStack.length-1;h>=0;--h){e=this.zIndexStack[h];if(!e.hidden){if(!g){this._setActiveChild(e);g=true}if(e.modal){this._showModalMask(e);return}}}this._hideModalMask();if(!g){this._setActiveChild(null)}},_showModalMask:function(f){var g=f.el.getStyle("zIndex")-4,e=f.floatParent?f.floatParent.getTargetEl():Ext.get(f.getEl().dom.parentNode),h;if(!e){Ext.global.console&&Ext.global.console.warn&&Ext.global.console.warn("mask target could not be found. Mask cannot be shown");return}h=e.getBox();if(!this.mask){this.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask"});this.mask.setVisibilityMode(Ext.Element.DISPLAY);this.mask.on("click",this._onMaskClick,this)}if(e.dom===document.body){h.height=Ext.Element.getViewHeight()}e.addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setBox(h);this.mask.setStyle("zIndex",g);this.mask.show()},_hideModalMask:function(){if(this.mask&&this.mask.dom.parentNode){Ext.get(this.mask.dom.parentNode).removeCls(Ext.baseCSSPrefix+"body-masked");this.mask.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){if(this.mask&&this.mask.isVisible()){this.mask.setSize(Ext.get(this.mask.dom.parentNode).getViewSize(true))}},register:function(b){if(b.zIndexManager){b.zIndexManager.unregister(b)}b.zIndexManager=this;this.list[b.id]=b;this.zIndexStack.push(b);b.on("hide",this._activateLast,this)},unregister:function(b){delete b.zIndexManager;if(this.list&&this.list[b.id]){delete this.list[b.id];b.un("hide",this._activateLast);Ext.Array.remove(this.zIndexStack,b);this._activateLast(b)}},get:function(b){return typeof b=="object"?b:this.list[b]},bringToFront:function(b){b=this.get(b);if(b!==this.front){Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.push(b);this.assignZIndices();return true}if(b.modal){this._showModalMask(b)}return false},sendToBack:function(b){b=this.get(b);Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.unshift(b);this.assignZIndices();return b},hideAll:function(){for(var b in this.list){if(this.list[b].isComponent&&this.list[b].isVisible()){this.list[b].hide()}}},hide:function(){var d=0,f=this.zIndexStack.length,e;this.tempHidden=[];for(;d<f;d++){e=this.zIndexStack[d];if(e.isVisible()){this.tempHidden.push(e);e.hide()}}},show:function(){var j=0,i=this.tempHidden.length,f,g,h;for(;j<i;j++){f=this.tempHidden[j];g=f.x;h=f.y;f.show();f.setPosition(g,h)}delete this.tempHidden},getActive:function(){return this.front},getBy:function(j,k){var i=[],l=0,h=this.zIndexStack.length,g;for(;l<h;l++){g=this.zIndexStack[l];if(j.call(k||g,g)!==false){i.push(g)}}return i},each:function(h,e){var f;for(var g in this.list){f=this.list[g];if(f.isComponent&&h.call(e||f,f)===false){return}}},eachBottomUp:function(j,k){var g,h=this.zIndexStack,l,i;for(l=0,i=h.length;l<i;l++){g=h[l];if(g.isComponent&&j.call(k||g,g)===false){return}}},eachTopDown:function(h,i){var f,g=this.zIndexStack,j;for(j=g.length;j-->0;){f=g[j];if(f.isComponent&&h.call(i||f,f)===false){return}}},destroy:function(){this.each(function(b){b.destroy()});delete this.zIndexStack;delete this.list;delete this.container;delete this.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.fx.Queue",{requires:["Ext.util.HashMap"],constructor:function(){this.targets=Ext.create("Ext.util.HashMap");this.fxQueue={}},getFxDefaults:function(d){var c=this.targets.get(d);if(c){return c.fxDefaults}return{}},setFxDefaults:function(e,f){var d=this.targets.get(e);if(d){d.fxDefaults=Ext.apply(d.fxDefaults||{},f)}},stopAnimation:function(e){var g=this,f=g.getFxQueue(e),h=f.length;while(h){f[h-1].end();h--}},getActiveAnimation:function(c){var d=this.getFxQueue(c);return(d&&!!d.length)?d[0]:false},hasFxBlock:function(c){var d=this.getFxQueue(c);return d&&d[0]&&d[0].block},getFxQueue:function(e){if(!e){return false}var h=this,f=h.fxQueue[e],g=h.targets.get(e);if(!g){return false}if(!f){h.fxQueue[e]=[];if(g.type!="element"){g.target.on("destroy",function(){h.fxQueue[e]=[]})}}return h.fxQueue[e]},queueFx:function(i){var j=this,h=i.target,g,f;if(!h){return}g=j.getFxQueue(h.getId());f=g.length;if(f){if(i.concurrent){i.paused=false}else{g[f-1].on("afteranimate",function(){i.paused=false})}}else{i.paused=false}i.on("afteranimate",function(){Ext.Array.remove(g,i);if(i.remove){if(h.type=="element"){var a=Ext.get(h.id);if(a){a.remove()}}}},this);g.push(i)}});Ext.define("Ext.util.Sorter",{direction:"ASC",constructor:function(d){var c=this;Ext.apply(c,d);if(c.property===undefined&&c.sorterFn===undefined){Ext.Error.raise("A Sorter requires either a property or a sorter function")}c.updateSortFunction()},createSortFunction:function(f){var j=this,i=j.property,h=j.direction||"ASC",g=h.toUpperCase()=="DESC"?-1:1;return function(a,b){return g*f.call(j,a,b)}},defaultSorterFn:function(k,l){var g=this,h=g.transform,i=g.getRoot(k)[g.property],j=g.getRoot(l)[g.property];if(h){i=h(i);j=h(j)}return i>j?1:(i<j?-1:0)},getRoot:function(b){return this.root===undefined?b:b[this.root]},setDirection:function(c){var d=this;d.direction=c;d.updateSortFunction()},toggle:function(){var b=this;b.direction=Ext.String.toggle(b.direction,"ASC","DESC");b.updateSortFunction()},updateSortFunction:function(d){var c=this;d=d||c.sorterFn||c.defaultSorterFn;c.sort=c.createSortFunction(d)}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.util.Observable"},constructor:function(d,e){var f=this;f.items=[];f.map={};f.keys=[];f.length=0;f.addEvents("clear","add","replace","remove");f.allowFunctions=d===true;if(e){f.getKey=e}f.mixins.observable.constructor.call(f)},allowFunctions:false,add:function(g,j){var k=this,i=j,l=g,h;if(arguments.length==1){i=l;l=k.getKey(i)}if(typeof l!="undefined"&&l!==null){h=k.map[l];if(typeof h!="undefined"){return k.replace(l,i)}k.map[l]=i}k.length++;k.items.push(i);k.keys.push(l);k.fireEvent("add",k.length-1,i,l);return i},getKey:function(b){return b.id},replace:function(j,h){var i=this,g,f;if(arguments.length==1){h=arguments[0];j=i.getKey(h)}g=i.map[j];if(typeof j=="undefined"||j===null||typeof g=="undefined"){return i.add(j,h)}f=i.indexOfKey(j);i.items[f]=h;i.map[j]=h;i.fireEvent("replace",j,g,h);return h},addAll:function(i){var j=this,k=0,g,h,l;if(arguments.length>1||Ext.isArray(i)){g=arguments.length>1?arguments:i;for(h=g.length;k<h;k++){j.add(g[k])}}else{for(l in i){if(i.hasOwnProperty(l)){if(j.allowFunctions||typeof i[l]!="function"){j.add(l,i[l])}}}}},each:function(j,k){var g=[].concat(this.items),l=0,h=g.length,i;for(;l<h;l++){i=g[l];if(j.call(k||i,i,l,h)===false){break}}},eachKey:function(j,k){var i=this.keys,g=this.items,l=0,h=i.length;for(;l<h;l++){j.call(k||window,i[l],g[l],l,h)}},findBy:function(j,k){var i=this.keys,g=this.items,l=0,h=g.length;for(;l<h;l++){if(j.call(k||window,g[l],i[l])){return g[l]}}return null},find:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead.")}return this.findBy.apply(this,arguments)},insert:function(h,g,j){var k=this,l=g,i=j;if(arguments.length==2){i=l;l=k.getKey(i)}if(k.containsKey(l)){k.suspendEvents();k.removeAtKey(l);k.resumeEvents()}if(h>=k.length){return k.add(l,i)}k.length++;Ext.Array.splice(k.items,h,0,i);if(typeof l!="undefined"&&l!==null){k.map[l]=i}Ext.Array.splice(k.keys,h,0,l);k.fireEvent("add",h,i,l);return i},remove:function(b){return this.removeAt(this.indexOf(b))},removeAll:function(b){Ext.each(b||[],function(a){this.remove(a)},this);return this},removeAt:function(f){var h=this,g,e;if(f<h.length&&f>=0){h.length--;g=h.items[f];Ext.Array.erase(h.items,f,1);e=h.keys[f];if(typeof e!="undefined"){delete h.map[e]}Ext.Array.erase(h.keys,f,1);h.fireEvent("remove",g,e);return g}return false},removeAtKey:function(b){return this.removeAt(this.indexOfKey(b))},getCount:function(){return this.length},indexOf:function(b){return Ext.Array.indexOf(this.items,b)},indexOfKey:function(b){return Ext.Array.indexOf(this.keys,b)},get:function(e){var g=this,f=g.map[e],h=f!==undefined?f:(typeof e=="number")?g.items[e]:undefined;return typeof h!="function"||g.allowFunctions?h:null},getAt:function(b){return this.items[b]},getByKey:function(b){return this.map[b]},contains:function(b){return Ext.Array.contains(this.items,b)},containsKey:function(b){return typeof this.map[b]!="undefined"},clear:function(){var b=this;b.length=0;b.items=[];b.keys=[];b.map={};b.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(l,i,k,j){var p=this.extractValues(l,i),m=p.length,n=0,o;k=k||0;j=(j||j===0)?j:m-1;for(o=k;o<=j;o++){n+=p[o]}return n},collect:function(l,p,n){var i=this.extractValues(l,p),t=i.length,s={},r=[],m,o,q;for(q=0;q<t;q++){m=i[q];o=String(m);if((n||!Ext.isEmpty(m))&&!s[o]){s[o]=true;r.push(m)}}return r},extractValues:function(f,e){var d=this.items;if(e){d=Ext.Array.pluck(d,e)}return Ext.Array.pluck(d,f)},getRange:function(i,h){var j=this,l=j.items,g=[],k;if(l.length<1){return g}i=i||0;h=Math.min(typeof h=="undefined"?j.length-1:h,j.length-1);if(i<=h){for(k=i;k<=h;k++){g[g.length]=l[k]}}else{for(k=i;k>=h;k--){g[g.length]=l[k]}}return g},filter:function(k,l,i,h){var g=[],j;if(Ext.isString(k)){g.push(Ext.create("Ext.util.Filter",{property:k,value:l,anyMatch:i,caseSensitive:h}))}else{if(Ext.isArray(k)||k instanceof Ext.util.Filter){g=g.concat(k)}}j=function(f){var a=true,o=g.length,e;for(e=0;e<o;e++){var b=g[e],c=b.filterFn,d=b.scope;a=a&&c.call(d,f)}return a};return this.filterBy(j)},filterBy:function(n,o){var k=this,j=new this.self(),l=k.keys,i=k.items,m=i.length,p;j.getKey=k.getKey;for(p=0;p<m;p++){if(n.call(o||k,i[p],l[p])){j.add(l[p],i[p])}}return j},findIndex:function(j,f,h,i,g){if(Ext.isEmpty(f,false)){return -1}f=this.createValueMatcher(f,i,g);return this.findIndexBy(function(a){return a&&f.test(a[j])},null,h)},findIndexBy:function(n,o,k){var l=this,m=l.keys,i=l.items,p=k||0,j=i.length;for(;p<j;p++){if(n.call(o||l,i[p],m[p])){return p}}return -1},createValueMatcher:function(j,h,g,f){if(!j.exec){var i=Ext.String.escapeRegex;j=String(j);if(h===true){j=i(j)}else{j="^"+i(j);if(f===true){j+="$"}}j=new RegExp(j,g?"":"i")}return j},clone:function(){var j=this,i=new this.self(),k=j.keys,g=j.items,l=0,h=g.length;for(;l<h;l++){i.add(k[l],g[l])}i.getKey=j.getKey;return i}});Ext.define("Ext.data.SortTypes",{singleton:true,none:function(b){return b},stripTagsRE:/<\/?[^>]+>/gi,asText:function(b){return String(b).replace(this.stripTagsRE,"")},asUCText:function(b){return String(b).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(b){return String(b).toUpperCase()},asDate:function(b){if(!b){return 0}if(Ext.isDate(b)){return b.getTime()}return Date.parse(String(b))},asFloat:function(d){var c=parseFloat(String(d).replace(/,/g,""));return isNaN(c)?0:c},asInt:function(d){var c=parseInt(String(d).replace(/,/g,""),10);return isNaN(c)?0:c}});Ext.define("Ext.util.Grouper",{extend:"Ext.util.Sorter",getGroupString:function(b){return b.get(this.property)}});Ext.define("Ext.util.Animate",{uses:["Ext.fx.Manager","Ext.fx.Anim"],animate:function(d){var c=this;if(Ext.fx.Manager.hasFxBlock(c.id)){return c}Ext.fx.Manager.queueFx(Ext.create("Ext.fx.Anim",c.anim(d)));return this},anim:function(d){if(!Ext.isObject(d)){return(d)?{}:false}var c=this;if(d.stopAnimation){c.stopAnimation()}Ext.applyIf(d,Ext.fx.Manager.getFxDefaults(c.id));return Ext.apply({target:c,paused:true},d)},stopFx:Ext.Function.alias(Ext.util.Animate,"stopAnimation"),stopAnimation:function(){Ext.fx.Manager.stopAnimation(this.id);return this},syncFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:true});return this},sequenceFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:false});return this},hasActiveFx:Ext.Function.alias(Ext.util.Animate,"getActiveAnimation"),getActiveAnimation:function(){return Ext.fx.Manager.getActiveAnimation(this.id)}},function(){Ext.applyIf(Ext.Element.prototype,this.prototype);Ext.CompositeElementLite.importElementMethods()});Ext.define("Ext.AbstractManager",{requires:["Ext.util.HashMap"],typeName:"type",constructor:function(b){Ext.apply(this,b||{});this.all=Ext.create("Ext.util.HashMap");this.types={}},get:function(b){return this.all.get(b)},register:function(f){var d=this.all,e=d.getKey(f);if(d.containsKey(e)){Ext.Error.raise('Registering duplicate id "'+e+'" with this manager')}this.all.add(f)},unregister:function(b){this.all.remove(b)},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c},isRegistered:function(b){return this.types[b]!==undefined},create:function(f,g){var e=f[this.typeName]||f.type||g,h=this.types[e];if(h===undefined){Ext.Error.raise("The '"+e+"' type has not been registered with this manager")}return new h(f)},onAvailable:function(h,j,f){var g=this.all,i;if(g.containsKey(h)){i=g.get(h);j.call(f||i,i)}else{g.on("add",function(a,c,b){if(c==h){j.call(f||b,b);g.un("add",j,f)}})}},each:function(c,d){this.all.each(c,d||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.data.Association",{primaryKey:"id",defaultReaderType:"json",statics:{create:function(b){if(!b.isAssociation){if(Ext.isString(b)){b={type:b}}switch(b.type){case"belongsTo":return Ext.create("Ext.data.BelongsToAssociation",b);case"hasMany":return Ext.create("Ext.data.HasManyAssociation",b);default:Ext.Error.raise('Unknown Association type: "'+b.type+'"')}}return b}},constructor:function(h){Ext.apply(this,h);var n=Ext.ModelManager.types,m=h.ownerModel,k=h.associatedModel,l=n[m],j=n[k],i;if(l===undefined){Ext.Error.raise("The configured ownerModel was not valid (you tried "+m+")")}if(j===undefined){Ext.Error.raise("The configured associatedModel was not valid (you tried "+k+")")}this.ownerModel=l;this.associatedModel=j;Ext.applyIf(this,{ownerName:m,associatedName:k})},getReader:function(){var f=this,e=f.reader,d=f.associatedModel;if(e){if(Ext.isString(e)){e={type:e}}if(e.isReader){e.setModel(d)}else{Ext.applyIf(e,{model:d,type:f.defaultReaderType})}f.reader=Ext.createByAlias("reader."+e.type,e)}return f.reader||null}});Ext.define("Ext.data.IdGenerator",{isGenerator:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.id){Ext.data.IdGenerator.all[c.id]=c}},getRecId:function(b){return b.modelName+"-"+b.internalId},statics:{all:{},get:function(f){var h,g,e;if(typeof f=="string"){g=e=f;f=null}else{if(f.isGenerator){return f}else{g=f.id||f.type;e=f.type}}h=this.all[g];if(!h){h=Ext.create("idgen."+e,f)}return h}}});Ext.define("Ext.data.validations",{singleton:true,presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address",emailRe:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,presence:function(d,c){if(c===undefined){c=d}return !!c||c===0},length:function(f,h){if(h===undefined||h===null){return false}var i=h.length,j=f.min,g=f.max;if((j&&i<j)||(g&&i>g)){return false}else{return true}},email:function(c,d){return Ext.data.validations.emailRe.test(d)},format:function(d,c){return !!(d.matcher&&d.matcher.test(c))},inclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)!=-1},exclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)==-1}});Ext.define("Docs.view.cls.Logic",{showPrivateClasses:false,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.dd.StatusProxy",{animRepair:false,constructor:function(b){Ext.apply(this,b);this.id=this.id||Ext.id();this.proxy=Ext.createWidget("component",{floating:true,stateful:false,id:this.id,html:'<div class="'+Ext.baseCSSPrefix+'dd-drop-icon"></div><div class="'+Ext.baseCSSPrefix+'dd-drag-ghost"></div>',cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:!b||b.shadow!==false,renderTo:document.body});this.el=this.proxy.el;this.el.show();this.el.setVisibilityMode(Ext.Element.VISIBILITY);this.el.hide();this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(b){b=b||this.dropNotAllowed;if(this.dropStatus!=b){this.el.replaceCls(this.dropStatus,b);this.dropStatus=b}},reset:function(b){this.el.dom.className=Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(b){this.ghost.update("")}},update:function(d){if(typeof d=="string"){this.ghost.update(d)}else{this.ghost.update("");d.style.margin="0";this.ghost.dom.appendChild(d)}var c=this.ghost.dom.firstChild;if(c){Ext.fly(c).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(b){this.proxy.hide();if(b){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.proxy.show();this.proxy.toFront()},sync:function(){this.proxy.el.sync()},repair:function(d,f,e){this.callback=f;this.scope=e;if(d&&this.animRepair!==false){this.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.animate({duration:this.repairDuration||500,easing:"ease-out",to:{x:d[0],y:d[1]},stopAnimation:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.proxy,this.el)}});Ext.define("Ext.fx.target.Target",{isAnimTarget:true,constructor:function(b){this.target=b;this.id=this.getId()},getId:function(){return this.target.id}});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:0.2,constructor:function(i,j,g){var f=this,h=Ext.Number.constrain;f.r=h(i,0,255);f.g=h(j,0,255);f.b=h(g,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var b=this;return[b.r,b.g,b.b]},getHSL:function(){var o=this,t=o.r/255,p=o.g/255,l=o.b/255,h=Math.max(t,p,l),r=Math.min(t,p,l),g=h-r,q,b=0,s=0.5*(h+r);if(r!=h){b=(s<0.5)?g/(h+r):g/(2-h-r);if(t==h){q=60*(p-l)/g}else{if(p==h){q=120+60*(l-t)/g}else{q=240+60*(t-p)/g}}if(q<0){q+=360}if(q>=360){q-=360}}return[q,b,s]},getLighter:function(c){var d=this.getHSL();c=c||this.lightnessFactor;d[2]=Ext.Number.constrain(d[2]+c,0,1);return this.fromHSL(d[0],d[1],d[2])},getDarker:function(b){b=b||this.lightnessFactor;return this.getLighter(-b)},toString:function(){var g=this,j=Math.round,h=j(g.r).toString(16),i=j(g.g).toString(16),b=j(g.b).toString(16);h=(h.length==1)?"0"+h:h;i=(i.length==1)?"0"+i:i;b=(b.length==1)?"0"+b:b;return["#",h,i,b].join("")},toHex:function(g){if(Ext.isArray(g)){g=g[0]}if(!Ext.isString(g)){return""}if(g.substr(0,1)==="#"){return g}var j=this.colorToHexRe.exec(g);if(Ext.isArray(j)){var i=parseInt(j[2],10),k=parseInt(j[3],10),h=parseInt(j[4],10),l=h|(k<<8)|(i<<16);return j[1]+"#"+("000000"+l.toString(16)).slice(-6)}else{return""}},fromString:function(g){var l,j,k,b,i=parseInt;if((g.length==4||g.length==7)&&g.substr(0,1)==="#"){l=g.match(this.hexRe);if(l){j=i(l[1],16)>>0;k=i(l[2],16)>>0;b=i(l[3],16)>>0;if(g.length==4){j+=(j*16);k+=(k*16);b+=(b*16)}}}else{l=g.match(this.rgbRe);if(l){j=l[1];k=l[2];b=l[3]}}return(typeof j=="undefined")?undefined:Ext.create("Ext.draw.Color",j,k,b)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(o,h,q){var t,s,r,p,l=[],i=Math.abs,m=Math.floor;if(h==0||o==null){l=[q,q,q]}else{o/=60;t=h*(1-i(2*q-1));s=t*(1-i(o-2*m(o/2)-1));r=q-t/2;switch(m(o)){case 0:l=[t,s,0];break;case 1:l=[s,t,0];break;case 2:l=[0,t,s];break;case 3:l=[0,s,t];break;case 4:l=[s,0,t];break;case 5:l=[t,0,s];break}l=[l[0]+r,l[1]+r,l[2]+r]}return Ext.create("Ext.draw.Color",l[0]*255,l[1]*255,l[2]*255)}},function(){var b=this.prototype;this.addStatics({fromHSL:function(){return b.fromHSL.apply(b,arguments)},fromString:function(){return b.fromString.apply(b,arguments)},toHex:function(){return b.toHex.apply(b,arguments)}})});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,onRemove:Ext.emptyFn,getItem:function(b){return this.layout.owner.getComponent(b)},onRemove:Ext.emptyFn});Ext.define("Ext.state.Provider",{mixins:{observable:"Ext.util.Observable"},prefix:"ext-",constructor:function(d){d=d||{};var c=this;Ext.apply(c,d);c.addEvents("statechange");c.state={};c.mixins.observable.constructor.call(c)},get:function(c,d){return typeof this.state[c]=="undefined"?d:this.state[c]},clear:function(d){var c=this;delete c.state[d];c.fireEvent("statechange",c,d,null)},set:function(e,f){var d=this;d.state[e]=f;d.fireEvent("statechange",d,e,f)},decodeValue:function(k){var m=this,n=/^(a|n|d|b|s|o|e)\:(.*)$/,l=n.exec(unescape(k)),h,i,k,j;if(!l||!l[1]){return}i=l[1];k=l[2];switch(i){case"e":return null;case"n":return parseFloat(k);case"d":return new Date(Date.parse(k));case"b":return(k=="1");case"a":h=[];if(k!=""){Ext.each(k.split("^"),function(a){h.push(m.decodeValue(a))},m)}return h;case"o":h={};if(k!=""){Ext.each(k.split("^"),function(a){j=a.split("=");h[j[0]]=m.decodeValue(j[1])},m)}return h;default:return k}},encodeValue:function(j){var i="",k=0,g,h,l;if(j==null){return"e:1"}else{if(typeof j=="number"){g="n:"+j}else{if(typeof j=="boolean"){g="b:"+(j?"1":"0")}else{if(Ext.isDate(j)){g="d:"+j.toGMTString()}else{if(Ext.isArray(j)){for(h=j.length;k<h;k++){i+=this.encodeValue(j[k]);if(k!=h-1){i+="^"}}g="a:"+i}else{if(typeof j=="object"){for(l in j){if(typeof j[l]!="function"&&j[l]!==undefined){i+=l+"="+this.encodeValue(j[l])+"^"}}g="o:"+i.substring(0,i.length-1)}else{g="s:"+j}}}}}}return escape(g)}});Ext.define("Ext.data.Connection",{mixins:{observable:"Ext.util.Observable"},statics:{requestId:0},url:null,async:true,method:null,username:"",password:"",disableCaching:true,withCredentials:false,cors:false,disableCachingParam:"_dc",timeout:30000,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",constructor:function(b){b=b||{};Ext.apply(this,b);this.addEvents("beforerequest","requestcomplete","requestexception");this.requests={};this.mixins.observable.constructor.call(this)},request:function(k){k=k||{};var o=this,l=k.scope||window,p=k.username||o.username,n=k.password||o.password||"",s,r,q,t,m;if(o.fireEvent("beforerequest",o,k)!==false){r=o.setOptions(k,l);if(this.isFormUpload(k)===true){this.upload(k.form,r.url,r.data,k);return null}if(k.autoAbort===true||o.autoAbort){o.abort()}if((k.cors===true||o.cors===true)&&Ext.isIe&&Ext.ieVersion>=8){m=new XDomainRequest()}else{m=this.getXhrInstance()}s=k.async!==false?(k.async||o.async):false;if(p){m.open(r.method,r.url,s,p,n)}else{m.open(r.method,r.url,s)}if(k.withCredentials===true||o.withCredentials===true){m.withCredentials=true}t=o.setupHeaders(m,k,r.data,r.params);q={id:++Ext.data.Connection.requestId,xhr:m,headers:t,options:k,async:s,timeout:setTimeout(function(){q.timedout=true;o.abort(q)},k.timeout||o.timeout)};o.requests[q.id]=q;o.latestId=q.id;if(s){m.onreadystatechange=Ext.Function.bind(o.onStateChange,o,[q])}m.send(r.data);if(!s){return this.onComplete(q)}return q}else{Ext.callback(k.callback,k.scope,[k,undefined,undefined]);return null}},upload:function(q,s,m,k){q=Ext.getDom(q);k=k||{};var r=Ext.id(),o=document.createElement("iframe"),l=[],n="multipart/form-data",p={target:q.target,method:q.method,encoding:q.encoding,enctype:q.enctype,action:q.action},t;Ext.fly(o).set({id:r,name:r,cls:Ext.baseCSSPrefix+"hide-display",src:Ext.SSL_SECURE_URL});document.body.appendChild(o);if(document.frames){document.frames[r].name=r}Ext.fly(q).set({target:r,method:"POST",enctype:n,encoding:n,action:s||p.action});if(m){Ext.iterate(Ext.Object.fromQueryString(m),function(b,a){t=document.createElement("input");Ext.fly(t).set({type:"hidden",value:a,name:b});q.appendChild(t);l.push(t)})}Ext.fly(o).on("load",Ext.Function.bind(this.onUploadComplete,this,[o,k]),null,{single:true});q.submit();Ext.fly(q).set(p);Ext.each(l,function(a){Ext.removeNode(a)})},onUploadComplete:function(j,e){var n=this,i={responseText:"",responseXML:null},k,l;try{k=j.contentWindow.document||j.contentDocument||window.frames[j.id].document;if(k){if(k.body){if(/textarea/i.test((l=k.body.firstChild||{}).tagName)){i.responseText=l.value}else{i.responseText=k.body.innerHTML}}i.responseXML=k.XMLDocument||k}}catch(m){}n.fireEvent("requestcomplete",n,i,e);Ext.callback(e.success,e.scope,[i,e]);Ext.callback(e.callback,e.scope,[e,true,i]);setTimeout(function(){Ext.removeNode(j)},100)},isFormUpload:function(d){var c=this.getForm(d);if(c){return(d.isUpload||(/multipart\/form-data/i).test(c.getAttribute("enctype")))}return false},getForm:function(b){return Ext.getDom(b.form)||null},setOptions:function(l,m){var o=this,r=l.params||{},p=o.extraParams,s=l.urlParams,t=l.url||o.url,n=l.jsonData,u,v,q;if(Ext.isFunction(r)){r=r.call(m,l)}if(Ext.isFunction(t)){t=t.call(m,l)}t=this.setupUrl(l,t);if(!t){Ext.Error.raise({options:l,msg:"No URL specified"})}q=l.rawData||l.xmlData||n||null;if(n&&!Ext.isPrimitive(n)){q=Ext.encode(q)}if(Ext.isObject(r)){r=Ext.Object.toQueryString(r)}if(Ext.isObject(p)){p=Ext.Object.toQueryString(p)}r=r+((p)?((r)?"&":"")+p:"");s=Ext.isObject(s)?Ext.Object.toQueryString(s):s;r=this.setupParams(l,r);u=(l.method||o.method||((r||q)?"POST":"GET")).toUpperCase();this.setupMethod(l,u);v=l.disableCaching!==false?(l.disableCaching||o.disableCaching):false;if(u==="GET"&&v){t=Ext.urlAppend(t,(l.disableCachingParam||o.disableCachingParam)+"="+(new Date().getTime()))}if((u=="GET"||q)&&r){t=Ext.urlAppend(t,r);r=null}if(s){t=Ext.urlAppend(t,s)}return{url:t,method:u,data:q||r||null}},setupUrl:function(d,e){var f=this.getForm(d);if(f){e=e||f.action}return e},setupParams:function(f,g){var h=this.getForm(f),e;if(h&&!this.isFormUpload(f)){e=Ext.Element.serializeForm(h);g=g?(g+"&"+e):e}return g},setupMethod:function(d,c){if(this.isFormUpload(d)){return"POST"}return c},setupHeaders:function(n,e,u,v){var r=this,w=Ext.apply({},e.headers||{},r.defaultHeaders||{}),o=r.defaultPostHeader,q=e.jsonData,x=e.xmlData,p,t;if(!w["Content-Type"]&&(u||v)){if(u){if(e.rawData){o="text/plain"}else{if(x&&Ext.isDefined(x)){o="text/xml"}else{if(q&&Ext.isDefined(q)){o="application/json"}}}}w["Content-Type"]=o}if(r.useDefaultXhrHeader&&!w["X-Requested-With"]){w["X-Requested-With"]=r.defaultXhrHeader}try{for(p in w){if(w.hasOwnProperty(p)){t=w[p];n.setRequestHeader(p,t)}}}catch(s){r.fireEvent("exception",p,t)}return w},getXhrInstance:(function(){var e=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],j=0,g=e.length,h;for(;j<g;++j){try{h=e[j];h();break}catch(i){}}return h})(),isLoading:function(d){if(!d){d=this.getLatest()}if(!(d&&d.xhr)){return false}var c=d.xhr.readyState;return !(c===0||c==4)},abort:function(c){var d=this;if(!c){c=d.getLatest()}if(c&&d.isLoading(c)){c.xhr.onreadystatechange=null;c.xhr.abort();d.clearTimeout(c);if(!c.timedout){c.aborted=true}d.onComplete(c);d.cleanup(c)}},abortAll:function(){var c=this.requests,d;for(d in c){if(c.hasOwnProperty(d)){this.abort(c[d])}}},getLatest:function(){var c=this.latestId,d;if(c){d=this.requests[c]}return d||null},onStateChange:function(b){if(b.xhr.readyState==4){this.clearTimeout(b);this.onComplete(b);this.cleanup(b)}},clearTimeout:function(b){clearTimeout(b.timeout);delete b.timeout},cleanup:function(b){b.xhr=null;delete b.xhr},onComplete:function(l){var m=this,n=l.options,i,j,e;try{i=m.parseStatus(l.xhr.status)}catch(k){i={success:false,isException:false}}j=i.success;if(j){e=m.createResponse(l);m.fireEvent("requestcomplete",m,e,n);Ext.callback(n.success,n.scope,[e,n])}else{if(i.isException||l.aborted||l.timedout){e=m.createException(l)}else{e=m.createResponse(l)}m.fireEvent("requestexception",m,e,n);Ext.callback(n.failure,n.scope,[e,n])}Ext.callback(n.callback,n.scope,[n,j,e]);delete m.requests[l.id];return e},parseStatus:function(e){e=e==1223?204:e;var f=(e>=200&&e<300)||e==304,d=false;if(!f){switch(e){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:d=true;break}}return{success:f,isException:d}},createResponse:function(r){var m=r.xhr,t={},l=m.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),q=l.length,k,p,n,o,s;while(q--){k=l[q];p=k.indexOf(":");if(p>=0){n=k.substr(0,p).toLowerCase();if(k.charAt(p+1)==" "){++p}t[n]=k.substr(p+1)}}r.xhr=null;delete r.xhr;s={request:r,requestId:r.id,status:m.status,statusText:m.statusText,getResponseHeader:function(a){return t[a.toLowerCase()]},getAllResponseHeaders:function(){return t},responseText:m.responseText,responseXML:m.responseXML};m=null;return s},createException:function(b){return{request:b,requestId:b.id,status:b.aborted?-1:0,statusText:b.aborted?"transaction aborted":"communication failure",aborted:b.aborted,timedout:b.timedout}}});Ext.define("Ext.util.Offset",{statics:{fromObject:function(b){return new this(b.x,b.y)}},constructor:function(d,c){this.x=(d!=null&&!isNaN(d))?d:0;this.y=(c!=null&&!isNaN(c))?c:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(b){this.x=b.x;this.y=b.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(b){if(!(b instanceof this.statics())){Ext.Error.raise("Offset must be an instance of Ext.util.Offset")}return(this.x==b.x&&this.y==b.y)},round:function(c){if(!isNaN(c)){var d=Math.pow(10,c);this.x=Math.round(this.x*d)/d;this.y=Math.round(this.y*d)/d}else{this.x=Math.round(this.x);this.y=Math.round(this.y)}},isZero:function(){return this.x==0&&this.y==0}});Ext.define("Ext.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",constructor:function(b){Ext.apply(this,b)},write:function(j){var l=j.operation,g=l.records||[],h=g.length,k=0,i=[];for(;k<h;k++){i.push(this.getRecordData(g[k]))}return this.writeRecords(j,i)},getRecordData:function(p){var l=p.phantom===true,s=this.writeAllFields||l,r=this.nameProperty,o=p.fields,q={},m,t,n,k;if(s){o.each(function(a){if(a.persist){t=a[r]||a.name;q[t]=p.get(a.name)}})}else{m=p.getChanges();for(k in m){if(m.hasOwnProperty(k)){n=o.get(k);t=n[r]||n.name;q[t]=m[k]}}if(!l){q[p.idProperty]=p.getId()}}return q}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(b){Ext.apply(this,b);this.totalRecords=this.total;if(b.count===undefined){this.count=this.records.length}}});Ext.define("Ext.grid.plugin.DragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.gridviewdragdrop",uses:["Ext.view.DragZone","Ext.grid.ViewDropZone"],dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:true,enableDrag:true,init:function(b){b.on("render",this.onViewRender,this,{single:true})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},enable:function(){var b=this;if(b.dragZone){b.dragZone.unlock()}if(b.dropZone){b.dropZone.unlock()}b.callParent()},disable:function(){var b=this;if(b.dragZone){b.dragZone.lock()}if(b.dropZone){b.dropZone.lock()}b.callParent()},onViewRender:function(d){var c=this;if(c.enableDrag){c.dragZone=Ext.create("Ext.view.DragZone",{view:d,ddGroup:c.dragGroup||c.ddGroup,dragText:c.dragText})}if(c.enableDrop){c.dropZone=Ext.create("Ext.grid.ViewDropZone",{view:d,ddGroup:c.dropGroup||c.ddGroup})}}});Ext.define("Ext.util.ClickRepeater",{extend:"Ext.util.Observable",constructor:function(c,d){this.el=Ext.get(c);this.el.unselectable();Ext.apply(this,d);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}this.callParent()},interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE){this.el.on("dblclick",this.handleDblClick,this)}if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(b){if(b||!this.disabled){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(b){this[b?"disable":"enable"]()},eventOptions:function(b){if(this.preventDefault){b.preventDefault()}if(this.stopDefault){b.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.clearListeners()},handleDblClick:function(b){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b)},handleMouseDown:function(b){clearTimeout(this.timer);this.el.blur();if(this.pressedCls){this.el.addCls(this.pressedCls)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b);if(this.accelerate){this.delay=400}b=new Ext.EventObjectImpl(b);this.timer=Ext.defer(this.click,this.delay||this.interval,this,[b])},click:function(b){this.fireEvent("click",this,b);this.timer=Ext.defer(this.click,this.accelerate?this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime),400,-390,12000):this.interval,this,[b])},easeOutExpo:function(h,b,c,d){return(h==d)?b+c:c*(-Math.pow(2,-10*h/d)+1)+b},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressedCls){this.el.addCls(this.pressedCls)}this.click()},handleMouseUp:function(b){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.fireEvent("mouseup",this,b)}});Ext.define("Ext.data.Tree",{alias:"data.tree",mixins:{observable:"Ext.util.Observable"},root:null,constructor:function(d){var c=this;c.mixins.observable.constructor.call(c);if(d){c.setRootNode(d)}},getRootNode:function(){return this.root},setRootNode:function(c){var d=this;d.root=c;Ext.data.NodeInterface.decorate(c);if(d.fireEvent("beforeappend",null,c)!==false){c.set("root",true);c.updateInfo();d.relayEvents(c,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);c.on({scope:d,insert:d.onNodeInsert,append:d.onNodeAppend,remove:d.onNodeRemove});d.nodeHash={};d.registerNode(c);d.fireEvent("append",null,c);d.fireEvent("rootchange",c)}return c},flatten:function(){var e=[],f=this.nodeHash,d;for(d in f){if(f.hasOwnProperty(d)){e.push(f[d])}}return e},onNodeInsert:function(d,c){this.registerNode(c,true)},onNodeAppend:function(d,c){this.registerNode(c,true)},onNodeRemove:function(d,c){this.unregisterNode(c,true)},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(c,d){this.nodeHash[c.getId()||c.internalId]=c;if(d===true){c.eachChild(function(a){this.registerNode(a,true)},this)}},unregisterNode:function(c,d){delete this.nodeHash[c.getId()||c.internalId];if(d===true){c.eachChild(function(a){this.unregisterNode(a,true)},this)}},sort:function(c,d){this.getRootNode().sort(c,d)},filter:function(c,d){this.getRootNode().filter(c,d)}});Ext.define("Docs.Settings",{extend:"Docs.LocalStore",storeName:"Settings",singleton:true,defaults:{show:{"public":true,"protected":false,"private":false,deprecated:false,removed:false,inherited:true,accessor:true},showPrivateClasses:false,classTreeLogic:"PackageLogic"},set:function(d,f){var e=this.store.findExact("key",d);if(e>-1){this.store.removeAt(e)}this.store.add({key:d,value:f});this.syncStore()},get:function(c){var d=this.store.findExact("key",c);return d>-1?this.store.getAt(d).get("value"):this.defaults[c]}});Ext.define("Ext.XTemplate",{extend:"Ext.Template",argsRe:/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,nameRe:/^<tpl\b[^>]*?for="(.*?)"/,ifRe:/^<tpl\b[^>]*?if="(.*?)"/,execRe:/^<tpl\b[^>]*?exec="(.*?)"/,constructor:function(){this.callParent(arguments);var m=this,M=m.html,B=m.argsRe,R=m.nameRe,D=m.ifRe,z=m.execRe,H=0,L=[],I="values",A="parent",K="xindex",J="xcount",Q="return ",S="with(values){ ",G,O,C,T,P,N,F,i,E;M=["<tpl>",M,"</tpl>"].join("");while((G=M.match(B))){P=null;N=null;F=null;O=G[0].match(R);C=G[0].match(D);T=G[0].match(z);P=C?C[1]:null;if(P){N=Ext.functionFactory(I,A,K,J,S+"try{"+Q+Ext.String.htmlDecode(P)+";}catch(e){return;}}")}P=T?T[1]:null;if(P){F=Ext.functionFactory(I,A,K,J,S+Ext.String.htmlDecode(P)+";}")}i=O?O[1]:null;if(i){if(i==="."){i=I}else{if(i===".."){i=A}}i=Ext.functionFactory(I,A,"try{"+S+Q+i+";}}catch(e){return;}")}L.push({id:H,target:i,exec:F,test:N,body:G[1]||""});M=M.replace(G[0],"{xtpl"+H+"}");H=H+1}for(E=L.length-1;E>=0;--E){m.compileTpl(L[E])}m.master=L[L.length-1];m.tpls=L},applySubTemplate:function(j,i,n,l,k){var m=this,h=m.tpls[j];return h.compiled.call(m,i,n,l,k)},codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?\}/g,compileTpl:function(tpl){var fm=Ext.util.Format,me=this,useFormat=me.disableFormats!==true,body,bodyReturn,evaluatedFn;function fn(m,name,format,args,math){var v;if(name.substr(0,4)=="xtpl"){return"',this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount),'"}if(name=="."){v='Ext.Array.indexOf(["string", "number", "boolean"], typeof values) > -1 || Ext.isDate(values) ? values : ""'}else{if(name=="#"){v="xindex"}else{if(name.substr(0,7)=="parent."){v=name}else{if(name.indexOf(".")!=-1){v="values."+name}else{v="values['"+name+"']"}}}}if(math){v="("+v+math+")"}if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="("+v+" === undefined ? '' : "}return"',"+format+v+args+"),'"}function codeFn(m,code){return"',("+code.replace(me.compileARe,"'")+"),'"}bodyReturn=tpl.body.replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn).replace(me.codeRe,codeFn);body="evaluatedFn = function(values, parent, xindex, xcount){return ['"+bodyReturn+"'].join('');};";eval(body);tpl.compiled=function(values,parent,xindex,xcount){var vs,length,buffer,i;if(tpl.test&&!tpl.test.call(me,values,parent,xindex,xcount)){return""}vs=tpl.target?tpl.target.call(me,values,parent):values;if(!vs){return""}parent=tpl.target?values:parent;if(tpl.target&&Ext.isArray(vs)){buffer=[];length=vs.length;if(tpl.exec){for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length);tpl.exec.call(me,vs[i],parent,i+1,length)}}else{for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length)}}return buffer.join("")}if(tpl.exec){tpl.exec.call(me,vs,parent,xindex,xcount)}return evaluatedFn.call(me,vs,parent,xindex,xcount)};return this},applyTemplate:function(b){return this.master.compiled.call(this,b,{},1,1)},compile:function(){return this}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.layout.container.AbstractContainer",{extend:"Ext.layout.Layout",type:"container",bindToOwnerCtComponent:false,bindToOwnerCtContainer:false,setItemSize:function(f,d,e){if(Ext.isObject(d)){e=d.height;d=d.width}f.setCalculatedSize(d,e,this.owner)},getLayoutItems:function(){return this.owner&&this.owner.items&&this.owner.items.items||[]},beforeLayout:function(){return !this.owner.collapsed&&this.callParent(arguments)},afterLayout:function(){this.owner.afterLayout(this)},getTarget:function(){return this.owner.getTargetEl()},getRenderTarget:function(){return this.owner.getTargetEl()}});Ext.define("Ext.layout.container.Container",{extend:"Ext.layout.container.AbstractContainer",alternateClassName:"Ext.layout.ContainerLayout",layoutItem:function(c,d){if(d){c.doComponentLayout(d.width,d.height)}else{c.doComponentLayout()}},getLayoutTargetSize:function(){var c=this.getTarget(),d;if(c){d=c.getViewSize();if(Ext.isIE&&d.width==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},beforeLayout:function(){if(this.owner.beforeLayout(arguments)!==false){return this.callParent(arguments)}else{return false}},getRenderedItems:function(){var l=this,j=l.getTarget(),i=l.getLayoutItems(),m=i.length,k=[],h,n;for(h=0;h<m;h++){n=i[h];if(n.rendered&&l.isValidParent(n,j,h)){k.push(n)}}return k},getVisibleItems:function(){var i=this.getTarget(),g=this.getLayoutItems(),j=g.length,h=[],l,k;for(l=0;l<j;l++){k=g[l];if(k.rendered&&this.isValidParent(k,i,l)&&k.hidden!==true){h.push(k)}}return h}});Ext.ns("Ext.fx");Ext.require("Ext.fx.CubicBezier",function(){var l=Math,j=l.PI,m=l.pow,h=l.sin,k=l.sqrt,i=l.abs,n=1.70158;Ext.fx.Easing={};Ext.apply(Ext.fx.Easing,{linear:function(a){return a},ease:function(f){var s=0.07813-f/2,e=-0.25,d=k(0.0066+s*s),b=d-s,g=m(i(b),1/3)*(b<0?-1:1),c=-d-s,q=m(i(c),1/3)*(c<0?-1:1),a=g+q+0.25;return m(1-a,2)*3*a*0.1+(1-a)*3*a*a+a*a*a},easeIn:function(a){return m(a,1.7)},easeOut:function(a){return m(a,0.48)},easeInOut:function(g){var c=0.48-g/1.04,d=k(0.1734+c*c),f=d-c,q=m(i(f),1/3)*(f<0?-1:1),a=-d-c,b=m(i(a),1/3)*(a<0?-1:1),e=q+b+0.5;return(1-e)*3*e*e+e*e*e},backIn:function(a){return a*a*((n+1)*a-n)},backOut:function(a){a=a-1;return a*a*((n+1)*a+n)+1},elasticIn:function(a){if(a===0||a===1){return a}var b=0.3,c=b/4;return m(2,-10*a)*h((a-c)*(2*j)/b)+1},elasticOut:function(a){return 1-Ext.fx.Easing.elasticIn(1-a)},bounceIn:function(a){return 1-Ext.fx.Easing.bounceOut(1-a)},bounceOut:function(a){var c=7.5625,b=2.75,d;if(a<(1/b)){d=c*a*a}else{if(a<(2/b)){a-=(1.5/b);d=c*a*a+0.75}else{if(a<(2.5/b)){a-=(2.25/b);d=c*a*a+0.9375}else{a-=(2.625/b);d=c*a*a+0.984375}}}return d}});Ext.apply(Ext.fx.Easing,{"back-in":Ext.fx.Easing.backIn,"back-out":Ext.fx.Easing.backOut,"ease-in":Ext.fx.Easing.easeIn,"ease-out":Ext.fx.Easing.easeOut,"elastic-in":Ext.fx.Easing.elasticIn,"elastic-out":Ext.fx.Easing.elasticIn,"bounce-in":Ext.fx.Easing.bounceIn,"bounce-out":Ext.fx.Easing.bounceOut,"ease-in-out":Ext.fx.Easing.easeInOut})});Ext.define("Ext.util.Sortable",{isSortable:true,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var d=this,c=d.sorters;d.sorters=Ext.create("Ext.util.AbstractMixedCollection",false,function(a){return a.id||a.property});if(c){d.sorters.addAll(d.decodeSorters(c))}},sort:function(l,m,p,n){var o=this,k,i,j;if(Ext.isArray(l)){n=p;p=m;j=l}else{if(Ext.isObject(l)){n=p;p=m;j=[l]}else{if(Ext.isString(l)){k=o.sorters.get(l);if(!k){k={property:l,direction:m};j=[k]}else{if(m===undefined){k.toggle()}else{k.setDirection(m)}}}}}if(j&&j.length){j=o.decodeSorters(j);if(Ext.isString(p)){if(p==="prepend"){l=o.sorters.clone().items;o.sorters.clear();o.sorters.addAll(j);o.sorters.addAll(l)}else{o.sorters.addAll(j)}}else{o.sorters.clear();o.sorters.addAll(j)}}if(n!==false){o.onBeforeSort(j);l=o.sorters.items;if(l.length){i=function(b,c){var d=l[0].sort(b,c),e=l.length,a;for(a=1;a<e;a++){d=d||l[a].sort.call(this,b,c)}return d};o.doSort(i)}}return l},onBeforeSort:Ext.emptyFn,decodeSorters:function(k){if(!Ext.isArray(k)){if(k===undefined){k=[]}else{k=[k]}}var m=k.length,j=Ext.util.Sorter,i=this.model?this.model.prototype.fields:null,l,h,n;for(n=0;n<m;n++){h=k[n];if(!(h instanceof j)){if(Ext.isString(h)){h={property:h}}Ext.applyIf(h,{root:this.sortRoot,direction:"ASC"});if(h.fn){h.sorterFn=h.fn}if(typeof h=="function"){h={sorterFn:h}}if(i&&!h.transform){l=i.get(h.property);h.transform=l?l.sortType:undefined}k[n]=Ext.create("Ext.util.Sorter",h)}}return k},getSorters:function(){return this.sorters.items}});Ext.define("Ext.util.MixedCollection",{extend:"Ext.util.AbstractMixedCollection",mixins:{sortable:"Ext.util.Sortable"},constructor:function(){var b=this;b.callParent(arguments);b.addEvents("sort");b.mixins.sortable.initSortable.call(b)},doSort:function(b){this.sortBy(b)},_sort:function(i,t,m){var n=this,r,q,s=String(t).toUpperCase()=="DESC"?-1:1,o=[],c=n.keys,p=n.items;m=m||function(a,b){return a-b};for(r=0,q=p.length;r<q;r++){o[o.length]={key:c[r],value:p[r],index:r}}Ext.Array.sort(o,function(b,d){var a=m(b[i],d[i])*s;if(a===0){a=(b.index<d.index?-1:1)}return a});for(r=0,q=o.length;r<q;r++){p[r]=o[r].value;c[r]=o[r].key}n.fireEvent("sort",n)},sortBy:function(n){var j=this,h=j.items,k=j.keys,l=h.length,i=[],m;for(m=0;m<l;m++){i[m]={key:k[m],value:h[m],index:m}}Ext.Array.sort(i,function(b,c){var a=n(b.value,c.value);if(a===0){a=(b.index<c.index?-1:1)}return a});for(m=0;m<l;m++){h[m]=i[m].value;k[m]=i[m].key}j.fireEvent("sort",j,h,k)},reorder:function(o){var l=this,i=l.items,p=0,m=i.length,j=[],n=[],k;l.suspendEvents();for(k in o){j[o[k]]=i[k]}for(p=0;p<m;p++){if(o[p]==undefined){n.push(i[p])}}for(p=0;p<m;p++){if(j[p]==undefined){j[p]=n.shift()}}l.clear();l.addAll(j);l.resumeEvents();l.fireEvent("sort",l)},sortByKey:function(d,c){this._sort("key",d,c||function(g,h){var a=String(g).toUpperCase(),b=String(h).toUpperCase();return a>b?1:(a<b?-1:0)})}});Ext.define("Ext.data.AbstractStore",{requires:["Ext.util.MixedCollection","Ext.data.Operation","Ext.util.Filter"],mixins:{observable:"Ext.util.Observable",sortable:"Ext.util.Sortable"},statics:{create:function(b){if(!b.isStore){if(!b.type){b.type="store"}b=Ext.createByAlias("store."+b.type,b)}return b}},remoteSort:false,remoteFilter:false,autoLoad:false,autoSync:false,batchUpdateMode:"operation",filterOnLoad:true,sortOnLoad:true,implicitModel:false,defaultProxyType:"memory",isDestroyed:false,isStore:true,sortRoot:"data",constructor:function(e){var f=this,d;f.addEvents("add","remove","update","datachanged","beforeload","load","write","beforesync","clear");Ext.apply(f,e);f.removed=[];f.mixins.observable.constructor.apply(f,arguments);f.model=Ext.ModelManager.getModel(f.model);Ext.applyIf(f,{modelDefaults:{}});if(!f.model&&f.fields){f.model=Ext.define("Ext.data.Store.ImplicitModel-"+(f.storeId||Ext.id()),{extend:"Ext.data.Model",fields:f.fields,proxy:f.proxy||f.defaultProxyType});delete f.fields;f.implicitModel=true}if(!f.model){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Store defined with no model. You may have mistyped the model name.")}}f.setProxy(f.proxy||f.model.getProxy());if(f.id&&!f.storeId){f.storeId=f.id;delete f.id}if(f.storeId){Ext.data.StoreManager.register(f)}f.mixins.sortable.initSortable.call(f);d=f.decodeFilters(f.filters);f.filters=Ext.create("Ext.util.MixedCollection");f.filters.addAll(d)},setProxy:function(d){var c=this;if(d instanceof Ext.data.proxy.Proxy){d.setModel(c.model)}else{if(Ext.isString(d)){d={type:d}}Ext.applyIf(d,{model:c.model});d=Ext.createByAlias("proxy."+d.type,d)}c.proxy=d;return c.proxy},getProxy:function(){return this.proxy},create:function(h,j){var i=this,g=Ext.ModelManager.create(Ext.applyIf(h,i.modelDefaults),i.model.modelName),f;j=j||{};Ext.applyIf(j,{action:"create",records:[g]});f=Ext.create("Ext.data.Operation",j);i.proxy.create(f,i.onProxyWrite,i);return g},read:function(){return this.load.apply(this,arguments)},onProxyRead:Ext.emptyFn,update:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"update",records:f.getUpdatedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.update(e,f.onProxyWrite,f)},onProxyWrite:function(e){var h=this,g=e.wasSuccessful(),f=e.getRecords();switch(e.action){case"create":h.onCreateRecords(f,e,g);break;case"update":h.onUpdateRecords(f,e,g);break;case"destroy":h.onDestroyRecords(f,e,g);break}if(g){h.fireEvent("write",h,e);h.fireEvent("datachanged",h)}Ext.callback(e.callback,e.scope||h,[f,e,g])},destroy:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"destroy",records:f.getRemovedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.destroy(e,f.onProxyWrite,f)},onBatchOperationComplete:function(c,d){return this.onProxyWrite(d)},onBatchComplete:function(l,h){var i=this,g=l.operations,j=g.length,k;i.suspendEvents();for(k=0;k<j;k++){i.onProxyWrite(g[k])}i.resumeEvents();i.fireEvent("datachanged",i)},onBatchException:function(c,d){},filterNew:function(b){return b.phantom===true&&b.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},filterUpdated:function(b){return b.dirty===true&&b.phantom!==true&&b.isValid()},getRemovedRecords:function(){return this.removed},filter:function(d,c){},decodeFilters:function(h){if(!Ext.isArray(h)){if(h===undefined){h=[]}else{h=[h]}}var i=h.length,g=Ext.util.Filter,f,j;for(j=0;j<i;j++){f=h[j];if(!(f instanceof g)){Ext.apply(f,{root:"data"});if(f.fn){f.filterFn=f.fn}if(typeof f=="function"){f={filterFn:f}}h[j]=new g(f)}}return h},clearFilter:function(b){},isFiltered:function(){},filterBy:function(c,d){},sync:function(){var k=this,g={},j=k.getNewRecords(),l=k.getUpdatedRecords(),h=k.getRemovedRecords(),i=false;if(j.length>0){g.create=j;i=true}if(l.length>0){g.update=l;i=true}if(h.length>0){g.destroy=h;i=true}if(i&&k.fireEvent("beforesync",g)!==false){k.proxy.batch(g,k.getBatchListeners())}},getBatchListeners:function(){var c=this,d={scope:c,exception:c.onBatchException};if(c.batchUpdateMode=="operation"){d.operationcomplete=c.onBatchOperationComplete}else{d.complete=c.onBatchComplete}return d},save:function(){return this.sync.apply(this,arguments)},load:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"read",filters:f.filters.items,sorters:f.getSorters()});e=Ext.create("Ext.data.Operation",d);if(f.fireEvent("beforeload",f,e)!==false){f.loading=true;f.proxy.read(e,f.onProxyLoad,f)}return f},afterEdit:function(d){var c=this;if(c.autoSync){c.sync()}c.fireEvent("update",c,d,Ext.data.Model.EDIT)},afterReject:function(b){this.fireEvent("update",this,b,Ext.data.Model.REJECT)},afterCommit:function(b){this.fireEvent("update",this,b,Ext.data.Model.COMMIT)},clearData:Ext.emptyFn,destroyStore:function(){var b=this;if(!b.isDestroyed){if(b.storeId){Ext.data.StoreManager.unregister(b)}b.clearData();b.data=null;b.tree=null;b.reader=b.writer=null;b.clearListeners();b.isDestroyed=true;if(b.implicitModel){Ext.destroy(b.model)}}},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.data.sortBy(d);c.fireEvent("datachanged",c)}},getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return !!this.loading}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(h,e){var g=e.prototype,f;if(g&&g.isModel){f=e}else{if(!e.extend){e.extend="Ext.data.Model"}f=Ext.define(h,e)}this.types[h]=f;return f},onModelDefined:function(n){var i=this.associationStack,k=i.length,l=[],h,m,j;for(m=0;m<k;m++){h=i[m];if(h.associatedModel==n.modelName){l.push(h)}}for(m=0,k=l.length;m<k;m++){j=l[m];this.types[j.ownerModel].prototype.associations.add(Ext.data.Association.create(j));Ext.Array.remove(i,j)}},registerDeferredAssociation:function(b){this.associationStack.push(b)},getModel:function(c){var d=c;if(typeof d=="string"){d=this.types[d]}return d},create:function(h,e,g){var f=typeof e=="function"?e:this.types[e||h.name];return new f(h,g)}},function(){Ext.regModel=function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn('Ext.regModel has been deprecated. Models can now be created by extending Ext.data.Model: Ext.define("MyModel", {extend: "Ext.data.Model", fields: []});.')}return this.ModelManager.registerType.apply(this.ModelManager,arguments)}});Ext.define("Ext.data.StoreManager",{extend:"Ext.util.MixedCollection",alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:true,uses:["Ext.data.ArrayStore"],register:function(){for(var d=0,c;(c=arguments[d]);d++){this.add(c)}},unregister:function(){for(var d=0,c;(c=arguments[d]);d++){this.remove(this.lookup(c))}},lookup:function(l){if(Ext.isArray(l)){var g=["field1"],j=!Ext.isArray(l[0]),i=l,k,h;if(j){i=[];for(k=0,h=l.length;k<h;++k){i.push([l[k]])}}else{for(k=2,h=l[0].length;k<=h;++k){g.push("field"+k)}}return Ext.create("Ext.data.ArrayStore",{data:i,fields:g,autoDestroy:true,autoCreated:true,expanded:j})}if(Ext.isString(l)){return this.get(l)}else{return Ext.data.AbstractStore.create(l)}},getKey:function(b){return b.storeId}},function(){Ext.regStore=function(f,d){var e;if(Ext.isObject(f)){d=f}else{d.storeId=f}if(d instanceof Ext.data.Store){e=d}else{e=Ext.create("Ext.data.Store",d)}return Ext.data.StoreManager.register(e)};Ext.getStore=function(b){return Ext.data.StoreManager.lookup(b)}});Ext.define("Ext.ComponentManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ComponentMgr",singleton:true,typeName:"xtype",create:function(e,g){if(e instanceof Ext.AbstractComponent){return e}else{if(Ext.isString(e)){return Ext.createByAlias("widget."+e)}else{var h=e.xtype||g,f=e;return Ext.createByAlias("widget."+h,f)}}},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c;d.prototype[this.typeName]=c}});Ext.define("Ext.FocusManager",{singleton:true,alternateClassName:"Ext.FocusMgr",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ComponentManager","Ext.ComponentQuery","Ext.util.HashMap","Ext.util.KeyNav"],enabled:false,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],tabIndexWhitelist:["a","button","embed","frame","iframe","img","input","object","select","textarea"],constructor:function(){var d=this,c=Ext.ComponentQuery;d.addEvents("beforecomponentfocus","componentfocus","disable","enable");d.keyNav=Ext.create("Ext.util.KeyNav",Ext.getDoc(),{disabled:true,scope:d,backspace:d.focusLast,enter:d.navigateIn,esc:d.navigateOut,tab:d.navigateSiblings});d.focusData={};d.subscribers=Ext.create("Ext.util.HashMap");d.focusChain={};Ext.apply(c.pseudos,{focusable:function(k){var m=k.length,b=[],i=0,a,l=function(e){return e&&e.focusable!==false&&c.is(e,"[rendered]:not([destroying]):not([isDestroyed]):not([disabled]){isVisible(true)}{el && c.el.dom && c.el.isVisible()}")};for(;i<m;i++){a=k[i];if(l(a)){b.push(a)}}return b},nextFocus:function(k,l,b){b=b||1;l=parseInt(l,10);var m=k.length,i=l+b,a;for(;i!=l;i+=b){if(i>=m){i=0}else{if(i<0){i=m-1}}a=k[i];if(c.is(a,":focusable")){return[a]}else{if(a.placeholder&&c.is(a.placeholder,":focusable")){return[a.placeholder]}}}return[]},prevFocus:function(a,b){return this.nextFocus(a,b,-1)},root:function(j){var k=j.length,b=[],i=0,a;for(;i<k;i++){a=j[i];if(!a.ownerCt){b.push(a)}}return b}})},addXTypeToWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.addXTypeToWhitelist,d);return}if(!Ext.Array.contains(d.whitelist,c)){d.whitelist.push(c)}},clearComponent:function(b){clearTimeout(this.cmpFocusDelay);if(!b.isDestroyed){b.blur()}},disable:function(){var b=this;if(!b.enabled){return}delete b.options;b.enabled=false;Ext.ComponentManager.all.un("add",b.onComponentCreated,b);b.removeDOM();b.keyNav.disable();b.setFocusAll(false);b.fireEvent("disable",b)},enable:function(d){var c=this;if(d===true){d={focusFrame:true}}c.options=d=d||{};if(c.enabled){return}Ext.ComponentManager.all.on("add",c.onComponentCreated,c);c.initDOM(d);c.keyNav.enable();c.setFocusAll(true,d);c.focusEl.focus();delete c.focusedCmp;c.enabled=true;c.fireEvent("enable",c)},focusLast:function(c){var d=this;if(d.isWhitelisted(d.focusedCmp)){return true}if(d.previousFocusedCmp){d.previousFocusedCmp.focus()}},getRootComponents:function(){var f=this,h=Ext.ComponentQuery,e=h.query(":focusable:root:not([floating])"),g=h.query(":focusable:root[floating]");g.sort(function(a,b){return a.el.getZIndex()>b.el.getZIndex()});return g.concat(e)},initDOM:function(e){var h=this,g="&#160",f=h.focusFrameCls;if(!Ext.isReady){Ext.onReady(h.initDOM,h);return}if(!h.focusEl){h.focusEl=Ext.getBody().createChild({tabIndex:"-1",cls:h.focusElementCls,html:g})}if(!h.focusFrame&&e.focusFrame){h.focusFrame=Ext.getBody().createChild({cls:f,children:[{cls:f+"-top"},{cls:f+"-bottom"},{cls:f+"-left"},{cls:f+"-right"}],style:"top: -100px; left: -100px;"});h.focusFrame.setVisibilityMode(Ext.Element.DISPLAY);h.focusFrameWidth=2;h.focusFrame.hide().setLeftTop(0,0)}},isWhitelisted:function(b){return b&&Ext.Array.some(this.whitelist,function(a){return b.isXType(a)})},navigateIn:function(i){var e=this,g=e.focusedCmp,h,j;if(!g){h=e.getRootComponents();if(h.length){h[0].focus()}}else{j=Ext.ComponentQuery.query(">:focusable",g)[0];if(j){j.focus()}else{if(Ext.isFunction(g.onClick)){i.button=0;g.onClick(i);g.focus()}}}},navigateOut:function(f){var d=this,e;if(!d.focusedCmp||!(e=d.focusedCmp.up(":focusable"))){d.focusEl.focus()}else{e.focus()}return true},navigateSiblings:function(t,y,o){var s=this,z=y||s,e=t.getKey(),v=Ext.EventObject,r=t.shiftKey||e==v.LEFT||e==v.UP,x=e==v.LEFT||e==v.RIGHT||e==v.UP||e==v.DOWN,u=r?"prev":"next",p,w,q;q=(z.focusedCmp&&z.focusedCmp.comp)||z.focusedCmp;if(!q&&!o){return}if(x&&s.isWhitelisted(q)){return true}o=o||q.up();if(o){p=q?Ext.Array.indexOf(o.getRefItems(),q):-1;w=Ext.ComponentQuery.query(">:"+u+"Focus("+p+")",o)[0];if(w&&q!==w){w.focus();return w}}},onComponentBlur:function(d,f){var e=this;if(e.focusedCmp===d){e.previousFocusedCmp=d;delete e.focusedCmp}if(e.focusFrame){e.focusFrame.hide()}},onComponentCreated:function(d,f,e){this.setFocus(e,true,this.options)},onComponentDestroy:function(b){this.setFocus(b,false)},onComponentFocus:function(v,y){var x=this,H=x.focusChain;if(!Ext.ComponentQuery.is(v,":focusable")){x.clearComponent(v);if(H[v.id]){return}var t=v.up();if(t){H[v.id]=true;t.focus()}return}x.focusChain={};clearTimeout(x.cmpFocusDelay);if(arguments.length!==2){x.cmpFocusDelay=Ext.defer(x.onComponentFocus,90,x,[v,y]);return}if(x.fireEvent("beforecomponentfocus",x,v,x.previousFocusedCmp)===false){x.clearComponent(v);return}x.focusedCmp=v;if(x.shouldShowFocusFrame(v)){var e="."+x.focusFrameCls+"-",G=x.focusFrame,D=x.focusFrameWidth,A=v.el.getPageBox(),s=A.top,F=A.left,w=A.width,C=A.height,B=G.child(e+"top"),E=G.child(e+"bottom"),u=G.child(e+"left"),z=G.child(e+"right");B.setWidth(w).setLeftTop(F,s);E.setWidth(w).setLeftTop(F,s+C-D);u.setHeight(C-D-D).setLeftTop(F,s+D);z.setHeight(C-D-D).setLeftTop(F+w-D,s+D);G.show()}x.fireEvent("componentfocus",x,v,x.previousFocusedCmp)},onComponentHide:function(j){var k=this,i=Ext.ComponentQuery,g=false,h,l;if(k.focusedCmp){h=i.query("[id="+k.focusedCmp.id+"]",j)[0];g=k.focusedCmp.id===j.id||h;if(h){k.clearComponent(h)}}k.clearComponent(j);if(g){l=i.query("^:focusable",j)[0];if(l){l.focus()}}},removeDOM:function(){var b=this;if(b.enabled||b.subscribers.length){return}Ext.destroy(b.focusEl,b.focusFrame);delete b.focusEl;delete b.focusFrame;delete b.focusFrameWidth},removeXTypeFromWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.removeXTypeFromWhitelist,d);return}Ext.Array.remove(d.whitelist,c)},setFocus:function(n,k,i){var o=this,p,l,m,j=function(a){return !Ext.Array.contains(o.tabIndexWhitelist,a.tagName.toLowerCase())&&a.tabIndex<=0};i=i||{};if(!n.rendered){n.on("afterrender",Ext.pass(o.setFocus,arguments,o),o,{single:true});return}p=n.getFocusEl();l=p.dom;if((k&&!o.focusData[n.id])||(!k&&o.focusData[n.id])){if(k){m={focusFrame:i.focusFrame};if(j(l)){m.tabIndex=l.tabIndex;l.tabIndex=-1}p.on({focus:m.focusFn=Ext.bind(o.onComponentFocus,o,[n],0),blur:m.blurFn=Ext.bind(o.onComponentBlur,o,[n],0),scope:o});n.on({hide:o.onComponentHide,close:o.onComponentHide,beforedestroy:o.onComponentDestroy,scope:o});o.focusData[n.id]=m}else{m=o.focusData[n.id];if("tabIndex" in m){l.tabIndex=m.tabIndex}p.un("focus",m.focusFn,o);p.un("blur",m.blurFn,o);n.un("hide",o.onComponentHide,o);n.un("close",o.onComponentHide,o);n.un("beforedestroy",o.onComponentDestroy,o);delete o.focusData[n.id]}}},setFocusAll:function(j,n){var k=this,h=Ext.ComponentManager.all.getArray(),i=h.length,l,m=0;for(;m<i;m++){k.setFocus(h[m],j,n)}},setupSubscriberKeys:function(i,k){var l=this,m=i.getFocusEl(),n=k.scope,h={backspace:l.focusLast,enter:l.navigateIn,esc:l.navigateOut,scope:l},j=function(a){if(l.focusedCmp===i){return l.navigateSiblings(a,l,i)}else{return l.navigateSiblings(a)}};Ext.iterate(k,function(a,b){h[a]=function(c){var d=j(c);if(Ext.isFunction(b)&&b.call(n||i,c,d)===true){return true}return d}},l);return Ext.create("Ext.util.KeyNav",m,h)},shouldShowFocusFrame:function(f){var d=this,e=d.options||{};if(!d.focusFrame||!f){return false}if(e.focusFrame){return true}if(d.focusData[f.id].focusFrame){return true}return false},subscribe:function(i,n){var k=this,l=Ext.Array,j={},m=k.subscribers,h=function(a){if(a.isContainer&&!m.containsKey(a.id)){l.forEach(a.query(">"),h);k.setFocus(a,true,n);a.on("add",j.onAdd,k)}else{if(!a.isContainer){k.setFocus(a,true,n)}}};if(!i||!i.isContainer){return}if(!i.rendered){i.on("afterrender",Ext.pass(k.subscribe,arguments,k),k,{single:true});return}k.initDOM(n);j.keyNav=k.setupSubscriberKeys(i,n.keys);j.onAdd=function(b,a,c){h(a)};i.on("beforedestroy",k.unsubscribe,k);h(i);m.add(i.id,j)},unsubscribe:function(h){var j=this,k=Ext.Array,l=j.subscribers,i,g=function(a){if(a.isContainer&&!l.containsKey(a.id)){k.forEach(a.query(">"),g);j.setFocus(a,false);a.un("add",i.onAdd,j)}else{if(!a.isContainer){j.setFocus(a,false)}}};if(!h||!l.containsKey(h.id)){return}i=l.get(h.id);i.keyNav.destroy();h.un("beforedestroy",j.unsubscribe,j);l.removeAtKey(h.id);g(h);j.removeDOM()}});Ext.define("Docs.view.cls.PackageLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.packages={"":this.root};this.privates=[];Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return{root:this.root,privates:this.privates}},sortTree:function(b){b.children.sort(this.compare);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){if(g.leaf===h.leaf){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)}else{return g.leaf?1:-1}},addClass:function(g){if(g["private"]&&!this.showPrivateClasses){this.privates.push(this.classNode(g));return}if(this.packages[g.name]){var f=this.packages[g.name];var i=this.classNode(g);f.iconCls=i.iconCls;f.url=i.url}else{var h=this.packageName(g.name);var j=this.packages[h]||this.addPackage(h);var i=this.classNode(g);this.addChild(j,i);this.packages[g.name]=i}},addPackage:function(e){var g=this.packageName(e);var h=this.packages[g]||this.addPackage(g);var f=this.packageNode(e);this.addChild(h,f);this.packages[e]=f;return f},addChild:function(d,c){d.children.push(c);if(d.leaf){d.leaf=false}},classNode:function(b){return{text:this.shortName(b.name),url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":"",leaf:true,children:[]}},packageNode:function(b){return{text:this.shortName(b),iconCls:"icon-pkg",leaf:false,children:[]}},packageName:function(b){return b.slice(0,-this.shortName(b).length-1)||""},shortName:function(d){var c=d.split(/\./);return c.pop()}});Ext.define("Docs.view.cls.InheritanceLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.privates=[];this.subclasses=this.buildLookupTable(this.classes);Ext.Array.forEach(this.classes,this.addClass,this);if(!this.showPrivateClasses){this.stripPrivateClasses(this.root)}this.sortTree(this.root);return{root:this.root,privates:this.privates}},sortTree:function(b){b.children.sort(this.compare,this);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)},buildLookupTable:function(d){var c={};Ext.Array.forEach(d,function(b){var a=b["extends"];if(a&&a!=="Object"){if(!c[a]){c[a]=[]}c[a].push(b)}},this);return c},classNode:function(b){return{text:b.name,url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":""}},addClass:function(e){var d=e["extends"];if(!d||d==="Object"){var f=this.classNode(e);this.root.children.push(f);f.children=this.getSubclasses(e.name);f.leaf=f.children.length===0}},getSubclasses:function(b){if(!this.subclasses[b]){return[]}return Ext.Array.map(this.subclasses[b],function(a){var d=this.classNode(a);d.children=this.getSubclasses(a.name);d.leaf=d.children.length===0;return d},this)},stripPrivateClasses:function(b){b.children=Ext.Array.filter(b.children,function(a){this.stripPrivateClasses(a);if(a.cls==="private"&&a.children.length===0){this.privates.push(a);return false}else{return true}},this)}});Ext.define("Ext.form.Labelable",{requires:["Ext.XTemplate"],labelableRenderTpl:['<tpl if="!hideLabel && !(!fieldLabel && hideEmptyLabel)">','<label id="{id}-labelEl"<tpl if="inputId"> for="{inputId}"</tpl> class="{labelCls}"','<tpl if="labelStyle"> style="{labelStyle}"</tpl>>','<tpl if="fieldLabel">{fieldLabel}{labelSeparator}</tpl>',"</label>","</tpl>",'<div class="{baseBodyCls} {fieldBodyCls}" id="{id}-bodyEl" role="presentation">{subTplMarkup}</div>','<div id="{id}-errorEl" class="{errorMsgCls}" style="display:none"></div>','<div class="{clearCls}" role="presentation"><!-- --></div>',{compiled:true,disableFormats:true}],activeErrorsTpl:['<tpl if="errors && errors.length">','<ul><tpl for="errors"><li<tpl if="xindex == xcount"> class="last"</tpl>>{.}</li></tpl></ul>',"</tpl>"],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",initLabelable:function(){this.addCls(this.formItemCls);this.addEvents("errorchange")},getFieldLabel:function(){return this.fieldLabel||""},getLabelableRenderData:function(){var j=this,g=j.labelAlign,i=j.labelCls,k=j.labelClsExtra,l=j.labelPad,h;if(g==="top"){h="margin-bottom:"+l+"px;"}else{h="margin-right:"+l+"px;";if(Ext.isBorderBox){h+="width:"+j.labelWidth+"px;"}}return Ext.copyTo({inputId:j.getInputId(),fieldLabel:j.getFieldLabel(),labelCls:k?i+" "+k:i,labelStyle:h+(j.labelStyle||""),subTplMarkup:j.getSubTplMarkup()},j,"hideLabel,hideEmptyLabel,fieldBodyCls,baseBodyCls,errorMsgCls,clearCls,labelSeparator",true)},onLabelableRender:function(){this.addChildEls("labelEl","bodyEl","errorEl")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(b){this.activeError=b;this.activeErrors=[b];this.renderActiveError()},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(b){this.activeErrors=b;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:b});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var f=this,d=f.getActiveError(),e=!!d;if(d!==f.lastActiveError){f.fireEvent("errorchange",f,d);f.lastActiveError=d}if(f.rendered&&!f.isDestroyed&&!f.preventMark){f.el[e?"addCls":"removeCls"](f.invalidCls);f.getActionEl().dom.setAttribute("aria-invalid",e);f.errorEl.dom.innerHTML=d}},setFieldDefaults:function(c){var d=this;Ext.iterate(c,function(b,a){if(!d.hasOwnProperty(b)){d[b]=a}})},getBodyNaturalWidth:function(){return this.bodyEl.getWidth()}});Ext.define("Ext.layout.component.Component",{extend:"Ext.layout.Layout",type:"component",monitorChildren:true,initLayout:function(){var f=this,e=f.owner,d=e.el;if(!f.initialized){if(e.frameSize){f.frameSize=e.frameSize}else{e.frameSize=f.frameSize={top:0,left:0,bottom:0,right:0}}}f.callParent(arguments)},beforeLayout:function(u,m,l,o){this.callParent(arguments);var p=this,t=p.owner,s=t.ownerCt,q=t.layout,r=t.isVisible(true),v=t.el.child,n;p.previousComponentSize=p.lastComponentSize;if(!l&&((!Ext.isNumber(u)&&t.isFixedWidth())||(!Ext.isNumber(m)&&t.isFixedHeight()))&&o&&o!==s){p.doContainerLayout();return false}if(!r&&(t.hiddenAncestor||t.floating)){if(t.hiddenAncestor){n=t.hiddenAncestor.layoutOnShow;n.remove(t);n.add(t)}t.needsLayout={width:u,height:m,isSetSize:false}}if(r&&this.needsLayout(u,m)){return t.beforeComponentLayout(u,m,l,o)}else{return false}},needsLayout:function(i,g){var h=this,j,f;h.lastComponentSize=h.lastComponentSize||{width:-Infinity,height:-Infinity};j=!Ext.isDefined(i)||h.lastComponentSize.width!==i;f=!Ext.isDefined(g)||h.lastComponentSize.height!==g;return !h.isSizing&&(h.childrenChanged||j||f)},setElementSize:function(f,d,e){if(d!==undefined&&e!==undefined){f.setSize(d,e)}else{if(e!==undefined){f.setHeight(e)}else{if(d!==undefined){f.setWidth(d)}}}},getTarget:function(){return this.owner.el},getRenderTarget:function(){return this.owner.el},setTargetSize:function(m,i){var l=this;l.setElementSize(l.owner.el,m,i);if(l.owner.frameBody){var j=l.getTargetInfo(),k=j.padding,n=j.border,h=l.frameSize;l.setElementSize(l.owner.frameBody,Ext.isNumber(m)?(m-h.left-h.right-k.left-k.right-n.left-n.right):m,Ext.isNumber(i)?(i-h.top-h.bottom-k.top-k.bottom-n.top-n.bottom):i)}l.autoSized={width:!Ext.isNumber(m),height:!Ext.isNumber(i)};l.lastComponentSize={width:m,height:i}},getTargetInfo:function(){if(!this.targetInfo){var c=this.getTarget(),d=this.owner.getTargetEl();this.targetInfo={padding:{top:c.getPadding("t"),right:c.getPadding("r"),bottom:c.getPadding("b"),left:c.getPadding("l")},border:{top:c.getBorderWidth("t"),right:c.getBorderWidth("r"),bottom:c.getBorderWidth("b"),left:c.getBorderWidth("l")},bodyMargin:{top:d.getMargin("t"),right:d.getMargin("r"),bottom:d.getMargin("b"),left:d.getMargin("l")}}}return this.targetInfo},doOwnerCtLayouts:function(){var i=this.owner,n=i.ownerCt,p,k,o=this.lastComponentSize,l=this.previousComponentSize,j=(l&&o&&Ext.isNumber(o.width))?o.width!==l.width:true,m=(l&&o&&Ext.isNumber(o.height))?o.height!==l.height:true;if(!n||(!j&&!m)){return}p=n.componentLayout;k=n.layout;if(!i.floating&&p&&p.monitorChildren&&!p.layoutBusy){if(!n.suspendLayout&&k&&!k.layoutBusy){if(((j&&!n.isFixedWidth())||(m&&!n.isFixedHeight()))){this.isSizing=true;n.doComponentLayout();this.isSizing=false}else{if(k.bindToOwnerCtContainer===true){k.layout()}}}}},doContainerLayout:function(){var h=this,g=h.owner,j=g.ownerCt,i=g.layout,f;if(!g.suspendLayout&&i&&i.isLayout&&!i.layoutBusy&&!i.isAutoDock){i.layout()}if(j&&j.componentLayout){f=j.componentLayout;if(!g.floating&&f.monitorChildren&&!f.layoutBusy){f.childrenChanged=true}}},afterLayout:function(h,f,e,g){this.doContainerLayout();this.owner.afterComponentLayout(h,f,e,g)}});Ext.define("Ext.layout.component.field.Field",{alias:["layout.field"],extend:"Ext.layout.component.Component",uses:["Ext.tip.QuickTip","Ext.util.TextMetrics"],type:"field",beforeLayout:function(d,e){var f=this;return f.callParent(arguments)||(!f.owner.preventMark&&f.activeError!==f.owner.getActiveError())},onLayout:function(z,o){var u=this,y=u.owner,v=u.getLabelStrategy(),p=u.getErrorStrategy(),r=Ext.isDefined,n=Ext.isNumber,s,t,q,x,w;s=u.lastComponentSize||{};if(!r(z)){z=s.width;if(z<0){z=w}}if(!r(o)){o=s.height;if(o<0){o=w}}t=!n(z);q=!n(o);x={autoWidth:t,autoHeight:q,width:t?y.getBodyNaturalWidth():z,height:o,setOuterWidth:false,insets:{top:0,right:0,bottom:0,left:0}};v.prepare(y,x);p.prepare(y,x);v.adjustHorizInsets(y,x);p.adjustHorizInsets(y,x);v.layoutHoriz(y,x);p.layoutHoriz(y,x);v.adjustVertInsets(y,x);p.adjustVertInsets(y,x);v.layoutVert(y,x);p.layoutVert(y,x);if(t&&q){u.setElementSize(y.el,(x.setOuterWidth?x.width:w),x.height)}else{u.setTargetSize((!t||x.setOuterWidth?x.width:w),x.height)}u.sizeBody(x);u.activeError=y.getActiveError()},onFocus:function(){this.getErrorStrategy().onFocus(this.owner)},sizeBody:function(k){var l=this,p=l.owner,o=k.insets,i=k.width,n=k.height,m=Ext.isNumber(i)?i-o.left-o.right:i,j=Ext.isNumber(n)?n-o.top-o.bottom:n;l.setElementSize(p.bodyEl,m,j);l.sizeBodyContents(m,j)},sizeBodyContents:Ext.emptyFn,getLabelStrategy:function(){var d=this,f=d.labelStrategies,e=d.owner.labelAlign;return f[e]||f.base},getErrorStrategy:function(){var h=this,f=h.owner,g=h.errorStrategies,e=f.msgTarget;return !f.preventMark&&Ext.isString(e)?(g[e]||g.elementId):g.none},labelStrategies:(function(){var e=Ext.applyIf,f=Ext.emptyFn,h={prepare:function(d,a){var c=d.labelCls+"-"+d.labelAlign,b=d.labelEl;if(b&&!b.hasCls(c)){b.addCls(c)}},adjustHorizInsets:f,adjustVertInsets:f,layoutHoriz:f,layoutVert:f},g=e({prepare:function(b,a){h.prepare(b,a);if(a.autoWidth){a.width+=(!b.labelEl?0:b.labelWidth+b.labelPad)}a.setOuterWidth=true},adjustHorizInsets:function(b,a){if(b.labelEl){a.insets.left+=b.labelWidth+b.labelPad}},layoutHoriz:function(c,a){var b=c.labelEl;if(b&&!c.isLabelSized&&!Ext.isBorderBox){b.setWidth(c.labelWidth);c.isLabelSized=true}}},h);return{base:h,top:e({adjustVertInsets:function(c,a){var b=c.labelEl;if(b){a.insets.top+=Ext.util.TextMetrics.measure(b,c.fieldLabel,a.width).height+b.getFrameWidth("tb")+c.labelPad}}},h),left:g,right:g}})(),errorStrategies:(function(){function k(b,c){var a=b.getStyle("display")!=="none";if(c!==a){b.setDisplayed(c)}}function i(b,c,a){if(b.getStyle(c)!==a){b.setStyle(c,a)}}function l(c){var b=Ext.layout.component.field.Field.tip,a;if(b&&b.isVisible()){a=b.activeTarget;if(a&&a.el===c.getActionEl().dom){b.toFront(true)}}}var g=Ext.applyIf,h=Ext.emptyFn,j={prepare:function(a){k(a.errorEl,false)},adjustHorizInsets:h,adjustVertInsets:h,layoutHoriz:h,layoutVert:h,onFocus:h};return{none:j,side:g({prepare:function(b){var a=b.errorEl;a.addCls(Ext.baseCSSPrefix+"form-invalid-icon");Ext.layout.component.field.Field.initTip();a.dom.setAttribute("data-errorqtip",b.getActiveError()||"");k(a,b.hasActiveError())},adjustHorizInsets:function(b,a){if(b.autoFitErrors&&b.hasActiveError()){a.insets.right+=b.errorEl.getWidth()}},layoutHoriz:function(b,a){if(b.hasActiveError()){i(b.errorEl,"left",a.width-a.insets.right+"px")}},layoutVert:function(b,a){if(b.hasActiveError()){i(b.errorEl,"top",a.insets.top+"px")}},onFocus:l},j),under:g({prepare:function(c){var a=c.errorEl,b=Ext.baseCSSPrefix+"form-invalid-under";if(!a.hasCls(b)){a.addCls(b)}k(a,c.hasActiveError())},adjustVertInsets:function(b,a){if(b.autoFitErrors){a.insets.bottom+=b.errorEl.getHeight()}},layoutHoriz:function(d,b){var a=d.errorEl,c=b.insets;i(a,"width",b.width-c.right-c.left+"px");i(a,"marginLeft",c.left+"px")}},j),qtip:g({prepare:function(a){k(a.errorEl,false);Ext.layout.component.field.Field.initTip();a.getActionEl().dom.setAttribute("data-errorqtip",a.getActiveError()||"")},onFocus:l},j),title:g({prepare:function(a){k(a.errorEl,false);a.el.dom.title=a.getActiveError()||""}},j),elementId:g({prepare:function(b){k(b.errorEl,false);var a=Ext.fly(b.msgTarget);if(a){a.dom.innerHTML=b.getActiveError()||"";a.setDisplayed(b.hasActiveError())}}},j)}})(),statics:{initTip:function(){var b=this.tip;if(!b){b=this.tip=Ext.create("Ext.tip.QuickTip",{baseCls:Ext.baseCSSPrefix+"form-invalid-tip",renderTo:Ext.getBody()});b.tagConfig=Ext.apply({},{attribute:"errorqtip"},b.tagConfig)}},destroyTip:function(){var b=this.tip;if(b){b.destroy();delete this.tip}}}});Ext.define("Ext.layout.component.field.Trigger",{alias:["layout.triggerfield"],extend:"Ext.layout.component.field.Field",type:"triggerfield",sizeBodyContents:function(m,h){var l=this,i=l.owner,j=i.inputEl,n=i.triggerWrap,k=i.getTriggerWidth();if(i.hideTrigger||i.readOnly||k>0){l.setElementSize(j,Ext.isNumber(m)?m-k:m);n.setWidth(k)}}});Ext.define("Ext.layout.component.field.Text",{extend:"Ext.layout.component.field.Field",alias:"layout.textfield",requires:["Ext.util.TextMetrics"],type:"textfield",beforeLayout:function(k,g){var j=this,h=j.owner,l=this.lastValue,i=h.getRawValue();this.lastValue=i;return j.callParent(arguments)||(h.grow&&i!==l)},sizeBodyContents:function(f,e){var d=this.adjustForGrow(f,e);this.setElementSize(this.owner.inputEl,d[0],d[1])},adjustForGrow:function(n,p){var m=this,i=m.owner,k,l,o,j=[n,p];if(i.grow){k=i.inputEl;l=(k.dom.value||(i.hasFocus?"":i.emptyText)||"")+i.growAppend;o=k.getTextWidth(l)+k.getBorderWidth("lr")+k.getPadding("lr");j[0]=Ext.Number.constrain(o,i.growMin,Math.max(i.growMin,Math.min(i.growMax,Ext.isNumber(n)?n:Infinity)))}return j}});Ext.define("Ext.layout.component.AbstractDock",{extend:"Ext.layout.component.Component",type:"dock",autoSizing:true,beforeLayout:function(){var b=this.callParent(arguments);if(b!==false&&(!this.initializedBorders||this.childrenChanged)&&(!this.owner.border||this.owner.manageBodyBorders)){this.handleItemBorders();this.initializedBorders=true}return b},handleItemBorders:function(){var v=this.owner,r=v.body,i=this.getLayoutItems(),p={top:[],right:[],bottom:[],left:[]},u=this.borders,s={top:"bottom",right:"left",bottom:"top",left:"right"},t,o,m,n,q;for(t=0,o=i.length;t<o;t++){m=i[t];n=m.dock;if(m.ignoreBorderManagement){continue}if(!p[n].satisfied){p[n].push(m);p[n].satisfied=true}if(!p.top.satisfied&&s[n]!=="top"){p.top.push(m)}if(!p.right.satisfied&&s[n]!=="right"){p.right.push(m)}if(!p.bottom.satisfied&&s[n]!=="bottom"){p.bottom.push(m)}if(!p.left.satisfied&&s[n]!=="left"){p.left.push(m)}}if(u){for(q in u){if(u.hasOwnProperty(q)){o=u[q].length;if(!v.manageBodyBorders){for(t=0;t<o;t++){u[q][t].removeCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}if(!u[q].satisfied&&!v.bodyBorder){r.removeCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}}else{if(u[q].satisfied){r.setStyle("border-"+q+"-width","")}}}}}for(q in p){if(p.hasOwnProperty(q)){o=p[q].length;if(!v.manageBodyBorders){for(t=0;t<o;t++){p[q][t].addCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}if((!p[q].satisfied&&!v.bodyBorder)||v.bodyBorder===false){r.addCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}}else{if(p[q].satisfied){r.setStyle("border-"+q+"-width","1px")}}}}this.borders=p},onLayout:function(z,n){if(this.onLayout_running){return}this.onLayout_running=true;var r=this,y=r.owner,t=y.body,u=y.layout,s=r.getTarget(),p=false,o=false,q,v,w;var x=r.info={boxes:[],size:{width:z,height:n},bodyBox:{}};delete u.isAutoDock;Ext.applyIf(x,r.getTargetInfo());if(y&&y.ownerCt&&y.ownerCt.layout&&y.ownerCt.layout.isLayout){if(!Ext.isNumber(y.height)||!Ext.isNumber(y.width)){y.ownerCt.layout.bindToOwnerCtComponent=true}else{y.ownerCt.layout.bindToOwnerCtComponent=false}}if(n==null||z==null){q=x.padding;v=x.border;w=r.frameSize;if((n==null)&&(z==null)){o=true;p=true;r.setTargetSize(null);r.setBodyBox({width:null,height:null})}else{if(n==null){o=true;r.setTargetSize(z);r.setBodyBox({width:z-q.left-v.left-q.right-v.right-w.left-w.right,height:null})}else{p=true;r.setTargetSize(null,n);r.setBodyBox({width:null,height:n-q.top-q.bottom-v.top-v.bottom-w.top-w.bottom})}}if(u&&u.isLayout){u.bindToOwnerCtComponent=true;u.isAutoDock=u.autoSize!==true;u.layout();x.autoSizedCtLayout=u.autoSize===true;x.autoHeight=o;x.autoWidth=p}r.dockItems();r.setTargetSize(x.size.width,x.size.height)}else{r.setTargetSize(z,n);r.dockItems()}r.callParent(arguments);this.onLayout_running=false},dockItems:function(){this.calculateDockBoxes();var l=this.info,k=l.autoWidth,j=l.autoHeight,p=l.boxes,m=p.length,n,i,o;for(i=0;i<m;i++){n=p[i];o=n.item;o.setPosition(n.x,n.y);if((k||j)&&o.layout&&o.layout.isLayout){o.layout.bindToOwnerCtComponent=true}}if(!l.autoSizedCtLayout){if(k){l.bodyBox.width=null}if(j){l.bodyBox.height=null}}this.setBodyBox(l.bodyBox)},calculateDockBoxes:function(){if(this.calculateDockBoxes_running){return}this.calculateDockBoxes_running=true;var y=this,B=y.getTarget(),z=y.getLayoutItems(),H=y.owner,s=H.body,G=y.info,v=G.autoWidth,u=G.autoHeight,i=G.size,A=z.length,w=G.padding,E=G.border,F=y.frameSize,t,D,C,x;if(u){i.height=s.getHeight()+w.top+E.top+w.bottom+E.bottom+F.top+F.bottom}else{i.height=B.getHeight()}if(v){i.width=s.getWidth()+w.left+E.left+w.right+E.right+F.left+F.right}else{i.width=B.getWidth()}G.bodyBox={x:w.left+F.left,y:w.top+F.top,width:i.width-w.left-E.left-w.right-E.right-F.left-F.right,height:i.height-E.top-w.top-E.bottom-w.bottom-F.top-F.bottom};for(D=0;D<A;D++){t=z[D];C=y.initBox(t);if(u===true){C=y.adjustAutoBox(C,D)}else{C=y.adjustSizedBox(C,D)}G.boxes.push(C)}this.calculateDockBoxes_running=false},adjustSizedBox:function(n,o){var j=this.info.bodyBox,i=this.frameSize,l=this.info,m=l.padding,k=n.type,p=l.border;switch(k){case"top":n.y=j.y;break;case"left":n.x=j.x;break;case"bottom":n.y=(j.y+j.height)-n.height;break;case"right":n.x=(j.x+j.width)-n.width;break}if(n.ignoreFrame){if(k=="bottom"){n.y+=(i.bottom+m.bottom+p.bottom)}else{n.y-=(i.top+m.top+p.top)}if(k=="right"){n.x+=(i.right+m.right+p.right)}else{n.x-=(i.left+m.left+p.left)}}if(!n.overlay){switch(k){case"top":j.y+=n.height;j.height-=n.height;break;case"left":j.x+=n.width;j.width-=n.width;break;case"bottom":j.height-=n.height;break;case"right":j.width-=n.width;break}}return n},adjustAutoBox:function(y,v){var E=this.info,F=this.owner,u=E.bodyBox,i=E.size,x=E.boxes,A=x.length,s=y.type,B=this.frameSize,r=E.padding,C=E.border,D=E.autoSizedCtLayout,t=(A<v)?A:v,z,w;if(s=="top"||s=="bottom"){for(z=0;z<t;z++){w=x[z];if(w.stretched&&w.type=="left"||w.type=="right"){w.height+=y.height}else{if(w.type=="bottom"){w.y+=y.height}}}}switch(s){case"top":y.y=u.y;if(!y.overlay){u.y+=y.height;if(E.autoHeight){i.height+=y.height}else{u.height-=y.height}}break;case"bottom":if(!y.overlay){if(E.autoHeight){i.height+=y.height}else{u.height-=y.height}}y.y=(u.y+u.height);break;case"left":y.x=u.x;if(!y.overlay){u.x+=y.width;if(E.autoWidth){i.width+=y.width}else{u.width-=y.width}}break;case"right":if(!y.overlay){if(E.autoWidth){i.width+=y.width}else{u.width-=y.width}}y.x=(u.x+u.width);break}if(y.ignoreFrame){if(s=="bottom"){y.y+=(B.bottom+r.bottom+C.bottom)}else{y.y-=(B.top+r.top+C.top)}if(s=="right"){y.x+=(B.right+r.right+C.right)}else{y.x-=(B.left+r.left+C.left)}}return y},initBox:function(k){var m=this,n=m.info.bodyBox,t=(k.dock=="top"||k.dock=="bottom"),s=m.owner,p=m.frameSize,r=m.info,l=r.padding,q=r.border,o={item:k,overlay:k.overlay,type:k.dock,offsets:Ext.Element.parseBox(k.offsets||{}),ignoreFrame:k.ignoreParentFrame};if(k.stretch!==false){o.stretched=true;if(t){o.x=n.x+o.offsets.left;o.width=n.width-(o.offsets.left+o.offsets.right);if(o.ignoreFrame){o.width+=(p.left+p.right+q.left+q.right+l.left+l.right)}k.setCalculatedSize(o.width-k.el.getMargin("lr"),undefined,s)}else{o.y=n.y+o.offsets.top;o.height=n.height-(o.offsets.bottom+o.offsets.top);if(o.ignoreFrame){o.height+=(p.top+p.bottom+q.top+q.bottom+l.top+l.bottom)}k.setCalculatedSize(undefined,o.height-k.el.getMargin("tb"),s);if(!Ext.supports.ComputedStyle){k.el.repaint()}}}else{k.doComponentLayout();o.width=k.getWidth()-(o.offsets.left+o.offsets.right);o.height=k.getHeight()-(o.offsets.bottom+o.offsets.top);o.y+=o.offsets.top;if(t){o.x=(k.align=="right")?n.width-o.width:n.x;o.x+=o.offsets.left}}if(o.width===undefined){o.width=k.getWidth()+k.el.getMargin("lr")}if(o.height===undefined){o.height=k.getHeight()+k.el.getMargin("tb")}return o},getLayoutItems:function(){var h=this.owner.getDockedItems(),g=h.length,e=0,f=[];for(;e<g;e++){if(h[e].isVisible(true)){f.push(h[e])}}return f},renderItems:function(n,p){var t=p.dom.childNodes,q=t.length,o=n.length,j=0,r,s,m,i;for(r=0;r<q;r++){m=Ext.get(t[r]);for(s=0;s<o;s++){i=n[s];if(i.rendered&&(m.id==i.el.id||m.contains(i.el.id))){break}}if(s===o){j++}}for(r=0,s=0;r<o;r++,s++){i=n[r];if(r===s&&(i.dock==="right"||i.dock==="bottom")){s+=j}if(i&&!i.rendered){this.renderItem(i,p,s)}else{if(!this.isValidParent(i,p,s)){this.moveItem(i,p,s)}}}},setBodyBox:function(m){var k=this,r=k.owner,l=r.body,q=k.info,n=q.bodyMargin,j=q.padding,o=q.border,p=k.frameSize;if(r.collapsed){return}if(Ext.isNumber(m.width)){m.width-=n.left+n.right}if(Ext.isNumber(m.height)){m.height-=n.top+n.bottom}k.setElementSize(l,m.width,m.height);if(Ext.isNumber(m.x)){l.setLeft(m.x-j.left-p.left)}if(Ext.isNumber(m.y)){l.setTop(m.y-j.top-p.top)}},configureItem:function(d,c){this.callParent(arguments);if(d.dock=="top"||d.dock=="bottom"){d.layoutManagedWidth=1;d.layoutManagedHeight=2}else{d.layoutManagedWidth=2;d.layoutManagedHeight=1}d.addCls(Ext.baseCSSPrefix+"docked");d.addClsWithUI("docked-"+d.dock)},afterRemove:function(d){this.callParent(arguments);if(this.itemCls){d.el.removeCls(this.itemCls+"-"+d.dock)}var c=d.el.dom;if(!d.destroying&&c){c.parentNode.removeChild(c)}this.childrenChanged=true}});Ext.define("Ext.layout.component.Dock",{alias:["layout.dock"],extend:"Ext.layout.component.AbstractDock"});Ext.define("Ext.layout.container.Auto",{alias:["layout.auto","layout.autocontainer"],extend:"Ext.layout.container.Container",type:"autocontainer",bindToOwnerCtComponent:true,onLayout:function(h,i){var j=this,g=j.getLayoutItems(),k=g.length,l;if(k){if(!j.clearEl){j.clearEl=j.getRenderTarget().createChild({cls:Ext.baseCSSPrefix+"clear",role:"presentation"})}for(l=0;l<k;l++){j.setItemSize(g[l])}}},configureItem:function(b){this.callParent(arguments);b.layoutManagedHeight=2;b.layoutManagedWidth=2}});Ext.define("Ext.fx.target.Element",{extend:"Ext.fx.target.Target",type:"element",getElVal:function(d,e,f){if(f==undefined){if(e==="x"){f=d.getX()}else{if(e==="y"){f=d.getY()}else{if(e==="scrollTop"){f=d.getScroll().top}else{if(e==="scrollLeft"){f=d.getScroll().left}else{if(e==="height"){f=d.getHeight()}else{if(e==="width"){f=d.getWidth()}else{f=d.getStyle(e)}}}}}}}return f},getAttr:function(e,f){var d=this.target;return[[d,this.getElVal(d,e,f)]]},setAttr:function(n){var q=this.target,o=n.length,i,p,u,r,t,v,s,j;for(r=0;r<o;r++){i=n[r].attrs;for(p in i){if(i.hasOwnProperty(p)){v=i[p].length;for(t=0;t<v;t++){u=i[p][t];s=u[0];j=u[1];if(p==="x"){s.setX(j)}else{if(p==="y"){s.setY(j)}else{if(p==="scrollTop"){s.scrollTo("top",j)}else{if(p==="scrollLeft"){s.scrollTo("left",j)}else{s.setStyle(p,j)}}}}}}}}}});Ext.define("Ext.fx.target.CompositeElement",{extend:"Ext.fx.target.Element",isComposite:true,constructor:function(b){b.id=b.id||Ext.id(null,"ext-composite-");this.callParent([b])},getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,this.getElVal(a,f,g)])},this);return e}});Ext.define("Ext.fx.target.Sprite",{extend:"Ext.fx.target.Target",type:"draw",getFromPrim:function(d,e){var f;if(e=="translate"){f={x:d.attr.translation.x||0,y:d.attr.translation.y||0}}else{if(e=="rotate"){f={degrees:d.attr.rotation.degrees||0,x:d.attr.rotation.x,y:d.attr.rotation.y}}else{f=d.attr[e]}}return f},getAttr:function(d,c){return[[this.target,c!=undefined?c:this.getFromPrim(this.target,d)]]},setAttr:function(t){var x=t.length,v=[],i,y,j,z,C,r,s,A,B,u,w,D;for(A=0;A<x;A++){i=t[A].attrs;for(y in i){j=i[y];D=j.length;for(B=0;B<D;B++){C=j[B][0];z=j[B][1];if(y==="translate"){s={x:z.x,y:z.y}}else{if(y==="rotate"){u=z.x;if(isNaN(u)){u=null}w=z.y;if(isNaN(w)){w=null}s={degrees:z.degrees,x:u,y:w}}else{if(y==="width"||y==="height"||y==="x"||y==="y"){s=parseFloat(z)}else{s=z}}}r=Ext.Array.indexOf(v,C);if(r==-1){v.push([C,{}]);r=v.length-1}v[r][1][y]=s}}}x=v.length;for(A=0;A<x;A++){C=v[A];C[0].setAttributes(C[1])}this.target.redraw()}});Ext.define("Ext.fx.target.CompositeSprite",{extend:"Ext.fx.target.Sprite",getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,g!=undefined?g:this.getFromPrim(a,f)])},this);return e}});Ext.define("Ext.fx.target.Component",{extend:"Ext.fx.target.Target",type:"component",getPropMethod:{top:function(){return this.getPosition(true)[1]},left:function(){return this.getPosition(true)[0]},x:function(){return this.getPosition()[0]},y:function(){return this.getPosition()[1]},height:function(){return this.getHeight()},width:function(){return this.getWidth()},opacity:function(){return this.el.getStyle("opacity")}},compMethod:{top:"setPosition",left:"setPosition",x:"setPagePosition",y:"setPagePosition",height:"setSize",width:"setSize",opacity:"setOpacity"},getAttr:function(d,c){return[[this.target,c!==undefined?c:this.getPropMethod[d].call(this.target)]]},setAttr:function(H,A,D){var i=this,w=i.target,j=H.length,F,v,E,z,B,o,x,C,h,G,y;for(z=0;z<j;z++){F=H[z].attrs;for(v in F){x=F[v].length;o={setPosition:{},setPagePosition:{},setSize:{},setOpacity:{}};for(B=0;B<x;B++){E=F[v][B];o[i.compMethod[v]].target=E[0];o[i.compMethod[v]][v]=E[1]}if(o.setPosition.target){E=o.setPosition;C=(E.left===undefined)?undefined:parseInt(E.left,10);h=(E.top===undefined)?undefined:parseInt(E.top,10);E.target.setPosition(C,h)}if(o.setPagePosition.target){E=o.setPagePosition;E.target.setPagePosition(E.x,E.y)}if(o.setSize.target&&o.setSize.target.el){E=o.setSize;G=(E.width===undefined)?E.target.getWidth():parseInt(E.width,10);y=(E.height===undefined)?E.target.getHeight():parseInt(E.height,10);if(D||i.dynamic){E.target.componentLayout.childrenChanged=true;if(i.layoutAnimation){E.target.setCalculatedSize(G,y)}else{E.target.setSize(G,y)}}else{E.target.el.setSize(G,y)}}if(o.setOpacity.target){E=o.setOpacity;E.target.el.setStyle("opacity",E.opacity)}}}}});Ext.define("Ext.fx.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.fx.target.Element","Ext.fx.target.CompositeElement","Ext.fx.target.Sprite","Ext.fx.target.CompositeSprite","Ext.fx.target.Component"],mixins:{queue:"Ext.fx.Queue"},constructor:function(){this.items=Ext.create("Ext.util.MixedCollection");this.mixins.queue.constructor.call(this)},interval:16,forceJS:true,createTarget:function(g){var e=this,h=!e.forceJS&&Ext.supports.Transitions,f;e.useCSS3=h;if(Ext.isString(g)){g=Ext.get(g)}if(g&&g.tagName){g=Ext.get(g);f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g);e.targets.add(f);return f}if(Ext.isObject(g)){if(g.dom){f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g)}else{if(g.isComposite){f=Ext.create("Ext.fx.target.CompositeElement"+(h?"CSS":""),g)}else{if(g.isSprite){f=Ext.create("Ext.fx.target.Sprite",g)}else{if(g.isCompositeSprite){f=Ext.create("Ext.fx.target.CompositeSprite",g)}else{if(g.isComponent){f=Ext.create("Ext.fx.target.Component",g)}else{if(g.isAnimTarget){return g}else{return null}}}}}}e.targets.add(f);return f}else{return null}},addAnim:function(f){var d=this.items,e=this.task;d.add(f);if(!e&&d.length){e=this.task={run:this.runner,interval:this.interval,scope:this};Ext.TaskManager.start(e)}},removeAnim:function(f){var d=this.items,e=this.task;d.remove(f);if(e&&!d.length){Ext.TaskManager.stop(e);delete this.task}},startingFilter:function(b){return b.paused===false&&b.running===false&&b.iterations>0},runningFilter:function(b){return b.paused===false&&b.running===true&&b.isAnimator!==true},runner:function(){var c=this,d=c.items;c.targetData={};c.targetArr={};c.timestamp=new Date();d.filterBy(c.startingFilter).each(c.startAnim,c);d.filterBy(c.runningFilter).each(c.runAnim,c);c.applyPendingAttrs()},startAnim:function(b){b.start(this.timestamp)},runAnim:function(m){if(!m){return}var n=this,h=m.target.getId(),k=n.useCSS3&&m.target.type=="element",i=n.timestamp-m.startTime,l,j;this.collectTargetData(m,i,k);if(k){m.target.setAttr(n.targetData[h],true);n.targetData[h]=[];n.collectTargetData(m,m.duration,k);m.paused=true;l=m.target.target;if(m.target.isComposite){l=m.target.target.last()}j={};j[Ext.supports.CSS3TransitionEnd]=m.lastFrame;j.scope=m;j.single=true;l.on(j)}else{if(i>=m.duration){n.applyPendingAttrs(true);delete n.targetData[h];delete n.targetArr[h];m.lastFrame()}}},collectTargetData:function(k,h,j){var g=k.target.getId(),i=this.targetData[g],l;if(!i){i=this.targetData[g]=[];this.targetArr[g]=k.target}l={duration:k.duration,easing:(j&&k.reverse)?k.easingFn.reverse().toCSS3():k.easing,attrs:{}};Ext.apply(l.attrs,k.runAnim(h));i.push(l)},applyPendingAttrs:function(g){var h=this.targetData,e=this.targetArr,f;for(f in h){if(h.hasOwnProperty(f)){e[f].setAttr(h[f],false,g)}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(d){var c=this;d=Ext.apply(c,d||{});c.config=d;c.id=Ext.id(null,"ext-animator-");c.addEvents("beforeanimate","keyframe","afteranimate");c.mixins.observable.constructor.call(c,d);c.timeline=[];c.createTimeline(c.keyframes);if(c.target){c.applyAnimator(c.target);Ext.fx.Manager.addAnim(c)}},sorter:function(a,b){return a.pct-b.pct},createTimeline:function(u){var r=this,o=[],q=r.to||{},x=r.duration,i,z,v,s,p,y,w,t;for(p in u){if(u.hasOwnProperty(p)&&r.animKeyFramesRE.test(p)){t={attrs:Ext.apply(u[p],q)};if(p=="from"){p=0}else{if(p=="to"){p=100}}t.pct=parseInt(p,10);o.push(t)}}Ext.Array.sort(o,r.sorter);s=o.length;for(v=0;v<s;v++){i=(o[v-1])?x*(o[v-1].pct/100):0;z=x*(o[v].pct/100);r.timeline.push({duration:z-i,attrs:o[v].attrs})}},applyAnimator:function(v){var r=this,q=[],i=r.timeline,u=r.reverse,s=i.length,y,t,z,w,o,p,x;if(r.fireEvent("beforeanimate",r)!==false){for(x=0;x<s;x++){y=i[x];o=y.attrs;t=o.easing||r.easing;z=o.damper||r.damper;delete o.easing;delete o.damper;y=Ext.create("Ext.fx.Anim",{target:v,easing:t,damper:z,duration:y.duration,paused:true,to:o});q.push(y)}r.animations=q;r.target=y.target;for(x=0;x<s-1;x++){y=q[x];y.nextAnim=q[x+1];y.on("afteranimate",function(){this.nextAnim.paused=false});y.on("afteranimate",function(){this.fireEvent("keyframe",this,++this.keyframeStep)},r)}q[s-1].on("afteranimate",function(){this.lastFrame()},r)}},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;h.running=true;h.animations[h.keyframeStep].paused=false}},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){f.startTime=new Date();f.currentIteration=d;f.keyframeStep=0;f.applyAnimator(f.target);f.animations[f.keyframeStep].paused=false}else{f.currentIteration=0;f.end()}},end:function(){var b=this;b.fireEvent("afteranimate",b,b.startTime,new Date()-b.startTime)}});Ext.define("Ext.draw.Draw",{singleton:true,requires:["Ext.draw.Color"],pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(c,d){d=String(d).toLowerCase();return(d=="object"&&c===Object(c))||(d=="undefined"&&typeof c==d)||(d=="null"&&c===null)||(d=="array"&&Array.isArray&&Array.isArray(c))||(Object.prototype.toString.call(c).toLowerCase().slice(8,-1))==d},ellipsePath:function(c){var d=c.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",d.x,d.y-d.ry,d.rx,d.ry,d.y+d.ry)},rectPath:function(c){var d=c.attr;if(d.radius){return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",d.x+d.radius,d.y,d.width-d.radius*2,d.radius,-d.radius,d.height-d.radius*2,d.radius*2-d.width,d.radius*2-d.height)}else{return Ext.String.format("M{0},{1}l{2},0,0,{3},{4},0z",d.x,d.y,d.width,d.height,-d.width)}},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(b){return b.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(f){if(!f){return null}var g={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},h=[],e=this;if(e.is(f,"array")&&e.is(f[0],"array")){h=e.pathClone(f)}if(!h.length){String(f).replace(e.pathCommandRE,function(d,j,a){var b=[],c=j.toLowerCase();a.replace(e.pathValuesRE,function(i,l){l&&b.push(+l)});if(c=="m"&&b.length>2){h.push([j].concat(Ext.Array.splice(b,0,2)));c="l";j=(j=="m")?"l":"L"}while(b.length>=g[c]){h.push([j].concat(Ext.Array.splice(b,0,g[c])));if(!g[c]){break}}})}h.toString=e.path2string;return h},mapPath:function(i,m){if(!m){return i}var l,n,p,j,r,o,q;i=this.path2curve(i);for(p=0,j=i.length;p<j;p++){q=i[p];for(r=1,o=q.length;r<o-1;r+=2){l=m.x(q[r],q[r+1]);n=m.y(q[r],q[r+1]);q[r]=l;q[r+1]=n}}return i},pathClone:function(i){var l=[],h,j,g,k;if(!this.is(i,"array")||!this.is(i&&i[0],"array")){i=this.parsePathString(i)}for(g=0,k=i.length;g<k;g++){l[g]=[];for(h=0,j=i[g].length;h<j;h++){l[g][h]=i[g][h]}}l.toString=this.path2string;return l},pathToAbsolute:function(v){if(!this.is(v,"array")||!this.is(v&&v[0],"array")){v=this.parsePathString(v)}var q=[],o=0,p=0,i=0,j=0,s=0,r=v.length,w,u,t,x;if(r&&v[0][0]=="M"){o=+v[0][1];p=+v[0][2];i=o;j=p;s++;q[0]=["M",o,p]}for(;s<r;s++){w=q[s]=[];u=v[s];if(u[0]!=u[0].toUpperCase()){w[0]=u[0].toUpperCase();switch(w[0]){case"A":w[1]=u[1];w[2]=u[2];w[3]=u[3];w[4]=u[4];w[5]=u[5];w[6]=+(u[6]+o);w[7]=+(u[7]+p);break;case"V":w[1]=+u[1]+p;break;case"H":w[1]=+u[1]+o;break;case"M":i=+u[1]+o;j=+u[2]+p;default:t=1;x=u.length;for(;t<x;t++){w[t]=+u[t]+((t%2)?o:p)}}}else{t=0;x=u.length;for(;t<x;t++){q[s][t]=u[t]}}switch(w[0]){case"Z":o=i;p=j;break;case"H":o=w[1];break;case"V":p=w[1];break;case"M":u=q[s];x=u.length;i=u[x-2];j=u[x-1];default:u=q[s];x=u.length;o=u[x-2];p=u[x-1]}}q.toString=this.path2string;return q},pathToRelative:function(A){if(!this.is(A,"array")||!this.is(A&&A[0],"array")){A=this.parsePathString(A)}var u=[],k=0,r=0,F=0,i=0,B=0;if(A[0][0]=="M"){k=A[0][1];r=A[0][2];F=k;i=r;B++;u.push(["M",k,r])}for(var x=B,E=A.length;x<E;x++){var D=u[x]=[],j=A[x];if(j[0]!=j[0].toLowerCase()){D[0]=j[0].toLowerCase();switch(D[0]){case"a":D[1]=j[1];D[2]=j[2];D[3]=j[3];D[4]=j[4];D[5]=j[5];D[6]=+(j[6]-k).toFixed(3);D[7]=+(j[7]-r).toFixed(3);break;case"v":D[1]=+(j[1]-r).toFixed(3);break;case"m":F=j[1];i=j[2];default:for(var y=1,w=j.length;y<w;y++){D[y]=+(j[y]-((y%2)?k:r)).toFixed(3)}}}else{D=u[x]=[];if(j[0]=="m"){F=j[1]+k;i=j[2]+r}for(var z=0,C=j.length;z<C;z++){u[x][z]=j[z]}}var v=u[x].length;switch(u[x][0]){case"z":k=F;r=i;break;case"h":k+=+u[x][v-1];break;case"v":r+=+u[x][v-1];break;default:k+=+u[x][v-2];r+=+u[x][v-1]}}u.toString=this.path2string;return u},path2curve:function(i){var o=this,l=o.pathToAbsolute(i),p=l.length,k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},q,r,m,n;for(q=0;q<p;q++){l[q]=o.command2curve(l[q],k);if(l[q].length>7){l[q].shift();n=l[q];while(n.length){Ext.Array.splice(l,q++,0,["C"].concat(Ext.Array.splice(n,0,6)))}Ext.Array.erase(l,q,1);p=l.length}r=l[q];m=r.length;k.x=r[m-2];k.y=r[m-1];k.bx=parseFloat(r[m-4])||k.x;k.by=parseFloat(r[m-3])||k.y}return l},interpolatePaths:function(i,u){var w=this,A=w.pathToAbsolute(i),t=w.pathToAbsolute(u),s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},D={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},C=function(c,b){if(c[b].length>7){c[b].shift();var a=c[b];while(a.length){Ext.Array.splice(c,b++,0,["C"].concat(Ext.Array.splice(a,0,6)))}Ext.Array.erase(c,b,1);r=Math.max(A.length,t.length||0)}},B=function(a,b,d,e,c){if(a&&b&&a[c][0]=="M"&&b[c][0]!="M"){Ext.Array.splice(b,c,0,["M",e.x,e.y]);d.bx=0;d.by=0;d.x=a[c][1];d.y=a[c][2];r=Math.max(A.length,t.length||0)}};for(var x=0,r=Math.max(A.length,t.length||0);x<r;x++){A[x]=w.command2curve(A[x],s);C(A,x);(t[x]=w.command2curve(t[x],D));C(t,x);B(A,t,s,D,x);B(t,A,D,s,x);var y=A[x],p=t[x],z=y.length,v=p.length;s.x=y[z-2];s.y=y[z-1];s.bx=parseFloat(y[z-4])||s.x;s.by=parseFloat(y[z-3])||s.y;D.bx=(parseFloat(p[v-4])||D.x);D.by=(parseFloat(p[v-3])||D.y);D.x=p[v-2];D.y=p[v-1]}return[A,t]},command2curve:function(f,d){var e=this;if(!f){return["C",d.x,d.y,d.x,d.y,d.x,d.y]}if(f[0]!="T"&&f[0]!="Q"){d.qx=d.qy=null}switch(f[0]){case"M":d.X=f[1];d.Y=f[2];break;case"A":f=["C"].concat(e.arc2curve.apply(e,[d.x,d.y].concat(f.slice(1))));break;case"S":f=["C",d.x+(d.x-(d.bx||d.x)),d.y+(d.y-(d.by||d.y))].concat(f.slice(1));break;case"T":d.qx=d.x+(d.x-(d.qx||d.x));d.qy=d.y+(d.y-(d.qy||d.y));f=["C"].concat(e.quadratic2curve(d.x,d.y,d.qx,d.qy,f[1],f[2]));break;case"Q":d.qx=f[1];d.qy=f[2];f=["C"].concat(e.quadratic2curve(d.x,d.y,f[1],f[2],f[3],f[4]));break;case"L":f=["C"].concat(d.x,d.y,f[1],f[2],f[1],f[2]);break;case"H":f=["C"].concat(d.x,d.y,f[1],d.y,f[1],d.y);break;case"V":f=["C"].concat(d.x,d.y,d.x,f[1],d.x,f[1]);break;case"Z":f=["C"].concat(d.x,d.y,d.X,d.Y,d.X,d.Y);break}return f},quadratic2curve:function(i,o,l,n,j,p){var m=1/3,k=2/3;return[m*i+k*l,m*o+k*n,m*j+k*l,m*p+k*n,j,p]},rotate:function(h,j,i){var m=Math.cos(i),n=Math.sin(i),k=h*m-j*n,l=h*n+j*m;return{x:k,y:l}},arc2curve:function(aM,aw,at,av,aH,aS,aW,aN,az,aF){var aK=this,aY=Math.PI,aJ=aK.radian,ax=aY*120/180,a1=aJ*(+aH||0),an=[],aq=Math,y=aq.cos,a2=aq.sin,t=aq.sqrt,aL=aq.abs,aR=aq.asin,ar,a0,aP,al,am,aG,aZ,ai,x,aB,aD,aT,aU,aO,aV,aA,aX,aC,ak,ah,aj,aE,aI,h,k,ao,i,ap,ay,au,aQ;if(!aF){ar=aK.rotate(aM,aw,-a1);aM=ar.x;aw=ar.y;ar=aK.rotate(aN,az,-a1);aN=ar.x;az=ar.y;a0=y(aJ*aH);aP=a2(aJ*aH);al=(aM-aN)/2;am=(aw-az)/2;aG=(al*al)/(at*at)+(am*am)/(av*av);if(aG>1){aG=t(aG);at=aG*at;av=aG*av}aZ=at*at;ai=av*av;x=(aS==aW?-1:1)*t(aL((aZ*ai-aZ*am*am-ai*al*al)/(aZ*am*am+ai*al*al)));aB=x*at*am/av+(aM+aN)/2;aD=x*-av*al/at+(aw+az)/2;aT=aR(((aw-aD)/av).toFixed(7));aU=aR(((az-aD)/av).toFixed(7));aT=aM<aB?aY-aT:aT;aU=aN<aB?aY-aU:aU;if(aT<0){aT=aY*2+aT}if(aU<0){aU=aY*2+aU}if(aW&&aT>aU){aT=aT-aY*2}if(!aW&&aU>aT){aU=aU-aY*2}}else{aT=aF[0];aU=aF[1];aB=aF[2];aD=aF[3]}aO=aU-aT;if(aL(aO)>ax){ay=aU;au=aN;aQ=az;aU=aT+ax*(aW&&aU>aT?1:-1);aN=aB+at*y(aU);az=aD+av*a2(aU);an=aK.arc2curve(aN,az,at,av,aH,0,aW,au,aQ,[aU,ay,aB,aD])}aO=aU-aT;aV=y(aT);aA=a2(aT);aX=y(aU);aC=a2(aU);ak=aq.tan(aO/4);ah=4/3*at*ak;aj=4/3*av*ak;aE=[aM,aw];aI=[aM+ah*aA,aw-aj*aV];h=[aN+ah*aC,az-aj*aX];k=[aN,az];aI[0]=2*aE[0]-aI[0];aI[1]=2*aE[1]-aI[1];if(aF){return[aI,h,k].concat(an)}else{an=[aI,h,k].concat(an).join().split(",");ao=[];ap=an.length;for(i=0;i<ap;i++){ao[i]=i%2?aK.rotate(an[i-1],an[i],a1).y:aK.rotate(an[i],an[i+1],a1).x}return ao}},rotateAndTranslatePath:function(q){var v=q.rotation.degrees,u=q.rotation.x,w=q.rotation.y,i=q.translation.x,p=q.translation.y,j,s,x,o,t,r=[];if(!v&&!i&&!p){return this.pathToAbsolute(q.attr.path)}i=i||0;p=p||0;j=this.pathToAbsolute(q.attr.path);for(s=j.length;s--;){x=r[s]=j[s].slice();if(x[0]=="A"){o=this.rotatePoint(x[6],x[7],v,u,w);x[6]=o.x+i;x[7]=o.y+p}else{t=1;while(x[t+1]!=null){o=this.rotatePoint(x[t],x[t+1],v,u,w);x[t]=o.x+i;x[t+1]=o.y+p;t+=2}}}return r},rotatePoint:function(h,j,l,i,k){if(!l){return{x:h,y:j}}i=i||0;k=k||0;h=h-i;j=j-k;l=l*this.radian;var m=Math.cos(l),n=Math.sin(l);return{x:h*m-j*n+i,y:h*n+j*m+k}},pathDimensions:function(i){if(!i||!(i+"")){return{x:0,y:0,width:0,height:0}}i=this.path2curve(i);var n=0,o=0,s=[],u=[],r=0,p=i.length,t,v,m,q;for(;r<p;r++){t=i[r];if(t[0]=="M"){n=t[1];o=t[2];s.push(n);u.push(o)}else{q=this.curveDim(n,o,t[1],t[2],t[3],t[4],t[5],t[6]);s=s.concat(q.min.x,q.max.x);u=u.concat(q.min.y,q.max.y);n=t[5];o=t[6]}}v=Math.min.apply(0,s);m=Math.min.apply(0,u);return{x:v,y:m,path:i,width:Math.max.apply(0,s)-v,height:Math.max.apply(0,u)-m}},intersectInside:function(d,f,e){return(e[0]-f[0])*(d[1]-f[1])>(e[1]-f[1])*(d[0]-f[0])},intersectIntersection:function(e,n,t,u){var v=[],w=t[0]-u[0],x=t[1]-u[1],p=e[0]-n[0],r=e[1]-n[1],o=t[0]*u[1]-t[1]*u[0],q=e[0]*n[1]-e[1]*n[0],s=1/(w*r-x*p);v[0]=(o*p-q*w)*s;v[1]=(o*r-q*x)*s;return v},intersect:function(r,z){var s=this,v=0,t=z.length,w=z[t-1],i=r,x,e,u,j,B,A,y;for(;v<t;++v){x=z[v];A=i;i=[];e=A[A.length-1];y=0;B=A.length;for(;y<B;y++){u=A[y];if(s.intersectInside(u,w,x)){if(!s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}i.push(u)}else{if(s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}}e=u}w=x}return i},curveDim:function(C,E,A,B,F,a,t,w){var b=(F-2*A+C)-(t-2*F+A),u=2*(A-C)-2*(F-A),x=C-A,y=(-u+Math.sqrt(u*u-4*b*x))/2/b,z=(-u-Math.sqrt(u*u-4*b*x))/2/b,v=[E,w],c=[C,t],D;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}b=(a-2*B+E)-(w-2*a+B);u=2*(B-E)-2*(a-B);x=E-B;y=(-u+Math.sqrt(u*u-4*b*x))/2/b;z=(-u-Math.sqrt(u*u-4*b*x))/2/b;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}return{min:{x:Math.min.apply(0,c),y:Math.min.apply(0,v)},max:{x:Math.max.apply(0,c),y:Math.max.apply(0,v)}}},getAnchors:function(P,Q,K,L,z,A,E){E=E||4;var M=Math,F=M.PI,D=F/2,I=M.abs,T=M.sin,S=M.cos,O=M.atan,B,C,N,J,G,H,x,y,R;B=(K-P)/E;C=(z-K)/E;if((L>=Q&&L>=A)||(L<=Q&&L<=A)){N=J=D}else{N=O((K-P)/I(L-Q));if(Q<L){N=F-N}J=O((z-K)/I(L-A));if(A<L){J=F-J}}R=D-((N+J)%(F*2))/2;if(R>D){R-=F}N+=R;J+=R;G=K-B*T(N);H=L+B*S(N);x=K+C*T(J);y=L+C*S(J);if((L>Q&&H<Q)||(L<Q&&H>Q)){G+=I(Q-H)*(G-K)/(H-L);H=Q}if((L>A&&y<A)||(L<A&&y>A)){x-=I(A-y)*(x-K)/(y-L);y=A}return{x1:G,y1:H,x2:x,y2:y}},smooth:function(R,D){var E=this.path2curve(R),N=[E[0]],K=E[0][1],L=E[0][2],C,A,y=1,J=E.length,M=1,H=K,I=L,P=0,Q=0;for(;y<J;y++){var i=E[y],j=i.length,x=E[y-1],G=x.length,B=E[y+1],F=B&&B.length;if(i[0]=="M"){H=i[1];I=i[2];C=y+1;while(E[C][0]!="C"){C++}P=E[C][5];Q=E[C][6];N.push(["M",H,I]);M=N.length;K=H;L=I;continue}if(i[j-2]==H&&i[j-1]==I&&(!B||B[0]=="M")){var O=N[M].length;A=this.getAnchors(x[G-2],x[G-1],H,I,N[M][O-2],N[M][O-1],D);N[M][1]=A.x2;N[M][2]=A.y2}else{if(!B||B[0]=="M"){A={x1:i[j-2],y1:i[j-1]}}else{A=this.getAnchors(x[G-2],x[G-1],i[j-2],i[j-1],B[F-2],B[F-1],D)}}N.push(["C",K,L,A.x1,A.y1,i[j-2],i[j-1]]);K=A.x2;L=A.y2}return N},findDotAtSegment:function(s,t,q,r,l,m,n,o,k){var p=1-k;return{x:Math.pow(p,3)*s+Math.pow(p,2)*3*k*q+p*3*k*k*l+Math.pow(k,3)*n,y:Math.pow(p,3)*t+Math.pow(p,2)*3*k*r+p*3*k*k*m+Math.pow(k,3)*o}},snapEnds:function(s,m,C){if(Ext.isDate(s)){return this.snapEndsByDate(s,m,C)}var D=(m-s)/C,F=Math.floor(Math.log(D)/Math.LN10)+1,B=Math.pow(10,F),i,u=Math.round((D%B)*Math.pow(10,2-F)),E=[[0,15],[20,4],[30,2],[40,4],[50,9],[60,4],[70,2],[80,4],[100,15]],z=0,t,x,y,A,w=1000000000,v=E.length;i=s=Math.floor(s/B)*B;for(y=0;y<v;y++){t=E[y][0];x=(t-u)<0?1000000:(t-u)/E[y][1];if(x<w){A=t;w=x}}D=Math.floor(D*Math.pow(10,-F))*Math.pow(10,F)+A*Math.pow(10,F-2);while(i<m){i+=D;z++}m=+i.toFixed(10);return{from:s,to:m,power:F,step:D,steps:z}},snapEndsByDate:function(k,l,i,j){var o=false,m=[[Ext.Date.MILLI,[1,2,3,5,10,20,30,50,100,200,300,500]],[Ext.Date.SECOND,[1,2,3,5,10,15,30]],[Ext.Date.MINUTE,[1,2,3,5,10,20,30]],[Ext.Date.HOUR,[1,2,3,4,6,12]],[Ext.Date.DAY,[1,2,3,7,14]],[Ext.Date.MONTH,[1,2,3,4,6]]],p,n;Ext.each(m,function(a,b){for(p=0;p<a[1].length;p++){if(l<Ext.Date.add(k,a[0],a[1][p]*i)){o=[a[0],a[1][p]];return false}}});if(!o){n=this.snapEnds(k.getFullYear(),l.getFullYear()+1,i,j);o=[Date.YEAR,Math.round(n.step)]}return this.snapEndsByDateAndStep(k,l,o,j)},snapEndsByDateAndStep:function(k,l,n,j){var o=[k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds(),k.getMilliseconds()],i=0,m,p;if(j){m=k}else{switch(n[0]){case Ext.Date.MILLI:m=new Date(o[0],o[1],o[2],o[3],o[4],o[5],Math.floor(o[6]/n[1])*n[1]);break;case Ext.Date.SECOND:m=new Date(o[0],o[1],o[2],o[3],o[4],Math.floor(o[5]/n[1])*n[1],0);break;case Ext.Date.MINUTE:m=new Date(o[0],o[1],o[2],o[3],Math.floor(o[4]/n[1])*n[1],0,0);break;case Ext.Date.HOUR:m=new Date(o[0],o[1],o[2],Math.floor(o[3]/n[1])*n[1],0,0,0);break;case Ext.Date.DAY:m=new Date(o[0],o[1],Math.floor(o[2]-1/n[1])*n[1]+1,0,0,0,0);break;case Ext.Date.MONTH:m=new Date(o[0],Math.floor(o[1]/n[1])*n[1],1,0,0,0,0);break;default:m=new Date(Math.floor(o[0]/n[1])*n[1],0,1,0,0,0,0);break}}p=m;while(p<l){p=Ext.Date.add(p,n[0],n[1]);i++}if(j){p=l}return{from:+m,to:+p,step:(p-m)/i,steps:i}},sorter:function(a,b){return a.offset-b.offset},rad:function(b){return b%360*Math.PI/180},degrees:function(b){return b*180/Math.PI%360},withinBox:function(e,f,d){d=d||{};return(e>=d.x&&e<=(d.x+d.width)&&f>=d.y&&f<=(d.y+d.height))},parseGradient:function(m){var r=this,q=m.type||"linear",t=m.angle||0,o=r.radian,l=m.stops,v=[],n,u,p,s;if(q=="linear"){u=[0,0,Math.cos(t*o),Math.sin(t*o)];p=1/(Math.max(Math.abs(u[2]),Math.abs(u[3]))||1);u[2]*=p;u[3]*=p;if(u[2]<0){u[0]=-u[2];u[2]=0}if(u[3]<0){u[1]=-u[3];u[3]=0}}for(n in l){if(l.hasOwnProperty(n)&&r.stopsRE.test(n)){s={offset:parseInt(n,10),color:Ext.draw.Color.toHex(l[n].color)||"#ffffff",opacity:l[n].opacity||1};v.push(s)}}Ext.Array.sort(v,r.sorter);if(q=="linear"){return{id:m.id,type:q,vector:u,stops:v}}else{return{id:m.id,type:q,centerX:m.centerX,centerY:m.centerY,focalX:m.focalX,focalY:m.focalY,radius:m.radius,vector:u,stops:v}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(j,p,r,m,k){r=(typeof r=="number")?r:1;var l=this.unitRE,o=l.exec(j),q,n;if(o){j=o[1];n=o[2];if(!this.scrollRE.test(k)&&!n&&this.pixelDefaultsRE.test(k)){n="px"}}j=+j||0;o=l.exec(p);if(o){p=o[1];n=o[2]||n}p=+p||0;q=(m!=null)?m:j;return{from:j,delta:(p-q)*r,units:n}},get:function(i,w,x,j,q){var o=i.length,u=[],t,r,p,v,s;for(t=0;t<o;t++){if(j){r=j[t][1].from}if(Ext.isArray(i[t][1])&&Ext.isArray(w)){p=[];v=0;s=i[t][1].length;for(;v<s;v++){p.push(this.computeDelta(i[t][1][v],w[v],x,r,q))}u.push([i[t][0],p])}else{u.push([i[t][0],this.computeDelta(i[t][1],w,x,r,q)])}}return u},set:function(i,m){var l=i.length,p=[],o,r,j,n,q;for(o=0;o<l;o++){r=i[o][1];if(Ext.isArray(r)){j=[];q=0;n=r.length;for(;q<n;q++){j.push(r[q].from+(r[q].delta*m)+(r[q].units||0))}p.push([i[o][0],j])}else{p.push([i[o][0],r.from+(r.delta*m)+(r.units||0)])}}return p}},color:{rgbRE:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,hexRE:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,hex3RE:/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,parseColor:function(g,i){i=(typeof i=="number")?i:1;var h,j=false,f;Ext.each([this.hexRE,this.rgbRE,this.hex3RE],function(a,b){h=(b%2==0)?16:10;f=a.exec(g);if(f&&f.length==4){if(b==2){f[1]+=f[1];f[2]+=f[2];f[3]+=f[3]}j={red:parseInt(f[1],h),green:parseInt(f[2],h),blue:parseInt(f[3],h)};return false}});return j||g},computeDelta:function(j,i,l,n){j=this.parseColor(j);i=this.parseColor(i,l);var k=n?n:j,h=typeof k,m=typeof i;if(h=="string"||h=="undefined"||m=="string"||m=="undefined"){return i||k}return{from:j,delta:{red:Math.round((i.red-k.red)*l),green:Math.round((i.green-k.green)*l),blue:Math.round((i.blue-k.blue)*l)}}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,n){var m=i.length,p=[],o,q,r,l,k;for(o=0;o<m;o++){q=i[o][1];if(q){l=q.from;k=q.delta;q=(typeof q=="object"&&"red" in q)?"rgb("+q.red+", "+q.green+", "+q.blue+")":q;q=(typeof q=="object"&&q.length)?q[0]:q;if(typeof q=="undefined"){return[]}r=typeof q=="string"?q:"rgb("+[(l.red+Math.round(k.red*n))%256,(l.green+Math.round(k.green*n))%256,(l.blue+Math.round(k.blue*n))%256].join(",")+")";p.push([i[o][0],r])}}return p}},object:{interpolate:function(g,e){e=(typeof e=="number")?e:1;var f={},h;for(h in g){f[h]=parseInt(g[h],10)*e}return f},computeDelta:function(j,i,n,h){j=this.interpolate(j);i=this.interpolate(i,n);var k=h?h:j,l={},m;for(m in i){l[m]=i[m]-k[m]}return{from:j,delta:l}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,o){var n=i.length,r=[],p={},q,m,l,s,t;for(q=0;q<n;q++){s=i[q][1];m=s.from;l=s.delta;for(t in m){p[t]=Math.round(m[t]+l[t]*o)}r.push([i[q][0],p])}return r}},path:{computeDelta:function(h,g,j,f){j=(typeof j=="number")?j:1;var i;h=+h||0;g=+g||0;i=(f!=null)?f:h;return{from:h,delta:(g-i)*j}},forcePath:function(b){if(!Ext.isArray(b)&&!Ext.isArray(b[0])){b=Ext.draw.Draw.parsePathString(b)}return b},get:function(D,x,E,k){var C=this.forcePath(x),v=[],i=D.length,B,y,u,z,t,w,A,F,j;for(u=0;u<i;u++){j=this.forcePath(D[u][1]);z=Ext.draw.Draw.interpolatePaths(j,C);j=z[0];C=z[1];B=j.length;F=[];for(w=0;w<B;w++){z=[j[w][0]];y=j[w].length;for(A=1;A<y;A++){t=k&&k[0][1][w][A].from;z.push(this.computeDelta(j[w][A],C[w][A],E,t))}F.push(z)}v.push([D[u][0],F])}return v},set:function(i,k){var j=i.length,t=[],r,s,u,q,p,v,x,w;for(r=0;r<j;r++){v=i[r][1];q=[];x=v.length;for(s=0;s<x;s++){p=[v[s][0]];w=v[s].length;for(u=1;u<w;u++){p.push(v[s][u].from+v[s][u].delta*k)}q.push(p.join(","))}t.push([i[r][0],q.join(",")])}return t}}}},function(){Ext.each(["outlineColor","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","fill","stroke"],function(b){this[b]=this.color},this)});Ext.define("Ext.fx.Anim",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager","Ext.fx.Animator","Ext.fx.Easing","Ext.fx.CubicBezier","Ext.fx.PropertyHandler"],isAnimation:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",damper:1,bezierRE:/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,reverse:false,running:false,paused:false,iterations:1,alternate:false,currentIteration:0,startTime:0,constructor:function(e){var d=this,f;e=e||{};if(e.keyframes){return Ext.create("Ext.fx.Animator",e)}e=Ext.apply(d,e);if(d.from===undefined){d.from={}}d.propHandlers={};d.config=e;d.target=Ext.fx.Manager.createTarget(d.target);d.easingFn=Ext.fx.Easing[d.easing];d.target.dynamic=d.dynamic;if(!d.easingFn){d.easingFn=String(d.easing).match(d.bezierRE);if(d.easingFn&&d.easingFn.length==5){f=d.easingFn;d.easingFn=Ext.fx.CubicBezier.cubicBezier(+f[1],+f[2],+f[3],+f[4])}}d.id=Ext.id(null,"ext-anim-");Ext.fx.Manager.addAnim(d);d.addEvents("beforeanimate","afteranimate","lastframe");d.mixins.observable.constructor.call(d,e);if(e.callback){d.on("afteranimate",e.callback,e.scope)}return d},setAttr:function(d,c){return Ext.fx.Manager.items.get(this.id).setAttr(this.target,d,c)},initAttrs:function(){var n=this,l=n.from,k=n.to,m=n.initialFrom||{},p={},r,q,j,o;for(o in k){if(k.hasOwnProperty(o)){r=n.target.getAttr(o,l[o]);q=k[o];if(!Ext.fx.PropertyHandler[o]){if(Ext.isObject(q)){j=n.propHandlers[o]=Ext.fx.PropertyHandler.object}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler.defaultHandler}}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler[o]}p[o]=j.get(r,q,n.damper,m[o],o)}}n.currentAttrs=p},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;if(!h.paused&&!h.currentAttrs){h.initAttrs()}h.running=true}},runAnim:function(l){var o=this,m=o.currentAttrs,s=o.duration,t=o.easingFn,u=o.propHandlers,q={},p,n,r,v;if(l>=s){l=s;v=true}if(o.reverse){l=s-l}for(r in m){if(m.hasOwnProperty(r)){n=m[r];p=v?1:t(l/s);q[r]=u[r].set(n,p)}}return q},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){if(f.alternate){f.reverse=!f.reverse}f.startTime=new Date();f.currentIteration=d;f.paused=false}else{f.currentIteration=0;f.end();f.fireEvent("lastframe",f,f.startTime)}},end:function(){var b=this;b.startTime=0;b.paused=false;b.running=false;Ext.fx.Manager.removeAnim(b);b.fireEvent("afteranimate",b,b.startTime)}});Ext.enableFx=true;Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"]},function(){var b=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{convert:function(a){return a},sortType:b.none,type:"auto"},STRING:{convert:function(d){var a=this.useNull?null:"";return(d===undefined||d===null)?a:String(d)},sortType:b.asUCString,type:"string"},INT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseInt(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"int"},FLOAT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseFloat(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"float"},BOOL:{convert:function(a){if(this.useNull&&(a===undefined||a===null||a==="")){return null}return a===true||a==="true"||a==1},sortType:b.none,type:"bool"},DATE:{convert:function(f){var e=this.dateFormat,a;if(!f){return null}if(Ext.isDate(f)){return f}if(e){if(e=="timestamp"){return new Date(f*1000)}if(e=="time"){return new Date(parseInt(f,10))}return Ext.Date.parse(f,e)}a=Date.parse(f);return a?new Date(a):null},sortType:b.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",constructor:function(e){if(Ext.isString(e)){e={name:e}}Ext.apply(this,e);var g=Ext.data.Types,f=this.sortType,h;if(this.type){if(Ext.isString(this.type)){this.type=g[this.type.toUpperCase()]||g.AUTO}}else{this.type=g.AUTO}if(Ext.isString(f)){this.sortType=Ext.data.SortTypes[f]}else{if(Ext.isEmpty(f)){this.sortType=this.type.sortType}}if(!this.convert){this.convert=this.type.convert}},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true,persist:true});Ext.define("Ext.data.NodeInterface",{requires:["Ext.data.Field"],statics:{decorate:function(p){if(!p.isNode){var k=Ext.ModelManager,n=p.modelName,l=k.getModel(n),i=l.prototype.idProperty,m=[],q,r,o;l.override(this.getPrototypeBody());m=this.applyFields(l,[{name:i,type:"string",defaultValue:null},{name:"parentId",type:"string",defaultValue:null},{name:"index",type:"int",defaultValue:null},{name:"depth",type:"int",defaultValue:0},{name:"expanded",type:"bool",defaultValue:false,persist:false},{name:"expandable",type:"bool",defaultValue:true,persist:false},{name:"checked",type:"auto",defaultValue:null},{name:"leaf",type:"bool",defaultValue:false,persist:false},{name:"cls",type:"string",defaultValue:null,persist:false},{name:"iconCls",type:"string",defaultValue:null,persist:false},{name:"icon",type:"string",defaultValue:null,persist:false},{name:"root",type:"boolean",defaultValue:false,persist:false},{name:"isLast",type:"boolean",defaultValue:false,persist:false},{name:"isFirst",type:"boolean",defaultValue:false,persist:false},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false},{name:"loaded",type:"boolean",defaultValue:false,persist:false},{name:"loading",type:"boolean",defaultValue:false,persist:false},{name:"href",type:"string",defaultValue:null,persist:false},{name:"hrefTarget",type:"string",defaultValue:null,persist:false},{name:"qtip",type:"string",defaultValue:null,persist:false},{name:"qtitle",type:"string",defaultValue:null,persist:false}]);o=m.length;for(q=0;q<o;++q){r=m[q];if(p.get(r.name)===undefined){p.data[r.name]=r.defaultValue}}}Ext.applyIf(p,{firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,childNodes:[]});p.commit(true);p.enableBubble(["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort"]);return p},applyFields:function(m,l){var r=m.prototype,p=r.fields,i=p.keys,n=l.length,s,q,t,o=[];for(q=0;q<n;q++){s=l[q];if(!Ext.Array.contains(i,s.name)){s=Ext.create("data.field",s);o.push(s);p.add(s)}}return o},getPrototypeBody:function(){return{isNode:true,createNode:function(b){if(Ext.isObject(b)&&!b.isModel){b=Ext.ModelManager.create(b,this.modelName)}return Ext.data.NodeInterface.decorate(b)},isLeaf:function(){return this.get("leaf")===true},setFirstChild:function(b){this.firstChild=b},setLastChild:function(b){this.lastChild=b},updateInfo:function(n){var m=this,u=m.isRoot(),p=m.parentNode,t=(!p?true:p.firstChild==m),q=(!p?true:p.lastChild==m),r=0,i=m,v=m.childNodes,o=v.length,s=0;while(i.parentNode){++r;i=i.parentNode}m.beginEdit();m.set({isFirst:t,isLast:q,depth:r,index:p?p.indexOf(m):0,parentId:p?p.getId():null});m.endEdit(n);if(n){m.commit()}for(s=0;s<o;s++){v[s].updateInfo(n)}},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var b=this;if(b.get("expandable")){return !(b.isLeaf()||(b.isLoaded()&&!b.hasChildNodes()))}return false},appendChild:function(q,i,k){var m=this,p,n,o,l,r;if(Ext.isArray(q)){for(p=0,n=q.length;p<n;p++){m.appendChild(q[p])}}else{q=m.createNode(q);if(i!==true&&m.fireEvent("beforeappend",m,q)===false){return false}o=m.childNodes.length;l=q.parentNode;if(l){if(i!==true&&q.fireEvent("beforemove",q,l,m,o)===false){return false}l.removeChild(q,null,false,true)}o=m.childNodes.length;if(o===0){m.setFirstChild(q)}m.childNodes.push(q);q.parentNode=m;q.nextSibling=null;m.setLastChild(q);r=m.childNodes[o-1];if(r){q.previousSibling=r;r.nextSibling=q;r.updateInfo(k)}else{q.previousSibling=null}q.updateInfo(k);if(!m.isLoaded()){m.set("loaded",true)}else{if(m.childNodes.length===1){m.set("loaded",m.isLoaded())}}if(i!==true){m.fireEvent("append",m,q,o);if(l){q.fireEvent("move",q,l,m,o)}}return q}},getBubbleTarget:function(){return this.parentNode},removeChild:function(j,g,l,i){var k=this,h=k.indexOf(j);if(h==-1||(l!==true&&k.fireEvent("beforeremove",k,j)===false)){return false}Ext.Array.erase(k.childNodes,h,1);if(k.firstChild==j){k.setFirstChild(j.nextSibling)}if(k.lastChild==j){k.setLastChild(j.previousSibling)}if(j.previousSibling){j.previousSibling.nextSibling=j.nextSibling;j.previousSibling.updateInfo(i)}if(j.nextSibling){j.nextSibling.previousSibling=j.previousSibling;j.nextSibling.updateInfo(i)}if(l!==true){k.fireEvent("remove",k,j)}if(!k.childNodes.length){k.set("loaded",k.isLoaded())}if(g){j.destroy(true)}else{j.clear()}return j},copy:function(k,l){var i=this,g=i.callOverridden(arguments),h=i.childNodes?i.childNodes.length:0,j;if(l){for(j=0;j<h;j++){g.appendChild(i.childNodes[j].copy(true))}}return g},clear:function(d){var c=this;c.parentNode=c.previousSibling=c.nextSibling=null;if(d){c.firstChild=c.lastChild=null}},destroy:function(e){var f=this,d=f.destroyOptions;if(e===true){f.clear(true);Ext.each(f.childNodes,function(a){a.destroy(true)});f.childNodes=null;delete f.destroyOptions;f.callOverridden([d])}else{f.destroyOptions=e;f.remove(true)}},insertBefore:function(m,j,o){var n=this,i=n.indexOf(j),p=m.parentNode,l=i,k;if(!j){return n.appendChild(m)}if(m==j){return false}m=n.createNode(m);if(o!==true&&n.fireEvent("beforeinsert",n,m,j)===false){return false}if(p==n&&n.indexOf(m)<i){l--}if(p){if(o!==true&&m.fireEvent("beforemove",m,p,n,i,j)===false){return false}p.removeChild(m)}if(l===0){n.setFirstChild(m)}Ext.Array.splice(n.childNodes,l,0,m);m.parentNode=n;m.nextSibling=j;j.previousSibling=m;k=n.childNodes[l-1];if(k){m.previousSibling=k;k.nextSibling=m;k.updateInfo()}else{m.previousSibling=null}m.updateInfo();if(!n.isLoaded()){n.set("loaded",true)}else{if(n.childNodes.length===1){n.set("loaded",n.isLoaded())}}if(o!==true){n.fireEvent("insert",n,m,j);if(p){m.fireEvent("move",m,p,n,l,j)}}return m},insertChild:function(e,f){var d=this.childNodes[e];if(d){return this.insertBefore(f,d)}else{return this.appendChild(f)}},remove:function(d,f){var e=this.parentNode;if(e){e.removeChild(this,d,f,true)}return this},removeAll:function(f,e){var g=this.childNodes,h;while((h=g[0])){this.removeChild(h,f,e)}return this},getChildAt:function(b){return this.childNodes[b]},replaceChild:function(f,g,h){var e=g?g.nextSibling:null;this.removeChild(g,h);this.insertBefore(f,e,h);return g},indexOf:function(b){return Ext.Array.indexOf(this.childNodes,b)},getPath:function(g,h){g=g||this.idProperty;h=h||"/";var e=[this.get(g)],f=this.parentNode;while(f){e.unshift(f.get(g));f=f.parentNode}return h+e.join(h)},getDepth:function(){return this.get("depth")},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.parentNode}},cascade:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead.")}return this.cascadeBy.apply(this,arguments)},cascadeBy:function(k,l,h){if(k.apply(l||this,h||[this])!==false){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){i[g].cascadeBy(k,l,h)}}},eachChild:function(k,l,h){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){if(k.apply(l||this,h||[i[g]])===false){break}}},findChild:function(d,f,e){return this.findChildBy(function(){return this.get(d)==f},null,e)},findChildBy:function(l,m,i){var n=this.childNodes,j=n.length,o=0,k,p;for(;o<j;o++){k=n[o];if(l.call(m||k,k)===true){return k}else{if(i){p=k.findChildBy(l,m,i);if(p!==null){return p}}}}return null},contains:function(b){return b.isAncestor(this)},isAncestor:function(d){var c=this.parentNode;while(c){if(c==d){return true}c=c.parentNode}return false},sort:function(k,h,i){var m=this.childNodes,l=m.length,n,j;if(l>0){Ext.Array.sort(m,k);for(n=0;n<l;n++){j=m[n];j.previousSibling=m[n-1];j.nextSibling=m[n+1];if(n===0){this.setFirstChild(j);j.updateInfo()}if(n==l-1){this.setLastChild(j);j.updateInfo()}if(h&&!j.isLeaf()){j.sort(k,true,true)}}if(i!==true){this.fireEvent("sort",this,m)}}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isLoading:function(){return this.get("loading")},isRoot:function(){return !this.parentNode},isVisible:function(){var b=this.parentNode;while(b){if(!b.isExpanded()){return false}b=b.parentNode}return true},expand:function(f,g,e){var h=this;if(!h.isLeaf()){if(h.isLoading()){h.on("expand",function(){h.expand(f,g,e)},h,{single:true})}else{if(!h.isExpanded()){h.fireEvent("beforeexpand",h,function(){h.set("expanded",true);h.fireEvent("expand",h,h.childNodes,false);if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}}}}else{Ext.callback(g,e||h)}},expandChildren:function(o,k,i){var l=this,n=0,r=l.childNodes,m=r.length,p,q=0;for(;n<m;++n){p=r[n];if(!p.isLeaf()&&!p.isExpanded()){q++;r[n].expand(o,function(){q--;if(k&&!q){Ext.callback(k,i||l,[l.childNodes])}})}}if(!q&&k){Ext.callback(k,i||l,[l.childNodes])}},collapse:function(f,g,e){var h=this;if(!h.isLeaf()){if(!h.collapsing&&h.isExpanded()){h.fireEvent("beforecollapse",h,function(){h.set("expanded",false);h.fireEvent("collapse",h,h.childNodes,false);if(f){h.collapseChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.collapseChildren(true,g,e)}}}else{Ext.callback(g,e||h,[h.childNodes])}},collapseChildren:function(o,k,i){var l=this,n=0,q=l.childNodes,m=q.length,p,r=0;for(;n<m;++n){p=q[n];if(!p.isLeaf()&&p.isExpanded()){r++;q[n].collapse(o,function(){r--;if(k&&!r){Ext.callback(k,i||l,[l.childNodes])}})}}if(!r&&k){Ext.callback(k,i||l,[l.childNodes])}}}}}});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(h){var i=[],g,j,f;for(f=0;f<this.length;f++){g=this.items[f];if(g.field==h){i.push(g)}}return i}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(c){var d=this;d.menu=c;d.callParent([c.el,{down:d.down,enter:d.enter,esc:d.escape,left:d.left,right:d.right,space:d.enter,tab:d.tab,up:d.up}])},down:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.DOWN&&e.isWhitelisted(f)){return true}e.focusNextItem(1)},enter:function(d){var f=this.menu,e=f.focusedItem;if(f.activeItem){f.onClick(d)}else{if(e&&e.isFormField){return true}}},escape:function(b){Ext.menu.Manager.hideAll()},focusNextItem:function(k){var j=this.menu,h=j.items,m=j.focusedItem,n=m?h.indexOf(m):-1,i=n+k;while(i!=n){if(i<0){i=h.length-1}else{if(i>=h.length){i=0}}var l=h.getAt(i);if(j.canActivateItem(l)){j.setActiveItem(l);break}i+=k}},isWhitelisted:function(b){return Ext.FocusManager.isWhitelisted(b)},left:function(e){var h=this.menu,g=h.focusedItem,f=h.activeItem;if(g&&this.isWhitelisted(g)){return true}h.hide();if(h.parentMenu){h.parentMenu.focus()}},right:function(j){var i=this.menu,h=i.focusedItem,g=i.activeItem,e;if(h&&this.isWhitelisted(h)){return true}if(g){e=i.activeItem.menu;if(e){g.expandMenu(0);Ext.defer(function(){e.setActiveItem(e.items.getAt(0))},25)}}},tab:function(c){var d=this;if(c.shiftKey){d.up(c)}else{d.down(c)}},up:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.UP&&e.isWhitelisted(f)){return true}e.focusNextItem(-1)}});Ext.define("Ext.menu.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.util.KeyMap"],alternateClassName:"Ext.menu.MenuMgr",uses:["Ext.menu.Menu"],menus:{},groups:{},attached:false,lastShow:new Date(),init:function(){var b=this;b.active=Ext.create("Ext.util.MixedCollection");Ext.getDoc().addKeyListener(27,function(){if(b.active.length>0){b.hideAll()}},b)},hideAll:function(){var d=this.active,c;if(d&&d.length>0){c=d.clone();c.each(function(a){a.hide()});return true}return false},onHide:function(e){var d=this,f=d.active;f.remove(e);if(f.length<1){Ext.getDoc().un("mousedown",d.onMouseDown,d);d.attached=false}},onShow:function(i){var l=this,k=l.active,m=k.last(),n=l.attached,h=i.getEl(),j;l.lastShow=new Date();k.add(i);if(!n){Ext.getDoc().on("mousedown",l.onMouseDown,l);l.attached=true}i.toFront()},onBeforeHide:function(b){if(b.activeChild){b.activeChild.hide()}if(b.autoHideTimer){clearTimeout(b.autoHideTimer);delete b.autoHideTimer}},onBeforeShow:function(e){var f=this.active,d=e.parentMenu;f.remove(e);if(!d&&!e.allowOtherMenus){this.hideAll()}else{if(d&&d.activeChild&&e!=d.activeChild){d.activeChild.hide()}}},onMouseDown:function(h){var e=this,i=e.active,g=e.lastShow,j=h.target;if(Ext.Date.getElapsed(g)>50&&i.length>0&&!h.getTarget("."+Ext.baseCSSPrefix+"menu")){e.hideAll();if(Ext.isIE&&Ext.fly(j).focusable()){j.focus()}}},register:function(c){var d=this;if(!d.active){d.init()}if(c.floating){d.menus[c.id]=c;c.on({beforehide:d.onBeforeHide,hide:d.onHide,beforeshow:d.onBeforeShow,show:d.onShow,scope:d})}},get:function(c){var d=this.menus;if(typeof c=="string"){if(!d){return null}return d[c]}else{if(c.isMenu){return c}else{if(Ext.isArray(c)){return Ext.create("Ext.menu.Menu",{items:c})}else{return Ext.ComponentManager.create(c,"menu")}}}},unregister:function(g){var f=this,e=f.menus,h=f.active;delete e[g.id];h.remove(g);g.un({beforehide:f.onBeforeHide,hide:f.onHide,beforeshow:f.onBeforeShow,show:f.onShow,scope:f})},registerCheckable:function(f){var e=this.groups,d=f.group;if(d){if(!e[d]){e[d]=[]}e[d].push(f)}},unregisterCheckable:function(f){var e=this.groups,d=f.group;if(d){Ext.Array.remove(e[d],f)}},onCheckChange:function(o,m){var j=this.groups,p=o.group,i=0,k,n,l;if(p&&m){k=j[p];n=k.length;for(;i<n;i++){l=k[i];if(l!=o){l.setChecked(false)}}}}});Ext.define("Ext.layout.container.AbstractFit",{extend:"Ext.layout.container.Container",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit"});Ext.define("Ext.layout.component.Button",{alias:["layout.button"],extend:"Ext.layout.component.Component",type:"button",cellClsRE:/-btn-(tl|br)\b/,htmlRE:/<.*>/,beforeLayout:function(){return this.callParent(arguments)||this.lastText!==this.owner.text},onLayout:function(B,q){var t=this,x=Ext.isNumber,A=t.owner,r=A.el,w=A.btnEl,z=A.btnInnerEl,y=A.btnIconEl,v=(A.icon||A.iconCls)&&(A.iconAlign=="top"||A.iconAlign=="bottom"),C=A.minWidth,s=A.maxWidth,D,p,u;t.getTargetInfo();t.callParent(arguments);z.unclip();t.setTargetSize(B,q);if(!x(B)){if(A.text&&(Ext.isIE6||Ext.isIE7)&&Ext.isStrict&&w&&w.getWidth()>20){p=t.btnFrameWidth;u=Ext.util.TextMetrics.measure(z,A.text);r.setWidth(u.width+p+t.adjWidth);w.setWidth(u.width+p);z.setWidth(u.width+p);if(v){y.setWidth(u.width+p)}}else{r.setWidth(null);w.setWidth(null);z.setWidth(null);y.setWidth(null)}if(C||s){D=r.getWidth();if(C&&(D<C)){t.setTargetSize(C,q)}else{if(s&&(D>s)){z.clip();t.setTargetSize(s,q)}}}}this.lastText=A.text},setTargetSize:function(v,l){var p=this,u=p.owner,r=Ext.isNumber,s=u.btnInnerEl,n=(r(v)?v-p.adjWidth:v),q=(r(l)?l-p.adjHeight:l),t=p.btnFrameHeight,m=u.getText(),o;p.callParent(arguments);p.setElementSize(u.btnEl,n,q);p.setElementSize(s,n,q);if(q>=0){s.setStyle("line-height",q-t+"px")}if(m&&this.htmlRE.test(m)){s.setStyle("line-height","normal");o=Ext.util.TextMetrics.measure(s,m).height;s.setStyle("padding-top",p.btnFrameTop+Math.max(s.getHeight()-t-o,0)/2+"px");p.setElementSize(s,n,q)}},getTargetInfo:function(){var l=this,i=l.owner,m=i.el,n=l.frameSize,j=i.frameBody,h=i.btnWrap,k=i.btnInnerEl;if(!("adjWidth" in l)){Ext.apply(l,{adjWidth:n.left+n.right+m.getBorderWidth("lr")+m.getPadding("lr")+h.getPadding("lr")+(j?j.getFrameWidth("lr"):0),adjHeight:n.top+n.bottom+m.getBorderWidth("tb")+m.getPadding("tb")+h.getPadding("tb")+(j?j.getFrameWidth("tb"):0),btnFrameWidth:k.getFrameWidth("lr"),btnFrameHeight:k.getFrameWidth("tb"),btnFrameTop:k.getFrameWidth("t")})}return l.callParent()}});Ext.define("Ext.layout.component.Tab",{alias:["layout.tab"],extend:"Ext.layout.component.Button",beforeLayout:function(){var c=this,d=c.lastClosable!==c.owner.closable;if(d){delete c.adjWidth}return this.callParent(arguments)||d},onLayout:function(){var b=this;b.callParent(arguments);b.lastClosable=b.owner.closable}});Ext.define("Ext.state.Manager",{singleton:true,requires:["Ext.state.Provider"],constructor:function(){this.provider=Ext.create("Ext.state.Provider")},setProvider:function(b){this.provider=b},get:function(c,d){return this.provider.get(c,d)},set:function(d,c){this.provider.set(d,c)},clear:function(b){this.provider.clear(b)},getProvider:function(){return this.provider}});Ext.define("Ext.state.Stateful",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.state.Manager"],stateful:true,saveDelay:100,autoGenIdRe:/^((\w+-)|(ext-comp-))\d{4,}$/i,constructor:function(d){var c=this;d=d||{};if(Ext.isDefined(d.stateful)){c.stateful=d.stateful}if(Ext.isDefined(d.saveDelay)){c.saveDelay=d.saveDelay}c.stateId=c.stateId||d.stateId;if(!c.stateEvents){c.stateEvents=[]}if(d.stateEvents){c.stateEvents.concat(d.stateEvents)}this.addEvents("beforestaterestore","staterestore","beforestatesave","statesave");c.mixins.observable.constructor.call(c);if(c.stateful!==false){c.initStateEvents();c.initState()}},initStateEvents:function(){this.addStateEvents(this.stateEvents)},addStateEvents:function(h){if(!Ext.isArray(h)){h=[h]}var g=this,e=0,f=h.length;for(;e<f;++e){g.on(h[e],g.onStateChange,g)}},onStateChange:function(){var c=this,d=c.saveDelay;if(d>0){if(!c.stateTask){c.stateTask=Ext.create("Ext.util.DelayedTask",c.saveState,c)}c.stateTask.delay(c.saveDelay)}else{c.saveState()}},saveState:function(){var e=this,f,d;if(e.stateful!==false){f=e.getStateId();if(f){d=e.getState();if(e.fireEvent("beforestatesave",e,d)!==false){Ext.state.Manager.set(f,d);e.fireEvent("statesave",e,d)}}}},getState:function(){return null},applyState:function(b){if(b){Ext.apply(this,b)}},getStateId:function(){var d=this,c=d.stateId;if(!c){c=d.autoGenIdRe.test(String(d.id))?null:d.id}return c},initState:function(){var e=this,f=e.getStateId(),d;if(e.stateful!==false){if(f){d=Ext.state.Manager.get(f);if(d){d=Ext.apply({},d);if(e.fireEvent("beforestaterestore",e,d)!==false){e.applyState(d);e.fireEvent("staterestore",e,d)}}}}},savePropToState:function(i,j,k){var g=this,l=g[i],h=g.initialConfig;if(g.hasOwnProperty(i)){if(!h||h[i]!==l){if(j){j[k||i]=l}return true}}return false},savePropsToState:function(f,d){var e=this;Ext.each(f,function(a){e.savePropToState(a,d)});return d},destroy:function(){var b=this.stateTask;if(b){b.cancel()}this.clearListeners()}});Ext.define("Ext.AbstractComponent",{requires:["Ext.ComponentQuery","Ext.ComponentManager"],mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate",state:"Ext.state.Stateful"},uses:["Ext.PluginManager","Ext.ComponentManager","Ext.Element","Ext.DomHelper","Ext.XTemplate","Ext.ComponentQuery","Ext.ComponentLoader","Ext.EventManager","Ext.layout.Layout","Ext.layout.component.Auto","Ext.LoadMask","Ext.ZIndexManager"],statics:{AUTO_ID:1000},isComponent:true,getAutoId:function(){return ++Ext.AbstractComponent.AUTO_ID},renderTpl:null,tplWriteMode:"overwrite",baseCls:Ext.baseCSSPrefix+"component",disabledCls:Ext.baseCSSPrefix+"item-disabled",ui:"default",uiCls:[],hidden:false,disabled:false,draggable:false,floating:false,hideMode:"display",styleHtmlContent:false,styleHtmlCls:Ext.baseCSSPrefix+"html",autoShow:false,autoRender:false,needsLayout:false,allowDomMove:true,rendered:false,componentLayoutCounter:0,weight:0,trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,maskOnDisable:true,constructor:function(e){var g=this,h,f;e=e||{};g.initialConfig=e;Ext.apply(g,e);g.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","resize","move");g.getId();g.mons=[];g.additionalCls=[];g.renderData=g.renderData||{};g.renderSelectors=g.renderSelectors||{};if(g.plugins){g.plugins=[].concat(g.plugins);g.constructPlugins()}g.initComponent();Ext.ComponentManager.register(g);g.mixins.observable.constructor.call(g);g.mixins.state.constructor.call(g,e);this.addStateEvents("resize");if(g.plugins){g.plugins=[].concat(g.plugins);for(h=0,f=g.plugins.length;h<f;h++){g.plugins[h]=g.initPlugin(g.plugins[h])}}g.loader=g.getLoader();if(g.renderTo){g.render(g.renderTo)}if(g.autoShow){g.show()}if(Ext.isDefined(g.disabledClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: disabledClass has been deprecated. Please use disabledCls.")}g.disabledCls=g.disabledClass;delete g.disabledClass}},initComponent:function(){this.constructPlugins()},getState:function(){var k=this,l=k.ownerCt?(k.shadowOwnerCt||k.ownerCt).getLayout():null,j={collapsed:k.collapsed},n=k.width,h=k.height,i=k.collapseMemento,m;if(k.collapsed&&i){if(Ext.isDefined(i.data.width)){n=i.width}if(Ext.isDefined(i.data.height)){h=i.height}}if(l&&k.flex){j.flex=k.flex;if(l.perpendicularPrefix){j[l.perpendicularPrefix]=k["get"+l.perpendicularPrefixCap]()}else{if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: Specified a flex value on a component not inside a Box layout")}}}else{if(l&&k.anchor){j.anchor=k.anchor;m=k.anchor.split(" ").concat(null);if(!m[0]){if(k.width){j.width=n}}if(!m[1]){if(k.height){j.height=h}}}else{if(k.width){j.width=n}if(k.height){j.height=h}}}if(j.width==k.initialConfig.width){delete j.width}if(j.height==k.initialConfig.height){delete j.height}if(l&&l.align&&(l.align.indexOf("stretch")!==-1)){delete j[l.perpendicularPrefix]}return j},show:Ext.emptyFn,animate:function(s){var o=this,l;s=s||{};l=s.to||{};if(Ext.fx.Manager.hasFxBlock(o.id)){return o}if(!s.dynamic&&(l.height||l.width)){var p=o.getWidth(),h=p,q=o.getHeight(),r=q,t=false;if(l.height&&l.height>q){r=l.height;t=true}if(l.width&&l.width>p){h=l.width;t=true}if(t){var m=!Ext.isNumber(o.width),n=!Ext.isNumber(o.height);o.componentLayout.childrenChanged=true;o.setSize(h,r,o.ownerCt);o.el.setSize(p,q);if(m){delete o.width}if(n){delete o.height}}}return o.mixins.animate.animate.apply(o,arguments)},findLayoutController:function(){return this.findParentBy(function(b){return !b.ownerCt||(b.layout.layoutBusy&&!b.ownerCt.layout.layoutBusy)})},onShow:function(){var b=this.needsLayout;if(Ext.isObject(b)){this.doComponentLayout(b.width,b.height,b.isSetSize,b.ownerCt)}},constructPlugin:function(b){if(b.ptype&&typeof b.init!="function"){b.cmp=this;b=Ext.PluginManager.create(b)}else{if(typeof b=="string"){b=Ext.PluginManager.create({ptype:b,cmp:this})}}return b},constructPlugins:function(){var g=this,e=g.plugins,h,f;if(e){for(h=0,f=e.length;h<f;h++){e[h]=g.constructPlugin(e[h])}}},initPlugin:function(b){b.init(this);return b},doAutoRender:function(){var b=this;if(b.floating){b.render(document.body)}else{b.render(Ext.isBoolean(b.autoRender)?Ext.getBody():b.autoRender)}},render:function(d,e){var f=this;if(!f.rendered&&f.fireEvent("beforerender",f)!==false){f.rendering=true;if(f.el){f.el=Ext.get(f.el)}if(f.floating){f.onFloatRender()}d=f.initContainer(d);f.onRender(d,e);f.el.setVisibilityMode(Ext.Element[f.hideMode.toUpperCase()]);if(f.overCls){f.el.hover(f.addOverCls,f.removeOverCls,f)}f.fireEvent("render",f);f.initContent();f.afterRender(d);f.fireEvent("afterrender",f);f.initEvents();if(f.hidden){f.el.hide()}if(f.disabled){f.disable(true)}delete f.rendering}return f},onRender:function(i,j){var m=this,o=m.el,n=m.initStyles(),k,l,p;j=m.getInsertPosition(j);if(!o){if(j){o=Ext.DomHelper.insertBefore(j,m.getElConfig(),true)}else{o=Ext.DomHelper.append(i,m.getElConfig(),true)}}else{if(m.allowDomMove!==false){if(j){i.dom.insertBefore(o.dom,j)}else{i.dom.appendChild(o.dom)}}}if(Ext.scopeResetCSS&&!m.ownerCt){if(o.dom==Ext.getBody().dom){o.parent().addCls(Ext.baseCSSPrefix+"reset")}else{m.resetEl=o.wrap({cls:Ext.baseCSSPrefix+"reset"})}}m.setUI(m.ui);o.addCls(m.initCls());o.setStyle(n);m.el=o;m.initFrame();k=m.initRenderTpl();if(k){l=m.initRenderData();k.append(m.getTargetEl(),l)}m.applyRenderSelectors();m.rendered=true},afterRender:function(){var e=this,f,d;e.getComponentLayout();if(e.collapsed||(!e.ownerCt||(e.height||e.width))){e.setSize(e.width,e.height)}else{e.renderChildren()}if(e.floating&&(e.x===undefined||e.y===undefined)){if(e.floatParent){d=e.el.getAlignToXY(e.floatParent.getTargetEl(),"c-c");f=e.floatParent.getTargetEl().translatePoints(d[0],d[1])}else{d=e.el.getAlignToXY(e.container,"c-c");f=e.container.translatePoints(d[0],d[1])}e.x=e.x===undefined?f.left:e.x;e.y=e.y===undefined?f.top:e.y}if(Ext.isDefined(e.x)||Ext.isDefined(e.y)){e.setPosition(e.x,e.y)}if(e.styleHtmlContent){e.getTargetEl().addCls(e.styleHtmlCls)}},registerFloatingItem:function(c){var d=this;if(!d.floatingItems){d.floatingItems=Ext.create("Ext.ZIndexManager",d)}d.floatingItems.register(c)},renderChildren:function(){var c=this,d=c.getComponentLayout();c.suspendLayout=true;d.renderChildren();delete c.suspendLayout},frameCls:Ext.baseCSSPrefix+"frame",frameIdRegex:/[-]frame\d+[TMB][LCR]$/,frameElementCls:{tl:[],tc:[],tr:[],ml:[],mc:[],mr:[],bl:[],bc:[],br:[]},frameTpl:['<tpl if="top">','<tpl if="left"><div id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>",'<tpl if="left"><div id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>','<tpl if="bottom">','<tpl if="left"><div id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>"],frameTableTpl:["<table><tbody>",'<tpl if="top">',"<tr>",'<tpl if="left"><td id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","<tr>",'<tpl if="left"><td id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" style="background-position: 0 0;" role="presentation"></td>','<tpl if="right"><td id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>",'<tpl if="bottom">',"<tr>",'<tpl if="left"><td id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","</tbody></table>"],initFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var h=this,i=h.getFrameInfo(),f=i.width,g=h.getFrameTpl(i.table),j;if(h.frame){h.frameGenId=j=(h.frameGenId||0)+1;j=h.id+"-frame"+j;g.insertFirst(h.el,Ext.apply({},{fgid:j,ui:h.ui,uiCls:h.uiCls,frameCls:h.frameCls,baseCls:h.baseCls,frameWidth:f,top:!!i.top,left:!!i.left,right:!!i.right,bottom:!!i.bottom},h.getFramePositions(i)));h.frameBody=h.el.down("."+h.frameCls+"-mc");h.removeChildEls(function(a){return a.id&&h.frameIdRegex.test(a.id)});Ext.each(["TL","TC","TR","ML","MC","MR","BL","BC","BR"],function(a){h.childEls.push({name:"frame"+a,id:j+a})})}},updateFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,j=this.frameSize&&this.frameSize.table,k=this.frameTL,m=this.frameBL,n=this.frameML,i=this.frameMC,h;this.initFrame();if(i){if(l.frame){delete l.frameTL;delete l.frameTC;delete l.frameTR;delete l.frameML;delete l.frameMC;delete l.frameMR;delete l.frameBL;delete l.frameBC;delete l.frameBR;this.applyRenderSelectors();h=this.frameMC.dom.className;i.insertAfter(this.frameMC);this.frameMC.remove();this.frameBody=this.frameMC=i;i.dom.className=h;if(j){l.el.query("> table")[1].remove()}else{if(k){k.remove()}if(m){m.remove()}n.remove()}}else{}}else{if(l.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,i=l.el.getStyle("background-position-x"),j=l.el.getStyle("background-position-y"),k,g=false,h;if(!i&&!j){k=l.el.getStyle("background-position").split(" ");i=k[0];j=k[1]}if(parseInt(i,10)>=1000000&&parseInt(j,10)>=1000000){h=Math.max;g={table:i.substr(0,3)=="110",vertical:j.substr(0,3)=="110",top:h(i.substr(3,2),i.substr(5,2)),right:h(i.substr(5,2),j.substr(3,2)),bottom:h(j.substr(3,2),j.substr(5,2)),left:h(j.substr(5,2),i.substr(3,2))};g.width=h(g.top,g.right,g.bottom,g.left);l.el.setStyle("background-image","none")}if(l.frame===true&&!g){Ext.Error.raise("You have set frame: true explicity on this component while it doesn't have any framing defined in the CSS template. In this case IE can't figure out what sizes to use and thus framing on this component will be disabled.")}l.frame=l.frame||!!g;l.frameSize=g||false;return g},getFramePositions:function(n){var l=this,k=n.width,j=l.dock,o,q,m,p,r;if(n.vertical){q="0 -"+(k*0)+"px";m="0 -"+(k*1)+"px";if(j&&j=="right"){q="right -"+(k*0)+"px";m="right -"+(k*1)+"px"}o={tl:"0 -"+(k*0)+"px",tr:"0 -"+(k*1)+"px",bl:"0 -"+(k*2)+"px",br:"0 -"+(k*3)+"px",ml:"-"+(k*1)+"px 0",mr:"right 0",tc:q,bc:m}}else{p="-"+(k*0)+"px 0";r="right 0";if(j&&j=="bottom"){p="left bottom";r="right bottom"}o={tl:"0 -"+(k*2)+"px",tr:"right -"+(k*3)+"px",bl:"0 -"+(k*4)+"px",br:"right -"+(k*5)+"px",ml:p,mr:r,tc:"0 -"+(k*0)+"px",bc:"0 -"+(k*1)+"px"}}return o},getFrameTpl:function(b){return b?this.getTpl("frameTableTpl"):this.getTpl("frameTpl")},initCls:function(){var c=this,d=[];d.push(c.baseCls);if(Ext.isDefined(c.cmpCls)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.")}c.componentCls=c.cmpCls;delete c.cmpCls}if(c.componentCls){d.push(c.componentCls)}else{c.componentCls=c.baseCls}if(c.cls){d.push(c.cls);delete c.cls}return d.concat(c.additionalCls)},setUI:function(k){var l=this,h=Ext.Array.clone(l.uiCls),j=[],m=[],i,n;for(n=0;n<h.length;n++){i=h[n];m=m.concat(l.removeClsWithUI(i,true));j.push(i)}if(m.length){l.removeCls(m)}l.removeUIFromElement();l.ui=k;l.addUIToElement();m=[];for(n=0;n<j.length;n++){i=j[n];m=m.concat(l.addClsWithUI(i,true))}if(m.length){l.addCls(m)}},addClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&!i.hasUICls(g[f])){i.uiCls=Ext.Array.clone(i.uiCls);i.uiCls.push(g[f]);j=j.concat(i.addUIClsToElement(g[f]))}}if(h!==true){i.addCls(j)}return j},removeClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&i.hasUICls(g[f])){i.uiCls=Ext.Array.remove(i.uiCls,g[f]);j=j.concat(i.removeUIClsFromElement(g[f]))}}if(h!==true){i.removeCls(j)}return j},hasUICls:function(e){var d=this,f=d.uiCls||[];return Ext.Array.contains(f,e)},addUIClsToElement:function(j,t){var n=this,i=[],m=n.frameElementCls;i.push(Ext.baseCSSPrefix+j);i.push(n.baseCls+"-"+j);i.push(n.baseCls+"-"+n.ui+"-"+j);if(!t&&n.frame&&!Ext.supports.CSS3BorderRadius){var p=["tl","tc","tr","ml","mc","mr","bl","bc","br"],r,o,q,s;for(o=0;o<p.length;o++){s=n["frame"+p[o].toUpperCase()];r=[n.baseCls+"-"+n.ui+"-"+p[o],n.baseCls+"-"+n.ui+"-"+j+"-"+p[o]];if(s&&s.dom){s.addCls(r)}else{for(q=0;q<r.length;q++){if(Ext.Array.indexOf(m[p[o]],r[q])==-1){m[p[o]].push(r[q])}}}}}n.frameElementCls=m;return i},removeUIClsFromElement:function(i,k){var l=this,j=[],m=l.frameElementCls;j.push(Ext.baseCSSPrefix+i);j.push(l.baseCls+"-"+i);j.push(l.baseCls+"-"+l.ui+"-"+i);if(!k&&l.frame&&!Ext.supports.CSS3BorderRadius){var o=["tl","tc","tr","ml","mc","mr","bl","bc","br"],p,n;i=l.baseCls+"-"+l.ui+"-"+i+"-"+o[p];for(p=0;p<o.length;p++){n=l["frame"+o[p].toUpperCase()];if(n&&n.dom){n.removeCls(i)}else{Ext.Array.remove(m[o[p]],i)}}}l.frameElementCls=m;return j},addUIToElement:function(j){var k=this,l=k.frameElementCls;k.addCls(k.baseCls+"-"+k.ui);if(k.frame&&!Ext.supports.CSS3BorderRadius){var n=["tl","tc","tr","ml","mc","mr","bl","bc","br"],h,m,i;for(h=0;h<n.length;h++){m=k["frame"+n[h].toUpperCase()];i=k.baseCls+"-"+k.ui+"-"+n[h];if(m){m.addCls(i)}else{if(!Ext.Array.contains(l[n[h]],i)){l[n[h]].push(i)}}}}},removeUIFromElement:function(){var j=this,k=j.frameElementCls;j.removeCls(j.baseCls+"-"+j.ui);if(j.frame&&!Ext.supports.CSS3BorderRadius){var m=["tl","tc","tr","ml","mc","mr","bl","bc","br"],n,h,l,i;for(n=0;n<m.length;n++){l=j["frame"+m[n].toUpperCase()];i=j.baseCls+"-"+j.ui+"-"+m[n];if(l){l.removeCls(i)}else{Ext.Array.remove(k[m[n]],i)}}}},getElConfig:function(){if(Ext.isString(this.autoEl)){this.autoEl={tag:this.autoEl}}var b=this.autoEl||{tag:"div"};b.id=this.id;return b},getInsertPosition:function(b){if(b!==undefined){if(Ext.isNumber(b)){b=this.container.dom.childNodes[b]}else{b=Ext.getDom(b)}}return b},initContainer:function(d){var c=this;if(!d&&c.el){d=c.el.dom.parentNode;c.allowDomMove=false}c.container=Ext.get(d);if(c.ctCls){c.container.addCls(c.ctCls)}return c.container},initRenderData:function(){var b=this;return Ext.applyIf(b.renderData,{id:b.id,ui:b.ui,uiCls:b.uiCls,baseCls:b.baseCls,componentCls:b.componentCls,frame:b.frame})},getTpl:function(j){var h=this,f=h.self.prototype,i,g;if(h.hasOwnProperty(j)){g=h[j];if(g&&!(g instanceof Ext.XTemplate)){h[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g)}return h[j]}if(!(f[j] instanceof Ext.XTemplate)){i=f;do{if(i.hasOwnProperty(j)){g=i[j];if(g&&!(g instanceof Ext.XTemplate)){i[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g);break}}i=i.superclass}while(i)}return f[j]},initRenderTpl:function(){return this.getTpl("renderTpl")},initStyles:function(){var d={},f=this,e=Ext.Element;if(Ext.isString(f.style)){d=e.parseStyles(f.style)}else{d=Ext.apply({},f.style)}if(f.padding!==undefined){d.padding=e.unitizeBox((f.padding===true)?5:f.padding)}if(f.margin!==undefined){d.margin=e.unitizeBox((f.margin===true)?5:f.margin)}delete f.style;return d},initContent:function(){var e=this,g=e.getTargetEl(),f,h;if(e.html){g.update(Ext.DomHelper.markup(e.html));delete e.html}if(e.contentEl){f=Ext.get(e.contentEl);h=Ext.baseCSSPrefix;f.removeCls([h+"hidden",h+"hide-display",h+"hide-offsets",h+"hide-nosize"]);g.appendChild(f.dom)}if(e.tpl){if(!e.tpl.isTemplate){e.tpl=Ext.create("Ext.XTemplate",e.tpl)}if(e.data){e.tpl[e.tplWriteMode](g,e.data);delete e.data}}},initEvents:function(){var j=this,h=j.afterRenderEvents,f,i,g=function(a){j.mon(f,a)};if(h){for(i in h){if(h.hasOwnProperty(i)){f=j[i];if(f&&f.on){Ext.each(h[i],g)}}}}},addChildEls:function(){var c=this,d=c.childEls||(c.childEls=[]);d.push.apply(d,arguments)},removeChildEls:function(k){var l=this,i=l.childEls,m=(l.childEls=[]),j,h,n;for(h=0,j=i.length;h<j;++h){n=i[h];if(!k(n)){m.push(n)}}},applyRenderSelectors:function(){var o=this,n=o.childEls,m=o.renderSelectors,t=o.el,q=t.dom,l,i,r,p,s;if(n){l=o.id+"-";for(p=n.length;p--;){i=r=n[p];if(typeof(i)!="string"){r=i.id||(l+i.itemId);i=i.name}else{r=l+r}o[i]=t.getById(r)}}if(m){for(s in m){if(m.hasOwnProperty(s)&&m[s]){o[s]=Ext.get(Ext.DomQuery.selectNode(m[s],q))}}}},is:function(b){return Ext.ComponentQuery.is(this,b)},up:function(c){var d=this.ownerCt;if(c){for(;d;d=d.ownerCt){if(Ext.ComponentQuery.is(d,c)){return d}}}return d},nextSibling:function(c){var j=this.ownerCt,l,k,h,i;if(j){l=j.items;h=l.indexOf(this)+1;if(h){if(c){for(k=l.getCount();h<k;h++){if((i=l.getAt(h)).is(c)){return i}}}else{if(h<l.getCount()){return l.getAt(h)}}}}return null},previousSibling:function(c){var i=this.ownerCt,j,g,h;if(i){j=i.items;g=j.indexOf(this);if(g!=-1){if(c){for(--g;g>=0;g--){if((h=j.getAt(g)).is(c)){return h}}}else{if(g){return j.getAt(--g)}}}}return null},previousNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.prev(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items.items,l=Ext.Array.indexOf(k,j)-1;l>-1;l--){if(k[l].query){h=k[l].query(n);h=h[h.length-1];if(h){return h}}}return j.ownerCt.previousNode(n,true)}},nextNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.next(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items,l=k.indexOf(j)+1,k=k.items,i=k.length;l<i;l++){if(k[l].down){h=k[l].down(n);if(h){return h}}}return j.ownerCt.nextNode(n)}},getId:function(){return this.id||(this.id="ext-comp-"+(this.getAutoId()))},getItemId:function(){return this.itemId||this.id},getEl:function(){return this.el},getTargetEl:function(){return this.frameBody||this.el},isXType:function(c,d){if(Ext.isFunction(c)){c=c.xtype}else{if(Ext.isObject(c)){c=c.statics().xtype}}return !d?("/"+this.getXTypes()+"/").indexOf("/"+c+"/")!=-1:this.self.xtype==c},getXTypes:function(){var h=this.self,g,e,f;if(!h.xtypes){g=[];e=this;while(e){f=e.xtypes;if(f!==undefined){g.unshift.apply(g,f)}e=e.superclass}h.xtypeChain=g;h.xtypes=g.join("/")}return h.xtypes},update:function(e,h,f){var g=this;if(g.tpl&&!Ext.isString(e)){g.data=e;if(g.rendered){g.tpl[g.tplWriteMode](g.getTargetEl(),e||{})}}else{g.html=Ext.isObject(e)?Ext.DomHelper.markup(e):e;if(g.rendered){g.getTargetEl().update(g.html,h,f)}}if(g.rendered){g.doComponentLayout()}},setVisible:function(b){return this[b?"show":"hide"]()},isVisible:function(g){var j=this,h=j,i=!j.hidden,f=j.ownerCt;j.hiddenAncestor=false;if(j.destroyed){return false}if(g&&i&&j.rendered&&f){while(f){if(f.hidden||(f.collapsed&&!(f.getDockedItems&&Ext.Array.contains(f.getDockedItems(),h)))){j.hiddenAncestor=f;i=false;break}h=f;f=f.ownerCt}}return i},enable:function(d){var c=this;if(c.rendered){c.el.removeCls(c.disabledCls);c.el.dom.disabled=false;c.onEnable()}c.disabled=false;if(d!==true){c.fireEvent("enable",c)}return c},disable:function(d){var c=this;if(c.rendered){c.el.addCls(c.disabledCls);c.el.dom.disabled=true;c.onDisable()}c.disabled=true;if(d!==true){c.fireEvent("disable",c)}return c},onEnable:function(){if(this.maskOnDisable){this.el.unmask()}},onDisable:function(){if(this.maskOnDisable){this.el.mask()}},isDisabled:function(){return this.disabled},setDisabled:function(b){return this[b?"disable":"enable"]()},isHidden:function(){return this.hidden},addCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.addCls(d)}else{c.additionalCls=Ext.Array.unique(c.additionalCls.concat(d))}return c},addClass:function(){return this.addCls.apply(this,arguments)},removeCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.removeCls(d)}else{if(c.additionalCls.length){Ext.each(d,function(a){Ext.Array.remove(c.additionalCls,a)})}}return c},removeClass:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: removeClass has been deprecated. Please use removeCls.")}return this.removeCls.apply(this,arguments)},addOverCls:function(){var b=this;if(!b.disabled){b.el.addCls(b.overCls)}},removeOverCls:function(){this.el.removeCls(this.overCls)},addListener:function(h,k,l,i){var j=this,m,n;if(Ext.isString(h)&&(Ext.isObject(k)||i&&i.element)){if(i.element){m=k;k={};k[h]=m;h=i.element;if(l){k.scope=l}for(n in i){if(i.hasOwnProperty(n)){if(j.eventOptionsRe.test(n)){k[n]=i[n]}}}}if(j[h]&&j[h].on){j.mon(j[h],k)}else{j.afterRenderEvents=j.afterRenderEvents||{};if(!j.afterRenderEvents[h]){j.afterRenderEvents[h]=[]}j.afterRenderEvents[h].push(k)}}return j.mixins.observable.addListener.apply(j,arguments)},removeManagedListenerItem:function(i,j,k,o,m,n){var l=this,p=j.options?j.options.element:null;if(p){p=l[p];if(p&&p.un){if(i||(j.item===k&&j.ename===o&&(!m||j.fn===m)&&(!n||j.scope===n))){p.un(j.ename,j.fn,j.scope);if(!i){Ext.Array.remove(l.managedListeners,j)}}}}else{return l.mixins.observable.removeManagedListenerItem.apply(l,arguments)}},getBubbleTarget:function(){return this.ownerCt},isFloating:function(){return this.floating},isDraggable:function(){return !!this.draggable},isDroppable:function(){return !!this.droppable},onAdded:function(d,c){this.ownerCt=d;this.fireEvent("added",this,d,c)},onRemoved:function(){var b=this;b.fireEvent("removed",b,b.ownerCt);delete b.ownerCt},beforeDestroy:Ext.emptyFn,onResize:Ext.emptyFn,setSize:function(e,f){var h=this,g;if(Ext.isObject(e)){f=e.height;e=e.width}if(Ext.isNumber(e)){e=Ext.Number.constrain(e,h.minWidth,h.maxWidth)}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,h.minHeight,h.maxHeight)}if(!h.rendered||!h.isVisible()){if(h.hiddenAncestor){g=h.hiddenAncestor.layoutOnShow;g.remove(h);g.add(h)}h.needsLayout={width:e,height:f,isSetSize:true};if(!h.rendered){h.width=(e!==undefined)?e:h.width;h.height=(f!==undefined)?f:h.height}return h}h.doComponentLayout(e,f,true);return h},isFixedWidth:function(){var c=this,d=c.layoutManagedWidth;if(Ext.isDefined(c.width)||d==1){return true}if(d==2){return false}return(c.ownerCt&&c.ownerCt.isFixedWidth())},isFixedHeight:function(){var d=this,c=d.layoutManagedHeight;if(Ext.isDefined(d.height)||c==1){return true}if(c==2){return false}return(d.ownerCt&&d.ownerCt.isFixedHeight())},setCalculatedSize:function(f,g,h){var j=this,i;if(Ext.isObject(f)){h=f.ownerCt;g=f.height;f=f.width}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,j.minWidth,j.maxWidth)}if(Ext.isNumber(g)){g=Ext.Number.constrain(g,j.minHeight,j.maxHeight)}if(!j.rendered||!j.isVisible()){if(j.hiddenAncestor){i=j.hiddenAncestor.layoutOnShow;i.remove(j);i.add(j)}j.needsLayout={width:f,height:g,isSetSize:false,ownerCt:h};return j}j.doComponentLayout(f,g,false,h);return j},doComponentLayout:function(l,h,n,j){var k=this,m=k.getComponentLayout(),i=m.lastComponentSize||{width:undefined,height:undefined};if(k.rendered&&m){if(!Ext.isDefined(l)){if(k.isFixedWidth()){l=Ext.isDefined(k.width)?k.width:i.width}}if(!Ext.isDefined(h)){if(k.isFixedHeight()){h=Ext.isDefined(k.height)?k.height:i.height}}if(n){k.width=l;k.height=h}m.layout(l,h,n,j)}return k},forceComponentLayout:function(){this.doComponentLayout()},setComponentLayout:function(c){var d=this.componentLayout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.componentLayout=c;c.setOwner(this)},getComponentLayout:function(){var b=this;if(!b.componentLayout||!b.componentLayout.isLayout){b.setComponentLayout(Ext.layout.Layout.create(b.componentLayout,"autocomponent"))}return b.componentLayout},afterComponentLayout:function(n,i,h,j){var k=this,l=k.componentLayout,m=k.preLayoutSize;++k.componentLayoutCounter;if(!m||((n!==m.width)||(i!==m.height))){k.fireEvent("resize",k,n,i)}},beforeComponentLayout:function(h,f,e,g){this.preLayoutSize=this.componentLayout.lastComponentSize;return true},setPosition:function(e,f){var d=this;if(Ext.isObject(e)){f=e.y;e=e.x}if(!d.rendered){return d}if(e!==undefined||f!==undefined){d.el.setBox(e,f);d.onPosition(e,f);d.fireEvent("move",d,e,f)}return d},onPosition:Ext.emptyFn,setWidth:function(b){return this.setSize(b)},setHeight:function(b){return this.setSize(undefined,b)},getSize:function(){return this.el.getSize()},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},getLoader:function(){var f=this,d=f.autoLoad?(Ext.isObject(f.autoLoad)?f.autoLoad:{url:f.autoLoad}):null,e=f.loader||d;if(e){if(!e.isLoader){f.loader=Ext.create("Ext.ComponentLoader",Ext.apply({target:f,autoLoad:d},e))}else{e.setTarget(f)}return f.loader}return null},setLoading:function(h,g){var e=this,f;if(e.rendered){if(h!==false&&!e.collapsed){if(Ext.isObject(h)){f=h}else{if(Ext.isString(h)){f={msg:h}}else{f={}}}e.loadMask=e.loadMask||Ext.create("Ext.LoadMask",g?e.getTargetEl():e.el,f);e.loadMask.show()}else{if(e.loadMask){Ext.destroy(e.loadMask);e.loadMask=null}}}return e.loadMask},setDocked:function(d,f){var e=this;e.dock=d;if(f&&e.ownerCt&&e.rendered){e.ownerCt.doComponentLayout()}return e},onDestroy:function(){var b=this;if(b.monitorResize&&Ext.EventManager.resizeEvent){Ext.EventManager.resizeEvent.removeListener(b.setSize,b)}Ext.destroy(b.componentLayout,b.loadMask,b.floatingItems)},cleanElementRefs:function(){var j=this,l=0,k=j.childEls,m=j.renderSelectors,h,n,i;if(j.rendered){if(k){for(i=k.length;l<i;++l){n=k[l];if(typeof(n)!="string"){n=n.name}delete j[n]}}if(m){for(h in m){if(m.hasOwnProperty(h)){delete j[h]}}}}delete j.rendered;delete j.el;delete j.frameBody},destroy:function(){var b=this;if(!b.isDestroyed){if(b.fireEvent("beforedestroy",b)!==false){b.destroying=true;b.beforeDestroy();if(b.floating){delete b.floatParent;if(b.zIndexManager){b.zIndexManager.unregister(b)}}else{if(b.ownerCt&&b.ownerCt.remove){b.ownerCt.remove(b,false)}}b.onDestroy();Ext.destroy(b.plugins);if(b.rendered){b.el.remove()}b.fireEvent("destroy",b);Ext.ComponentManager.unregister(b);b.mixins.state.destroy.call(b);b.clearListeners();b.cleanElementRefs();b.destroying=false;b.isDestroyed=true}}},getPlugin:function(e){var h=0,f=this.plugins,g=f.length;for(;h<g;h++){if(f[h].pluginId===e){return f[h]}}},isDescendantOf:function(b){return !!this.findParentBy(function(a){return a===b})}},function(){this.createAlias({on:"addListener",prev:"previousSibling",next:"nextSibling"})});Ext.define("Ext.Component",{alias:["widget.component","widget.box"],extend:"Ext.AbstractComponent",requires:["Ext.util.DelayedTask"],uses:["Ext.Layer","Ext.resizer.Resizer","Ext.util.ComponentDragger"],mixins:{floating:"Ext.util.Floating"},statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g},resizeHandles:"all",floating:false,toFrontOnShow:true,hideMode:"display",hideParent:false,ariaRole:"presentation",bubbleEvents:[],actionMode:"el",monPropRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,constructor:function(d){var c=this;d=d||{};if(d.initialConfig){if(d.isAction){c.baseAction=d}d=d.initialConfig}else{if(d.tagName||d.dom||Ext.isString(d)){d={applyTo:d,id:d.id||d}}}c.callParent([d]);if(c.baseAction){c.baseAction.addComponent(c)}},initComponent:function(){var b=this;b.callParent();if(b.listeners){b.on(b.listeners);delete b.listeners}b.enableBubble(b.bubbleEvents);b.mons=[]},afterRender:function(){var c=this,d=c.resizable;if(c.floating){c.makeFloating(c.floating)}else{c.el.setVisibilityMode(Ext.Element[c.hideMode.toUpperCase()])}if(Ext.isDefined(c.autoScroll)){c.setAutoScroll(c.autoScroll)}c.callParent();if(!(c.x&&c.y)&&(c.pageX||c.pageY)){c.setPagePosition(c.pageX,c.pageY)}if(d){c.initResizable(d)}if(c.draggable){c.initDraggable()}c.initAria()},initAria:function(){var d=this.getActionEl(),c=this.ariaRole;if(c){d.dom.setAttribute("role",c)}},setAutoScroll:function(e){var d=this,f;e=!!e;if(d.rendered){f=d.getTargetEl();f.setStyle("overflow",e?"auto":"");if(e&&(Ext.isIE6||Ext.isIE7)){f.position()}}d.autoScroll=e;return d},makeFloating:function(b){this.mixins.floating.constructor.call(this,b)},initResizable:function(d){var c=this;d=Ext.apply({target:c,dynamic:false,constrainTo:c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent()),handles:c.resizeHandles},d);d.target=c;c.resizer=Ext.create("Ext.resizer.Resizer",d)},getDragEl:function(){return this.el},initDraggable:function(){var c=this,d=Ext.applyIf({el:c.getDragEl(),constrainTo:c.constrain?(c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent())):undefined},c.draggable);if(c.constrain||c.constrainDelegate){d.constrain=c.constrain;d.constrainDelegate=c.constrainDelegate}c.dd=Ext.create("Ext.util.ComponentDragger",c,d)},setPosition:function(m,o,v){var q=this,u=q.el,l={},p,n,r,s,t;if(Ext.isArray(m)){v=o;o=m[1];m=m[0]}q.x=m;q.y=o;if(!q.rendered){return q}p=q.adjustPosition(m,o);n=p.x;r=p.y;s=Ext.isNumber(n);t=Ext.isNumber(r);if(s||t){if(v){if(s){l.left=n}if(t){l.top=r}q.stopAnimation();q.animate(Ext.apply({duration:1000,listeners:{afteranimate:Ext.Function.bind(q.afterSetPosition,q,[n,r])},to:l},v))}else{if(!s){u.setTop(r)}else{if(!t){u.setLeft(n)}else{u.setLeftTop(n,r)}}q.afterSetPosition(n,r)}}return q},afterSetPosition:function(c,d){this.onPosition(c,d);this.fireEvent("move",this,c,d)},showAt:function(f,g,e){var h=this;if(h.floating){h.setPosition(f,g,e)}else{h.setPagePosition(f,g,e)}h.show()},setPagePosition:function(g,h,f){var j=this,i;if(Ext.isArray(g)){h=g[1];g=g[0]}j.pageX=g;j.pageY=h;if(j.floating&&j.floatParent){i=j.floatParent.getTargetEl().getViewRegion();if(Ext.isNumber(g)&&Ext.isNumber(i.left)){g-=i.left}if(Ext.isNumber(h)&&Ext.isNumber(i.top)){h-=i.top}j.setPosition(g,h,f)}else{i=j.el.translatePoints(g,h);j.setPosition(i.left,i.top,f)}return j},getBox:function(d){var f=this.getPosition(d),e=this.getSize();e.x=f[0];e.y=f[1];return e},updateBox:function(b){this.setSize(b.width,b.height);this.setPagePosition(b.x,b.y);return this},getOuterSize:function(){var b=this.el;return{width:b.getWidth()+b.getMargin("lr"),height:b.getHeight()+b.getMargin("tb")}},adjustPosition:function(e,f){if(this.floating&&this.floatParent){var d=this.floatParent.getTargetEl().getViewRegion();e+=d.left;f+=d.top}return{x:e,y:f}},getPosition:function(g){var j=this,f=j.el,i,h;if((g===true)||(j.floating&&!j.floatParent)){return[f.getLeft(true),f.getTop(true)]}i=j.xy||f.getXY();if(j.floating){h=j.floatParent.getTargetEl().getViewRegion();i[0]-=h.left;i[1]-=h.top}return i},getId:function(){var d=this,c;if(!d.id){c=d.getXType();c=c?c.replace(Ext.Component.INVALID_ID_CHARS_Re,"-"):"ext-comp";d.id=c+"-"+d.getAutoId()}return d.id},onEnable:function(){var b=this.getActionEl();b.dom.removeAttribute("aria-disabled");b.dom.disabled=false;this.callParent()},onDisable:function(){var b=this.getActionEl();b.dom.setAttribute("aria-disabled",true);b.dom.disabled=true;this.callParent()},show:function(g,f,e){var h=this;if(h.rendered&&h.isVisible()){if(h.toFrontOnShow&&h.floating){h.toFront()}}else{if(h.fireEvent("beforeshow",h)!==false){h.hidden=false;if(!h.rendered&&(h.autoRender||h.floating)){h.doAutoRender()}if(h.rendered){h.beforeShow();h.onShow.apply(h,arguments);if(h.ownerCt&&!h.floating&&!(h.ownerCt.suspendLayout||h.ownerCt.layout.layoutBusy)){h.ownerCt.doLayout()}h.afterShow.apply(h,arguments)}}}return h},beforeShow:Ext.emptyFn,onShow:function(){var b=this;b.el.show();b.callParent(arguments);if(b.floating&&b.constrain){b.doConstrain()}},afterShow:function(j,h,l){var k=this,i,n,m;j=j||k.animateTarget;if(!k.ghost){j=null}if(j){j=j.el?j.el:Ext.get(j);n=k.el.getBox();i=j.getBox();k.el.addCls(Ext.baseCSSPrefix+"hide-offsets");m=k.ghost();m.el.stopAnimation();m.el.setX(-10000);m.el.animate({from:i,to:n,listeners:{afteranimate:function(){delete m.componentLayout.lastComponentSize;k.unghost();k.el.removeCls(Ext.baseCSSPrefix+"hide-offsets");k.onShowComplete(h,l)}}})}else{k.onShowComplete(h,l)}},onShowComplete:function(e,d){var f=this;if(f.floating){f.toFront()}Ext.callback(e,d||f);f.fireEvent("show",f)},hide:function(){var b=this;b.showOnParentShow=false;if(!(b.rendered&&!b.isVisible())&&b.fireEvent("beforehide",b)!==false){b.hidden=true;if(b.rendered){b.onHide.apply(b,arguments);if(b.ownerCt&&!b.floating&&!(b.ownerCt.suspendLayout||b.ownerCt.layout.layoutBusy)){b.ownerCt.doLayout()}}}return b},onHide:function(i,h,k){var j=this,l,g;i=i||j.animateTarget;if(!j.ghost){i=null}if(i){i=i.el?i.el:Ext.get(i);l=j.ghost();l.el.stopAnimation();g=i.getBox();g.width+="px";g.height+="px";l.el.animate({to:g,listeners:{afteranimate:function(){delete l.componentLayout.lastComponentSize;l.el.hide();j.afterHide(h,k)}}})}j.el.hide();if(!i){j.afterHide(h,k)}},afterHide:function(d,c){Ext.callback(d,c||this);this.fireEvent("hide",this)},onDestroy:function(){var b=this;if(b.rendered){Ext.destroy(b.proxy,b.proxyWrap,b.resizer);if(b.actionMode=="container"||b.removeMode=="container"){b.container.remove()}}delete b.focusTask;b.callParent()},deleteMembers:function(){var d=arguments,e=d.length,f=0;for(;f<e;++f){delete this[d[f]]}},focus:function(g,e){var h=this,f;if(e){if(!h.focusTask){h.focusTask=Ext.create("Ext.util.DelayedTask",h.focus)}h.focusTask.delay(Ext.isNumber(e)?e:10,null,h,[g,false]);return h}if(h.rendered&&!h.isDestroyed){f=h.getFocusEl();f.focus();if(f.dom&&g===true){f.dom.select()}if(h.floating){h.toFront(true)}}return h},getFocusEl:function(){return this.el},blur:function(){if(this.rendered){this.getFocusEl().blur()}return this},getEl:function(){return this.el},getResizeEl:function(){return this.el},getPositionEl:function(){return this.el},getActionEl:function(){return this.el},getVisibilityEl:function(){return this.el},onResize:Ext.emptyFn,getBubbleTarget:function(){return this.ownerCt},getContentTarget:function(){return this.el},cloneConfig:function(h){h=h||{};var g=h.id||Ext.id(),f=Ext.applyIf(h,this.initialConfig),e;f.id=g;e=Ext.getClass(this);return new e(f)},getXType:function(){return this.self.xtype},findParentBy:function(d){var c;for(c=this.ownerCt;c&&!d(c,this);c=c.ownerCt){}return c||null},findParentByType:function(b){return Ext.isFunction(b)?this.findParentBy(function(a){return a.constructor===b}):this.up(b)},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.ownerCt}return this},getProxy:function(){var d=this,c;if(!d.proxy){c=Ext.getBody();if(Ext.scopeResetCSS){d.proxyWrap=c=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}d.proxy=d.el.createProxy(Ext.baseCSSPrefix+"proxy-el",c,true)}return d.proxy}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.resizer.Splitter",{extend:"Ext.Component",requires:["Ext.XTemplate"],uses:["Ext.resizer.SplitterTracker"],alias:"widget.splitter",renderTpl:['<tpl if="collapsible===true">','<div id="{id}-collapseEl" class="',Ext.baseCSSPrefix,"collapse-el ",Ext.baseCSSPrefix,'layout-split-{collapseDir}">&nbsp;</div>',"</tpl>"],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,width:5,height:5,collapseTarget:"next",onRender:function(){var e=this,d=e.getCollapseTarget(),f=e.getCollapseDirection();Ext.applyIf(e.renderData,{collapseDir:f,collapsible:e.collapsible||d.collapsible});e.addChildEls("collapseEl");this.callParent(arguments);if(e.performCollapse!==false){if(e.renderData.collapsible){e.mon(e.collapseEl,"click",e.toggleTargetCmp,e)}if(e.collapseOnDblClick){e.mon(e.el,"dblclick",e.toggleTargetCmp,e)}}e.mon(d,"collapse",e.onTargetCollapse,e);e.mon(d,"expand",e.onTargetExpand,e);e.el.addCls(e.baseCls+"-"+e.orientation);e.el.unselectable();e.tracker=Ext.create("Ext.resizer.SplitterTracker",{el:e.el});e.relayEvents(e.tracker,["beforedragstart","dragstart","dragend"])},getCollapseDirection:function(){var f=this,e,d=f.ownerCt.layout.type;if(f.collapseTarget.isComponent){e=Number(f.ownerCt.items.indexOf(f.collapseTarget)==f.ownerCt.items.indexOf(f)-1)<<1|Number(d=="hbox")}else{e=Number(f.collapseTarget=="prev")<<1|Number(d=="hbox")}f.orientation=["horizontal","vertical"][e&1];return["bottom","right","top","left"][e]},getCollapseTarget:function(){var b=this;return b.collapseTarget.isComponent?b.collapseTarget:b.collapseTarget=="prev"?b.previousSibling():b.nextSibling()},onTargetCollapse:function(b){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(b){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(f,e){var d=this.getCollapseTarget();if(d.isVisible()){if(d.collapsed){d.expand(d.animCollapse)}else{d.collapse(this.renderData.collapseDir,d.animCollapse)}}},setSize:function(){var b=this;b.callParent(arguments);if(Ext.isIE){b.el.repaint()}}});Ext.define("Ext.form.field.Base",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.field",alternateClassName:["Ext.form.Field","Ext.form.BaseField"],requires:["Ext.util.DelayedTask","Ext.XTemplate","Ext.layout.component.field.Field"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />',{compiled:true,disableFormats:true}],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:Ext.baseCSSPrefix+"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var b=this;b.callParent();b.subTplData=b.subTplData||{};b.addEvents("focus","blur","specialkey");b.initLabelable();b.initField();if(!b.name){b.name=b.getInputId()}},getInputId:function(){return this.inputId||(this.inputId=Ext.id())},getSubTplData:function(){var f=this,d=f.inputType,e=f.getInputId();return Ext.applyIf(f.subTplData,{id:e,cmpId:f.id,name:f.name||e,type:d,size:f.size||20,cls:f.cls,fieldCls:f.fieldCls,tabIdx:f.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(d==="password"?"text":d)})},afterRender:function(){this.callParent();if(this.inputEl){this.inputEl.selectable()}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var b=this;if(!b.hasOwnProperty("renderTpl")){b.renderTpl=b.getTpl("labelableRenderTpl")}return b.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(e){var d=this,f=d.inputEl;if(f){f.applyStyles(e)}d.fieldStyle=e},onRender:function(){var c=this,d=c.fieldStyle;c.onLabelableRender();c.addChildEls({name:"inputEl",id:c.getInputId()});c.callParent(arguments);c.setRawValue(c.rawValue);if(c.readOnly){c.setReadOnly(true)}if(c.disabled){c.disable()}if(d){c.setFieldStyle(d)}c.renderActiveError()},initAria:function(){var b=this;b.callParent();b.getActionEl().dom.setAttribute("aria-describedby",Ext.id(b.errorEl))},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var d=this,e=d.isFileUpload()?d.inputEl.dom:null,f;if(e){f=e.cloneNode(true);e.parentNode.replaceChild(f,e);d.inputEl=Ext.get(f)}return e},getSubmitData:function(){var e=this,d=null,f;if(!e.disabled&&e.submitValue&&!e.isFileUpload()){f=e.getSubmitValue();if(f!==null){d={};d[e.getName()]=f}}return d},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var c=this,d=(c.inputEl?c.inputEl.getValue():Ext.value(c.rawValue,""));c.rawValue=d;return d},setRawValue:function(c){var d=this;c=Ext.value(c,"");d.rawValue=c;if(d.inputEl){d.inputEl.dom.value=c}return c},valueToRaw:function(b){return""+Ext.value(b,"")},rawToValue:function(b){return b},processRawValue:function(b){return b},getValue:function(){var d=this,c=d.rawToValue(d.processRawValue(d.getRawValue()));d.value=c;return c},setValue:function(c){var d=this;d.setRawValue(d.valueToRaw(c));return d.mixins.field.setValue.call(d,c)},onDisable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=true}},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=false}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.readOnly=f;d.dom.setAttribute("aria-readonly",f)}e[f?"addCls":"removeCls"](e.readOnlyCls);e.readOnly=f},fireKey:function(b){if(b.isSpecialKey()){this.fireEvent("specialkey",this,Ext.create("Ext.EventObjectImpl",b))}},initEvents:function(){var e=this,h=e.inputEl,f,g;if(h){e.mon(h,Ext.EventManager.getKeyEvent(),e.fireKey,e);e.mon(h,"focus",e.onFocus,e);e.mon(h,"blur",e.onBlur,e,e.inEditor?{buffer:10}:null);f=Ext.create("Ext.util.DelayedTask",e.checkChange,e);e.onChangeEvent=g=function(){f.delay(e.checkChangeBuffer)};Ext.each(e.checkChangeEvents,function(a){if(a==="propertychange"){e.usesPropertychange=true}e.mon(h,a,g)},e)}e.callParent()},doComponentLayout:function(){var j=this,i=j.inputEl,g=j.usesPropertychange,f="propertychange",h=j.onChangeEvent;if(g){j.mun(i,f,h)}j.callParent(arguments);if(g){j.mon(i,f,h)}},preFocus:Ext.emptyFn,onFocus:function(){var d=this,e=d.focusCls,f=d.inputEl;d.preFocus();if(e&&f){f.addCls(e)}if(!d.hasFocus){d.hasFocus=true;d.componentLayout.onFocus();d.fireEvent("focus",d)}},beforeBlur:Ext.emptyFn,onBlur:function(){var d=this,e=d.focusCls,f=d.inputEl;if(d.destroying){return}d.beforeBlur();if(e&&f){f.removeCls(e)}if(d.validateOnBlur){d.validate()}d.hasFocus=false;d.fireEvent("blur",d);d.postBlur()},postBlur:Ext.emptyFn,onDirtyChange:function(b){this[b?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var b=this;return b.disabled||b.validateValue(b.processRawValue(b.getRawValue()))},validateValue:function(e){var f=this,g=f.getErrors(e),h=Ext.isEmpty(g);if(!f.preventMark){if(h){f.clearInvalid()}else{f.markInvalid(g)}}return h},markInvalid:function(f){var d=this,e=d.getActiveError();d.setActiveErrors(Ext.Array.from(f));if(e!==d.getActiveError()){d.doComponentLayout()}},clearInvalid:function(){var c=this,d=c.hasActiveError();c.unsetActiveError();if(d){c.doComponentLayout()}},renderActiveError:function(){var c=this,d=c.hasActiveError();if(c.inputEl){c.inputEl[d?"addCls":"removeCls"](c.invalidCls+"-field")}c.mixins.labelable.renderActiveError.call(c)},getActionEl:function(){return this.inputEl||this.el}});Ext.define("Ext.form.field.Text",{extend:"Ext.form.field.Base",alias:"widget.textfield",requires:["Ext.form.field.VTypes","Ext.layout.component.field.Text"],alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",ariaRole:"textbox",componentLayout:"textfield",initComponent:function(){this.callParent();this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){var c=this,d=c.inputEl;c.callParent();if(c.selectOnFocus||c.emptyText){c.mon(d,"mousedown",c.onMouseDown,c)}if(c.maskRe||(c.vtype&&c.disableKeyFilter!==true&&(c.maskRe=Ext.form.field.VTypes[c.vtype+"Mask"]))){c.mon(d,"keypress",c.filterKeys,c)}if(c.enableKeyEvents){c.mon(d,{scope:c,keyup:c.onKeyUp,keydown:c.onKeyDown,keypress:c.onKeyPress})}},isEqual:function(c,d){return this.isEqualAsString(c,d)},onChange:function(){this.callParent();this.autoSize()},afterRender:function(){var b=this;if(b.enforceMaxLength){b.inputEl.dom.maxLength=b.maxLength}b.applyEmptyText();b.autoSize();b.callParent()},onMouseDown:function(c){var d=this;if(!d.hasFocus){d.mon(d.inputEl,"mouseup",Ext.emptyFn,d,{single:true,preventDefault:true})}},processRawValue:function(e){var f=this,g=f.stripCharsRe,h;if(g){h=e.replace(g,"");if(h!==e){f.setRawValue(h);e=h}}return e},onDisable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable="on"}},onEnable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable=""}},onKeyDown:function(b){this.fireEvent("keydown",this,b)},onKeyUp:function(b){this.fireEvent("keyup",this,b)},onKeyPress:function(b){this.fireEvent("keypress",this,b)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var d=this,e=d.emptyText,f;if(d.rendered&&e){f=d.getRawValue().length<1&&!d.hasFocus;if(Ext.supports.Placeholder){d.inputEl.dom.placeholder=e}else{if(f){d.setRawValue(e)}}if(f){d.inputEl.addCls(d.emptyCls)}d.autoSize()}},preFocus:function(){var e=this,h=e.inputEl,f=e.emptyText,g;if(f&&!Ext.supports.Placeholder&&h.dom.value===f){e.setRawValue("");g=true;h.removeCls(e.emptyCls)}else{if(Ext.supports.Placeholder){e.inputEl.removeCls(e.emptyCls)}}if(e.selectOnFocus||g){h.dom.select()}},onFocus:function(){var b=this;b.callParent(arguments);if(b.emptyText){b.autoSize()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(f){if(f.ctrlKey&&!f.altKey){return}var d=f.getKey(),e=String.fromCharCode(f.getCharCode());if(Ext.isGecko&&(f.isNavKeyPress()||d===f.BACKSPACE||(d===f.DELETE&&f.button===-1))){return}if(!Ext.isGecko&&f.isSpecialKey()&&!e){return}if(!this.maskRe.test(e)){f.stopEvent()}},getRawValue:function(){var c=this,d=c.callParent();if(d===c.emptyText){d=""}return d},setValue:function(d){var e=this,f=e.inputEl;if(f&&e.emptyText&&!Ext.isEmpty(d)){f.removeCls(e.emptyCls)}e.callParent(arguments);e.applyEmptyText();return e},getErrors:function(l){var q=this,m=q.callParent(arguments),v=q.validator,s=q.emptyText,t=q.allowBlank,r=q.vtype,p=Ext.form.field.VTypes,o=q.regex,n=Ext.String.format,u;l=l||q.processRawValue(q.getRawValue());if(Ext.isFunction(v)){u=v.call(q,l);if(u!==true){m.push(u)}}if(l.length<1||l===s){if(!t){m.push(q.blankText)}return m}if(l.length<q.minLength){m.push(n(q.minLengthText,q.minLength))}if(l.length>q.maxLength){m.push(n(q.maxLengthText,q.maxLength))}if(r){if(!p[r](l,q)){m.push(q.vtypeText||p[r+"Text"])}}if(o&&!o.test(l)){m.push(q.regexText||q.invalidText)}return m},selectText:function(k,j){var l=this,p=l.getRawValue(),o=true,m=l.inputEl.dom,n,i;if(p.length>0){k=k===n?0:k;j=j===n?p.length:j;if(m.setSelectionRange){m.setSelectionRange(k,j)}else{if(m.createTextRange){i=m.createTextRange();i.moveStart("character",k);i.moveEnd("character",j-p.length);i.select()}}o=Ext.isGecko||Ext.isOpera}if(o){l.focus()}},autoSize:function(){var c=this,d;if(c.grow&&c.rendered){c.doComponentLayout();d=c.inputEl.getWidth();if(d!==c.lastInputWidth){c.fireEvent("autosize",d);c.lastInputWidth=d}}},initAria:function(){this.callParent();this.getActionEl().dom.setAttribute("aria-required",this.allowBlank===false)},getBodyNaturalWidth:function(){return Math.round(this.size*6.5)+20}});Ext.define("Ext.form.field.Trigger",{extend:"Ext.form.field.Text",alias:["widget.triggerfield","widget.trigger"],requires:["Ext.DomHelper","Ext.util.ClickRepeater","Ext.layout.component.field.Trigger"],alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />','<div id="{cmpId}-triggerWrap" class="{triggerWrapCls}" role="presentation">',"{triggerEl}",'<div class="{clearCls}" role="presentation"></div>',"</div>",{compiled:true,disableFormats:true}],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",hideTrigger:false,editable:true,readOnly:false,repeatTriggerClick:false,autoSize:Ext.emptyFn,monitorTab:true,mimicing:false,triggerIndexRe:/trigger-index-(\d+)/,componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},onRender:function(o,j){var n=this,k,m=n.triggerBaseCls,l=n.triggerWrapCls,i=[],p;if(!n.trigger1Cls){n.trigger1Cls=n.triggerCls}for(p=0;(k=n["trigger"+(p+1)+"Cls"])||p<1;p++){i.push({cls:[Ext.baseCSSPrefix+"trigger-index-"+p,m,k].join(" "),role:"button"})}i[p-1].cls+=" "+m+"-last";n.addChildEls("triggerWrap");Ext.applyIf(n.subTplData,{triggerWrapCls:l,triggerEl:Ext.DomHelper.markup(i),clearCls:n.clearCls});n.callParent(arguments);n.triggerEl=Ext.select("."+m,true,n.triggerWrap.dom);n.doc=Ext.getDoc();n.initTrigger()},onEnable:function(){this.callParent();this.triggerWrap.unmask()},onDisable:function(){this.callParent();this.triggerWrap.mask()},afterRender:function(){this.callParent();this.updateEditState();this.triggerEl.unselectable()},updateEditState:function(){var l=this,j=l.inputEl,h=l.triggerWrap,k=Ext.baseCSSPrefix+"trigger-noedit",g,i;if(l.rendered){if(l.readOnly){j.addCls(k);i=true;g=false}else{if(l.editable){j.removeCls(k);i=false}else{j.addCls(k);i=true}g=!l.hideTrigger}h.setDisplayed(g);j.dom.readOnly=i;l.doComponentLayout()}},getTriggerWidth:function(){var f=this,d=f.triggerWrap,e=0;if(d&&!f.hideTrigger&&!f.readOnly){f.triggerEl.each(function(a){e+=a.getWidth()});e+=f.triggerWrap.getFrameWidth("lr")}return e},setHideTrigger:function(b){if(b!=this.hideTrigger){this.hideTrigger=b;this.updateEditState()}},setEditable:function(b){if(b!=this.editable){this.editable=b;this.updateEditState()}},setReadOnly:function(b){if(b!=this.readOnly){this.readOnly=b;this.updateEditState()}},initTrigger:function(){var f=this,e=f.triggerWrap,d=f.triggerEl;if(f.repeatTriggerClick){f.triggerRepeater=Ext.create("Ext.util.ClickRepeater",e,{preventDefault:true,handler:function(b,a){f.onTriggerWrapClick(a)}})}else{f.mon(f.triggerWrap,"click",f.onTriggerWrapClick,f)}d.addClsOnOver(f.triggerBaseCls+"-over");d.each(function(b,a,c){b.addClsOnOver(f["trigger"+(c+1)+"Cls"]+"-over")});d.addClsOnClick(f.triggerBaseCls+"-click");d.each(function(b,a,c){b.addClsOnClick(f["trigger"+(c+1)+"Cls"]+"-click")})},onDestroy:function(){var b=this;Ext.destroyMembers(b,"triggerRepeater","triggerWrap","triggerEl");delete b.doc;b.callParent()},onFocus:function(){var b=this;b.callParent();if(!b.mimicing){b.bodyEl.addCls(b.wrapFocusCls);b.mimicing=true;b.mon(b.doc,"mousedown",b.mimicBlur,b,{delay:10});if(b.monitorTab){b.on("specialkey",b.checkTab,b)}}},checkTab:function(d,c){if(!this.ignoreMonitorTab&&c.getKey()==c.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(b){if(!this.isDestroyed&&!this.bodyEl.contains(b.target)&&this.validateBlur(b)){this.triggerBlur()}},triggerBlur:function(){var b=this;b.mimicing=false;b.mun(b.doc,"mousedown",b.mimicBlur,b);if(b.monitorTab&&b.inputEl){b.un("specialkey",b.checkTab,b)}Ext.form.field.Trigger.superclass.onBlur.call(b);if(b.bodyEl){b.bodyEl.removeCls(b.wrapFocusCls)}},beforeBlur:Ext.emptyFn,validateBlur:function(b){return true},onTriggerWrapClick:function(i){var j=this,k=i&&i.getTarget("."+Ext.baseCSSPrefix+"form-trigger",null),l=k&&k.className.match(j.triggerIndexRe),h,e;if(l&&!j.readOnly){h=parseInt(l[1],10);e=j["onTrigger"+(h+1)+"Click"]||j.onTriggerClick;if(e){e.call(j,i)}}},onTriggerClick:Ext.emptyFn});Ext.define("Ext.container.AbstractContainer",{extend:"Ext.Component",requires:["Ext.util.MixedCollection","Ext.layout.container.Auto","Ext.ZIndexManager"],suspendLayout:false,autoDestroy:true,defaultType:"panel",isContainer:true,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",bubbleEvents:["add","remove"],initComponent:function(){var b=this;b.addEvents("afterlayout","beforeadd","beforeremove","add","remove");b.layoutOnShow=Ext.create("Ext.util.MixedCollection");b.callParent();b.initItems()},initItems:function(){var c=this,d=c.items;c.items=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){if(!Ext.isArray(d)){d=[d]}c.add(d)}},afterRender:function(){this.getLayout();this.callParent()},renderChildren:function(){var c=this,d=c.getLayout();c.callParent();if(d){c.suspendLayout=true;d.renderChildren();delete c.suspendLayout}},setLayout:function(c){var d=this.layout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.layout=c;c.setOwner(this)},getLayout:function(){var b=this;if(!b.layout||!b.layout.isLayout){b.setLayout(Ext.layout.Layout.create(b.layout,"autocontainer"))}return b.layout},doLayout:function(){var c=this,d=c.getLayout();if(c.rendered&&d&&!c.suspendLayout){if(!c.isFixedWidth()||!c.isFixedHeight()){if(c.componentLayout.layoutBusy!==true){c.doComponentLayout();if(c.componentLayout.layoutCancelled===true){d.layout()}}}else{if(d.layoutBusy!==true){d.layout()}}}return c},afterLayout:function(b){++this.layoutCounter;this.fireEvent("afterlayout",this,b)},prepareItems:function(f,i){if(!Ext.isArray(f)){f=[f]}var j=0,g=f.length,h;for(;j<g;j++){h=f[j];if(i){h=this.applyDefaults(h)}f[j]=this.lookupComponent(h)}return f},applyDefaults:function(d){var c=this.defaults;if(c){if(Ext.isFunction(c)){c=c.call(this,d)}if(Ext.isString(d)){d=Ext.ComponentManager.get(d)}Ext.applyIf(d,c)}return d},lookupComponent:function(b){return Ext.isString(b)?Ext.ComponentManager.get(b):this.createComponent(b)},createComponent:function(d,c){return Ext.ComponentManager.create(d,c||this.defaultType)},getComponentId:function(b){return b.getItemId()},add:function(){var m=this,o=Array.prototype.slice.call(arguments),t,n,s=[],r,p,i,q=-1,l;if(typeof o[0]=="number"){q=o.shift()}t=o.length>1;if(t||Ext.isArray(o[0])){n=t?o:o[0];m.suspendLayout=true;for(r=0,p=n.length;r<p;r++){i=n[r];if(!i){Ext.Error.raise("Trying to add a null item as a child of Container with itemId/id: "+m.getItemId())}if(q!=-1){i=m.add(q+r,i)}else{i=m.add(i)}s.push(i)}m.suspendLayout=false;m.doLayout();return s}l=m.prepareItems(o[0],true)[0];if(l.floating){l.onAdded(m,q)}else{q=(q!==-1)?q:m.items.length;if(m.fireEvent("beforeadd",m,l,q)!==false&&m.onBeforeAdd(l)!==false){m.items.insert(q,l);l.onAdded(m,q);m.onAdd(l,q);m.fireEvent("add",m,l,q)}m.doLayout()}return l},onAdd:Ext.emptyFn,onRemove:Ext.emptyFn,insert:function(c,d){return this.add(c,d)},move:function(e,g){var f=this.items,h;h=f.removeAt(e);if(h===false){return false}f.insert(g,h);this.doLayout();return h},onBeforeAdd:function(c){var d=this;if(c.ownerCt){c.ownerCt.remove(c,false)}if(d.border===false||d.border===0){c.border=(c.border===true)}},remove:function(f,c){var h=this,g=h.getComponent(f);if(Ext.isDefined(Ext.global.console)&&!g){console.warn("Attempted to remove a component that does not exist. Ext.container.Container: remove takes an argument of the component to remove. cmp.remove() is incorrect usage.")}if(g&&h.fireEvent("beforeremove",h,g)!==false){h.doRemove(g,c);h.fireEvent("remove",h,g)}return g},doRemove:function(j,f){var h=this,i=h.layout,g=i&&h.rendered;h.items.remove(j);j.onRemoved();if(g){i.onRemove(j)}h.onRemove(j,f);if(f===true||(f!==false&&h.autoDestroy)){j.destroy()}if(g&&!f){i.afterRemove(j)}if(!h.destroying){h.doLayout()}},removeAll:function(n){var j=this,l=j.items.items.slice(),h=[],m=0,i=l.length,k;j.suspendLayout=true;for(;m<i;m++){k=l[m];j.remove(k,n);if(k.ownerCt!==j){h.push(k)}}j.suspendLayout=false;if(i){j.doLayout()}return h},getRefItems:function(n){var j=this,m=j.items.items,h=m.length,l=0,k,i=[];for(;l<h;l++){k=m[l];i.push(k);if(n&&k.getRefItems){i.push.apply(i,k.getRefItems(true))}}if(j.floatingItems&&j.floatingItems.accessList){i.push.apply(i,j.floatingItems.accessList)}return i},cascade:function(i,c,t){var m=this,q=m.items?m.items.items:[],p=q.length,r=0,n,o=t?t.concat(m):[m],s=o.length-1;if(i.apply(c||m,o)!==false){for(;r<p;r++){n=q[r];if(n.cascade){n.cascade(i,c,t)}else{o[s]=n;i.apply(c||q,o)}}}return this},getComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.items.get(b)},query:function(b){b=b||"*";return Ext.ComponentQuery.query(b,this)},child:function(b){b=b||"";return this.query("> "+b)[0]||null},down:function(b){return this.query(b)[0]||null},show:function(){this.callParent(arguments);this.performDeferredLayouts();return this},performDeferredLayouts:function(){var h=this.layoutOnShow,i=h.getCount(),f=0,g,j;for(;f<i;f++){j=h.get(f);g=j.needsLayout;if(Ext.isObject(g)){j.doComponentLayout(g.width,g.height,g.isSetSize,g.ownerCt)}}h.clear()},onEnable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable){b.enable();delete b.resetDisable}});this.callParent()},onDisable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable!==false&&!b.disabled){b.disable();b.resetDisable=true}});this.callParent()},beforeLayout:function(){return true},beforeDestroy:function(){var c=this,e=c.items,f;if(e){while((f=e.first())){c.doRemove(f,true)}}Ext.destroy(c.layout);c.callParent()}});Ext.define("Ext.container.Container",{extend:"Ext.container.AbstractContainer",alias:"widget.container",alternateClassName:"Ext.Container",getChildByElement:function(k){var i,g,h=0,l=this.items.items,j=l.length;k=Ext.getDom(k);for(;h<j;h++){i=l[h];g=i.getEl();if((g.dom===k)||g.contains(k)){return i}}return null}});Ext.define("Ext.layout.container.Border",{alias:["layout.border"],extend:"Ext.layout.container.Container",requires:["Ext.resizer.Splitter","Ext.container.Container","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:Ext.baseCSSPrefix+"border-item",bindToOwnerCtContainer:true,percentageRe:/(\d+)%/,slideDirection:{north:"t",south:"b",west:"l",east:"r"},constructor:function(b){this.initialConfig=b;this.callParent(arguments)},onLayout:function(){var b=this;if(!b.borderLayoutInitialized){b.initializeBorderLayout()}b.fixHeightConstraints();b.shadowLayout.onLayout();if(b.embeddedContainer){b.embeddedContainer.layout.onLayout()}if(!b.initialCollapsedComplete){Ext.iterate(b.regions,function(a,d){if(d.borderCollapse){b.onBeforeRegionCollapse(d,d.collapseDirection,false,0)}});b.initialCollapsedComplete=true}},isValidParent:function(d,f,e){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}return this.shadowLayout.isValidParent(d,f,e)},beforeLayout:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.beforeLayout()},renderItems:function(d,c){Ext.Error.raise("This should not be called")},renderItem:function(b){Ext.Error.raise("This should not be called")},renderChildren:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.renderChildren()},getVisibleItems:function(){return Ext.ComponentQuery.query(":not([slideOutAnim])",this.callParent(arguments))},initializeBorderLayout:function(){var n=this,t=0,o=n.getLayoutItems(),p=o.length,u=(n.regions={}),r=[],q=[],v=0,i=0,s,m;n.splitters={};for(;t<p;t++){s=o[t];u[s.region]=s;if(s.region!="center"&&s.collapsible&&s.collapseMode!="header"){s.borderCollapse=s.collapsed;s.collapsed=false;s.on({beforecollapse:n.onBeforeRegionCollapse,beforeexpand:n.onBeforeRegionExpand,destroy:n.onRegionDestroy,scope:n});n.setupState(s)}}if(!u.center){Ext.Error.raise("You must specify a center region when defining a BorderLayout.")}s=u.center;if(!s.flex){s.flex=1}delete s.width;s.maintainFlex=true;s=u.west;if(s){s.collapseDirection=Ext.Component.DIRECTION_LEFT;q.push(s);if(s.split){q.push(n.splitters.west=n.createSplitter(s))}m=Ext.isString(s.width)&&s.width.match(n.percentageRe);if(m){v+=(s.flex=parseInt(m[1],10)/100);delete s.width}}s=u.north;if(s){s.collapseDirection=Ext.Component.DIRECTION_TOP;r.push(s);if(s.split){r.push(n.splitters.north=n.createSplitter(s))}m=Ext.isString(s.height)&&s.height.match(n.percentageRe);if(m){i+=(s.flex=parseInt(m[1],10)/100);delete s.height}}if(u.north||u.south){if(u.east||u.west){r.push(n.embeddedContainer=Ext.create("Ext.container.Container",{xtype:"container",region:"center",id:n.owner.id+"-embedded-center",cls:Ext.baseCSSPrefix+"border-item",flex:u.center.flex,maintainFlex:true,layout:{type:"hbox",align:"stretch",getVisibleItems:n.getVisibleItems}}));q.push(u.center)}else{r.push(u.center)}}else{q.push(u.center)}s=u.south;if(s){s.collapseDirection=Ext.Component.DIRECTION_BOTTOM;if(s.split){r.push(n.splitters.south=n.createSplitter(s))}m=Ext.isString(s.height)&&s.height.match(n.percentageRe);if(m){i+=(s.flex=parseInt(m[1],10)/100);delete s.height}r.push(s)}s=u.east;if(s){s.collapseDirection=Ext.Component.DIRECTION_RIGHT;if(s.split){q.push(n.splitters.east=n.createSplitter(s))}m=Ext.isString(s.width)&&s.width.match(n.percentageRe);if(m){v+=(s.flex=parseInt(m[1],10)/100);delete s.width}q.push(s)}if(u.north||u.south){n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:"vbox",align:"stretch",getVisibleItems:n.getVisibleItems},n.initialConfig)});n.createItems(n.shadowContainer,r);if(n.splitters.north){n.splitters.north.ownerCt=n.shadowContainer}if(n.splitters.south){n.splitters.south.ownerCt=n.shadowContainer}if(n.embeddedContainer){n.embeddedContainer.ownerCt=n.shadowContainer;n.createItems(n.embeddedContainer,q);if(n.splitters.east){n.splitters.east.ownerCt=n.embeddedContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.embeddedContainer}Ext.each([n.splitters.north,n.splitters.south],function(a){if(a){a.on("beforedragstart",n.fixHeightConstraints,n)}});if(v){u.center.flex-=v}if(i){n.embeddedContainer.flex-=i}}else{if(i){u.center.flex-=i}}}else{n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:(q.length==1)?"fit":"hbox",align:"stretch"},n.initialConfig)});n.createItems(n.shadowContainer,q);if(n.splitters.east){n.splitters.east.ownerCt=n.shadowContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.shadowContainer}if(v){u.center.flex-=i}}for(t=0,o=n.shadowContainer.items.items,p=o.length;t<p;t++){o[t].shadowOwnerCt=n.shadowContainer}if(n.embeddedContainer){for(t=0,o=n.embeddedContainer.items.items,p=o.length;t<p;t++){o[t].shadowOwnerCt=n.embeddedContainer}}n.shadowLayout=n.shadowContainer.getLayout();n.borderLayoutInitialized=true},setupState:function(c){var d=c.getState;c.getState=function(){var b=d.call(c)||{},a=c.region;b.collapsed=!!c.collapsed;if(a=="west"||a=="east"){b.width=c.getWidth()}else{b.height=c.getHeight()}return b};c.addStateEvents(["collapse","expand","resize"])},createItems:function(d,c){delete d.items;d.initItems();d.items.addAll(c)},createSplitter:function(f){var e=this,h=(f.collapseMode!="header"),g;g=Ext.create("Ext.resizer.Splitter",{hidden:!!f.hidden,collapseTarget:f,performCollapse:!h,listeners:h?{click:{fn:Ext.Function.bind(e.onSplitterCollapseClick,e,[f]),element:"collapseEl"}}:null});if(f.collapseMode=="mini"){f.placeholder=g;g.collapsedCls=f.collapsedCls}f.on({hide:e.onRegionVisibilityChange,show:e.onRegionVisibilityChange,scope:e});return g},fixHeightConstraints:function(){var h=this,f=h.embeddedContainer,e=1e+99,g=-1;if(!f){return}f.items.each(function(a){if(Ext.isNumber(a.maxHeight)){e=Math.max(e,a.maxHeight)}if(Ext.isNumber(a.minHeight)){g=Math.max(g,a.minHeight)}});f.maxHeight=e;f.minHeight=g},onRegionVisibilityChange:function(b){this.splitters[b.region][b.hidden?"hide":"show"]();this.layout()},onSplitterCollapseClick:function(b){if(b.collapsed){this.onPlaceHolderToolClick(null,null,null,{client:b})}else{b.collapse()}},getPlaceholder:function(n){var m=this,k=n.placeholder,h=n.shadowOwnerCt,l=h.layout,i=Ext.panel.Panel.prototype.getOppositeDirection(n.collapseDirection),j=(n.region=="north"||n.region=="south");if(n.collapseMode=="header"){return}if(!k){if(n.collapseMode=="mini"){k=Ext.create("Ext.resizer.Splitter",{id:"collapse-placeholder-"+n.id,collapseTarget:n,performCollapse:false,listeners:{click:{fn:Ext.Function.bind(m.onSplitterCollapseClick,m,[n]),element:"collapseEl"}}});k.addCls(k.collapsedCls)}else{k={id:"collapse-placeholder-"+n.id,margins:n.initialConfig.margins||Ext.getClass(n).prototype.margins,xtype:"header",orientation:j?"horizontal":"vertical",title:n.title,textCls:n.headerTextCls,iconCls:n.iconCls,baseCls:n.baseCls+"-header",ui:n.ui,indicateDrag:n.draggable,cls:Ext.baseCSSPrefix+"region-collapsed-placeholder "+Ext.baseCSSPrefix+"region-collapsed-"+n.collapseDirection+"-placeholder "+n.collapsedCls,listeners:n.floatable?{click:{fn:function(a){m.floatCollapsedPanel(a,n)},element:"el"}}:null};if((Ext.isIE6||Ext.isIE7||(Ext.isIEQuirks))&&!j){k.width=25}if(!n.hideCollapseTool){k[j?"tools":"items"]=[{xtype:"tool",client:n,type:"expand-"+i,handler:m.onPlaceHolderToolClick,scope:m}]}}k=m.owner.createComponent(k);if(n.isXType("panel")){n.on({titlechange:m.onRegionTitleChange,iconchange:m.onRegionIconChange,scope:m})}}n.placeholder=k;k.comp=n;return k},onRegionTitleChange:function(d,c){d.placeholder.setTitle(c)},onRegionIconChange:function(c,d){c.placeholder.setIconCls(d)},calculateChildBox:function(d){var c=this;if(c.shadowContainer.items.contains(d)){return c.shadowContainer.layout.calculateChildBox(d)}else{if(c.embeddedContainer&&c.embeddedContainer.items.contains(d)){return c.embeddedContainer.layout.calculateChildBox(d)}}},onBeforeRegionCollapse:function(v,s,y){if(v.collapsedChangingLayout){if(Ext.global.console&&Ext.global.console.warn){Ext.global.console.warn(Ext.getDisplayName(arguments.callee),"aborted because the collapsed state is in the middle of changing")}return false}v.collapsedChangingLayout=true;var t=this,o=v.el,z,A=v.collapseMode=="mini",u=v.shadowOwnerCt,B=u.layout,q=v.placeholder,w=t.owner.suspendLayout,r=u.suspendLayout,p=(v.region=="north"||v.region=="west");t.owner.suspendLayout=true;u.suspendLayout=true;B.layoutBusy=true;if(u.componentLayout){u.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;if(!q){q=t.getPlaceholder(v)}if(q.shadowOwnerCt===u){q.show()}else{u.insert(u.items.indexOf(v)+(p?0:1),q);q.shadowOwnerCt=u;q.ownerCt=t.owner}v.hidden=true;if(!q.rendered){B.renderItem(q,B.innerCt);if(v.region=="north"||v.region=="south"){q.setCalculatedSize(v.getWidth())}else{q.setCalculatedSize(undefined,v.getHeight())}}function x(){t.owner.suspendLayout=w;u.suspendLayout=r;delete B.layoutBusy;if(u.componentLayout){delete u.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;delete v.collapsedChangingLayout;v.collapsed=true;v.fireEvent("collapse",v)}if(v.animCollapse&&t.initialCollapsedComplete){B.layout();o.dom.style.zIndex=100;if(!A){q.el.hide()}o.slideOut(t.slideDirection[v.region],{duration:Ext.Number.from(v.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){o.show().setLeftTop(-10000,-10000);o.dom.style.zIndex="";if(!A){q.el.slideIn(t.slideDirection[v.region],{easing:"linear",duration:100})}x()}}})}else{o.setLeftTop(-10000,-10000);B.layout();x()}return false},onBeforeRegionExpand:function(c,d){this.onPlaceHolderToolClick(null,null,null,{client:c,shouldFireBeforeexpand:false});return false},onPlaceHolderToolClick:function(y,e,J,H){var t=this,w=H.client,D=(w.collapseMode!="mini")||!w.split,u=w.el,B,G=w.placeholder,A=G.el,v=w.shadowOwnerCt,I=v.layout,C,x=t.owner.suspendLayout,z=v.suspendLayout,E;if(w.collapsedChangingLayout){if(Ext.global.console&&Ext.global.console.warn){Ext.global.console.warn(Ext.getDisplayName(arguments.callee),"aborted because the collapsed state is in the middle of changing")}return false}if(H.shouldFireBeforeexpand!==false&&w.fireEvent("beforeexpand",w,true)===false){return false}w.collapsedChangingLayout=true;if(w.getActiveAnimation()){w.stopAnimation()}if(w.slideOutAnim){u.un(w.panelMouseMon);A.un(w.placeholderMouseMon);delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon;E=true}t.owner.suspendLayout=true;v.suspendLayout=true;I.layoutBusy=true;if(v.componentLayout){v.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;w.hidden=false;w.collapsed=false;if(D){G.hidden=true}B=I.calculateChildBox(w);if(w.collapseTool){w.collapseTool.show()}if(w.animCollapse&&!E){u.setStyle("visibility","hidden")}u.setLeftTop(B.left,B.top);C=w.getSize();if(C.height!=B.height||C.width!=B.width){t.setItemSize(w,B.width,B.height)}function F(){t.owner.suspendLayout=x;v.suspendLayout=z;delete I.layoutBusy;if(v.componentLayout){delete v.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;delete w.collapsedChangingLayout;w.removeCls(Ext.baseCSSPrefix+"border-region-slide-in");w.fireEvent("expand",w)}if(D){G.el.hide()}if(w.animCollapse&&!E){u.dom.style.zIndex=100;u.slideIn(t.slideDirection[w.region],{duration:Ext.Number.from(w.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){u.dom.style.zIndex="";w.hidden=false;I.onLayout();F()}}})}else{I.onLayout();F()}},floatCollapsedPanel:function(u,w){if(w.floatable===false){return}var t=this,e=w.el,q=w.placeholder,p=q.el,v=w.shadowOwnerCt,A=v.layout,x=A.getChildBox(q),r=v.suspendLayout,B,y,s;if(u.getTarget("."+Ext.baseCSSPrefix+"tool")){return}if(e.getActiveAnimation()){return}if(w.slideOutAnim){t.slideOutFloatedComponent(w);return}function z(a){var b=e.getRegion().union(p.getRegion()).adjust(1,-1,-1,1);if(!b.contains(a.getPoint())){t.slideOutFloatedComponent(w)}}w.placeholderMouseMon=p.monitorMouseLeave(500,z);v.suspendLayout=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;if(w.collapseTool){w.collapseTool.hide()}w.hidden=false;w.collapsed=false;q.hidden=true;y=A.calculateChildBox(w);q.hidden=false;if(w.region=="north"||w.region=="west"){y[A.parallelBefore]+=x[A.parallelPrefix]-1}else{y[A.parallelBefore]-=(x[A.parallelPrefix]-1)}e.setStyle("visibility","hidden");e.setLeftTop(y.left,y.top);B=w.getSize();if(B.height!=y.height||B.width!=y.width){t.setItemSize(w,y.width,y.height)}s={listeners:{afteranimate:function(){v.suspendLayout=r;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;s.listeners={afterAnimate:function(){e.show().removeCls(Ext.baseCSSPrefix+"border-region-slide-in").setLeftTop(-10000,-10000);w.hidden=true;w.collapsed=true;delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon}};w.slideOutAnim=s}},duration:500};e.addCls(Ext.baseCSSPrefix+"border-region-slide-in");e.slideIn(t.slideDirection[w.region],s);w.panelMouseMon=e.monitorMouseLeave(500,z)},slideOutFloatedComponent:function(e){var f=e.el,d;f.un(e.panelMouseMon);e.placeholder.el.un(e.placeholderMouseMon);f.slideOut(this.slideDirection[e.region],e.slideOutAnim);delete e.slideOutAnim;delete e.panelMouseMon;delete e.placeholderMouseMon},onRegionDestroy:function(d){var c=d.placeholder;if(c){delete c.ownerCt;c.destroy()}},onDestroy:function(){var d=this,e=d.shadowContainer,f=d.embeddedContainer;if(e){delete e.ownerCt;Ext.destroy(e)}if(f){delete f.ownerCt;Ext.destroy(f)}delete d.regions;delete d.splitters;delete d.shadowContainer;delete d.embeddedContainer;d.callParent(arguments)}});Ext.define("Ext.container.Viewport",{extend:"Ext.container.Container",alias:"widget.viewport",requires:["Ext.EventManager"],alternateClassName:"Ext.Viewport",isViewport:true,ariaRole:"application",initComponent:function(){var f=this,e=Ext.fly(document.body.parentNode),d;f.callParent(arguments);e.addCls(Ext.baseCSSPrefix+"viewport");if(f.autoScroll){e.setStyle("overflow","auto")}f.el=d=Ext.getBody();d.setHeight=Ext.emptyFn;d.setWidth=Ext.emptyFn;d.setSize=Ext.emptyFn;d.dom.scroll="no";f.allowDomMove=false;Ext.EventManager.onWindowResize(f.fireResize,f);f.renderTo=f.el;f.width=Ext.Element.getViewportWidth();f.height=Ext.Element.getViewportHeight()},fireResize:function(d,c){this.setSize(d,c)}});Ext.define("Docs.view.search.Container",{extend:"Ext.container.Container",alias:"widget.searchcontainer",initComponent:function(){if(Docs.data.search.length){this.cls="search";this.items=[{xtype:"triggerfield",triggerCls:"reset",emptyText:"Search",width:170,id:"search-field",enableKeyEvents:true,hideTrigger:true,onTriggerClick:function(){this.reset();this.focus();this.setHideTrigger(true);Ext.getCmp("search-dropdown").hide()}},{xtype:"searchdropdown"}]}this.callParent()}});Ext.define("Docs.view.Header",{extend:"Ext.container.Container",alias:"widget.docheader",contentEl:"header-content",initComponent:function(){if(Docs.otherProducts){this.style="cursor: pointer;",this.cls="dropdown";this.menu=Ext.create("Ext.menu.Menu",{renderTo:Ext.getBody(),plain:true,items:Docs.otherProducts})}this.callParent()},listeners:{afterrender:function(b){if(this.menu){b.el.addListener("click",function(d,a){this.menu.showBy(this.el,"bl",[120,0])},this)}}}});Ext.define("Docs.view.welcome.Index",{extend:"Ext.container.Container",alias:"widget.welcomeindex",requires:["Docs.ContentGrabber"],cls:"welcome iScroll",initComponent:function(){this.html=Docs.ContentGrabber.get("welcome-content");this.hasContent=!!this.html;this.callParent(arguments)},getTab:function(){return this.hasContent?{cls:"index",href:"#",tooltip:"Home"}:false}});Ext.define("Docs.view.auth.Login",{extend:"Ext.container.Container",alias:"widget.authentication",loginTplHtml:['<form class="loginForm">','<input class="username" type="text" name="username" placeholder="Username" />','<input class="password" type="password" name="password" placeholder="Password" />','<label><input type="checkbox" name="remember" /> Remember Me</label>','<input class="submit" type="submit" value="Sign in" />'," or ",'<a class="register" href="http://www.sencha.com/forum/register.php" target="_blank">Register</a>',"</form>"],initComponent:function(){this.loginTpl=Ext.create("Ext.Template",this.loginTplHtml.join(""));this.callParent(arguments)},showLoginForm:function(){this.update(this.loginTpl.apply());this.getEl().down("form").on("submit",this.submitLogin,this,{preventDefault:true})},submitLogin:function(o,i){var p=Ext.get(i),k=p.down("input[name=username]").getValue(),j=p.down("input[name=password]").getValue(),m=p.down("input[name=remember]"),n=p.down("input[type=submit]");var l=m?Boolean(m.getAttribute("checked")):false;Docs.App.getController("Auth").login(k,j,l,n)},showLoggedIn:function(b){this.update("Welcome, "+b+' | <a href="#" class="logout">Logout</a>')},showLoggedOut:function(){this.update('<a href="#" class="login">Sign in / Register</a>')}});Ext.define("Docs.view.comments.Index",{extend:"Ext.container.Container",alias:"widget.commentindex",cls:"comment-index iScroll",margin:"10 0 0 0",autoScroll:true,items:[{xtype:"container",html:"<h1>Recent Comments</h1>"},{xtype:"container",id:"recentcomments"}],getTab:function(){return Docs.enableComments?{cls:"comments",href:"#!/comment",tooltip:"Comments"}:false}});Ext.define("Docs.view.Comments",{singleton:true,requires:["Docs.view.auth.Login"],constructor:function(){var g=['<tpl if="num &gt; 0">','View {[values.num == 1 ? "1 comment" : values.num + " comments"]}',"</tpl>",'<tpl if="num == 0">',"No comments. Click to add","</tpl>"];this.numCommentsTpl=Ext.create("Ext.XTemplate",g.join(""));var j=['<div class="comments-div first-child" id="comments-{id}">','<a href="#" class="side toggleComments"><span></span></a>','<a href="#" class="name toggleComments">',g.join(""),"</a>","</div>"];this.loadingTpl=Ext.create("Ext.Template",'<div class="loading">Loading...</div>');this.classCommentsTpl=Ext.create("Ext.XTemplate",'<div class="comments-section">','<h3 class="members-title icon-comment">Comments</h3>',j.join(""),"</div>");this.commentsMetaTpl=Ext.create("Ext.XTemplate",j.join(""));this.memberCommentsTpl=Ext.create("Ext.Template",'<span class="toggleMemberComments">{0}</span>');var h=['<div class="comment" id="{id}">','<div class="com-meta">','<img class="avatar" width="25" height="25" src="http://www.gravatar.com/avatar/{emailHash}','?s=25&amp;r=PG&amp;d=http://www.sencha.com/img/avatar.png">','<div class="author<tpl if="moderator"> moderator" title="Sencha Engineer</tpl>">',"{author}",'<tpl if="showCls">','<span class="target"> on {[this.target(values.target)]}</span>',"</tpl>","<tpl if=\"action == 'problem'\">",'<span class="problem">problem</span>',"</tpl>","</div>",'<tpl if="this.isMod() || this.isAuthor(values.author)"><a href="#" class="editComment">Edit</a><a href="#" class="deleteComment">Delete</a></tpl>','<div class="time" title="{[this.date(values.createdAt)]}">{[this.dateStr(values.createdAt)]}</div>','<div class="vote">','<a href="#" class="voteCommentUp{[values.upVote ? " selected" : ""]}" title="Vote Up">&nbsp;</a>','<span class="score">{score}</span>','<a href="#" class="voteCommentDown{[values.downVote ? " selected" : ""]}" title="Vote Down">&nbsp;</a>',"</div>","</div>",'<div class="content">{contentHtml}</div>',"</div>"];var i={dateStr:function(e){try{var l=Math.ceil(Number(new Date())/1000),a=Math.ceil(Number(new Date(e))/1000),c=l-a,b;if(c<60){return"just now"}else{if(c<3600){b=String(Math.ceil(c/(60)));return b+(b=="1"?" minute":" minutes")+" ago"}else{if(c<86400){b=String(Math.ceil(c/(3600)));return b+(b=="1"?" hour":" hours")+" ago"}else{if(c<60*60*24*31){b=String(Math.ceil(c/(60*60*24)));return b+(b=="1"?" day":" days")+" ago"}else{if(c<60*60*24*365){b=String(Math.ceil(c/(60*60*24*31)));return b+(b=="1"?" month":" months")+" ago"}else{return Ext.Date.format(new Date(e),"jS M 'y")}}}}}}catch(d){return""}},date:function(b){try{return Ext.Date.format(new Date(b),"jS F Y g:ia")}catch(a){return""}},isMod:function(){return Docs.App.getController("Auth").currentUser.mod},isAuthor:function(a){return Docs.App.getController("Auth").currentUser.userName==a},target:function(b){var c=b[1],a=b[1],d="#!/api/";if(b[0]=="video"){a="Video "+a;d="#!/video/"}else{if(b[0]=="guide"){a="Guide "+a;d="#!/guide/"}else{if(b[2]!=""){c+="-"+b[2];a+=" "+b[2]}}}return'<a href="'+d+c+'">'+a+"</a>"},recentCommentsPager:Ext.Function.bind(function(b){var a=b[b.length-1];if(a&&a.total_rows){return['<div class="recent-comments-pager">',this.getPagerHtml(a),"</div>"].join("")}else{return""}},this)};this.commentsTpl=Ext.create("Ext.XTemplate",'<div class="comment-list">','<tpl for=".">',h.join(""),"</tpl>",'<div class="new-comment-wrap"></div>',"</div>","{[this.recentCommentsPager(values)]}",i);this.appendCommentsTpl=Ext.create("Ext.XTemplate",'<tpl for=".">',h.join(""),"</tpl>",i);this.commentTpl=Ext.create("Ext.XTemplate",h.join(""),i);var f=['<div class="com-meta">','<img class="avatar" width="25" height="25"',' src="http://www.gravatar.com/avatar/{emailHash}?s=25&amp;r=PG&amp;d=http://www.sencha.com/img/avatar.png">','<div class="author">Logged in as {userName}</div>','<label class="subscribe">','Email updates? <input type="checkbox" class="subscriptionCheckbox" <tpl if="userSubscribed">checked="checked"</tpl> /><span class="sep"> | </span>',"</label>",'<a href="#" class="toggleCommentGuide">Help</a>','<input type="submit" class="sub {[values.updateComment ? "update" : "post"]}Comment" value="{[values.updateComment ? "Update" : "Post"]} comment" />','<tpl if="updateComment">',' or <a href="#" class="cancelUpdateComment">cancel</a>',"</tpl>","</div>",'<div class="commentGuideTxt" style="display: none">',"<ul>","<li>Comments should be an <strong>extension</strong> of the documentation.</li>",'<li>For any <em>questions</em> about code or usage, please use the <a href="http://www.sencha.com/forum" target="_blank">Forum</a>.</li>',"<li>Comments may be edited or deleted at any time by a moderator.</li>",'<li>Avatars can be managed at <a href="http://www.gravatar.com" target="_blank">Gravatar</a> (use your forum email address).</li>',"<li>Comments will be formatted using the Markdown syntax, eg:</li>","</ul>",'<div class="markdown preview">',"<h4>Markdown</h4>","<pre>","Here is a **bold** item\n","Here is an _italic_ item\n","Here is an `inline` code snippet\n","Here is a [Link](#!/api)\n","\n"," Indent with 4 spaces\n"," for a code snippet\n","\n","1. Here is a numbered list\n","2. Second numbered list item\n","\n","- Here is an unordered list\n","- Second unordered list item\n","\n","End a line with two spaces\n","to create a line break\n","</pre>","</div>",'<div class="markdown result">',"<h4>Result</h4>","Here is a <strong>bold</strong> item<br/>","Here is an <em>italic</em> item<br/>","Here is an <code>inline</code> code snippet<br/>",'Here is a <a href="#!/api">Link</a><br/>',"<pre>","Indent with 4 spaces\n","for a code snippet","</pre>","<ol>","<li>Here is a numbered list</li>","<li>Second numbered list item</li>","</ol>","<ul>","<li>Here is an unordered list</li>","<li>Second unordered list item</li>","</ul>","End a line with two spaces<br/>to create a line break<br/><br/>","</div>","</div>"];this.loggedInCommentTpl=Ext.create("Ext.XTemplate",'<div class="new-comment{[values.hide ? "" : " open"]}">','<form class="newCommentForm">','<span class="action">',"Action: ",'<select class="commentAction">','<option value="comment">Post a comment</option>','<option value="question">Ask a question</option>','<option value="problem">Report a problem</option>',"</select>","</span>",'<div class="note question" style="display: none;">','Please use the <a href="http://www.sencha.com/forum" target="_blank">Sencha Forum</a> ',"to post questions. Questions posted on the Documentation may be deleted.</div>",'<div class="note problem" style="display: none;">',"<p>Please inform us of documentation problems:</p>","<ul>","<li>Typos</li>","<li>Incorrect information</li>","<li>Errors with examples</li>","</ul>",'<p>For <b>SDK bugs</b>, please use the <a href="http://www.sencha.com/forum" target="_blank">Sencha Forum</a>.<br />',' For Docs App bugs, please use the <a href="https://github.com/senchalabs/jsduck/issues" target="_blank">GitHub Issue tracker</a>.</p>',"</div>",'<div class="postCommentWrap">',"<textarea></textarea>",f.join(""),"</div>","</form>","</div>");this.editCommentTpl=Ext.create("Ext.XTemplate",'<form class="editCommentForm">','<span class="action">Edit comment</span>',"<textarea>{content}</textarea>",f.join(""),"</form>");if(Ext.isIE&&Ext.ieVersion<=7){this.loggedOutCommentTpl=Ext.create("Ext.XTemplate",'<div class="new-comment">','<span class="toggleNewComment"><span></span>Sorry, adding comments is not supported in IE 7 or earlier</span>',"</div>")}else{this.loggedOutCommentTpl=Ext.create("Ext.XTemplate",'<div class="new-comment">','<span class="toggleNewComment"><span></span>Sign in to post a comment:</span>',Docs.view.auth.Login.prototype.loginTplHtml.join(""),"</div>")}},getPagerHtml:function(h){var e=h.total_rows;var f=h.offset+h.limit;var g=Math.min(h.limit,e-f);if(e>f){return["<span></span>",'<a href="#" class="fetchMoreComments" rel="'+f+'">',"Showing comments 1-"+f+" of "+e+". ","Click to load "+g+" more...","</a>"].join("")}else{return"<span></span>That's all. Total "+e+" comments."}},renderClassCommentContainers:function(b){Ext.ComponentQuery.query("classoverview toolbar")[0].insert(-2,{xtype:"container",id:"classCommentToolbarBtn",width:24,margin:"0 4 0 0",cls:"comment-btn",html:"0"});this.classCommentsTpl.insertFirst(Ext.query(".members")[0],{num:0,id:"class-"+b.name.replace(/\./g,"-")});Ext.Array.each(Ext.query(".member .long"),function(a){var d=Ext.get(a).up(".member").getAttribute("id");this.commentsMetaTpl.append(a,{num:0,id:"class-"+b.name.replace(/\./g,"-")+"-"+d.replace(/\./g,"-")})},this)},updateClassCommentMeta:function(c){var d=Docs.commentMeta["class"][c];if(d&&d[""]){Ext.getCmp("classCommentToolbarBtn").update(d[""]);this.numCommentsTpl.overwrite(Ext.get(Ext.query(".comments-section a.name")[0]),{num:d[""]})}else{Ext.getCmp("classCommentToolbarBtn").update("0");this.numCommentsTpl.overwrite(Ext.get(Ext.query(".comments-section a.name")[0]),{num:0})}Ext.Array.each(Ext.query(".member"),function(k){var b=Ext.get(k),p=b.getAttribute("id"),a=b.down(".meta .defined-in").getAttribute("rel"),m=b.down(".comments-div a.name"),l=b.down(".title"),n=Docs.commentMeta["class"][a]&&Docs.commentMeta["class"][a][p],o=l.down(".toggleMemberComments");if(n){this.numCommentsTpl.overwrite(m,{num:n});if(o){o.update(String(n))}else{this.memberCommentsTpl.append(l,[n])}}else{if(o){o.remove()}}},this);this.updateClassIndex();Ext.Array.each(Ext.ComponentQuery.query("hovermenu"),function(a){a.fireEvent("refresh",this)})},updateGuideCommentMeta:function(d){var c=Docs.commentMeta.guide[d];this.numCommentsTpl.overwrite(Ext.get(Ext.query("#guide .comments-section a.name")[0]),{num:c&&c[""]?c[""]:0})},updateVideoCommentMeta:function(d){var c=Docs.commentMeta.video[d];this.numCommentsTpl.overwrite(Ext.get(Ext.query("#video .comments-section a.name")[0]),{num:c&&c[""]?c[""]:0})},renderHoverMenuMeta:function(b){Ext.Array.each(b.query("a.docClass"),function(k){var l="comments-class-"+k.getAttribute("rel").replace(/[^A-Za-z\-]/g,"-"),a=Ext.get(k),h=a.down(".toggleMemberComments"),j=Docs.commentMeta.idMap[l];if(j&&Docs.commentMeta[j[0]]&&Docs.commentMeta[j[0]][j[1]]){var i=Docs.commentMeta[j[0]][j[1]][j[2]];if(h){if(!i){h.remove()}else{h.update(String(i))}}else{if(i){this.memberCommentsTpl.append(k,[i||0])}}}},this)},updateClassIndex:function(){for(var e in Docs.commentMeta["class"]){var d=Ext.get(Ext.query('#classindex a[rel="'+e+'"]')[0]);if(d){var f=d.down(".toggleMemberComments");if(f){f.update(String(Docs.commentMeta["class"][e]["total"]))}else{Docs.view.Comments.memberCommentsTpl.append(d,[String(Docs.commentMeta["class"][e]["total"])])}}}},renderNewCommentForms:function(){var b=Docs.App.getController("Auth").currentUser;Ext.Array.each(Ext.query(".new-comment-wrap"),function(f){var h=Ext.get(f).up(".comment-list").parent().hasCls("hideCommentForm");if(h){}else{if(Docs.App.getController("Auth").isLoggedIn()){var g=this.loggedInCommentTpl.overwrite(f,b,true),a=g.down("textarea").dom;this.makeCodeMirror(a,g)}else{this.loggedOutCommentTpl.overwrite(f,{})}}},this)},makeCodeMirror:function(e,d){e.editor=CodeMirror.fromTextArea(e,{enterMode:"keep",mode:"markdown",indentUnit:4});var f=(d&&d.down(".commentAction"));if(f){f.on("change",function(c,b){var a=Ext.get(b).getValue();d.select(".note").setStyle({display:"none"});if(a==="question"){d.down(".postCommentWrap").setStyle({display:"none"});d.down(".note.question").setStyle({display:"block"})}else{if(a==="problem"){d.down(".postCommentWrap").setStyle({display:"block"});d.down(".note.problem").setStyle({display:"block"})}else{d.down(".postCommentWrap").setStyle({display:"block"})}}})}},showMember:function(f,g){var e=Ext.get(g).down(".long"),h=("class-"+f+"-"+g).replace(/\./g,"-");if(!e.hasCls("renderedComment")){this.commentsMetaTpl.append(e,{num:0,id:h});e.addCls("renderedComment");Docs.App.getController("CommentsMeta").commentIdMap["comments-"+h]=["class",f,g]}}});Ext.define("Docs.view.cls.Index",{extend:"Ext.container.Container",alias:"widget.classindex",requires:["Docs.ContentGrabber"],cls:"class-categories iScroll",margin:"15 10",autoScroll:true,initComponent:function(){this.tpl=new Ext.XTemplate('<h1 class="top" style="padding-bottom: 10px">API Documentation</h1>','<tpl if="notice">','<div class="notice">{notice}</div>',"</tpl>","{categories}");this.data={notice:Docs.ContentGrabber.get("notice-text"),categories:Docs.ContentGrabber.get("categories-content")};this.callParent(arguments)},getTab:function(){var b=(Docs.data.classes||[]).length>0;return b?{cls:"classes",href:"#!/api",tooltip:"API Documentation"}:false}});Ext.define("Docs.view.guides.Container",{extend:"Ext.container.Container",alias:"widget.guidecontainer",componentCls:"guide-container",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(g){var h=Ext.get(g);if(h){var e=h.getY()-100;var f=this.getEl().getScroll()["top"];this.getEl().scrollTo("top",f+e);h.highlight()}},scrollToTop:function(){this.getEl().scrollTo("top")},load:function(b){this.tpl=this.tpl||new Ext.XTemplate(Docs.data.showPrintButton?'<a class="print guide" href="?print=/guide/{name}" target="_blank">Print</a>':"","{content}");this.update(this.tpl.apply(b));Docs.Syntax.highlight(this.getEl());this.fireEvent("afterload")}});Ext.define("Docs.view.videos.Container",{extend:"Ext.container.Container",alias:"widget.videocontainer",componentCls:"video-container",load:function(b){this.tpl=this.tpl||new Ext.XTemplate('<object width="640" height="360" id="video_player">','<param name="allowfullscreen" value="true" />','<param name="allowscriptaccess" value="always" />','<param name="flashvars" value="api=1" />','<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id={id}&amp;server=vimeo.com&amp;color=4CC208&amp;fullscreen=1" />','<embed src="http://vimeo.com/moogaloop.swf?clip_id={id}&amp;server=vimeo.com&amp;color=4CC208&amp;fullscreen=1" ','type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></embed>',"</object>","<h1>{title}</h1>","<p>{[this.linkify(values.description)]}</p>",{linkify:function(a){return a.replace(/(\bhttps?:\/\/\S+)/ig,"<a href='$1'>$1</a>")}});this.update(this.tpl.apply(b))},listeners:{hide:function(){var b=document.getElementById("video_player");if(b&&b.api_pause){b.api_pause()}}}});Ext.define("Docs.view.examples.Container",{extend:"Ext.container.Container",alias:"widget.examplecontainer",layout:"fit",initComponent:function(){this.tpl=new Ext.XTemplate('<iframe style="width: 100%; height: 100%; border: 0;" src="{url}"></iframe>');this.callParent(arguments)},load:function(b){this.update(this.tpl.apply(b))},clear:function(){this.update("")}});Ext.define("Docs.view.cls.Header",{extend:"Ext.container.Container",padding:"10 0 17 0",height:55,alias:"widget.classheader",cls:"classheader",initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'<h1 class="{[this.getClass(values)]}">','<tpl if="private">','<span class="private">Private</span>',"</tpl>",'<a href="#" class="class-source-link">{name}','<span class="class-source-tip">View source...</span>',"</a>",'<tpl if="singleton">',"<span>singleton</span>","</tpl>","{[this.renderAliases(values.aliases)]}","</h1>",Docs.data.showPrintButton?'<a class="print" href="?print=/api/{name}" target="_blank">Print</a>':"",{getClass:function(b){if(b.component){return"component"}else{if(b.singleton){return"singleton"}else{return"class"}}},renderAliases:function(e){var f={widget:"xtype",plugin:"ptype",feature:"ftype"};var d=[];e&&Ext.Object.each(e,function(a,b){d.push((f[a]||a)+": "+b.join(", "))});if(d.length>0){return"<span>"+d.join(", ")+"</span>"}else{return""}}});this.on("render",this.initSourceLink,this);this.callParent()},initSourceLink:function(){this.classLinkEvent("click",function(){var d=this.loadedCls.files;if(d.length===1){window.open("source/"+d[0].href)}else{var c=this.createFileMenu(d);c.showBy(this,undefined,[58,-20])}},this);this.classLinkEvent("mouseover",function(){this.el.down(".class-source-tip").addCls("hover")},this);this.classLinkEvent("mouseout",function(){this.el.down(".class-source-tip").removeCls("hover")},this)},classLinkEvent:function(d,e,f){this.el.on(d,e,f,{preventDefault:true,delegate:"a.class-source-link"})},createFileMenu:function(b){return new Ext.menu.Menu({items:Ext.Array.map(b,function(a){return{text:a.filename,handler:function(){window.open("source/"+a.href)}}},this)})},load:function(b){this.loadedCls=b;this.update(this.tpl.apply(b))}});Ext.define("Ext.panel.Header",{extend:"Ext.container.Container",uses:["Ext.panel.Tool","Ext.draw.Component","Ext.util.CSS"],alias:"widget.header",isHeader:true,defaultType:"tool",indicateDrag:false,weight:-1,renderTpl:['<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl>','<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl>','</tpl>"','<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>'],initComponent:function(){var l=this,i,j,g,h,k;l.indicateDragCls=l.baseCls+"-draggable";l.title=l.title||"&#160;";l.tools=l.tools||[];l.items=l.items||[];l.orientation=l.orientation||"horizontal";l.dock=(l.dock)?l.dock:(l.orientation=="horizontal")?"top":"left";l.addClsWithUI(l.orientation);l.addClsWithUI(l.dock);l.addChildEls("body");if(!Ext.isEmpty(l.iconCls)){l.initIconCmp();l.items.push(l.iconCmp)}if(l.orientation=="vertical"){if(Ext.isIE6||Ext.isIE7){l.width=this.width||24}else{if(Ext.isIEQuirks){l.width=this.width||25}}l.layout={type:"vbox",align:"center",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};l.textConfig={cls:l.baseCls+"-text",type:"text",text:l.title,rotate:{degrees:90}};k=l.ui;if(Ext.isArray(k)){k=k[0]}i="."+l.baseCls+"-text-"+k;if(Ext.scopeResetCSS){i="."+Ext.baseCSSPrefix+"reset "+i}j=Ext.util.CSS.getRule(i);if(j){g=j.style}if(g){Ext.apply(l.textConfig,{"font-family":g.fontFamily,"font-weight":g.fontWeight,"font-size":g.fontSize,fill:g.color})}l.titleCmp=Ext.create("Ext.draw.Component",{ariaRole:"heading",focusable:false,viewBox:false,flex:1,autoSize:true,margins:"5 0 0 0",items:[l.textConfig],renderSelectors:{textEl:"."+l.baseCls+"-text"}})}else{l.layout={type:"hbox",align:"middle",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};l.titleCmp=Ext.create("Ext.Component",{xtype:"component",ariaRole:"heading",focusable:false,flex:1,cls:l.baseCls+"-text-container",renderTpl:['<span id="{id}-textEl" class="{cls}-text {cls}-text-{ui}">{title}</span>'],renderData:{title:l.title,cls:l.baseCls,ui:l.ui},childEls:["textEl"]})}l.items.push(l.titleCmp);l.items=l.items.concat(l.tools);this.callParent()},initIconCmp:function(){this.iconCmp=Ext.create("Ext.Component",{focusable:false,renderTpl:['<img id="{id}-iconEl" alt="" src="{blank}" class="{cls}-icon {iconCls}"/>'],renderData:{blank:Ext.BLANK_IMAGE_URL,cls:this.baseCls,iconCls:this.iconCls,orientation:this.orientation},childEls:["iconEl"],iconCls:this.iconCls})},afterRender:function(){var b=this;b.el.unselectable();if(b.indicateDrag){b.el.addCls(b.indicateDragCls)}b.mon(b.el,{click:b.onClick,scope:b});b.callParent()},afterLayout:function(){var b=this;b.callParent(arguments);if(Ext.isIE7){b.el.repaint()}},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,g,f;e.callParent(arguments);f=e.baseCls+"-body-"+e.ui;if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}if(!h&&e.titleCmp&&e.titleCmp.rendered&&e.titleCmp.textEl){e.titleCmp.textEl.addCls(e.baseCls+"-text-"+e.ui)}},removeUIFromElement:function(){var d=this,f,e;d.callParent(arguments);e=d.baseCls+"-body-"+d.ui;if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}if(d.titleCmp&&d.titleCmp.rendered&&d.titleCmp.textEl){d.titleCmp.textEl.removeCls(d.baseCls+"-text-"+d.ui)}},onClick:function(b){if(!b.getTarget(Ext.baseCSSPrefix+"tool")){this.fireEvent("click",b)}},getTargetEl:function(){return this.body||this.frameBody||this.el},setTitle:function(g){var h=this;if(h.rendered){if(h.titleCmp.rendered){if(h.titleCmp.surface){h.title=g||"";var e=h.titleCmp.surface.items.items[0],f=h.titleCmp.surface;f.remove(e);h.textConfig.type="text";h.textConfig.text=g;e=f.add(h.textConfig);e.setAttributes({rotate:{degrees:90}},true);h.titleCmp.autoSizeSurface()}else{h.title=g||"&#160;";h.titleCmp.textEl.update(h.title)}}else{h.titleCmp.on({render:function(){h.setTitle(g)},single:true})}}else{h.on({render:function(){h.layout.layout();h.setTitle(g)},single:true})}},setIconCls:function(g){var j=this,h=!g||!g.length,i=j.iconCmp,f;j.iconCls=g;if(!j.iconCmp&&!h){j.initIconCmp();j.insert(0,j.iconCmp)}else{if(i){if(h){j.iconCmp.destroy()}else{f=i.iconEl;f.removeCls(i.iconCls);f.addCls(g);i.iconCls=g}}}},addTool:function(b){this.tools.push(this.add(b))},onAdd:function(c,d){this.callParent([arguments]);if(c instanceof Ext.panel.Tool){c.bindTo(this.ownerCt);this.tools[c.type]=c}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",uses:["Ext.grid.ColumnLayout","Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var b=this;b.headerCounter=0;b.plugins=b.plugins||[];if(!b.isHeader){b.resizer=Ext.create("Ext.grid.plugin.HeaderResizer");b.reorderer=Ext.create("Ext.grid.plugin.HeaderReorderer");if(!b.enableColumnResize){b.resizer.disable()}if(!b.enableColumnMove){b.reorderer.disable()}b.plugins.push(b.reorderer,b.resizer)}if(b.isHeader&&!b.items){b.layout="auto"}else{b.layout={type:"gridcolumn",availableSpaceOffset:b.availableSpaceOffset,align:"stretchmax",resetStretch:true}}b.defaults=b.defaults||{};Ext.applyIf(b.defaults,{width:b.defaultWidth,triStateSort:b.triStateSort,sortable:b.sortable});b.callParent();b.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){Ext.destroy(this.resizer,this.reorderer);this.callParent()},applyDefaults:function(b){if(b&&!b.isComponent&&b.xtype=="rownumberer"){return b}return this.callParent([b])},applyColumnsState:function(i){if(!i||!i.length){return}var h=this,j=0,f,g;Ext.each(i,function(a){g=h.down("gridcolumn[headerId="+a.id+"]");if(g){f=h.items.indexOf(g);if(j!==f){h.moveHeader(f,j)}if(g.applyColumnState){g.applyColumnState(a)}++j}})},getColumnsState:function(){var d=this,e=[],f;d.items.each(function(a){f=a.getColumnState&&a.getColumnState();if(f){e.push(f)}});return e},onAdd:function(c){var d=this;if(!c.headerId){c.headerId=c.initialConfig.id||("h"+(++d.headerCounter))}if(Ext.global.console&&Ext.global.console.warn){if(!d._usedIDs){d._usedIDs={}}if(d._usedIDs[c.headerId]){Ext.global.console.warn(this.$className,"attempted to reuse an existing id",c.headerId)}d._usedIDs[c.headerId]=true}d.callParent(arguments);d.purgeCache()},onRemove:function(c){var d=this;d.callParent(arguments);d.purgeCache()},afterRender:function(){this.callParent();var f=this.up("[store]").store,h=f.sorters,g=h.first(),e;if(g){e=this.down("gridcolumn[dataIndex="+g.property+"]");if(e){e.setSortState(g.direction,false,true)}}},afterLayout:function(){if(!this.isHeader){var h=this,i=h.query(">gridcolumn:not([hidden])"),j,f,g;h.callParent(arguments);if(i.length){f=i[0].el;if(f!==h.pastFirstHeaderEl){if(h.pastFirstHeaderEl){h.pastFirstHeaderEl.removeCls(h.firstHeaderCls)}f.addCls(h.firstHeaderCls);h.pastFirstHeaderEl=f}g=i[i.length-1].el;if(g!==h.pastLastHeaderEl){if(h.pastLastHeaderEl){h.pastLastHeaderEl.removeCls(h.lastHeaderCls)}g.addCls(h.lastHeaderCls);h.pastLastHeaderEl=g}}}},onHeaderShow:function(p,u){var m=this,i=m.ownerCt,s=m.getMenu(),r,t,o,v,n,q;if(s){o=s.down("menucheckitem[headerId="+p.id+"]");if(o){o.setChecked(true,true)}r=s.query("#columnItem>menucheckitem[checked]");t=r.length;if((m.getVisibleGridColumns().length>1)&&m.disabledMenuItems&&m.disabledMenuItems.length){if(t==1){Ext.Array.remove(m.disabledMenuItems,r[0])}for(q=0,n=m.disabledMenuItems.length;q<n;q++){v=m.disabledMenuItems[q];if(!v.isDestroyed){v[v.menu?"enableCheckChange":"enable"]()}}if(t==1){m.disabledMenuItems=r}else{m.disabledMenuItems=[]}}}if(!p.isGroupHeader){if(m.view){m.view.onHeaderShow(m,p,true)}if(i){i.onHeaderShow(m,p)}}m.fireEvent("columnshow",m,p);if(u!==true){m.doLayout()}},doComponentLayout:function(){var b=this;if(b.view&&b.view.saveScrollState){b.view.saveScrollState()}b.callParent(arguments);if(b.view&&b.view.restoreScrollState){b.view.restoreScrollState()}},onHeaderHide:function(i,l){var g=this,h=g.ownerCt,j=g.getMenu(),k;if(j){k=j.down("menucheckitem[headerId="+i.id+"]");if(k){k.setChecked(false,true)}g.setDisabledItems()}if(!i.isGroupHeader){if(g.view){g.view.onHeaderHide(g,i,true)}if(h){h.onHeaderHide(g,i)}if(!l){g.doLayout()}}g.fireEvent("columnhide",g,i)},setDisabledItems:function(){var k=this,i=k.getMenu(),g=0,h,j,l;j=i.query("#columnItem>menucheckitem[checked]");if((j.length===1)){if(!k.disabledMenuItems){k.disabledMenuItems=[]}if((k.getVisibleGridColumns().length===1)&&j[0].menu){j=j.concat(j[0].menu.query("menucheckitem[checked]"))}h=j.length;for(g=0;g<h;g++){l=j[g];if(!Ext.Array.contains(k.disabledMenuItems,l)){l.disabled=false;l[l.menu?"disableCheckChange":"disable"]();k.disabledMenuItems.push(l)}}}},tempLock:function(){this.ddLock=true;Ext.Function.defer(function(){this.ddLock=false},200,this)},onHeaderResize:function(f,e,d){this.tempLock();if(this.view&&this.view.rendered){this.view.onHeaderResize(f,e,d)}},onHeaderClick:function(f,d,e){this.fireEvent("headerclick",this,f,d,e)},onHeaderTriggerClick:function(f,d,e){if(this.fireEvent("headertriggerclick",this,f,d,e)!==false){this.showMenuBy(e,f)}},showMenuBy:function(g,i){var k=this.getMenu(),j=k.down("#ascItem"),l=k.down("#descItem"),h;k.activeHeader=k.ownerCt=i;k.setFloatParent(i);i.titleContainer.addCls(this.headerOpenCls);h=i.sortable?"enable":"disable";if(j){j[h]()}if(l){l[h]()}k.showBy(g)},onMenuDeactivate:function(){var b=this.getMenu();b.activeHeader.titleContainer.removeCls(this.headerOpenCls)},moveHeader:function(d,c){this.tempLock();this.onHeaderMoved(this.move(d,c),d,c)},purgeCache:function(){var b=this;delete b.gridDataColumns;delete b.hideableColumns;if(b.menu){b.menu.destroy();delete b.menu}},onHeaderMoved:function(h,f,i){var j=this,g=j.ownerCt;if(g&&g.onHeaderMove){g.onHeaderMove(j,h,f,i)}j.fireEvent("columnmove",j,h,f,i)},getMenu:function(){var b=this;if(!b.menu){b.menu=Ext.create("Ext.menu.Menu",{hideOnParentHide:false,items:b.getMenuItems(),listeners:{deactivate:b.onMenuDeactivate,scope:b}});b.setDisabledItems();b.fireEvent("menucreate",b,b.menu)}return b.menu},getMenuItems:function(){var f=this,d=[],e=f.enableColumnHide?f.getColumnMenu(f):null;if(f.sortable){d=[{itemId:"ascItem",text:f.sortAscText,cls:Ext.baseCSSPrefix+"hmenu-sort-asc",handler:f.onSortAscClick,scope:f},{itemId:"descItem",text:f.sortDescText,cls:Ext.baseCSSPrefix+"hmenu-sort-desc",handler:f.onSortDescClick,scope:f}]}if(e&&e.length){d.push("-",{itemId:"columnItem",text:f.columnsText,cls:Ext.baseCSSPrefix+"cols-icon",menu:e})}return d},onSortAscClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("ASC")},onSortDescClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("DESC")},getColumnMenu:function(k){var n=[],h=0,l,i=k.query(">gridcolumn[hideable]"),j=i.length,m;for(;h<j;h++){l=i[h];m=Ext.create("Ext.menu.CheckItem",{text:l.text,checked:!l.hidden,hideOnClick:false,headerId:l.id,menu:l.isGroupHeader?this.getColumnMenu(l):undefined,checkHandler:this.onColumnCheckChange,scope:this});if(j===1){m.disabled=true}n.push(m);l.on({destroy:Ext.Function.bind(m.destroy,m)})}return n},onColumnCheckChange:function(e,d){var f=Ext.getCmp(e.headerId);f[d?"show":"hide"]()},getColumnsForTpl:function(l){var n=[],m=this.getGridColumns(l),j=m.length,i=0,k,h;for(;i<j;i++){k=m[i];if(k.hidden||k.up("headercontainer[hidden=true]")){h=0}else{h=k.getDesiredWidth();if((i===0)&&(Ext.isIE6||Ext.isIE7)){h+=1}}n.push({dataIndex:k.dataIndex,align:k.align,width:h,id:k.id,cls:k.tdCls,columnId:k.getItemId()})}return n},getColumnCount:function(){return this.getGridColumns().length},getFullWidth:function(i){var j=0,f=this.getVisibleGridColumns(i),h=f.length,g=0;for(;g<h;g++){if(!isNaN(f[g].width)){if(f[g].getDesiredWidth){j+=f[g].getDesiredWidth()}else{j+=f[g].getWidth()}}}return j},clearOtherSortStates:function(g){var j=this.getGridColumns(),h=j.length,f=0,i;for(;f<h;f++){if(j[f]!==g){i=j[f].sortState;j[f].setSortState(null,true)}}},getVisibleGridColumns:function(b){return Ext.ComponentQuery.query(":not([hidden])",this.getGridColumns(b))},getGridColumns:function(d){var f=this,e=d?null:f.gridDataColumns;if(!e){f.gridDataColumns=e=[];f.cascade(function(a){if((a!==f)&&!a.isGroupHeader){e.push(a)}})}return e},getHideableColumns:function(d){var f=this,e=d?null:f.hideableColumns;if(!e){e=f.hideableColumns=f.query("[hideable]")}return e},getHeaderIndex:function(c){var d=this.getGridColumns();return Ext.Array.indexOf(d,c)},getHeaderAtIndex:function(d){var c=this.getGridColumns();return c[d]},prepareData:function(w,B,u,s,D){var x={},A=this.gridDataColumns||this.getGridColumns(),z=A.length,y=0,v,p,t,q,C,r=D.store;for(;y<z;y++){C={tdCls:"",style:""};v=A[y];p=v.id;t=v.renderer;q=w[v.dataIndex];if(typeof t==="string"){v.renderer=t=Ext.util.Format[t]}if(typeof t==="function"){q=t.call(v.scope||this.ownerCt,q,C,u,B,y,r,s)}if(C.css){x.cssWarning=true;C.tdCls=C.css;delete C.css}x[p+"-modified"]=u.isModified(v.dataIndex)?Ext.baseCSSPrefix+"grid-dirty-cell":"";x[p+"-tdCls"]=C.tdCls;x[p+"-tdAttr"]=C.tdAttr;x[p+"-style"]=C.style;if(q===undefined||q===null||q===""){q="&#160;"}x[p]=q}return x},expandToFit:function(b){if(this.view){this.view.expandToFit(b)}}});Ext.define("Ext.grid.column.Column",{extend:"Ext.grid.header.Container",alias:"widget.gridcolumn",requires:["Ext.util.KeyNav"],alternateClassName:"Ext.grid.Column",baseCls:Ext.baseCSSPrefix+"column-header "+Ext.baseCSSPrefix+"unselectable",hoverCls:Ext.baseCSSPrefix+"column-header-over",handleWidth:5,sortState:null,possibleSortStates:["ASC","DESC"],renderTpl:'<div id="{id}-titleContainer" class="'+Ext.baseCSSPrefix+'column-header-inner"><span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'column-header-text">{text}</span><tpl if="!values.menuDisabled"><div id="{id}-triggerEl" class="'+Ext.baseCSSPrefix+'column-header-trigger"></div></tpl></div>',dataIndex:null,text:"&#160;",sortable:true,hideable:true,menuDisabled:false,renderer:false,align:"left",draggable:true,initDraggable:Ext.emptyFn,isHeader:true,initComponent:function(){var g=this,e,f,h;if(Ext.isDefined(g.header)){g.text=g.header;delete g.header}if(g.flex){g.minWidth=g.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}else{g.minWidth=g.width}if(!g.triStateSort){g.possibleSortStates.length=2}if(Ext.isDefined(g.columns)){g.isGroupHeader=true;if(g.dataIndex){Ext.Error.raise("Ext.grid.column.Column: Group header may not accept a dataIndex")}if((g.width&&g.width!==Ext.grid.header.Container.prototype.defaultWidth)||g.flex){Ext.Error.raise("Ext.grid.column.Column: Group header does not support setting explicit widths or flexs. The group header width is calculated by the sum of its children.")}g.items=g.columns;delete g.columns;delete g.flex;g.width=0;for(e=0,f=g.items.length;e<f;e++){h=g.items[e];if(!h.hidden){g.width+=h.width||Ext.grid.header.Container.prototype.defaultWidth}if(h.flex){Ext.Error.raise("Ext.grid.column.Column: items of a grouped header do not support flexed values. Each item must explicitly define its width.")}}g.minWidth=g.width;g.cls=(g.cls||"")+" "+Ext.baseCSSPrefix+"group-header";g.sortable=false;g.resizable=false;g.align="center"}g.addChildEls("titleContainer","triggerEl","textEl");g.callParent(arguments)},onAdd:function(b){b.isSubHeader=true;b.addCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},onRemove:function(b){b.isSubHeader=false;b.removeCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},initRenderData:function(){var b=this;Ext.applyIf(b.renderData,{text:b.text,menuDisabled:b.menuDisabled});return b.callParent(arguments)},applyColumnState:function(d){var e=this,f=Ext.isDefined;e.applyColumnsState(d.columns);if(f(d.hidden)){e.hidden=d.hidden}if(f(d.locked)){e.locked=d.locked}if(f(d.sortable)){e.sortable=d.sortable}if(f(d.width)){delete e.flex;e.width=d.width}else{if(f(d.flex)){delete e.width;e.flex=d.flex}}},getColumnState:function(){var d=this,e=[],f={id:d.headerId};d.savePropsToState(["hidden","sortable","locked","flex","width"],f);if(d.isGroupHeader){d.items.each(function(a){e.push(a.getColumnState())});if(e.length){f.columns=e}}else{if(d.isSubHeader&&d.ownerCt.hidden){delete d.hidden}}if("width" in f){delete f.flex}return f},setText:function(b){this.text=b;if(this.rendered){this.textEl.update(b)}},getOwnerHeaderCt:function(){return this.up(":not([isHeader])")},getIndex:function(){return this.isGroupColumn?false:this.getOwnerHeaderCt().getHeaderIndex(this)},onRender:function(){var c=this,d=c.up("tablepanel");if(d&&(!c.sortable||d.sortableColumns===false)&&!c.groupable&&!c.lockable&&(d.enableColumnHide===false||!c.getOwnerHeaderCt().getHideableColumns().length)){c.menuDisabled=true}c.callParent(arguments)},afterRender:function(){var c=this,d=c.el;c.callParent(arguments);d.addCls(Ext.baseCSSPrefix+"column-header-align-"+c.align).addClsOnOver(c.overCls);c.mon(d,{click:c.onElClick,dblclick:c.onElDblClick,scope:c});if(!Ext.isIE8||!Ext.isStrict){c.mon(c.getFocusEl(),{focus:c.onTitleMouseOver,blur:c.onTitleMouseOut,scope:c})}c.mon(c.titleContainer,{mouseenter:c.onTitleMouseOver,mouseleave:c.onTitleMouseOut,scope:c});c.keyNav=Ext.create("Ext.util.KeyNav",d,{enter:c.onEnterKey,down:c.onDownKey,scope:c})},setWidth:function(s,t){var m=this,r=m.ownerCt,l,n,o,q=m.getWidth(),p=0,i;if(s!==q){m.oldWidth=q;m.minWidth=m.width=s;if(r.isGroupHeader){l=r.items.items;n=l.length;for(o=0;o<n;o++){i=l[o];if(!i.hidden){p+=(i===m)?s:i.getWidth()}}r.setWidth(p,t)}else{if(t!==false){r.doLayout()}}}},afterComponentLayout:function(h,f){var g=this,e=this.getOwnerHeaderCt();g.callParent(arguments);if(h&&!g.isGroupHeader&&e){e.onHeaderResize(g,h,true)}if(g.oldWidth&&(h!==g.oldWidth)){e.fireEvent("columnresize",e,this,h)}delete g.oldWidth},setPadding:function(e){var f=this,d=Ext.util.TextMetrics.measure(f.textEl.dom,f.text).height;if(!f.isGroupHeader){if(f.titleContainer.getHeight()<e){f.titleContainer.dom.style.height=e+"px"}}e=f.titleContainer.getViewSize().height;if(d){f.titleContainer.setStyle({paddingTop:Math.max(((e-d)/2),0)+"px"})}if(Ext.isIE&&f.triggerEl){f.triggerEl.setHeight(e)}},onDestroy:function(){var b=this;Ext.destroy(b.textEl,b.keyNav);delete b.keyNav;b.callParent(arguments)},onTitleMouseOver:function(){this.titleContainer.addCls(this.hoverCls)},onTitleMouseOut:function(){this.titleContainer.removeCls(this.hoverCls)},onDownKey:function(b){if(this.triggerEl){this.onElClick(b,this.triggerEl.dom||this.el.dom)}},onEnterKey:function(b){this.onElClick(b,this.el.dom)},onElDblClick:function(g,f){var h=this,e=h.ownerCt;if(e&&Ext.Array.indexOf(e.items,h)!==0&&h.isOnLeftEdge(g)){e.expandToFit(h.previousSibling("gridcolumn"))}},onElClick:function(g,e){var h=this,f=h.getOwnerHeaderCt();if(f&&!f.ddLock){if(h.triggerEl&&(g.target===h.triggerEl.dom||e===h.triggerEl.dom||g.within(h.triggerEl))){f.onHeaderTriggerClick(h,g,e)}else{if(g.getKey()||(!h.isOnLeftEdge(g)&&!h.isOnRightEdge(g))){h.toggleSortState();f.onHeaderClick(h,g,e)}}}},processEvent:function(j,e,h,l,k,i){return this.fireEvent.apply(this,arguments)},toggleSortState:function(){var d=this,e,f;if(d.sortable){e=Ext.Array.indexOf(d.possibleSortStates,d.sortState);f=(e+1)%d.possibleSortStates.length;d.setSortState(d.possibleSortStates[f])}},doSort:function(c){var d=this.up("tablepanel").store;d.sort({property:this.getSortParam(),direction:c})},getSortParam:function(){return this.dataIndex},setSortState:function(t,k,o){var n=this,m=Ext.baseCSSPrefix+"column-header-sort-",l=m+"ASC",r=m+"DESC",s=m+"null",p=n.getOwnerHeaderCt(),q=n.sortState;if(q!==t&&n.getSortParam()){n.addCls(m+t);if(t&&!o){n.doSort(t)}switch(t){case"DESC":n.removeCls([l,s]);break;case"ASC":n.removeCls([r,s]);break;case null:n.removeCls([l,r]);break}if(p&&!n.triStateSort&&!k){p.clearOtherSortStates(n)}n.sortState=t;p.fireEvent("sortchange",p,n,t)}},hide:function(){var k=this,n,i,m,j,l=0,h=k.getOwnerHeaderCt();k.oldWidth=k.getWidth();if(k.isGroupHeader){n=k.items.items;k.callParent(arguments);h.onHeaderHide(k);for(m=0,i=n.length;m<i;m++){n[m].hidden=true;h.onHeaderHide(n[m],true)}return}j=k.ownerCt.componentLayout.layoutBusy;k.ownerCt.componentLayout.layoutBusy=true;k.callParent(arguments);k.ownerCt.componentLayout.layoutBusy=j;h.onHeaderHide(k);if(k.ownerCt.isGroupHeader){n=k.ownerCt.query(">:not([hidden])");if(!n.length){k.ownerCt.hide()}else{for(m=0,i=n.length;m<i;m++){l+=n[m].getWidth()}k.ownerCt.minWidth=l;k.ownerCt.setWidth(l)}}},show:function(){var m=this,u=m.ownerCt,q=u.componentLayout,t=q.layoutBusy,v=u.layout,p=v.layoutBusy,n,o,r,i,s=0;q.layoutBusy=v.layoutBusy=true;m.callParent(arguments);q.layoutBusy=t;v.layoutBusy=p;if(m.isSubHeader){if(!u.isVisible()){u.show()}}if(m.isGroupHeader&&!m.query(":not([hidden])").length){n=m.query(">*");for(r=0,o=n.length;r<o;r++){i=n[r];i.preventLayout=true;i.show();s+=i.getWidth();delete i.preventLayout}m.setWidth(s)}if(u.isGroupHeader&&m.preventLayout!==true){n=u.query(">:not([hidden])");for(r=0,o=n.length;r<o;r++){s+=n[r].getWidth()}u.minWidth=s;u.setWidth(s)}u=m.getOwnerHeaderCt();if(u){u.onHeaderShow(m,m.preventLayout)}},getDesiredWidth:function(){var b=this;if(b.rendered&&b.componentLayout&&b.componentLayout.lastComponentSize){return b.componentLayout.lastComponentSize.width}else{if(b.flex){return b.width}else{return b.width}}},getCellSelector:function(){return"."+Ext.baseCSSPrefix+"grid-cell-"+this.getItemId()},getCellInnerSelector:function(){return this.getCellSelector()+" ."+Ext.baseCSSPrefix+"grid-cell-inner"},isOnLeftEdge:function(b){return(b.getXY()[0]-this.el.getLeft()<=this.handleWidth)},isOnRightEdge:function(b){return(this.el.getRight()-b.getXY()[0]<=this.handleWidth)}});Ext.define("Ext.grid.column.Action",{extend:"Ext.grid.column.Column",alias:["widget.actioncolumn"],alternateClassName:"Ext.grid.ActionColumn",header:"&#160;",actionIdRe:new RegExp(Ext.baseCSSPrefix+"action-col-(\\d+)"),altText:"",sortable:false,constructor:function(m){var j=this,h=Ext.apply({},m),n=h.items||[j],i=n.length,l,k;delete h.items;j.callParent([h]);j.items=n;j.renderer=function(b,a){b=Ext.isFunction(h.renderer)?h.renderer.apply(this,arguments)||"":"";a.tdCls+=" "+Ext.baseCSSPrefix+"action-col-cell";for(l=0;l<i;l++){k=n[l];k.disable=Ext.Function.bind(j.disableAction,j,[l]);k.enable=Ext.Function.bind(j.enableAction,j,[l]);b+='<img alt="'+(k.altText||j.altText)+'" src="'+(k.icon||Ext.BLANK_IMAGE_URL)+'" class="'+Ext.baseCSSPrefix+"action-col-icon "+Ext.baseCSSPrefix+"action-col-"+String(l)+" "+(k.disabled?Ext.baseCSSPrefix+"item-disabled":" ")+(k.iconCls||"")+" "+(Ext.isFunction(k.getClass)?k.getClass.apply(k.scope||j.scope||j,arguments):(j.iconCls||""))+'"'+((k.tooltip)?' data-qtip="'+k.tooltip+'"':"")+" />"}return b}},enableAction:function(d){var c=this;if(!d){d=0}else{if(!Ext.isNumber(d)){d=Ext.Array.indexOf(c.items,d)}}c.items[d].disabled=false;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+d).removeCls(c.disabledCls)},disableAction:function(d){var c=this;if(!d){d=0}else{if(!Ext.isNumber(d)){d=Ext.Array.indexOf(c.items,d)}}c.items[d].disabled=true;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+d).addCls(c.disabledCls)},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(p,m,l,t,o,r){var q=this,s=r.getTarget().className.match(q.actionIdRe),e,n;if(s){e=q.items[parseInt(s[1],10)];if(e){if(p=="click"){n=e.handler||q.handler;if(n&&!e.disabled){n.call(e.scope||q.scope||q,m,t,o,e,r)}}else{if(p=="mousedown"&&e.stopSelection!==false){return false}}}}return q.callParent(arguments)},cascade:function(c,d){c.call(d||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.button.Button",{alias:"widget.button",extend:"Ext.Component",requires:["Ext.menu.Manager","Ext.util.ClickRepeater","Ext.layout.component.Button","Ext.util.TextMetrics","Ext.util.KeyMap"],alternateClassName:"Ext.Button",isButton:true,componentLayout:"button",hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",textAlign:"center",type:"button",clickEvent:"click",preventDefault:true,handleMouseEvents:true,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",pressedCls:"pressed",overCls:"over",focusCls:"focus",menuActiveCls:"menu-active",ariaRole:"button",renderTpl:'<em id="{id}-btnWrap" class="{splitCls}"><tpl if="href"><a id="{id}-btnEl" href="{href}" target="{target}"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="link"><span id="{id}-btnInnerEl" class="{baseCls}-inner">{text}</span><span id="{id}-btnIconEl" class="{baseCls}-icon"></span></a></tpl><tpl if="!href"><button id="{id}-btnEl" type="{type}" hidefocus="true"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="button" autocomplete="off"><span id="{id}-btnInnerEl" class="{baseCls}-inner" style="{innerSpanStyle}">{text}</span><span id="{id}-btnIconEl" class="{baseCls}-icon {iconCls}">&#160;</span></button></tpl></em>',scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,initComponent:function(){var b=this;b.callParent(arguments);b.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(b.menu){b.split=true;b.menu=Ext.menu.Manager.get(b.menu);b.menu.ownerCt=b}if(b.url){b.href=b.url}if(b.href&&!b.hasOwnProperty("preventDefault")){b.preventDefault=false}if(Ext.isString(b.toggleGroup)){b.enableToggle=true}},initAria:function(){this.callParent();var b=this.getActionEl();if(this.menu){b.dom.setAttribute("aria-haspopup",true)}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.btnEl},setButtonCls:function(){var g=this,e=[],f=g.btnIconEl,h="x-hide-display";if(g.useSetClass){if(!Ext.isEmpty(g.oldCls)){g.removeClsWithUI(g.oldCls);g.removeClsWithUI(g.pressedCls)}if(g.iconCls||g.icon){if(g.text){e.push("icon-text-"+g.iconAlign)}else{e.push("icon")}if(f){f.removeCls(h)}}else{if(g.text){e.push("noicon")}if(f){f.addCls(h)}}g.oldCls=e;g.addClsWithUI(e);g.addClsWithUI(g.pressed?g.pressedCls:null)}},onRender:function(i,g){var h=this,j,f;Ext.applyIf(h.renderData,h.getTemplateArgs());h.addChildEls("btnEl","btnWrap","btnInnerEl","btnIconEl");if(h.scale){h.ui=h.ui+"-"+h.scale}h.callParent(arguments);if(h.split&&h.arrowTooltip){h.arrowEl.dom.setAttribute(h.getTipAttr(),h.arrowTooltip)}h.mon(h.btnEl,{scope:h,focus:h.onFocus,blur:h.onBlur});f=h.el;if(h.icon){h.setIcon(h.icon)}if(h.iconCls){h.setIconCls(h.iconCls)}if(h.tooltip){h.setTooltip(h.tooltip,true)}if(h.textAlign){h.setTextAlign(h.textAlign)}if(h.handleMouseEvents){h.mon(f,{scope:h,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousedown:h.onMouseDown});if(h.split){h.mon(f,{mousemove:h.onMouseMove,scope:h})}}if(h.menu){h.mon(h.menu,{scope:h,show:h.onMenuShow,hide:h.onMenuHide});h.keyMap=Ext.create("Ext.util.KeyMap",h.el,{key:Ext.EventObject.DOWN,handler:h.onDownKey,scope:h})}if(h.repeat){j=Ext.create("Ext.util.ClickRepeater",f,Ext.isObject(h.repeat)?h.repeat:{});h.mon(j,"click",h.onRepeatClick,h)}else{h.mon(f,h.clickEvent,h.onClick,h)}Ext.ButtonToggleManager.register(h)},getTemplateArgs:function(){var f=this,d=f.getPersistentBtnPadding(),e="";if(Math.max.apply(Math,d)>0){e="margin:"+Ext.Array.map(d,function(a){return -a+"px"}).join(" ")}return{href:f.getHref(),target:f.target||"_blank",type:f.type,splitCls:f.getSplitCls(),cls:f.cls,iconCls:f.iconCls||"",text:f.text||"&#160;",tabIndex:f.tabIndex,innerSpanStyle:e}},getHref:function(){var d=this,c=Ext.apply({},d.baseParams);c=Ext.apply(c,d.params);return d.href?Ext.urlAppend(d.href,Ext.Object.toQueryString(c)):false},setParams:function(b){this.params=b;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var b=this;return b.split?(b.baseCls+"-"+b.arrowCls)+" "+(b.baseCls+"-"+b.arrowCls+"-"+b.arrowAlign):""},afterRender:function(){var b=this;b.useSetClass=true;b.setButtonCls();b.doc=Ext.getDoc();this.callParent(arguments)},setIconCls:function(e){var g=this,f=g.btnIconEl,h=g.iconCls;g.iconCls=e;if(f){f.removeCls(h);f.addCls(e||"");g.setButtonCls()}return g},setTooltip:function(f,e){var d=this;if(d.rendered){if(!e){d.clearTip()}if(Ext.isObject(f)){Ext.tip.QuickTipManager.register(Ext.apply({target:d.btnEl.id},f));d.tooltip=f}else{d.btnEl.dom.setAttribute(d.getTipAttr(),f)}}else{d.tooltip=f}return d},setTextAlign:function(f){var d=this,e=d.btnEl;if(e){e.removeCls(d.baseCls+"-"+d.textAlign);e.addCls(d.baseCls+"-"+f)}d.textAlign=f;return d},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var b=this;if(b.rendered){b.clearTip()}if(b.menu&&b.destroyMenu!==false){Ext.destroy(b.menu)}Ext.destroy(b.btnInnerEl,b.repeater);b.callParent()},onDestroy:function(){var b=this;if(b.rendered){b.doc.un("mouseover",b.monitorMouseOver,b);b.doc.un("mouseup",b.onMouseUp,b);delete b.doc;Ext.ButtonToggleManager.unregister(b);Ext.destroy(b.keyMap);delete b.keyMap}b.callParent()},setHandler:function(c,d){this.handler=c;this.scope=d;return this},setText:function(c){var d=this;d.text=c;if(d.el){d.btnInnerEl.update(c||"&#160;");d.setButtonCls()}d.doComponentLayout();return d},setIcon:function(d){var f=this,e=f.btnIconEl;f.icon=d;if(e){e.setStyle("background-image",d?"url("+d+")":"");f.setButtonCls()}return f},getText:function(){return this.text},toggle:function(f,e){var d=this;f=f===undefined?!d.pressed:!!f;if(f!==d.pressed){if(d.rendered){d[f?"addClsWithUI":"removeClsWithUI"](d.pressedCls)}d.btnEl.dom.setAttribute("aria-pressed",f);d.pressed=f;if(!e){d.fireEvent("toggle",d,f);Ext.callback(d.toggleHandler,d.scope||d,[d,f])}}return d},maybeShowMenu:function(){var b=this;if(b.menu&&!b.hasVisibleMenu()&&!b.ignoreNextClick){b.showMenu()}},showMenu:function(){var b=this;if(b.rendered&&b.menu){if(b.tooltip&&b.getTipAttr()!="title"){Ext.tip.QuickTipManager.getQuickTip().cancelShow(b.btnEl)}if(b.menu.isVisible()){b.menu.hide()}b.menu.showBy(b.el,b.menuAlign)}return b},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var b=this.menu;return b&&b.rendered&&b.isVisible()},onRepeatClick:function(d,c){this.onClick(c)},onClick:function(c){var d=this;if(d.preventDefault||(d.disabled&&d.getHref())&&c){c.preventDefault()}if(c.button!==0){return}if(!d.disabled){d.doToggle();d.maybeShowMenu();d.fireHandler(c)}},fireHandler:function(f){var d=this,e=d.handler;d.fireEvent("click",d,f);if(e){e.call(d.scope||d,d,f)}d.onBlur()},doToggle:function(){var b=this;if(b.enableToggle&&(b.allowDepress!==false||!b.pressed)){b.toggle()}},onMouseOver:function(c){var d=this;if(!d.disabled&&!c.within(d.el,true,true)){d.onMouseEnter(c)}},onMouseOut:function(c){var d=this;if(!c.within(d.el,true,true)){if(d.overMenuTrigger){d.onMenuTriggerOut(c)}d.onMouseLeave(c)}},onMouseMove:function(i){var k=this,l=k.el,j=k.overMenuTrigger,e,h;if(k.split){if(k.arrowAlign==="right"){e=i.getX()-l.getX();h=l.getWidth()}else{e=i.getY()-l.getY();h=l.getHeight()}if(e>(h-k.getTriggerSize())){if(!j){k.onMenuTriggerOver(i)}}else{if(j){k.onMenuTriggerOut(i)}}}},getTriggerSize:function(){var h=this,j=h.triggerSize,f,g,i;if(j===i){f=h.arrowAlign;g=f.charAt(0);j=h.triggerSize=h.el.getFrameWidth(g)+h.btnWrap.getFrameWidth(g)+(h.frameSize&&h.frameSize[f]||0)}return j},onMouseEnter:function(c){var d=this;d.addClsWithUI(d.overCls);d.fireEvent("mouseover",d,c)},onMouseLeave:function(c){var d=this;d.removeClsWithUI(d.overCls);d.fireEvent("mouseout",d,c)},onMenuTriggerOver:function(c){var d=this;d.overMenuTrigger=true;d.fireEvent("menutriggerover",d,d.menu,c)},onMenuTriggerOut:function(c){var d=this;delete d.overMenuTrigger;d.fireEvent("menutriggerout",d,d.menu,c)},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI("disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI("disabled");c.removeClsWithUI(c.overCls);return c},setScale:function(f){var e=this,d=e.ui.replace("-"+e.scale,"");if(!Ext.Array.contains(e.allowedScales,f)){throw ("#setScale: scale must be an allowed scale ("+e.allowedScales.join(", ")+")")}e.scale=f;e.setUI(d)},setUI:function(c){var d=this;if(d.scale&&!c.match(d.scale)){c=c+"-"+d.scale}d.callParent([c])},onFocus:function(c){var d=this;if(!d.disabled){d.addClsWithUI(d.focusCls)}},onBlur:function(c){var d=this;d.removeClsWithUI(d.focusCls)},onMouseDown:function(c){var d=this;if(!d.disabled&&c.button===0){d.addClsWithUI(d.pressedCls);d.doc.on("mouseup",d.onMouseUp,d)}},onMouseUp:function(c){var d=this;if(c.button===0){if(!d.pressed){d.removeClsWithUI(d.pressedCls)}d.doc.un("mouseup",d.onMouseUp,d)}},onMenuShow:function(c){var d=this;d.ignoreNextClick=0;d.addClsWithUI(d.menuActiveCls);d.fireEvent("menushow",d,d.menu)},onMenuHide:function(c){var d=this;d.removeClsWithUI(d.menuActiveCls);d.ignoreNextClick=Ext.defer(d.restoreClick,250,d);d.fireEvent("menuhide",d,d.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var b=this;if(!b.disabled){if(b.menu){b.showMenu()}}},getPersistentBtnPadding:function(){var h=Ext.button.Button,j=h.persistentPadding,l,g,k,i;if(!j){j=h.persistentPadding=[0,0,0,0];if(!Ext.isIE){l=Ext.create("Ext.button.Button",{renderTo:Ext.getBody(),text:"test",style:"position:absolute;top:-999px;"});k=l.btnEl;i=l.btnInnerEl;k.setSize(null,null);g=i.getOffsetsTo(k);j[0]=g[1];j[1]=k.getWidth()-i.getWidth()-g[0];j[2]=k.getHeight()-i.getHeight()-g[1];j[3]=g[0];l.destroy()}}return j}},function(){var d={};function c(g,a){var b,i,j;if(a){b=d[g.toggleGroup];for(i=0,j=b.length;i<j;i++){if(b[i]!==g){b[i].toggle(false)}}}}Ext.ButtonToggleManager={register:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(!a){a=d[b.toggleGroup]=[]}a.push(b);b.on("toggle",c)},unregister:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(a){Ext.Array.remove(a,b);b.un("toggle",c)}},getPressed:function(a){var b=d[a],g=0,h;if(b){for(h=b.length;g<h;g++){if(b[g].pressed===true){return b[g]}}}return null}}});Ext.define("Ext.tab.Tab",{extend:"Ext.button.Button",alias:"widget.tab",requires:["Ext.layout.component.Tab","Ext.util.KeyNav"],componentLayout:"tab",isTab:true,baseCls:Ext.baseCSSPrefix+"tab",activeCls:"active",closableCls:"closable",closable:true,closeText:"Close Tab",active:false,scale:false,position:"top",initComponent:function(){var b=this;b.addEvents("activate","deactivate","beforeclose","close");b.callParent(arguments);if(b.card){b.setCard(b.card)}},onRender:function(){var d=this,e=d.up("tabbar"),f=d.up("tabpanel");d.addClsWithUI(d.position);d.syncClosableUI();if(!d.minWidth){d.minWidth=(e)?e.minTabWidth:d.minWidth;if(!d.minWidth&&f){d.minWidth=f.minTabWidth}if(d.minWidth&&d.iconCls){d.minWidth+=25}}if(!d.maxWidth){d.maxWidth=(e)?e.maxTabWidth:d.maxWidth;if(!d.maxWidth&&f){d.maxWidth=f.maxTabWidth}}d.callParent(arguments);if(d.active){d.activate(true)}d.syncClosableElements();d.keyNav=Ext.create("Ext.util.KeyNav",d.el,{enter:d.onEnterKey,del:d.onDeleteKey,scope:d})},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI(c.position+"-disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI(c.position+"-disabled");return c},onDestroy:function(){var b=this;if(b.closeEl){b.closeEl.un("click",Ext.EventManager.preventDefault);b.closeEl=null}Ext.destroy(b.keyNav);delete b.keyNav;b.callParent(arguments)},setClosable:function(d){var c=this;d=(!arguments.length||!!d);if(c.closable!=d){c.closable=d;if(c.card){c.card.closable=d}c.syncClosableUI();if(c.rendered){c.syncClosableElements();c.doComponentLayout();if(c.ownerCt){c.ownerCt.doLayout()}}}},syncClosableElements:function(){var d=this;if(d.closable){if(!d.closeEl){d.closeEl=d.el.createChild({tag:"a",cls:d.baseCls+"-close-btn",href:"#",title:d.closeText}).on("click",Ext.EventManager.preventDefault)}}else{var c=d.closeEl;if(c){c.un("click",Ext.EventManager.preventDefault);c.remove();d.closeEl=null}}},syncClosableUI:function(){var c=this,d=[c.closableCls,c.closableCls+"-"+c.position];if(c.closable){c.addClsWithUI(d)}else{c.removeClsWithUI(d)}},setCard:function(d){var c=this;c.card=d;c.setText(c.title||d.title);c.setIconCls(c.iconCls||d.iconCls)},onCloseClick:function(){var b=this;if(b.fireEvent("beforeclose",b)!==false){if(b.tabBar){if(b.tabBar.closeTab(b)===false){return}}else{b.fireEvent("close",b)}}},fireClose:function(){this.fireEvent("close",this)},onEnterKey:function(c){var d=this;if(d.tabBar){d.tabBar.onClick(c,d.el)}},onDeleteKey:function(c){var d=this;if(d.closable){d.onCloseClick()}},activate:function(c){var d=this;d.active=true;d.addClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("activate",d)}},deactivate:function(c){var d=this;d.active=false;d.removeClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("deactivate",d)}}});Ext.define("Ext.tab.Bar",{extend:"Ext.panel.Header",alias:"widget.tabbar",baseCls:Ext.baseCSSPrefix+"tab-bar",requires:["Ext.tab.Tab","Ext.FocusManager"],isTabBar:true,defaultType:"tab",plain:false,renderTpl:['<div id="{id}-body" class="{baseCls}-body <tpl if="bodyCls"> {bodyCls}</tpl> <tpl if="ui"> {baseCls}-body-{ui}<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl></tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>','<div id="{id}-strip" class="{baseCls}-strip<tpl if="ui"> {baseCls}-strip-{ui}<tpl for="uiCls"> {parent.baseCls}-strip-{parent.ui}-{.}</tpl></tpl>"></div>'],initComponent:function(){var c=this,d;if(c.plain){c.setUI(c.ui+"-plain")}c.addClsWithUI(c.dock);c.addEvents("change");c.addChildEls("body","strip");c.callParent(arguments);c.layout.align=(c.orientation=="vertical")?"left":"top";c.layout.overflowHandler=Ext.create("Ext.layout.container.boxOverflow.Scroller",c.layout);c.remove(c.titleCmp);delete c.titleCmp;d=c.orientation=="vertical"?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d});Ext.apply(c.renderData,{bodyCls:c.bodyCls})},onAdd:function(b){b.position=this.dock;this.callParent(arguments)},onRemove:function(d){var c=this;if(d===c.previousTab){c.previousTab=null}if(c.items.getCount()===0){c.activeTab=null}c.callParent(arguments)},afterRender:function(){var b=this;b.mon(b.el,{scope:b,click:b.onClick,delegate:"."+Ext.baseCSSPrefix+"tab"});b.callParent(arguments)},afterComponentLayout:function(){var b=this;b.callParent(arguments);b.strip.setWidth(b.el.getWidth())},onClick:function(h,e){var f=Ext.getCmp(e.id),g=this.tabPanel;e=h.getTarget();if(f&&f.isDisabled&&!f.isDisabled()){if(f.closable&&e===f.closeEl.dom){f.onCloseClick()}else{if(g){g.setActiveTab(f.card)}else{this.setActiveTab(f)}f.focus()}}},closeTab:function(j){var i=this,f=j.card,h=i.tabPanel,g;if(f&&f.fireEvent("beforeclose",f)===false){return false}if(j.active&&i.items.getCount()>1){g=i.previousTab||j.next("tab")||i.items.first();i.setActiveTab(g);if(h){h.setActiveTab(g.card)}}j.fireClose();i.remove(j);if(h&&f){f.fireEvent("close",f);h.remove(f)}if(g){g.focus()}},setActiveTab:function(d){if(d.disabled){return}var c=this;if(c.activeTab){c.previousTab=c.activeTab;c.activeTab.deactivate()}d.activate();if(c.rendered){c.layout.layout();d.el&&d.el.scrollIntoView(c.layout.getRenderTarget())}c.activeTab=d;c.fireEvent("change",c,d,d.card)}});Ext.define("Ext.menu.Item",{extend:"Ext.Component",alias:"widget.menuitem",alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:true,clickHideDelay:1,destroyMenu:true,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:true,isMenuItem:true,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,renderTpl:['<tpl if="plain">',"{text}","</tpl>",'<tpl if="!plain">','<a id="{id}-itemEl" class="'+Ext.baseCSSPrefix+'menu-item-link" href="{href}" <tpl if="hrefTarget">target="{hrefTarget}"</tpl> hidefocus="true" unselectable="on">','<img id="{id}-iconEl" src="{icon}" class="'+Ext.baseCSSPrefix+'menu-item-icon {iconCls}" />','<span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'menu-item-text" <tpl if="menu">style="margin-right: 17px;"</tpl> >{text}</span>','<tpl if="menu">','<img id="{id}-arrowEl" src="{blank}" class="'+Ext.baseCSSPrefix+'menu-item-arrow" />',"</tpl>","</a>","</tpl>"],maskOnDisable:false,activate:function(){var b=this;if(!b.activated&&b.canActivate&&b.rendered&&!b.isDisabled()&&b.isVisible()){b.el.addCls(b.activeCls);b.focus();b.activated=true;b.fireEvent("activate",b)}},blur:function(){this.$focused=false;this.callParent(arguments)},deactivate:function(){var b=this;if(b.activated){b.el.removeCls(b.activeCls);b.blur();b.hideMenu();b.activated=false;b.fireEvent("deactivate",b)}},deferExpandMenu:function(){var b=this;if(!b.menu.rendered||!b.menu.isVisible()){b.parentMenu.activeChild=b.menu;b.menu.parentItem=b;b.menu.parentMenu=b.menu.ownerCt=b.parentMenu;b.menu.showBy(b,b.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},deferHideParentMenus:function(){Ext.menu.Manager.hideAll()},expandMenu:function(d){var c=this;if(c.menu){clearTimeout(c.hideMenuTimer);if(d===0){c.deferExpandMenu()}else{c.expandMenuTimer=Ext.defer(c.deferExpandMenu,Ext.isNumber(d)?d:c.menuExpandDelay,c)}}},focus:function(){this.$focused=true;this.callParent(arguments)},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},hideMenu:function(d){var c=this;if(c.menu){clearTimeout(c.expandMenuTimer);c.hideMenuTimer=Ext.defer(c.deferHideMenu,Ext.isNumber(d)?d:c.menuHideDelay,c)}},initComponent:function(){var d=this,f=Ext.baseCSSPrefix,e=[f+"menu-item"];d.addEvents("activate","click","deactivate");if(d.plain){e.push(f+"menu-item-plain")}if(d.cls){e.push(d.cls)}d.cls=e.join(" ");if(d.menu){d.menu=Ext.menu.Manager.get(d.menu)}d.callParent(arguments)},onClick:function(c){var d=this;if(!d.href){c.stopEvent()}if(d.disabled){return}if(d.hideOnClick){d.deferHideParentMenusTimer=Ext.defer(d.deferHideParentMenus,d.clickHideDelay,d)}Ext.callback(d.handler,d.scope||d,[d,c]);d.fireEvent("click",d,c);if(!d.hideOnClick){d.focus()}},onDestroy:function(){var b=this;clearTimeout(b.expandMenuTimer);clearTimeout(b.hideMenuTimer);clearTimeout(b.deferHideParentMenusTimer);if(b.menu){delete b.menu.parentItem;delete b.menu.parentMenu;delete b.menu.ownerCt;if(b.destroyMenu!==false){b.menu.destroy()}}b.callParent(arguments)},onRender:function(f,g){var e=this,h=Ext.BLANK_IMAGE_URL;Ext.applyIf(e.renderData,{href:e.href||"#",hrefTarget:e.hrefTarget,icon:e.icon||h,iconCls:e.iconCls+(e.checkChangeDisabled?" "+e.disabledCls:""),menu:Ext.isDefined(e.menu),plain:e.plain,text:e.text,blank:h});e.addChildEls("itemEl","iconEl","textEl","arrowEl");e.callParent(arguments)},setHandler:function(c,d){this.handler=c||null;this.scope=d},setIconCls:function(d){var c=this;if(c.iconEl){if(c.iconCls){c.iconEl.removeCls(c.iconCls)}if(d){c.iconEl.addCls(d)}}c.iconCls=d},setText:function(f){var d=this,e=d.textEl||d.el;d.text=f;if(d.rendered){e.update(f||"");d.ownerCt.redoComponentLayout()}}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,afterRender:function(){var b=this;this.callParent();b.checked=!b.checked;b.setChecked(!b.checked,true)},initComponent:function(){var b=this;b.addEvents("beforecheckchange","checkchange");b.callParent(arguments);Ext.menu.Manager.registerCheckable(b);if(b.group){if(!b.iconCls){b.iconCls=b.groupCls}if(b.initialConfig.hideOnClick!==false){b.hideOnClick=true}}},disableCheckChange:function(){var b=this;if(b.iconEl){b.iconEl.addCls(b.disabledCls)}b.checkChangeDisabled=true},enableCheckChange:function(){var b=this;b.iconEl.removeCls(b.disabledCls);b.checkChangeDisabled=false},onClick:function(c){var d=this;if(!d.disabled&&!d.checkChangeDisabled&&!(d.checked&&d.group)){d.setChecked(!d.checked)}this.callParent([c])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(f,e){var d=this;if(d.checked!==f&&(e||d.fireEvent("beforecheckchange",d,f)!==false)){if(d.el){d.el[f?"addCls":"removeCls"](d.checkedCls)[!f?"addCls":"removeCls"](d.uncheckedCls)}d.checked=f;Ext.menu.Manager.onCheckChange(d,f);if(!e){Ext.callback(d.checkHandler,d.scope,[d,f]);d.fireEvent("checkchange",d,f)}}}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:"&#160;",onRender:function(e,g){var h=this,f=h.separatorCls;h.cls+=" "+f;h.callParent(arguments)}});Ext.define("Ext.toolbar.Fill",{extend:"Ext.Component",alias:"widget.tbfill",alternateClassName:"Ext.Toolbar.Fill",isFill:true,flex:1});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",initComponent:function(){var d=this.renderer||this.defaultRenderer,c=this.scope||window;this.renderer=function(C,A,J,K,D,H,E){var w=[],y=Ext.String.format,b=J.getDepth(),x=Ext.baseCSSPrefix+"tree-",I=x+"elbow-",B=x+"expander",F='<img src="{1}" class="{0}" />',a='<input type="button" role="checkbox" class="{0}" {1} />',G=d.apply(c,arguments),z=J.get("href"),v=J.get("hrefTarget"),L=J.get("cls");while(J){if(!J.isRoot()||(J.isRoot()&&E.rootVisible)){if(J.getDepth()===b){w.unshift(y(F,x+"icon "+x+"icon"+(J.get("icon")?"-inline ":(J.isLeaf()?"-leaf ":"-parent "))+(J.get("iconCls")||""),J.get("icon")||Ext.BLANK_IMAGE_URL));if(J.get("checked")!==null){w.unshift(y(a,(x+"checkbox")+(J.get("checked")?" "+x+"checkbox-checked":""),J.get("checked")?'aria-checked="true"':""));if(J.get("checked")){A.tdCls+=(" "+x+"checked")}}if(J.isLast()){if(J.isExpandable()){w.unshift(y(F,(I+"end-plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(I+"end"),Ext.BLANK_IMAGE_URL))}}else{if(J.isExpandable()){w.unshift(y(F,(I+"plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(x+"elbow"),Ext.BLANK_IMAGE_URL))}}}else{if(J.isLast()||J.getDepth()===0){w.unshift(y(F,(I+"empty"),Ext.BLANK_IMAGE_URL))}else{if(J.getDepth()!==0){w.unshift(y(F,(I+"line"),Ext.BLANK_IMAGE_URL))}}}}J=J.parentNode}if(z){w.push('<a href="',z,'" target="',v,'">',G,"</a>")}else{w.push(G)}if(L){A.tdCls+=" "+L}return w.join("")};this.callParent(arguments)},defaultRenderer:function(b){return b}});Ext.define("Ext.form.CheckboxManager",{extend:"Ext.util.MixedCollection",singleton:true,getByName:function(b){return this.filterBy(function(a){return a.name==b})},getWithValue:function(d,c){return this.filterBy(function(a){return a.name==d&&a.inputValue==c})},getChecked:function(b){return this.filterBy(function(a){return a.name==b&&a.checked})}});Ext.define("Ext.form.field.Checkbox",{extend:"Ext.form.field.Base",alias:["widget.checkboxfield","widget.checkbox"],alternateClassName:"Ext.form.Checkbox",requires:["Ext.XTemplate","Ext.form.CheckboxManager"],fieldSubTpl:["<tpl if=\"boxLabel && boxLabelAlign == 'before'\">",'<label id="{cmpId}-boxLabelEl" class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",'<input type="button" id="{id}" ','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"<tpl if=\"boxLabel && boxLabelAlign == 'after'\">",'<label id="{cmpId}-boxLabelEl" class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",{disableFormats:true,compiled:true}],isCheckbox:true,focusCls:Ext.baseCSSPrefix+"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",ariaRole:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var c=this,d=!!c.checked;c.originalValue=c.lastValue=d;c.setValue(d)},onRender:function(d,e){var f=this;f.addChildEls("boxLabelEl");Ext.applyIf(f.subTplData,{boxLabel:f.boxLabel,boxLabelCls:f.boxLabelCls,boxLabelAlign:f.boxLabelAlign});f.callParent(arguments)},initEvents:function(){var b=this;b.callParent();b.mon(b.inputEl,"click",b.onBoxClick,b)},onBoxClick:function(c){var d=this;if(!d.disabled&&!d.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var d=this.uncheckedValue,c=Ext.isDefined(d)?d:null;return this.checked?this.inputValue:c},setRawValue:function(i){var j=this,h=j.inputEl,g=j.inputValue,f=(i===true||i==="true"||i==="1"||i===1||(((Ext.isString(i)||Ext.isNumber(i))&&g)?i==g:j.onRe.test(i)));if(h){h.dom.setAttribute("aria-checked",f);j[f?"addCls":"removeCls"](j.checkedCls)}j.checked=j.rawValue=f;return f},setValue:function(c){var d=this;if(Ext.isArray(c)){d.getManager().getByName(d.name).each(function(a){a.setValue(Ext.Array.contains(c,a.inputValue))})}else{d.callParent(arguments)}return d},valueToRaw:function(b){return b},onChange:function(e,f){var g=this,h=g.handler;if(h){h.call(g.scope||g,g,e)}g.callParent(arguments)},beforeDestroy:function(){this.callParent();this.getManager().removeAtKey(this.id)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=d.readOnly}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.disabled=f||e.disabled}e.readOnly=f},getBodyNaturalWidth:function(){var g=this,e=g.bodyEl,f="white-space",h;e.setStyle(f,"nowrap");h=e.getWidth();e.setStyle(f,"");return h}});Ext.define("Ext.LoadMask",{extend:"Ext.Component",alias:"widget.loadmask",mixins:{floating:"Ext.util.Floating"},uses:["Ext.data.StoreManager"],msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",useMsg:true,disabled:false,baseCls:Ext.baseCSSPrefix+"mask-msg",renderTpl:'<div style="position:relative" class="{msgCls}"></div>',modal:true,floating:{shadow:"frame"},focusOnToFront:false,constructor:function(d,e){var f=this;if(d.isComponent){f.ownerCt=d;f.bindComponent(d)}else{f.ownerCt=new Ext.Component({el:Ext.get(d),rendered:true,componentLayoutCounter:1});f.container=d}f.callParent([e]);if(f.store){f.bindStore(f.store,true)}f.renderData={msgCls:f.msgCls};f.renderSelectors={msgEl:"div"}},bindComponent:function(b){this.mon(b,{resize:this.onComponentResize,scope:this})},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onComponentResize:function(){var b=this;if(b.rendered&&b.isVisible()){b.toFront();b.center()}},bindStore:function(e,d){var f=this;if(!d&&f.store){f.mun(f.store,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad});if(!e){f.store=null}}if(e){e=Ext.data.StoreManager.lookup(e);f.mon(e,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad})}f.store=e;if(e&&e.isLoading()){f.onBeforeLoad()}},onDisable:function(){this.callParent(arguments);if(this.loading){this.onLoad()}},onBeforeLoad:function(){var f=this,e=f.ownerCt||f.floatParent,d;if(!this.disabled){if(e.componentLayoutCounter){Ext.Component.prototype.show.call(f)}else{d=e.afterComponentLayout;e.afterComponentLayout=function(){e.afterComponentLayout=d;d.apply(e,arguments);if(f.loading){Ext.Component.prototype.show.call(f)}}}}},onHide:function(){var b=this;b.callParent(arguments);b.showOnParentShow=true},onShow:function(){var c=this,d=c.msgEl;c.callParent(arguments);c.loading=true;if(c.useMsg){d.show().update(c.msg)}else{d.parent().hide()}},afterShow:function(){this.callParent(arguments);this.center()},onLoad:function(){this.loading=false;Ext.Component.prototype.hide.call(this)}});Ext.define("Ext.util.Region",{requires:["Ext.util.Offset"],statics:{getRegion:function(b){return Ext.fly(b).getPageBox(true)},from:function(b){return new this(b.top,b.right,b.bottom,b.left)}},constructor:function(i,g,b,j){var h=this;h.y=h.top=h[1]=i;h.right=g;h.bottom=b;h.x=h.left=h[0]=j},contains:function(c){var d=this;return(c.x>=d.x&&c.right<=d.right&&c.y>=d.y&&c.bottom<=d.bottom)},intersect:function(h){var i=this,k=Math.max(i.y,h.y),j=Math.min(i.right,h.right),b=Math.min(i.bottom,h.bottom),l=Math.max(i.x,h.x);if(b>k&&j>l){return new this.self(k,j,b,l)}else{return false}},union:function(h){var i=this,k=Math.min(i.y,h.y),j=Math.max(i.right,h.right),b=Math.max(i.bottom,h.bottom),l=Math.min(i.x,h.x);return new this.self(k,j,b,l)},constrainTo:function(d){var e=this,f=Ext.Number.constrain;e.top=e.y=f(e.top,d.y,d.bottom);e.bottom=f(e.bottom,d.y,d.bottom);e.left=e.x=f(e.left,d.x,d.right);e.right=f(e.right,d.x,d.right);return e},adjust:function(i,g,b,j){var h=this;h.top=h.y+=i;h.left=h.x+=j;h.right+=g;h.bottom+=b;return h},getOutOfBoundOffset:function(e,d){if(!Ext.isObject(e)){if(e=="x"){return this.getOutOfBoundOffsetX(d)}else{return this.getOutOfBoundOffsetY(d)}}else{d=e;var f=Ext.create("Ext.util.Offset");f.x=this.getOutOfBoundOffsetX(d.x);f.y=this.getOutOfBoundOffsetY(d.y);return f}},getOutOfBoundOffsetX:function(b){if(b<=this.x){return this.x-b}else{if(b>=this.right){return this.right-b}}return 0},getOutOfBoundOffsetY:function(b){if(b<=this.y){return this.y-b}else{if(b>=this.bottom){return this.bottom-b}}return 0},isOutOfBound:function(d,c){if(!Ext.isObject(d)){if(d=="x"){return this.isOutOfBoundX(c)}else{return this.isOutOfBoundY(c)}}else{c=d;return(this.isOutOfBoundX(c.x)||this.isOutOfBoundY(c.y))}},isOutOfBoundX:function(b){return(b<this.x||b>this.right)},isOutOfBoundY:function(b){return(b<this.y||b>this.bottom)},restrict:function(e,g,f){if(Ext.isObject(e)){var h;f=g;g=e;if(g.copy){h=g.copy()}else{h={x:g.x,y:g.y}}h.x=this.restrictX(g.x,f);h.y=this.restrictY(g.y,f);return h}else{if(e=="x"){return this.restrictX(g,f)}else{return this.restrictY(g,f)}}},restrictX:function(c,d){if(!d){d=1}if(c<=this.x){c-=(c-this.x)*d}else{if(c>=this.right){c-=(c-this.right)*d}}return c},restrictY:function(c,d){if(!d){d=1}if(c<=this.y){c-=(c-this.y)*d}else{if(c>=this.bottom){c-=(c-this.bottom)*d}}return c},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(c){var d=this;d.top=d.y=d[1]=c.y;d.right=c.right;d.bottom=c.bottom;d.left=d.x=d[0]=c.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(e,f){if(arguments.length==1){f=e.y;e=e.x}var d=this;d.top=d.y+=f;d.right+=e;d.bottom+=f;d.left=d.x+=e;return d},round:function(){var b=this;b.top=b.y=Math.round(b.y);b.right=Math.round(b.right);b.bottom=Math.round(b.bottom);b.left=b.x=Math.round(b.x);return b},equals:function(b){return(this.top==b.top&&this.right==b.right&&this.bottom==b.bottom&&this.left==b.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(j,f){for(var i in this.ids){for(var g in this.ids[i]){var h=this.ids[i][g];if(!this.isTypeOfDD(h)){continue}h[j].apply(h,f)}}},_onLoad:function(){this.init();var b=Ext.EventManager;b.on(document,"mouseup",this.handleMouseUp,this,true);b.on(document,"mousemove",this.handleMouseMove,this,true);b.on(window,"unload",this._onUnload,this,true);b.on(window,"resize",this._onResize,this,true)},_onResize:function(b){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(c,d){if(!this.initialized){this.init()}if(!this.ids[d]){this.ids[d]={}}this.ids[d][c.id]=c},removeDDFromGroup:function(f,e){if(!this.ids[e]){this.ids[e]={}}var d=this.ids[e];if(d&&d[f.id]){delete d[f.id]}},_remove:function(c){for(var d in c.groups){if(d&&this.ids[d]&&this.ids[d][c.id]){delete this.ids[d][c.id]}}delete this.handleIds[c.id]},regHandle:function(c,d){if(!this.handleIds[c]){this.handleIds[c]={}}this.handleIds[c][d]=d},isDragDrop:function(b){return(this.getDDById(b))?true:false},getRelated:function(i,g){var j=[];for(var k in i.groups){for(var l in this.ids[k]){var h=this.ids[k][l];if(!this.isTypeOfDD(h)){continue}if(!g||h.isTarget){j[j.length]=h}}}return j},isLegalTarget:function(h,i){var f=this.getRelated(h,true);for(var j=0,g=f.length;j<g;++j){if(f[j].id==i.id){return true}}return false},isTypeOfDD:function(b){return(b&&b.__ygDragDrop)},isHandle:function(c,d){return(this.handleIds[c]&&this.handleIds[c][d])},getDDById:function(c){for(var d in this.ids){if(this.ids[d][c]){return this.ids[d][c]}}return null},handleMouseDown:function(f,d){if(Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddDisable()}if(this.dragCurrent){this.handleMouseUp(f)}this.currentTarget=f.getTarget();this.dragCurrent=d;var e=d.getEl();this.startX=f.getPageX();this.startY=f.getPageY();this.deltaX=this.startX-e.offsetLeft;this.deltaY=this.startY-e.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var a=Ext.dd.DragDropManager;a.startDrag(a.startX,a.startY)},this.clickTimeThresh)},startDrag:function(d,c){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(d,c);this.dragCurrent.startDrag(d,c)}this.dragThreshMet=true},handleMouseUp:function(b){if(Ext.tip&&Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddEnable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(b,true)}else{}this.stopDrag(b);this.stopEvent(b)},stopEvent:function(b){if(this.stopPropagation){b.stopPropagation()}if(this.preventDefault){b.preventDefault()}},stopDrag:function(b){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(b);this.dragCurrent.endDrag(b)}this.dragCurrent.onMouseUp(b)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(f){if(!this.dragCurrent){return true}if(Ext.isIE&&(f.button!==0&&f.button!==1&&f.button!==2)){this.stopEvent(f);return this.handleMouseUp(f)}if(!this.dragThreshMet){var d=Math.abs(this.startX-f.getPageX());var e=Math.abs(this.startY-f.getPageY());if(d>this.clickPixelThresh||e>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(f);this.dragCurrent.onDrag(f);if(!this.dragCurrent.moveOnly){this.fireEvents(f,false)}}this.stopEvent(f);return true},fireEvents:function(s,r){var i=this.dragCurrent;if(!i||i.isLocked()){return}var e=s.getPoint();var B=[];var y=[];var u=[];var w=[];var z=[];for(var x in this.dragOvers){var A=this.dragOvers[x];if(!this.isTypeOfDD(A)){continue}if(!this.isOverTarget(e,A,this.mode)){y.push(A)}B[x]=true;delete this.dragOvers[x]}for(var q in i.groups){if("string"!=typeof q){continue}for(x in this.ids[q]){var v=this.ids[q][x];if(!this.isTypeOfDD(v)){continue}if(v.isTarget&&!v.isLocked()&&((v!=i)||(i.ignoreSelf===false))){if(this.isOverTarget(e,v,this.mode)){if(r){w.push(v)}else{if(!B[v.id]){z.push(v)}else{u.push(v)}this.dragOvers[v.id]=v}}}}}if(this.mode){if(y.length){i.b4DragOut(s,y);i.onDragOut(s,y)}if(z.length){i.onDragEnter(s,z)}if(u.length){i.b4DragOver(s,u);i.onDragOver(s,u)}if(w.length){i.b4DragDrop(s,w);i.onDragDrop(s,w)}}else{var t=0;for(x=0,t=y.length;x<t;++x){i.b4DragOut(s,y[x].id);i.onDragOut(s,y[x].id)}for(x=0,t=z.length;x<t;++x){i.onDragEnter(s,z[x].id)}for(x=0,t=u.length;x<t;++x){i.b4DragOver(s,u[x].id);i.onDragOver(s,u[x].id)}for(x=0,t=w.length;x<t;++x){i.b4DragDrop(s,w[x].id);i.onDragDrop(s,w[x].id)}}if(r&&!w.length){i.onInvalidDrop(s)}},getBestMatch:function(j){var h=null;var f=j.length;if(f==1){h=j[0]}else{for(var i=0;i<f;++i){var g=j[i];if(g.cursorIsOver){h=g;break}else{if(!h||h.overlap.getArea()<g.overlap.getArea()){h=g}}}}return h},refreshCache:function(f){for(var g in f){if("string"!=typeof g){continue}for(var j in this.ids[g]){var i=this.ids[g][j];if(this.isTypeOfDD(i)){var h=this.getLocation(i);if(h){this.locationCache[i.id]=h}else{delete this.locationCache[i.id]}}}}},verifyEl:function(d){if(d){var e;if(Ext.isIE){try{e=d.offsetParent}catch(f){}}else{e=d.offsetParent}if(e){return true}}return false},getLocation:function(s){if(!this.isTypeOfDD(s)){return null}if(s.getRegion){return s.getRegion()}var u=s.getEl(),p,v,w,e,l,b,x,q,t;try{p=Ext.Element.getXY(u)}catch(r){}if(!p){return null}v=p[0];w=v+u.offsetWidth;e=p[1];l=e+u.offsetHeight;b=e-s.padding[0];x=w+s.padding[1];q=l+s.padding[2];t=v-s.padding[3];return Ext.create("Ext.util.Region",b,x,q,t)},isOverTarget:function(j,r,p){var n=this.locationCache[r.id];if(!n||!this.useCache){n=this.getLocation(r);this.locationCache[r.id]=n}if(!n){return false}r.cursorIsOver=n.contains(j);var k=this.dragCurrent;if(!k||!k.getTargetCoord||(!p&&!k.constrainX&&!k.constrainY)){return r.cursorIsOver}r.overlap=null;var m=k.getTargetCoord(j.x,j.y);var q=k.getDragEl();var o=Ext.create("Ext.util.Region",m.y,m.x+q.offsetWidth,m.y+q.offsetHeight,m.x);var l=o.intersect(n);if(l){r.overlap=l;return(p)?true:r.cursorIsOver}else{return false}},_onUnload:function(c,d){Ext.dd.DragDropManager.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var b in this.elementCache){delete this.elementCache[b]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(c){var d=this.elementCache[c];if(!d||!d.el){d=this.elementCache[c]=new this.ElementWrapper(Ext.getDom(c))}return d},getElement:function(b){return Ext.getDom(b)},getCss:function(c){var d=Ext.getDom(c);return(d)?d.style:null},ElementWrapper:function(b){this.el=b||null;this.id=this.el&&b.id;this.css=this.el&&b.style},getPosX:function(b){return Ext.Element.getX(b)},getPosY:function(b){return Ext.Element.getY(b)},swapNode:function(h,f){if(h.swapNode){h.swapNode(f)}else{var g=f.parentNode;var e=f.nextSibling;if(e==h){g.insertBefore(h,f)}else{if(f==h.nextSibling){g.insertBefore(f,h)}else{h.parentNode.replaceChild(f,h);g.insertBefore(h,e)}}}},getScroll:function(){var i=window.document,h=i.documentElement,g=i.body,j=0,f=0;if(Ext.isGecko4){j=window.scrollYOffset;f=window.scrollXOffset}else{if(h&&(h.scrollTop||h.scrollLeft)){j=h.scrollTop;f=h.scrollLeft}else{if(g){j=g.scrollTop;f=g.scrollLeft}}}return{top:j,left:f}},getStyle:function(c,d){return Ext.fly(c).getStyle(d)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(e,f){var d=Ext.Element.getXY(f);Ext.Element.setXY(e,d)},numericSort:function(a,b){return(a-b)},_timeoutCount:0,_addListeners:function(){if(document){this._onLoad()}else{if(this._timeoutCount>2000){}else{setTimeout(this._addListeners,10);if(document&&document.body){this._timeoutCount+=1}}}},handleWasClicked:function(e,f){if(this.isHandle(f,e.id)){return true}else{var d=e.parentNode;while(d){if(this.isHandle(f,d.id)){return true}else{d=d.parentNode}}}return false}},function(){this._addListeners()});Ext.define("Ext.layout.container.boxOverflow.Scroller",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.util.ClickRepeater","Ext.Element"],alternateClassName:"Ext.layout.boxOverflow.Scroller",mixins:{observable:"Ext.util.Observable"},animateScroll:false,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{});this.addEvents("scroll")},initCSSClasses:function(){var c=this,d=c.layout;if(!c.CSSinitialized){c.beforeCtCls=c.beforeCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelBefore;c.afterCtCls=c.afterCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelAfter;c.beforeScrollerCls=c.beforeScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelBefore;c.afterScrollerCls=c.afterScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelAfter;c.CSSinitializes=true}},handleOverflow:function(h,i){var j=this,k=j.layout,l="get"+k.parallelPrefixCap,g={};j.initCSSClasses();j.callParent(arguments);this.createInnerElements();this.showScrollers();g[k.perpendicularPrefix]=i[k.perpendicularPrefix];g[k.parallelPrefix]=i[k.parallelPrefix]-(j.beforeCt[l]()+j.afterCt[l]());return{targetSize:g}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!d.beforeCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");d.beforeCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.beforeCtCls},"before");d.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.afterCtCls},"after");d.createWheelListener()}},createWheelListener:function(){this.layout.innerCt.on({scope:this,mousewheel:function(b){b.stopEvent();this.scrollBy(b.getWheelDelta()*this.wheelIncrement*-1,false)}})},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){this.createScrollers();this.beforeScroller.show();this.afterScroller.show();this.updateScrollButtons();this.layout.owner.addClsWithUI("scroller")},hideScrollers:function(){if(this.beforeScroller!=undefined){this.beforeScroller.hide();this.afterScroller.hide();this.layout.owner.removeClsWithUI("scroller")}},createScrollers:function(){if(!this.beforeScroller&&!this.afterScroller){var d=this.beforeCt.createChild({cls:Ext.String.format("{0} {1} ",this.scrollerCls,this.beforeScrollerCls)});var c=this.afterCt.createChild({cls:Ext.String.format("{0} {1}",this.scrollerCls,this.afterScrollerCls)});d.addClsOnOver(this.beforeScrollerCls+"-hover");c.addClsOnOver(this.afterScrollerCls+"-hover");d.setVisibilityMode(Ext.Element.DISPLAY);c.setVisibilityMode(Ext.Element.DISPLAY);this.beforeRepeater=Ext.create("Ext.util.ClickRepeater",d,{interval:this.scrollRepeatInterval,handler:this.scrollLeft,scope:this});this.afterRepeater=Ext.create("Ext.util.ClickRepeater",c,{interval:this.scrollRepeatInterval,handler:this.scrollRight,scope:this});this.beforeScroller=d;this.afterScroller=c}},destroy:function(){Ext.destroy(this.beforeRepeater,this.afterRepeater,this.beforeScroller,this.afterScroller,this.beforeCt,this.afterCt)},scrollBy:function(c,d){this.scrollTo(this.getScrollPosition()+c,d)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){if(this.beforeScroller==undefined||this.afterScroller==undefined){return}var g=this.atExtremeBefore()?"addCls":"removeCls",h=this.atExtremeAfter()?"addCls":"removeCls",f=this.beforeScrollerCls+"-disabled",e=this.afterScrollerCls+"-disabled";this.beforeScroller[g](f);this.afterScroller[h](e);this.scrolling=false},atExtremeBefore:function(){return this.getScrollPosition()===0},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,false)},scrollRight:function(){this.scrollBy(this.scrollIncrement,false)},getScrollPosition:function(){var b=this.layout;return parseInt(b.innerCt.dom["scroll"+b.parallelBeforeCap],10)||0},getMaxScrollPosition:function(){var b=this.layout;return b.innerCt.dom["scroll"+b.parallelPrefixCap]-this.layout.innerCt["get"+b.parallelPrefixCap]()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},scrollTo:function(h,g){var i=this,j=i.layout,k=i.getScrollPosition(),l=Ext.Number.constrain(h,0,i.getMaxScrollPosition());if(l!=k&&!i.scrolling){if(g==undefined){g=i.animateScroll}j.innerCt.scrollTo(j.parallelBefore,l,g?i.getScrollAnim():false);if(g){i.scrolling=true}else{i.scrolling=false;i.updateScrollButtons()}i.fireEvent("scroll",i,l,g?i.getScrollAnim():false)}},scrollToItem:function(j,h){var k=this,l=k.layout,i,m,n;j=k.getItem(j);if(j!=undefined){i=this.getItemVisibility(j);if(!i.fullyVisible){m=j.getBox(true,true);n=m[l.parallelPosition];if(i.hiddenEnd){n-=(this.layout.innerCt["get"+l.parallelPrefixCap]()-m[l.parallelPrefix])}this.scrollTo(n,h)}}},getItemVisibility:function(m){var n=this,o=n.getItem(m).getBox(true,true),p=n.layout,i=o[p.parallelPosition],l=i+o[p.parallelPrefix],k=n.getScrollPosition(),j=k+p.innerCt["get"+p.parallelPrefixCap]();return{hiddenStart:i<k,hiddenEnd:l>j,fullyVisible:i>k&&l<j}}});Ext.define("Ext.toolbar.Item",{extend:"Ext.Component",alias:"widget.tbitem",alternateClassName:"Ext.Toolbar.Item",enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.define("Ext.toolbar.TextItem",{extend:"Ext.toolbar.Item",requires:["Ext.XTemplate"],alias:"widget.tbtext",alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",onRender:function(){Ext.apply(this.renderData,{text:this.text});this.callParent(arguments)},setText:function(b){if(this.rendered){this.el.update(b);this.ownerCt.doLayout()}else{this.text=b}}});Ext.define("Ext.selection.Model",{extend:"Ext.util.Observable",alternateClassName:"Ext.AbstractSelectionModel",requires:["Ext.data.StoreManager"],allowDeselect:false,selected:null,pruneRemoved:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("selectionchange");c.modes={SINGLE:true,SIMPLE:true,MULTI:true};c.setSelectionMode(d.mode||c.mode);c.selected=Ext.create("Ext.util.MixedCollection");c.callParent(arguments)},bind:function(e,d){var f=this;if(!d&&f.store){if(e!==f.store&&f.store.autoDestroy){f.store.destroyStore()}else{f.store.un("add",f.onStoreAdd,f);f.store.un("clear",f.onStoreClear,f);f.store.un("remove",f.onStoreRemove,f);f.store.un("update",f.onStoreUpdate,f)}}if(e){e=Ext.data.StoreManager.lookup(e);e.on({add:f.onStoreAdd,clear:f.onStoreClear,remove:f.onStoreRemove,update:f.onStoreUpdate,scope:f})}f.store=e;if(e&&!d){f.refresh()}},selectAll:function(g){var j=this,k=j.store.getRange(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doSelect(k[l],true,g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},deselectAll:function(g){var j=this,k=j.getSelection(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doDeselect(k[l],g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},selectWithEvent:function(f,g,h){var e=this;switch(e.selectionMode){case"MULTI":if(g.ctrlKey&&e.isSelected(f)){e.doDeselect(f,false)}else{if(g.shiftKey&&e.lastFocused){e.selectRange(e.lastFocused,f,g.ctrlKey)}else{if(g.ctrlKey){e.doSelect(f,true,false)}else{if(e.isSelected(f)&&!g.shiftKey&&!g.ctrlKey&&e.selected.getCount()>1){e.doSelect(f,h,false)}else{e.doSelect(f,false)}}}}break;case"SIMPLE":if(e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,true)}break;case"SINGLE":if(e.allowDeselect&&e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,false)}break}},selectRange:function(m,r,i,t){var o=this,n=o.store,s=0,p,q,v,u=[];if(o.isLocked()){return}if(!i){o.deselectAll(true)}if(!Ext.isNumber(m)){m=n.indexOf(m)}if(!Ext.isNumber(r)){r=n.indexOf(r)}if(m>r){q=r;r=m;m=q}for(p=m;p<=r;p++){if(o.isSelected(n.getAt(p))){s++}}if(!t){v=-1}else{v=(t=="up")?m:r}for(p=m;p<=r;p++){if(s==(r-m+1)){if(p!=v){o.doDeselect(p,true)}}else{u.push(n.getAt(p))}}o.doMultiSelect(u,true)},select:function(d,f,e){if(Ext.isDefined(d)){this.doSelect(d,f,e)}},deselect:function(c,d){this.doDeselect(c,d)},doSelect:function(j,h,f){var i=this,g;if(i.locked){return}if(typeof j==="number"){j=[i.store.getAt(j)]}if(i.selectionMode=="SINGLE"&&j){g=j.length?j[0]:j;i.doSingleSelect(g,f)}else{i.doMultiSelect(j,h,f)}},doMultiSelect:function(t,i,l){var n=this,s=n.selected,m=false,q=0,o,p;if(n.locked){return}t=!Ext.isArray(t)?[t]:t;o=t.length;if(!i&&s.getCount()>0){if(n.doDeselect(n.getSelection(),l)===false){return}}function r(){s.add(p);m=true}for(;q<o;q++){p=t[q];if(i&&n.isSelected(p)){continue}n.lastSelected=p;n.onSelectChange(p,true,l,r)}n.setLastFocused(p,l);n.maybeFireSelectionChange(m&&!l)},doDeselect:function(t,l){var m=this,s=m.selected,q=0,n,p,i=0,o=0;if(m.locked){return false}if(typeof t==="number"){t=[m.store.getAt(t)]}else{if(!Ext.isArray(t)){t=[t]}}function r(){++o;s.remove(p)}n=t.length;for(;q<n;q++){p=t[q];if(m.isSelected(p)){if(m.lastSelected==p){m.lastSelected=s.last()}++i;m.onSelectChange(p,false,l,r)}}m.maybeFireSelectionChange(o>0&&!l);return o===i},doSingleSelect:function(h,g){var k=this,i=false,l=k.selected;if(k.locked){return}if(k.isSelected(h)){return}function j(){k.bulkChange=true;if(l.getCount()>0&&k.doDeselect(k.lastSelected,g)===false){delete k.bulkChange;return false}delete k.bulkChange;l.add(h);k.lastSelected=h;i=true}k.onSelectChange(h,true,g,j);if(i){if(!g){k.setLastFocused(h)}k.maybeFireSelectionChange(!g)}},setLastFocused:function(h,e){var g=this,f=g.lastFocused;g.lastFocused=h;g.onLastFocusChanged(f,h,e)},isFocused:function(b){return b===this.getLastFocused()},maybeFireSelectionChange:function(d){var c=this;if(d&&!c.bulkChange){c.fireEvent("selectionchange",c,c.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(b){b=b?b.toUpperCase():"SINGLE";this.selectionMode=this.modes[b]?b:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(b){this.locked=!!b},isSelected:function(b){b=Ext.isNumber(b)?this.store.getAt(b):b;return this.selected.indexOf(b)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var l=this,i=[],m=l.getSelection(),j=m.length,n,k,o=0,p=this.getLastFocused();for(;o<j;o++){n=m[o];if(!this.pruneRemoved||l.store.indexOf(n)!==-1){i.push(n)}}if(l.selected.getCount()!=i.length){k=true}l.clearSelections();if(l.store.indexOf(p)!==-1){this.setLastFocused(p,true)}if(i.length){l.doSelect(i,false,true)}l.maybeFireSelectionChange(k)},clearSelections:function(){this.selected.clear();this.lastSelected=null;this.setLastFocused(null)},onStoreAdd:function(){},onStoreClear:function(){if(this.selected.getCount>0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(e,f){var g=this,h=g.selected;if(g.locked||!g.pruneRemoved){return}if(h.remove(f)){if(g.lastSelected==f){g.lastSelected=null}if(g.getLastFocused()==f){g.setLastFocused(null)}g.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:function(){},onStoreUpdate:function(){},onSelectChange:function(e,f,d){},onLastFocusChanged:function(c,d){},onEditorKey:function(c,d){},bindComponent:function(b){}});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(b){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(e){var d=this,f={refresh:d.refresh,scope:d};d.view=e;d.bind(e.getStore());e.on(e.triggerEvent,d.onItemClick,d);e.on(e.triggerCtEvent,d.onContainerClick,d);e.on(f);if(d.enableKeyNav){d.initKeyNav(e)}},onItemClick:function(e,g,i,j,h){this.selectWithEvent(g,h)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=Ext.create("Ext.util.KeyNav",d.el,{down:Ext.pass(c.onNavKey,[1],c),right:Ext.pass(c.onNavKey,[1],c),left:Ext.pass(c.onNavKey,[-1],c),up:Ext.pass(c.onNavKey,[-1],c),scope:c})},onNavKey:function(i){i=i||1;var j=this,g=j.view,k=j.getSelection()[0],l=j.view.store.getCount(),h;if(k){h=g.indexOf(g.getNode(k))+i}else{h=0}if(h<0){h=l-1}else{if(h>=l){h=0}}j.select(h)},onSelectChange:function(h,l,m,j){var k=this,i=k.view,n=l?"select":"deselect";if((m||k.fireEvent("before"+n,k,h))!==false&&j()!==false){if(l){i.onItemSelect(h)}else{i.onItemDeselect(h)}if(!m){k.fireEvent(n,k,h)}}},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",alternateClassName:"Ext.view.AbstractView",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],inheritableStatics:{getRecord:function(b){return this.getBoundView(b).getRecord(b)},getBoundView:function(b){return Ext.getCmp(b.boundView)}},deferInitialRefresh:true,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var h=this,f=Ext.isDefined,g=h.itemTpl,e={};if(g){if(Ext.isArray(g)){g=g.join("")}else{if(Ext.isObject(g)){e=Ext.apply(e,g.initialConfig);g=g.html}}if(!h.itemSelector){h.itemSelector="."+h.itemCls}g=Ext.String.format('<tpl for="."><div class="{0}">{1}</div></tpl>',h.itemCls,g);h.tpl=Ext.create("Ext.XTemplate",g,e)}if(!f(h.tpl)||!f(h.itemSelector)){Ext.Error.raise({sourceClass:"Ext.view.View",tpl:h.tpl,itemSelector:h.itemSelector,msg:"DataView requires both tpl and itemSelector configurations to be defined."})}h.callParent();if(Ext.isString(h.tpl)||Ext.isArray(h.tpl)){h.tpl=Ext.create("Ext.XTemplate",h.tpl)}if(f(h.overCls)||f(h.overClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated overCls or overClass configuration. Use overItemCls instead.")}h.overItemCls=h.overCls||h.overClass;delete h.overCls;delete h.overClass}if(h.overItemCls){h.trackOver=true}if(f(h.selectedCls)||f(h.selectedClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated selectedCls or selectedClass configuration. Use selectedItemCls instead.")}h.selectedItemCls=h.selectedCls||h.selectedClass;delete h.selectedCls;delete h.selectedClass}h.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");h.addCmpEvents();h.store=Ext.data.StoreManager.lookup(h.store||"ext-empty-store");h.all=new Ext.CompositeElementLite()},onRender:function(){var f=this,d=f.loadMask,e={msg:f.loadingText,msgCls:f.loadingCls,useMsg:f.loadingUseMsg};f.callParent(arguments);if(d){if(Ext.isObject(d)){e=Ext.apply(e,d)}f.loadMask=Ext.create("Ext.LoadMask",f,e);f.loadMask.on({scope:f,beforeshow:f.onMaskBeforeShow,hide:f.onMaskHide})}},onMaskBeforeShow:function(){var b=this.loadingHeight;this.getSelectionModel().deselectAll();if(b){this.setCalculatedSize(undefined,b)}},onMaskHide:function(){var b=this;if(!b.destroying&&b.loadingHeight){b.setHeight(b.height)}},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var d=this,c="SINGLE";if(!d.selModel){d.selModel={}}if(d.simpleSelect){c="SIMPLE"}else{if(d.multiSelect){c="MULTI"}}Ext.applyIf(d.selModel,{allowDeselect:d.allowDeselect,mode:c});if(!d.selModel.events){d.selModel=Ext.create("Ext.selection.DataViewModel",d.selModel)}if(!d.selModel.hasRelaySetup){d.relayEvents(d.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);d.selModel.hasRelaySetup=true}if(d.disableSelection){d.selModel.locked=true}return d.selModel},refresh:function(){var f=this,d,e;if(!f.rendered||f.isDestroyed){return}f.fireEvent("beforerefresh",f);d=f.getTargetEl();e=f.store.getRange();d.update("");if(e.length<1){if(!f.deferEmptyText||f.hasSkippedEmptyText){d.update(f.emptyText)}f.all.clear()}else{f.tpl.overwrite(d,f.collectData(e,0));f.all.fill(Ext.query(f.getItemSelector(),d.dom));f.updateIndexes(0)}f.selModel.refresh();f.hasSkippedEmptyText=true;f.fireEvent("refresh",f);if(!f.viewReady){f.viewReady=true;f.fireEvent("viewready",f)}},prepareData:function(f,d,e){if(e){Ext.apply(f,e.getAssociatedData())}return f},collectData:function(l,i){var j=[],k=0,h=l.length,g;for(;k<h;k++){g=l[k];j[j.length]=this.prepareData(g[g.persistenceProperty],i+k,g)}return j},bufferRender:function(e,d){var f=document.createElement("div");this.tpl.overwrite(f,this.collectData(e,d));return Ext.query(this.getItemSelector(),f)},onUpdate:function(h,g){var i=this,f=i.store.indexOf(g),j;if(f>-1){j=i.bufferRender([g],f)[0];if(i.getNode(g)){i.all.replaceElement(f,j,true);i.updateIndexes(f,f);i.selModel.refresh();i.fireEvent("itemupdate",g,f,j)}}},onAdd:function(h,f,j){var i=this,g;if(i.all.getCount()===0){i.refresh();return}g=i.bufferRender(f,j);i.doAdd(g,f,j);i.selModel.refresh();i.updateIndexes(j);i.fireEvent("itemadd",f,j,g)},doAdd:function(e,f,h){var g=this.all;if(h<g.getCount()){g.item(h).insertSibling(e,"before",true)}else{g.last().insertSibling(e,"after",true)}Ext.Array.insert(g.elements,h,e)},onRemove:function(g,f,e){var h=this;h.doRemove(f,e);h.updateIndexes(e);if(h.store.getCount()===0){h.refresh()}h.fireEvent("itemremove",f,e)},doRemove:function(d,c){this.all.removeElement(c,true)},refreshNode:function(b){this.onUpdate(this.store,this.store.getAt(b))},updateIndexes:function(h,i){var j=this.all.elements,g=this.store.getRange(),f;h=h||0;i=i||((i===0)?0:(j.length-1));for(f=h;f<=i;f++){j[f].viewIndex=f;j[f].viewRecordId=g[f].internalId;if(!j[f].boundView){j[f].boundView=this.id}}},getStore:function(){return this.store},bindStore:function(f,e){var g=this,h;if(!e&&g.store){if(f!==g.store&&g.store.autoDestroy){g.store.destroyStore()}else{g.mun(g.store,{scope:g,datachanged:g.onDataChanged,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.refresh})}if(!f){if(g.loadMask&&g.loadMask.bindStore){g.loadMask.bindStore(null)}g.store=null}}if(f){f=Ext.data.StoreManager.lookup(f);g.mon(f,{scope:g,datachanged:g.onDataChanged,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.refresh});if(g.loadMask&&g.loadMask.bindStore){if(Ext.Array.contains(f.alias,"store.node")){h=this.ownerCt.store}else{h=f}g.loadMask.bindStore(h)}}g.viewReady=false;g.store=f;g.getSelectionModel().bind(f);if(f){if(e&&g.deferInitialRefresh){Ext.Function.defer(function(){if(!g.isDestroyed){g.refresh(true)}},1)}else{g.refresh(true)}}},onDataChanged:function(){if(this.blockRefresh!==true){this.refresh.apply(this,arguments)}},findItemByChild:function(b){return Ext.fly(b).findParent(this.getItemSelector(),this.getTargetEl())},findTargetByEvent:function(b){return b.getTarget(this.getItemSelector(),this.getTargetEl())},getSelectedNodes:function(){var e=[],f=this.selModel.getSelection(),g=f.length,h=0;for(;h<g;h++){e.push(this.getNode(f[h]))}return e},getRecords:function(j){var f=[],i=0,g=j.length,h=this.store.data;for(;i<g;i++){f[f.length]=h.getByKey(j[i].viewRecordId)}return f},getRecord:function(b){return this.store.data.getByKey(Ext.getDom(b).viewRecordId)},isSelected:function(c){var d=this.getRecord(c);return this.selModel.isSelected(d)},select:function(d,f,e){this.selModel.select(d,f,e)},deselect:function(c,d){this.selModel.deselect(c,d)},getNode:function(b){if(!this.rendered){return null}if(Ext.isString(b)){return document.getElementById(b)}if(Ext.isNumber(b)){return this.all.elements[b]}if(b instanceof Ext.data.Model){return this.getNodeByRecord(b)}return b},getNodeByRecord:function(f){var h=this.all.elements,g=h.length,e=0;for(;e<g;e++){if(h[e].viewRecordId===f.internalId){return h[e]}}return null},getNodes:function(h,g){var i=this.all.elements,f=[],j;h=h||0;g=!Ext.isDefined(g)?Math.max(i.length-1,0):g;if(h<=g){for(j=h;j<=g&&i[j];j++){f.push(i[j])}}else{for(j=h;j>=g&&i[j];j--){f.push(i[j])}}return f},indexOf:function(b){b=this.getNode(b);if(Ext.isNumber(b.viewIndex)){return b.viewIndex}return this.all.indexOf(b)},onDestroy:function(){var b=this;b.all.clear();b.callParent();b.bindStore(null);b.selModel.destroy()},onItemSelect:function(d){var c=this.getNode(d);if(c){Ext.fly(c).addCls(this.selectedItemCls)}},onItemDeselect:function(d){var c=this.getNode(d);if(c){Ext.fly(c).removeCls(this.selectedItemCls)}},getItemSelector:function(){return this.itemSelector}},function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection().length},getSelectedRecords:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection()},select:function(f,e,g){if(Ext.global.console){Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()")}var h=this.getSelectionModel();return h.select.apply(h,arguments)},clearSelections:function(){if(Ext.global.console){Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()")}var b=this.getSelectionModel();return b.deselectAll()}})})});Ext.define("Ext.view.View",{extend:"Ext.view.AbstractView",alternateClassName:"Ext.DataView",alias:"widget.dataview",inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect")},afterRender:function(){var c=this,d;c.callParent();d={scope:c,freezeEvent:true,click:c.handleEvent,mousedown:c.handleEvent,mouseup:c.handleEvent,dblclick:c.handleEvent,contextmenu:c.handleEvent,mouseover:c.handleEvent,mouseout:c.handleEvent,keydown:c.handleEvent};c.mon(c.getTargetEl(),d);if(c.store){c.bindStore(c.store,true)}},handleEvent:function(b){if(this.processUIEvent(b)!==false){this.processSpecialEvent(b)}},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,stillOverItem:function(d,e){var f;if(e&&typeof(e.offsetParent)==="object"){f=(d.type=="mouseout")?d.getRelatedTarget():d.getTarget();return Ext.fly(e).contains(f)}return false},processUIEvent:function(m){var l=this,e=m.getTarget(l.getItemSelector(),l.getTargetEl()),r=this.statics().EventMap,n,p,k=m.type,o=l.mouseOverItem,q;if(!e){if(k=="mouseover"&&l.stillOverItem(m,o)){e=o}if(k=="keydown"){p=l.getSelectionModel().getLastSelected();if(p){e=l.getNode(p)}}}if(e){n=l.indexOf(e);if(!p){p=l.getRecord(e)}if(l.processItemEvent(p,e,n,m)===false){return false}q=l.isNewItemEvent(e,m);if(q===false){return false}if((l["onBeforeItem"+r[q]](p,e,n,m)===false)||(l.fireEvent("beforeitem"+q,l,p,e,n,m)===false)||(l["onItem"+r[q]](p,e,n,m)===false)){return false}l.fireEvent("item"+q,l,p,e,n,m)}else{if((l.processContainerEvent(m)===false)||(l["onBeforeContainer"+r[k]](m)===false)||(l.fireEvent("beforecontainer"+k,l,m)===false)||(l["onContainer"+r[k]](m)===false)){return false}l.fireEvent("container"+k,l,m)}return true},isNewItemEvent:function(i,h){var j=this,g=j.mouseOverItem,e=h.type;switch(e){case"mouseover":if(i===g){return false}j.mouseOverItem=i;return"mouseenter";case"mouseout":if(j.stillOverItem(h,g)){return false}j.mouseOverItem=null;return"mouseleave"}return e},onItemMouseEnter:function(f,h,e,g){if(this.trackOver){this.highlightItem(h)}},onItemMouseLeave:function(f,h,e,g){if(this.trackOver){this.clearHighlight()}},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,highlightItem:function(c){var d=this;d.clearHighlight();d.highlightedItem=c;Ext.fly(c).addCls(d.overItemCls)},clearHighlight:function(){var c=this,d=c.highlightedItem;if(d){Ext.fly(d).removeCls(c.overItemCls);delete c.highlightedItem}},refresh:function(){var b=this;b.clearHighlight();b.callParent(arguments);if(!b.isFixedHeight()){b.doComponentLayout()}}});Ext.define("Docs.view.ThumbList",{extend:"Ext.view.View",alias:"widget.thumblist",cls:"thumb-list",itemSelector:"dl",urlField:"url",itemTpl:[],initComponent:function(){this.addEvents("urlclick");Ext.Array.forEach(this.data,function(c,d){c.id="sample-"+d});this.store=Ext.create("Ext.data.JsonStore",{fields:["id","title","items"],data:this.data});this.tpl=new Ext.XTemplate(Ext.Array.flatten(["<div>",'<tpl for=".">','<div><a name="{id}"></a><h2><div>{title}</div></h2>',"<dl>",'<tpl for="items">',this.itemTpl,"</tpl>",'<div style="clear:left"></div></dl></div>',"</tpl>","</div>"]));this.itemTpl=undefined;this.on({afterrender:function(b){b.el.addListener("mouseover",function(a,d){Ext.get(d).addCls("over")},this,{delegate:"dd"});b.el.addListener("mouseout",function(a,d){Ext.get(d).removeCls("over")},this,{delegate:"dd"})}});this.callParent(arguments)},onContainerClick:function(c){var d=c.getTarget("h2",3,true);if(d){d.up("div").toggleCls("collapsed")}},onItemClick:function(h,j,l,i){var k=i.getTarget("dd",5,true);if(k&&!i.getTarget("a",2)){var e=k.getAttributeNS("ext",this.urlField);this.fireEvent("urlclick",e)}return this.callParent(arguments)}});Ext.define("Docs.view.guides.Index",{extend:"Ext.container.Container",alias:"widget.guideindex",requires:["Docs.view.ThumbList"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Guides</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/guide/{name}"><div class="thumb"><img src="guides/{name}/icon.png"/></div>',"<div><h4>{title}</h4><p>{description}</p></div>","</dd>"],data:Docs.data.guides})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.guides||[]).length>0;return b?{cls:"guides",href:"#!/guide",tooltip:"Guides"}:false}});Ext.define("Docs.view.videos.Index",{extend:"Ext.container.Container",alias:"widget.videoindex",requires:["Docs.view.ThumbList"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Videos</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/video/{name}"><div class="thumb"><img src="{thumb}"/></div>',"<div><h4>{title}","</h4><p>{[values.description.substr(0,80)]}...</p></div>","</dd>"],data:Docs.data.videos})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.videos||[]).length>0;return b?{cls:"videos",href:"#!/video",tooltip:"Videos"}:false}});Ext.define("Docs.view.examples.Index",{extend:"Ext.container.Container",alias:"widget.exampleindex",requires:["Docs.view.ThumbList"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.cls+=Docs.data.touchExamplesUi?" touch-examples-ui":"";this.items=[{xtype:"container",html:'<h1 class="eg">Examples</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/example/{name}">','<div class="thumb"><img src="{icon}"/></div>',"<div><h4>{title}","<tpl if=\"status === 'new'\">",'<span class="new-sample"> (New)</span>',"</tpl>","<tpl if=\"status === 'updated'\">",'<span class="updated-sample"> (Updated)</span>',"</tpl>","<tpl if=\"status === 'experimental'\">",'<span class="new-sample"> (Experimental)</span>',"</tpl>","</h4><p>{description}</p></div>","</dd>"],data:Docs.data.examples})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.examples||[]).length>0;return b?{cls:"examples",href:"#!/example",tooltip:"Examples"}:false}});Ext.define("Ext.view.Table",{extend:"Ext.view.View",alias:"widget.tableview",uses:["Ext.view.TableChunker","Ext.util.DelayedTask","Ext.util.MixedCollection"],baseCls:Ext.baseCSSPrefix+"grid-view",itemSelector:"."+Ext.baseCSSPrefix+"grid-row",cellSelector:"."+Ext.baseCSSPrefix+"grid-cell",selectedItemCls:Ext.baseCSSPrefix+"grid-row-selected",selectedCellCls:Ext.baseCSSPrefix+"grid-cell-selected",focusedItemCls:Ext.baseCSSPrefix+"grid-row-focused",overItemCls:Ext.baseCSSPrefix+"grid-row-over",altRowCls:Ext.baseCSSPrefix+"grid-row-alt",rowClsRe:/(?:^|\s*)grid-row-(first|last|alt)(?:\s+|$)/g,cellRe:new RegExp("x-grid-cell-([^\\s]+) ",""),trackOver:true,getRowClass:null,initComponent:function(){var b=this;b.scrollState={};b.selModel.view=b;b.headerCt.view=b;b.initFeatures();b.tpl="<div></div>";b.callParent();b.mon(b.store,{load:b.onStoreLoad,scope:b})},onStoreLoad:function(){var b=this;if(b.invalidateScrollerOnRefresh){if(Ext.isGecko){if(!b.scrollToTopTask){b.scrollToTopTask=Ext.create("Ext.util.DelayedTask",b.scrollToTop,b)}b.scrollToTopTask.delay(1)}else{b.scrollToTop()}}},scrollToTop:Ext.emptyFn,addElListener:function(e,f,d){this.mon(this,e,f,d,{element:"el"})},getGridColumns:function(){return this.headerCt.getGridColumns()},getHeaderAtIndex:function(b){return this.headerCt.getHeaderAtIndex(b)},getCell:function(e,d){var f=this.getNode(e);return Ext.fly(f).down(d.getCellSelector())},getFeature:function(c){var d=this.featuresMC;if(d){return d.get(c)}},initFeatures:function(){var g=this,e=0,h,f;g.features=g.features||[];h=g.features;f=h.length;g.featuresMC=Ext.create("Ext.util.MixedCollection");for(;e<f;e++){if(!h[e].isFeature){h[e]=Ext.create("feature."+h[e].ftype,h[e])}h[e].view=g;g.featuresMC.add(h[e])}},attachEventsForFeatures:function(){var d=this.features,f=d.length,e=0;for(;e<f;e++){if(d[e].isFeature){d[e].attachEvents()}}},afterRender:function(){var b=this;b.callParent();b.mon(b.el,{scroll:b.fireBodyScroll,scope:b});b.el.unselectable();b.attachEventsForFeatures()},fireBodyScroll:function(c,d){this.fireEvent("bodyscroll",c,d)},prepareData:function(r,l,p){var n=this,m=n.headerCt.prepareData(r,l,p,n,n.ownerCt),t=n.features,o=t.length,q=0,s,i;for(;q<o;q++){i=t[q];if(i.isFeature){Ext.apply(m,i.getAdditionalData(r,l,p,m,n))}}return m},collectData:function(w,o){var j=this.callParent(arguments),x=this.headerCt,q=x.getFullWidth(),y=this.features,s=y.length,z={rows:j,fullWidth:q},u=0,i,v=0,r,t;r=j.length;if(this.getRowClass){for(;v<r;v++){t={};j[v]["rowCls"]=this.getRowClass(w[v],v,t,this.store);if(t.alt){Ext.Error.raise("The getRowClass alt property is no longer supported.")}if(t.tstyle){Ext.Error.raise("The getRowClass tstyle property is no longer supported.")}if(t.cells){Ext.Error.raise("The getRowClass cells property is no longer supported.")}if(t.body){Ext.Error.raise("The getRowClass body property is no longer supported. Use the getAdditionalData method of the rowbody feature.")}if(t.bodyStyle){Ext.Error.raise("The getRowClass bodyStyle property is no longer supported.")}if(t.cols){Ext.Error.raise("The getRowClass cols property is no longer supported.")}}}for(;u<s;u++){i=y[u];if(i.isFeature&&i.collectData&&!i.disabled){z=i.collectData(w,j,o,q,z);break}}return z},onHeaderResize:function(h,g,i){var j=this,f=j.el;if(f){j.saveScrollState();if(Ext.isIE6||Ext.isIE7){if(h.el.hasCls(Ext.baseCSSPrefix+"column-header-first")){g+=1}}f.select("."+Ext.baseCSSPrefix+"grid-col-resizer-"+h.id).setWidth(g);f.select("."+Ext.baseCSSPrefix+"grid-table-resizer").setWidth(j.headerCt.getFullWidth());j.restoreScrollState();if(!j.ignoreTemplate){j.setNewTemplate()}if(!i){j.el.focus()}}},onHeaderShow:function(h,g,e){var f=this;f.ignoreTemplate=true;if(g.oldWidth){f.onHeaderResize(g,g.oldWidth,e);delete g.oldWidth}else{if(g.width&&!g.flex){f.onHeaderResize(g,g.width,e)}}delete f.ignoreTemplate;f.setNewTemplate()},onHeaderHide:function(d,f,e){this.onHeaderResize(f,0,e)},setNewTemplate:function(){var c=this,d=c.headerCt.getColumnsForTpl(true);c.tpl=c.getTableChunker().getTableTpl({columns:d,features:c.features})},getTableChunker:function(){return this.chunker||Ext.view.TableChunker},addRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).addCls(e)}},removeRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).removeCls(e)}},onRowSelect:function(b){this.addRowCls(b,this.selectedItemCls)},onRowDeselect:function(c){var d=this;d.removeRowCls(c,d.selectedItemCls);d.removeRowCls(c,d.focusedItemCls)},onCellSelect:function(c){var d=this.getCellByPosition(c);if(d){d.addCls(this.selectedCellCls)}},onCellDeselect:function(c){var d=this.getCellByPosition(c);if(d){d.removeCls(this.selectedCellCls)}},onCellFocus:function(b){this.focusCell(b)},getCellByPosition:function(i){var l=i.row,n=i.column,o=this.store,m=this.getNode(l),k=this.headerCt.getHeaderAtIndex(n),p,j=false;if(k&&m){p=k.getCellSelector();j=Ext.fly(m).down(p)}return j},onRowFocus:function(i,f,g){var j=this,h=j.getNode(i);if(f){j.addRowCls(i,j.focusedItemCls);if(!g){j.focusRow(i)}}else{j.removeRowCls(i,j.focusedItemCls)}},focusRow:function(q){var m=this,j=m.getNode(q),p=m.el,l=0,r=m.ownerCt,k,o,n;if(j&&p){o=p.getRegion();k=Ext.fly(j).getRegion();if(k.top<o.top){l=k.top-o.top}else{if(k.bottom>o.bottom){l=k.bottom-o.bottom}}n=m.getRecord(j);q=m.store.indexOf(n);if(l){r.scrollByDeltaY(l)}m.fireEvent("rowfocus",n,j,q)}},focusCell:function(n){var l=this,k=l.getCellByPosition(n),s=l.el,q=0,p=0,r=s.getRegion(),t=l.ownerCt,m,o;if(k){m=k.getRegion();if(m.top<r.top){q=m.top-r.top}else{if(m.bottom>r.bottom){q=m.bottom-r.bottom}}if(m.left<r.left){p=m.left-r.left}else{if(m.right>r.right){p=m.right-r.right}}if(q){t.scrollByDeltaY(q)}if(p){t.scrollByDeltaX(p)}s.focus();l.fireEvent("cellfocus",o,k,n)}},scrollByDelta:function(f,d){d=d||"scrollTop";var e=this.el.dom;e[d]=(e[d]+=f)},onUpdate:function(c,d){this.callParent(arguments)},saveScrollState:function(){if(this.rendered){var c=this.el.dom,d=this.scrollState;d.left=c.scrollLeft;d.top=c.scrollTop}},restoreScrollState:function(){if(this.rendered){var d=this.el.dom,e=this.scrollState,f=this.headerCt.el.dom;f.scrollLeft=d.scrollLeft=e.left;d.scrollTop=e.top}},refresh:function(){this.setNewTemplate();this.callParent(arguments)},processItemEvent:function(u,e,o,s){var q=this,n=s.getTarget(q.cellSelector,e),p=n?n.cellIndex:-1,v=q.statics().EventMap,t=q.getSelectionModel(),r=s.type,m;if(r=="keydown"&&!n&&t.getCurrentPosition){n=q.getCellByPosition(t.getCurrentPosition());if(n){n=n.dom;p=n.cellIndex}}m=q.fireEvent("uievent",r,q,n,o,p,s);if(m===false||q.callParent(arguments)===false){return false}if(r=="mouseover"||r=="mouseout"){return true}return !((q["onBeforeCell"+v[r]](n,p,u,e,o,s)===false)||(q.fireEvent("beforecell"+r,q,n,p,u,e,o,s)===false)||(q["onCell"+v[r]](n,p,u,e,o,s)===false)||(q.fireEvent("cell"+r,q,n,p,u,e,o,s)===false))},processSpecialEvent:function(s){var p=this,y=p.statics().EventMap,w=p.features,q=w.length,i=s.type,v,e,u,t,x,r,z=p.ownerCt;p.callParent(arguments);if(i=="mouseover"||i=="mouseout"){return}for(v=0;v<q;v++){e=w[v];if(e.hasFeatureEvent){t=s.getTarget(e.eventSelector,p.getTargetEl());if(t){u=e.eventPrefix;x=e.getFireEventArgs("before"+u+i,p,t,s);r=e.getFireEventArgs(u+i,p,t,s);if((p.fireEvent.apply(p,x)===false)||(z.fireEvent.apply(z,x)===false)||(p.fireEvent.apply(p,r)===false)||(z.fireEvent.apply(z,r)===false)){return false}}}}return true},onCellMouseDown:Ext.emptyFn,onCellMouseUp:Ext.emptyFn,onCellClick:Ext.emptyFn,onCellDblClick:Ext.emptyFn,onCellContextMenu:Ext.emptyFn,onCellKeyDown:Ext.emptyFn,onBeforeCellMouseDown:Ext.emptyFn,onBeforeCellMouseUp:Ext.emptyFn,onBeforeCellClick:Ext.emptyFn,onBeforeCellDblClick:Ext.emptyFn,onBeforeCellContextMenu:Ext.emptyFn,onBeforeCellKeyDown:Ext.emptyFn,expandToFit:function(c){if(c){var d=this.getMaxContentWidth(c);delete c.flex;c.setWidth(d)}},getMaxContentWidth:function(j){var i=j.getCellInnerSelector(),n=this.el.query(i),m=0,k=n.length,l=j.el.dom.scrollWidth,h;for(;m<k;m++){h=n[m].scrollWidth;if(h>l){l=h}}return l},getPositionByEvent:function(j){var k=this,e=j.getTarget(k.cellSelector),l=j.getTarget(k.itemSelector),h=k.getRecord(l),i=k.getHeaderByCell(e);return k.getPosition(h,i)},getHeaderByCell:function(c){if(c){var d=c.className.match(this.cellRe);if(d&&d[1]){return Ext.getCmp(d[1])}}return false},walkCells:function(s,r,w,q,B,p){var u=this,e=s.row,y=s.column,t=u.store.getCount(),x=u.getFirstVisibleColumnIndex(),A=u.getLastVisibleColumnIndex(),v={row:e,column:y},z=u.headerCt.getHeaderAtIndex(y);if(!z||z.hidden){return false}w=w||{};r=r.toLowerCase();switch(r){case"right":if(y===A){if(q||e===t-1){return false}if(!w.ctrlKey){v.row=e+1;v.column=x}}else{if(!w.ctrlKey){v.column=y+u.getRightGap(z)}else{v.column=A}}break;case"left":if(y===x){if(q||e===0){return false}if(!w.ctrlKey){v.row=e-1;v.column=A}}else{if(!w.ctrlKey){v.column=y+u.getLeftGap(z)}else{v.column=x}}break;case"up":if(e===0){return false}else{if(!w.ctrlKey){v.row=e-1}else{v.row=0}}break;case"down":if(e===t-1){return false}else{if(!w.ctrlKey){v.row=e+1}else{v.row=t-1}}break}if(B&&B.call(p||window,v)!==true){return false}else{return v}},getFirstVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[0];return h.getHeaderIndex(e)},getLastVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[g.length-1];return h.getHeaderIndex(e)},getHeaderCt:function(){return this.headerCt},getPosition:function(g,h){var i=this,f=i.store,j=i.headerCt.getGridColumns();return{row:f.indexOf(g),column:Ext.Array.indexOf(j,h)}},getRightGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),g=Ext.Array.indexOf(j,h),l=g+1,k;for(;l<=j.length;l++){if(!j[l].hidden){k=l;break}}return k-g},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),l=Ext.Array.indexOf(j,h),k=l-1,g;for(;k>=0;k--){if(!j[k].hidden){g=k;break}}return g-l}});Ext.define("Ext.grid.View",{extend:"Ext.view.Table",alias:"widget.gridview",stripeRows:true,invalidateScrollerOnRefresh:true,scrollToTop:function(){if(this.rendered){var c=this.ownerCt,d=c.verticalScroller;if(d){d.scrollToTop()}}},onAdd:function(f,e,d){this.callParent(arguments);this.doStripeRows(d)},onRemove:function(f,e,d){this.callParent(arguments);this.doStripeRows(d)},onUpdate:function(g,f,e){var h=g.indexOf(f);this.callParent(arguments);this.doStripeRows(h,h)},doStripeRows:function(g,h){if(this.stripeRows){var k=this.getNodes(g,h),i=k.length,l=0,j;for(;l<i;l++){j=k[l];j.className=j.className.replace(this.rowClsRe," ");g++;if(g%2===0){j.className+=(" "+this.altRowCls)}}}},refresh:function(c){this.callParent(arguments);this.doStripeRows(0);var d=this.up("gridpanel");if(d&&this.invalidateScrollerOnRefresh){d.invalidateScroller()}}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:true,rootVisible:true,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,initComponent:function(){var b=this;if(b.initialConfig.animate===undefined){b.animate=Ext.enableFx}b.store=Ext.create("Ext.data.NodeStore",{recursive:true,rootVisible:b.rootVisible,listeners:{beforeexpand:b.onBeforeExpand,expand:b.onExpand,beforecollapse:b.onBeforeCollapse,collapse:b.onCollapse,scope:b}});if(b.node){b.setRootNode(b.node)}b.animQueue={};b.callParent(arguments)},processUIEvent:function(b){if(b.getTarget("."+this.nodeAnimWrapCls,this.el)){return false}return this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(c){var d=this;d.store.setNode(c);d.node=c;if(!d.rootVisible){c.expand()}},onRender:function(){var c=this,d;c.callParent(arguments);d=c.el;d.on({scope:c,delegate:c.expanderSelector,mouseover:c.onExpanderMouseOver,mouseout:c.onExpanderMouseOut});d.on({scope:c,delegate:c.checkboxSelector,click:c.onCheckboxChange})},onCheckboxChange:function(g,f){var h=this,e=g.getTarget(h.getItemSelector(),h.getTargetEl());if(e){h.onCheckChange(h.getRecord(e))}},onCheckChange:function(d){var c=d.get("checked");if(Ext.isBoolean(c)){c=!c;d.set("checked",c);this.fireEvent("checkchange",d,c)}},getChecked:function(){var b=[];this.node.cascadeBy(function(a){if(a.get("checked")){b.push(a)}});return b},isItemChecked:function(b){return b.get("checked")},createAnimWrap:function(o,n){var q="",r=this.panel.headerCt,u=r.getGridColumns(),p=0,m=u.length,i,s=this.getNode(o),v,t;for(;p<m;p++){i=u[p];q+='<th style="width: '+(i.hidden?0:i.getDesiredWidth())+'px; height: 0px;"></th>'}t=Ext.get(s);v=t.insertSibling({tag:"tr",html:['<td colspan="'+r.getColumnCount()+'">','<div class="'+this.nodeAnimWrapCls+'">','<table class="'+Ext.baseCSSPrefix+'grid-table" style="width: '+r.getFullWidth()+'px;"><tbody>',q,"</tbody></table>","</div>","</td>"].join("")},"after");return{record:o,node:s,el:v,expanding:false,collapsing:false,animating:false,animateEl:v.down("div"),targetEl:v.down("tbody")}},getAnimWrap:function(b){if(!this.animate){return null}while(b){if(b.animWrap){return b.animWrap}b=b.parentNode}return null},doAdd:function(x,v,r){var q=this,t=v[0],o=t.parentNode,p=q.all.elements,a=0,u=q.getAnimWrap(o),n,w,s;if(!u||!u.expanding){q.resetScrollers();return q.callParent(arguments)}o=u.record;n=u.targetEl;w=n.dom.childNodes;s=w.length-1;a=r-q.indexOf(o)-1;if(!s||a>=s){n.appendChild(x)}else{Ext.fly(w[a+1]).insertSibling(x,"before",true)}Ext.Array.insert(p,r,x);if(u.isAnimating){q.onExpand(o)}},beginBulkUpdate:function(){this.bulkUpdate=true;this.ownerCt.changingScrollbars=true},endBulkUpdate:function(){var c=this,d=c.ownerCt;c.bulkUpdate=false;c.ownerCt.changingScrollbars=true;c.resetScrollers()},onRemove:function(h,g,f){var i=this,j=i.bulkUpdate;i.doRemove(g,f);if(!j){i.updateIndexes(f)}if(i.store.getCount()===0){i.refresh()}if(!j){i.fireEvent("itemremove",g,f)}},doRemove:function(i,n){var j=this,l=i.parentNode,m=j.all,h=j.getAnimWrap(i),k=m.item(n).dom;if(!h||!h.collapsing){j.resetScrollers();return j.callParent(arguments)}h.targetEl.appendChild(k);m.removeElement(n)},onBeforeExpand:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i);g.animateEl.setHeight(0)}else{if(g.collapsing){g.targetEl.select(h.itemSelector).remove()}}g.expanding=true;g.collapsing=false}},onExpand:function(p){var o=this,j=o.animQueue,k=p.getId(),i,n,m,l;if(o.singleExpand){o.ensureSingleExpand(p)}i=o.getAnimWrap(p);if(!i){o.resetScrollers();return}n=i.animateEl;m=i.targetEl;n.stopAnimation();j[k]=true;n.slideIn("t",{duration:o.expandDuration,listeners:{scope:o,lastframe:function(){i.el.insertSibling(m.query(o.itemSelector),"before");i.el.remove();o.resetScrollers();delete i.record.animWrap;delete j[k]}}});i.isAnimating=true},resetScrollers:function(){if(!this.bulkUpdate){var b=this.panel;b.determineScrollbars();b.invalidateScroller()}},onBeforeCollapse:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i,j)}else{if(g.expanding){g.targetEl.select(this.itemSelector).remove()}}g.expanding=false;g.collapsing=true}},onCollapse:function(n){var m=this,i=m.animQueue,j=n.getId(),h=m.getAnimWrap(n),l,k;if(!h){m.resetScrollers();return}l=h.animateEl;k=h.targetEl;i[j]=true;l.stopAnimation();l.slideOut("t",{duration:m.collapseDuration,listeners:{scope:m,lastframe:function(){h.el.remove();delete h.record.animWrap;m.resetScrollers();delete i[j]}}});h.isAnimating=true},isAnimating:function(b){return !!this.animQueue[b.getId()]},collectData:function(n){var k=this.callParent(arguments),l=k.rows,i=l.length,m=0,j,h;for(;m<i;m++){j=l[m];h=n[m];if(h.get("qtip")){j.rowAttr='data-qtip="'+h.get("qtip")+'"';if(h.get("qtitle")){j.rowAttr+=' data-qtitle="'+h.get("qtitle")+'"'}}if(h.isExpanded()){j.rowCls=(j.rowCls||"")+" "+this.expandedCls}if(h.isLoading()){j.rowCls=(j.rowCls||"")+" "+this.loadingCls}}return k},expand:function(e,f,g,h){return e.expand(f,g,h)},collapse:function(e,f,g,h){return e.collapse(f,g,h)},toggle:function(b){this[b.isExpanded()?"collapse":"expand"](b)},onItemDblClick:function(e,f,d){this.callParent(arguments);if(this.toggleOnDblClick){this.toggle(e)}},onBeforeItemMouseDown:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){return false}return this.callParent(arguments)},onItemClick:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){this.toggle(f);return false}return this.callParent(arguments)},onExpanderMouseOver:function(c,d){c.getTarget(this.cellSelector,10,true).addCls(this.expanderIconOverCls)},onExpanderMouseOut:function(c,d){c.getTarget(this.cellSelector,10,true).removeCls(this.expanderIconOverCls)},getTreeStore:function(){return this.panel.store},ensureSingleExpand:function(c){var d=c.parentNode;if(d){d.eachChild(function(a){if(a!==c&&a.isExpanded()){a.collapse()}})}}});Ext.define("Docs.view.HoverMenu",{extend:"Ext.view.View",alias:"widget.hovermenu",componentCls:"hover-menu",itemSelector:"div.item",deferEmptyText:false,columnHeight:25,initComponent:function(){this.renderTo=Ext.getBody();this.tpl=new Ext.XTemplate("<table>","<tr>","<td>",'<tpl for=".">','<div class="item">',"{[this.renderLink(values)]}","</div>",'<tpl if="xindex % this.columnHeight === 0 && xcount &gt; xindex">',"</td><td>","</tpl>","</tpl>","</td>","</tr>","</table>",{columnHeight:this.columnHeight,renderLink:function(d){var c=Ext.Array.map(Docs.data.signatures,function(a){return d.meta[a.key]?'<span class="signature '+a.key+'">'+(a["short"])+"</span>":""}).join(" ");return Ext.String.format('<a href="#!/api/{0}" rel="{0}" class="docClass">{1} {2}</a>',d.url,d.label,c)}});this.callParent()}});Ext.define("Docs.view.HoverMenuButton",{extend:"Ext.toolbar.TextItem",alias:"widget.hovermenubutton",componentCls:"hover-menu-button",requires:["Docs.view.HoverMenu"],showCount:false,statics:{menus:[]},initComponent:function(){this.addEvents("click");if(this.showCount){this.initialText=this.text;this.text+=" <sup>"+this.store.getCount()+"</sup>";this.store.on("datachanged",function(){this.setText(this.initialText+" <sup>"+this.store.getCount()+"</sup>")},this)}this.menu=Ext.create("Docs.view.HoverMenu",{store:this.store,columnHeight:this.getColumnHeight()});this.callParent(arguments)},getColumnHeight:function(){var c=200;var d=18;return Math.floor((Ext.Element.getViewportHeight()-c)/d)},onRender:function(){this.callParent(arguments);this.renderMenu();this.getEl().on({click:function(){this.fireEvent("click")},mouseover:this.deferShowMenu,mouseout:this.deferHideMenu,scope:this});this.menu.getEl().on({mouseover:function(){clearTimeout(this.hideTimeout)},mouseout:this.deferHideMenu,scope:this})},onDestroy:function(){this.menu.destroy();Ext.Array.remove(Docs.view.HoverMenuButton.menus,this.menu);this.callParent(arguments)},renderMenu:function(){this.menu.getEl().setVisibilityMode(Ext.core.Element.DISPLAY);this.menu.hide();this.menu.getEl().addListener("click",function(b){this.menu.hide();b.preventDefault()},this);Docs.view.HoverMenuButton.menus.push(this.menu)},deferHideMenu:function(){clearTimeout(Docs.view.HoverMenuButton.showTimeout);this.hideTimeout=Ext.Function.defer(function(){this.menu.hide()},200,this)},deferShowMenu:function(){clearTimeout(Docs.view.HoverMenuButton.showTimeout);Docs.view.HoverMenuButton.showTimeout=Ext.Function.defer(function(){Ext.Array.forEach(Docs.view.HoverMenuButton.menus,function(a){if(a!==this.menu){a.hide()}},this);clearTimeout(this.hideTimeout);this.menu.show();var j=this.getEl().getXY(),n=Ext.ComponentQuery.query("classoverview toolbar")[0],k=j[0]-10,l=n.getEl().getXY(),i=n.getWidth(),m=this.menu.getEl().getWidth(),h=Ext.getCmp("doctabs").getWidth();if(m>h){k=0}else{if((k+m)>h){k=h-m-30}}if(k<l[0]){k=l[0]}this.menu.getEl().setStyle({left:k+"px",top:(j[1]+25)+"px"})},200,this)},getStore:function(){return this.store}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,ignoreRightMouseSelection:true,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(d){var c=this;c.views=c.views||[];c.views.push(d);c.bind(d.getStore(),true);d.on({itemmousedown:c.onRowMouseDown,scope:c});if(c.enableKeyNav){c.initKeyNav(d)}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=new Ext.util.KeyNav(d.el,{up:c.onKeyUp,down:c.onKeyDown,right:c.onKeyRight,left:c.onKeyLeft,pageDown:c.onKeyPageDown,pageUp:c.onKeyPageUp,home:c.onKeyHome,end:c.onKeyEnd,scope:c});d.el.on(Ext.EventManager.getKeyEvent(),c.onKeyPress,c)},getRowsVisible:function(){var h=false,g=this.views[0],i=g.getNode(0),f,j;if(i){f=Ext.fly(i).getHeight();j=g.el.getHeight();h=Math.floor(j/f)}return h},onKeyEnd:function(g,f){var h=this,e=h.store.getAt(h.store.getCount()-1);if(e){if(g.shiftKey){h.selectRange(e,h.lastFocused||0);h.setLastFocused(e)}else{if(g.ctrlKey){h.setLastFocused(e)}else{h.doSelect(e)}}}},onKeyHome:function(h,f){var e=this,g=e.store.getAt(0);if(g){if(h.shiftKey){e.selectRange(g,e.lastFocused||0);e.setLastFocused(g)}else{if(h.ctrlKey){e.setLastFocused(g)}else{e.doSelect(g,false)}}}},onKeyPageUp:function(l,o){var m=this,k=m.getRowsVisible(),e,p,j,n;if(k){e=m.lastFocused?m.store.indexOf(m.lastFocused):0;p=e-k;if(p<0){p=0}j=m.store.getAt(p);if(l.shiftKey){n=m.store.getAt(e);m.selectRange(j,n,l.ctrlKey,"up");m.setLastFocused(j)}else{if(l.ctrlKey){l.preventDefault();m.setLastFocused(j)}else{m.doSelect(j)}}}},onKeyPageDown:function(l,e){var n=this,k=n.getRowsVisible(),j,m,o,p;if(k){j=n.lastFocused?n.store.indexOf(n.lastFocused):0;m=j+k;if(m>=n.store.getCount()){m=n.store.getCount()-1}o=n.store.getAt(m);if(l.shiftKey){p=n.store.getAt(j);n.selectRange(o,p,l.ctrlKey,"down");n.setLastFocused(o)}else{if(l.ctrlKey){l.preventDefault();n.setLastFocused(o)}else{n.doSelect(o)}}}},onKeyPress:function(g,e){if(g.getKey()===g.SPACE){g.stopEvent();var h=this,f=h.lastFocused;if(f){if(h.isSelected(f)){h.doDeselect(f,false)}else{h.doSelect(f,true)}}}},onKeyUp:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h>0){e=j.store.getAt(h-1);if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}},onKeyDown:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h+1<j.store.getCount()){e=j.store.getAt(h+1);if(j.selected.getCount()===0){j.doSelect(e)}else{if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}}},scrollByDeltaX:function(g){var f=this.views[0],h=f.up(),e=h.horizontalScroller;if(e){e.scrollByDeltaX(g)}},onKeyLeft:function(c,d){this.scrollByDeltaX(-this.deltaScroll)},onKeyRight:function(c,d){this.scrollByDeltaX(this.deltaScroll)},onRowMouseDown:function(e,g,i,j,h){e.el.focus();if(!this.allowRightMouseSelection(h)){return}this.selectWithEvent(g,h)},allowRightMouseSelection:function(d){var c=this.ignoreRightMouseSelection&&d.button!==0;if(c){c=this.hasSelection()}return !c},onSelectChange:function(q,t,m,v){var o=this,i=o.views,s=i.length,n=o.store,u=n.indexOf(q),p=t?"select":"deselect",r=0;if((m||o.fireEvent("before"+p,o,q,u))!==false&&v()!==false){for(;r<s;r++){if(t){i[r].onRowSelect(u,m)}else{i[r].onRowDeselect(u,m)}}if(!m){o.fireEvent(p,o,q,u)}}},onLastFocusChanged:function(k,o,i){var j=this.views,l=j.length,p=this.store,m,n=0;if(k){m=p.indexOf(k);if(m!=-1){for(;n<l;n++){j[n].onRowFocus(m,false)}}}if(o){m=p.indexOf(o);if(m!=-1){for(n=0;n<l;n++){j[n].onRowFocus(m,true,i)}}}},onEditorTab:function(l,n){var m=this,k=m.views[0],p=l.getActiveRecord(),q=l.getActiveColumn(),o=k.getPosition(p,q),e=n.shiftKey?"left":"right",r=k.walkCells(o,e,n,this.preventWrap);if(r){l.startEditByPosition(r)}},selectByPosition:function(d){var c=this.store.getAt(d.row);this.select(c)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(g,e){var h=this.getLastFocused(),f=this.view;if(h){if(h.isExpanded()){this.onKeyDown(g,e)}else{if(!h.isLeaf()){f.expand(h)}}}},onKeyLeft:function(j,m){var k=this.getLastFocused(),n=this.view,e=n.getSelectionModel(),i,l;if(k){i=k.parentNode;if(k.isExpanded()){n.collapse(k)}else{if(i&&!i.isRoot()){if(j.shiftKey){e.selectRange(i,k,j.ctrlKey,"up");e.setLastFocused(i)}else{if(j.ctrlKey){e.setLastFocused(i)}else{e.select(i)}}}}}},onKeyPress:function(h,e){var g=h.getKey(),j,i;if(g===h.SPACE||g===h.ENTER){h.stopEvent();j=this.getLastSelected();if(j){this.view.onCheckChange(j)}}else{this.callParent(arguments)}}});Ext.define("Ext.dd.DragDrop",{requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(d,c){},startDrag:function(d,c){},b4Drag:function(b){},onDrag:function(b){},onDragEnter:function(d,c){},b4DragOver:function(b){},onDragOver:function(d,c){},b4DragOut:function(b){},onDragOut:function(d,c){},b4DragDrop:function(b){},onDragDrop:function(d,c){},onInvalidDrop:function(b){},b4EndDrag:function(b){},endDrag:function(b){},b4MouseDown:function(b){},onMouseDown:function(b){},onMouseUp:function(b){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(q,s,b){if(Ext.isNumber(s)){s={left:s,right:s,top:s,bottom:s}}s=s||this.defaultPadding;var o=Ext.get(this.getEl()).getBox(),v=Ext.get(q),c=v.getScroll(),p,u=v.dom;if(u==document.body){p={x:c.left,y:c.top,width:Ext.Element.getViewWidth(),height:Ext.Element.getViewHeight()}}else{var n=v.getXY();p={x:n[0],y:n[1],width:u.clientWidth,height:u.clientHeight}}var r=o.y-p.y,t=o.x-p.x;this.resetConstraints();this.setXConstraint(t-(s.left||0),p.width-t-o.width-(s.right||0),this.xTickSize);this.setYConstraint(r-(s.top||0),p.height-r-o.height-(s.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(f,e,d){this.initTarget(f,e,d);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(f,e,d){this.config=d||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};if(typeof f!=="string"){f=Ext.id(f)}this.id=f;this.addToGroup((e)?e:"default");this.handleElId=f;this.setDragElId(f);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(h,f,g,e){if(!f&&0!==f){this.padding=[h,h,h,h]}else{if(!g&&0!==g){this.padding=[h,f,h,f]}else{this.padding=[h,f,g,e]}}},setInitPosition:function(k,l){var j=this.getEl();if(!this.DDMInstance.verifyEl(j)){return}var g=k||0;var h=l||0;var i=Ext.Element.getXY(j);this.initPageX=i[0]-g;this.initPageY=i[1]-h;this.lastPageX=i[0];this.lastPageY=i[1];this.setStartPosition(i)},setStartPosition:function(c){var d=c||Ext.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=d[0];this.startPageY=d[1]},addToGroup:function(b){this.groups[b]=true;this.DDMInstance.regDragDrop(this,b)},removeFromGroup:function(b){if(this.groups[b]){delete this.groups[b]}this.DDMInstance.removeDDFromGroup(this,b)},setDragElId:function(b){this.dragElId=b},setHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.handleElId=b;this.DDMInstance.regHandle(this.id,b)},setOuterHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}Ext.EventManager.on(b,"mousedown",this.handleMouseDown,this);this.setHandleElId(b);this.hasOuterHandles=true},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDMInstance.isLocked()||this.locked)},handleMouseDown:function(f,d){if(this.primaryButtonOnly&&f.button!=0){return}if(this.isLocked()){return}this.DDMInstance.refreshCache(this.groups);var e=f.getPoint();if(!this.hasOuterHandles&&!this.DDMInstance.isOverTarget(e,this)){}else{if(this.clickValidator(f)){this.setStartPosition();this.b4MouseDown(f);this.onMouseDown(f);this.DDMInstance.handleMouseDown(f,this);this.DDMInstance.stopEvent(f)}else{}}},clickValidator:function(c){var d=c.getTarget();return(this.isValidHandleChild(d)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(d,this.id)))},addInvalidHandleType:function(d){var c=d.toUpperCase();this.invalidHandleTypes[c]=c},addInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.invalidHandleIds[b]=b},addInvalidHandleClass:function(b){this.invalidHandleClasses.push(b)},removeInvalidHandleType:function(d){var c=d.toUpperCase();delete this.invalidHandleTypes[c]},removeInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}delete this.invalidHandleIds[b]},removeInvalidHandleClass:function(d){for(var f=0,e=this.invalidHandleClasses.length;f<e;++f){if(this.invalidHandleClasses[f]==d){delete this.invalidHandleClasses[f]}}},isValidHandleChild:function(k){var l=true;var i;try{i=k.nodeName.toUpperCase()}catch(j){i=k.nodeName}l=l&&!this.invalidHandleTypes[i];l=l&&!this.invalidHandleIds[k.id];for(var e=0,h=this.invalidHandleClasses.length;l&&e<h;++e){l=!Ext.fly(k).hasCls(this.invalidHandleClasses[e])}return l},setXTicks:function(g,f){this.xTicks=[];this.xTickSize=f;var h={};for(var e=this.initPageX;e>=this.minX;e=e-f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}for(e=this.initPageX;e<=this.maxX;e=e+f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(g,f){this.yTicks=[];this.yTickSize=f;var h={};for(var e=this.initPageY;e>=this.minY;e=e-f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}for(e=this.initPageY;e<=this.maxY;e=e+f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(f,d,e){this.leftConstraint=f;this.rightConstraint=d;this.minX=this.initPageX-f;this.maxX=this.initPageX+d;if(e){this.setXTicks(this.initPageX,e)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(e,f,d){this.topConstraint=e;this.bottomConstraint=f;this.minY=this.initPageY-e;this.maxY=this.initPageY+f;if(d){this.setYTicks(this.initPageY,d)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var c=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var d=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(c,d)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(j,m){if(!m){return j}else{if(m[0]>=j){return m[0]}else{for(var h=0,i=m.length;h<i;++h){var n=h+1;if(m[n]&&m[n]>=j){var k=j-m[h];var l=m[n]-j;return(l>k)?m[h]:m[n]}}return m[m.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},scroll:true,autoOffset:function(h,e){var f=h-this.startPageX;var g=e-this.startPageY;this.setDelta(f,g)},setDelta:function(c,d){this.deltaX=c;this.deltaY=d},setDragElPos:function(f,d){var e=this.getDragEl();this.alignElWithMouse(e,f,d)},alignElWithMouse:function(u,r,t){var q=this.getTargetCoord(r,t),s=u.dom?u:Ext.fly(u,"_dd"),l=s.getSize(),o=Ext.Element,n;if(!this.deltaSetXY){n=this.cachedViewportSize={width:o.getDocumentWidth(),height:o.getDocumentHeight()};var v=[Math.max(0,Math.min(q.x,n.width-l.width)),Math.max(0,Math.min(q.y,n.height-l.height))];s.setXY(v);var m=s.getLeft(true);var p=s.getTop(true);this.deltaSetXY=[m-q.x,p-q.y]}else{n=this.cachedViewportSize;s.setLeftTop(Math.max(0,Math.min(q.x+this.deltaSetXY[0],n.width-l.width)),Math.max(0,Math.min(q.y+this.deltaSetXY[1],n.height-l.height)))}this.cachePosition(q.x,q.y);this.autoScroll(q.x,q.y,u.offsetHeight,u.offsetWidth);return q},cachePosition:function(d,e){if(d){this.lastPageX=d;this.lastPageY=e}else{var f=Ext.Element.getXY(this.getEl());this.lastPageX=f[0];this.lastPageY=f[1]}},autoScroll:function(s,t,x,r){if(this.scroll){var q=Ext.Element.getViewHeight();var A=Ext.Element.getViewWidth();var h=this.DDMInstance.getScrollTop();var y=this.DDMInstance.getScrollLeft();var u=x+t;var p=r+s;var v=(q+h-t-this.deltaY);var w=(A+y-s-this.deltaX);var z=40;var B=(document.all)?80:30;if(u>q&&v<z){window.scrollTo(y,h+B)}if(t<h&&h>0&&t-h<z){window.scrollTo(y,h-B)}if(p>A&&w<z){window.scrollTo(y+B,h)}if(s<y&&y>0&&s-y<z){window.scrollTo(y-B,h)}}},getTargetCoord:function(h,e){var f=h-this.deltaX;var g=e-this.deltaY;if(this.constrainX){if(f<this.minX){f=this.minX}if(f>this.maxX){f=this.maxX}}if(this.constrainY){if(g<this.minY){g=this.minY}if(g>this.maxY){g=this.maxY}}f=this.getTick(f,this.xTicks);g=this.getTick(g,this.yTicks);return{x:f,y:g}},applyConfig:function(){this.callParent();this.scroll=(this.config.scroll!==false)},b4MouseDown:function(b){this.autoOffset(b.getPageX(),b.getPageY())},b4Drag:function(b){this.setDragElPos(b.getPageX(),b.getPageY())},toString:function(){return("DD "+this.id)}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(f,e,d){if(f){this.init(f,e,d);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var e=this;var f=document.body;if(!f||!f.firstChild){setTimeout(function(){e.createFrame()},50);return}var g=this.getDragEl();if(!g){g=document.createElement("div");g.id=this.dragElId;var h=g.style;h.position="absolute";h.visibility="hidden";h.cursor="move";h.border="2px solid #aaa";h.zIndex=999;f.insertBefore(g,f.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(h,i){var j=this.getEl();var g=this.getDragEl();var f=g.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(f.width,10)/2),Math.round(parseInt(f.height,10)/2))}this.setDragElPos(h,i);Ext.fly(g).show()},_resizeProxy:function(){if(this.resizeFrame){var b=this.getEl();Ext.fly(this.getDragEl()).setSize(b.offsetWidth,b.offsetHeight)}},b4MouseDown:function(d){var e=d.getPageX();var f=d.getPageY();this.autoOffset(e,f);this.setDragElPos(e,f)},b4StartDrag:function(d,c){this.showFrame(d,c)},b4EndDrag:function(b){Ext.fly(this.getDragEl()).hide()},endDrag:function(f){var d=this.getEl();var e=this.getDragEl();e.style.visibility="";this.beforeMove();d.style.visibility="hidden";Ext.dd.DDM.moveToEl(d,e);e.style.visibility="hidden";d.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(c,d){this.el=Ext.get(c);if(!this.dragData){this.dragData={}}Ext.apply(this,d);if(!this.proxy){this.proxy=Ext.create("Ext.dd.StatusProxy",{animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(b){return this.dragData},onDragEnter:function(h,g){var e=Ext.dd.DragDropManager.getDDById(g);this.cachedTarget=e;if(this.beforeDragEnter(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyEnter(this,h,this.dragData);this.proxy.setStatus(f)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(e,h,g)}}},beforeDragEnter:function(d,e,f){return true},alignElWithMouse:function(){this.callParent(arguments);this.proxy.sync()},onDragOver:function(h,g){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(g);if(this.beforeDragOver(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyOver(this,h,this.dragData);this.proxy.setStatus(f)}if(this.afterDragOver){this.afterDragOver(e,h,g)}}},beforeDragOver:function(d,e,f){return true},onDragOut:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragOut(e,d,f)!==false){if(e.isNotifyTarget){e.notifyOut(this,d,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(e,d,f)}}this.cachedTarget=null},beforeDragOut:function(d,e,f){return true},onDragDrop:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragDrop(e,d,f)!==false){if(e.isNotifyTarget){if(e.notifyDrop(this,d,this.dragData)!==false){this.onValidDrop(e,d,f)}else{this.onInvalidDrop(e,d,f)}}else{this.onValidDrop(e,d,f)}if(this.afterDragDrop){this.afterDragDrop(e,d,f)}}delete this.cachedTarget},beforeDragDrop:function(d,e,f){return true},onValidDrop:function(d,e,f){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(d,e,f)}},getRepairXY:function(c,d){return this.el.getXY()},onInvalidDrop:function(d,e,f){this.beforeInvalidDrop(d,e,f);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,f)}},afterRepair:function(){var b=this;if(Ext.enableFx){b.el.highlight(b.repairHighlightColor)}b.dragging=false},beforeInvalidDrop:function(d,e,f){return true},handleMouseDown:function(c){if(this.dragging){return}var d=this.getDragData(c);if(d&&this.onBeforeDrag(d,c)!==false){this.dragData=d;this.proxy.stop();this.callParent(arguments)}},onBeforeDrag:function(d,c){return true},onStartDrag:Ext.emptyFn,startDrag:function(d,c){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(d,c);this.proxy.show()},onInitDrag:function(e,f){var d=this.el.dom.cloneNode(true);d.id=Ext.id();this.proxy.update(d);this.onStartDrag(e,f);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(b){},endDrag:function(b){this.onEndDrag(this.dragData,b)},onEndDrag:function(d,c){},autoOffset:function(d,c){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(c,d){this.panel=c;this.dragData={panel:c};this.proxy=Ext.create("Ext.panel.Proxy",c,d);this.callParent([c.el,d]);Ext.defer(function(){var a=c.header,b=c.body;if(a){this.setHandleElId(a.id);b=a.el}b.setStyle("cursor","move");this.scroll=false},200,this)},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(d,c){this.proxy.show()},b4MouseDown:function(d){var e=d.getPageX(),f=d.getPageY();this.autoOffset(e,f)},onInitDrag:function(d,c){this.onStartDrag(d,c);return true},createFrame:Ext.emptyFn,getDragEl:function(b){return this.proxy.ghost.el.dom},endDrag:function(b){this.proxy.hide();this.panel.saveState()},autoOffset:function(d,c){d-=this.startPageX;c-=this.startPageY;this.setDelta(d,c)}});Ext.define("Ext.toolbar.Separator",{extend:"Ext.toolbar.Item",alias:"widget.tbseparator",alternateClassName:"Ext.Toolbar.Separator",baseCls:Ext.baseCSSPrefix+"toolbar-separator",focusable:false});Ext.define("Ext.layout.container.boxOverflow.Menu",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.toolbar.Separator","Ext.button.Button"],alternateClassName:"Ext.layout.boxOverflow.Menu",noItemsMenuText:'<div class="'+Ext.baseCSSPrefix+'toolbar-no-items">(None)</div>',constructor:function(c){var d=this;d.callParent(arguments);c.beforeLayout=Ext.Function.createInterceptor(c.beforeLayout,this.clearOverflow,this);d.afterCtCls=d.afterCtCls||Ext.baseCSSPrefix+"box-menu-"+c.parallelAfter;d.menuItems=[]},onRemove:function(b){Ext.Array.remove(this.menuItems,b)},handleOverflow:function(i,j){var k=this,l=k.layout,n="get"+l.parallelPrefixCap,h={},m=[null,null];k.callParent(arguments);this.createMenu(i,j);h[l.perpendicularPrefix]=j[l.perpendicularPrefix];h[l.parallelPrefix]=j[l.parallelPrefix]-k.afterCt[n]();m[l.perpendicularSizeIndex]=(i.meta.maxSize-k.menuTrigger["get"+l.perpendicularPrefixCap]())/2;k.menuTrigger.setPosition.apply(k.menuTrigger,m);return{targetSize:h}},clearOverflow:function(j,k){var l=this,m=k?k.width+(l.afterCt?l.afterCt.getWidth():0):0,i=l.menuItems,p=0,n=i.length,o;l.hideTrigger();for(;p<n;p++){i[p].show()}i.length=0;return k?{targetSize:{height:k.height,width:m}}:null},showTrigger:function(){this.menuTrigger.show()},hideTrigger:function(){if(this.menuTrigger!==undefined){this.menuTrigger.hide()}},beforeMenuShow:function(k){var l=this,i=l.menuItems,o=0,j=i.length,m,n;var p=function(a,b){return a.isXType("buttongroup")&&!(b instanceof Ext.toolbar.Separator)};l.clearMenu();k.removeAll();for(;o<j;o++){m=i[o];if(!o&&(m instanceof Ext.toolbar.Separator)){continue}if(n&&(p(m,n)||p(n,m))){k.add("-")}l.addComponentToMenu(k,m);n=m}if(k.items.length<1){k.add(l.noItemsMenuText)}},createMenuConfig:function(h,f){var e=Ext.apply({},h.initialConfig),g=h.toggleGroup;Ext.copyTo(e,h,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(e,{text:h.overflowText||h.text,hideOnClick:f,destroyMenu:false});if(g||h.enableToggle){Ext.apply(e,{group:g,checked:h.pressed,listeners:{checkchange:function(a,b){h.toggle(b)}}})}delete e.ownerCt;delete e.xtype;delete e.id;return e},addComponentToMenu:function(f,e){var d=this;if(e instanceof Ext.toolbar.Separator){f.add("-")}else{if(e.isComponent){if(e.isXType("splitbutton")){f.add(d.createMenuConfig(e,true))}else{if(e.isXType("button")){f.add(d.createMenuConfig(e,!e.menu))}else{if(e.isXType("buttongroup")){e.items.each(function(a){d.addComponentToMenu(f,a)})}else{f.add(Ext.create(Ext.getClassName(e),d.createMenuConfig(e)))}}}}}},clearMenu:function(){var b=this.moreMenu;if(b&&b.items){b.items.each(function(a){if(a.menu){delete a.menu}})}},createMenu:function(v,t){var m=this,o=m.layout,i=o.parallelBefore,r=o.parallelPrefix,u=t[r],p=v.boxes,s=0,n=p.length,q;if(!m.menuTrigger){m.createInnerElements();m.menu=Ext.create("Ext.menu.Menu",{listeners:{scope:m,beforeshow:m.beforeMenuShow}});m.menuTrigger=Ext.create("Ext.button.Button",{ownerCt:m.layout.owner,iconCls:m.layout.owner.menuTriggerCls,ui:o.owner instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:m.menu,getSplitCls:function(){return""},renderTo:m.afterCt})}m.showTrigger();u-=m.afterCt.getWidth();m.menuItems.length=0;for(;s<n;s++){q=p[s];if(q[i]+q[r]>u){m.menuItems.push(q.component);q.component.hide()}}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!this.afterCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");this.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+this.afterCtCls},"before")}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.define("Ext.layout.container.Box",{alias:["layout.box"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.BoxLayout",requires:["Ext.layout.container.boxOverflow.None","Ext.layout.container.boxOverflow.Menu","Ext.layout.container.boxOverflow.Scroller","Ext.util.Format","Ext.dd.DragDropManager"],defaultMargins:{top:0,right:0,bottom:0,left:0},padding:"0",pack:"start",type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",innerCls:Ext.baseCSSPrefix+"box-inner",bindToOwnerCtContainer:true,availableSpaceOffset:0,reserveOffset:true,shrinkToFit:true,clearInnerCtOnLayout:false,flexSortFn:function(g,h){var b="max"+this.parallelPrefixCap,a=Infinity;g=g.component[b]||a;h=h.component[b]||a;if(!isFinite(g)&&!isFinite(h)){return false}return g-h},minSizeSortFn:function(a,b){return b.available-a.available},constructor:function(d){var c=this;c.callParent(arguments);c.flexSortFn=Ext.Function.bind(c.flexSortFn,c);c.initOverflowHandler()},getChildBox:function(c){c=c.el||this.owner.getComponent(c).el;var d=c.getBox(false,true);return{left:d.left,top:d.top,width:d.width,height:d.height}},calculateChildBox:function(h){var i=this,f=i.calculateChildBoxes(i.getVisibleItems(),i.getLayoutTargetSize()).boxes,j=f.length,g=0;h=i.owner.getComponent(h);for(;g<j;g++){if(f[g].component===h){return f[g]}}},calculateChildBoxes:function(bc,bp){var a4=this,aI=Math,bg=aI.max,bd=Infinity,a6,a9=a4.parallelPrefix,be=a4.parallelPrefixCap,aC=a4.perpendicularPrefix,a8=a4.perpendicularPrefixCap,aW="min"+be,aQ="min"+a8,aH="max"+a8,bo=bp[a9]-a4.scrollOffset,i=bp[aC],aU=a4.padding,ba=aU[a4.parallelBefore],a7=ba+aU[a4.parallelAfter],ay=aU[a4.perpendicularLeftTop],aG=ay+aU[a4.perpendicularRightBottom],aN=bg(0,i-aG),aK=a4.innerCt.getBorderWidth(a4.perpendicularLT+a4.perpendicularRB),a0=a4.pack=="start",aB=a4.pack=="center",aS=a4.pack=="end",aV=Ext.Number.constrain,aA=bc.length,bn=0,aM=0,aF=0,a5=0,aO=0,ax=[],aE=[],aP,aR,bj,a1,aZ,aY,aD,ao,aq,ap,bf,bm,a2,aJ,a3,az,bi,aw,aX,bl,aT,au,bq,bb,bh,aL,av,ar,bk,at;for(aR=0;aR<aA;aR++){bj=bc[aR];aZ=bj[aC];if(!bj.flex||!(a4.align=="stretch"||a4.align=="stretchmax")){if(bj.componentLayout.initialized!==true){a4.layoutItem(bj)}}aY=bj.margins;aL=aY[a4.parallelBefore]+aY[a4.parallelAfter];aq={component:bj,margins:aY};if(bj.flex){aM+=bj.flex;a1=a6}else{if(!(bj[a9]&&aZ)){aD=bj.getSize()}a1=bj[a9]||aD[a9];aZ=aZ||aD[aC]}bn+=aL+(a1||0);aF+=aL+(bj.flex?bj[aW]||0:a1);a5+=aL+(bj[aW]||a1||0);if(typeof aZ!="number"){aZ=bj["get"+a8]()}aO=bg(aO,bg(aZ,bj[aQ]||0)+aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom]);aq[a9]=a1||a6;aq.dirtySize=bj.componentLayout.lastComponentSize?(aq[a9]!==bj.componentLayout.lastComponentSize[a9]):false;aq[aC]=aZ||a6;ax.push(aq)}if(!a4.autoSize){ap=aF-bo;bf=a5>bo}bm=bg(0,bo-bn-a7-(a4.reserveOffset?a4.availableSpaceOffset:0));if(bf){for(aR=0;aR<aA;aR++){bi=ax[aR];a2=bc[aR][aW]||bc[aR][a9]||bi[a9];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}}else{if(ap>0){for(aR=0;aR<aA;aR++){aJ=bc[aR];a2=aJ[aW]||0;if(aJ.flex){bi=ax[aR];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}else{if(a4.shrinkToFit){aE.push({minSize:a2,available:ax[aR][a9]-a2,index:aR})}}}Ext.Array.sort(aE,a4.minSizeSortFn);for(aR=0,a3=aE.length;aR<a3;aR++){az=aE[aR].index;if(az==a6){continue}aJ=bc[az];a2=aE[aR].minSize;bi=ax[az];aw=bi[a9];aX=bg(a2,aw-aI.ceil(ap/(a3-aR)));bl=aw-aX;bi.dirtySize=bi.dirtySize||bi[a9]!=aX;bi[a9]=aX;ap-=bl}bf=(ap>0)}else{bq=bm;bb=aM;au=[];for(aR=0;aR<aA;aR++){bj=bc[aR];if(a0&&bj.flex){au.push(ax[Ext.Array.indexOf(bc,bj)])}}Ext.Array.sort(au,a4.flexSortFn);for(aR=0;aR<au.length;aR++){av=au[aR];bj=av.component;aY=av.margins;bh=aI.ceil((bj.flex/bb)*bq);bh=Math.max(bj["min"+be]||0,aI.min(bj["max"+be]||bd,bh));bq-=bh;bb-=bj.flex;av.dirtySize=av.dirtySize||av[a9]!=bh;av[a9]=bh}}}if(aB){ba+=bm/2}else{if(aS){ba+=bm}}if(a4.owner.dock&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&!a4.owner.width&&a4.direction=="vertical"){aP=aO+a4.owner.el.getPadding("lr")+a4.owner.el.getBorderWidth("lr");if(a4.owner.frameSize){aP+=a4.owner.frameSize.left+a4.owner.frameSize.right}aN=Math.min(aN,bp.width=aO+aU.left+aU.right)}for(aR=0;aR<aA;aR++){bj=bc[aR];av=ax[aR];aY=av.margins;bk=aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom];ba+=aY[a4.parallelBefore];av[a4.parallelBefore]=ba;av[a4.perpendicularLeftTop]=ay+aY[a4.perpendicularLeftTop];if(a4.align=="stretch"){at=aV(aN-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align=="stretchmax"){at=aV(aO-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align==a4.alignCenteringString){aT=bg(aN,aO)-aK-av[aC];if(aT>0){av[a4.perpendicularLeftTop]=ay+Math.round(aT/2)}}}}ba+=(av[a9]||0)+aY[a4.parallelAfter]}return{boxes:ax,meta:{calculatedWidth:aP,maxSize:aO,nonFlexSize:bn,desiredSize:aF,minimumSize:a5,shortfall:ap,tooNarrow:bf}}},onRemove:function(b){this.callParent(arguments);if(this.overflowHandler){this.overflowHandler.onRemove(b)}},initOverflowHandler:function(){var f=this.overflowHandler;if(typeof f=="string"){f={type:f}}var d="None";if(f&&f.type!==undefined){d=f.type}var e=Ext.layout.container.boxOverflow[d];if(e[this.type]){e=e[this.type]}this.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+d,this,f)},onLayout:function(){this.callParent();if(this.clearInnerCtOnLayout===true&&this.adjustmentPass!==true){this.innerCt.setSize(null,null)}var l=this,p=l.getLayoutTargetSize(),m=l.getVisibleItems(),q=l.calculateChildBoxes(m,p),n=q.boxes,k=q.meta,j,r,o;if(l.autoSize&&q.meta.desiredSize){p[l.parallelPrefix]=q.meta.desiredSize}if(k.shortfall>0){j=l.overflowHandler;r=k.tooNarrow?"handleOverflow":"clearOverflow";o=j[r](q,p);if(o){if(o.targetSize){p=o.targetSize}if(o.recalculate){m=l.getVisibleItems();q=l.calculateChildBoxes(m,p);n=q.boxes}}}else{l.overflowHandler.clearOverflow()}l.layoutTargetLastSize=p;l.childBoxCache=q;l.updateInnerCtSize(p,q);l.updateChildBoxes(n);l.handleTargetOverflow(p)},animCallback:Ext.emptyFn,updateChildBoxes:function(v){var r=this,x=0,z=v.length,i=[],p=Ext.dd.DDM.getDDById(r.innerCt.id),B,w,y,u,t,A;for(;x<z;x++){w=v[x];u=w.component;if(p&&(p.getDragEl()===u.el.dom)){continue}y=false;B=r.getChildBox(u);if(r.animate){A=r.animate.callback||r.animate;t={layoutAnimation:true,target:u,from:{},to:{},listeners:{}};if(!isNaN(w.width)&&(w.width!=B.width)){y=true;t.to.width=w.width}if(!isNaN(w.height)&&(w.height!=B.height)){y=true;t.to.height=w.height}if(!isNaN(w.left)&&(w.left!=B.left)){y=true;t.to.left=w.left}if(!isNaN(w.top)&&(w.top!=B.top)){y=true;t.to.top=w.top}if(y){i.push(t)}}else{if(w.dirtySize){if(w.width!==B.width||w.height!==B.height){r.setItemSize(u,w.width,w.height)}}if(isNaN(w.left)||isNaN(w.top)){continue}u.setPosition(w.left,w.top)}}z=i.length;if(z){var q=function(a){z-=1;if(!z){r.animCallback(a);r.layoutBusy=false;if(Ext.isFunction(A)){A()}}};var s=function(){r.layoutBusy=true};for(x=0,z=i.length;x<z;x++){t=i[x];t.listeners.afteranimate=q;if(!x){t.listeners.beforeanimate=s}if(r.animate.duration){t.duration=r.animate.duration}u=t.target;delete t.target;u.stopAnimation();u.animate(t)}}},updateInnerCtSize:function(t,v){var p=this,r=Math.max,q=p.align,o=p.padding,u=t.width,m=t.height,l=v.meta,s,n;if(p.direction=="horizontal"){s=u;n=l.maxSize+o.top+o.bottom+p.innerCt.getBorderWidth("tb");if(q=="stretch"){n=m}else{if(q=="middle"){n=r(m,n)}}}else{n=m;s=l.maxSize+o.left+o.right+p.innerCt.getBorderWidth("lr");if(q=="stretch"){s=u}else{if(q=="center"){s=r(u,s)}}}p.getRenderTarget().setSize(s||undefined,n||undefined);if(l.calculatedWidth&&p.owner.el.getWidth()>l.calculatedWidth){p.owner.el.setWidth(l.calculatedWidth)}if(p.innerCt.dom.scrollTop){p.innerCt.dom.scrollTop=0}},handleTargetOverflow:function(h){var e=this.getTarget(),g=e.getStyle("overflow"),f;if(g&&g!="hidden"&&!this.adjustmentPass){f=this.getLayoutTargetSize();if(f.width!=h.width||f.height!=h.height){this.adjustmentPass=true;this.onLayout();return true}}delete this.adjustmentPass},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&this.innerCt&&e.parentNode===this.innerCt.dom)||false},getRenderTarget:function(){if(!this.innerCt){this.innerCt=this.getTarget().createChild({cls:this.innerCls,role:"presentation"});this.padding=Ext.util.Format.parseBox(this.padding)}return this.innerCt},renderItem:function(k,i){this.callParent(arguments);var l=this,h=k.getEl(),g=h.dom.style,j=k.margins||k.margin;if(j){if(Ext.isString(j)||Ext.isNumber(j)){j=Ext.util.Format.parseBox(j)}else{Ext.applyIf(j,{top:0,right:0,bottom:0,left:0})}}else{j=Ext.apply({},l.defaultMargins)}j.top+=h.getMargin("t");j.right+=h.getMargin("r");j.bottom+=h.getMargin("b");j.left+=h.getMargin("l");j.height=j.top+j.bottom;j.width=j.left+j.right;g.marginTop=g.marginRight=g.marginBottom=g.marginLeft="0";k.margins=j},destroy:function(){Ext.destroy(this.innerCt,this.overflowHandler);this.callParent(arguments)}});Ext.define("Ext.layout.container.Fit",{extend:"Ext.layout.container.AbstractFit",alias:"layout.fit",alternateClassName:"Ext.layout.FitLayout",requires:["Ext.layout.container.Box"],defaultMargins:{top:0,right:0,bottom:0,left:0},onLayout:function(){var h=this,f,e,g;h.callParent();if(h.owner.items.length){e=h.owner.items.get(0);g=e.margins||h.defaultMargins;f=h.getLayoutTargetSize();f.width-=g.width;f.height-=g.height;h.setItemBox(e,f);if(g.left||g.top){e.setPosition(g.left,g.top)}}},getTargetBox:function(){return this.getLayoutTargetSize()},setItemBox:function(f,d){var e=this;if(f&&d.height>0){if(!e.owner.isFixedWidth()){d.width=undefined}if(!e.owner.isFixedHeight()){d.height=undefined}e.setItemSize(f,d.width,d.height)}},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}},function(){this.prototype.renderItem=Ext.layout.container.Box.prototype.renderItem});Ext.define("Ext.layout.container.AbstractCard",{extend:"Ext.layout.container.Fit",type:"card",sizeAllCards:false,hideInactive:true,deferredRender:false,beforeLayout:function(){var b=this;b.getActiveItem();if(b.activeItem&&b.deferredRender){b.renderItems([b.activeItem],b.getRenderTarget());return true}else{return this.callParent(arguments)}},renderChildren:function(){if(!this.deferredRender){this.getActiveItem();this.callParent()}},onLayout:function(){var k=this,j=k.activeItem,h=k.getVisibleItems(),l=h.length,i=k.getTargetBox(),n,m;for(n=0;n<l;n++){m=h[n];k.setItemBox(m,i)}if(!k.firstActivated&&j){if(j.fireEvent("beforeactivate",j)!==false){j.fireEvent("activate",j)}k.firstActivated=true}},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&e.parentNode===(g.dom||g))||false},getActiveItem:function(){var b=this;if(!b.activeItem&&b.owner){b.activeItem=b.parseActiveItem(b.owner.activeItem)}if(b.activeItem&&b.owner.items.indexOf(b.activeItem)!=-1){return b.activeItem}return null},parseActiveItem:function(b){if(b&&b.isComponent){return b}else{if(typeof b=="number"||b===undefined){return this.getLayoutItems()[b||0]}else{return this.owner.getComponent(b)}}},configureItem:function(c,d){this.callParent([c,d]);if(this.hideInactive&&this.activeItem!==c){c.hide()}else{c.show()}},onRemove:function(b){if(b===this.activeItem){this.activeItem=null;if(this.owner.items.getCount()===0){this.firstActivated=false}}},getAnimation:function(d,e){var f=(d||{}).cardSwitchAnimation;if(f===false){return false}return f||e.cardSwitchAnimation},getNext:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d+1]||(f?e[0]:false)},next:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getNext(d),c)},getPrev:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d-1]||(f?e[e.length-1]:false)},prev:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getPrev(d),c)}});Ext.define("Ext.layout.container.Card",{alias:["layout.card"],alternateClassName:"Ext.layout.CardLayout",extend:"Ext.layout.container.AbstractCard",setActiveItem:function(f){var h=this,g=h.owner,i=h.activeItem,j;f=h.parseActiveItem(f);j=g.items.indexOf(f);if(j==-1){j=g.items.items.length;g.add(f)}if(f&&i!=f){if(!f.rendered){h.renderItem(f,h.getRenderTarget(),g.items.length);h.configureItem(f,0)}h.activeItem=f;if(f.fireEvent("beforeactivate",f,i)===false){return false}if(i&&i.fireEvent("beforedeactivate",i,f)===false){return false}if(h.sizeAllCards){h.onLayout()}else{h.setItemBox(f,h.getTargetBox())}h.owner.suspendLayout=true;if(i){if(h.hideInactive){i.hide()}i.fireEvent("deactivate",i,f)}h.owner.suspendLayout=false;if(f.hidden){f.show()}else{h.onLayout()}f.fireEvent("activate",f,i);return f}return false},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}});Ext.define("Ext.layout.container.VBox",{alias:["layout.vbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.VBoxLayout",align:"left",alignCenteringString:"center",type:"vbox",direction:"vertical",parallelSizeIndex:1,perpendicularSizeIndex:0,parallelPrefix:"height",parallelPrefixCap:"Height",parallelLT:"t",parallelRB:"b",parallelBefore:"top",parallelBeforeCap:"Top",parallelAfter:"bottom",parallelPosition:"y",perpendicularPrefix:"width",perpendicularPrefixCap:"Width",perpendicularLT:"l",perpendicularRB:"r",perpendicularLeftTop:"left",perpendicularRightBottom:"right",perpendicularPosition:"x",configureItem:function(b){if(b.flex){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}this.callParent(arguments)}});Ext.define("Ext.layout.container.HBox",{alias:["layout.hbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.HBoxLayout",align:"top",alignCenteringString:"middle",type:"hbox",direction:"horizontal",parallelSizeIndex:0,perpendicularSizeIndex:1,parallelPrefix:"width",parallelPrefixCap:"Width",parallelLT:"l",parallelRB:"r",parallelBefore:"left",parallelBeforeCap:"Left",parallelAfter:"right",parallelPosition:"x",perpendicularPrefix:"height",perpendicularPrefixCap:"Height",perpendicularLT:"t",perpendicularRB:"b",perpendicularLeftTop:"top",perpendicularRightBottom:"bottom",perpendicularPosition:"y",configureItem:function(b){if(b.flex){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}this.callParent(arguments)}});Ext.define("Ext.toolbar.Toolbar",{extend:"Ext.container.Container",requires:["Ext.toolbar.Fill","Ext.layout.container.HBox","Ext.layout.container.VBox","Ext.FocusManager"],uses:["Ext.toolbar.Separator"],alias:"widget.toolbar",alternateClassName:"Ext.Toolbar",isToolbar:true,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:false,enableOverflow:false,menuTriggerCls:Ext.baseCSSPrefix+"toolbar-more-icon",trackMenus:true,itemCls:Ext.baseCSSPrefix+"toolbar-item",initComponent:function(){var c=this,d;if(!c.layout&&c.enableOverflow){c.layout={overflowHandler:"Menu"}}if(c.dock==="right"||c.dock==="left"){c.vertical=true}c.layout=Ext.applyIf(Ext.isString(c.layout)?{type:c.layout}:c.layout||{},{type:c.vertical?"vbox":"hbox",align:c.vertical?"stretchmax":"middle",clearInnerCtOnLayout:true});if(c.vertical){c.addClsWithUI("vertical")}if(c.ui==="footer"){c.ignoreBorderManagement=true}c.callParent();c.addEvents("overflowchange");d=c.vertical?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d})},getRefItems:function(g){var h=this,f=h.callParent(arguments),i=h.layout,j;if(g&&h.enableOverflow){j=i.overflowHandler;if(j&&j.menu){f=f.concat(j.menu.getRefItems(g))}}return f},lookupComponent:function(c){if(Ext.isString(c)){var d=Ext.toolbar.Toolbar.shortcuts[c];if(d){c={xtype:d}}else{c={xtype:"tbtext",text:c}}this.applyDefaults(c)}return this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c},trackMenu:function(h,f){if(this.trackMenus&&h.menu){var g=f?"mun":"mon",e=this;e[g](h,"mouseover",e.onButtonOver,e);e[g](h,"menushow",e.onButtonMenuShow,e);e[g](h,"menuhide",e.onButtonMenuHide,e)}},constructButton:function(b){return b.events?b:this.createComponent(b,b.split?"splitbutton":this.defaultType)},onBeforeAdd:function(b){if(b.is("field")||(b.is("button")&&this.ui!="footer")){b.ui=b.ui+"-toolbar"}if(b instanceof Ext.toolbar.Separator){b.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(b){this.callParent(arguments);this.trackMenu(b);if(this.disabled){b.disable()}},onRemove:function(b){this.callParent(arguments);this.trackMenu(b,true)},onButtonOver:function(b){if(this.activeMenuBtn&&this.activeMenuBtn!=b){this.activeMenuBtn.hideMenu();b.showMenu();this.activeMenuBtn=b}},onButtonMenuShow:function(b){this.activeMenuBtn=b},onButtonMenuHide:function(b){delete this.activeMenuBtn}},function(){this.shortcuts={"-":"tbseparator"," ":"tbspacer","->":"tbfill"}});Ext.define("Ext.panel.AbstractPanel",{extend:"Ext.container.Container",requires:["Ext.util.MixedCollection","Ext.Element","Ext.toolbar.Toolbar"],baseCls:Ext.baseCSSPrefix+"panel",isPanel:true,componentLayout:"dock",defaultDockWeights:{top:1,left:3,right:5,bottom:7},renderTpl:['<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl>',' {baseCls}-body-{ui}<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl>','</tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>>',"</div>"],border:true,initComponent:function(){var b=this;b.addEvents("bodyresize");b.addChildEls("body");if(b.frame&&b.border&&b.bodyBorder===undefined){b.bodyBorder=false}if(b.frame&&b.border&&(b.bodyBorder===false||b.bodyBorder===0)){b.manageBodyBorders=true}b.callParent()},initItems:function(){var c=this,d=c.dockedItems;c.callParent();c.dockedItems=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){c.addDocked(d)}},getDockedComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.dockedItems.get(b)},getComponent:function(d){var c=this.callParent(arguments);if(c===undefined&&!Ext.isNumber(d)){c=this.getDockedComponent(d)}return c},initBodyStyles:function(){var i=this,g=i.bodyStyle,j=[],f=Ext.Element,h;if(Ext.isFunction(g)){g=g()}if(Ext.isString(g)){j=g.split(";")}else{for(h in g){if(g.hasOwnProperty(h)){j.push(h+":"+g[h])}}}if(i.bodyPadding!==undefined){j.push("padding: "+f.unitizeBox((i.bodyPadding===true)?5:i.bodyPadding))}if(i.frame&&i.bodyBorder){if(!Ext.isNumber(i.bodyBorder)){i.bodyBorder=1}j.push("border-width: "+f.unitizeBox(i.bodyBorder))}delete i.bodyStyle;return j.length?j.join(";"):undefined},initBodyCls:function(){var d=this,e="",f=d.bodyCls;if(f){Ext.each(f,function(a){e+=" "+a});delete d.bodyCls}return e.length>0?e:undefined},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyStyle:this.initBodyStyles(),bodyCls:this.initBodyCls()})},addDocked:function(h,i){var j=this,g=0,k,l;h=j.prepareItems(h);l=h.length;for(;g<l;g++){k=h[g];k.dock=k.dock||"top";if(j.border===false){}if(i!==undefined){j.dockedItems.insert(i+g,k)}else{j.dockedItems.add(k)}k.onAdded(j,g);j.onDockedAdd(k)}j.componentLayout.childrenChanged=true;if(j.rendered&&!j.suspendLayout){j.doComponentLayout()}return h},onDockedAdd:Ext.emptyFn,onDockedRemove:Ext.emptyFn,insertDocked:function(c,d){this.addDocked(d,c)},removeDocked:function(h,f){var i=this,j,g;if(!i.dockedItems.contains(h)){return h}j=i.componentLayout;g=j&&i.rendered;if(g){j.onRemove(h)}i.dockedItems.remove(h);h.onRemoved();i.onDockedRemove(h);if(f===true||(f!==false&&i.autoDestroy)){h.destroy()}else{if(g){j.afterRemove(h)}}i.componentLayout.childrenChanged=true;if(!i.destroying&&!i.suspendLayout){i.doComponentLayout()}return h},getDockedItems:function(h){var g=this,e=g.defaultDockWeights,f;if(g.dockedItems&&g.dockedItems.items.length){if(h){f=Ext.ComponentQuery.query(h,g.dockedItems.items)}else{f=g.dockedItems.items.slice()}Ext.Array.sort(f,function(c,d){var b=c.weight||e[c.dock],a=d.weight||e[d.dock];if(Ext.isNumber(b)&&Ext.isNumber(a)){return b-a}return 0});return f}return[]},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,f=e.baseCls+"-body-"+e.ui,g;e.callParent(arguments);if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}},removeUIFromElement:function(){var d=this,e=d.baseCls+"-body-"+d.ui,f;d.callParent(arguments);if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}},getTargetEl:function(){return this.body},getRefItems:function(h){var g=this.callParent(arguments),k=this.getDockedItems(h?"*,* *":undefined),i=k.length,l=0,j;for(;l<i;l++){j=k[l];if(j.dock==="right"||j.dock==="bottom"){break}}return Ext.Array.splice(k,0,l).concat(g).concat(k)},beforeDestroy:function(){var c=this.dockedItems,d;if(c){while((d=c.first())){this.removeDocked(d,true)}}this.callParent()},setBorder:function(d){var c=this;c.border=(d!==undefined)?d:true;if(c.rendered){c.doComponentLayout()}}});Ext.define("Ext.panel.Panel",{extend:"Ext.panel.AbstractPanel",requires:["Ext.panel.Header","Ext.fx.Anim","Ext.util.KeyMap","Ext.panel.DD","Ext.XTemplate","Ext.layout.component.Dock","Ext.util.Memento"],alias:"widget.panel",alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:false,collapseFirst:true,hideCollapseTool:false,titleCollapse:false,floatable:true,collapsible:false,closable:false,closeAction:"destroy",preventHeader:false,headerPosition:"top",frame:false,frameHeader:true,initComponent:function(){var c=this,d;c.addEvents("beforeclose","beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange");this.addStateEvents("expand","collapse");if(c.unstyled){c.setUI("plain")}if(c.frame){c.setUI(c.ui+"-framed")}c.bridgeToolbars();c.callParent();c.collapseDirection=c.collapseDirection||c.headerPosition||Ext.Component.DIRECTION_TOP},setBorder:function(b){this.callParent(arguments)},beforeDestroy:function(){Ext.destroy(this.ghostPanel,this.dd);this.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},initHeaderAria:function(){var d=this,e=d.el,f=d.header;if(e&&f){e.dom.setAttribute("aria-labelledby",f.titleCmp.id)}},getHeader:function(){return this.header},setTitle:function(f){var d=this,e=this.title;d.title=f;if(d.header){d.header.setTitle(f)}else{d.updateHeader()}if(d.reExpander){d.reExpander.setTitle(f)}d.fireEvent("titlechange",d,f,e)},setIconCls:function(f){var h=this,e=h.iconCls;h.iconCls=f;var g=h.header;if(g){g.setIconCls(f)}h.fireEvent("iconchange",h,f,e)},bridgeToolbars:function(){var h=this,i=[],l,g,j=h.minButtonWidth;function k(c,a,b){if(Ext.isArray(c)){c={xtype:"toolbar",items:c}}else{if(!c.xtype){c.xtype="toolbar"}}c.dock=a;if(a=="left"||a=="right"){c.vertical=true}if(b){c.layout=Ext.applyIf(c.layout||{},{pack:{left:"start",center:"center"}[h.buttonAlign]||"end"})}return c}if(h.tbar){i.push(k(h.tbar,"top"));h.tbar=null}if(h.bbar){i.push(k(h.bbar,"bottom"));h.bbar=null}if(h.buttons){h.fbar=h.buttons;h.buttons=null}if(h.fbar){l=k(h.fbar,"bottom",true);l.ui="footer";if(j){g=l.defaults;l.defaults=function(b){var a=g||{};if((!b.xtype||b.xtype==="button"||(b.isComponent&&b.isXType("button")))&&!("minWidth" in a)){a=Ext.apply({minWidth:j},a)}return a}}i.push(l);h.fbar=null}if(h.lbar){i.push(k(h.lbar,"left"));h.lbar=null}if(h.rbar){i.push(k(h.rbar,"right"));h.rbar=null}if(h.dockedItems){if(!Ext.isArray(h.dockedItems)){h.dockedItems=[h.dockedItems]}h.dockedItems=h.dockedItems.concat(i)}else{h.dockedItems=i}},initTools:function(){var b=this;b.tools=b.tools?Ext.Array.clone(b.tools):[];if(b.collapsible&&!(b.hideCollapseTool||b.header===false)){b.collapseDirection=b.collapseDirection||b.headerPosition||"top";b.collapseTool=b.expandTool=b.createComponent({xtype:"tool",type:"collapse-"+b.collapseDirection,expandType:b.getOppositeDirection(b.collapseDirection),handler:b.toggleCollapse,scope:b});if(b.collapseFirst){b.tools.unshift(b.collapseTool)}}b.addTools();if(b.closable){b.addClsWithUI("closable");b.addTool({type:"close",handler:Ext.Function.bind(b.close,this,[])})}if(b.collapseTool&&!b.collapseFirst){b.tools.push(b.collapseTool)}},addTools:Ext.emptyFn,close:function(){if(this.fireEvent("beforeclose",this)!==false){this.doClose()}},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},onRender:function(e,f){var g=this,h;g.initTools();g.updateHeader();g.callParent(arguments)},afterRender:function(){var b=this;b.callParent(arguments);if(b.collapsed){b.collapsed=false;b.collapse(null,false,true)}},updateHeader:function(f){var g=this,h=g.header,i=g.title,j=g.tools;if(!g.preventHeader&&(f||i||(j&&j.length))){if(!h){h=g.header=Ext.create("Ext.panel.Header",{title:i,orientation:(g.headerPosition=="left"||g.headerPosition=="right")?"vertical":"horizontal",dock:g.headerPosition||"top",textCls:g.headerTextCls,iconCls:g.iconCls,baseCls:g.baseCls+"-header",tools:j,ui:g.ui,indicateDrag:g.draggable,border:g.border,frame:g.frame&&g.frameHeader,ignoreParentFrame:g.frame||g.overlapHeader,ignoreBorderManagement:g.frame||g.ignoreHeaderBorderManagement,listeners:g.collapsible&&g.titleCollapse?{click:g.toggleCollapse,scope:g}:null});g.addDocked(h,0);g.tools=h.tools}h.show();g.initHeaderAria()}else{if(h){h.hide()}}},setUI:function(c){var d=this;d.callParent(arguments);if(d.header){d.header.setUI(c)}},getContentTarget:function(){return this.body},getTargetEl:function(){return this.body||this.frameBody||this.el},isVisible:function(d){var c=this;if(c.collapsed&&c.placeholder){return c.placeholder.isVisible(d)}return c.callParent(arguments)},onHide:function(){var b=this;if(b.collapsed&&b.placeholder){b.placeholder.hide()}else{b.callParent(arguments)}},onShow:function(){var b=this;if(b.collapsed&&b.placeholder){b.hidden=true;b.placeholder.show()}else{b.callParent(arguments)}},addTool:function(e){var d=this,f=d.header;if(Ext.isArray(e)){Ext.each(e,d.addTool,d);return}d.tools.push(e);if(f){f.addTool(e)}d.updateHeader()},getOppositeDirection:function(d){var c=Ext.Component;switch(d){case c.DIRECTION_TOP:return c.DIRECTION_BOTTOM;case c.DIRECTION_RIGHT:return c.DIRECTION_LEFT;case c.DIRECTION_BOTTOM:return c.DIRECTION_TOP;case c.DIRECTION_LEFT:return c.DIRECTION_RIGHT}},collapse:function(w,J,H){var i=this,x=Ext.Component,G=i.getHeight(),F=i.getWidth(),c,N=0,A=i.dockedItems.items,z=A.length,B=0,y,I,C={from:{height:G,width:F},to:{height:G,width:F},listeners:{afteranimate:i.afterCollapse,scope:i},duration:Ext.Number.from(J,Ext.fx.Anim.prototype.duration)},K,L,E,M,D;if(!w){w=i.collapseDirection}if(H){J=false}else{if(i.collapsed||i.fireEvent("beforecollapse",i,w,J)===false){return false}}E=w;i.expandDirection=i.getOppositeDirection(w);i.hiddenDocked=[];switch(w){case x.DIRECTION_TOP:case x.DIRECTION_BOTTOM:L="horizontal";D="height";M="getHeight";for(;B<z;B++){y=A[B];if(y.isVisible()){if(y.isXType("header",true)&&(!y.dock||y.dock=="top"||y.dock=="bottom")){K=y}else{i.hiddenDocked.push(y)}}else{if(y===i.reExpander){K=y}}}if(w==Ext.Component.DIRECTION_BOTTOM){I=i.getPosition()[1]-Ext.fly(i.el.dom.offsetParent).getRegion().top;C.from.top=I}break;case x.DIRECTION_LEFT:case x.DIRECTION_RIGHT:L="vertical";D="width";M="getWidth";for(;B<z;B++){y=A[B];if(y.isVisible()){if(y.isHeader&&(y.dock=="left"||y.dock=="right")){K=y}else{i.hiddenDocked.push(y)}}else{if(y===i.reExpander){K=y}}}if(w==Ext.Component.DIRECTION_RIGHT){I=i.getPosition()[0]-Ext.fly(i.el.dom.offsetParent).getRegion().left;C.from.left=I}break;default:throw ("Panel collapse must be passed a valid Component collapse direction")}if(J&&i.collapseTool){i.collapseTool.disable()}i.addClsWithUI(i.collapsedCls);if(K&&K.rendered){K.addClsWithUI(i.collapsedCls);K.addClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){K.addClsWithUI(i.collapsedCls+"-border-"+K.dock)}c=K.getFrameInfo();N=K[M]()+(c?c[w]:0);K.removeClsWithUI(i.collapsedCls);K.removeClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){K.removeClsWithUI(i.collapsedCls+"-border-"+K.dock)}}else{K={hideMode:"offsets",temporary:true,title:i.title,orientation:L,dock:E,textCls:i.headerTextCls,iconCls:i.iconCls,baseCls:i.baseCls+"-header",ui:i.ui,frame:i.frame&&i.frameHeader,ignoreParentFrame:i.frame||i.overlapHeader,indicateDrag:i.draggable,cls:i.baseCls+"-collapsed-placeholder "+Ext.baseCSSPrefix+"docked "+i.baseCls+"-"+i.ui+"-collapsed",renderTo:i.el};if(!i.hideCollapseTool){K[(K.orientation=="horizontal")?"tools":"items"]=[{xtype:"tool",type:"expand-"+i.expandDirection,handler:i.toggleCollapse,scope:i}]}K=i.reExpander=Ext.create("Ext.panel.Header",K);N=K[M]()+((K.frame)?K.frameSize[w]:0);K.hide();i.insertDocked(0,K)}i.reExpander=K;i.reExpander.addClsWithUI(i.collapsedCls);i.reExpander.addClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){i.reExpander.addClsWithUI(i.collapsedCls+"-border-"+i.reExpander.dock)}if(w==Ext.Component.DIRECTION_RIGHT){C.to.left=I+(F-N)}else{if(w==Ext.Component.DIRECTION_BOTTOM){C.to.top=I+(G-N)}}C.to[D]=N;if(!i.collapseMemento){i.collapseMemento=new Ext.util.Memento(i)}i.collapseMemento.capture(["width","height","minWidth","minHeight","layoutManagedHeight","layoutManagedWidth"]);i.savedFlex=i.flex;i.minWidth=0;i.minHeight=0;delete i.flex;i.suspendLayout=true;if(J){i.animate(C)}else{i.setSize(C.to.width,C.to.height);if(Ext.isDefined(C.to.left)||Ext.isDefined(C.to.top)){i.setPosition(C.to.left,C.to.top)}i.afterCollapse(false,H)}return i},afterCollapse:function(h,f){var i=this,j=0,g=i.hiddenDocked.length;i.collapseMemento.restore(["minWidth","minHeight"]);if(Ext.Component.VERTICAL_DIRECTION_Re.test(i.expandDirection)){i.layoutManagedHeight=2;i.collapseMemento.restore("width",false)}else{i.layoutManagedWidth=2;i.collapseMemento.restore("height",false)}i.saveScrollTop=i.body.dom.scrollTop;i.body.setStyle("display","none");for(;j<g;j++){i.hiddenDocked[j].hide()}if(i.reExpander){i.reExpander.updateFrame();i.reExpander.show()}i.collapsed=true;i.suspendLayout=false;if(!f){if(i.ownerCt){if(h){i.ownerCt.layout.layout()}}else{if(i.reExpander.temporary){i.doComponentLayout()}}}if(i.resizer){i.resizer.disable()}if(i.collapseTool){i.collapseTool.setType("expand-"+i.expandDirection)}if(!f){i.fireEvent("collapse",i)}if(h&&i.collapseTool){i.collapseTool.enable()}},expand:function(q){var m=this;if(!m.collapsed||m.fireEvent("beforeexpand",m,q)===false){return false}var n=0,p=m.hiddenDocked.length,k=m.expandDirection,i=m.getHeight(),r=m.getWidth(),l,o;if(q&&m.collapseTool){m.collapseTool.disable()}for(;n<p;n++){m.hiddenDocked[n].hidden=false;m.hiddenDocked[n].el.show()}if(m.reExpander){if(m.reExpander.temporary){m.reExpander.hide()}else{m.reExpander.removeClsWithUI(m.collapsedCls);m.reExpander.removeClsWithUI(m.collapsedCls+"-"+m.reExpander.dock);if(m.border&&(!m.frame||(m.frame&&Ext.supports.CSS3BorderRadius))){m.reExpander.removeClsWithUI(m.collapsedCls+"-border-"+m.reExpander.dock)}m.reExpander.updateFrame()}}if(m.collapseTool){m.collapseTool.setType("collapse-"+m.collapseDirection)}m.body.setStyle("display","");m.body.dom.scrollTop=m.saveScrollTop;m.collapsed=false;m.removeClsWithUI(m.collapsedCls);o={to:{},from:{height:i,width:r},listeners:{afteranimate:m.afterExpand,scope:m}};if((k==Ext.Component.DIRECTION_TOP)||(k==Ext.Component.DIRECTION_BOTTOM)){m.collapseMemento.restore("height",false);if(m.height===undefined){m.setCalculatedSize(m.width,null);o.to.height=m.getHeight();m.setCalculatedSize(m.width,o.from.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.height=m.ownerCt.layout.calculateChildBox(m).height;delete m.flex}else{o.to.height=m.height}}if(k==Ext.Component.DIRECTION_TOP){l=m.getPosition()[1]-Ext.fly(m.el.dom.offsetParent).getRegion().top;o.from.top=l;o.to.top=l-(o.to.height-i)}}else{if((k==Ext.Component.DIRECTION_LEFT)||(k==Ext.Component.DIRECTION_RIGHT)){m.collapseMemento.restore("width",false);if(m.width===undefined){m.setCalculatedSize(null,m.height);o.to.width=m.getWidth();m.setCalculatedSize(o.from.width,m.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.width=m.ownerCt.layout.calculateChildBox(m).width;delete m.flex}else{o.to.width=m.width}}if(k==Ext.Component.DIRECTION_LEFT){l=m.getPosition()[0]-Ext.fly(m.el.dom.offsetParent).getRegion().left;o.from.left=l;o.to.left=l-(o.to.width-r)}}}if(q){m.animate(o)}else{m.setCalculatedSize(o.to.width,o.to.height);if(o.to.x){m.setLeft(o.to.x)}if(o.to.y){m.setTop(o.to.y)}m.afterExpand(false)}return m},afterExpand:function(c){var d=this;if(d.savedFlex){d.flex=d.savedFlex;delete d.savedFlex;delete d.width;delete d.height}if(d.collapseMemento){d.collapseMemento.restoreAll()}if(c&&d.ownerCt){Ext.defer(d.ownerCt.doLayout,Ext.isIE6?1:0,d)}if(d.resizer){d.resizer.enable()}d.fireEvent("expand",d);if(c&&d.collapseTool){d.collapseTool.enable()}},toggleCollapse:function(){if(this.collapsed){this.expand(this.animCollapse)}else{this.collapse(this.collapseDirection,this.animCollapse)}return this},getKeyMap:function(){if(!this.keyMap){this.keyMap=Ext.create("Ext.util.KeyMap",this.el,this.keys)}return this.keyMap},initDraggable:function(){this.dd=Ext.create("Ext.panel.DD",this,Ext.isBoolean(this.draggable)?null:this.draggable)},ghostTools:function(){var c=[],d=this.header.query("tool[hidden=false]");if(d.length){Ext.each(d,function(a){c.push({type:a.type})})}else{c=[{type:"placeholder"}]}return c},ghost:function(g){var i=this,f=i.ghostPanel,j=i.getBox(),h;if(!f){f=Ext.create("Ext.panel.Panel",{renderTo:i.floating?i.el.dom.parentNode:document.body,floating:{shadow:false},frame:Ext.supports.CSS3BorderRadius?i.frame:false,overlapHeader:i.overlapHeader,headerPosition:i.headerPosition,baseCls:i.baseCls,cls:i.baseCls+"-ghost "+(g||"")});i.ghostPanel=f}f.floatParent=i.floatParent;if(i.floating){f.setZIndex(Ext.Number.from(i.el.getStyle("zIndex"),0))}else{f.toFront()}h=f.header;if(h){h.suspendLayout=true;Ext.Array.forEach(h.query("tool"),function(a){h.remove(a)});h.suspendLayout=false}f.addTool(i.ghostTools());f.setTitle(i.title);f.setIconCls(i.iconCls);f.el.show();f.setPosition(j.x,j.y);f.setSize(j.width,j.height);i.el.hide();if(i.floatingItems){i.floatingItems.hide()}return f},unghost:function(d,e){var f=this;if(!f.ghostPanel){return}if(d!==false){f.el.show();if(e!==false){f.setPosition(f.ghostPanel.getPosition())}if(f.floatingItems){f.floatingItems.show()}Ext.defer(f.focus,10,f)}f.ghostPanel.el.hide()},initResizable:function(b){if(this.collapsed){b.disabled=true}this.callParent([b])}},function(){this.prototype.animCollapse=Ext.enableFx});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:"x-tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:true,initComponent:function(){var f=this,d=f.dockedItems||[],e=f.activeTab||0;f.layout=Ext.create("Ext.layout.container.Card",Ext.apply({owner:f,deferredRender:f.deferredRender,itemCls:f.itemCls},f.layout));f.tabBar=Ext.create("Ext.tab.Bar",Ext.apply({},f.tabBar,{dock:f.tabPosition,plain:f.plain,border:f.border,cardLayout:f.layout,tabPanel:f}));if(d&&!Ext.isArray(d)){d=[d]}d.push(f.tabBar);f.dockedItems=d;f.addEvents("beforetabchange","tabchange");f.callParent(arguments);f.setActiveTab(e);f.on("afterlayout",f.afterInitialLayout,f,{single:true})},afterInitialLayout:function(){var c=this,d=c.getComponent(c.activeTab);if(d){c.layout.setActiveItem(d)}},setActiveTab:function(e){var f=this,d;e=f.getComponent(e);if(e){d=f.getActiveTab();if(d&&d!==e&&f.fireEvent("beforetabchange",f,e,d)===false){return false}f.tabBar.setActiveTab(e.tab);f.activeTab=e;if(f.rendered){f.layout.setActiveItem(e)}if(d&&d!==e){f.fireEvent("tabchange",f,e,d)}}},getActiveTab:function(){return this.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(h,j){var i=this,f=h.tabConfig||{},g={xtype:"tab",card:h,disabled:h.disabled,closable:h.closable,hidden:h.hidden,tabBar:i.tabBar};if(h.closeText){g.closeText=h.closeText}f=Ext.applyIf(f,g);h.tab=i.tabBar.insert(j,f);h.on({scope:i,enable:i.onItemEnable,disable:i.onItemDisable,beforeshow:i.onItemBeforeShow,iconchange:i.onItemIconChange,titlechange:i.onItemTitleChange});if(h.isPanel){if(i.removePanelHeader){h.preventHeader=true;if(h.rendered){h.updateHeader()}}if(h.isPanel&&i.border){h.setBorder(false)}}if(this.rendered&&i.items.getCount()===1){i.setActiveTab(0)}},onItemEnable:function(b){b.tab.enable()},onItemDisable:function(b){b.tab.disable()},onItemBeforeShow:function(b){if(b!==this.activeTab){this.setActiveTab(b);return false}},onItemIconChange:function(c,d){c.tab.setIconCls(d);this.getTabBar().doLayout()},onItemTitleChange:function(d,c){d.tab.setText(c);this.getTabBar().doLayout()},doRemove:function(i,f){var j=this,g=j.items,h=g.getCount()>1;if(j.destroying||!h){j.activeTab=null}else{if(i===j.activeTab){j.setActiveTab(i.next()||g.getAt(0))}}j.callParent(arguments);delete i.tab.card;delete i.tab},onRemove:function(f,e){var d=this;f.un({scope:d,enable:d.onItemEnable,disable:d.onItemDisable,beforeshow:d.onItemBeforeShow});if(!d.destroying&&f.tab.ownerCt==d.tabBar){d.tabBar.remove(f.tab)}}});Ext.define("Docs.view.examples.TouchContainer",{extend:"Ext.panel.Panel",alias:"widget.touchexamplecontainer",requires:["Docs.view.examples.Device"],layout:"fit",cls:"example-container iScroll",autoScroll:true,bodyPadding:"10 0 5 0",initComponent:function(){this.dockedItems=[{xtype:"container",dock:"top",html:['<h1 class="example-title">Example</h1>','<div class="cls-grouping example-toolbar">','<div class="devices">','<button class="phone selected">Phone</button>','<button class="tablet">Tablet</button>',"</div>",'<span class="separator">&nbsp;</span>','<div class="orientations">','<button class="landscape selected">Landscape</button>','<button class="portrait">Portrait</button>',"<div>",'<span class="separator">&nbsp;</span>',"<div>",'<button class="new-window">Open in new window</button>',"<div>","</div>"].join("")}];this.callParent(arguments)},load:function(b){this.title=b.title+" Example";this.device=Ext.create("Docs.view.examples.Device",{url:b.url,device:b.device||"phone",orientation:b.orientation||"landscape"});this.refresh()},refresh:function(){this.update(this.device.toHtml());this.updateScale();this.updateTitle();this.updateButtons()},setDevice:function(b){this.device.setDevice(b);this.refresh()},setOrientation:function(b){this.device.setOrientation(b);this.refresh()},updateScale:function(){var b=Ext.query("iframe",this.el.dom)[0];if(b){b.onload=Ext.Function.bind(function(){var d=document.createElement("style");var a="html { overflow: hidden }";if(this.device.getDevice()==="tablet"){a+="body { font-size: 79.8% !important; }"}d.innerHTML=a;b.contentWindow.document.body.appendChild(d)},this)}},updateTitle:function(){Ext.get(Ext.query(".example-title")).update(this.title)},updateButtons:function(){Ext.Array.each(Ext.query(".example-toolbar .orientations button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .orientations button."+this.device.getOrientation())).addCls("selected");Ext.Array.each(Ext.query(".example-toolbar .devices button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .devices button."+this.device.getDevice())).addCls("selected")},clear:function(){this.update("")}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:120,initComponent:function(){var e=this,g=Ext.baseCSSPrefix,f=[g+"menu"],h=e.bodyCls?[e.bodyCls]:[];e.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(e);if(e.plain){f.push(g+"menu-plain")}e.cls=f.join(" ");h.unshift(g+"menu-body");e.bodyCls=h.join(" ");e.layout={type:"vbox",align:"stretchmax",autoSize:true,clearInnerCtOnLayout:true,overflowHandler:"Scroller"};if(e.floating===false&&e.initialConfig.hidden!==true){e.hidden=false}e.callParent(arguments);e.on("beforeshow",function(){var a=!!e.items.length;if(a&&e.rendered){e.el.setStyle("visibility",null)}return a})},afterRender:function(f){var e=this,g=Ext.baseCSSPrefix,h="&#160;";e.callParent(arguments);if(e.showSeparator){e.iconSepEl=e.layout.getRenderTarget().insertFirst({cls:g+"menu-icon-separator",html:h})}e.focusEl=e.el.createChild({cls:g+"menu-focus",tabIndex:"-1",html:h});e.mon(e.el,{click:e.onClick,mouseover:e.onMouseOver,scope:e});e.mouseMonitor=e.el.monitorMouseLeave(100,e.onMouseLeave,e);if(e.showSeparator&&((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)){e.iconSepEl.setHeight(e.el.getHeight())}e.keyNav=Ext.create("Ext.menu.KeyNav",e)},afterLayout:function(){var i=this;i.callParent(arguments);if((!Ext.isStrict&&Ext.isIE)||Ext.isIE6){var r=i.layout.getRenderTarget(),p=0,q=i.dockedItems,o=q.length,m=0,l,k,n;p=r.getWidth();n=p+i.body.getBorderWidth("lr")+i.body.getPadding("lr");i.body.setWidth(n);for(;m<o,l=q.getAt(m);m++){if(l.dock=="left"||l.dock=="right"){n+=l.getWidth()}}i.el.setWidth(n)}},getBubbleTarget:function(){return this.parentMenu||this.callParent()},canActivateItem:function(b){return b&&!b.isDisabled()&&b.isVisible()&&(b.canActivate||b.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(){var b=this;if(b.activeItem){b.activeItem.deactivate();if(!b.activeItem.activated){delete b.activeItem}}if(b.focusedItem&&!b.filtered){b.focusedItem.blur();if(!b.focusedItem.$focused){delete b.focusedItem}}},clearStretch:function(){if(this.rendered){this.items.each(function(b){if(b.componentLayout){delete b.componentLayout.lastComponentSize}if(b.el){b.el.setWidth(null)}})}},onAdd:function(){var b=this;b.clearStretch();b.callParent(arguments);if(Ext.isIE6||Ext.isIE7){Ext.Function.defer(b.doComponentLayout,10,b)}},onRemove:function(){this.clearStretch();this.callParent(arguments)},redoComponentLayout:function(){if(this.rendered){this.clearStretch();this.doComponentLayout()}},getFocusEl:function(){return this.focusEl},hide:function(){this.deactivateActiveItem();this.callParent(arguments)},getItemFromEvent:function(b){return this.getChildByElement(b.getTarget())},lookupComponent:function(c){var d=this;if(Ext.isString(c)){c=d.lookupItemFromString(c)}else{if(Ext.isObject(c)){c=d.lookupItemFromObject(c)}}c.minWidth=c.minWidth||d.minWidth;return c},lookupItemFromObject:function(j){var f=this,i=Ext.baseCSSPrefix,g,h;if(!j.isComponent){if(!j.xtype){j=Ext.create("Ext.menu."+(Ext.isBoolean(j.checked)?"Check":"")+"Item",j)}else{j=Ext.ComponentManager.create(j,j.xtype)}}if(j.isMenuItem){j.parentMenu=f}if(!j.isMenuItem&&!j.dock){g=[i+"menu-item",i+"menu-item-cmp"];h=Ext.Function.createInterceptor;j.focus=h(j.focus,function(){this.$focused=true},j);j.blur=h(j.blur,function(){this.$focused=false},j);if(!f.plain&&(j.indent===true||j.iconCls==="no-icon")){g.push(i+"menu-item-indent")}if(j.rendered){j.el.addCls(g)}else{j.cls=(j.cls?j.cls:"")+" "+g.join(" ")}j.isMenuItem=true}return j},lookupItemFromString:function(b){return(b=="separator"||b=="-")?Ext.createWidget("menuseparator"):Ext.createWidget("menuitem",{canActivate:false,hideOnClick:false,plain:true,text:b})},onClick:function(f){var d=this,e;if(d.disabled){f.stopEvent();return}if((f.getTarget()==d.focusEl.dom)||f.within(d.layout.getRenderTarget())){e=d.getItemFromEvent(f)||d.activeItem;if(e){if(e.getXTypes().indexOf("menuitem")>=0){if(!e.menu||!d.ignoreParentClicks){e.onClick(f)}else{f.stopEvent()}}}d.fireEvent("click",d,e,f)}},onDestroy:function(){var b=this;Ext.menu.Manager.unregister(b);if(b.rendered){b.el.un(b.mouseMonitor);b.keyNav.destroy();delete b.keyNav}b.callParent(arguments)},onMouseLeave:function(c){var d=this;d.deactivateActiveItem();if(d.disabled){return}d.fireEvent("mouseleave",d,c)},onMouseOver:function(i){var j=this,h=i.getRelatedTarget(),g=!j.el.contains(h),e=j.getItemFromEvent(i);if(g&&j.parentMenu){j.parentMenu.setActiveItem(j.parentItem);j.parentMenu.mouseMonitor.mouseenter()}if(j.disabled){return}if(e){j.setActiveItem(e);if(e.activated&&e.expandMenu){e.expandMenu()}}if(g){j.fireEvent("mouseenter",j,i)}j.fireEvent("mouseover",j,e,i)},setActiveItem:function(c){var d=this;if(c&&(c!=d.activeItem&&c!=d.focusedItem)){d.deactivateActiveItem();if(d.canActivateItem(c)){if(c.activate){c.activate();if(c.activated){d.activeItem=c;d.focusedItem=c;d.focus()}}else{c.focus();d.focusedItem=c}}c.el.scrollIntoView(d.layout.getRenderTarget())}},showBy:function(g,i,j){var h=this,k,l;if(h.floating&&g){h.layout.autoSize=true;h.doAutoRender();delete h.needsLayout;g=g.el||g;k=h.el.getAlignToXY(g,i||h.defaultAlign,j);if(h.floatParent){l=h.floatParent.getTargetEl().getViewRegion();k[0]-=l.x;k[1]-=l.y}h.showAt(k)}return h},doConstrain:function(){var o=this,n=o.el.getY(),m,p,s,l=n,k,q,t,r;delete o.height;o.setSize();p=o.getHeight();if(o.floating){q=Ext.fly(o.el.getScopeParent());t=q.getScroll().top;r=q.getViewSize().height;k=n-t;m=o.maxHeight?o.maxHeight:r-k;if(p>r){m=r;l=n-k}else{if(m<p){l=n-(p-m);m=p}}}else{m=o.getHeight()}if(o.maxHeight){m=Math.min(o.maxHeight,m)}if(p>m&&m>0){o.layout.autoSize=false;o.setHeight(m);if(o.showSeparator){o.iconSepEl.setHeight(o.layout.getRenderTarget().dom.scrollHeight)}}s=o.getConstrainVector(o.el.getScopeParent());if(s){o.setPosition(o.getPosition()[0]+s[0])}o.el.setY(l)}});Ext.define("Docs.view.TabMenu",{extend:"Ext.menu.Menu",plain:true,componentCls:"tab-menu",initComponent:function(){this.addEvents("tabItemClick","closeAllTabs");this.items=[{text:"Close all tabs",iconCls:"close",cls:"close-all",handler:function(){this.fireEvent("closeAllTabs")},scope:this}];this.callParent()},addTab:function(c,d){this.insert(this.items.length-1,{text:c.text,iconCls:c.iconCls,origIcon:c.iconCls,href:c.href,cls:d,handler:this.onTabItemClick,scope:this})},onTabItemClick:function(b){this.fireEvent("tabItemClick",b)},addTabCls:function(c,d){this.items.each(function(a){if(a.href===c.href){a.addCls(d)}})}});Ext.define("Docs.view.Tabs",{extend:"Ext.container.Container",alias:"widget.doctabs",id:"doctabs",componentCls:"doctabs",requires:["Docs.History","Docs.view.TabMenu"],minTabWidth:80,maxTabWidth:160,animDuration:150,tabs:[],tabsInBar:[],tabCache:{},staticTabs:[],initComponent:function(){this.addEvents("tabActivate","tabClose");this.tpl=Ext.create("Ext.XTemplate",'<tpl for=".">','<div class="doctab overview {cls}{active}">','<div class="l"></div>','<div class="m"><a class="tabUrl" href="{href}">&nbsp;</a></div>','<div class="r"></div>',"</div>","</tpl>",'<div style="float: left; width: 8px">&nbsp;</div>','<div class="tab-overflow"></div>');this.html=this.tpl.applyTemplate(this.staticTabs);this.tabTpl=Ext.create("Ext.XTemplate",'<div class="doctab','{[values.active ? (" active") : ""]}','" style="','{[values.width ? ("width: " + values.width + "px;") : ""]}','{[values.visible ? "" : "visibility: hidden;"]}">','<div class="l"></div>','<div class="m">','<span class="icn {iconCls}">&nbsp;</span>','<a class="tabUrl" href="{href}">{text}</a>',"</div>",'<div class="r"><a class="close" href="#">&nbsp;</a></div>',"</div>");this.on("afterrender",this.initListeners,this);this.on("resize",this.refresh,this);this.callParent()},initListeners:function(){this.el.on("mouseover",function(c,d){Ext.get(d).addCls("ovr")},this,{delegate:".close"});this.el.on("mouseout",function(c,d){Ext.get(d).removeCls("ovr")},this,{delegate:".close"});this.el.on("click",function(f,d){this.justClosed=true;var e=Ext.get(d).up(".doctab").down(".tabUrl").getAttribute("href");e=Docs.History.cleanUrl(e);this.removeTab(e);this.fireEvent("tabClose",e)},this,{delegate:".close",preventDefault:true});this.el.on("click",function(f,d){if(this.justClosed){this.justClosed=false;return}var e=Ext.get(d).down(".tabUrl").getAttribute("href");this.fireEvent("tabActivate",e,{navigate:true})},this,{delegate:".doctab"});this.el.on("contextmenu",function(c,d){if(!Ext.get(d).hasCls("overview")){this.createMenu().showBy(d)}},this,{delegate:".doctab",preventDefault:true});this.el.on("click",Ext.emptyFn,this,{delegate:".tabUrl",preventDefault:true});this.el.on("mouseleave",function(){if(this.shouldResize){this.resizeTabs({animate:true})}},this);this.createOverflowButton()},setStaticTabs:function(b){this.staticTabs=b;this.refresh()},getStaticTabs:function(b){return this.staticTabs},addTab:function(d,c){this.tabCache[d.href]=d;if(!this.hasTab(d.href)){this.tabs.push(d.href);if(this.roomForNewTab()){this.addTabToBar(d,c)}this.addTabToMenu(this.overflowButton.menu,d)}if(c.activate){this.activateTab(d.href)}this.saveTabs()},removeTab:function(c){if(!this.hasTab(c)){return}var d=Ext.Array.indexOf(this.tabs,c);if(d!==false){Ext.Array.erase(this.tabs,d,1)}var d=Ext.Array.indexOf(this.tabsInBar,c);if(d!==false){Ext.Array.erase(this.tabsInBar,d,1)}if(this.tabs[this.tabsInBar.length]){this.tabsInBar.push(this.tabs[this.tabsInBar.length])}if(this.activeTab&&this.activeTab===c){if(this.tabs.length===0){Docs.App.getController(this.getControllerName(c)).loadIndex()}else{if(d===this.tabs.length){d-=1}this.activateTab(this.tabs[d]);this.fireEvent("tabActivate",this.tabs[d])}}if(this.tabs.length>=this.maxTabsInBar()){this.refresh()}else{this.removeTabFromBar(c)}this.saveTabs()},activateTab:function(d){this.activeTab=d;if(!this.inTabs(d)){this.swapLastTabWith(d)}Ext.Array.each(Ext.query(".doctab a[class=tabUrl]"),function(a){Ext.get(a).up(".doctab").removeCls(["active","highlight"])});var e=Ext.query('.doctab a[href="'+d+'"]')[0];if(e){var f=Ext.get(e).up(".doctab");f.addCls("active")}this.highlightOverviewTab(d)},refresh:function(){var i=this.tpl.applyTemplate(this.staticTabs);var f=this.maxTabsInBar()<this.tabs.length?this.maxTabsInBar():this.tabs.length;this.tabsInBar=this.tabs.slice(0,f);for(var j=0;j<f;j++){var h=this.tabCache[this.tabs[j]];var g=Ext.apply(h,{visible:true,active:this.activeTab===h.href,width:this.tabWidth()});i+=this.tabTpl.applyTemplate(g)}this.el.dom.innerHTML=i;if(this.activeTab&&this.activeTab!==this.tabs[f-1]){this.activateTab(this.activeTab);this.fireEvent("tabActivate",this.activeTab)}this.highlightOverviewTab(this.activeTab);this.createOverflowButton();this.addToolTips()},closeAllTabs:function(){if(this.inTabBar(this.activeTab)){this.tabs=this.tabsInBar=[this.activeTab]}else{this.tabs=this.tabsInBar=[]}this.refresh();this.saveTabs()},tabData:function(){return Ext.Array.map(this.tabs,function(b){return this.tabCache[b]},this)},roomForNewTab:function(){return this.tabsInBar.length<this.maxTabsInBar()},hasTab:function(b){return Ext.Array.contains(this.tabs,b)},addTabToBar:function(e,d){this.tabsInBar.push(e.href);var f=Ext.get(this.tabTpl.append(this.el.dom,e));if(d.animate&&!Ext.isIE){f.setStyle("width","10px");f.setStyle({visibility:"visible"});f.animate({to:{width:this.tabWidth()}})}else{f.setStyle({visibility:"visible"})}this.resizeTabs(d)},inTabBar:function(b){return Ext.Array.contains(this.tabsInBar,b)},inTabs:function(d){var c=Ext.Array.pluck(this.staticTabs,"href").concat(this.tabsInBar);return Ext.Array.contains(c,d)},removeTabFromBar:function(d){var c=this.getTabEl(d);c.dom.removed=true;if(Ext.isIE){c.remove();this.createOverflowButton()}else{c.animate({to:{top:30},duration:this.animDuration}).animate({to:{width:10},duration:this.animDuration,listeners:{afteranimate:function(){c.remove();this.shouldResize=true;this.createOverflowButton()},scope:this}})}},swapLastTabWith:function(d){var e=this.getTabEl(this.tabsInBar[this.tabsInBar.length-1]);if(e){var f=this.tabTpl.append(document.body,this.tabCache[d]);e.dom.parentNode.replaceChild(f,e.dom);this.tabsInBar[this.tabsInBar.length-1]=d;Ext.get(f).setStyle({visibility:"visible",width:String(this.tabWidth())+"px"})}},highlightOverviewTab:function(d){var c=Ext.query(".doctab."+this.getControllerName(d).toLowerCase());if(c&&c[0]){Ext.get(c[0]).addCls("highlight")}},maxTabsInBar:function(){return Math.floor(this.tabBarWidth()/this.minTabWidth)},tabWidth:function(){var b=Math.floor(this.tabBarWidth()/this.tabsInBar.length)+6;if(b>this.maxTabWidth){return this.maxTabWidth}else{if(b<this.minTabWidth){return this.minTabWidth}else{return b}}},tabBarWidth:function(){return this.getWidth()-(this.staticTabs.length*50)-15},resizeTabs:function(b){this.shouldResize=false;Ext.Array.each(Ext.query(".doctab"),function(a){var d=Ext.get(a);if(!d.dom.removed&&!d.hasCls("overview")){if(b&&b.animate&&!Ext.isIE){d.animate({to:{width:this.tabWidth()}})}else{d.setWidth(this.tabWidth())}}},this)},getTabEl:function(c){var d=Ext.query('.doctab a[href="'+c+'"]');if(d&&d[0]){return Ext.get(d[0]).up(".doctab")}},createOverflowButton:function(){if(this.overflowButton){this.overflowButton.destroy()}this.overflowButton=Ext.create("Ext.button.Button",{baseCls:"",renderTo:this.getEl().down(".tab-overflow"),menu:this.createMenu()})},createMenu:function(){var b=new Docs.view.TabMenu({listeners:{closeAllTabs:this.closeAllTabs,tabItemClick:function(a){this.fireEvent("tabActivate",a.href,{navigate:true})},scope:this}});Ext.Array.each(this.tabs,function(a){this.addTabToMenu(b,this.tabCache[a])},this);return b},addTabToMenu:function(g,h){var f=Ext.Array.indexOf(this.tabs,h.href);if(this.tabs.length>this.tabsInBar.length&&f===this.maxTabsInBar()){g.addTabCls(h,"overflow")}var e=this.inTabBar(h.href);g.addTab(h,e?"":"overflow")},addToolTips:function(){Ext.Array.each(this.staticTabs,function(c){var d=Ext.get(Ext.query(".doctab."+c.cls)[0]);if(d){Ext.create("Ext.tip.ToolTip",{target:d,html:c.tooltip})}})},saveTabs:function(){Docs.Settings.set("tabs",this.tabs)},getControllerName:function(b){if(/#!?\/api/.test(b)){return"Classes"}else{if(/#!?\/guide/.test(b)){return"Guides"}else{if(/#!?\/video/.test(b)){return"Videos"}else{if(/#!?\/example/.test(b)){return"Examples"}else{if(/#!?\/stats/.test(b)){return"Stats"}else{if(/#!?\/comment/.test(b)){return"Comments"}else{return"Index"}}}}}}}});Ext.define("Docs.view.cls.Toolbar",{extend:"Ext.toolbar.Toolbar",requires:["Docs.view.HoverMenuButton","Docs.Settings","Ext.form.field.Checkbox"],dock:"top",cls:"member-links",padding:"3 5",style:"border-width: 1px 1px 1px 1px !important;",docClass:{},accessors:{},initComponent:function(){this.addEvents("menubuttonclick","filter","toggleExpanded");this.items=[];this.memberButtons={};var h={cfg:"Configs",property:"Properties",method:"Methods",event:"Events",css_var:"CSS Vars",css_mixin:"CSS Mixins"};for(var i in h){var f=this.docClass.members[i].concat(this.docClass.statics[i]);f.sort(function(a,b){if(a.name==="constructor"&&a.tagname==="method"){return -1}return a.name<b.name?-1:(a.name>b.name?1:0)});if(f.length>0){var j=this.createMemberButton({text:h[i],type:i,members:f});this.memberButtons[i]=j;this.items.push(j)}}this.checkItems={"public":this.createCb("Public","public"),"protected":this.createCb("Protected","protected"),"private":this.createCb("Private","private"),inherited:this.createCb("Inherited","inherited"),accessor:this.createCb("Accessor","accessor"),deprecated:this.createCb("Deprecated","deprecated"),removed:this.createCb("Removed","removed")};var g=this;this.items=this.items.concat([{xtype:"tbfill"},this.filterField=Ext.widget("triggerfield",{triggerCls:"reset",cls:"member-filter",hideTrigger:true,emptyText:"Filter class members",enableKeyEvents:true,listeners:{keyup:function(a){this.fireEvent("filter",a.getValue(),this.getShowFlags());a.setHideTrigger(a.getValue().length===0)},specialkey:function(a,b){if(b.keyCode===Ext.EventObject.ESC){a.reset();this.fireEvent("filter","",this.getShowFlags())}},scope:this},onTriggerClick:function(){this.reset();this.focus();g.fireEvent("filter","",g.getShowFlags());this.setHideTrigger(true)}}),{xtype:"tbspacer",width:10},{xtype:"button",text:"Show",menu:[this.checkItems["public"],this.checkItems["protected"],this.checkItems["private"],"-",this.checkItems.inherited,this.checkItems.accessor,this.checkItems.deprecated,this.checkItems.removed]},{xtype:"button",iconCls:"expand-all-members",tooltip:"Expand all",enableToggle:true,toggleHandler:function(b,a){b.setIconCls(a?"collapse-all-members":"expand-all-members");this.fireEvent("toggleExpanded",a)},scope:this}]);this.callParent(arguments)},getShowFlags:function(){var d={};for(var c in this.checkItems){d[c]=this.checkItems[c].checked}return d},createCb:function(c,d){return Ext.widget("menucheckitem",{text:c,checked:Docs.Settings.get("show")[d],listeners:{checkchange:function(){this.fireEvent("filter",this.filterField.getValue(),this.getShowFlags())},scope:this}})},createMemberButton:function(d){var c=Ext.Array.map(d.members,function(a){return this.createLinkRecord(this.docClass.name,a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:d.text,cls:"icon-"+d.type,store:this.createStore(c),showCount:true,listeners:{click:function(){this.fireEvent("menubuttonclick",d.type)},scope:this}})},createStore:function(c){var d=Ext.create("Ext.data.Store",{fields:["id","url","label","inherited","accessor","meta"]});d.add(c);return d},createLinkRecord:function(d,c){return{url:d+"-"+c.id,label:(c.tagname==="method"&&c.name==="constructor")?"new "+d:c.name,inherited:c.owner!==d,accessor:c.tagname==="method"&&this.accessors.hasOwnProperty(c.name),meta:c.meta}},showMenuItems:function(d,e,f){Ext.Array.forEach(["cfg","property","method","event"],function(a){if(this.memberButtons[a]){var b=this.memberButtons[a].getStore();b.filterBy(function(c){return !(!d["public"]&&!(c.get("meta")["private"]||c.get("meta")["protected"])||!d["protected"]&&c.get("meta")["protected"]||!d["private"]&&c.get("meta")["private"]||!d.inherited&&c.get("inherited")||!d.accessor&&c.get("accessor")||!d.deprecated&&c.get("meta")["deprecated"]||!d.removed&&c.get("meta")["removed"]||e&&!f.test(c.get("label")))})}},this)},getFilterValue:function(){return this.filterField.getValue()}});Ext.define("Ext.panel.Table",{extend:"Ext.panel.Panel",alias:"widget.tablepanel",uses:["Ext.selection.RowModel","Ext.grid.Scroller","Ext.grid.header.Container","Ext.grid.Lockable"],extraBaseCls:Ext.baseCSSPrefix+"grid",extraBodyCls:Ext.baseCSSPrefix+"grid-body",layout:"fit",hasView:false,viewType:null,selType:"rowmodel",scrollDelta:40,scroll:true,deferRowRender:true,sortableColumns:true,enableLocking:false,verticalScrollDock:"right",verticalScrollerType:"gridscroller",horizontalScrollerPresentCls:Ext.baseCSSPrefix+"horizontal-scroller-present",verticalScrollerPresentCls:Ext.baseCSSPrefix+"vertical-scroller-present",scrollerOwner:true,invalidateScrollerOnRefresh:true,enableColumnMove:true,enableColumnResize:true,enableColumnHide:true,initComponent:function(){if(!this.viewType){Ext.Error.raise("You must specify a viewType config.")}if(this.headers){Ext.Error.raise("The headers config is not supported. Please specify columns instead.")}var l=this,j=l.scroll,o=false,p=false,k=l.columns||l.colModel,m=0,i,n=l.border;if(l.hideHeaders){n=false}l.store=Ext.data.StoreManager.lookup(l.store||"ext-empty-store");if(k instanceof Ext.grid.header.Container){l.headerCt=k;l.headerCt.border=n;l.columns=l.headerCt.items.items}else{if(Ext.isArray(k)){k={items:k,border:n}}Ext.apply(k,{forceFit:l.forceFit,sortable:l.sortableColumns,enableColumnMove:l.enableColumnMove,enableColumnResize:l.enableColumnResize,enableColumnHide:l.enableColumnHide,border:n});l.columns=k.items;if(l.enableLocking||Ext.ComponentQuery.query("{locked !== undefined}{processed != true}",l.columns).length){l.self.mixin("lockable",Ext.grid.Lockable);l.injectLockable()}}l.addEvents("reconfigure","viewready","scrollerhide","scrollershow");l.bodyCls=l.bodyCls||"";l.bodyCls+=(" "+l.extraBodyCls);l.cls=l.cls||"";l.cls+=(" "+l.extraBaseCls);delete l.autoScroll;if(!l.hasView){if(!l.headerCt){l.headerCt=Ext.create("Ext.grid.header.Container",k)}l.columns=l.headerCt.items.items;if(l.hideHeaders){l.headerCt.height=0;l.headerCt.border=false;l.headerCt.addCls(Ext.baseCSSPrefix+"grid-header-ct-hidden");l.addCls(Ext.baseCSSPrefix+"grid-header-hidden");if(Ext.isIEQuirks){l.headerCt.style={display:"none"}}}if(j===true||j==="both"){o=p=true}else{if(j==="horizontal"){p=true}else{if(j==="vertical"){o=true}else{l.headerCt.availableSpaceOffset=0}}}if(o){l.verticalScroller=Ext.ComponentManager.create(l.initVerticalScroller());l.mon(l.verticalScroller,{bodyscroll:l.onVerticalScroll,scope:l})}if(p){l.horizontalScroller=Ext.ComponentManager.create(l.initHorizontalScroller());l.mon(l.horizontalScroller,{bodyscroll:l.onHorizontalScroll,scope:l})}l.headerCt.on("resize",l.onHeaderResize,l);l.relayHeaderCtEvents(l.headerCt);l.features=l.features||[];if(!Ext.isArray(l.features)){l.features=[l.features]}l.dockedItems=l.dockedItems||[];l.dockedItems.unshift(l.headerCt);l.viewConfig=l.viewConfig||{};l.viewConfig.invalidateScrollerOnRefresh=l.invalidateScrollerOnRefresh;i=l.getView();i.on({afterrender:function(){i.el.scroll=Ext.Function.bind(l.elScroll,l);l.mon(i.el,{mousewheel:l.onMouseWheel,scope:l})},single:true});l.items=[i];l.hasView=true;l.mon(i.store,{load:l.onStoreLoad,scope:l});l.mon(i,{viewReady:l.onViewReady,resize:l.onViewResize,refresh:{fn:l.onViewRefresh,scope:l,buffer:50},scope:l});this.relayEvents(i,["beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","selectionchange","beforeselect","select","beforedeselect","deselect"])}l.callParent(arguments)},onRender:function(){var d=this.verticalScroller,c=this.horizontalScroller;if(d){d.ensureDimension()}if(c){c.ensureDimension()}this.callParent(arguments)},initStateEvents:function(){var b=this.stateEvents;Ext.each(["columnresize","columnmove","columnhide","columnshow","sortchange"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},initHorizontalScroller:function(){var c=this,d={xtype:"gridscroller",dock:"bottom",section:c,store:c.store};return d},initVerticalScroller:function(){var c=this,d=c.verticalScroller||{};Ext.applyIf(d,{xtype:c.verticalScrollerType,dock:c.verticalScrollDock,store:c.store});return d},relayHeaderCtEvents:function(b){this.relayEvents(b,["columnresize","columnmove","columnhide","columnshow","sortchange"])},getState:function(){var e=this,d=e.callParent(),f=e.store.sorters.first();d.columns=(e.headerCt||e).getColumnsState();if(f){d.sort={property:f.property,direction:f.direction}}return d},applyState:function(i){var j=this,h=i.sort,g=j.store,f=i.columns;delete i.columns;j.callParent(arguments);if(f){(j.headerCt||j).applyColumnsState(f)}if(h){if(g.remoteSort){g.sorters.add(Ext.create("Ext.util.Sorter",{property:h.property,direction:h.direction}))}else{g.sort(h.property,h.direction)}}},getStore:function(){return this.store},getView:function(){var d=this,c;if(!d.view){c=d.getSelectionModel();d.view=d.createComponent(Ext.apply({},d.viewConfig,{deferInitialRefresh:d.deferRowRender,xtype:d.viewType,store:d.store,headerCt:d.headerCt,selModel:c,features:d.features,panel:d}));d.mon(d.view,{uievent:d.processEvent,scope:d});c.view=d.view;d.headerCt.view=d.view;d.relayEvents(d.view,["cellclick","celldblclick"])}return d.view},setAutoScroll:Ext.emptyFn,elScroll:function(i,h,f){var j=this,g;if(i==="up"||i==="left"){h=-h}if(i==="down"||i==="up"){g=j.getVerticalScroller();if(g){g.scrollByDeltaY(h)}}else{g=j.getHorizontalScroller();if(g){g.scrollByDeltaX(h)}}},processEvent:function(n,e,j,p,o,l){var m=this,k;if(o!==-1){k=m.headerCt.getGridColumns()[o];return k.processEvent.apply(k,arguments)}},determineScrollbars:function(){if(this.determineScrollbarsRunning){return}this.determineScrollbarsRunning=true;var q=this,p=q.view,u,x,t,o,m,s,r=q.verticalScroller,v=q.horizontalScroller,n=(r&&r.ownerCt===q?1:0)|(v&&v.ownerCt===q?2:0),w=0;if(!q.collapsed&&p&&p.viewReady){u=p.el.getSize();o=u.width+((n&1)?r.width:0);s=u.height+((n&2)?v.height:0);t=(q.headerCt.query("[flex]").length&&!q.headerCt.layout.tooNarrow)?0:q.headerCt.getFullWidth();if(r&&r.el){m=r.getSizeCalculation().height}else{x=p.el.child("table",true);m=x?x.offsetHeight:0}if(m>s){w=1;if(v&&((o-t)<r.width)){w=3}}else{if(t>o){w=2;if(r&&((s-m)<v.height)){w=3}}}if(w!==n){q.suspendLayout=true;if(w&1){q.showVerticalScroller()}else{q.hideVerticalScroller()}if(w&2){q.showHorizontalScroller()}else{q.hideHorizontalScroller()}q.suspendLayout=false;q.doComponentLayout();q.getLayout().layout()}}delete q.determineScrollbarsRunning},onViewResize:function(){this.determineScrollbars()},afterComponentLayout:function(){this.callParent(arguments);this.determineScrollbars();this.invalidateScroller()},onHeaderResize:function(){if(!this.componentLayout.layoutBusy&&this.view&&this.view.rendered){this.determineScrollbars();this.invalidateScroller()}},afterCollapse:function(){var b=this;if(b.verticalScroller){b.verticalScroller.saveScrollPos()}if(b.horizontalScroller){b.horizontalScroller.saveScrollPos()}b.callParent(arguments)},afterExpand:function(){var b=this;b.callParent(arguments);if(b.verticalScroller){b.verticalScroller.restoreScrollPos()}if(b.horizontalScroller){b.horizontalScroller.restoreScrollPos()}},hideHorizontalScroller:function(){var b=this;if(b.horizontalScroller&&b.horizontalScroller.ownerCt===b){b.verticalScroller.setReservedSpace(0);b.removeDocked(b.horizontalScroller,false);b.removeCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollerhide",b.horizontalScroller,"horizontal")}},showHorizontalScroller:function(){var b=this;if(b.verticalScroller){b.verticalScroller.setReservedSpace(Ext.getScrollbarSize().height-1)}if(b.horizontalScroller&&b.horizontalScroller.ownerCt!==b){b.addDocked(b.horizontalScroller);b.addCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollershow",b.horizontalScroller,"horizontal")}},hideVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(false);if(b.verticalScroller&&b.verticalScroller.ownerCt===b){b.removeDocked(b.verticalScroller,false);b.removeCls(b.verticalScrollerPresentCls);b.fireEvent("scrollerhide",b.verticalScroller,"vertical")}},showVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(true);if(b.verticalScroller&&b.verticalScroller.ownerCt!==b){b.addDocked(b.verticalScroller);b.addCls(b.verticalScrollerPresentCls);b.fireEvent("scrollershow",b.verticalScroller,"vertical")}},setHeaderReserveOffset:function(e){var f=this.headerCt,d=f.layout;if(d&&d.reserveOffset!==e){d.reserveOffset=e;if(!this.suspendLayout){f.doLayout()}}},invalidateScroller:function(){var d=this,e=d.verticalScroller,f=d.horizontalScroller;if(e){e.invalidate()}if(f){f.invalidate()}},onHeaderMove:function(h,g,f,e){this.view.refresh()},onHeaderHide:function(d,c){this.invalidateScroller()},onHeaderShow:function(d,c){this.invalidateScroller()},getVerticalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock="+this.verticalScrollDock+"]")},getHorizontalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock=bottom]")},onMouseWheel:function(u){var t=this,x=t.getVerticalScroller(),s=t.getHorizontalScroller(),E=-t.scrollDelta,D=u.getWheelDeltas(),z=E*D.x,A=E*D.y,v,r,F,e,C,y,w,B;if(s){r=s.scrollEl;if(r){e=r.dom;y=e.scrollLeft!==e.scrollWidth-e.clientWidth;C=e.scrollLeft!==0}}if(x){v=x.scrollEl;if(v){F=v.dom;w=F.scrollTop!==F.scrollHeight-F.clientHeight;B=F.scrollTop!==0}}if(s){if((z<0&&C)||(z>0&&y)){u.stopEvent();s.scrollByDeltaX(z)}}if(x){if((A<0&&B)||(A>0&&w)){u.stopEvent();x.scrollByDeltaY(A)}}},onViewReady:function(){var b=this;b.fireEvent("viewready",b);if(b.deferRowRender){b.determineScrollbars();b.invalidateScroller()}},onViewRefresh:function(){var b=this;if(!b.rendering){this.determineScrollbars();if(this.invalidateScrollerOnRefresh){this.invalidateScroller()}}},setScrollTop:function(g){var h=this,e=h.getScrollerOwner(),f=h.getVerticalScroller();e.virtualScrollTop=g;if(f){f.setScrollTop(g)}},getScrollerOwner:function(){var b=this;if(!this.scrollerOwner){b=this.up("[scrollerOwner]")}return b},scrollByDeltaY:function(d){var c=this.getVerticalScroller();if(c){c.scrollByDeltaY(d)}},scrollByDeltaX:function(d){var c=this.getHorizontalScroller();if(c){c.scrollByDeltaX(d)}},getLhsMarker:function(){var b=this;if(!b.lhsMarker){b.lhsMarker=Ext.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.lhsMarker},getRhsMarker:function(){var b=this;if(!b.rhsMarker){b.rhsMarker=Ext.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.rhsMarker},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var c="SINGLE",d;if(this.simpleSelect){c="SIMPLE"}else{if(this.multiSelect){c="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:c});if(!this.selModel.events){d=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+d,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},onVerticalScroll:function(j,i){var g=this.getScrollerOwner(),l=g.query("tableview"),k=0,h=l.length;for(;k<h;k++){l[k].el.dom.scrollTop=i.scrollTop}},onHorizontalScroll:function(i,h){var f=this.getScrollerOwner(),j=f.query("tableview"),g=j[1]||j[0];g.el.dom.scrollLeft=h.scrollLeft;this.headerCt.el.dom.scrollLeft=h.scrollLeft},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(d){var c=this;c.store=d;c.getView().bindStore(d)},beforeDestroy:function(){Ext.destroy(this.horizontalScroller,this.verticalScroller);this.callParent()},reconfigure:function(f,e){var h=this,g=h.headerCt;if(h.lockable){h.reconfigureLockable(f,e)}else{if(e){g.suspendLayout=true;g.removeAll();g.add(e)}if(f){f=Ext.StoreManager.lookup(f);h.bindStore(f)}else{h.getView().refresh()}if(e){g.suspendLayout=false;h.forceComponentLayout()}}h.fireEvent("reconfigure",h)}});Ext.define("Ext.grid.Panel",{extend:"Ext.panel.Table",requires:["Ext.grid.View"],alias:["widget.gridpanel","widget.grid"],alternateClassName:["Ext.list.ListView","Ext.ListView","Ext.grid.GridPanel"],viewType:"gridview",lockable:false,normalCfgCopy:["invalidateScrollerOnRefresh","verticalScroller","verticalScrollDock","verticalScrollerType","scroll"],lockedCfgCopy:["invalidateScrollerOnRefresh"],initComponent:function(){var b=this;if(b.columnLines){b.setColumnLines(b.columnLines)}b.callParent()},setColumnLines:function(e){var d=this,f=(e)?"addClsWithUI":"removeClsWithUI";d[f]("with-col-lines")}});Ext.define("Ext.tree.Panel",{extend:"Ext.panel.Table",alias:"widget.treepanel",alternateClassName:["Ext.tree.TreePanel","Ext.TreePanel"],requires:["Ext.tree.View","Ext.selection.TreeModel","Ext.tree.Column"],viewType:"treeview",selType:"treemodel",treeCls:Ext.baseCSSPrefix+"tree-panel",deferRowRender:false,lines:true,useArrows:false,singleExpand:false,ddConfig:{enableDrag:true,enableDrop:true},rootVisible:true,displayField:"text",root:null,normalCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible","scroll"],lockedCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible"],constructor:function(b){b=b||{};if(b.animate===undefined){b.animate=Ext.enableFx}this.enableAnimations=b.animate;delete b.animate;this.callParent([b])},initComponent:function(){var c=this,d=[c.treeCls];if(c.useArrows){d.push(Ext.baseCSSPrefix+"tree-arrows");c.lines=false}if(c.lines){d.push(Ext.baseCSSPrefix+"tree-lines")}else{if(!c.useArrows){d.push(Ext.baseCSSPrefix+"tree-no-lines")}}if(Ext.isString(c.store)){c.store=Ext.StoreMgr.lookup(c.store)}else{if(!c.store||Ext.isObject(c.store)&&!c.store.isStore){c.store=Ext.create("Ext.data.TreeStore",Ext.apply({},c.store||{},{root:c.root,fields:c.fields,model:c.model,folderSort:c.folderSort}))}else{if(c.root){c.store=Ext.data.StoreManager.lookup(c.store);c.store.setRootNode(c.root);if(c.folderSort!==undefined){c.store.folderSort=c.folderSort;c.store.sort()}}}}c.viewConfig=Ext.applyIf(c.viewConfig||{},{rootVisible:c.rootVisible,animate:c.enableAnimations,singleExpand:c.singleExpand,node:c.store.getRootNode(),hideHeaders:c.hideHeaders});c.mon(c.store,{scope:c,rootchange:c.onRootChange,clear:c.onClear});c.relayEvents(c.store,["beforeload","load"]);c.store.on({append:c.createRelayer("itemappend"),remove:c.createRelayer("itemremove"),move:c.createRelayer("itemmove"),insert:c.createRelayer("iteminsert"),beforeappend:c.createRelayer("beforeitemappend"),beforeremove:c.createRelayer("beforeitemremove"),beforemove:c.createRelayer("beforeitemmove"),beforeinsert:c.createRelayer("beforeiteminsert"),expand:c.createRelayer("itemexpand"),collapse:c.createRelayer("itemcollapse"),beforeexpand:c.createRelayer("beforeitemexpand"),beforecollapse:c.createRelayer("beforeitemcollapse")});if(!c.columns){if(c.initialConfig.hideHeaders===undefined){c.hideHeaders=true}c.columns=[{xtype:"treecolumn",text:"Name",flex:1,dataIndex:c.displayField}]}if(c.cls){d.push(c.cls)}c.cls=d.join(" ");c.callParent();c.relayEvents(c.getView(),["checkchange"]);if(!c.getView().rootVisible&&!c.getRootNode()){c.setRootNode({expanded:true})}},onClear:function(){this.view.onClear()},setRootNode:function(){return this.store.setRootNode.apply(this.store,arguments)},getRootNode:function(){return this.store.getRootNode()},onRootChange:function(b){this.view.setRootNode(b)},getChecked:function(){return this.getView().getChecked()},isItemChecked:function(b){return b.get("checked")},expandAll:function(h,i){var f=this.getRootNode(),j=this.enableAnimations,g=this.getView();if(f){if(!j){g.beginBulkUpdate()}f.expand(true,h,i);if(!j){g.endBulkUpdate()}}},collapseAll:function(h,i){var f=this.getRootNode(),j=this.enableAnimations,g=this.getView();if(f){if(!j){g.beginBulkUpdate()}if(g.rootVisible){f.collapse(true,h,i)}else{f.collapseChildren(true,h,i)}if(!j){g.endBulkUpdate()}}},expandPath:function(l,q,v,p,m){var s=this,t=s.getRootNode(),u=1,r=s.getView(),n,o;q=q||s.getRootNode().idProperty;v=v||"/";if(Ext.isEmpty(l)){Ext.callback(p,m||s,[false,null]);return}n=l.split(v);if(t.get(q)!=n[1]){Ext.callback(p,m||s,[false,t]);return}o=function(){if(++u===n.length){Ext.callback(p,m||s,[true,t]);return}var a=t.findChild(q,n[u]);if(!a){Ext.callback(p,m||s,[false,t]);return}t=a;t.expand(false,o)};t.expand(false,o)},selectPath:function(l,m,n,k,j){var o=this,p,i;m=m||o.getRootNode().idProperty;n=n||"/";p=l.split(n);i=p.pop();o.expandPath(p.join(n),m,n,function(a,b){var c=false;if(a&&b){b=b.findChild(m,i);if(b){o.getSelectionModel().select(b);Ext.callback(k,j||o,[true,b]);c=true}}else{if(b===o.getRootNode()){c=true}}Ext.callback(k,j||o,[c,b])},o)}});Ext.define("Docs.view.DocTree",{extend:"Ext.tree.Panel",alias:"widget.doctree",cls:"doc-tree iScroll",useArrows:true,rootVisible:false,border:false,bodyBorder:false,initComponent:function(){this.addEvents("urlclick");this.root.expanded=true;this.on("itemclick",this.onItemClick,this);this.on("beforeitemcollapse",this.handleBeforeExpandCollapse,this);this.on("beforeitemexpand",this.handleBeforeExpandCollapse,this);this.callParent();this.nodeTpl=new Ext.XTemplate('<a href="{url}" rel="{url}">{text}</a>');this.initNodeLinks()},initNodeLinks:function(){this.getRootNode().cascadeBy(this.applyNodeTpl,this)},applyNodeTpl:function(b){if(b.get("leaf")){b.set("text",this.nodeTpl.apply({text:b.get("text"),url:b.raw.url}));b.commit()}},onItemClick:function(h,j,k,l,i){var e=j.raw?j.raw.url:j.data.url;if(e){this.fireEvent("urlclick",e,i)}else{if(!j.isLeaf()){if(j.isExpanded()){j.collapse(false)}else{j.expand(false)}}}},selectUrl:function(d){var c=this.findNodeByUrl(d);if(c){c.bubble(function(a){a.expand()});this.getSelectionModel().select(c)}else{this.getSelectionModel().deselectAll()}},findNodeByUrl:function(b){return this.getRootNode().findChildBy(function(a){return b===a.raw.url},this,true)},findRecordByUrl:function(d){var c=this.findNodeByUrl(d);return c?c.raw:undefined},handleBeforeExpandCollapse:function(b){if(this.getView().isAnimating(b)){return false}}});Ext.define("Docs.view.cls.Tree",{extend:"Docs.view.DocTree",alias:"widget.classtree",requires:["Docs.view.cls.PackageLogic","Docs.view.cls.InheritanceLogic","Docs.Settings"],initComponent:function(){this.setLogic(Docs.Settings.get("classTreeLogic"),Docs.Settings.get("showPrivateClasses"));this.dockedItems=[{xtype:"container",dock:"bottom",layout:"hbox",items:[{width:34},{xtype:"checkbox",boxLabel:"Show private classes",cls:"cls-private-cb",checked:Docs.Settings.get("showPrivateClasses"),listeners:{change:function(d,c){this.setLogic(Docs.Settings.get("classTreeLogic"),c)},scope:this}}]},{xtype:"container",dock:"bottom",cls:"cls-grouping",html:[this.makeButtonHtml("PackageLogic","By Package"),this.makeButtonHtml("InheritanceLogic","By Inheritance")].join("")}];this.on("afterrender",this.setupButtonClickHandler,this);this.callParent()},makeButtonHtml:function(d,c){return Ext.String.format('<button class="{0} {1}">{2}</button>',d,Docs.Settings.get("classTreeLogic")===d?"selected":"",c)},setupButtonClickHandler:function(){this.el.addListener("click",function(g,h){var f=Ext.get(h),e=Ext.get(Ext.query(".cls-grouping button.selected")[0]);if(e.dom===f.dom){return}e.removeCls("selected");f.addCls("selected");if(f.hasCls("PackageLogic")){this.setLogic("PackageLogic",Docs.Settings.get("showPrivateClasses"))}else{this.setLogic("InheritanceLogic",Docs.Settings.get("showPrivateClasses"))}},this,{delegate:"button"})},setLogic:function(i,f){Docs.Settings.set("classTreeLogic",i);Docs.Settings.set("showPrivateClasses",f);var g=new Docs.view.cls[i]({classes:this.data,showPrivateClasses:f});if(this.root){var h=this.getSelectionModel().getLastSelected();var j=g.create();this.expandLonelyNode(j.root);this.setRootNode(j.root);this.initNodeLinks();h&&this.selectUrl(h.raw.url)}else{var j=g.create();this.root=j.root;this.expandLonelyNode(this.root)}this.privates=j.privates},expandLonelyNode:function(d){var c=Ext.Array.filter(d.children,function(a){return a.children.length>0});if(c.length==1){c[0].expanded=true}},findRecordByUrl:function(b){return this.callParent([b])||this.findPrivateRecordByUrl(b)},findPrivateRecordByUrl:function(e){var f=this.privates;for(var d=0;d<f.length;d++){if(f[d].url===e){return f[d]}}return undefined}});Ext.define("Docs.view.GroupTree",{extend:"Docs.view.DocTree",alias:"widget.grouptree",initComponent:function(){this.root={children:[],text:"Root"};Ext.Array.each(this.data,function(b){this.root.children.push({text:b.title,expanded:true,children:Ext.Array.map(b.items,this.convert),iconCls:"icon-pkg"})},this);this.callParent()}});Ext.define("Docs.view.TreeContainer",{extend:"Ext.panel.Panel",alias:"widget.treecontainer",requires:["Docs.view.cls.Tree","Docs.view.GroupTree"],cls:"iScroll",layout:"card",resizable:true,resizeHandles:"e",collapsible:true,hideCollapseTool:true,animCollapse:true,initComponent:function(){this.items=[{},{xtype:"classtree",id:"classtree",data:Docs.data.classes},{xtype:"grouptree",id:"exampletree",data:Docs.data.examples,convert:function(b){return{leaf:true,text:b.title,url:"#!/example/"+b.name,iconCls:"icon-example"}}},{xtype:"grouptree",id:"guidetree",data:Docs.data.guides,convert:function(b){return{leaf:true,text:b.title,url:"#!/guide/"+b.name,iconCls:"icon-guide"}}},{xtype:"grouptree",id:"videotree",data:Docs.data.videos,convert:function(b){return{leaf:true,text:b.title,url:"#!/video/"+b.name,iconCls:"icon-video"}}}];this.callParent()},showTree:function(b){this.show();this.layout.setActiveItem(b)}});Ext.define("Docs.view.examples.InlineEditor",{extend:"Ext.Panel",bodyPadding:2,autoScroll:true,componentCls:"inline-example-editor",initComponent:function(){this.addEvents("change");this.on("afterlayout",this.initCodeMirror,this);this.callParent(arguments)},initCodeMirror:function(b){if(!this.codemirror){this.codemirror=CodeMirror(this.body,{mode:"javascript",indentUnit:4,value:this.value,onChange:Ext.Function.bind(function(a){this.fireEvent("change")},this)})}},refresh:function(){this.codemirror.refresh()},getValue:function(){return this.codemirror?this.codemirror.getValue():this.value},getHeight:function(){var b=this.el.down(".CodeMirror-lines");return b?b.getHeight():undefined},selectAll:function(){var d=this.codemirror.lineCount()-1;var c=this.codemirror.getLine(d).length;this.codemirror.setSelection({line:0,ch:0},{line:d,ch:c})}});Ext.define("Docs.view.examples.InlinePreview",{extend:"Ext.Panel",requires:["Docs.view.examples.Device"],bodyPadding:"0 10",statics:{iframeId:0},options:{},initComponent:function(){this.html=this.getHtml();this.callParent(arguments)},getHtml:function(){if(Docs.data.touchExamplesUi){return Ext.create("Docs.view.examples.Device",{url:"eg-iframe.html",id:this.getIframeId(),device:this.options.device,orientation:this.options.orientation}).toHtml()}else{var b=new Ext.XTemplate('<iframe id="{id}" style="width: 100%; height: 100%; border: 0"></iframe>');return b.apply({id:this.getIframeId()})}},update:function(f){var e=this.options;var d=document.getElementById(this.getIframeId());if(d){d.onload=function(){Ext.Function.defer(function(){d.contentWindow.loadInlineExample(f,e)},100)};d.src="eg-iframe.html"}},getIframeId:function(){if(!this.iframeId){this.statics().iframeId+=1;this.iframeId="eg-iframe"+this.statics().iframeId}return this.iframeId},getHeight:function(){return document.getElementById(this.getIframeId()).parentNode.clientHeight}});Ext.define("Docs.view.examples.Inline",{extend:"Ext.Panel",alias:"widget.inlineexample",requires:["Docs.view.examples.InlineEditor","Docs.view.examples.InlinePreview"],componentCls:"inline-example-cmp",layout:"card",border:0,resizable:{transparent:true,handles:"s",constrainTo:false},maxCodeHeight:400,options:{},initComponent:function(){this.options=Ext.apply({device:"phone",orientation:"landscape"},this.options);this.items=[this.editor=Ext.create("Docs.view.examples.InlineEditor",{cmpName:"code",value:this.value,listeners:{change:this.updateHeight,scope:this}}),this.preview=Ext.create("Docs.view.examples.InlinePreview",{cmpName:"preview",options:this.options})];if(this.options.preview){this.activeItem=1;this.toolbar.activateButton("preview")}else{this.activeItem=0;this.toolbar.activateButton("code")}this.on("afterrender",this.init,this);this.callParent(arguments)},init:function(){var b=this.layout.getActiveItem();if(b.cmpName==="preview"){this.showPreview()}this.updateHeight();this.initToolbarEvents()},initToolbarEvents:function(){this.toolbar.on("buttonclick",function(b){if(b==="code"){this.showCode()}else{if(b==="preview"){this.showPreview()}else{if(b==="copy"){this.showCode();this.editor.selectAll()}}}},this)},showCode:function(){this.layout.setActiveItem(0);this.updateHeight();this.toolbar.activateButton("code");this.editor.refresh();this.editor.refresh()},showPreview:function(){this.preview.update(this.editor.getValue());this.layout.setActiveItem(1);this.updateHeight();this.toolbar.activateButton("preview")},updateHeight:function(){var d=this.preview.getHeight();var e=this.editor.getHeight();var f=30;if(Docs.data.touchExamplesUi&&d>0){this.setHeight(d+f)}else{if(e>0){this.setHeight(Ext.Number.constrain(e+f,0,this.maxCodeHeight))}}}});Ext.define("Docs.view.cls.Overview",{extend:"Ext.panel.Panel",alias:"widget.classoverview",requires:["Docs.view.cls.Toolbar","Docs.view.examples.Inline","Docs.Syntax","Docs.Settings"],cls:"class-overview iScroll",autoScroll:true,border:false,bodyPadding:"20 8 20 5",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(k,j){var m=(typeof k=="string")?Ext.get(Ext.query(k)[0]):k;if(m){var l=m.hasCls("member");m.show();if(l&&m.down(".expandable")){m.addCls("open")}var h=m.getY()-(l?165:155)+(j||0);var n=this.getEl().down(".x-panel-body");var i=n.getScroll()["top"];n.scrollTo("top",i+h);m.highlight()}},load:function(b){this.docClass=b;this.accessors=this.buildAccessorsMap();if(this.toolbar){this.removeDocked(this.toolbar,false);this.toolbar.destroy()}this.toolbar=Ext.create("Docs.view.cls.Toolbar",{docClass:this.docClass,accessors:this.accessors,listeners:{filter:function(d,a){this.filterMembers(d,a)},menubuttonclick:function(a){this.scrollToEl("h3.members-title.icon-"+a,-20)},scope:this}});this.addDocked(this.toolbar);this.update(b.html);Docs.Syntax.highlight(this.getEl());this.filterMembers("",Docs.Settings.get("show"));this.fireEvent("afterload")},filterMembers:function(h,e){Docs.Settings.set("show",e);var f=h.length>0;Ext.Array.forEach(Ext.query(".doc-contents, .hierarchy"),function(a){Ext.get(a).setStyle({display:f?"none":"block"})});var g=new RegExp(Ext.String.escapeRegex(h),"i");this.eachMember(function(c){var b=Ext.get(c.id);var a=!(!e["public"]&&!(c.meta["private"]||c.meta["protected"])||!e["protected"]&&c.meta["protected"]||!e["private"]&&c.meta["private"]||!e.inherited&&(c.owner!==this.docClass.name)||!e.accessor&&c.tagname==="method"&&this.accessors.hasOwnProperty(c.name)||!e.deprecated&&c.meta.deprecated||!e.removed&&c.meta.removed||f&&!g.test(c.name));if(a){b.setStyle({display:"block"})}else{b.setStyle({display:"none"})}},this);Ext.Array.forEach(Ext.query(".member.first-child"),function(a){Ext.get(a).removeCls("first-child")});Ext.Array.forEach(Ext.query(".members-section"),function(b){var a=this.getVisibleElements(".member",b);Ext.get(b).setStyle({display:a.length>0?"block":"none"});Ext.Array.forEach(Ext.query(".subsection",b),function(d){var c=this.getVisibleElements(".member",d);if(c.length>0){c[0].addCls("first-child");Ext.get(d).setStyle({display:"block"})}else{Ext.get(d).setStyle({display:"none"})}},this)},this);this.toolbar.showMenuItems(e,f,g)},buildAccessorsMap:function(c){var d={};Ext.Array.forEach(this.docClass.members.cfg,function(b){var a=Ext.String.capitalize(b.name);d["get"+a]=true;d["set"+a]=true});return d},getVisibleElements:function(e,d){var f=Ext.Array.map(Ext.query(e,d),function(a){return Ext.get(a)});return Ext.Array.filter(f,function(a){return a.isVisible()})},eachMember:function(c,d){Ext.Array.forEach(["members","statics"],function(a){Ext.Object.each(this.docClass[a],function(b,f){Ext.Array.forEach(f,c,d)},this)},this)}});Ext.define("Docs.view.cls.Container",{extend:"Ext.container.Container",alias:"widget.classcontainer",requires:["Docs.view.cls.Header","Docs.view.cls.Overview"],layout:{type:"vbox",align:"stretch"},padding:"5 10 0 10",initComponent:function(){this.items=[Ext.create("Docs.view.cls.Header"),Ext.create("Docs.view.cls.Overview",{flex:1})];this.callParent(arguments)}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(d,f){var e=this.root;if(this.allowSingle&&f.length==1){f=f[0]}if(this.encode){if(e){d.params[e]=Ext.encode(f)}else{Ext.Error.raise("Must specify a root when using encode")}}else{d.jsonData=d.jsonData||{};if(e){d.jsonData[e]=f}else{d.jsonData=f}}return d}});Ext.define("Ext.layout.component.Tip",{alias:["layout.tip"],extend:"Ext.layout.component.Dock",type:"tip",onLayout:function(s,l){var n=this,r=n.owner,q=r.el,t,m,o,p,k=q.getXY();q.setXY([-9999,-9999]);this.callParent(arguments);if(!Ext.isNumber(s)){t=r.minWidth;m=r.maxWidth;if(Ext.isStrict&&(Ext.isIE6||Ext.isIE7)){p=n.doAutoWidth()}else{o=q.getWidth()}if(o<t){p=t}else{if(o>m){p=m}}if(p){this.callParent([p,l])}}q.setXY(k)},doAutoWidth:function(){var g=this,e=g.owner,f=e.body,h=f.getTextWidth();if(e.header){h=Math.max(h,e.header.getWidth())}if(!Ext.isDefined(g.frameWidth)){g.frameWidth=e.el.getWidth()-f.getWidth()}h+=g.frameWidth+f.getPadding("lr");return h}});Ext.define("Ext.tip.Tip",{extend:"Ext.panel.Panel",requires:["Ext.layout.component.Tip"],alternateClassName:"Ext.Tip",minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:true,frame:false,autoRender:true,hidden:true,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:true,shim:true,constrain:true},focusOnToFront:false,componentLayout:"tip",closeAction:"hide",ariaRole:"tooltip",initComponent:function(){var b=this;b.floating=Ext.apply({},{shadow:b.shadow},b.self.prototype.floating);b.callParent(arguments);b.constrain=b.constrain||b.constrainPosition},showAt:function(c){var d=this;this.callParent(arguments);if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}},showBy:function(d,c){this.showAt(this.el.getAlignToXY(d,c||this.defaultAlign))},initDraggable:function(){var b=this;b.draggable={el:b.getDragEl(),delegate:b.header.el,constrain:b,constrainTo:b.el.getScopeParent()};Ext.Component.prototype.initDraggable.call(b)},ghost:undefined,unghost:undefined});Ext.define("Ext.tip.ToolTip",{extend:"Ext.tip.Tip",alias:"widget.tooltip",alternateClassName:"Ext.ToolTip",showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var b=this;b.callParent(arguments);b.lastActive=new Date();b.setTarget(b.target);b.origAnchor=b.anchor},onRender:function(d,e){var f=this;f.callParent(arguments);f.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+f.getAnchorPosition();f.anchorEl=f.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+f.anchorCls})},afterRender:function(){var d=this,c;d.callParent(arguments);c=parseInt(d.el.getZIndex(),10)||0;d.anchorEl.setStyle("z-index",c+1).setVisibilityMode(Ext.Element.DISPLAY)},setTarget:function(g){var e=this,f=Ext.get(g),h;if(e.target){h=Ext.get(e.target);e.mun(h,"mouseover",e.onTargetOver,e);e.mun(h,"mouseout",e.onTargetOut,e);e.mun(h,"mousemove",e.onMouseMove,e)}e.target=f;if(f){e.mon(f,{freezeEvent:true,mouseover:e.onTargetOver,mouseout:e.onTargetOut,mousemove:e.onMouseMove,scope:e})}if(e.anchor){e.anchorTarget=e.target}},onMouseMove:function(g){var e=this,f=e.delegate?g.getTarget(e.delegate):e.triggerElement=true,h;if(f){e.targetXY=g.getXY();if(f===e.triggerElement){if(!e.hidden&&e.trackMouse){h=e.getTargetXY();if(e.constrainPosition){h=e.el.adjustForConstraints(h,e.el.getScopeParent())}e.setPagePosition(h)}}else{e.hide();e.lastActive=new Date(0);e.onTargetOver(g)}}else{if((!e.closable&&e.isVisible())&&e.autoHide!==false){e.hide()}}},getTargetXY:function(){var r=this,w;if(r.delegate){r.anchorTarget=r.triggerElement}if(r.anchor){r.targetCounter++;var x=r.getOffsets(),n=(r.anchorToTarget&&!r.trackMouse)?r.el.getAlignToXY(r.anchorTarget,r.getAnchorAlign()):r.targetXY,z=Ext.Element.getViewWidth()-5,s=Ext.Element.getViewHeight()-5,p=document.documentElement,v=document.body,o=(p.scrollLeft||v.scrollLeft||0)+5,q=(p.scrollTop||v.scrollTop||0)+5,y=[n[0]+x[0],n[1]+x[1]],t=r.getSize(),u=r.constrainPosition;r.anchorEl.removeCls(r.anchorCls);if(r.targetCounter<2&&u){if(y[0]<o){if(r.anchorToTarget){r.defaultAlign="l-r";if(r.mouseOffset){r.mouseOffset[0]*=-1}}r.anchor="left";return r.getTargetXY()}if(y[0]+t.width>z){if(r.anchorToTarget){r.defaultAlign="r-l";if(r.mouseOffset){r.mouseOffset[0]*=-1}}r.anchor="right";return r.getTargetXY()}if(y[1]<q){if(r.anchorToTarget){r.defaultAlign="t-b";if(r.mouseOffset){r.mouseOffset[1]*=-1}}r.anchor="top";return r.getTargetXY()}if(y[1]+t.height>s){if(r.anchorToTarget){r.defaultAlign="b-t";if(r.mouseOffset){r.mouseOffset[1]*=-1}}r.anchor="bottom";return r.getTargetXY()}}r.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+r.getAnchorPosition();r.anchorEl.addCls(r.anchorCls);r.targetCounter=0;return y}else{w=r.getMouseOffset();return(r.targetXY)?[r.targetXY[0]+w[0],r.targetXY[1]+w[1]]:w}},getMouseOffset:function(){var d=this,c=d.anchor?[0,0]:[15,18];if(d.mouseOffset){c[0]+=d.mouseOffset[0];c[1]+=d.mouseOffset[1]}return c},getAnchorPosition:function(){var c=this,d;if(c.anchor){c.tipAnchor=c.anchor.charAt(0)}else{d=c.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!d){Ext.Error.raise('The AnchorTip.defaultAlign value "'+c.defaultAlign+'" is invalid.')}c.tipAnchor=d[1].charAt(0)}switch(c.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var h=this,g,e,f=h.getAnchorPosition().charAt(0);if(h.anchorToTarget&&!h.trackMouse){switch(f){case"t":e=[0,9];break;case"b":e=[0,-13];break;case"r":e=[-13,0];break;default:e=[9,0];break}}else{switch(f){case"t":e=[-15-h.anchorOffset,30];break;case"b":e=[-19-h.anchorOffset,-13-h.el.dom.offsetHeight];break;case"r":e=[-15-h.el.dom.offsetWidth,-13-h.anchorOffset];break;default:e=[25,-13-h.anchorOffset];break}}g=h.getMouseOffset();e[0]+=g[0];e[1]+=g[1];return e},onTargetOver:function(f){var d=this,e;if(d.disabled||f.within(d.target.dom,true)){return}e=f.getTarget(d.delegate);if(e){d.triggerElement=e;d.clearTimer("hide");d.targetXY=f.getXY();d.delayShow()}},delayShow:function(){var b=this;if(b.hidden&&!b.showTimer){if(Ext.Date.getElapsed(b.lastActive)<b.quickShowInterval){b.show()}else{b.showTimer=Ext.defer(b.show,b.showDelay,b)}}else{if(!b.hidden&&b.autoHide!==false){b.show()}}},onTargetOut:function(c){var d=this;if(d.disabled||c.within(d.target.dom,true)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},delayHide:function(){var b=this;if(!b.hidden&&!b.hideTimer){b.hideTimer=Ext.defer(b.hide,b.hideDelay,b)}},hide:function(){var b=this;b.clearTimer("dismiss");b.lastActive=new Date();if(b.anchorEl){b.anchorEl.hide()}b.callParent(arguments);delete b.triggerElement},show:function(){var b=this;this.callParent();if(this.hidden===false){b.setPagePosition(-10000,-10000);if(b.anchor){b.anchor=b.origAnchor}b.showAt(b.getTargetXY());if(b.anchor){b.syncAnchor();b.anchorEl.show()}else{b.anchorEl.hide()}}},showAt:function(c){var d=this;d.lastActive=new Date();d.clearTimers();if(!d.isVisible()){this.callParent(arguments)}if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}if(d.dismissDelay&&d.autoHide!==false){d.dismissTimer=Ext.defer(d.hide,d.dismissDelay,d)}if(d.anchor){d.syncAnchor();if(!d.anchorEl.isVisible()){d.anchorEl.show()}}else{d.anchorEl.hide()}},syncAnchor:function(){var h=this,f,e,g;switch(h.tipAnchor.charAt(0)){case"t":f="b";e="tl";g=[20+h.anchorOffset,1];break;case"r":f="l";e="tr";g=[-1,12+h.anchorOffset];break;case"b":f="t";e="bl";g=[20+h.anchorOffset,-1];break;default:f="r";e="tl";g=[1,12+h.anchorOffset];break}h.anchorEl.alignTo(h.el,f+"-"+e,g)},setPagePosition:function(e,f){var d=this;d.callParent(arguments);if(d.anchor){d.syncAnchor()}},clearTimer:function(b){b=b+"Timer";clearTimeout(this[b]);delete this[b]},clearTimers:function(){var b=this;b.clearTimer("show");b.clearTimer("dismiss");b.clearTimer("hide")},onShow:function(){var b=this;b.callParent();b.mon(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onHide:function(){var b=this;b.callParent();b.mun(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onDocMouseDown:function(c){var d=this;if(d.autoHide!==true&&!d.closable&&!c.within(d.el.dom)){d.disable();Ext.defer(d.doEnable,100,d)}},doEnable:function(){if(!this.isDestroyed){this.enable()}},onDisable:function(){this.callParent();this.clearTimers();this.hide()},beforeDestroy:function(){var b=this;b.clearTimers();Ext.destroy(b.anchorEl);delete b.anchorEl;delete b.target;delete b.anchorTarget;delete b.triggerElement;b.callParent()},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);this.callParent()}});Ext.define("Ext.tip.QuickTip",{extend:"Ext.tip.ToolTip",alternateClassName:"Ext.QuickTip",interceptTitles:false,title:"&#160;",tagConfig:{namespace:"data-",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){var b=this;b.target=b.target||Ext.getDoc();b.targets=b.targets||{};b.callParent()},register:function(n){var j=Ext.isArray(n)?n:arguments,m=0,i=j.length,k,h,l;for(;m<i;m++){n=j[m];k=n.target;if(k){if(Ext.isArray(k)){for(h=0,l=k.length;h<l;h++){this.targets[Ext.id(k[h])]=n}}else{this.targets[Ext.id(k)]=n}}}},unregister:function(b){delete this.targets[Ext.id(b)]},cancelShow:function(e){var d=this,f=d.activeTarget;e=Ext.get(e).dom;if(d.isVisible()){if(f&&f.el==e){d.hide()}}else{if(f&&f.el==e){d.clearTimer("show")}}},getTipCfg:function(g){var h=g.getTarget(),e=h.title,f;if(this.interceptTitles&&e&&Ext.isString(e)){h.qtip=e;h.removeAttribute("title");g.preventDefault();return{text:e}}else{f=this.tagConfig;h=g.getTarget("["+f.namespace+f.attribute+"]");if(h){return{target:h,text:h.getAttribute(f.namespace+f.attribute)}}}},onTargetOver:function(l){var n=this,m=l.getTarget(),k,p,o,e,j;if(n.disabled){return}n.targetXY=l.getXY();if(!m||m.nodeType!==1||m==document||m==document.body){return}if(n.activeTarget&&((m==n.activeTarget.el)||Ext.fly(n.activeTarget.el).contains(m))){n.clearTimer("hide");n.show();return}if(m){Ext.Object.each(n.targets,function(c,b){var a=Ext.fly(b.target);if(a&&(a.dom===m||a.contains(m))){k=a.dom;return false}});if(k){n.activeTarget=n.targets[k.id];n.activeTarget.el=m;n.anchor=n.activeTarget.anchor;if(n.anchor){n.anchorTarget=m}n.delayShow();return}}k=Ext.get(m);p=n.tagConfig;o=p.namespace;e=n.getTipCfg(l);if(e){if(e.target){m=e.target;k=Ext.get(m)}j=k.getAttribute(o+p.hide);n.activeTarget={el:m,text:e.text,width:+k.getAttribute(o+p.width)||null,autoHide:j!="user"&&j!=="false",title:k.getAttribute(o+p.title),cls:k.getAttribute(o+p.cls),align:k.getAttribute(o+p.align)};n.anchor=k.getAttribute(o+p.anchor);if(n.anchor){n.anchorTarget=m}n.delayShow()}},onTargetOut:function(c){var d=this;if(d.activeTarget&&c.within(d.activeTarget.el)&&!d.getTipCfg(c)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},showAt:function(f){var e=this,d=e.activeTarget;if(d){if(!e.rendered){e.render(Ext.getBody());e.activeTarget=d}if(d.title){e.setTitle(d.title||"");e.header.show()}else{e.header.hide()}e.body.update(d.text);e.autoHide=d.autoHide;e.dismissDelay=d.dismissDelay||e.dismissDelay;if(e.lastCls){e.el.removeCls(e.lastCls);delete e.lastCls}if(d.cls){e.el.addCls(d.cls);e.lastCls=d.cls}e.setWidth(d.width);if(e.anchor){e.constrainPosition=false}else{if(d.align){f=e.el.getAlignToXY(d.el,d.align);e.constrainPosition=false}else{e.constrainPosition=true}}}e.callParent([f])},hide:function(){delete this.activeTarget;this.callParent()}});Ext.define("Ext.tip.QuickTipManager",function(){var c,d=false;return{requires:["Ext.tip.QuickTip"],singleton:true,alternateClassName:"Ext.QuickTips",init:function(b,i){if(!c){if(!Ext.isReady){Ext.onReady(function(){Ext.tip.QuickTipManager.init(b)});return}var j=Ext.apply({disabled:d},i),h=j.className,a=j.xtype;if(h){delete j.className}else{if(a){h="widget."+a;delete j.xtype}}if(b!==false){j.renderTo=document.body;if(j.renderTo.tagName!="BODY"){Ext.Error.raise({sourceClass:"Ext.tip.QuickTipManager",sourceMethod:"init",msg:"Cannot init QuickTipManager: no document body"})}}c=Ext.create(h||"Ext.tip.QuickTip",j)}},destroy:function(){if(c){var a;c.destroy();c=a}},ddDisable:function(){if(c&&!d){c.disable()}},ddEnable:function(){if(c&&!d){c.enable()}},enable:function(){if(c){c.enable()}d=false},disable:function(){if(c){c.disable()}d=true},isEnabled:function(){return c!==undefined&&!c.disabled},getQuickTip:function(){return c},register:function(){c.register.apply(c,arguments)},unregister:function(){c.unregister.apply(c,arguments)},tips:function(){c.register.apply(c,arguments)}}}());Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],totalProperty:"total",successProperty:"success",root:"",implicitIncludes:true,isReader:true,constructor:function(d){var c=this;Ext.apply(c,d||{});c.fieldCount=0;c.model=Ext.ModelManager.getModel(d.model);if(c.model){c.buildExtractors()}},setModel:function(e,f){var d=this;d.model=Ext.ModelManager.getModel(e);d.buildExtractors(true);if(f&&d.proxy){d.proxy.setModel(d.model,true)}},read:function(d){var c=d;if(d&&d.responseText){c=this.getResponseData(d)}if(c){return this.readRecords(c)}else{return this.nullResultSet}},readRecords:function(p){var o=this;if(o.fieldCount!==o.getFields().length){o.buildExtractors(true)}o.rawData=p;p=o.getData(p);var m=Ext.isArray(p)?p:o.getRoot(p),k=true,q=0,n,l,r,j;if(m){n=m.length}if(o.totalProperty){l=parseInt(o.getTotal(p),10);if(!isNaN(l)){n=l}}if(o.successProperty){l=o.getSuccess(p);if(l===false||l==="false"){k=false}}if(o.messageProperty){j=o.getMessage(p)}if(m){r=o.extractData(m);q=r.length}else{q=0;r=[]}return Ext.create("Ext.data.ResultSet",{total:n||q,count:q,records:r,success:k,message:j})},extractData:function(n){var o=this,m=[],r=[],s=o.model,q=0,u=n.length,i=o.getIdProperty(),t,v,p;if(!n.length&&Ext.isObject(n)){n=[n];u=1}for(;q<u;q++){t=n[q];m=o.extractValues(t);v=o.getId(t);p=new s(m,v,t);r.push(p);if(o.implicitIncludes){o.readAssociated(p,t)}}return r},readAssociated:function(l,n){var o=l.associations.items,m=0,r=o.length,p,q,i,k;for(;m<r;m++){p=o[m];q=this.getAssociatedDataRoot(n,p.associationKey||p.name);if(q){k=p.getReader();if(!k){i=p.associatedModel.proxy;if(i){k=i.getReader()}else{k=new this.constructor({model:p.associatedName})}}p.read(l,k,q)}}},getAssociatedDataRoot:function(c,d){return c[d]},getFields:function(){return this.model.prototype.fields.items},extractValues:function(k){var i=this.getFields(),n=0,m=i.length,h={},j,l;for(;n<m;n++){j=i[n];l=this.extractorFunctions[n](k);h[j.name]=l}return h},getData:function(b){return b},getRoot:function(b){return b},getResponseData:function(b){Ext.Error.raise("getResponseData must be implemented in the Ext.data.reader.Reader subclass")},onMetaChange:function(f){var e=f.fields,d;Ext.apply(this,f);if(e){d=Ext.define("Ext.data.reader.Json-Model"+Ext.id(),{extend:"Ext.data.Model",fields:e});this.setModel(d,true)}else{this.buildExtractors(true)}},getIdProperty:function(){var b=this.idProperty;if(Ext.isEmpty(b)){b=this.model.prototype.idProperty}return b},buildExtractors:function(l){var n=this,j=n.getIdProperty(),m=n.totalProperty,h=n.successProperty,k=n.messageProperty,i;if(l===true){delete n.extractorFunctions}if(n.extractorFunctions){return}if(m){n.getTotal=n.createAccessor(m)}if(h){n.getSuccess=n.createAccessor(h)}if(k){n.getMessage=n.createAccessor(k)}if(j){i=n.createAccessor(j);n.getId=function(b){var a=i.call(n,b);return(a===undefined||a==="")?null:a}}else{n.getId=function(){return null}}n.buildFieldExtractors()},buildFieldExtractors:function(){var m=this,i=m.getFields(),n=i.length,h=0,j=[],k,l;for(;h<n;h++){k=i[h];l=(k.mapping!==undefined&&k.mapping!==null)?k.mapping:k.name;j.push(m.createAccessor(l))}m.fieldCount=n;m.extractorFunctions=j}},function(){Ext.apply(this,{nullResultSet:Ext.create("Ext.data.ResultSet",{total:0,count:0,records:[],success:true})})});Ext.define("Ext.data.reader.Json",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.JsonReader",alias:"reader.json",root:"",useSimpleAccessors:false,readRecords:function(b){if(b.metaData){this.onMetaChange(b.metaData)}this.jsonData=b;return this.callParent([b])},getResponseData:function(e){var f;try{f=Ext.decode(e.responseText)}catch(d){Ext.Error.raise({response:e,json:e.responseText,parseError:d,msg:"Unable to parse the JSON returned by the server: "+d.toString()})}if(!f){Ext.Error.raise("JSON object not found")}return f},buildExtractors:function(){var b=this;b.callParent(arguments);if(b.root){b.getRoot=b.createAccessor(b.root)}else{b.getRoot=function(a){return a}}},extractData:function(g){var h=this.record,i=[],j,f;if(h){j=g.length;if(!j&&Ext.isObject(g)){j=1;g=[g]}for(f=0;f<j;f++){i[f]=g[f][h]}}else{i=g}return this.callParent([i])},createAccessor:function(){var b=/[\[\.]/;return function(d){if(Ext.isEmpty(d)){return Ext.emptyFn}if(Ext.isFunction(d)){return d}if(this.useSimpleAccessors!==true){var a=String(d).search(b);if(a>=0){return Ext.functionFactory("obj","return obj"+(a>0?".":"")+d)}}return function(c){return c[d]}}}()});Ext.define("Ext.data.proxy.Proxy",{alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json"],uses:["Ext.data.Batch","Ext.data.Operation","Ext.data.Model"],mixins:{observable:"Ext.util.Observable"},batchOrder:"create,update,destroy",batchActions:true,defaultReaderType:"json",defaultWriterType:"json",isProxy:true,constructor:function(b){b=b||{};if(b.model===undefined){delete b.model}this.mixins.observable.constructor.call(this,b);if(this.model!==undefined&&!(this.model instanceof Ext.data.Model)){this.setModel(this.model)}},setModel:function(e,h){this.model=Ext.ModelManager.getModel(e);var f=this.reader,g=this.writer;this.setReader(f);this.setWriter(g);if(h&&this.store){this.store.setModel(this.model)}},getModel:function(){return this.model},setReader:function(d){var c=this;if(d===undefined||typeof d=="string"){d={type:d}}if(d.isReader){d.setModel(c.model)}else{Ext.applyIf(d,{proxy:c,model:c.model,type:c.defaultReaderType});d=Ext.createByAlias("reader."+d.type,d)}c.reader=d;return c.reader},getReader:function(){return this.reader},setWriter:function(b){if(b===undefined||typeof b=="string"){b={type:b}}if(!(b instanceof Ext.data.writer.Writer)){Ext.applyIf(b,{model:this.model,type:this.defaultWriterType});b=Ext.createByAlias("writer."+b.type,b)}this.writer=b;return this.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(k,j){var i=this,l=Ext.create("Ext.data.Batch",{proxy:i,listeners:j||{}}),g=i.batchActions,h;Ext.each(i.batchOrder.split(","),function(a){h=k[a];if(h){if(g){l.add(Ext.create("Ext.data.Operation",{action:a,records:h}))}else{Ext.each(h,function(b){l.add(Ext.create("Ext.data.Operation",{action:a,records:[b]}))})}}},i);l.start();return l}},function(){Ext.data.DataProxy=this});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(d){var c=this;d=d||{};this.addEvents("exception");c.callParent([d]);c.extraParams=d.extraParams||{};c.api=d.api||{};c.nocache=c.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},buildRequest:function(e){var f=Ext.applyIf(e.params||{},this.extraParams||{}),d;f=Ext.applyIf(f,this.getParams(e));if(e.id&&!f.id){f.id=e.id}d=Ext.create("Ext.data.Request",{params:f,action:e.action,records:e.records,operation:e,url:e.url});d.url=this.buildUrl(d);e.request=d;return d},processResponse:function(l,r,p,q,m,k){var n=this,o,j;if(l===true){o=n.getReader();j=o.read(n.extractResponseData(q));if(j.success!==false){Ext.apply(r,{response:q,resultSet:j});r.commitRecords(j.records);r.setCompleted();r.setSuccessful()}else{r.setException(j.message);n.fireEvent("exception",this,q,r)}}else{n.setException(r,q);n.fireEvent("exception",this,q,r)}if(typeof m=="function"){m.call(k||n,r)}n.afterRequest(p,l)},setException:function(c,d){c.setException({status:d.status,statusText:d.statusText})},extractResponseData:function(b){return b},applyEncoding:function(b){return Ext.encode(b)},encodeSorters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,direction:g[f].direction}}return this.applyEncoding(e)},encodeFilters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,value:g[f].value}}return this.applyEncoding(e)},getParams:function(z){var s=this,t={},w=Ext.isDefined,v=z.groupers,J=z.sorters,B=z.filters,D=z.page,E=z.start,u=z.limit,C=s.simpleSortMode,x=s.pageParam,G=s.startParam,I=s.limitParam,H=s.groupParam,F=s.sortParam,y=s.filterParam,A=s.directionParam;if(x&&w(D)){t[x]=D}if(G&&w(E)){t[G]=E}if(I&&w(u)){t[I]=u}if(H&&v&&v.length>0){t[H]=s.encodeSorters(v)}if(F&&J&&J.length>0){if(C){t[F]=J[0].property;t[A]=J[0].direction}else{t[F]=s.encodeSorters(J)}}if(y&&B&&B.length>0){t[y]=s.encodeFilters(B)}return t},buildUrl:function(f){var d=this,e=d.getUrl(f);if(!e){Ext.Error.raise("You are using a ServerProxy but have not supplied it with a url.")}if(d.noCache){e=Ext.urlAppend(e,Ext.String.format("{0}={1}",d.cacheString,Ext.Date.now()))}return e},getUrl:function(b){return b.url||this.api[b.action]||this.url},doRequest:function(e,f,d){Ext.Error.raise("The doRequest function has not been implemented on your Ext.data.proxy.Server subclass. See src/data/ServerProxy.js for details")},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(g,h,f){var i=this.getWriter(),j=this.buildRequest(g,h,f);if(g.allowWrite()){j=i.write(j)}Ext.apply(j,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(j,g,h,f),method:this.getMethod(j),disableCaching:false});Ext.Ajax.request(j);return j},getMethod:function(b){return this.actionMethods[b.action]},createRequestCallback:function(i,g,h,f){var j=this;return function(b,a,c){j.processResponse(a,g,i,c,h,f)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.IdGenerator","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.data.proxy.Ajax","Ext.util.MixedCollection"],onClassExtended:function(e,d){var f=d.onBeforeClassCreated;d.onBeforeClassCreated=function(P,b){var c=this,a=Ext.getClassName(P),I=P.prototype,D=P.prototype.superclass,O=b.validations||[],G=b.fields||[],B=b.associations||[],C=b.belongsTo,H=b.hasMany,F=b.idgen,z=new Ext.util.MixedCollection(false,function(g){return g.name}),A=new Ext.util.MixedCollection(false,function(g){return g.name}),J=D.validations,i=D.fields,M=D.associations,N,E,L,K=[];P.modelName=a;I.modelName=a;if(J){O=J.concat(O)}b.validations=O;if(i){G=i.items.concat(G)}for(E=0,L=G.length;E<L;++E){z.add(new Ext.data.Field(G[E]))}b.fields=z;if(F){b.idgen=Ext.data.IdGenerator.get(F)}if(C){C=Ext.Array.from(C);for(E=0,L=C.length;E<L;++E){N=C[E];if(!Ext.isObject(N)){N={model:N}}N.type="belongsTo";B.push(N)}delete b.belongsTo}if(H){H=Ext.Array.from(H);for(E=0,L=H.length;E<L;++E){N=H[E];if(!Ext.isObject(N)){N={model:N}}N.type="hasMany";B.push(N)}delete b.hasMany}if(M){B=M.items.concat(B)}for(E=0,L=B.length;E<L;++E){K.push("association."+B[E].type.toLowerCase())}if(b.proxy){if(typeof b.proxy==="string"){K.push("proxy."+b.proxy)}else{if(typeof b.proxy.type==="string"){K.push("proxy."+b.proxy.type)}}}Ext.require(K,function(){Ext.ModelManager.registerType(a,P);for(E=0,L=B.length;E<L;++E){N=B[E];Ext.apply(N,{ownerModel:a,associatedModel:N.model});if(Ext.ModelManager.getModel(N.model)===undefined){Ext.ModelManager.registerDeferredAssociation(N)}else{A.add(Ext.data.Association.create(N))}}b.associations=A;f.call(c,P,b);P.setProxy(P.prototype.proxy||P.prototype.defaultProxyType);Ext.ModelManager.onModelDefined(P)})}},inheritableStatics:{setProxy:function(b){if(!b.isProxy){if(typeof b=="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this);this.proxy=this.prototype.proxy=b;return b},getProxy:function(){return this.proxy},load:function(i,l){l=Ext.apply({},l);l=Ext.applyIf(l,{action:"read",id:i});var g=Ext.create("Ext.data.Operation",l),k=l.scope||this,h=null,j;j=function(a){if(a.wasSuccessful()){h=a.getRecords()[0];Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};this.proxy.read(g,j,this)}},statics:{PREFIX:"ext-record",AUTO_ID:1,EDIT:"edit",REJECT:"reject",COMMIT:"commit",id:function(d){var c=[this.PREFIX,"-",this.AUTO_ID++].join("");d.phantom=true;d.internalId=c;return c}},idgen:{isGenerator:true,type:"default",generate:function(){return null},getRecId:function(b){return b.modelName+"-"+b.internalId}},editing:false,dirty:false,persistenceProperty:"data",evented:false,isModel:true,phantom:false,idProperty:"id",defaultProxyType:"ajax",constructor:function(s,w,n){s=s||{};var p=this,q,v,o,x,t,u,r=Ext.isArray(s),i=r?{}:null;p.internalId=(w||w===0)?w:Ext.data.Model.id(p);p.raw=n;Ext.applyIf(p,{data:{}});p.modified={};if(p.persistanceProperty){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: persistanceProperty has been deprecated. Use persistenceProperty instead.")}p.persistenceProperty=p.persistanceProperty}p[p.persistenceProperty]={};p.mixins.observable.constructor.call(p);q=p.fields.items;v=q.length;for(t=0;t<v;t++){o=q[t];x=o.name;if(r){i[x]=s[t]}else{if(s[x]===undefined){s[x]=o.defaultValue}}}p.set(i||s);if(p.getId()){p.phantom=false}else{if(p.phantom){u=p.idgen.generate();if(u!==null){p.setId(u)}}}p.dirty=false;p.modified={};if(typeof p.init=="function"){p.init()}p.id=p.idgen.getRecId(p)},get:function(b){return this[this.persistenceProperty][b]},set:function(i,r){var t=this,v=t.fields,o=t.modified,w=[],s,p,x,q,y,u,z;if(arguments.length==1&&Ext.isObject(i)){y=!t.editing;u=0;for(p in i){if(i.hasOwnProperty(p)){s=v.get(p);if(s&&s.convert!==s.type.convert){w.push(p);continue}if(!u&&y){t.beginEdit()}++u;t.set(p,i[p])}}z=w.length;if(z){if(!u&&y){t.beginEdit()}u+=z;for(x=0;x<z;x++){s=w[x];t.set(s,i[s])}}if(y&&u){t.endEdit()}}else{if(v){s=v.get(i);if(s&&s.convert){r=s.convert(r,t)}}q=t.get(i);t[t.persistenceProperty][i]=r;if(s&&s.persist&&!t.isEqual(q,r)){if(t.isModified(i)){if(t.isEqual(o[i],r)){delete o[i];t.dirty=false;for(p in o){if(o.hasOwnProperty(p)){t.dirty=true;break}}}}else{t.dirty=true;o[i]=q}}if(!t.editing){t.afterEdit()}}},isEqual:function(a,b){if(Ext.isDate(a)&&Ext.isDate(b)){return a.getTime()===b.getTime()}return a===b},beginEdit:function(){var b=this;if(!b.editing){b.editing=true;b.dirtySave=b.dirty;b.dataSave=Ext.apply({},b[b.persistenceProperty]);b.modifiedSave=Ext.apply({},b.modified)}},cancelEdit:function(){var b=this;if(b.editing){b.editing=false;b.modified=b.modifiedSave;b[b.persistenceProperty]=b.dataSave;b.dirty=b.dirtySave;delete b.modifiedSave;delete b.dataSave;delete b.dirtySave}},endEdit:function(e){var d=this,f;if(d.editing){d.editing=false;f=d.dirty||d.changedWhileEditing();delete d.modifiedSave;delete d.dataSave;delete d.dirtySave;if(e!==true&&f){d.afterEdit()}}},changedWhileEditing:function(){var h=this,e=h.dataSave,g=h[h.persistenceProperty],f;for(f in g){if(g.hasOwnProperty(f)){if(!h.isEqual(g[f],e[f])){return true}}}return false},getChanges:function(){var e=this.modified,d={},f;for(f in e){if(e.hasOwnProperty(f)){d[f]=this.get(f)}}return d},isModified:function(b){return this.modified.hasOwnProperty(b)},setDirty:function(){var c=this,d;c.dirty=true;c.fields.each(function(a){if(a.persist){d=a.name;c.modified[d]=c.get(d)}},c)},markDirty:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: markDirty has been deprecated. Use setDirty instead.")}return this.setDirty.apply(this,arguments)},reject:function(f){var h=this,e=h.modified,g;for(g in e){if(e.hasOwnProperty(g)){if(typeof e[g]!="function"){h[h.persistenceProperty][g]=e[g]}}}h.dirty=false;h.editing=false;h.modified={};if(f!==true){h.afterReject()}},commit:function(d){var c=this;c.phantom=c.dirty=c.editing=false;c.modified={};if(d!==true){c.afterCommit()}},copy:function(d){var c=this;return new c.self(Ext.apply({},c[c.persistenceProperty]),d||c.internalId)},setProxy:function(b){if(!b.isProxy){if(typeof b==="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this.self);this.proxy=b;return b},getProxy:function(){return this.proxy},validate:function(){var i=Ext.create("Ext.data.Errors"),p=this.validations,n=Ext.data.validations,q,o,k,r,l,m;if(p){q=p.length;for(m=0;m<q;m++){o=p[m];k=o.field||o.name;l=o.type;r=n[l](o,this.get(k));if(!r){i.add({field:k,message:o.message||n[l+"Message"]})}}}return i},isValid:function(){return this.validate().isValid()},save:function(n){n=Ext.apply({},n);var l=this,k=l.phantom?"create":"update",i=null,m=n.scope||l,h,j;Ext.apply(n,{records:[l],action:k});h=Ext.create("Ext.data.Operation",n);j=function(a){if(a.wasSuccessful()){i=a.getRecords()[0];l.set(i.data);i.dirty=false;Ext.callback(n.success,m,[i,a])}else{Ext.callback(n.failure,m,[i,a])}Ext.callback(n.callback,m,[i,a])};l.getProxy()[k](h,j,l);return l},destroy:function(l){l=Ext.apply({},l);var j=this,h=null,k=l.scope||j,g,i;Ext.apply(l,{records:[j],action:"destroy"});g=Ext.create("Ext.data.Operation",l);i=function(a){if(a.wasSuccessful()){Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};j.getProxy().destroy(g,i,j);return j},getId:function(){return this.get(this.idProperty)},setId:function(b){this.set(this.idProperty,b)},join:function(b){this.store=b},unjoin:function(b){delete this.store},afterEdit:function(){this.callStore("afterEdit")},afterReject:function(){this.callStore("afterReject")},afterCommit:function(){this.callStore("afterCommit")},callStore:function(c){var d=this.store;if(d!==undefined&&typeof d[c]=="function"){d[c](this)}},getAssociatedData:function(){return this.prepareAssociatedData(this,[],null)},prepareAssociatedData:function(t,F,u){var y=t.associations.items,w=y.length,B={},A,G,z,i,H,C,D,v,x,j,E;for(v=0;v<w;v++){C=y[v];j=C.type;E=true;if(u){E=j==u}if(E&&j=="hasMany"){A=t[C.storeName];B[C.name]=[];if(A&&A.data.length>0){z=A.data.items;H=z.length;for(x=0;x<H;x++){i=z[x];D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name][x]=i.data;Ext.apply(B[C.name][x],this.prepareAssociatedData(i,F,j))}}}}else{if(E&&j=="belongsTo"){i=t[C.instanceName];if(i!==undefined){D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name]=i.data;Ext.apply(B[C.name],this.prepareAssociatedData(i,F,j))}}}}}return B}});Ext.define("Ext.app.Application",{extend:"Ext.app.Controller",requires:["Ext.ModelManager","Ext.data.Model","Ext.data.StoreManager","Ext.tip.QuickTipManager","Ext.ComponentManager","Ext.app.EventBus"],scope:undefined,enableQuickTips:true,appFolder:"app",autoCreateViewport:false,constructor:function(g){g=g||{};Ext.apply(this,g);var k=g.requires||[];Ext.Loader.setPath(this.name,this.appFolder);if(this.paths){Ext.Object.each(this.paths,function(b,a){Ext.Loader.setPath(b,a)})}this.callParent(arguments);this.eventbus=Ext.create("Ext.app.EventBus");var i=Ext.Array.from(this.controllers),j=i&&i.length,l,h;this.controllers=Ext.create("Ext.util.MixedCollection");if(this.autoCreateViewport){k.push(this.getModuleClassName("Viewport","view"))}for(l=0;l<j;l++){k.push(this.getModuleClassName(i[l],"controller"))}Ext.require(k);Ext.onReady(function(){for(l=0;l<j;l++){h=this.getController(i[l]);h.init(this)}this.onBeforeLaunch.call(this)},this)},control:function(d,f,e){this.eventbus.control(d,f,e)},launch:Ext.emptyFn,onBeforeLaunch:function(){if(this.enableQuickTips){Ext.tip.QuickTipManager.init()}if(this.autoCreateViewport){this.getView("Viewport").create()}this.launch.call(this.scope||this);this.launched=true;this.fireEvent("launch",this);this.controllers.each(function(b){b.onLaunch(this)},this)},getModuleClassName:function(e,f){var d=Ext.Loader.getPrefix(e);if(d.length>0&&d!==e){return e}return this.name+"."+f+"."+e},getController:function(c){var d=this.controllers.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"controller"),{application:this,id:c});this.controllers.add(d)}return d},getStore:function(c){var d=Ext.StoreManager.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"store"),{storeId:c})}return d},getModel:function(b){b=this.getModuleClassName(b,"model");return Ext.ModelManager.getModel(b)},getView:function(b){b=this.getModuleClassName(b,"view");return Ext.ClassManager.get(b)}});Ext.define("Docs.Application",{extend:"Ext.app.Application",name:"Docs",requires:["Docs.History","Docs.Settings"],uses:["Ext.util.History","Ext.data.JsonP"],controllers:["Auth","Welcome","Failure","Classes","Comments","CommentsMeta","Search","InlineExamples","Examples","Guides","Videos","Stats","Tabs"],launch:function(){Docs.App=this;Docs.Settings.init();Ext.create("Docs.view.Viewport");Docs.History.init();if(Docs.initEventTracking){Docs.initEventTracking()}Ext.get("loading").remove()}});Ext.define("Docs.model.Stats",{extend:"Ext.data.Model",fields:["name","local_cfgs","local_properties","local_methods","local_events","local_members","total_cfgs","total_properties","total_methods","total_events","total_members","fanIn","fanOut","class_wc","members_wc","wc_per_member"]});Ext.define("Docs.view.stats.Index",{extend:"Ext.container.Container",alias:"widget.statsindex",requires:["Ext.grid.Panel","Docs.model.Stats"],layout:"fit",initComponent:function(){var b=Ext.create("Ext.data.Store",{model:"Docs.model.Stats",data:Docs.data.stats,sorters:"name"});this.items=[{xtype:"grid",store:b,title:"Statistics",columns:[{text:"Name",width:200,dataIndex:"name"},{text:"Configs",width:50,align:"right",dataIndex:"local_cfgs"},{text:"Props",width:50,align:"right",dataIndex:"local_properties"},{text:"Methods",width:50,align:"right",dataIndex:"local_methods"},{text:"Events",width:50,align:"right",dataIndex:"local_events"},{text:"Members",width:50,align:"right",dataIndex:"local_members",renderer:function(a){return"<b>"+a+"</b>"}},{text:"All Configs",width:50,align:"right",dataIndex:"total_cfgs"},{text:"All Props",width:50,align:"right",dataIndex:"total_properties"},{text:"All Methods",width:50,align:"right",dataIndex:"total_methods"},{text:"All Events",width:50,align:"right",dataIndex:"total_events"},{text:"All Members",width:50,align:"right",dataIndex:"total_members",renderer:function(a){return"<b>"+a+"</b>"}},{text:"Fan-in",width:50,align:"right",dataIndex:"fanIn"},{text:"Fan-out",width:50,align:"right",dataIndex:"fanOut"},{text:"Class word-count",width:50,align:"right",dataIndex:"class_wc"},{text:"Members word-count",width:50,align:"right",dataIndex:"members_wc"},{text:"wc / member",width:50,align:"right",dataIndex:"wc_per_member"}]}];this.callParent(arguments)},getTab:function(){var b=(Docs.data.stats||[]).length>0;return b?{cls:"stats",href:"#!/stats",tooltip:"Statistics"}:false}});Ext.define("Docs.view.Viewport",{extend:"Ext.container.Viewport",requires:["Docs.view.search.Container","Docs.view.Header","Docs.view.Tabs","Docs.view.TreeContainer","Docs.view.welcome.Index","Docs.view.auth.Login","Docs.view.comments.Index","Docs.view.Comments","Docs.view.cls.Index","Docs.view.cls.Container","Docs.view.guides.Index","Docs.view.guides.Container","Docs.view.videos.Index","Docs.view.videos.Container","Docs.view.examples.Index","Docs.view.examples.Container","Docs.view.examples.TouchContainer","Docs.view.stats.Index"],id:"viewport",layout:"border",defaults:{xtype:"container"},initComponent:function(){this.items=[{region:"north",id:"north-region",height:65,layout:{type:"vbox",align:"stretch"},items:[{height:37,xtype:"container",layout:"hbox",items:[{xtype:"docheader"},{xtype:"container",flex:1},{id:"loginContainer",xtype:"authentication",width:500,padding:"10 20 0 0"},{xtype:"searchcontainer",id:"search-container",width:230,margin:"4 0 0 0"}]},{xtype:"doctabs"}]},{region:"center",layout:"border",minWidth:800,items:[{region:"west",xtype:"treecontainer",id:"treecontainer",border:1,bodyPadding:"10 9 4 9",width:240},{region:"center",id:"center-container",layout:"fit",minWidth:800,border:false,padding:"5 10",items:{id:"card-panel",cls:"card-panel",xtype:"container",layout:{type:"card",deferredRender:true},items:[{autoScroll:true,xtype:"welcomeindex",id:"welcomeindex"},{xtype:"container",id:"failure"},{autoScroll:true,xtype:"classindex",id:"classindex"},{xtype:"classcontainer",id:"classcontainer"},{autoScroll:true,xtype:"guideindex",id:"guideindex"},{autoScroll:true,xtype:"guidecontainer",id:"guide",cls:"iScroll"},{xtype:"videoindex",id:"videoindex"},{autoScroll:true,xtype:"videocontainer",id:"video",cls:"iScroll"},{xtype:"exampleindex",id:"exampleindex"},{xtype:Docs.data.touchExamplesUi?"touchexamplecontainer":"examplecontainer",id:"example"},{xtype:"statsindex",id:"statsindex"},{xtype:"commentindex",id:"commentindex"}]}}]},{region:"south",id:"footer",height:20,contentEl:"footer-content"}];this.callParent(arguments)},setPageTitle:function(b){b=Ext.util.Format.stripTags(b);if(!this.origTitle){this.origTitle=document.title}document.title=b?(b+" - "+this.origTitle):this.origTitle}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.data.StoreManager","Ext.ModelManager","Ext.data.Model","Ext.util.Grouper"],uses:["Ext.data.proxy.Memory"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",pageSize:25,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,isStore:true,onClassExtended:function(f,h){var e=h.model;if(typeof e=="string"){var g=h.onBeforeClassCreated;h.onBeforeClassCreated=function(c,a){var b=this;Ext.require(e,function(){g.call(b,c,a)})}}},constructor:function(g){g=Ext.Object.merge({},g);var k=this,i=g.groupers||k.groupers,h=g.groupField||k.groupField,l,j;if(g.buffered||k.buffered){k.prefetchData=Ext.create("Ext.util.MixedCollection",false,function(a){return a.index});k.pendingRequests=[];k.pagesRequested=[];k.sortOnLoad=false;k.filterOnLoad=false}k.addEvents("beforeprefetch","groupchange","prefetch");j=g.data||k.data;k.data=Ext.create("Ext.util.MixedCollection",false,function(a){return a.internalId});if(j){k.inlineData=j;delete g.data}if(!i&&h){i=[{property:h,direction:g.groupDir||k.groupDir}]}delete g.groupers;k.groupers=Ext.create("Ext.util.MixedCollection");k.groupers.addAll(k.decodeGroupers(i));this.callParent([g]);if(k.groupers.items.length){k.sort(k.groupers.items,"prepend",false)}l=k.proxy;j=k.inlineData;if(j){if(l instanceof Ext.data.proxy.Memory){l.data=j;k.read()}else{k.add.apply(k,j)}k.sort();delete k.inlineData}else{if(k.autoLoad){Ext.defer(k.load,10,k,[typeof k.autoLoad==="object"?k.autoLoad:undefined])}}},onBeforeSort:function(){var b=this.groupers;if(b.getCount()>0){this.sort(b.items,"prepend",false)}},decodeGroupers:function(i){if(!Ext.isArray(i)){if(i===undefined){i=[]}else{i=[i]}}var j=i.length,h=Ext.util.Grouper,g,f;for(f=0;f<j;f++){g=i[f];if(!(g instanceof h)){if(Ext.isString(g)){g={property:g}}Ext.applyIf(g,{root:"data",direction:"ASC"});if(g.fn){g.sorterFn=g.fn}if(typeof g=="function"){g={sorterFn:g}}i[f]=new h(g)}}return i},group:function(j,i){var k=this,l=false,g,h;if(Ext.isArray(j)){h=j}else{if(Ext.isObject(j)){h=[j]}else{if(Ext.isString(j)){g=k.groupers.get(j);if(!g){g={property:j,direction:i};h=[g]}else{if(i===undefined){g.toggle()}else{g.setDirection(i)}}}}}if(h&&h.length){l=true;h=k.decodeGroupers(h);k.groupers.clear();k.groupers.addAll(h)}if(k.remoteGroup){k.load({scope:k,callback:k.fireGroupChange})}else{k.sort(null,null,null,l);k.fireGroupChange()}},clearGrouping:function(){var b=this;b.groupers.each(function(a){b.sorters.remove(a)});b.groupers.clear();if(b.remoteGroup){b.load({scope:b,callback:b.fireGroupChange})}else{b.sort();b.fireEvent("groupchange",b,b.groupers)}},isGrouped:function(){return this.groupers.getCount()>0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(q){var o=this.data.items,r=o.length,p=[],i={},m,l,k,n;for(n=0;n<r;n++){m=o[n];l=this.getGroupString(m);k=i[l];if(k===undefined){k={name:l,children:[]};p.push(k);i[l]=k}k.children.push(m)}return q?i[q]:p},getGroupsForGrouper:function(m,q){var o=m.length,n=[],r,p,k,i,l;for(l=0;l<o;l++){k=m[l];p=q.getGroupString(k);if(p!==r){i={name:p,grouper:q,records:[]};n.push(i)}i.records.push(k);r=p}return n},getGroupsForGrouperIndex:function(p,k){var m=this,l=m.groupers,i=l.getAt(k),j=m.getGroupsForGrouper(p,i),n=j.length,o;if(k+1<l.length){for(o=0;o<n;o++){j[o].children=m.getGroupsForGrouperIndex(j[o].records,k+1)}}for(o=0;o<n;o++){j[o].depth=k}return j},getGroupData:function(d){var c=this;if(d!==false){c.sort()}return c.getGroupsForGrouperIndex(c.data.items,0)},getGroupString:function(d){var c=this.groupers.first();if(c){return d.get(c.property)}return""},insert:function(m,n){var j=this,k=false,l,h,i;n=[].concat(n);for(l=0,i=n.length;l<i;l++){h=j.createModel(n[l]);h.set(j.modelDefaults);n[l]=h;j.data.insert(m+l,h);h.join(j);k=k||h.phantom===true}if(j.snapshot){j.snapshot.addAll(n)}j.fireEvent("add",j,n,m);j.fireEvent("datachanged",j);if(j.autoSync&&k){j.sync()}},add:function(f){if(!Ext.isArray(f)){f=Array.prototype.slice.apply(arguments)}var h=this,j=0,i=f.length,g;for(;j<i;j++){g=h.createModel(f[j]);f[j]=g}h.insert(h.data.length,f);return f},createModel:function(b){if(!b.isModel){b=Ext.ModelManager.create(b,this.model)}return b},each:function(c,d){this.data.each(c,d)},remove:function(q,i){if(!Ext.isArray(q)){q=[q]}i=i===true;var m=this,l=false,p=0,r=q.length,k,n,o;for(;p<r;p++){o=q[p];n=m.data.indexOf(o);if(m.snapshot){m.snapshot.remove(o)}if(n>-1){k=o.phantom===true;if(!i&&!k){m.removed.push(o)}o.unjoin(m);m.data.remove(o);l=l||!k;m.fireEvent("remove",m,o,n)}}m.fireEvent("datachanged",m);if(!i&&m.autoSync&&l){m.sync()}},removeAt:function(c){var d=this.getAt(c);if(d){this.remove(d)}},load:function(d){var c=this;d=d||{};if(Ext.isFunction(d)){d={callback:d}}Ext.applyIf(d,{groupers:c.groupers.items,page:c.currentPage,start:(c.currentPage-1)*c.pageSize,limit:c.pageSize,addRecords:false});return c.callParent([d])},onProxyLoad:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total}if(h){i.loadRecords(g,f)}i.loading=false;i.fireEvent("load",i,g,h);i.fireEvent("read",i,g,f.wasSuccessful());Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(s,r,i){if(i){var p=0,q=this.data,v=this.snapshot,u=s.length,m=r.records,o,t,n;for(;p<u;++p){o=s[p];t=m[p];if(t){n=q.indexOf(t);if(n>-1){q.removeAt(n);q.insert(n,o)}if(v){n=v.indexOf(t);if(n>-1){v.removeAt(n);v.insert(n,o)}}o.phantom=false;o.join(this)}}}},onUpdateRecords:function(o,p,k){if(k){var n=0,m=o.length,l=this.data,i=this.snapshot,j;for(;n<m;++n){j=o[n];l.replace(j);if(i){i.replace(j)}j.join(this)}}},onDestroyRecords:function(p,o,i){if(i){var k=this,m=0,q=p.length,n=k.data,r=k.snapshot,l;for(;m<q;++m){l=p[m];l.unjoin(k);n.remove(l);if(r){r.remove(l)}}k.removed=[]}},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(l,k){if(Ext.isString(l)){l={property:l,value:k}}var m=this,i=m.decodeFilters(l),h=0,j=m.sortOnFilter&&!m.remoteSort,n=i.length;for(;h<n;h++){m.filters.replace(i[h])}if(m.remoteFilter){m.load()}else{if(m.filters.getCount()){m.snapshot=m.snapshot||m.data.clone();m.data=m.data.filter(m.filters.items);if(j){m.sort()}if(!j||m.sorters.length<1){m.fireEvent("datachanged",m)}}}},clearFilter:function(d){var c=this;c.filters.clear();if(c.remoteFilter){c.load()}else{if(c.isFiltered()){c.data=c.snapshot.clone();delete c.snapshot;if(d!==true){c.fireEvent("datachanged",c)}}}},isFiltered:function(){var b=this.snapshot;return !!b&&b!==this.data},filterBy:function(d,e){var f=this;f.snapshot=f.snapshot||f.data.clone();f.data=f.queryBy(d,e||f);f.fireEvent("datachanged",f)},queryBy:function(e,f){var h=this,g=h.snapshot||h.data;return g.filterBy(e,f||h)},loadData:function(j,i){var n=this.model,k=j.length,l=[],m,h;for(m=0;m<k;m++){h=j[m];if(!(h instanceof Ext.data.Model)){h=Ext.ModelManager.create(h,n)}l.push(h)}this.loadRecords(l,{addRecords:i})},loadRawData:function(h,f){var i=this,g=i.proxy.reader.read(h),j=g.records;if(g.success){i.loadRecords(j,{addRecords:f});i.fireEvent("load",i,j,true)}},loadRecords:function(g,f){var h=this,j=0,i=g.length;f=f||{};if(!f.addRecords){delete h.snapshot;h.clearData()}h.data.addAll(g);for(;j<i;j++){if(f.start!==undefined){g[j].index=f.start+j}g[j].join(h)}h.suspendEvents();if(h.filterOnLoad&&!h.remoteFilter){h.filter()}if(h.sortOnLoad&&!h.remoteSort){h.sort()}h.resumeEvents();h.fireEvent("datachanged",h,g)},loadPage:function(f,e){var d=this;e=Ext.apply({},e);d.currentPage=f;d.read(Ext.applyIf(e,{page:f,start:(f-1)*d.pageSize,limit:d.pageSize,addRecords:!d.clearOnPageLoad}))},nextPage:function(b){this.loadPage(this.currentPage+1,b)},previousPage:function(b){this.loadPage(this.currentPage-1,b)},clearData:function(){var b=this;b.data.each(function(a){a.unjoin(b)});b.data.clear()},prefetch:function(e){var h=this,f,g=h.getRequestId();e=e||{};Ext.applyIf(e,{action:"read",filters:h.filters.items,sorters:h.sorters.items,requestId:g});h.pendingRequests.push(g);f=Ext.create("Ext.data.Operation",e);if(h.fireEvent("beforeprefetch",h,f)!==false){h.loading=true;h.proxy.read(f,h.onProxyPrefetch,h)}return h},prefetchPage:function(j,l){var k=this,g=k.pageSize,i=(j-1)*k.pageSize,h=i+g;if(Ext.Array.indexOf(k.pagesRequested,j)===-1&&!k.rangeSatisfied(i,h)){l=l||{};k.pagesRequested.push(j);Ext.applyIf(l,{page:j,start:i,limit:g,callback:k.onWaitForGuarantee,scope:k});k.prefetch(l)}},getRequestId:function(){this.requestSeed=this.requestSeed||1;return this.requestSeed++},onProxyPrefetch:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total;i.fireEvent("totalcountchange",i.totalCount)}if(h){i.cacheRecords(g,f)}Ext.Array.remove(i.pendingRequests,f.requestId);if(f.page){Ext.Array.remove(i.pagesRequested,f.page)}i.loading=false;i.fireEvent("prefetch",i,g,h,f);if(f.blocking){i.fireEvent("load",i,g,h)}Ext.callback(f.callback,f.scope||i,[g,f,h])},cacheRecords:function(g,h){var j=this,l=0,k=g.length,i=h?h.start:0;if(!Ext.isDefined(j.totalCount)){j.totalCount=g.length;j.fireEvent("totalcountchange",j.totalCount)}for(;l<k;l++){g[l].index=i+l}j.prefetchData.addAll(g);if(j.purgePageCount){j.purgeRecords()}},purgeRecords:function(){var j=this,f=j.prefetchData.getCount(),i=j.purgePageCount*j.pageSize,h=f-i-1,g=0;for(;g<=h;g++){j.prefetchData.removeAt(0)}},rangeSatisfied:function(h,g){var j=this,f=h,i=true;for(;f<g;f++){if(!j.prefetchData.getByKey(f)){i=false;if(g-f>j.pageSize){Ext.Error.raise("A single page prefetch could never satisfy this request.")}break}}return i},getPageFromRecordIndex:function(b){return Math.floor(b/this.pageSize)+1},onGuaranteedRange:function(){var k=this,n=k.getTotalCount(),j=k.requestStart,h=((n-1)<k.requestEnd)?n-1:k.requestEnd,m=[],i,l=j;h=Math.max(0,h);if(j>h){Ext.log({level:"warn",msg:"Start ("+j+") was greater than end ("+h+") for the range of records requested ("+k.requestStart+"-"+k.requestEnd+")"+(this.storeId?' from store "'+this.storeId+'"':"")})}if(j!==k.guaranteedStart&&h!==k.guaranteedEnd){k.guaranteedStart=j;k.guaranteedEnd=h;for(;l<=h;l++){i=k.prefetchData.getByKey(l);if(i){m.push(i)}}k.fireEvent("guaranteedrange",m,j,h);if(k.cb){k.cb.call(k.scope||k,m)}}k.unmask()},mask:function(){this.masked=true;this.fireEvent("beforeload")},unmask:function(){if(this.masked){this.fireEvent("load")}},hasPendingRequests:function(){return this.pendingRequests.length},onWaitForGuarantee:function(){if(!this.hasPendingRequests()){this.onGuaranteedRange()}},guaranteeRange:function(x,v,w,i){if(x&&v){if(v-x>this.pageSize){Ext.Error.raise({start:x,end:v,pageSize:this.pageSize,msg:"Requested a bigger range than the specified pageSize"})}}v=(v>this.totalCount)?this.totalCount-1:v;var q=this,u=x,o=q.prefetchData,t=[],r=!!o.getByKey(x),p=!!o.getByKey(v),s=q.getPageFromRecordIndex(x),n=q.getPageFromRecordIndex(v);q.cb=w;q.scope=i;q.requestStart=x;q.requestEnd=v;if(!r||!p){if(s===n){q.mask();q.prefetchPage(s,{callback:q.onWaitForGuarantee,scope:q})}else{q.mask();q.prefetchPage(s,{callback:q.onWaitForGuarantee,scope:q});q.prefetchPage(n,{callback:q.onWaitForGuarantee,scope:q})}}else{q.onGuaranteedRange()}},sort:function(){var k=this,l=k.prefetchData,j,i,h,g;if(k.buffered){if(k.remoteSort){l.clear();k.callParent(arguments)}else{j=k.getSorters();i=k.guaranteedStart;h=k.guaranteedEnd;if(j.length){l.sort(j);g=l.getRange();l.clear();k.cacheRecords(g);delete k.guaranteedStart;delete k.guaranteedEnd;k.guaranteeRange(i,h)}k.callParent(arguments)}}else{k.callParent(arguments)}},doSort:function(f){var h=this;if(h.remoteSort){h.load()}else{h.data.sortBy(f);if(!h.buffered){var g=h.getRange(),i=g.length,j=0;for(;j<i;j++){g[j].index=j}}h.fireEvent("datachanged",h)}},find:function(l,m,j,k,i,n){var h=this.createFilterFn(l,m,k,i,n);return h?this.data.findIndexBy(h,null,j):-1},findRecord:function(){var c=this,d=c.find.apply(c,arguments);return d!==-1?c.getAt(d):null},createFilterFn:function(i,j,h,g,f){if(Ext.isEmpty(j)){return false}j=this.data.createValueMatcher(j,h,g,f);return function(a){return j.test(a.data[i])}},findExact:function(d,e,f){return this.data.findIndexBy(function(a){return a.get(d)==e},this,f)},findBy:function(d,e,f){return this.data.findIndexBy(d,e,f)},collect:function(f,g,j){var i=this,h=(j===true&&i.snapshot)?i.snapshot:i.data;return h.collect(f,"data",g)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalCount},getAt:function(b){return this.data.getAt(b)},getRange:function(c,d){return this.data.getRange(c,d)},getById:function(b){return(this.snapshot||this.data).findBy(function(a){return a.getId()===b})},indexOf:function(b){return this.data.indexOf(b)},indexOfTotal:function(d){var c=d.index;if(c||c===0){return c}return this.indexOf(d)},indexOfId:function(b){return this.indexOf(this.getById(b))},removeAll:function(d){var c=this;c.clearData();if(c.snapshot){c.snapshot.clear()}if(d!==true){c.fireEvent("clear",c)}},first:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length?a[0]:undefined},c,true)}else{return c.data.first()}},last:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){var b=a.length;return b?a[b-1]:undefined},c,true)}else{return c.data.last()}},sum:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getSum,d,true,[f])}else{return d.getSum(d.data.items,f)}},getSum:function(f,h){var i=0,j=0,g=f.length;for(;j<g;++j){i+=f[j].get(h)}return i},count:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length},c,true)}else{return c.getCount()}},min:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMin,d,true,[f])}else{return d.getMin(d.data.items,f)}},getMin:function(g,i){var k=1,h=g.length,j,l;if(h>0){l=g[0].get(i)}for(;k<h;++k){j=g[k].get(i);if(j<l){l=j}}return l},max:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMax,d,true,[f])}else{return d.getMax(d.data.items,f)}},getMax:function(l,i){var k=1,g=l.length,j,h;if(g>0){h=l[0].get(i)}for(;k<g;++k){j=l[k].get(i);if(j>h){h=j}}return h},average:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getAverage,d,true,[f])}else{return d.getAverage(d.data.items,f)}},getAverage:function(f,h){var j=0,g=f.length,i=0;if(f.length>0){for(;j<g;++j){i+=f[j].get(h)}return i/g}return 0},aggregate:function(l,i,n,m){m=m||[];if(n&&this.isGrouped()){var r=this.getGroups(),p=0,o=r.length,q={},k;for(;p<o;++p){k=r[p];q[k.name]=l.apply(i||this,[k.children].concat(m))}return q}else{return l.apply(i||this,[this.data.items].concat(m))}}},function(){Ext.regStore("ext-empty-store",{fields:[],proxy:"proxy"})});Ext.define("Ext.data.NodeStore",{extend:"Ext.data.Store",alias:"store.node",requires:["Ext.data.NodeInterface"],node:null,recursive:false,rootVisible:false,constructor:function(e){var f=this,d;e=e||{};Ext.apply(f,e);if(Ext.isDefined(f.proxy)){Ext.Error.raise("A NodeStore cannot be bound to a proxy. Instead bind it to a record decorated with the NodeInterface by setting the node config.")}e.proxy={type:"proxy"};f.callParent([e]);f.addEvents("expand","collapse","beforeexpand","beforecollapse");d=f.node;if(d){f.node=null;f.setNode(d)}},setNode:function(c){var d=this;if(d.node&&d.node!=c){d.mun(d.node,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=null}if(c){Ext.data.NodeInterface.decorate(c);d.removeAll();if(d.rootVisible){d.add(c)}d.mon(c,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=c;if(c.isExpanded()&&c.isLoaded()){d.onNodeExpand(c,c.childNodes,true)}}},onNodeSort:function(d,f){var e=this;if((e.indexOf(d)!==-1||(d===e.node&&!e.rootVisible)&&d.isExpanded())){e.onNodeCollapse(d,f,true);e.onNodeExpand(d,f,true)}},onNodeExpand:function(m,o,p){var k=this,j=k.indexOf(m)+1,l=o?o.length:0,n,i;if(!k.recursive&&m!==k.node){return}if(!k.isVisible(m)){return}if(!p&&k.fireEvent("beforeexpand",m,o,j)===false){return}if(l){k.insert(j,o);for(n=0;n<l;n++){i=o[n];if(i.isExpanded()){if(i.isLoaded()){k.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}}if(!p){k.fireEvent("expand",m,o)}},onNodeCollapse:function(m,p,i){var k=this,l=p.length,n=k.indexOf(m)+1,o,j;if(!k.recursive&&m!==k.node){return}if(!i&&k.fireEvent("beforecollapse",m,p,n)===false){return}for(o=0;o<l;o++){j=p[o];k.remove(j);if(j.isExpanded()){k.onNodeCollapse(j,j.childNodes,true)}}if(!i){k.fireEvent("collapse",m,p,n)}},onNodeAppend:function(k,i,g){var j=this,h,l;if(j.isVisible(i)){if(g===0){h=k}else{l=i.previousSibling;while(l.isExpanded()&&l.lastChild){l=l.lastChild}h=l}j.insert(j.indexOf(h)+1,i);if(!i.isLeaf()&&i.isExpanded()){if(i.isLoaded()){j.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}},onNodeInsert:function(j,h,g){var i=this,f=this.indexOf(g);if(f!=-1&&i.isVisible(h)){i.insert(f,h);if(!h.isLeaf()&&h.isExpanded()){if(h.isLoaded()){i.onNodeExpand(h,h.childNodes,true)}else{h.set("expanded",false);h.expand()}}}},onNodeRemove:function(e,g,f){var h=this;if(h.indexOf(g)!=-1){if(!g.isLeaf()&&g.isExpanded()){h.onNodeCollapse(g,g.childNodes,true)}h.remove(g)}},isVisible:function(c){var d=c.parentNode;while(d){if(d===this.node&&!this.rootVisible&&d.isExpanded()){return true}if(this.indexOf(d)===-1||!d.isExpanded()){return false}d=d.parentNode}return true}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.AbstractStore",alias:"store.tree",requires:["Ext.data.Tree","Ext.data.NodeInterface","Ext.data.NodeStore"],clearOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",folderSort:false,constructor:function(h){var g=this,e,f;h=Ext.apply({},h);f=h.fields||g.fields;if(!f){h.fields=[{name:"text",type:"string"}]}g.callParent([h]);g.tree=Ext.create("Ext.data.Tree");g.relayEvents(g.tree,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);g.tree.on({scope:g,remove:g.onNodeRemove,beforeexpand:g.onBeforeNodeExpand,beforecollapse:g.onBeforeNodeCollapse,append:g.onNodeAdded,insert:g.onNodeAdded});g.onBeforeSort();e=g.root;if(e){delete g.root;g.setRootNode(e)}g.addEvents("sort");if(Ext.isDefined(g.nodeParameter)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.")}g.nodeParam=g.nodeParameter;delete g.nodeParameter}},setProxy:function(f){var e,d;if(f instanceof Ext.data.proxy.Proxy){d=Ext.isEmpty(f.getReader().root)}else{if(Ext.isString(f)){d=true}else{e=f.reader;d=!(e&&!Ext.isEmpty(e.root))}}f=this.callParent(arguments);if(d){e=f.getReader();e.root=this.defaultRootProperty;e.buildExtractors(true)}},onBeforeSort:function(){if(this.folderSort){this.sort({property:"leaf",direction:"ASC"},"prepend",false)}},onBeforeNodeExpand:function(d,f,e){if(d.isLoaded()){Ext.callback(f,e||d,[d.childNodes])}else{if(d.isLoading()){this.on("load",function(){Ext.callback(f,e||d,[d.childNodes])},this,{single:true})}else{this.read({node:d,callback:function(){Ext.callback(f,e||d,[d.childNodes])}})}}},getNewRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterNew)},getUpdatedRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterUpdated)},onBeforeNodeCollapse:function(d,f,e){f.call(e||d,d.childNodes)},onNodeRemove:function(e,d){var f=this.removed;if(!d.isReplace&&Ext.Array.indexOf(f,d)==-1){f.push(d)}},onNodeAdded:function(m,l){var n=this.getProxy(),i=n.getReader(),k=l.raw||l.data,j,h;Ext.Array.remove(this.removed,l);if(!l.isLeaf()&&!l.isLoaded()){j=i.getRoot(k);if(j){this.fillNode(l,i.extractData(j));delete k[i.root]}}},setRootNode:function(d){var c=this;d=d||{};if(!d.isNode){Ext.applyIf(d,{id:c.defaultRootId,text:"Root",allowDrag:false});d=Ext.ModelManager.create(d,c.model)}Ext.data.NodeInterface.decorate(d);c.getProxy().getReader().buildExtractors(true);c.tree.setRootNode(d);if(!d.isLoaded()&&(c.autoLoad===true||d.isExpanded())){c.load({node:d})}return d},getRootNode:function(){return this.tree.getRootNode()},getNodeById:function(b){return this.tree.getNodeById(b)},load:function(e){e=e||{};e.params=e.params||{};var g=this,h=e.node||g.tree.getRootNode(),f;if(!h){h=g.setRootNode({expanded:true})}if(g.clearOnLoad){h.removeAll(true)}Ext.applyIf(e,{node:h});e.params[g.nodeParam]=h?h.getId():"root";if(h){h.set("loading",true)}return g.callParent([e])},fillNode:function(i,g){var j=this,k=g?g.length:0,l=0,h;if(k&&j.sortOnLoad&&!j.remoteSort&&j.sorters&&j.sorters.items){h=Ext.create("Ext.util.MixedCollection");h.addAll(g);h.sort(j.sorters.items);g=h.items}i.set("loaded",true);for(;l<k;l++){i.appendChild(g[l],undefined,true)}return g},onProxyLoad:function(f){var i=this,h=f.wasSuccessful(),g=f.getRecords(),j=f.node;i.loading=false;j.set("loading",false);if(h){g=i.fillNode(j,g)}i.fireEvent("read",i,f.node,g,h);i.fireEvent("load",i,f.node,g,h);Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(r,q,i){if(i){var p=0,t=r.length,l=q.records,n,o,s,m;for(;p<t;++p){o=r[p];s=l[p];if(s){n=s.parentNode;if(n){s.isReplace=true;n.replaceChild(o,s);delete s.isReplace}o.phantom=false}}}},onUpdateRecords:function(r,q,i){if(i){var l=this,o=0,t=r.length,p=l.data,s,m,n;for(;o<t;++o){n=r[o];s=l.tree.getNodeById(n.getId());m=s.parentNode;if(m){s.isReplace=true;m.replaceChild(n,s);s.isReplace=false}}}},onDestroyRecords:function(d,e,f){if(f){this.removed=[]}},removeAll:function(){this.getRootNode().destroy(true);this.fireEvent("clear",this)},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.tree.sort(d,true);c.fireEvent("datachanged",c)}c.fireEvent("sort",c)}});Ext.define("Ext.util.Point",{extend:"Ext.util.Region",statics:{fromEvent:function(b){b=(b.changedTouches&&b.changedTouches.length>0)?b.changedTouches[0]:b;return new this(b.pageX,b.pageY)}},constructor:function(d,c){this.callParent([c,d,c,d])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(b){return(this.x==b.x&&this.y==b.y)},isWithin:function(c,d){if(!Ext.isObject(d)){d={x:d,y:d}}return(this.x<=c.x+d.x&&this.x>=c.x-d.x&&this.y<=c.y+d.y&&this.y>=c.y-d.y)},roundedEquals:function(b){return(Math.round(this.x)==Math.round(b.x)&&Math.round(this.y)==Math.round(b.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.Layer",{uses:["Ext.Shadow"],statics:{shims:[]},extend:"Ext.Element",constructor:function(h,i){h=h||{};var n=this,m=Ext.DomHelper,k=h.parentEl,l=k?Ext.getDom(k):document.body,j=h.hideMode;if(i){n.dom=Ext.getDom(i)}if(!n.dom){n.dom=m.append(l,h.dh||{tag:"div",cls:Ext.baseCSSPrefix+"layer"})}else{n.addCls(Ext.baseCSSPrefix+"layer");if(!n.dom.parentNode){l.appendChild(n.dom)}}if(h.cls){n.addCls(h.cls)}n.constrain=h.constrain!==false;if(j){n.setVisibilityMode(Ext.Element[j.toUpperCase()]);if(n.visibilityMode==Ext.Element.ASCLASS){n.visibilityCls=h.visibilityCls}}else{if(h.useDisplay){n.setVisibilityMode(Ext.Element.DISPLAY)}else{n.setVisibilityMode(Ext.Element.VISIBILITY)}}if(h.id){n.id=n.dom.id=h.id}else{n.id=Ext.id(n.dom)}n.position("absolute");if(h.shadow){n.shadowOffset=h.shadowOffset||4;n.shadow=Ext.create("Ext.Shadow",{offset:n.shadowOffset,mode:h.shadow});n.disableShadow()}else{n.shadowOffset=0}n.useShim=h.shim!==false&&Ext.useShims;if(h.hidden===true){n.hide()}else{n.show()}},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var d=this,f,e;if(!d.useShim){return null}if(!d.shim){f=d.self.shims.shift();if(!f){f=d.createShim();f.enableDisplayMode("block");f.hide()}e=d.dom.parentNode;if(f.dom.parentNode!=e){e.insertBefore(f.dom,d.dom)}d.shim=f}return d.shim},hideShim:function(){var b=this;if(b.shim){b.shim.setDisplayed(false);b.self.shims.push(b.shim);delete b.shim}},disableShadow:function(){var b=this;if(b.shadow&&!b.shadowDisabled){b.shadowDisabled=true;b.shadow.hide();b.lastShadowOffset=b.shadowOffset;b.shadowOffset=0}},enableShadow:function(d){var c=this;if(c.shadow&&c.shadowDisabled){c.shadowDisabled=false;c.shadowOffset=c.lastShadowOffset;delete c.lastShadowOffset;if(d){c.sync(true)}}},sync:function(w){var q=this,l=q.shadow,r,t,x;if(!q.updating&&q.isVisible()&&(l||q.useShim)){var u=q.getShim(),v=q.getLeft(true),h=q.getTop(true),o=q.dom.offsetWidth,s=q.dom.offsetHeight,p;if(l&&!q.shadowDisabled){if(w&&!l.isVisible()){l.show(q)}else{l.realign(v,h,o,s)}if(u){p=u.getStyle("z-index");if(p>q.zindex){q.shim.setStyle("z-index",q.zindex-2)}u.show();if(l.isVisible()){r=l.el.getXY();t=u.dom.style;x=l.el.getSize();if(Ext.supports.CSS3BoxShadow){x.height+=6;x.width+=4;r[0]-=2;r[1]-=4}t.left=(r[0])+"px";t.top=(r[1])+"px";t.width=(x.width)+"px";t.height=(x.height)+"px"}else{u.setSize(o,s);u.setLeftTop(v,h)}}}else{if(u){p=u.getStyle("z-index");if(p>q.zindex){q.shim.setStyle("z-index",q.zindex-2)}u.show();u.setSize(o,s);u.setLeftTop(v,h)}}}return q},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var o=Ext.Element.getViewWidth(),s=Ext.Element.getViewHeight(),h=Ext.getDoc().getScroll(),l=this.getXY(),n=l[0],p=l[1],t=this.shadowOffset,m=this.dom.offsetWidth+t,r=this.dom.offsetHeight+t,q=false;if((n+m)>o+h.left){n=o-m-t;q=true}if((p+r)>s+h.top){p=s-r-t;q=true}if(n<h.left){n=h.left;q=true}if(p<h.top){p=h.top;q=true}if(q){Ext.Layer.superclass.setXY.call(this,[n,p]);this.sync()}}return this},getConstrainOffset:function(){return this.shadowOffset},setVisible:function(l,h,m,j,k){var n=this,i;i=function(){if(l){n.sync(true)}if(j){j()}};if(!l){n.hideUnders(true)}n.callParent([l,h,m,j,k]);if(!h){i()}return n},beforeFx:function(){this.beforeAction();return this.callParent(arguments)},afterFx:function(){this.callParent(arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(b){this.callParent(arguments);return this.sync()},setTop:function(b){this.callParent(arguments);return this.sync()},setLeftTop:function(c,d){this.callParent(arguments);return this.sync()},setXY:function(k,h,l,i,j){var g=this;i=g.createCB(i);g.fixDisplay();g.beforeAction();g.callParent([k,h,l,i,j]);if(!h){i()}return g},createCB:function(f){var e=this,d=e.shadow&&e.shadow.isVisible();return function(){e.constrainXY();e.sync(d);if(f){f()}}},setX:function(g,f,j,h,i){this.setXY([g,this.getY()],f,j,h,i);return this},setY:function(h,g,f,i,j){this.setXY([this.getX(),h],g,f,i,j);return this},setSize:function(i,n,h,l,j,k){var m=this;j=m.createCB(j);m.beforeAction();m.callParent([i,n,h,l,j,k]);if(!h){j()}return m},setWidth:function(h,g,k,i,j){var l=this;i=l.createCB(i);l.beforeAction();l.callParent([h,g,k,i,j]);if(!g){i()}return l},setHeight:function(g,h,k,i,j){var l=this;i=l.createCB(i);l.beforeAction();l.callParent([g,h,k,i,j]);if(!h){i()}return l},setBounds:function(l,m,r,j,q,p,k,o){var n=this;k=n.createCB(k);n.beforeAction();if(!q){Ext.Layer.superclass.setXY.call(n,[l,m]);Ext.Layer.superclass.setSize.call(n,r,j);k()}else{n.callParent([l,m,r,j,q,p,k,o])}return n},setZIndex:function(d){var c=this;c.zindex=d;if(c.getShim()){c.shim.setStyle("z-index",d++)}if(c.shadow){c.shadow.setZIndex(d++)}return c.setStyle("z-index",d)},setOpacity:function(b){if(this.shadow){this.shadow.setOpacity(b)}return this.callParent(arguments)}});Ext.define("Ext.data.ArrayStore",{extend:"Ext.data.Store",alias:"store.array",uses:["Ext.data.reader.Array"],constructor:function(b){b=b||{};Ext.applyIf(b,{proxy:{type:"memory",reader:"array"}});this.callParent([b])},loadData:function(h,g){if(this.expandData===true){var i=[],f=0,j=h.length;for(;f<j;f++){i[i.length]=[h[f]]}h=i}this.callParent([h,g])}},function(){Ext.data.SimpleStore=Ext.data.ArrayStore});Ext.define("Ext.PluginManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.PluginMgr",singleton:true,typeName:"ptype",create:function(d,c){if(d.init){return d}else{return Ext.createByAlias("plugin."+(d.ptype||c),d)}},findByType:function(l,i){var j=[],g=this.types;for(var h in g){if(!g.hasOwnProperty(h)){continue}var k=g[h];if(k.type==l&&(!i||(i===true&&k.isDefault))){j.push(k)}}return j}},function(){Ext.preg=function(){return Ext.PluginManager.registerType.apply(Ext.PluginManager,arguments)}});Ext.define("Ext.layout.component.Auto",{alias:"layout.autocomponent",extend:"Ext.layout.component.Component",type:"autocomponent",onLayout:function(c,d){this.setTargetSize(c,d)}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(v){var p=this,q,i,m=p.handles,u,n,r,t=0,o;this.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(v)||Ext.isElement(v)||v.dom){q=v;v=arguments[1]||{};v.target=q}p.mixins.observable.constructor.call(p,v);q=p.target;if(q){if(q.isComponent){p.el=q.getEl();if(q.minWidth){p.minWidth=q.minWidth}if(q.minHeight){p.minHeight=q.minHeight}if(q.maxWidth){p.maxWidth=q.maxWidth}if(q.maxHeight){p.maxHeight=q.maxHeight}if(q.floating){if(!this.hasOwnProperty("handles")){this.handles="n ne e se s sw w nw"}}}else{p.el=p.target=Ext.get(q)}}else{p.target=p.el=Ext.get(p.el)}i=p.el.dom.tagName;if(i=="TEXTAREA"||i=="IMG"){p.originalTarget=p.target;p.target=p.el=p.el.wrap({cls:p.wrapCls,id:p.el.id+"-rzwrap"});p.el.setPositioning(p.originalTarget.getPositioning());p.originalTarget.clearPositioning();var s=p.originalTarget.getBox();p.el.setBox(s)}p.el.position();if(p.pinned){p.el.addCls(p.pinnedCls)}p.resizeTracker=Ext.create("Ext.resizer.ResizeTracker",{disabled:p.disabled,target:p.target,constrainTo:p.constrainTo,overCls:p.overCls,throttle:p.throttle,originalTarget:p.originalTarget,delegate:"."+p.handleCls,dynamic:p.dynamic,preserveRatio:p.preserveRatio,heightIncrement:p.heightIncrement,widthIncrement:p.widthIncrement,minHeight:p.minHeight,maxHeight:p.maxHeight,minWidth:p.minWidth,maxWidth:p.maxWidth});p.resizeTracker.on("mousedown",p.onBeforeResize,p);p.resizeTracker.on("drag",p.onResize,p);p.resizeTracker.on("dragend",p.onResizeEnd,p);if(p.handles=="all"){p.handles="n s e w ne nw se sw"}m=p.handles=p.handles.split(/ |\s*?[,;]\s*?/);n=p.possiblePositions;r=m.length;u=p.handleCls+" "+(this.target.isComponent?(p.target.baseCls+"-handle "):"")+p.handleCls+"-";for(;t<r;t++){if(m[t]&&n[m[t]]){o=n[m[t]];p[o]=Ext.create("Ext.Component",{owner:this,region:o,cls:u+o,renderTo:p.el});p[o].el.unselectable();if(p.transparent){p[o].el.setOpacity(0)}}}if(Ext.isNumber(p.width)){p.width=Ext.Number.constrain(p.width,p.minWidth,p.maxWidth)}if(Ext.isNumber(p.height)){p.height=Ext.Number.constrain(p.height,p.minHeight,p.maxHeight)}if(p.width!=null||p.height!=null){if(p.originalTarget){p.originalTarget.setWidth(p.width);p.originalTarget.setHeight(p.height)}p.resizeTo(p.width,p.height)}p.forceHandlesHeight()},disable:function(){this.resizeTracker.disable()},enable:function(){this.resizeTracker.enable()},onBeforeResize:function(f,e){var b=this.target.getBox();return this.fireEvent("beforeresize",this,b.width,b.height,e)},onResize:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resizedrag",h,b.width,b.height,e)},onResizeEnd:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resize",h,b.width,b.height,e)},resizeTo:function(c,d){this.target.setSize(c,d);this.fireEvent("resize",this,c,d,null)},getEl:function(){return this.el},getTarget:function(){return this.target},destroy:function(){var f;for(var d=0,e=this.handles.length;d<e;d++){f=this[this.possiblePositions[this.handles[d]]];delete f.owner;Ext.destroy(f)}},forceHandlesHeight:function(){var d=this,c;if(Ext.isIE6){c=d.east;if(c){c.setHeight(d.el.getHeight())}c=d.west;if(c){c.setHeight(d.el.getHeight())}d.el.repaint()}}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",renderTpl:['<img id="{id}-toolEl" src="{blank}" class="{baseCls}-{type}" role="presentation"/>'],tooltipType:"qtip",stopEvent:true,initComponent:function(){var c=this;c.addEvents("click");var d=["close","collapse","down","expand","gear","help","left","maximize","minimize","minus","move","next","pin","plus","prev","print","refresh","resize","restore","right","save","search","toggle","unpin","up"];if(c.id&&Ext.Array.indexOf(d,c.id)>-1&&Ext.global.console){Ext.global.console.warn("When specifying a tool you should use the type option, the id can conflict now that tool is a Component")}c.type=c.type||c.id;Ext.applyIf(c.renderData,{baseCls:c.baseCls,blank:Ext.BLANK_IMAGE_URL,type:c.type});c.addChildEls("toolEl");c.tooltip=c.tooltip||c.qtip;c.callParent()},afterRender:function(){var c=this,d;c.callParent(arguments);if(c.tooltip){if(Ext.isObject(c.tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:c.id},c.tooltip))}else{d=c.tooltipType=="qtip"?"data-qtip":"title";c.toolEl.dom.setAttribute(d,c.tooltip)}}c.mon(c.toolEl,{click:c.onClick,mousedown:c.onMouseDown,mouseover:c.onMouseOver,mouseout:c.onMouseOut,scope:c})},setType:function(d){var c=this;c.type=d;if(c.rendered){c.toolEl.dom.className=c.baseCls+"-"+d}return c},bindTo:function(b){this.owner=b},onClick:function(g,h){var e=this,f;if(e.disabled){return false}f=e.owner||e.ownerCt;e.el.removeCls(e.toolPressedCls);e.el.removeCls(e.toolOverCls);if(e.stopEvent!==false){g.stopEvent()}Ext.callback(e.handler,e.scope||e,[g,h,f,e]);e.fireEvent("click",e,g);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.util.CSS",function(){var g=null;var h=document;var e=/(-[a-z])/gi;var f=function(b,a){return a.charAt(1).toUpperCase()};return{singleton:true,constructor:function(){this.rules={};this.initialized=false},createStyleSheet:function(d,a){var l,m=h.getElementsByTagName("head")[0],b=h.createElement("style");b.setAttribute("type","text/css");if(a){b.setAttribute("id",a)}if(Ext.isIE){m.appendChild(b);l=b.styleSheet;l.cssText=d}else{try{b.appendChild(h.createTextNode(d))}catch(c){b.cssText=d}m.appendChild(b);l=b.styleSheet?b.styleSheet:(b.sheet||h.styleSheets[h.styleSheets.length-1])}this.cacheStyleSheet(l);return l},removeStyleSheet:function(a){var b=document.getElementById(a);if(b){b.parentNode.removeChild(b)}},swapStyleSheet:function(a,d){var b=document;this.removeStyleSheet(a);var c=b.createElement("link");c.setAttribute("rel","stylesheet");c.setAttribute("type","text/css");c.setAttribute("id",a);c.setAttribute("href",d);b.getElementsByTagName("head")[0].appendChild(c)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(c){if(!g){g={}}try{var o=c.cssRules||c.rules,b,d=o.length-1,j,i;for(;d>=0;--d){b=o[d].selectorText;if(b){b=b.split(",");i=b.length;for(j=0;j<i;j++){g[Ext.String.trim(b[j]).toLowerCase()]=o[d]}}}}catch(a){}},getRules:function(d){if(g===null||d){g={};var b=h.styleSheets,c=0,i=b.length;for(;c<i;c++){try{if(!b[c].disabled){this.cacheStyleSheet(b[c])}}catch(a){}}}return g},getRule:function(d,b){var c=this.getRules(b);if(!Ext.isArray(d)){return c[d.toLowerCase()]}for(var a=0;a<d.length;a++){if(c[d[a]]){return c[d[a].toLowerCase()]}}return null},updateRule:function(i,b,c){if(!Ext.isArray(i)){var a=this.getRule(i);if(a){a.style[b.replace(e,f)]=c;return true}}else{for(var d=0;d<i.length;d++){if(this.updateRule(i[d],b,c)){return true}}}return false}}}());Ext.define("Ext.grid.ColumnLayout",{extend:"Ext.layout.container.HBox",alias:"layout.gridcolumn",type:"column",reserveOffset:false,shrinkToFit:false,clearInnerCtOnLayout:true,beforeLayout:function(){var j=this,n=0,h=j.getLayoutItems(),i=h.length,k,l,m;if(!Ext.isDefined(j.availableSpaceOffset)){m=j.owner.up("tablepanel").verticalScroller;j.availableSpaceOffset=m?m.width-1:0}l=j.callParent(arguments);j.innerCt.setHeight(23);for(;n<i;n++){k=h[n];k.el.setStyle({height:"auto"});k.titleContainer.setStyle({height:"auto",paddingTop:"0"});if(k.componentLayout&&k.componentLayout.lastComponentSize){k.componentLayout.lastComponentSize.height=k.el.dom.offsetHeight}}return l},calculateChildBoxes:function(i,r){var m=this,s=m.callParent(arguments),o=s.boxes,t=s.meta,n=o.length,q=0,p,l;if(r.width&&!m.isHeader){if(m.owner.forceFit){for(;q<n;q++){p=o[q];l=p.component;l.minWidth=Ext.grid.plugin.HeaderResizer.prototype.minColWidth;l.flex=p.width}s=m.callParent(arguments)}else{if(t.tooNarrow){r.width=t.desiredSize}}}return s},afterLayout:function(){var n=this,x=n.owner,o,i,r,w,s,v,t=0,p,q,u;n.callParent(arguments);if(!n.owner.hideHeaders){if(x.lockableInjected){o=x.up("tablepanel").up("tablepanel");i=o.query("headercontainer:not([isHeader])");r=(i[0]===x)?i[1]:i[0];if(!r.rendered){return}s=r.layout.getRenderTarget().getViewSize().height;if(!s){return}w=this.getRenderTarget().getViewSize().height;if(!w){return}o.componentLayout.layoutBusy=true;u=w;if(w>s){r.layout.align="stretch";r.setCalculatedSize(r.getWidth(),x.getHeight(),r.ownerCt);delete r.layout.align;v=r.up("tablepanel")}else{if(s>w){u=s;this.align="stretch";x.setCalculatedSize(x.getWidth(),r.getHeight(),x.ownerCt);delete this.align;v=x.up("tablepanel")}}o.componentLayout.layoutBusy=false;p=i[0].layout.getLayoutItems().concat(i[1].layout.getLayoutItems())}else{u=this.getRenderTarget().getViewSize().height;p=n.getLayoutItems()}q=p.length;for(;t<q;t++){p[t].setPadding(u)}if(v){setTimeout(function(){v.doLayout()},1)}}},updateInnerCtSize:function(e,g){var h=this,f;if(!h.isHeader){h.tooNarrow=g.meta.tooNarrow;f=(h.reserveOffset?h.availableSpaceOffset:0);if(g.meta.tooNarrow){e.width=g.meta.desiredSize+f}else{e.width+=f}}return h.callParent(arguments)},doOwnerCtLayouts:function(){var b=this.owner.ownerCt;if(!b.componentLayout.layoutBusy){b.doComponentLayout()}}});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{[this.openTableWrap()]}",'<table class="'+Ext.baseCSSPrefix+"grid-table "+Ext.baseCSSPrefix+'grid-table-resizer" border="0" cellspacing="0" cellpadding="0" {[this.embedFullWidth()]}>',"<tbody>",'<tr class="'+Ext.baseCSSPrefix+'grid-header-row">','<tpl for="columns">','<th class="'+Ext.baseCSSPrefix+'grid-col-resizer-{id}" style="width: {width}px; height: 0px;"></th>',"</tpl>","</tr>","{[this.openRows()]}","{row}",'<tpl for="features">',"{[this.embedFeature(values, parent, xindex, xcount)]}","</tpl>","{[this.closeRows()]}","</tbody>","</table>","{[this.closeTableWrap()]}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(c,d){return this.apply(d?c[d]:c)}},embedFeature:function(f,i,g,h){var j="";if(!f.disabled){j=f.getFeatureTpl(f,i,g,h)}return j},embedFullWidth:function(){return'style="width: {fullWidth}px;"'},openRows:function(){return'<tpl for="rows">'},closeRows:function(){return"</tpl>"},metaRowTpl:['<tr class="'+Ext.baseCSSPrefix+'grid-row {addlSelector} {[this.embedRowCls()]}" {[this.embedRowAttr()]}>','<tpl for="columns">','<td class="{cls} '+Ext.baseCSSPrefix+"grid-cell "+Ext.baseCSSPrefix+'grid-cell-{columnId} {{id}-modified} {{id}-tdCls} {[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}><div unselectable="on" class="'+Ext.baseCSSPrefix+"grid-cell-inner "+Ext.baseCSSPrefix+'unselectable" style="{{id}-style}; text-align: {align};">{{id}}</div></td>',"</tpl>","</tr>"],firstOrLastCls:function(d,f){var e="";if(d===1){e=Ext.baseCSSPrefix+"grid-cell-first"}else{if(d===f){e=Ext.baseCSSPrefix+"grid-cell-last"}}return e},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:function(){return""},closeTableWrap:function(){return""},getTableTpl:function(n,u){var o,p={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},q={},t=n.features||[],i=t.length,r=0,m={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls},s=Array.prototype.slice.call(this.metaRowTpl,0),v;for(;r<i;r++){if(!t[r].disabled){t[r].mutateMetaRowTpl(s);Ext.apply(m,t[r].getMetaRowTplFragments());Ext.apply(q,t[r].getFragmentTpl());Ext.apply(p,t[r].getTableFragments())}}s=Ext.create("Ext.XTemplate",s.join(""),m);n.row=s.applyTemplate(n);v=Ext.create("Ext.XTemplate",this.metaTableTpl.join(""),p);o=v.applyTemplate(n);if(!u){o=Ext.create("Ext.XTemplate",o,q)}return o}});Ext.define("Ext.grid.Scroller",{extend:"Ext.Component",alias:"widget.gridscroller",weight:110,baseCls:Ext.baseCSSPrefix+"scroller",focusable:false,reservedSpace:0,renderTpl:['<div class="'+Ext.baseCSSPrefix+'scroller-ct" id="{baseId}_ct">','<div class="'+Ext.baseCSSPrefix+'stretcher" id="{baseId}_stretch"></div>',"</div>"],initComponent:function(){var f=this,d=f.dock,e=Ext.baseCSSPrefix+"scroller-vertical";f.offsets={bottom:0};f.scrollProp="scrollTop";f.vertical=true;f.sizeProp="width";if(d==="top"||d==="bottom"){e=Ext.baseCSSPrefix+"scroller-horizontal";f.sizeProp="height";f.scrollProp="scrollLeft";f.vertical=false;f.weight+=5}f.cls+=(" "+e);Ext.applyIf(f.renderSelectors,{stretchEl:"."+Ext.baseCSSPrefix+"stretcher",scrollEl:"."+Ext.baseCSSPrefix+"scroller-ct"});f.callParent()},ensureDimension:function(){var d=this,c=d.sizeProp;d[c]=d.scrollerSize=Ext.getScrollbarSize()[c]},initRenderData:function(){var c=this,d=c.callParent(arguments)||{};d.baseId=c.id;return d},afterRender:function(){var b=this;b.callParent();b.mon(b.scrollEl,"scroll",b.onElScroll,b);Ext.cache[b.el.id].skipGarbageCollection=true},onAdded:function(b){this.ownerGrid=b;this.callParent(arguments)},getSizeCalculation:function(){var l=this,p=l.getPanel(),m=1,i=1,o,k;if(!l.vertical){var n=p.query("tableview"),j=n[1]||n[0];if(!j){return false}m=j.headerCt.getFullWidth();if(Ext.isIEQuirks){m--}}else{o=p.down("tableview:not([lockableInjected])");if(!o||!o.el){return false}k=o.el.child("table",true);if(!k){return false}i=k.offsetHeight}if(isNaN(m)){m=1}if(isNaN(i)){i=1}return{width:m,height:i}},invalidate:function(o){var m=this,n=m.stretchEl;if(!n||!m.ownerCt){return}var j=m.getSizeCalculation(),k=m.scrollEl,q=k.dom,p=m.reservedSpace,l,r=5;if(j){n.setSize(j);j=m.el.getSize(true);if(m.vertical){j.width+=r;j.height-=p;l="left"}else{j.width-=p;j.height+=r;l="top"}k.setSize(j);q.style[l]=(-r)+"px";q.scrollTop=q.scrollTop}},afterComponentLayout:function(){this.callParent(arguments);this.invalidate()},restoreScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;if(f._scrollPos!==null&&e){e[f.scrollProp]=f._scrollPos;f._scrollPos=null}},setReservedSpace:function(c){var d=this;if(d.reservedSpace!==c){d.reservedSpace=c;d.invalidate()}},saveScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;f._scrollPos=e?e[f.scrollProp]:null},setScrollTop:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollTop=Ext.Number.constrain(f,0,e.scrollHeight-e.clientHeight)}},setScrollLeft:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollLeft=Ext.Number.constrain(f,0,e.scrollWidth-e.clientWidth)}},scrollByDeltaY:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollTop(e.scrollTop+f)}},scrollByDeltaX:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollLeft(e.scrollLeft+f)}},scrollToTop:function(){this.setScrollTop(0)},onElScroll:function(d,c){this.fireEvent("bodyscroll",d,c)},getPanel:function(){var b=this;if(!b.panel){b.panel=this.up("[scrollerOwner]")}return b.panel}});Ext.define("Ext.data.Batch",{mixins:{observable:"Ext.util.Observable"},autoStart:false,current:-1,total:0,isRunning:false,isComplete:false,hasException:false,pauseOnException:true,constructor:function(d){var c=this;c.addEvents("complete","exception","operationcomplete");c.mixins.observable.constructor.call(c,d);c.operations=[]},add:function(b){this.total++;b.setBatch(this);this.operations.push(b)},start:function(){this.hasException=false;this.isRunning=true;this.runNextOperation()},runNextOperation:function(){this.runOperation(this.current+1)},pause:function(){this.isRunning=false},runOperation:function(i){var h=this,j=h.operations,f=j[i],g;if(f===undefined){h.isRunning=false;h.isComplete=true;h.fireEvent("complete",h,j[j.length-1])}else{h.current=i;g=function(b){var a=b.hasException();if(a){h.hasException=true;h.fireEvent("exception",h,b)}else{h.fireEvent("operationcomplete",h,b)}if(a&&h.pauseOnException){h.pause()}else{b.setCompleted();h.runNextOperation()}};f.setStarted();h.proxy[f.action](f,g,h)}}});Ext.define("Ext.data.Request",{action:undefined,params:undefined,method:"GET",url:undefined,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.util.History",{singleton:true,alternateClassName:"Ext.History",mixins:{observable:"Ext.util.Observable"},constructor:function(){var b=this;b.oldIEMode=Ext.isIE6||Ext.isIE7||!Ext.isStrict&&Ext.isIE8;b.iframe=null;b.hiddenField=null;b.ready=false;b.currentToken=null},getHash:function(){var d=window.location.href,c=d.indexOf("#");return c>=0?d.substr(c+1):null},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(b){this.currentToken=b;this.fireEvent("change",b)},updateIFrame:function(e){var f='<html><body><div id="state">'+Ext.util.Format.htmlEncode(e)+"</div></body></html>";try{var g=this.iframe.contentWindow.document;g.open();g.write(f);g.close();return true}catch(h){return false}},checkIFrame:function(){var k=this,g=k.iframe.contentWindow;if(!g||!g.document){Ext.Function.defer(this.checkIFrame,10,this);return}var j=g.document,l=j.getElementById("state"),h=l?l.innerText:null,i=k.getHash();Ext.TaskManager.start({run:function(){var a=g.document,b=a.getElementById("state"),d=b?b.innerText:null,c=k.getHash();if(d!==h){h=d;k.handleStateChange(d);window.top.location.hash=d;i=d;k.doSave()}else{if(c!==i){i=c;k.updateIFrame(c)}}},interval:50,scope:k});k.ready=true;k.fireEvent("ready",k)},startUp:function(){var d=this;d.currentToken=d.hiddenField.value||this.getHash();if(d.oldIEMode){d.checkIFrame()}else{var c=d.getHash();Ext.TaskManager.start({run:function(){var a=d.getHash();if(a!==c){c=a;d.handleStateChange(c);d.doSave()}},interval:50,scope:d});d.ready=true;d.fireEvent("ready",d)}},fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",init:function(f,e){var d=this;if(d.ready){Ext.callback(f,e,[d]);return}if(!Ext.isReady){Ext.onReady(function(){d.init(f,e)});return}d.hiddenField=Ext.getDom(d.fieldId);if(d.oldIEMode){d.iframe=Ext.getDom(d.iframeId)}d.addEvents("ready","change");if(f){d.on("ready",f,e,{single:true})}d.startUp()},add:function(e,f){var d=this;if(f!==false){if(d.getToken()===e){return true}}if(d.oldIEMode){return d.updateIFrame(e)}else{window.top.location.hash=e;return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.data.JsonP",{singleton:true,statics:{requestCount:0,requests:{}},timeout:30000,disableCaching:true,disableCachingParam:"_dc",callbackKey:"callback",request:function(n){n=Ext.apply({},n);if(!n.url){Ext.Error.raise("A url must be specified for a JSONP request.")}var r=this,w=Ext.isDefined(n.disableCaching)?n.disableCaching:r.disableCaching,t=n.disableCachingParam||r.disableCachingParam,x=++r.statics().requestCount,p=n.callbackName||"callback"+x,s=n.callbackKey||r.callbackKey,o=Ext.isDefined(n.timeout)?n.timeout:r.timeout,v=Ext.apply({},n.params),y=n.url,z=Ext.isSandboxed?Ext.getUniqueGlobalNamespace():"Ext",u,q;v[s]=z+".data.JsonP."+p;if(w){v[t]=new Date().getTime()}q=r.createScript(y,v);r.statics().requests[x]=u={url:y,params:v,script:q,id:x,scope:n.scope,success:n.success,failure:n.failure,callback:n.callback,callbackName:p};if(o>0){u.timeout=setTimeout(Ext.bind(r.handleTimeout,r,[u]),o)}r.setupErrorHandling(u);r[p]=Ext.bind(r.handleResponse,r,[u],true);Ext.getHead().appendChild(q);return u},abort:function(d){var f=this.statics().requests,e;if(d){if(!d.id){d=f[d]}this.abort(d)}else{for(e in f){if(f.hasOwnProperty(e)){this.abort(f[e])}}}},setupErrorHandling:function(b){b.script.onerror=Ext.bind(this.handleError,this,[b])},handleAbort:function(b){b.errorType="abort";this.handleResponse(null,b)},handleError:function(b){b.errorType="error";this.handleResponse(null,b)},cleanupErrorHandling:function(b){b.script.onerror=null},handleTimeout:function(b){b.errorType="timeout";this.handleResponse(null,b)},handleResponse:function(e,d){var f=true;if(d.timeout){clearTimeout(d.timeout)}delete this[d.callbackName];delete this.statics()[d.id];this.cleanupErrorHandling(d);Ext.fly(d.script).remove();if(d.errorType){f=false;Ext.callback(d.failure,d.scope,[d.errorType])}else{Ext.callback(d.success,d.scope,[e])}Ext.callback(d.callback,d.scope,[f,e,d.errorType])},createScript:function(d,f){var e=document.createElement("script");e.setAttribute("src",Ext.urlAppend(d,Ext.Object.toQueryString(f)));e.setAttribute("async",true);e.setAttribute("type","text/javascript");return e}});Ext.define("Ext.dd.DragZone",{extend:"Ext.dd.DragSource",constructor:function(c,d){this.callParent([c,d]);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}},getDragData:function(b){return Ext.dd.Registry.getHandleFromEvent(b)},onInitDrag:function(d,c){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(d,c);return true},afterRepair:function(){var b=this;if(Ext.enableFx){Ext.fly(b.dragData.ddel).highlight(b.repairHighlightColor)}b.dragging=false},getRepairXY:function(b){return Ext.Element.fly(this.dragData.ddel).getXY()},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.ElementLoader",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.data.Connection","Ext.Ajax"],statics:{Renderer:{Html:function(e,d,f){e.getTarget().update(d.responseText,f.scripts===true);return true}}},url:null,params:null,baseParams:null,autoLoad:false,target:null,loadMask:false,ajaxOptions:null,scripts:false,isLoader:true,constructor:function(d){var f=this,e;d=d||{};Ext.apply(f,d);f.setTarget(f.target);f.addEvents("beforeload","exception","load");f.mixins.observable.constructor.call(f);if(f.autoLoad){e=f.autoLoad;if(e===true){e={}}f.load(e)}},setTarget:function(c){var d=this;c=Ext.get(c);if(d.target&&d.target!=c){d.abort()}d.target=c},getTarget:function(){return this.target||null},abort:function(){var b=this.active;if(b!==undefined){Ext.Ajax.abort(b.request);if(b.mask){this.removeMask()}delete this.active}},removeMask:function(){this.target.unmask()},addMask:function(b){this.target.mask(b===true?null:b)},load:function(k){if(!this.target){Ext.Error.raise("A valid target is required when loading content")}k=Ext.apply({},k);var n=this,o=n.target,j=Ext.isDefined(k.loadMask)?k.loadMask:n.loadMask,q=Ext.apply({},k.params),r=Ext.apply({},k.ajaxOptions),m=k.callback||n.callback,l=k.scope||n.scope||n,p;Ext.applyIf(r,n.ajaxOptions);Ext.applyIf(k,r);Ext.applyIf(q,n.params);Ext.apply(q,n.baseParams);Ext.applyIf(k,{url:n.url});if(!k.url){Ext.Error.raise("You must specify the URL from which content should be loaded")}Ext.apply(k,{scope:n,params:q,callback:n.onComplete});if(n.fireEvent("beforeload",n,k)===false){return}if(j){n.addMask(j)}p=Ext.Ajax.request(k);n.active={request:p,options:k,mask:j,scope:l,callback:m,success:k.success||n.success,failure:k.failure||n.failure,renderer:k.renderer||n.renderer,scripts:Ext.isDefined(k.scripts)?k.scripts:n.scripts};n.setOptions(n.active,k)},setOptions:Ext.emptyFn,onComplete:function(h,j,i){var m=this,k=m.active,n=k.scope,l=m.getRenderer(k.renderer);if(j){j=l.call(m,m,i,k)}if(j){Ext.callback(k.success,n,[m,i,h]);m.fireEvent("load",m,i,h)}else{Ext.callback(k.failure,n,[m,i,h]);m.fireEvent("exception",m,i,h)}Ext.callback(k.callback,n,[m,j,i,h]);if(k.mask){m.removeMask()}delete m.active},getRenderer:function(b){if(Ext.isFunction(b)){return b}return this.statics().Renderer.Html},startAutoRefresh:function(e,d){var f=this;f.stopAutoRefresh();f.autoRefresh=setInterval(function(){f.load(d)},e)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var b=this;b.stopAutoRefresh();delete b.target;b.abort();b.clearListeners()}});Ext.define("Ext.dd.DragTracker",{uses:["Ext.util.Region"],mixins:{observable:"Ext.util.Observable"},active:false,trackOver:false,tolerance:5,autoStart:false,constructor:function(b){Ext.apply(this,b);this.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");this.dragRegion=Ext.create("Ext.util.Region",0,0,0,0);if(this.el){this.initEl(this.el)}this.mixins.observable.constructor.call(this);if(this.disabled){this.disable()}},initEl:function(b){this.el=Ext.get(b);this.handle=Ext.get(this.delegate);this.delegate=this.handle?undefined:this.delegate;if(!this.handle){this.handle=this.el}this.mon(this.handle,{mousedown:this.onMouseDown,delegate:this.delegate,scope:this});if(this.trackOver||this.overCls){this.mon(this.handle,{mouseover:this.onMouseOver,mouseout:this.onMouseOut,delegate:this.delegate,scope:this})}},disable:function(){this.disabled=true},enable:function(){this.disabled=false},destroy:function(){this.clearListeners();delete this.el},onMouseOver:function(f,d){var e=this;if(!e.disabled){if(Ext.EventManager.contains(f)||e.delegate){e.mouseIsOut=false;if(e.overCls){e.el.addCls(e.overCls)}e.fireEvent("mouseover",e,f,e.delegate?f.getTarget(e.delegate,d):e.handle)}}},onMouseOut:function(b){if(this.mouseIsDown){this.mouseIsOut=true}else{if(this.overCls){this.el.removeCls(this.overCls)}this.fireEvent("mouseout",this,b)}},onMouseDown:function(c,d){if(this.disabled||c.dragTracked){return}this.dragTarget=this.delegate?d:this.handle.dom;this.startXY=this.lastXY=c.getXY();this.startRegion=Ext.fly(this.dragTarget).getRegion();if(this.fireEvent("mousedown",this,c)===false||this.fireEvent("beforedragstart",this,c)===false||this.onBeforeStart(c)===false){return}this.mouseIsDown=true;c.dragTracked=true;if(this.preventDefault!==false){c.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=Ext.defer(this.triggerStart,this.autoStart===true?1000:this.autoStart,this,[c])}},onMouseMove:function(g,h){if(this.active&&Ext.isIE&&!g.browserEvent.button){g.preventDefault();this.onMouseUp(g);return}g.preventDefault();var e=g.getXY(),f=this.startXY;this.lastXY=e;if(!this.active){if(Math.max(Math.abs(f[0]-e[0]),Math.abs(f[1]-e[1]))>this.tolerance){this.triggerStart(g)}else{return}}if(this.fireEvent("mousemove",this,g)===false){this.onMouseUp(g)}else{this.onDrag(g);this.fireEvent("drag",this,g)}},onMouseUp:function(b){this.mouseIsDown=false;if(this.mouseIsOut){this.mouseIsOut=false;this.onMouseOut(b)}b.preventDefault();this.fireEvent("mouseup",this,b);this.endDrag(b)},endDrag:function(f){var d=Ext.getDoc(),e=this.active;d.un("mousemove",this.onMouseMove,this);d.un("mouseup",this.onMouseUp,this);d.un("selectstart",this.stopSelect,this);this.clearStart();this.active=false;if(e){this.onEnd(f);this.fireEvent("dragend",this,f)}delete this._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(b){this.clearStart();this.active=true;this.onStart(b);this.fireEvent("dragstart",this,b)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(b){b.stopEvent();return false},onBeforeStart:function(b){},onStart:function(b){},onDrag:function(b){},onEnd:function(b){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){if(this.constrainTo){if(this.constrainTo instanceof Ext.util.Region){return this.constrainTo}if(!this._constrainRegion){this._constrainRegion=Ext.fly(this.constrainTo).getViewRegion()}}else{if(!this._constrainRegion){this._constrainRegion=this.getDragCt().getViewRegion()}}return this._constrainRegion},getXY:function(b){return b?this.constrainModes[b](this,this.lastXY):this.lastXY},getOffset:function(f){var d=this.getXY(f),e=this.startXY;return[d[0]-e[0],d[1]-e[1]]},constrainModes:{point:function(e,g){var h=e.dragRegion,f=e.getConstrainRegion();if(!f){return g}h.x=h.left=h[0]=h.right=g[0];h.y=h.top=h[1]=h.bottom=g[1];h.constrainTo(f);return[h.left,h.top]},dragTarget:function(l,i){var g=l.startXY,j=l.startRegion.copy(),h=l.getConstrainRegion(),k;if(!h){return i}j.translateBy(i[0]-g[0],i[1]-g[1]);if(j.right>h.right){i[0]+=k=(h.right-j.right);j.left+=k}if(j.left<h.left){i[0]+=(h.left-j.left)}if(j.bottom>h.bottom){i[1]+=k=(h.bottom-j.bottom);j.top+=k}if(j.top<h.top){i[1]+=(h.top-j.top)}return i}}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",onLayout:function(c,d){this.owner.surface.setSize(c,d);this.callParent(arguments)}});Ext.define("Ext.grid.header.DragZone",{extend:"Ext.dd.DragZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",maxProxyWidth:120,constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(e){var g=e.getTarget("."+this.colHeaderCls),f;if(g){f=Ext.getCmp(g.id);if(!this.headerCt.dragging&&f.draggable&&!(f.isOnLeftEdge(e)||f.isOnRightEdge(e))){var h=document.createElement("div");h.innerHTML=Ext.getCmp(g.id).text;return{ddel:h,header:f}}}return false},onBeforeDrag:function(){return !(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=true;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=false;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=false},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=true},enable:function(){this.disabled=false}});Ext.define("Ext.grid.LockingView",{mixins:{observable:"Ext.util.Observable"},eventRelayRe:/^(beforeitem|beforecontainer|item|container|cell)/,constructor:function(p){var m=this,k=[],j=m.eventRelayRe,i=p.locked.getView(),l=p.normal.getView(),o,n;Ext.apply(m,{lockedView:i,normalView:l,lockedGrid:p.locked,normalGrid:p.normal,panel:p.panel});m.mixins.observable.constructor.call(m,p);o=i.events;for(n in o){if(o.hasOwnProperty(n)&&j.test(n)){k.push(n)}}m.relayEvents(i,k);m.relayEvents(l,k);l.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter});i.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter})},getGridColumns:function(){var b=this.lockedGrid.headerCt.getGridColumns();return b.concat(this.normalGrid.headerCt.getGridColumns())},getEl:function(b){return this.getViewForColumn(b).getEl()},getViewForColumn:function(d){var e=this.lockedView,f;e.headerCt.cascade(function(a){if(a===d){f=true;return false}});return f?e:this.normalView},onItemMouseEnter:function(l,g){var i=this,k=i.lockedView,h=i.normalView,j;if(l.trackOver){if(l!==k){h=k}j=h.getNode(g);h.highlightItem(j)}},onItemMouseLeave:function(j,f){var h=this,i=h.lockedView,g=h.normalView;if(j.trackOver){if(j!==i){g=i}g.clearHighlight()}},relayFn:function(f,d){d=d||[];var e=this.lockedView;e[f].apply(e,d||[]);e=this.normalView;e[f].apply(e,d||[])},getSelectionModel:function(){return this.panel.getSelectionModel()},getStore:function(){return this.panel.store},getNode:function(b){return this.normalView.getNode(b)},getCell:function(e,h){var f=this.getViewForColumn(h),g;g=f.getNode(e);return Ext.fly(g).down(h.getCellSelector())},getRecord:function(c){var d=this.lockedView.getRecord(c);if(!c){d=this.normalView.getRecord(c)}return d},addElListener:function(e,f,d){this.relayFn("addElListener",arguments)},refreshNode:function(){this.relayFn("refreshNode",arguments)},refresh:function(){this.relayFn("refresh",arguments)},bindStore:function(){this.relayFn("bindStore",arguments)},addRowCls:function(){this.relayFn("addRowCls",arguments)},removeRowCls:function(){this.relayFn("removeRowCls",arguments)}});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",clear:function(){Ext.Error.raise("The Ext.data.proxy.Client subclass that you are using has not defined a 'clear' function. See src/data/ClientProxy.js for details.")}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},isCompositeSprite:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("mousedown","mouseup","mouseover","mouseout","click");c.id=Ext.id(null,"ext-sprite-group-");c.callParent()},onClick:function(b){this.fireEvent("click",b)},onMouseUp:function(b){this.fireEvent("mouseup",b)},onMouseDown:function(b){this.fireEvent("mousedown",b)},onMouseOver:function(b){this.fireEvent("mouseover",b)},onMouseOut:function(b){this.fireEvent("mouseout",b)},attachEvents:function(c){var d=this;c.on({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick})},add:function(d,f){var e=this.callParent(arguments);this.attachEvents(e);return e},insert:function(e,d,f){return this.callParent(arguments)},remove:function(c){var d=this;c.un({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick});return d.callParent(arguments)},getBBox:function(){var t=0,i,q,p=this.items,s=this.length,r=Infinity,v=r,n=-r,w=r,o=-r,u,x;for(;t<s;t++){i=p[t];if(i.el){q=i.getBBox();v=Math.min(v,q.x);w=Math.min(w,q.y);n=Math.max(n,q.height+q.y);o=Math.max(o,q.width+q.x)}}return{x:v,y:w,height:n-w,width:o-v}},setAttributes:function(j,h){var i=0,f=this.items,g=this.length;for(;i<g;i++){f[i].setAttributes(j,h)}return this},hide:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].hide(g)}return this},show:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].show(g)}return this},redraw:function(){var h=this,i=0,j=h.items,f=h.getSurface(),g=h.length;if(f){for(;i<g;i++){f.renderItem(j[i])}}return h},setStyle:function(i){var l=0,g=this.items,h=this.length,j,k;for(;l<h;l++){j=g[l];k=j.el;if(k){k.setStyle(i)}}},addCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.addCls(j[i],h)}}},removeCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.removeCls(j[i],h)}}},getSurface:function(){var b=this.first();if(b){return b.surface}return null},destroy:function(){var f=this,e=f.getSurface(),d;if(e){while(f.getCount()>0){d=f.first();f.remove(d);e.remove(d)}}f.clearListeners()}});Ext.define("Ext.dd.Registry",{singleton:true,constructor:function(){this.elements={};this.handles={};this.autoIdSeed=0},getId:function(d,e){if(typeof d=="string"){return d}var f=d.id;if(!f&&e!==false){f="extdd-"+(++this.autoIdSeed);d.id=f}return f},register:function(i,h){h=h||{};if(typeof i=="string"){i=document.getElementById(i)}h.ddel=i;this.elements[this.getId(i)]=h;if(h.isHandle!==false){this.handles[h.ddel.id]=h}if(h.handles){var j=h.handles;for(var f=0,g=j.length;f<g;f++){this.handles[this.getId(j[f])]=h}}},unregister:function(k){var i=this.getId(k,false);var j=this.elements[i];if(j){delete this.elements[i];if(j.handles){var l=j.handles;for(var g=0,h=l.length;g<h;g++){delete this.handles[this.getId(l[g],false)]}}}},getHandle:function(b){if(typeof b!="string"){b=b.id}return this.handles[b]},getHandleFromEvent:function(c){var d=c.getTarget();return d?this.handles[d.id]:null},getTarget:function(b){if(typeof b!="string"){b=b.id}return this.elements[b]},getTargetFromEvent:function(c){var d=c.getTarget();return d?this.elements[d.id]||this.handles[d.id]:null}});Ext.define("Ext.dd.DDTarget",{extend:"Ext.dd.DragDrop",constructor:function(f,e,d){if(f){this.initTarget(f,e,d)}},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.define("Ext.dd.ScrollManager",{singleton:true,requires:["Ext.dd.DragDropManager"],constructor:function(){var b=Ext.dd.DragDropManager;b.fireEvents=Ext.Function.createSequence(b.fireEvents,this.onFire,this);b.stopDrag=Ext.Function.createSequence(b.stopDrag,this.onStop,this);this.doScroll=Ext.Function.bind(this.doScroll,this);this.ddmInstance=b;this.els={};this.dragEl=null;this.proc={}},onStop:function(d){var c=Ext.dd.ScrollManager;c.dragEl=null;c.clearProc()},triggerRefresh:function(){if(this.ddmInstance.dragCurrent){this.ddmInstance.refreshCache(this.ddmInstance.dragCurrent.groups)}},doScroll:function(){if(this.ddmInstance.dragCurrent){var f=this.proc,e=f.el,h=f.el.ddScrollConfig,g=h?h.increment:this.increment;if(!this.animate){if(e.scroll(f.dir,g)){this.triggerRefresh()}}else{e.scroll(f.dir,g,true,this.animDuration,this.triggerRefresh)}}},clearProc:function(){var b=this.proc;if(b.id){clearInterval(b.id)}b.id=0;b.el=null;b.dir=""},startProc:function(e,f){this.clearProc();this.proc.el=e;this.proc.dir=f;var g=e.ddScrollConfig?e.ddScrollConfig.ddGroup:undefined,h=(e.ddScrollConfig&&e.ddScrollConfig.frequency)?e.ddScrollConfig.frequency:this.frequency;if(g===undefined||this.ddmInstance.dragCurrent.ddGroup==g){this.proc.id=setInterval(this.doScroll,h)}},onFire:function(p,m){if(m||!this.ddmInstance.dragCurrent){return}if(!this.dragEl||this.dragEl!=this.ddmInstance.dragCurrent){this.dragEl=this.ddmInstance.dragCurrent;this.refreshCache()}var e=p.getXY(),c=p.getPoint(),o=this.proc,q=this.els;for(var s in q){var r=q[s],t=r._region;var n=r.ddScrollConfig?r.ddScrollConfig:this;if(t&&t.contains(c)&&r.isScrollable()){if(t.bottom-c.y<=n.vthresh){if(o.el!=r){this.startProc(r,"down")}return}else{if(t.right-c.x<=n.hthresh){if(o.el!=r){this.startProc(r,"left")}return}else{if(c.y-t.top<=n.vthresh){if(o.el!=r){this.startProc(r,"up")}return}else{if(c.x-t.left<=n.hthresh){if(o.el!=r){this.startProc(r,"right")}return}}}}}}this.clearProc()},register:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.register(f[d])}}else{f=Ext.get(f);this.els[f.id]=f}},unregister:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.unregister(f[d])}}else{f=Ext.get(f);delete this.els[f.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,ddGroup:undefined,refreshCache:function(){var d=this.els,c;for(c in d){if(typeof d[c]=="object"){d[c]._region=d[c].getRegion()}}}});Ext.define("Ext.view.DragZone",{extend:"Ext.dd.DragZone",containerScroll:false,constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el.dom.parentNode]);c.ddel=Ext.get(document.createElement("div"));c.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(f,e,d){this.initTarget(f,e,d);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onItemMouseDown:function(e,g,i,j,h){if(!this.isPreventDrag(h,g,i,j)){this.handleMouseDown(h);if(e.getSelectionModel().selectionMode=="MULTI"&&!h.ctrlKey&&e.getSelectionModel().isSelected(g)){return false}}},isPreventDrag:function(b){return false},getDragData:function(i){var l=this.view,j=i.getTarget(l.getItemSelector()),e,h,k;if(j){e=l.getRecord(j);h=l.getSelectionModel();k=h.getSelection();return{copy:this.view.copy||(this.view.allowCopy&&i.ctrlKey),event:new Ext.EventObjectImpl(i),view:l,ddel:this.ddel,item:j,records:k,fromPosition:Ext.fly(j).getXY()}}},onInitDrag:function(e,k){var n=this,m=n.dragData,o=m.view,j=o.getSelectionModel(),p=o.getRecord(m.item),l=m.event;if(!j.isSelected(p)||l.hasModifier()){j.selectWithEvent(p,l,true)}m.records=j.getSelection();n.ddel.update(n.getDragText());n.proxy.update(n.ddel.dom);n.onStartDrag(e,k);return true},getDragText:function(){var b=this.dragData.records.length;return Ext.String.format(this.dragText,b,b==1?"":"s")},getRepairXY:function(c,d){return d?d.fromPosition:false}});Ext.define("Ext.ComponentLoader",{extend:"Ext.ElementLoader",statics:{Renderer:{Data:function(g,e,i){var h=true;try{g.getTarget().update(Ext.decode(e.responseText))}catch(j){h=false}return h},Component:function(i,n,k){var j=true,l=i.getTarget(),e=[];if(!l.isContainer){Ext.Error.raise({target:l,msg:"Components can only be loaded into a container"})}try{e=Ext.decode(n.responseText)}catch(m){j=false}if(j){if(k.removeAll){l.removeAll()}l.add(e)}return j}}},target:null,loadMask:false,renderer:"html",setTarget:function(c){var d=this;if(Ext.isString(c)){c=Ext.getCmp(c)}if(d.target&&d.target!=c){d.abort()}d.target=c},removeMask:function(){this.target.setLoading(false)},addMask:function(b){this.target.setLoading(b)},setOptions:function(c,d){c.removeAll=Ext.isDefined(d.removeAll)?d.removeAll:this.removeAll},getRenderer:function(c){if(Ext.isFunction(c)){return c}var d=this.statics().Renderer;switch(c){case"component":return d.Component;case"data":return d.Data;default:return Ext.ElementLoader.Renderer.Html}}});Ext.define("Ext.util.ComponentDragger",{extend:"Ext.dd.DragTracker",autoStart:500,constructor:function(d,c){this.comp=d;this.initialConstrainTo=c.constrainTo;this.callParent([c])},onStart:function(f){var d=this,e=d.comp;this.startPosition=e.getPosition();if(e.ghost&&!e.liveDrag){d.proxy=e.ghost();d.dragTarget=d.proxy.header.el}if(d.constrain||d.constrainDelegate){d.constrainTo=d.calculateConstrainRegion()}},calculateConstrainRegion:function(){var l=this,h=l.comp,i=l.initialConstrainTo,k,j,c=h.el.shadow?h.el.shadow.offset:0;if(!(i instanceof Ext.util.Region)){i=Ext.fly(i).getViewRegion()}if(c){i.adjust(0,-c,-c,c)}if(!l.constrainDelegate){k=Ext.fly(l.dragTarget).getRegion();j=l.proxy?l.proxy.el.getRegion():h.el.getRegion();i.adjust(k.top-j.top,k.right-j.right,k.bottom-j.bottom,k.left-j.left)}return i},onDrag:function(h){var e=this,f=(e.proxy&&!e.comp.liveDrag)?e.proxy:e.comp,g=e.getOffset(e.constrain||e.constrainDelegate?"dragTarget":null);f.setPosition(e.startPosition[0]+g[0],e.startPosition[1]+g[1])},onEnd:function(b){if(this.proxy&&!this.comp.liveDrag){this.comp.unghost()}}});Ext.define("Ext.window.Window",{extend:"Ext.panel.Panel",alternateClassName:"Ext.Window",requires:["Ext.util.ComponentDragger","Ext.util.Region","Ext.EventManager"],alias:"widget.window",baseCls:Ext.baseCSSPrefix+"window",resizable:true,draggable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,collapsible:false,closable:true,hidden:true,autoRender:true,hideMode:"visibility",floating:true,ariaRole:"alertdialog",itemCls:"x-window-item",overlapHeader:true,ignoreHeaderBorderManagement:true,initComponent:function(){var b=this;b.callParent();b.addEvents("resize","maximize","minimize","restore");if(b.plain){b.addClsWithUI("plain")}if(b.modal){b.ariaRole="dialog"}},initStateEvents:function(){var b=this.stateEvents;Ext.each(["maximize","restore","resize","dragend"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},getState:function(){var d=this,f=d.callParent()||{},e=!!d.maximized;f.maximized=e;Ext.apply(f,{size:e?d.restoreSize:d.getSize(),pos:e?d.restorePos:d.getPosition()});return f},applyState:function(c){var d=this;if(c){d.maximized=c.maximized;if(d.maximized){d.hasSavedRestore=true;d.restoreSize=c.size;d.restorePos=c.pos}else{Ext.apply(d,{width:c.size.width,height:c.size.height,x:c.pos[0],y:c.pos[1]})}}},onMouseDown:function(c){var d;if(this.floating){if(Ext.fly(c.getTarget()).focusable()){d=true}this.toFront(d)}},onRender:function(d,e){var f=this;f.callParent(arguments);f.focusEl=f.el;if(f.maximizable){f.header.on({dblclick:{fn:f.toggleMaximize,element:"el",scope:f}})}},afterRender:function(){var e=this,d=e.hidden,f;e.hidden=false;e.callParent();e.hidden=d;e.proxy=e.getProxy();e.mon(e.el,"mousedown",e.onMouseDown,e);e.el.set({tabIndex:-1});if(e.maximized){e.maximized=false;e.maximize()}if(e.closable){f=e.getKeyMap();f.on(27,e.onEsc,e);f.disable()}if(!d){e.syncMonitorWindowResize();e.doConstrain()}},initDraggable:function(){var c=this,d;if(!c.header){c.updateHeader(true)}if(c.header){d=Ext.applyIf({el:c.el,delegate:"#"+c.header.id},c.draggable);if(c.constrain||c.constrainHeader){d.constrain=c.constrain;d.constrainDelegate=c.constrainHeader;d.constrainTo=c.constrainTo||c.container}c.dd=Ext.create("Ext.util.ComponentDragger",this,d);c.relayEvents(c.dd,["dragstart","drag","dragend"])}},onEsc:function(d,c){c.stopEvent();this[this.closeAction]()},beforeDestroy:function(){var b=this;if(b.rendered){delete this.animateTarget;b.hide();Ext.destroy(b.keyMap)}b.callParent()},addTools:function(){var b=this;b.callParent();if(b.minimizable){b.addTool({type:"minimize",handler:Ext.Function.bind(b.minimize,b,[])})}if(b.maximizable){b.addTool({type:"maximize",handler:Ext.Function.bind(b.maximize,b,[])});b.addTool({type:"restore",handler:Ext.Function.bind(b.restore,b,[]),hidden:true})}},getFocusEl:function(){var k=this,i=k.focusEl,j=k.defaultButton||k.defaultFocus,f=typeof db,l,h;if(Ext.isDefined(j)){if(Ext.isNumber(j)){i=k.query("button")[j]}else{if(Ext.isString(j)){i=k.down("#"+j)}else{i=j}}}return i||k.focusEl},beforeShow:function(){this.callParent();if(this.expandOnShow){this.expand(false)}},afterShow:function(f){var d=this,e=f||d.animateTarget;d.callParent(arguments);if(d.maximized){d.fitContainer()}d.syncMonitorWindowResize();if(!e){d.doConstrain()}if(d.keyMap){d.keyMap.enable()}},doClose:function(){var b=this;if(b.hidden){b.fireEvent("close",b);if(b.closeAction=="destroy"){this.destroy()}}else{b.hide(b.animateTarget,b.doClose,b)}},afterHide:function(){var b=this;b.syncMonitorWindowResize();if(b.keyMap){b.keyMap.disable()}b.callParent(arguments)},onWindowResize:function(){if(this.maximized){this.fitContainer()}this.doConstrain()},minimize:function(){this.fireEvent("minimize",this);return this},afterCollapse:function(){var b=this;if(b.maximizable){b.tools.maximize.hide();b.tools.restore.hide()}if(b.resizer){b.resizer.disable()}b.callParent(arguments)},afterExpand:function(){var b=this;if(b.maximized){b.tools.restore.show()}else{if(b.maximizable){b.tools.maximize.show()}}if(b.resizer){b.resizer.enable()}b.callParent(arguments)},maximize:function(){var b=this;if(!b.maximized){b.expand(false);if(!b.hasSavedRestore){b.restoreSize=b.getSize();b.restorePos=b.getPosition(true)}if(b.maximizable){b.tools.maximize.hide();b.tools.restore.show()}b.maximized=true;b.el.disableShadow();if(b.dd){b.dd.disable()}if(b.collapseTool){b.collapseTool.hide()}b.el.addCls(Ext.baseCSSPrefix+"window-maximized");b.container.addCls(Ext.baseCSSPrefix+"window-maximized-ct");b.syncMonitorWindowResize();b.setPosition(0,0);b.fitContainer();b.fireEvent("maximize",b)}return b},restore:function(){var d=this,c=d.tools;if(d.maximized){delete d.hasSavedRestore;d.removeCls(Ext.baseCSSPrefix+"window-maximized");if(c.restore){c.restore.hide()}if(c.maximize){c.maximize.show()}if(d.collapseTool){d.collapseTool.show()}d.setPosition(d.restorePos);d.setSize(d.restoreSize);delete d.restorePos;delete d.restoreSize;d.maximized=false;d.el.enableShadow(true);if(d.dd){d.dd.enable()}d.container.removeCls(Ext.baseCSSPrefix+"window-maximized-ct");d.syncMonitorWindowResize();d.doConstrain();d.fireEvent("restore",d)}return d},syncMonitorWindowResize:function(){var e=this,h=e._monitoringResize,g=e.monitorResize||e.constrain||e.constrainHeader||e.maximized,f=e.hidden||e.destroying||e.isDestroyed;if(g&&!f){if(!h){Ext.EventManager.onWindowResize(e.onWindowResize,e);e._monitoringResize=true}}else{if(h){Ext.EventManager.removeResizeListener(e.onWindowResize,e);e._monitoringResize=false}}},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",getPrevCmp:function(){var b=this.getSplitter();return b.previousSibling()},getNextCmp:function(){var b=this.getSplitter();return b.nextSibling()},onBeforeStart:function(i){var k=this,j=k.getPrevCmp(),h=k.getNextCmp(),l=k.getSplitter().collapseEl,e;if(l&&(i.getTarget()===k.getSplitter().collapseEl.dom)){return false}if(h.collapsed||j.collapsed){return false}e=k.overlay=Ext.getBody().createChild({cls:k.overlayCls,html:"&#160;"});e.unselectable();e.setSize(Ext.Element.getViewWidth(true),Ext.Element.getViewHeight(true));e.show();k.prevBox=j.getEl().getBox();k.nextBox=h.getEl().getBox();k.constrainTo=k.calculateConstrainRegion()},onStart:function(c){var d=this.getSplitter();d.addCls(d.baseCls+"-active")},calculateConstrainRegion:function(){var q=this,v=q.getSplitter(),p=v.getWidth(),o=v.defaultSplitMin,u=v.orientation,s=q.prevBox,n=q.getPrevCmp(),t=q.nextBox,r=q.getNextCmp(),l,m;if(u==="vertical"){l=Ext.create("Ext.util.Region",s.y,(n.maxWidth?s.x+n.maxWidth:t.right-(r.minWidth||o))+p,s.bottom,s.x+(n.minWidth||o));m=Ext.create("Ext.util.Region",t.y,t.right-(r.minWidth||o),t.bottom,(r.maxWidth?t.right-r.maxWidth:s.x+(s.minWidth||o))-p)}else{l=Ext.create("Ext.util.Region",s.y+(n.minHeight||o),s.right,(n.maxHeight?s.y+n.maxHeight:t.bottom-(r.minHeight||o))+p,s.x);m=Ext.create("Ext.util.Region",(r.maxHeight?t.bottom-r.maxHeight:s.y+(n.minHeight||o))-p,t.right,t.bottom-(r.minHeight||o),t.x)}return l.intersect(m)},performResize:function(m){var k=this,p=k.getOffset("dragTarget"),r=k.getSplitter(),o=r.orientation,e=k.getPrevCmp(),l=k.getNextCmp(),q=r.ownerCt,n=q.getLayout();q.suspendLayout=true;if(o==="vertical"){if(e){if(!e.maintainFlex){delete e.flex;e.setSize(k.prevBox.width+p[0],e.getHeight())}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(k.nextBox.width-p[0],l.getHeight())}}}else{if(e){if(!e.maintainFlex){delete e.flex;e.setSize(e.getWidth(),k.prevBox.height+p[1])}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(e.getWidth(),k.nextBox.height-p[1])}}}delete q.suspendLayout;n.onLayout()},endDrag:function(){var b=this;if(b.overlay){b.overlay.remove();delete b.overlay}b.callParent(arguments)},onEnd:function(f){var e=this,d=e.getSplitter();d.removeCls(d.baseCls+"-active");e.performResize()},onDrag:function(j){var l=this,i=l.getOffset("dragTarget"),k=l.getSplitter(),e=k.getEl(),h=k.orientation;if(h==="vertical"){e.setX(l.startRegion.left+i[0])}else{e.setY(l.startRegion.top+i[1])}},getSplitter:function(){return Ext.getCmp(this.getDragCt().id)}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.util.Observable",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,configs:{dynamic:true},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(b){this.headerCt=b;b.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var c=this.headerCt,d=c.el;c.mon(d,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=Ext.create("Ext.dd.DragTracker",{disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:d})},onHeaderCtMouseMove:function(j,g){if(this.headerCt.dragging){if(this.activeHd){this.activeHd.el.dom.style.cursor="";delete this.activeHd}}else{var h=j.getTarget("."+this.colHeaderCls,3,true),e,i;if(h){e=Ext.getCmp(h.id);if(e.isOnLeftEdge(j)){i=e.previousNode("gridcolumn:not([hidden])")}else{if(e.isOnRightEdge(j)){i=e}else{i=null}}if(i){if(i.isGroupHeader){i=i.down(":not([isGroupHeader]):not([hidden]):last")}if(i&&!(i.fixed||(i.resizable===false)||this.disabled)){this.activeHd=i;e.el.dom.style.cursor=this.eResizeCursor}}else{e.el.dom.style.cursor="";delete this.activeHd}}}},onBeforeStart:function(c){var d=c.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(d).hasCls("x-column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var d=this.dragHd.el,c=Ext.util.Region.getRegion(d);return c.adjust(0,this.maxColWidth-d.getWidth(),0,this.minColWidth)},onStart:function(t){var e=this,G=e.dragHd,K=G.el,z=K.getWidth(),E=e.headerCt,C=t.getTarget();if(e.dragHd&&!Ext.fly(C).hasCls("x-column-header-trigger")){E.dragging=true}e.origWidth=z;if(!e.dynamic){var I=K.getXY(),w=E.up("[scrollerOwner]"),H=e.dragHd.up(":not([isGroupHeader])"),D=H.up(),J=w.getLhsMarker(),A=w.getRhsMarker(),L=A.parent(),F=L.getLeft(true),v=L.getTop(true),x=L.translatePoints(I),y=D.body.getHeight()+E.getHeight(),B=x.top-v;J.setTop(B);A.setTop(B);J.setHeight(y);A.setHeight(y);J.setLeft(x.left-F);A.setLeft(x.left+z-F)}},onDrag:function(k){if(!this.dynamic){var l=this.tracker.getXY("point"),i=this.headerCt.up("[scrollerOwner]"),j=i.getRhsMarker(),n=j.parent(),e=n.translatePoints(l),m=n.getLeft(true);j.setLeft(e.left-m)}else{this.doResize()}},onEnd:function(m){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var n=this.dragHd,p=this.headerCt.up("[scrollerOwner]"),o=p.getLhsMarker(),k=p.getRhsMarker(),j=n.getWidth(),l=this.tracker.getOffset("point"),e=-9999;o.setLeft(e);k.setLeft(e)}this.doResize()}},doResize:function(){if(this.dragHd){var d=this.dragHd,e,f=this.tracker.getOffset("point");if(d.flex){delete d.flex}this.headerCt.suspendLayout=true;d.setWidth(this.origWidth+f[0],false);if(this.headerCt.forceFit){e=d.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(e){delete e.flex;e.setWidth(e.getWidth()-f[0],false)}}this.headerCt.suspendLayout=false;this.headerCt.doComponentLayout(this.headerCt.getFullWidth())}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.Lockable",{requires:["Ext.grid.LockingView"],syncRowHeight:true,spacerHidden:true,headerCounter:0,unlockText:"Unlock",lockText:"Lock",determineXTypeToCreate:function(){var l=this,i;if(l.subGridXType){i=l.subGridXType}else{var k=this.getXTypes().split("/"),g=k.length,j=k[g-1],h=k[g-2];if(h!=="tablepanel"){i=h}else{i=j}}return i},injectLockable:function(){this.lockable=true;this.hasView=true;var i=this,r=i.determineXTypeToCreate(),l=i.getSelectionModel(),q={xtype:r,enableAnimations:false,scroll:false,scrollerOwner:false,selModel:l,border:false,cls:Ext.baseCSSPrefix+"grid-inner-locked"},k={xtype:r,enableAnimations:false,scrollerOwner:false,selModel:l,border:false},n=0,o,p,m;i.addCls(Ext.baseCSSPrefix+"grid-locked");Ext.copyTo(k,i,i.normalCfgCopy);Ext.copyTo(q,i,i.lockedCfgCopy);for(;n<i.normalCfgCopy.length;n++){delete i[i.normalCfgCopy[n]]}for(n=0;n<i.lockedCfgCopy.length;n++){delete i[i.lockedCfgCopy[n]]}i.addEvents("lockcolumn","unlockcolumn");i.addStateEvents(["lockcolumn","unlockcolumn"]);i.lockedHeights=[];i.normalHeights=[];o=i.processColumns(i.columns);q.width=o.lockedWidth+Ext.num(l.headerWidth,0);q.columns=o.locked;k.columns=o.normal;i.store=Ext.StoreManager.lookup(i.store);q.store=i.store;k.store=i.store;k.flex=1;q.viewConfig=i.lockedViewConfig||{};q.viewConfig.loadingUseMsg=false;k.viewConfig=i.normalViewConfig||{};Ext.applyIf(q.viewConfig,i.viewConfig);Ext.applyIf(k.viewConfig,i.viewConfig);i.normalGrid=Ext.ComponentManager.create(k);i.lockedGrid=Ext.ComponentManager.create(q);i.view=Ext.create("Ext.grid.LockingView",{locked:i.lockedGrid,normal:i.normalGrid,panel:i});if(i.syncRowHeight){i.lockedGrid.getView().on({refresh:i.onLockedGridAfterRefresh,itemupdate:i.onLockedGridAfterUpdate,scope:i});i.normalGrid.getView().on({refresh:i.onNormalGridAfterRefresh,itemupdate:i.onNormalGridAfterUpdate,scope:i})}p=i.lockedGrid.headerCt;m=i.normalGrid.headerCt;p.lockedCt=true;p.lockableInjected=true;m.lockableInjected=true;p.on({columnshow:i.onLockedHeaderShow,columnhide:i.onLockedHeaderHide,columnmove:i.onLockedHeaderMove,sortchange:i.onLockedHeaderSortChange,columnresize:i.onLockedHeaderResize,scope:i});m.on({columnmove:i.onNormalHeaderMove,sortchange:i.onNormalHeaderSortChange,scope:i});i.normalGrid.on({scrollershow:i.onScrollerShow,scrollerhide:i.onScrollerHide,scope:i});i.lockedGrid.on("afterlayout",i.onLockedGridAfterLayout,i,{single:true});i.modifyHeaderCt();i.items=[i.lockedGrid,i.normalGrid];i.relayHeaderCtEvents(p);i.relayHeaderCtEvents(m);i.layout={type:"hbox",align:"stretch"}},processColumns:function(k){var l=0,i=k.length,h=1,m=[],n=[],j;for(;l<i;++l){j=k[l];j.processed=true;if(j.locked){if(j.flex){Ext.Error.raise("Columns which are locked do NOT support a flex width. You must set a width on the "+k[l].text+"column.")}if(!j.hidden){h+=j.width||Ext.grid.header.Container.prototype.defaultWidth}m.push(j)}else{n.push(j)}if(!j.headerId){j.headerId=(j.initialConfig||j).id||("L"+(++this.headerCounter))}}return{lockedWidth:h,locked:m,normal:n}},onLockedGridAfterLayout:function(){var c=this,d=c.lockedGrid.getView();d.on({beforerefresh:c.destroySpacer,scope:c})},onLockedHeaderMove:function(){if(this.syncRowHeight){this.onNormalGridAfterRefresh()}},onNormalHeaderMove:function(){if(this.syncRowHeight){this.onLockedGridAfterRefresh()}},getSpacerEl:function(){var g=this,e,f,h;if(!g.spacerEl){e=Ext.getScrollBarWidth()+(Ext.isIE?2:0);f=g.lockedGrid.getView();h=f.el;g.spacerEl=Ext.DomHelper.append(h,{cls:g.spacerHidden?(Ext.baseCSSPrefix+"hidden"):"",style:"height: "+e+"px;"},true)}return g.spacerEl},destroySpacer:function(){var b=this;if(b.spacerEl){b.spacerEl.destroy();delete b.spacerEl}},onLockedGridAfterRefresh:function(){var j=this,h=j.lockedGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.lockedHeights=[];for(;g<k;g++){j.lockedHeights[g]=i[g].clientHeight}j.syncRowHeights()},onNormalGridAfterRefresh:function(){var j=this,h=j.normalGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.normalHeights=[];for(;g<k;g++){j.normalHeights[g]=i[g].clientHeight}j.syncRowHeights()},onLockedGridAfterUpdate:function(e,d,f){this.lockedHeights[d]=f.clientHeight;this.syncRowHeights()},onNormalGridAfterUpdate:function(e,d,f){this.normalHeights[d]=f.clientHeight;this.syncRowHeights()},syncRowHeights:function(){var o=this,w=o.lockedHeights,n=o.normalHeights,x=[],p=w.length,r=0,i,u,t,q,s=o.getVerticalScroller(),v;if(w.length&&n.length){i=o.lockedGrid.getView();u=o.normalGrid.getView();t=i.el.query(i.getItemSelector());q=u.el.query(u.getItemSelector());for(;r<p;r++){if(!isNaN(w[r])&&!isNaN(n[r])){if(w[r]>n[r]){Ext.fly(q[r]).setHeight(w[r])}else{if(w[r]<n[r]){Ext.fly(t[r]).setHeight(n[r])}}}}o.normalGrid.invalidateScroller();if(s&&s.setViewScrollTop){s.setViewScrollTop(o.virtualScrollTop)}else{v=u.el.dom.scrollTop;u.el.dom.scrollTop=v;i.el.dom.scrollTop=v}o.lockedHeights=[];o.normalHeights=[]}},onScrollerShow:function(d,c){if(c==="horizontal"){this.spacerHidden=false;this.getSpacerEl().removeCls(Ext.baseCSSPrefix+"hidden")}},onScrollerHide:function(d,c){if(c==="horizontal"){this.spacerHidden=true;if(this.spacerEl){this.spacerEl.addCls(Ext.baseCSSPrefix+"hidden")}}},modifyHeaderCt:function(){var b=this;b.lockedGrid.headerCt.getMenuItems=b.getMenuItems(true);b.normalGrid.headerCt.getMenuItems=b.getMenuItems(false)},onUnlockMenuClick:function(){this.unlock()},onLockMenuClick:function(){this.lock()},getMenuItems:function(i){var m=this,l=m.unlockText,k=m.lockText,p=Ext.baseCSSPrefix+"hmenu-unlock",n=Ext.baseCSSPrefix+"hmenu-lock",j=Ext.Function.bind(m.onUnlockMenuClick,m),o=Ext.Function.bind(m.onLockMenuClick,m);return function(){var a=Ext.grid.header.Container.prototype.getMenuItems.call(this);a.push("-",{cls:p,text:l,handler:j,disabled:!i});a.push({cls:n,text:k,handler:o,disabled:i});return a}},lock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;i=i||k.getMenu().activeHeader;if(i.flex){i.width=i.getWidth();delete i.flex}k.remove(i,false);h.suspendLayout=true;i.locked=true;if(Ext.isDefined(m)){h.insert(m,i)}else{h.add(i)}h.suspendLayout=false;n.syncLockedSection();n.fireEvent("lockcolumn",n,i)},syncLockedSection:function(){var b=this;b.syncLockedWidth();b.lockedGrid.getView().refresh();b.normalGrid.getView().refresh()},syncLockedWidth:function(){var c=this,d=c.lockedGrid.headerCt.getFullWidth(true);c.lockedGrid.setWidth(d+1);c.doComponentLayout()},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(d,f,e){if(e){this.normalGrid.headerCt.clearOtherSortStates(null,true)}},onNormalHeaderSortChange:function(d,f,e){if(e){this.lockedGrid.headerCt.clearOtherSortStates(null,true)}},unlock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;if(!Ext.isDefined(m)){m=0}i=i||h.getMenu().activeHeader;h.remove(i,false);n.syncLockedWidth();n.lockedGrid.getView().refresh();i.locked=false;k.insert(m,i);n.normalGrid.getView().refresh();n.fireEvent("unlockcolumn",n,i)},applyColumnsState:function(t){var n=this,v=n.lockedGrid,u=v.headerCt,p=n.normalGrid.headerCt,m=u.items,s=p.items,x,q=[],o=[],w,r=1;Ext.each(t,function(a){function b(c){return c.headerId==a.id}w=true;if(!(x=m.findBy(b))){x=s.findBy(b);w=false}if(x){if(x.applyColumnState){x.applyColumnState(a)}if(!Ext.isDefined(x.locked)){x.locked=w}if(x.locked){q.push(x);if(!x.hidden&&Ext.isNumber(x.width)){r+=x.width}}else{o.push(x)}}});if(q.length+o.length==m.getCount()+s.getCount()){u.removeAll(false);p.removeAll(false);u.add(q);p.add(o);v.setWidth(r)}},getColumnsState:function(){var d=this,e=d.lockedGrid.headerCt.getColumnsState(),f=d.normalGrid.headerCt.getColumnsState();return e.concat(f)},reconfigureLockable:function(g,f){var j=this,h=j.lockedGrid,i=j.normalGrid;if(f){h.headerCt.suspendLayout=true;i.headerCt.suspendLayout=true;h.headerCt.removeAll();i.headerCt.removeAll();f=j.processColumns(f);h.setWidth(f.lockedWidth);h.headerCt.add(f.locked);i.headerCt.add(f.normal)}if(g){g=Ext.data.StoreManager.lookup(g);j.store=g;h.bindStore(g);i.bindStore(g)}else{h.getView().refresh();i.getView().refresh()}if(f){h.headerCt.suspendLayout=false;i.headerCt.suspendLayout=false;h.headerCt.forceComponentLayout();i.headerCt.forceComponentLayout()}}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",constructor:function(b){this.callParent([b]);this.setReader(this.reader)},read:function(l,i,k){var j=this,g=j.getReader(),h=g.read(j.data);Ext.apply(l,{resultSet:h});l.setCompleted();l.setSuccessful();Ext.callback(i,k||j,[l])},clear:Ext.emptyFn});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml"],separatorRe:/[, ]+/,statics:{create:function(f,i){i=i||["Svg","Vml"];var j=0,g=i.length,h;for(;j<g;j++){if(Ext.supports[i[j]]){return Ext.create("Ext.draw.engine."+i[j],f)}}return false}},availableAttrs:{blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,"dominant-baseline":"auto",fill:"none","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:"",height:0,hidden:false,href:"http://sencha.com/",opacity:1,path:"M0,0",radius:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank",text:"","text-anchor":"middle",title:"Ext Draw",width:0,x:0,y:0,zIndex:0},container:undefined,height:352,width:512,x:0,y:0,orderSpritesByZIndex:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.domRef=Ext.getDoc().dom;c.customAttributes={};c.addEvents("mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","click");c.mixins.observable.constructor.call(c);c.getId();c.initGradients();c.initItems();if(c.renderTo){c.render(c.renderTo);delete c.renderTo}c.initBackground(d.background)},initSurface:Ext.emptyFn,renderItem:Ext.emptyFn,renderItems:Ext.emptyFn,setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()}},addCls:Ext.emptyFn,removeCls:Ext.emptyFn,setStyle:Ext.emptyFn,initGradients:function(){var b=this.gradients;if(b){Ext.each(b,this.addGradient,this)}},initItems:function(){var b=this.items;this.items=Ext.create("Ext.draw.CompositeSprite");this.groups=Ext.create("Ext.draw.CompositeSprite");if(b){this.add(b)}},initBackground:function(h){var l=this,m=l.width,i=l.height,k,j,n;if(h){if(h.gradient){j=h.gradient;k=j.id;l.addGradient(j);l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:"url(#"+k+")"})}else{if(h.fill){l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:h.fill})}else{if(h.image){l.background=l.add({type:"image",x:0,y:0,width:m,height:i,src:h.image})}}}}},setSize:function(d,c){if(this.background){this.background.setAttributes({width:d,height:c,hidden:false},true)}this.applyViewBox()},scrubAttrs:function(i){var j,f={},g={},h=i.attr;for(j in h){if(this.translateAttrs.hasOwnProperty(j)){f[this.translateAttrs[j]]=h[j];g[this.translateAttrs[j]]=true}else{if(this.availableAttrs.hasOwnProperty(j)&&!g[j]){f[j]=h[j]}}}return f},onClick:function(b){this.processEvent("click",b)},onMouseUp:function(b){this.processEvent("mouseup",b)},onMouseDown:function(b){this.processEvent("mousedown",b)},onMouseOver:function(b){this.processEvent("mouseover",b)},onMouseOut:function(b){this.processEvent("mouseout",b)},onMouseMove:function(b){this.fireEvent("mousemove",b)},onMouseEnter:Ext.emptyFn,onMouseLeave:Ext.emptyFn,addGradient:Ext.emptyFn,add:function(){var m=Array.prototype.slice.call(arguments),k,o;var r=m.length>1;if(r||Ext.isArray(m[0])){var l=r?m:m[0],q=[],p,n,i;for(p=0,n=l.length;p<n;p++){i=l[p];i=this.add(i);q.push(i)}return q}k=this.prepareItems(m[0],true)[0];this.insertByZIndex(k);this.onAdd(k);return k},insertByZIndex:function(l){var o=this,q=o.items.items,r=q.length,k=Math.ceil,n=l.attr.zIndex,m=r,s=m-1,p=0,t;if(o.orderSpritesByZIndex&&r&&n<q[s].attr.zIndex){while(p<=s){m=k((p+s)/2);t=q[m].attr.zIndex;if(t>n){s=m-1}else{if(t<n){p=m+1}else{break}}}while(m<r&&q[m].attr.zIndex<=n){m++}}o.items.insert(m,l);return m},onAdd:function(k){var i=k.group,g=k.draggable,h,j,l;if(i){h=[].concat(i);j=h.length;for(l=0;l<j;l++){i=h[l];this.getGroup(i).add(k)}delete k.group}if(g){k.initDraggable()}},remove:function(d,c){if(d){this.items.remove(d);this.groups.each(function(a){a.remove(d)});d.onRemove();if(c===true){d.destroy()}}},removeAll:function(g){var f=this.items.items,h=f.length,e;for(e=h-1;e>-1;e--){this.remove(f[e],g)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var s=this,l=s.viewBox,v=s.width,p=s.height,q,r,n,u,o,t,m;if(l&&(v||p)){q=l.x;r=l.y;n=l.width;u=l.height;o=p/u;t=v/n;if(n*o<v){q-=(v-n*o)/2/o}if(u*t<p){r-=(p-u*t)/2/t}m=1/Math.min(n,o);s.viewBoxShift={dx:-q,dy:-r,scale:m}}},transformToViewBox:function(f,g){if(this.viewBoxShift){var h=this,e=h.viewBoxShift;return[f*e.scale-e.dx,g*e.scale-e.dy]}else{return[f,g]}},applyTransformations:function(e){e.bbox.transform=0;this.transform(e);var g=this,h=false,f=e.attr;if(f.translation.x!=null||f.translation.y!=null){g.translate(e);h=true}if(f.scaling.x!=null||f.scaling.y!=null){g.scale(e);h=true}if(f.rotation.degrees!=null){g.rotate(e);h=true}if(h){e.bbox.transform=0;this.transform(e);e.transformations=[]}},rotate:function(g){var h,f=g.attr.rotation.degrees,i=g.attr.rotation.x,j=g.attr.rotation.y;if(!Ext.isNumber(i)||!Ext.isNumber(j)){h=this.getBBox(g);i=!Ext.isNumber(i)?h.x+h.width/2:i;j=!Ext.isNumber(j)?h.y+h.height/2:j}g.transformations.push({type:"rotate",degrees:f,x:i,y:j})},translate:function(d){var e=d.attr.translation.x||0,f=d.attr.translation.y||0;d.transformations.push({type:"translate",x:e,y:f})},scale:function(g){var j,h=g.attr.scaling.x||1,i=g.attr.scaling.y||1,k=g.attr.scaling.centerX,l=g.attr.scaling.centerY;if(!Ext.isNumber(k)||!Ext.isNumber(l)){j=this.getBBox(g);k=!Ext.isNumber(k)?j.x+j.width/2:k;l=!Ext.isNumber(l)?j.y+j.height/2:l}g.transformations.push({type:"scale",x:h,y:i,centerX:k,centerY:l})},rectPath:function(g,h,f,j,i){if(i){return[["M",g+i,h],["l",f-i*2,0],["a",i,i,0,0,1,i,i],["l",0,j-i*2],["a",i,i,0,0,1,-i,i],["l",i*2-f,0],["a",i,i,0,0,1,-i,-i],["l",0,i*2-j],["a",i,i,0,0,1,i,-i],["z"]]}return[["M",g,h],["l",f,0],["l",0,j],["l",-f,0],["z"]]},ellipsePath:function(f,g,h,e){if(e==null){e=h}return[["M",f,g],["m",0,-e],["a",h,e,0,1,1,0,2*e],["a",h,e,0,1,1,0,-2*e],["z"]]},getPathpath:function(b){return b.attr.path},getPathcircle:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radius,a.radius)},getPathellipse:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radiusX||(a.width/2)||0,a.radiusY||(a.height/2)||0)},getPathrect:function(d){var a=d.attr;return this.rectPath(a.x,a.y,a.width,a.height,a.r)},getPathimage:function(d){var a=d.attr;return this.rectPath(a.x||0,a.y||0,a.width,a.height)},getPathtext:function(d){var c=this.getBBoxText(d);return this.rectPath(c.x,c.y,c.width,c.height)},createGroup:function(c){var d=this.groups.get(c);if(!d){d=Ext.create("Ext.draw.CompositeSprite",{surface:this});d.id=c||Ext.id(null,"ext-surface-group-");this.groups.add(d)}return d},getGroup:function(c){if(typeof c=="string"){var d=this.groups.get(c);if(!d){d=this.createGroup(c)}}else{d=c}return d},prepareItems:function(g,j){g=[].concat(g);var h,f,i;for(f=0,i=g.length;f<i;f++){h=g[f];if(!(h instanceof Ext.draw.Sprite)){h.surface=this;g[f]=this.createItem(h)}else{h.surface=this}}return g},setText:Ext.emptyFn,createItem:Ext.emptyFn,getId:function(){return this.id||(this.id=Ext.id(null,"ext-surface-"))},destroy:function(){delete this.domRef;this.removeAll()}});Ext.define("Ext.draw.Component",{alias:"widget.draw",extend:"Ext.Component",requires:["Ext.draw.Surface","Ext.layout.component.Draw"],enginePriority:["Svg","Vml"],baseCls:Ext.baseCSSPrefix+"surface",componentLayout:"draw",viewBox:true,autoSize:false,initComponent:function(){this.callParent(arguments);this.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave","click")},onRender:function(){var o=this,j=o.viewBox,q=o.autoSize,l,p,r,k,m,n;o.callParent(arguments);if(o.createSurface()!==false){p=o.surface.items;if(j||q){l=p.getBBox();r=l.width;k=l.height;m=l.x;n=l.y;if(o.viewBox){o.surface.setViewBox(m,n,r,k)}else{o.autoSizeSurface()}}}},autoSizeSurface:function(){var i=this,f=i.surface.items,h=f.getBBox(),j=h.width,g=h.height;f.setAttributes({translate:{x:-h.x,y:-h.y+(+Ext.isOpera)}},true);if(i.rendered){i.setSize(j,g);i.surface.setSize(j,g)}else{i.surface.setSize(j,g)}i.el.setSize(j,g)},createSurface:function(){var d=Ext.draw.Surface.create(Ext.apply({},{width:this.width,height:this.height,renderTo:this.el},this.initialConfig));if(!d){return false}this.surface=d;function c(a){return function(b){this.fireEvent(a,b)}}d.on({scope:this,mouseup:c("mouseup"),mousedown:c("mousedown"),mousemove:c("mousemove"),mouseenter:c("mouseenter"),mouseleave:c("mouseleave"),click:c("click")})},onDestroy:function(){var b=this.surface;if(b){b.destroy()}this.callParent(arguments)}});Ext.define("Ext.dd.DropTarget",{extend:"Ext.dd.DDTarget",requires:["Ext.dd.ScrollManager"],constructor:function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}this.callParent([this.el.dom,this.ddGroup||this.group,{isTarget:true}])},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(e,f,d){if(this.overClass){this.el.addCls(this.overClass)}return this.dropAllowed},notifyOver:function(e,f,d){return this.dropAllowed},notifyOut:function(e,f,d){if(this.overClass){this.el.removeCls(this.overClass)}},notifyDrop:function(e,f,d){return false},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.dd.DropZone",{extend:"Ext.dd.DropTarget",requires:["Ext.dd.Registry"],getTargetFromEvent:function(b){return Ext.dd.Registry.getTargetFromEvent(b)},onNodeEnter:function(g,f,h,e){},onNodeOver:function(g,f,h,e){return this.dropAllowed},onNodeOut:function(g,f,h,e){},onNodeDrop:function(g,f,h,e){return false},onContainerOver:function(e,f,d){return this.dropNotAllowed},onContainerDrop:function(e,f,d){return false},notifyEnter:function(e,f,d){return this.dropNotAllowed},notifyOver:function(f,h,e){var g=this.getTargetFromEvent(h);if(!g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}return this.onContainerOver(f,h,e)}if(this.lastOverNode!=g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e)}this.onNodeEnter(g,f,h,e);this.lastOverNode=g}return this.onNodeOver(g,f,h,e)},notifyOut:function(e,f,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,e,f,d);this.lastOverNode=null}},notifyDrop:function(f,h,e){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}var g=this.getTargetFromEvent(h);return g?this.onNodeDrop(g,f,h,e):this.onContainerDrop(f,h,e)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.define("Ext.view.DropZone",{extend:"Ext.dd.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el])},fireViewEvent:function(){var c=this,d;c.lock();d=c.view.fireEvent.apply(c.view,arguments);c.unlock();return d},getTargetFromEvent:function(k){var l=k.getTarget(this.view.getItemSelector()),o,p,e,n,i,m;if(!l){o=k.getPageY();for(n=0,p=this.view.getNodes(),i=p.length;n<i;n++){e=p[n];m=Ext.fly(e).getBox();if(o<=m.bottom){return e}}}return l},getIndicator:function(){var b=this;if(!b.indicator){b.indicator=Ext.createWidget("component",{html:b.indicatorHtml,cls:b.indicatorCls,ownerCt:b.view,floating:true,shadow:false})}return b.indicator},getPosition:function(j,g){var h=j.getXY()[1],e=Ext.fly(g).getRegion(),i;if((e.bottom-h)>=(e.bottom-e.top)/2){i="before"}else{i="after"}return i},containsRecordAtOffset:function(m,h,k){if(!h){return false}var i=this.view,n=i.indexOf(h),l=i.getNode(n+k),j=l?i.getRecord(l):null;return j&&Ext.Array.contains(m,j)},positionIndicator:function(s,r,q){var p=this,n=p.view,o=p.getPosition(q,s),e=n.getRecord(s),t=r.records,m,l;if(!Ext.Array.contains(t,e)&&(o=="before"&&!p.containsRecordAtOffset(t,e,-1)||o=="after"&&!p.containsRecordAtOffset(t,e,1))){p.valid=true;if(p.overRecord!=e||p.currentPosition!=o){l=Ext.fly(s).getY()-n.el.getY()-1;if(o=="after"){l+=Ext.fly(s).getHeight()}p.getIndicator().setWidth(Ext.fly(n.el).getWidth()).showAt(0,l);p.overRecord=e;p.currentPosition=o}}else{p.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(j,g,h,i){var e=this;if(!Ext.Array.contains(i.records,e.view.getRecord(j))){e.positionIndicator(j,i,h)}return e.valid?e.dropAllowed:e.dropNotAllowed},notifyOut:function(j,g,h,i){var e=this;e.callParent(arguments);delete e.overRecord;delete e.currentPosition;if(e.indicator){e.indicator.hide()}},onContainerOver:function(h,i,j){var k=this,e=k.view,l=e.store.getCount();if(l){k.positionIndicator(e.getNode(l-1),j,i)}else{delete k.overRecord;delete k.currentPosition;k.getIndicator().setWidth(Ext.fly(e.el).getWidth()).showAt(0,0);k.valid=true}return k.dropAllowed},onContainerDrop:function(e,f,d){return this.onNodeDrop(e,null,f,d)},onNodeDrop:function(o,j,m,n){var p=this,k=false,e=function(){p.invalidateDrop();p.handleNodeDrop(n,p.overRecord,p.currentPosition);k=true;p.fireViewEvent("drop",o,n,p.overRecord,p.currentPosition)},l=false;if(p.valid){l=p.fireViewEvent("beforedrop",o,n,p.overRecord,p.currentPosition,e);if(l!==false){if(!k){e()}}}return l},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",handleNodeDrop:function(q,o,n){var k=this.view,i=k.getStore(),l,r,p,m;if(q.copy){r=q.records;q.records=[];for(p=0,m=r.length;p<m;p++){q.records.push(r[p].copy(r[p].getId()))}}else{q.view.store.remove(q.records,q.view===k)}l=i.indexOf(o);if(n!=="before"){l++}i.insert(l,q.records);k.getSelectionModel().select(q.records)}});Ext.define("Ext.grid.header.DropZone",{extend:"Ext.dd.DropZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(b){return b.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){if(!this.topIndicator){this.topIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:"&#160;"},true)}return this.topIndicator},getBottomIndicator:function(){if(!this.bottomIndicator){this.bottomIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:"&#160;"},true)}return this.bottomIndicator},getLocation:function(k,e){var h=k.getXY()[0],l=Ext.fly(e).getRegion(),i,j;if((l.right-h)<=(l.right-l.left)/2){i="after"}else{i="before"}return{pos:i,header:Ext.getCmp(e.id),node:e}},positionIndicator:function(i,F,z){var R=this.getLocation(z,F),D=R.header,M=R.pos,N=i.nextSibling("gridcolumn:not([hidden])"),A=i.previousSibling("gridcolumn:not([hidden])"),O,I,C,B,Q,P,J,H,e,y;if(!D.draggable&&D.getIndex()==0){return false}this.lastLocation=R;if((i!==D)&&((M==="before"&&N!==D)||(M==="after"&&A!==D))&&!D.isDescendantOf(i)){var G=Ext.dd.DragDropManager.getRelated(this),K=G.length,E=0,L;for(;E<K;E++){L=G[E];if(L!==this&&L.invalidateDrop){L.invalidateDrop()}}this.valid=true;I=this.getTopIndicator();C=this.getBottomIndicator();if(M==="before"){B="tl";Q="bl"}else{B="tr";Q="br"}P=D.el.getAnchorXY(B);J=D.el.getAnchorXY(Q);H=this.headerCt.el;e=H.getLeft();y=H.getRight();P[0]=Ext.Number.constrain(P[0],e,y);J[0]=Ext.Number.constrain(J[0],e,y);P[0]-=4;P[1]-=9;J[0]-=4;I.setXY(P);C.setXY(J);I.show();C.show()}else{this.invalidateDrop()}},invalidateDrop:function(){this.valid=false;this.hideIndicators()},onNodeOver:function(e,f,g,h){if(h.header.el.dom!==e){this.positionIndicator(h.header,e,g)}return this.valid?this.dropAllowed:this.dropNotAllowed},hideIndicators:function(){this.getTopIndicator().hide();this.getBottomIndicator().hide()},onNodeOut:function(){this.hideIndicators()},onNodeDrop:function(w,q,r,v){if(this.valid){this.invalidateDrop();var t=v.header,u=this.lastLocation,o=t.ownerCt,z=o.items.indexOf(t),s=u.header.ownerCt,e=s.items.indexOf(u.header),x=this.headerCt,p,y;if(u.pos==="after"){e++}if(o!==s&&o.lockableInjected&&s.lockableInjected&&s.lockedCt){y=o.up("[scrollerOwner]");y.lock(t,e)}else{if(o!==s&&o.lockableInjected&&s.lockableInjected&&o.lockedCt){y=o.up("[scrollerOwner]");y.unlock(t,e)}else{if((o===s)&&(e>o.items.indexOf(t))){e--}if(o!==s){o.suspendLayout=true;o.remove(t,false);o.suspendLayout=false}if(o.isGroupHeader){if(!o.items.getCount()){p=o.ownerCt;p.suspendLayout=true;p.remove(o,false);o.el.dom.parentNode.removeChild(o.el.dom);p.suspendLayout=false}else{o.minWidth=o.getWidth()-t.getWidth();o.setWidth(o.minWidth)}}s.suspendLayout=true;if(o===s){s.move(z,e)}else{s.insert(e,t)}s.suspendLayout=false;if(s.isGroupHeader){t.savedFlex=t.flex;delete t.flex;t.width=t.getWidth();s.minWidth=s.getWidth()+t.getWidth()-(t.savedFlex?1:0);s.setWidth(s.minWidth)}else{if(t.savedFlex){t.flex=t.savedFlex;delete t.width}}x.purgeCache();x.doLayout();x.onHeaderMoved(t,z,e);if(!o.items.getCount()){o.destroy()}}}}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.util.Observable",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(b){this.headerCt=b;b.on("render",this.onHeaderCtRender,this)},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){this.dragZone=Ext.create("Ext.grid.header.DragZone",this.headerCt);this.dropZone=Ext.create("Ext.grid.header.DropZone",this.headerCt);if(this.disabled){this.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.data.reader.Array",{extend:"Ext.data.reader.Json",alternateClassName:"Ext.data.ArrayReader",alias:"reader.array",buildExtractors:function(){this.callParent(arguments);var g=this.model.prototype.fields.items,f=0,j=g.length,h=[],i;for(;f<j;f++){i=g[f].mapping;h.push(function(a){return function(b){return b[a]}}(i!==null?i:f))}this.extractorFunctions=h}});Ext.define("Ext.resizer.ResizeTracker",{extend:"Ext.dd.DragTracker",dynamic:true,preserveRatio:false,constrainTo:null,proxyCls:Ext.baseCSSPrefix+"resizable-proxy",constructor:function(f){var i=this;if(!f.el){if(f.target.isComponent){i.el=f.target.getEl()}else{i.el=f.target}}this.callParent(arguments);if(i.preserveRatio&&i.minWidth&&i.minHeight){var j=i.minWidth/i.el.getWidth(),g=i.minHeight/i.el.getHeight();if(g>j){i.minWidth=i.el.getWidth()*g}else{i.minHeight=i.el.getHeight()*j}}if(i.throttle){var h=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)},i.throttle);i.resize=function(b,a,c){if(c){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)}else{h.apply(null,arguments)}}}},onBeforeStart:function(b){this.startBox=this.el.getBox()},getDynamicTarget:function(){var d=this,c=d.target;if(d.dynamic){return c}else{if(!d.proxy){d.proxy=d.createProxy(c)}}d.proxy.show();return d.proxy},createProxy:function(h){var e,f=this.proxyCls,g;if(h.isComponent){e=h.getProxy().addCls(f)}else{g=Ext.getBody();if(Ext.scopeResetCSS){g=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}e=h.createProxy({tag:"div",cls:f,id:h.id+"-rzproxy"},g)}e.removeCls(Ext.baseCSSPrefix+"proxy-el");return e},onStart:function(b){this.activeResizeHandle=Ext.getCmp(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(b){if(this.dynamic||this.proxy){this.updateDimensions(b)}},updateDimensions:function(z,F){var y=this,N=y.activeResizeHandle.region,L=y.getOffset(y.constrainTo?"dragTarget":null),H=y.startBox,K,C=0,x=0,I,B,P=0,e=0,w,E=L[0]<0?"right":"left",A=L[1]<0?"down":"up",J,O;switch(N){case"south":x=L[1];O=2;break;case"north":x=-L[1];e=-x;O=2;break;case"east":C=L[0];O=1;break;case"west":C=-L[0];P=-C;O=1;break;case"northeast":x=-L[1];e=-x;C=L[0];J=[H.x,H.y+H.height];O=3;break;case"southeast":x=L[1];C=L[0];J=[H.x,H.y];O=3;break;case"southwest":C=-L[0];P=-C;x=L[1];J=[H.x+H.width,H.y];O=3;break;case"northwest":x=-L[1];e=-x;C=-L[0];P=-C;J=[H.x+H.width,H.y+H.height];O=3;break}var M={width:H.width+C,height:H.height+x,x:H.x+P,y:H.y+e};I=Ext.Number.snap(M.width,y.widthIncrement);B=Ext.Number.snap(M.height,y.heightIncrement);if(I!=M.width||B!=M.height){switch(N){case"northeast":M.y-=B-M.height;break;case"north":M.y-=B-M.height;break;case"southwest":M.x-=I-M.width;break;case"west":M.x-=I-M.width;break;case"northwest":M.x-=I-M.width;M.y-=B-M.height}M.width=I;M.height=B}if(M.width<y.minWidth||M.width>y.maxWidth){M.width=Ext.Number.constrain(M.width,y.minWidth,y.maxWidth);if(P){M.x=H.x+(H.width-M.width)}}else{y.lastX=M.x}if(M.height<y.minHeight||M.height>y.maxHeight){M.height=Ext.Number.constrain(M.height,y.minHeight,y.maxHeight);if(e){M.y=H.y+(H.height-M.height)}}else{y.lastY=M.y}if(y.preserveRatio||z.shiftKey){var D,G;K=y.startBox.width/y.startBox.height;D=Math.min(Math.max(y.minHeight,M.width/K),y.maxHeight);G=Math.min(Math.max(y.minWidth,M.height*K),y.maxWidth);if(O==1){M.height=D}else{if(O==2){M.width=G}else{w=Math.abs(J[0]-this.lastXY[0])/Math.abs(J[1]-this.lastXY[1]);if(w>K){M.height=D}else{M.width=G}if(N=="northeast"){M.y=H.y-(M.height-H.height)}else{if(N=="northwest"){M.y=H.y-(M.height-H.height);M.x=H.x-(M.width-H.width)}else{if(N=="southwest"){M.x=H.x-(M.width-H.width)}}}}}}if(x===0){A="none"}if(C===0){E="none"}y.resize(M,{horizontal:E,vertical:A},F)},getResizeTarget:function(b){return b?this.target:this.getDynamicTarget()},resize:function(e,g,f){var h=this.getResizeTarget(f);if(h.isComponent){if(h.floating){h.setPagePosition(e.x,e.y)}h.setSize(e.width,e.height)}else{h.setBox(e);if(this.originalTarget){this.originalTarget.setBox(e)}}},onEnd:function(b){this.updateDimensions(b,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.DomHelper"],markup:function(){if(Ext.supports.CSS3BoxShadow){return'<div class="'+Ext.baseCSSPrefix+'css-shadow" role="presentation"></div>'}else{if(Ext.isIE){return'<div class="'+Ext.baseCSSPrefix+'ie-shadow" role="presentation"></div>'}else{return'<div class="'+Ext.baseCSSPrefix+'frame-shadow" role="presentation"><div class="xst" role="presentation"><div class="xstl" role="presentation"></div><div class="xstc" role="presentation"></div><div class="xstr" role="presentation"></div></div><div class="xsc" role="presentation"><div class="xsml" role="presentation"></div><div class="xsmc" role="presentation"></div><div class="xsmr" role="presentation"></div></div><div class="xsb" role="presentation"><div class="xsbl" role="presentation"></div><div class="xsbc" role="presentation"></div><div class="xsbr" role="presentation"></div></div></div>'}}}(),shadows:[],pull:function(){var b=this.shadows.shift();if(!b){b=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));b.autoBoxAdjust=false}return b},push:function(b){this.shadows.push(b)},reset:function(){Ext.Array.each(this.shadows,function(b){b.remove()});this.shadows=[]}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(e,f,a,b,c,d){if(e!=null){this.matrix=[[e,a,c],[f,b,d],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=e.matrix[b][t]*a[t][d]}y[b][d]=v}}e.matrix=y},prepend:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=a[b][t]*e.matrix[t][d]}y[b][d]=v}}e.matrix=y},invert:function(){var d=this.matrix,e=d[0][0],f=d[1][0],p=d[0][1],a=d[1][1],b=d[0][2],c=d[1][2],o=e*a-f*p;return new Ext.draw.Matrix(a/o,-f/o,-p/o,e/o,(p*c-a*b)/o,(f*b-e*c)/o)},clone:function(){var e=this.matrix,f=e[0][0],n=e[1][0],a=e[0][1],b=e[1][1],c=e[0][2],d=e[1][2];return new Ext.draw.Matrix(f,n,a,b,c,d)},translate:function(d,c){this.prepend(1,0,0,1,d,c)},scale:function(f,h,g,i){var j=this;if(h==null){h=f}j.add(1,0,0,1,g,i);j.add(f,0,0,h,0,0);j.add(1,0,0,1,-g,-i)},rotate:function(l,a,h){l=Ext.draw.Draw.rad(l);var j=this,i=+Math.cos(l).toFixed(9),k=+Math.sin(l).toFixed(9);j.add(i,k,-k,i,a,h);j.add(1,0,0,1,-a,-h)},x:function(e,f){var d=this.matrix;return e*d[0][0]+f*d[0][1]+d[0][2]},y:function(e,f){var d=this.matrix;return e*d[1][0]+f*d[1][1]+d[1][2]},get:function(c,d){return +this.matrix[c][d].toFixed(4)},toString:function(){var b=this;return[b.get(0,0),b.get(0,1),b.get(1,0),b.get(1,1),0,0].join()},toSvg:function(){var b=this;return"matrix("+[b.get(0,0),b.get(1,0),b.get(0,1),b.get(1,1),b.get(0,2),b.get(1,2)].join()+")"},toFilter:function(){var b=this;return"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',FilterType=bilinear,M11="+b.get(0,0)+", M12="+b.get(0,1)+", M21="+b.get(1,0)+", M22="+b.get(1,1)+", Dx="+b.get(0,2)+", Dy="+b.get(1,2)+")"},offset:function(){var b=this.matrix;return[(b[0][2]||0).toFixed(4),(b[1][2]||0).toFixed(4)]},split:function(){function i(a){return a[0]*a[0]+a[1]*a[1]}function f(b){var a=Math.sqrt(i(b));b[0]/=a;b[1]/=a}var g=this.matrix,j={translateX:g[0][2],translateY:g[1][2]},h;h=[[g[0][0],g[0][1]],[g[1][0],g[1][1]]];j.scaleX=Math.sqrt(i(h[0]));f(h[0]);j.shear=h[0][0]*h[1][0]+h[0][1]*h[1][1];h[1]=[h[1][0]-h[0][0]*j.shear,h[1][1]-h[0][1]*j.shear];j.scaleY=Math.sqrt(i(h[1]));f(h[1]);j.shear/=j.scaleY;j.rotate=Math.asin(-h[0][1]);j.isSimple=!+j.shear.toFixed(9)&&(j.scaleX.toFixed(9)==j.scaleY.toFixed(9)||!j.rotate);return j}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(e,f){var g=this,h=e.el;g.sprite=e;g.el=h;g.dragData={el:h,sprite:e};g.callParent([h,f]);g.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(b){return this.el},getRegion:function(){var v=this,y=v.el,t,z,A,r,s,b,B,u,x,e,l;l=v.sprite;e=l.getBBox();try{t=Ext.Element.getXY(y)}catch(w){}if(!t){return null}z=t[0];A=z+e.width;r=t[1];s=r+e.height;return Ext.create("Ext.util.Region",r,A,s,z)},startDrag:function(e,g){var h=this,f=h.sprite.attr;h.prev=h.sprite.surface.transformToViewBox(e,g)},onDrag:function(j){var k=j.getXY(),l=this,m=l.sprite,i=m.attr,n,e;k=l.sprite.surface.transformToViewBox(k[0],k[1]);n=k[0]-l.prev[0];e=k[1]-l.prev[1];m.setAttributes({translate:{x:i.translation.x+n,y:i.translation.y+e}},true);l.prev=k},setDragElPos:function(){return false}});Ext.define("Ext.Shadow",{requires:["Ext.ShadowPool"],constructor:function(f){var j=this,i={h:0},h,g;Ext.apply(j,f);if(!Ext.isString(j.mode)){j.mode=j.defaultMode}h=j.offset;g=Math.floor(h/2);j.opacity=50;switch(j.mode.toLowerCase()){case"drop":if(Ext.supports.CSS3BoxShadow){i.w=i.h=-h;i.l=i.t=h}else{i.w=0;i.l=i.t=h;i.t-=1;if(Ext.isIE){i.l-=h+g;i.t-=h+g;i.w-=g;i.h-=g;i.t+=1}}break;case"sides":if(Ext.supports.CSS3BoxShadow){i.h-=h;i.t=h;i.l=i.w=0}else{i.w=(h*2);i.l=-h;i.t=h-1;if(Ext.isIE){i.l-=(h-g);i.t-=h+g;i.l+=1;i.w-=(h-g)*2;i.w-=g+1;i.h-=1}}break;case"frame":if(Ext.supports.CSS3BoxShadow){i.l=i.w=i.t=0}else{i.w=i.h=(h*2);i.l=i.t=-h;i.t+=1;i.h-=2;if(Ext.isIE){i.l-=(h-g);i.t-=(h-g);i.l+=1;i.w-=(h+g+1);i.h-=(h+g);i.h+=1}break}}j.adjusts=i},offset:4,defaultMode:"drop",show:function(f){var d=this,e;f=Ext.get(f);if(!d.el){d.el=Ext.ShadowPool.pull();if(d.el.dom.nextSibling!=f.dom){d.el.insertBefore(f)}}e=(parseInt(f.getStyle("z-index"),10)-1)||0;d.el.setStyle("z-index",d.zIndex||e);if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){d.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+d.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(d.offset)+")"}d.realign(f.getLeft(true),f.getTop(true),f.dom.offsetWidth,f.dom.offsetHeight);d.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(y,d,q,u){if(!this.el){return}var z=this.adjusts,s=this.el.dom,r=s.style,x,v,p,w,t,l;r.left=(y+z.l)+"px";r.top=(d+z.t)+"px";x=Math.max(q+z.w,0);v=Math.max(u+z.h,0);t=x+"px";l=v+"px";if(r.width!=t||r.height!=l){r.width=t;r.height=l;if(Ext.supports.CSS3BoxShadow){r.boxShadow="0 0 "+this.offset+"px 0 #888"}else{if(!Ext.isIE){p=s.childNodes;w=Math.max(0,(x-12))+"px";p[0].childNodes[1].style.width=w;p[1].childNodes[1].style.width=w;p[2].childNodes[1].style.width=w;p[1].style.height=Math.max(0,(v-12))+"px"}}}},hide:function(){var b=this;if(b.el){b.el.dom.style.display="none";Ext.ShadowPool.push(b.el);delete b.el}},setZIndex:function(b){this.zIndex=b;if(this.el){this.el.setStyle("z-index",b)}},setOpacity:function(b){if(this.el){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){b=Math.floor(b*100/2)/100}this.opacity=b;this.el.setOpacity(b)}}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(d){var c=this;d=d||{};c.id=Ext.id(null,"ext-sprite-");c.transformations=[];Ext.copyTo(this,d,"surface,group,type,draggable");c.bbox={};c.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete d.surface;delete d.group;delete d.type;delete d.draggable;c.setAttributes(d);c.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");c.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var b=this;b.draggable=true;if(!b.el){b.surface.createSpriteElement(b)}b.dd=Ext.create("Ext.draw.SpriteDD",b,Ext.isBoolean(b.draggable)?null:b.draggable);b.on("beforedestroy",b.dd.destroy,b.dd)},setAttributes:function(B,y){var t=this,C=t.fontProperties,v=C.length,E=t.pathProperties,F=E.length,u=!!t.surface,J=u&&t.surface.customAttributes||{},I=t.attr,A,x,D,H,w,z,i,G;B=Ext.apply({},B);for(A in J){if(B.hasOwnProperty(A)&&typeof J[A]=="function"){Ext.apply(B,J[A].apply(t,[].concat(B[A])))}}if(!!B.hidden!==!!I.hidden){t.dirtyHidden=true}for(x=0;x<F;x++){A=E[x];if(A in B&&B[A]!==I[A]){t.dirtyPath=true;break}}if("zIndex" in B){t.zIndexDirty=true}for(x=0;x<v;x++){A=C[x];if(A in B&&B[A]!==I[A]){t.dirtyFont=true;break}}D=B.translate;H=I.translation;if(D){if((D.x&&D.x!==H.x)||(D.y&&D.y!==H.y)){Ext.apply(H,D);t.dirtyTransform=true}delete B.translate}w=B.rotate;z=I.rotation;if(w){if((w.x&&w.x!==z.x)||(w.y&&w.y!==z.y)||(w.degrees&&w.degrees!==z.degrees)){Ext.apply(z,w);t.dirtyTransform=true}delete B.rotate}i=B.scale;G=I.scaling;if(i){if((i.x&&i.x!==G.x)||(i.y&&i.y!==G.y)||(i.cx&&i.cx!==G.cx)||(i.cy&&i.cy!==G.cy)){Ext.apply(G,i);t.dirtyTransform=true}delete B.scale}Ext.apply(I,B);t.dirty=true;if(y===true&&u){t.redraw()}return this},getBBox:function(){return this.surface.getBBox(this)},setText:function(b){return this.surface.setText(this,b)},hide:function(b){this.setAttributes({hidden:true},b);return this},show:function(b){this.setAttributes({hidden:false},b);return this},remove:function(){if(this.surface){this.surface.remove(this);return true}return false},onRemove:function(){this.surface.onRemove(this)},destroy:function(){var b=this;if(b.fireEvent("beforedestroy",b)!==false){b.remove();b.surface.onDestroy(b);b.clearListeners();b.fireEvent("destroy")}},redraw:function(){this.surface.renderItem(this);return this},setStyle:function(){this.el.setStyle.apply(this.el,arguments);return this},addCls:function(b){this.surface.addCls(this,b);return this},removeCls:function(b){this.surface.removeCls(this,b);return this}});Ext.define("Ext.draw.engine.Svg",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Svg",trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,xlink:"http://www.w3.org/1999/xlink",translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",path:"d",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},parsers:{},minDefaults:{circle:{cx:0,cy:0,r:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start","font-family":null,"font-size":null,"font-weight":null,"font-style":null,fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},createSvgElement:function(g,f){var h=this.domRef.createElementNS("http://www.w3.org/2000/svg",g),e;if(f){for(e in f){h.setAttribute(e,String(f[e]))}}return h},createSpriteElement:function(d){var c=this.createSvgElement(d.type);c.id=d.id;if(c.style){c.style.webkitTapHighlightColor="rgba(0,0,0,0)"}d.el=Ext.get(c);this.applyZIndex(d);d.matrix=Ext.create("Ext.draw.Matrix");d.bbox={plain:0,transform:0};d.fireEvent("render",d);return c},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(l){var i={},n,e,r,p,m,q;if(l&&l.el){q=l.el.dom;try{i=q.getBBox();return i}catch(o){}i={x:i.x,y:Infinity,width:0,height:0};m=q.getNumberOfChars();for(p=0;p<m;p++){n=q.getExtentOfChar(p);i.y=Math.min(n.y,i.y);e=n.y+n.height-i.y;i.height=Math.max(i.height,e);r=n.x+n.width-i.x;i.width=Math.max(i.width,r)}return i}},hide:function(){Ext.get(this.el).hide()},show:function(){Ext.get(this.el).show()},hidePrim:function(b){this.addCls(b,Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){this.removeCls(b,Ext.baseCSSPrefix+"hide-visibility")},getDefs:function(){return this._defs||(this._defs=this.createSvgElement("defs"))},transform:function(o){var l=this,j=Ext.create("Ext.draw.Matrix"),m=o.transformations,k=m.length,p=0,i,n;for(;p<k;p++){i=m[p];n=i.type;if(n=="translate"){j.translate(i.x,i.y)}else{if(n=="rotate"){j.rotate(i.degrees,i.x,i.y)}else{if(n=="scale"){j.scale(i.x,i.y,i.centerX,i.centerY)}}}}o.matrix=j;o.el.set({transform:j.toSvg()})},setSize:function(f,h){var g=this,e=g.el;f=+f||g.width;h=+h||g.height;g.width=f;g.height=h;e.setSize(f,h);e.set({width:f,height:h});g.callParent([f,h])},getRegion:function(){var h=this.el.getXY(),j=this.bgRect.getXY(),f=Math.max,g=f(h[0],j[0]),i=f(h[1],j[1]);return{left:g,top:i,right:g+this.width,bottom:i+this.height}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.callParent(arguments);this.el.dom.setAttribute("viewBox",[e,g,h,f].join(" "))}},render:function(p){var m=this;if(!m.el){var n=m.width||10,i=m.height||10,o=m.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:n,height:i}),j=m.getDefs(),l=m.createSvgElement("rect",{width:"100%",height:"100%",fill:"#000",stroke:"none",opacity:0}),k;if(Ext.isSafari3){k=m.createSvgElement("rect",{x:-10,y:-10,width:"110%",height:"110%",fill:"none",stroke:"#000"})}o.appendChild(j);if(Ext.isSafari3){o.appendChild(k)}o.appendChild(l);p.appendChild(o);m.el=Ext.get(o);m.bgRect=Ext.get(l);if(Ext.isSafari3){m.webkitRect=Ext.get(k);m.webkitRect.hide()}m.el.on({scope:m,mouseup:m.onMouseUp,mousedown:m.onMouseDown,mouseover:m.onMouseOver,mouseout:m.onMouseOut,mousemove:m.onMouseMove,mouseenter:m.onMouseEnter,mouseleave:m.onMouseLeave,click:m.onClick})}m.renderAll()},onMouseEnter:function(b){if(this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseenter",b)}},onMouseLeave:function(b){if(!this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseleave",b)}},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);if(i.nodeName=="tspan"&&i.parentNode){i=i.parentNode}j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},tuneText:function(o,n){var v=o.el.dom,u=[],i,p,m,s,r,t,q;if(n.hasOwnProperty("text")){u=this.setText(o,n.text)}if(u.length){i=this.getBBoxText(o).height;for(s=0,r=u.length;s<r;s++){q=(Ext.isFF3_0||Ext.isFF3_5)?2:4;u[s].setAttribute("dy",s?i*1.2:i/q)}o.dirty=true}},setText:function(o,u){var r=this,x=o.el.dom,p=x.getAttribute("x"),w=[],i,q,n,t,s,v;while(x.firstChild){x.removeChild(x.firstChild)}v=String(u).split("\n");for(t=0,s=v.length;t<s;t++){n=v[t];if(n){q=r.createSvgElement("tspan");q.appendChild(document.createTextNode(Ext.htmlDecode(n)));q.setAttribute("x",p);x.appendChild(q);w[t]=q}}return w},renderAll:function(){this.items.each(this.renderItem,this)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.zIndexDirty){this.applyZIndex(b)}if(b.dirty){this.applyAttrs(b);this.applyTransformations(b)}},redraw:function(b){b.dirty=b.zIndexDirty=true;this.renderItem(b)},applyAttrs:function(s){var x=this,F=s.el,t=s.group,A=s.attr,i=x.parsers,C=x.gradientsMap||{},z=Ext.isSafari&&!Ext.isStrict,D,B,y,u,E,v,G,H,w;if(t){D=[].concat(t);y=D.length;for(B=0;B<y;B++){t=D[B];x.getGroup(t).add(s)}delete s.group}u=x.scrubAttrs(s)||{};s.bbox.plain=0;s.bbox.transform=0;if(s.type=="circle"||s.type=="ellipse"){u.cx=u.cx||u.x;u.cy=u.cy||u.y}else{if(s.type=="rect"){u.rx=u.ry=u.r}else{if(s.type=="path"&&u.d){u.d=Ext.draw.Draw.pathToString(Ext.draw.Draw.pathToAbsolute(u.d))}}}s.dirtyPath=false;if(u["clip-rect"]){x.setClip(s,u);delete u["clip-rect"]}if(s.type=="text"&&u.font&&s.dirtyFont){F.set({style:"font: "+u.font});s.dirtyFont=false}if(s.type=="image"){F.dom.setAttributeNS(x.xlink,"href",u.src)}Ext.applyIf(u,x.minDefaults[s.type]);if(s.dirtyHidden){(A.hidden)?x.hidePrim(s):x.showPrim(s);s.dirtyHidden=false}for(v in u){if(u.hasOwnProperty(v)&&u[v]!=null){if(z&&("color|stroke|fill".indexOf(v)>-1)&&(u[v] in C)){u[v]=C[u[v]]}if(v in i){F.dom.setAttribute(v,i[v](u[v],s,x))}else{F.dom.setAttribute(v,u[v])}}}if(s.type=="text"){x.tuneText(s,u)}G=A.style;if(G){F.setStyle(G)}s.dirty=false;if(Ext.isSafari3){x.webkitRect.show();setTimeout(function(){x.webkitRect.hide()})}},setClip:function(g,i){var j=this,k=i["clip-rect"],h,l;if(k){if(g.clip){g.clip.parentNode.parentNode.removeChild(g.clip.parentNode)}h=j.createSvgElement("clipPath");l=j.createSvgElement("rect");h.id=Ext.id(null,"ext-clip-");l.setAttribute("x",k.x);l.setAttribute("y",k.y);l.setAttribute("width",k.width);l.setAttribute("height",k.height);h.appendChild(l);j.getDefs().appendChild(h);g.el.dom.setAttribute("clip-path","url(#"+h.id+")");g.clip=l}},applyZIndex:function(k){var i=this,g=i.items,h=g.indexOf(k),j=k.el,l;if(i.el.dom.childNodes[h+2]!==j.dom){if(h>0){do{l=g.getAt(--h).el}while(!l&&h>0)}j.insertAfter(l||i.bgRect)}k.zIndexDirty=false},createItem:function(d){var c=Ext.create("Ext.draw.Sprite",d);c.surface=this;return c},addGradient:function(n){n=Ext.draw.Draw.parseGradient(n);var p=this,q=n.stops.length,t=n.vector,i=Ext.isSafari&&!Ext.isStrict,m,o,l,r,s;s=p.gradientsMap||{};if(!i){if(n.type=="linear"){m=p.createSvgElement("linearGradient");m.setAttribute("x1",t[0]);m.setAttribute("y1",t[1]);m.setAttribute("x2",t[2]);m.setAttribute("y2",t[3])}else{m=p.createSvgElement("radialGradient");m.setAttribute("cx",n.centerX);m.setAttribute("cy",n.centerY);m.setAttribute("r",n.radius);if(Ext.isNumber(n.focalX)&&Ext.isNumber(n.focalY)){m.setAttribute("fx",n.focalX);m.setAttribute("fy",n.focalY)}}m.id=n.id;p.getDefs().appendChild(m);for(r=0;r<q;r++){o=n.stops[r];l=p.createSvgElement("stop");l.setAttribute("offset",o.offset+"%");l.setAttribute("stop-color",o.color);l.setAttribute("stop-opacity",o.opacity);m.appendChild(l)}}else{s["url(#"+n.id+")"]=n.stops[0].color}p.gradientsMap=s},hasCls:function(d,c){return c&&(" "+(d.el.dom.getAttribute("class")||"")+" ").indexOf(" "+c+" ")!=-1},addCls:function(n,l){var m=n.el,o,j,p,i=[],k=m.getAttribute("class")||"";if(!Ext.isArray(l)){if(typeof l=="string"&&!this.hasCls(n,l)){m.set({"class":k+" "+l})}}else{for(o=0,j=l.length;o<j;o++){p=l[o];if(typeof p=="string"&&(" "+k+" ").indexOf(" "+p+" ")==-1){i.push(p)}}if(i.length){m.set({"class":" "+i.join(" ")})}}},removeCls:function(l,o){var n=this,s=l.el,q=s.getAttribute("class")||"",r,m,p,i,t;if(!Ext.isArray(o)){o=[o]}if(q){t=q.replace(n.trimRe," ").split(n.spacesRe);for(r=0,p=o.length;r<p;r++){i=o[r];if(typeof i=="string"){i=i.replace(n.trimRe,"");m=Ext.Array.indexOf(t,i);if(m!=-1){Ext.Array.erase(t,m,1)}}}s.set({"class":t.join(" ")})}},destroy:function(){var b=this;b.callParent();if(b.el){b.el.remove()}delete b.el}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1000,coordorigin:"0 0",orderSpritesByZIndex:false,path2vml:function(F){var r=this,E=r.NonVmlPathRe,C=r.map,z=r.valRe,i=r.zoom,A=r.bitesRe,y=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),u,p,B,D,w,j,x,v;if(String(F).match(E)){y=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw)}else{if(!String(F).match(r.partialPathRe)){u=String(F).replace(A,function(e,a,c){var b=[],d=a.toLowerCase()=="m",f=C[a];c.replace(z,function(g){if(d&&b[length]==2){f+=b+C[a=="m"?"l":"L"];b=[]}b.push(Math.round(g*i))});return f+b});return u}}p=y(F);u=[];for(w=0,j=p.length;w<j;w++){B=p[w];D=p[w][0].toLowerCase();if(D=="z"){D="x"}for(x=1,v=B.length;x<v;x++){D+=Math.round(B[x]*r.zoom)+(x!=v-1?",":"")}u.push(D)}return u.join(" ")},translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},minDefaults:{circle:{fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start",font:'10px "Arial"',fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},onMouseEnter:function(b){this.fireEvent("mouseenter",b)},onMouseLeave:function(b){this.fireEvent("mouseleave",b)},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},createSpriteElement:function(p){var r=this,s=p.attr,q=p.type,n=r.zoom,u=p.vml||(p.vml={}),m=Math.round,t=r.createNode("shape"),l,o,v;t.coordsize=n+" "+n;t.coordorigin=s.coordorigin||"0 0";Ext.get(t).addCls(r.spriteCls);if(q=="text"){u.path=l=r.createNode("path");l.textpathok=true;u.textpath=v=r.createNode("textpath");v.on=true;t.appendChild(v);t.appendChild(l)}t.id=p.id;p.el=Ext.get(t);r.el.appendChild(t);if(q!=="image"){o=r.createNode("skew");o.on=true;t.appendChild(o);p.skew=o}p.matrix=Ext.create("Ext.draw.Matrix");p.bbox={plain:null,transform:null};p.fireEvent("render",p);return p.el},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(c){var d=c.vml;return{x:d.X+(d.bbx||0)-d.W/2,y:d.Y-d.H/2,width:d.W,height:d.H}},applyAttrs:function(C){var w=this,K=C.vml,F=C.group,M=C.attr,L=C.el,A=L.dom,z,i,x,B,E,y,D,v,N;if(F){x=[].concat(F);E=x.length;for(B=0;B<E;B++){F=x[B];w.getGroup(F).add(C)}delete C.group}y=w.scrubAttrs(C)||{};if(C.zIndexDirty){w.setZIndex(C)}Ext.applyIf(y,w.minDefaults[C.type]);if(A.href){A.href=y.href}if(A.title){A.title=y.title}if(A.target){A.target=y.target}if(A.cursor){A.cursor=y.cursor}if(C.dirtyHidden){(y.hidden)?w.hidePrim(C):w.showPrim(C);C.dirtyHidden=false}if(C.dirtyPath){if(C.type=="circle"||C.type=="ellipse"){var I=y.x,J=y.y,G=y.rx||y.r||0,H=y.ry||y.r||0;A.path=Ext.String.format("ar{0},{1},{2},{3},{4},{1},{4},{1}",Math.round((I-G)*w.zoom),Math.round((J-H)*w.zoom),Math.round((I+G)*w.zoom),Math.round((J+H)*w.zoom),Math.round(I*w.zoom));C.dirtyPath=false}else{if(C.type!=="text"){C.attr.path=y.path=w.setPaths(C,y)||y.path;A.path=w.path2vml(y.path);C.dirtyPath=false}}}if("clip-rect" in y){w.setClip(C,y)}if(C.type=="text"){w.setTextAttributes(C,y)}if(C.type=="image"||y.opacity||y["fill-opacity"]||y.fill){w.setFill(C,y)}if(y.stroke||y["stroke-opacity"]||y.fill){w.setStroke(C,y)}z=M.style;if(z){L.setStyle(z)}C.dirty=false},setZIndex:function(b){if(b.el){if(b.attr.zIndex!=undefined){b.el.setStyle("zIndex",b.attr.zIndex)}b.zIndexDirty=false}},setPaths:function(d,f){var e=d.attr;d.bbox.plain=null;d.bbox.transform=null;if(d.type=="circle"){e.rx=e.ry=f.r;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="ellipse"){e.rx=f.rx;e.ry=f.ry;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="rect"||d.type=="image"){e.rx=e.ry=f.r;return Ext.draw.Draw.rectPath(d)}else{if(d.type=="path"&&e.path){return Ext.draw.Draw.pathToAbsolute(e.path)}}}}return false},setFill:function(m,s){var p=this,u=m.el,r=u.dom,n=r.getElementsByTagName("fill")[0],q,o,v,l,t;if(n){r.removeChild(n)}else{n=p.createNode("fill")}if(Ext.isArray(s.fill)){s.fill=s.fill[0]}if(m.type=="image"){n.on=true;n.src=s.src;n.type="tile";n.rotate=true}else{if(s.fill=="none"){n.on=false}else{if(typeof s.opacity=="number"){n.opacity=s.opacity}if(typeof s["fill-opacity"]=="number"){n.opacity=s["fill-opacity"]}n.on=true;if(typeof s.fill=="string"){v=s.fill.match(p.fillUrlRe);if(v){v=v[1];if(v.charAt(0)=="#"){o=p.gradientsColl.getByKey(v.substring(1))}if(o){l=s.rotation;t=-(o.angle+270+(l?l.degrees:0))%360;if(t===0){t=180}n.angle=t;n.type="gradient";n.method="sigma";n.colors=o.colors}else{n.src=v;n.type="tile";n.rotate=true}}else{n.color=Ext.draw.Color.toHex(s.fill)||s.fill;n.src="";n.type="solid"}}}}r.appendChild(n)},setStroke:function(i,l){var n=this,o=i.el.dom,k=i.strokeEl,m=false,p,j;if(!k){k=i.strokeEl=n.createNode("stroke");m=true}if(Ext.isArray(l.stroke)){l.stroke=l.stroke[0]}if(!l.stroke||l.stroke=="none"||l.stroke==0||l["stroke-width"]==0){k.on=false}else{k.on=true;if(l.stroke&&!l.stroke.match(n.fillUrlRe)){k.color=Ext.draw.Color.toHex(l.stroke)}k.joinstyle=l["stroke-linejoin"];k.endcap=l["stroke-linecap"]||"round";k.miterlimit=l["stroke-miterlimit"]||8;p=parseFloat(l["stroke-width"]||1)*0.75;j=l["stroke-opacity"]||1;if(Ext.isNumber(p)&&p<1){k.weight=1;k.opacity=j*p}else{k.weight=p;k.opacity=j}}if(m){o.appendChild(k)}},setClip:function(g,i){var j=this,l=g.el,h=g.clipEl,k=String(i["clip-rect"]).split(j.separatorRe);if(!h){h=g.clipEl=j.el.insertFirst(Ext.getDoc().dom.createElement("div"));h.addCls(Ext.baseCSSPrefix+"vml-sprite")}if(k.length==4){k[2]=+k[2]+(+k[0]);k[3]=+k[3]+(+k[1]);h.setStyle("clip",Ext.String.format("rect({1}px {2}px {3}px {0}px)",k[0],k[1],k[2],k[3]));h.setSize(j.el.width,j.el.height)}else{h.setStyle("clip","")}},setTextAttributes:function(o,t){var p=this,v=o.vml,r=v.textpath.style,q=p.span.style,n=p.zoom,m=Math.round,l={fontSize:"font-size",fontWeight:"font-weight",fontStyle:"font-style"},u,s;if(o.dirtyFont){if(t.font){r.font=q.font=t.font}if(t["font-family"]){r.fontFamily='"'+t["font-family"].split(",")[0].replace(p.fontFamilyRe,"")+'"';q.fontFamily=t["font-family"]}for(u in l){s=t[l[u]];if(s){r[u]=q[u]=s}}p.setText(o,t.text);if(v.textpath.string){p.span.innerHTML=String(v.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>")}v.W=p.span.offsetWidth;v.H=p.span.offsetHeight+2;if(t["text-anchor"]=="middle"){r["v-text-align"]="center"}else{if(t["text-anchor"]=="end"){r["v-text-align"]="right";v.bbx=-Math.round(v.W/2)}else{r["v-text-align"]="left";v.bbx=Math.round(v.W/2)}}}v.X=t.x;v.Y=t.y;v.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(v.X*n),Math.round(v.Y*n),Math.round(v.X*n)+1);o.bbox.plain=null;o.bbox.transform=null;o.dirtyFont=false},setText:function(d,c){d.vml.textpath.string=Ext.htmlDecode(c)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(b){b.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){b.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(d,e){var f=this;d=d||f.width;e=e||f.height;f.width=d;f.height=e;if(f.el){if(d!=undefined){f.el.setWidth(d)}if(e!=undefined){f.el.setHeight(e)}f.applyViewBox();f.callParent(arguments)}},setViewBox:function(e,g,h,f){this.callParent(arguments);this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()},applyViewBox:function(){var s=this,l=s.viewBox,v=s.width,p=s.height,q,r,n,u,o,t,m;if(l&&(v||p)){q=l.x;r=l.y;n=l.width;u=l.height;o=p/u;t=v/n;if(n*o<v){q-=(v-n*o)/2/o}if(u*t<p){r-=(p-u*t)/2/t}m=1/Math.max(n/v,u/p);s.viewBoxShift={dx:-q,dy:-r,scale:m};s.items.each(function(a){s.transform(a)})}},onAdd:function(b){this.callParent(arguments);if(this.el){this.renderItem(b)}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},createNode:(function(){try{var c=Ext.getDoc().dom;if(!c.namespaces.rvml){c.namespaces.add("rvml","urn:schemas-microsoft-com:vml")}return function(a){return c.createElement("<rvml:"+a+' class="rvml">')}}catch(d){return function(a){return c.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}})(),render:function(f){var h=this,g=Ext.getDoc().dom;if(!h.el){var e=g.createElement("div");h.el=Ext.get(e);h.el.addCls(h.baseVmlCls);h.span=g.createElement("span");Ext.get(h.span).addCls(h.measureSpanCls);e.appendChild(h.span);h.el.setSize(h.width||10,h.height||10);f.appendChild(e);h.el.on({scope:h,mouseup:h.onMouseUp,mousedown:h.onMouseDown,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousemove:h.onMouseMove,mouseenter:h.onMouseEnter,mouseleave:h.onMouseLeave,click:h.onClick})}h.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(b){b.dirty=true;this.renderItem(b)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.dirty){this.applyAttrs(b);if(b.dirtyTransform){this.applyTransformations(b)}}},rotationCompensation:function(g,h,f){var e=Ext.create("Ext.draw.Matrix");e.rotate(-g,0.5,0.5);return{x:e.x(h,f),y:e.y(h,f)}},extractTransform:function(i){var l=this,k=Ext.create("Ext.draw.Matrix"),n,p,r,o,m=0,q=l.viewBoxShift;for(p=i.transformations,r=p.length;m<r;m++){o=p[m];switch(o.type){case"translate":k.translate(o.x,o.y);break;case"rotate":k.rotate(o.degrees,o.x,o.y);break;case"scale":k.scale(o.x||o.scale,o.y||o.scale,o.centerX,o.centerY);break}}if(q){k.add(1,0,0,1,q.dx,q.dy);k.prepend(q.scale,0,0,q.scale,0,0)}return i.matrix=k},setSimpleCoords:function(t,v,w,q,r,B){var x=this,u=t.matrix,C=t.el.dom,F=C.style,D=1,A="",s=C.getElementsByTagName("fill")[0],y=x.zoom/v,z=x.zoom/w,E;if(!v||!w){return}C.coordsize=Math.abs(y)+" "+Math.abs(z);F.rotation=B*(v*w<0?-1:1);if(B){E=x.rotationCompensation(B,q,r);q=E.x;r=E.y}if(v<0){A+="x"}if(w<0){A+=" y";D=-1}F.flip=A;C.coordorigin=(q*-y)+" "+(r*-z);if(s){C.removeChild(s);E=x.rotationCompensation(B,u.x(t.x,t.y),u.y(t.x,t.y));s.position=E.x*D+" "+E.y*D;s.size=t.width*Math.abs(v)+" "+t.height*Math.abs(w);C.appendChild(s)}},transform:function(v){var y=this,E=v.el,r=v.skew,C=E.dom,B=C.style,w=y.extractTransform(v).clone(),x,s=y.zoom,t=C.getElementsByTagName("fill")[0],F=!String(v.fill).indexOf("url("),D,z;if(v.type!="image"&&r&&!F){r.matrix=w.toString();D=w.offset();if(D[0]>32767){D[0]=32767}else{if(D[0]<-32768){D[0]=-32768}}if(D[1]>32767){D[1]=32767}else{if(D[1]<-32768){D[1]=-32768}}r.offset=D}else{if(r){r.matrix="1 0 0 1";r.offset="0 0"}x=w.split();if(x.isSimple){B.filter="";y.setSimpleCoords(v,x.scaleX,x.scaleY,x.translateX,x.translateY,x.rotate/Math.PI*180)}else{B.filter=w.toFilter();var A=y.getBBox(v),c=A.x-v.x,u=A.y-v.y;C.coordorigin=(c*-s)+" "+(u*-s);if(t){C.removeChild(t);t.position=c+" "+u;t.size=v.width*v.scale.x+" "+v.height*1.1;C.appendChild(t)}}}},createItem:function(b){return Ext.create("Ext.draw.Sprite",b)},getRegion:function(){return this.el.getRegion()},addCls:function(d,c){if(d&&d.el){d.el.addCls(c)}},removeCls:function(d,c){if(d&&d.el){d.el.removeCls(c)}},addGradient:function(g){var f=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),e=[],h=Ext.create("Ext.util.MixedCollection");h.addAll(g.stops);h.sortByKey("ASC",function(a,b){a=parseInt(a,10);b=parseInt(b,10);return a>b?1:(a<b?-1:0)});h.eachKey(function(a,b){e.push(a+"% "+b.color)});f.add(g.id,{colors:e.join(","),angle:g.angle})},destroy:function(){var b=this;b.callParent(arguments);if(b.el){b.el.remove()}delete b.el}});Ext.define("Docs.controller.Tabs",{extend:"Ext.app.Controller",requires:["Docs.History","Docs.Settings"],refs:[{ref:"welcomeIndex",selector:"#welcomeindex"},{ref:"classIndex",selector:"#classindex"},{ref:"guideIndex",selector:"#guideindex"},{ref:"videoIndex",selector:"#videoindex"},{ref:"exampleIndex",selector:"#exampleindex"},{ref:"statsIndex",selector:"#statsindex"},{ref:"commentIndex",selector:"#commentindex"},{ref:"classTree",selector:"#classtree"},{ref:"guideTree",selector:"#guidetree"},{ref:"exampleTree",selector:"#exampletree"},{ref:"videoTree",selector:"#videotree"},{ref:"doctabs",selector:"#doctabs"}],scrollState:{},init:function(){this.getController("Classes").addListener({showClass:function(b){this.addTabFromTree("#!/api/"+b)},scope:this});this.getController("Guides").addListener({showGuide:function(b){this.addTabFromTree("#!/guide/"+b)},scope:this});this.getController("Examples").addListener({showExample:function(b){this.addTabFromTree(b)},scope:this});this.getController("Videos").addListener({showVideo:function(b){this.addTabFromTree("#!/video/"+b)},scope:this});this.control({"[componentCls=doctabs]":{tabClose:function(b){delete this.scrollState[b]},tabActivate:function(d,c){Docs.History.push(d,c)},scope:this}})},onLaunch:function(){this.getDoctabs().setStaticTabs(Ext.Array.filter([this.getWelcomeIndex().getTab(),this.getClassIndex().getTab(),this.getGuideIndex().getTab(),this.getVideoIndex().getTab(),this.getExampleIndex().getTab(),this.getStatsIndex().getTab()],function(a){return a}));this.commentsTab=this.getCommentIndex().getTab();var b=Docs.Settings.get("tabs");if(b){Ext.Array.forEach(b,function(a){this.addTabFromTree(a,{animate:false})},this)}Docs.History.notifyTabsLoaded()},showCommentsTab:function(){var b=this.getDoctabs().getStaticTabs();this.getDoctabs().setStaticTabs(b.concat(this.commentsTab))},hideCommentsTab:function(){var b=this.getDoctabs().getStaticTabs();this.getDoctabs().setStaticTabs(Ext.Array.remove(b,this.commentsTab))},addTabFromTree:function(h,g){var e=this.getTree(h);var f=e.findRecordByUrl(h);if(f){this.addTab(f,g)}},addTab:function(d,c){c=c||{animate:true,activate:true};if(!this.scrollState[d.url]){this.scrollState[d.url]=0}this.getDoctabs().addTab({href:d.url,text:d.text,iconCls:d.iconCls},c)},getTree:function(b){if(/#!?\/api/.test(b)){return this.getClassTree()}else{if(/#!?\/guide/.test(b)){return this.getGuideTree()}else{if(/#!?\/video/.test(b)){return this.getVideoTree()}else{if(/#!?\/example/.test(b)){return this.getExampleTree()}else{return this.getClassTree()}}}}},setScrollState:function(c,d){this.scrollState[c]=d},getScrollState:function(b){return this.scrollState[b]||0}});Ext.define("Ext.util.Cookies",{singleton:true,set:function(p,n){var j=arguments,k=arguments.length,i=(k>2)?j[2]:null,l=(k>3)?j[3]:"/",o=(k>4)?j[4]:null,m=(k>5)?j[5]:false;document.cookie=p+"="+escape(n)+((i===null)?"":("; expires="+i.toGMTString()))+((l===null)?"":("; path="+l))+((o===null)?"":("; domain="+o))+((m===true)?"; secure":"")},get:function(k){var g=k+"=",i=g.length,h=document.cookie.length,j=0,l=0;while(j<h){l=j+i;if(document.cookie.substring(j,l)==g){return this.getCookieVal(l)}j=document.cookie.indexOf(" ",j)+1;if(j===0){break}}return null},clear:function(d,c){if(this.get(d)){c=c||"/";document.cookie=d+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path="+c}},getCookieVal:function(c){var d=document.cookie.indexOf(";",c);if(d==-1){d=document.cookie.length}return unescape(document.cookie.substring(c,d))}});Ext.define("Docs.Tip",{singleton:true,show:function(g,e,f){f=f||"right";this.tips=this.tips||{};if(this.tips[f]){var h=this.tips[f];h.update(g);h.setTarget(e);h.show()}else{var h=this.tips[f]=Ext.create("Ext.tip.ToolTip",{anchor:f,target:e,html:g});h.show()}}});Ext.define("Docs.controller.Content",{extend:"Ext.app.Controller",MIDDLE:1,title:"",onLaunch:function(){var b=this.getIndex();if(b.rendered){this.initScrollListener()}else{b.on("afterrender",this.initScrollListener,this)}},initScrollListener:function(){this.getIndex().getEl().addListener("scroll",function(c,d){this.setScrollState(this.baseUrl,d.scrollTop)},this)},loadIndex:function(b){b||Docs.History.push(this.baseUrl);this.getViewport().setPageTitle(this.title);Ext.getCmp("doctabs").activateTab(this.baseUrl);Ext.getCmp("card-panel").layout.setActiveItem(this.getIndex());this.getIndex().getEl().scrollTo("top",this.getScrollState(this.baseUrl))},opensNewWindow:function(b){return b.button===this.MIDDLE||b.shiftKey||b.ctrlKey},getBaseUrl:function(){return document.location.href.replace(/\/?(index.html)?#.*/,"")},getScrollState:function(b){return Docs.App.getController("Tabs").getScrollState(b)},setScrollState:function(c,d){Docs.App.getController("Tabs").setScrollState(c,d)}});Ext.define("Docs.ClassRegistry",{singleton:true,canonicalName:function(b){if(!this.altNames){this.altNames={};Ext.each(Docs.data.search,function(a){if(a.type==="class"&&!/:/.test(a.cls)){this.altNames[a.cls]=a.id}},this)}return this.altNames[b]||b},search:function(i){var u=new Array(5*3*3);for(var t=0;t<u.length;t++){u[t]=[]}var q=/[.:]/.test(i);var o=Ext.escapeRe(i);var x=new RegExp("^"+o+"$","i");var s=new RegExp("^"+o,"i");var p=new RegExp(o,"i");var v=Docs.data.search;for(var t=0,r=v.length;t<r;t++){var z=v[t];var y=q?z.fullName:z.name;var w=z["private"]?4:(z.removed?8:0);if(x.test(y)){u[z.sort+w].push(this.highlightMatch(z,x))}else{if(s.test(y)){u[z.sort+w+12].push(this.highlightMatch(z,s))}else{if(p.test(y)){u[z.sort+w+24].push(this.highlightMatch(z,p))}}}}return Ext.Array.flatten(u)},highlightMatch:function(c,d){c=Ext.apply({},c);c.name=c.name.replace(d,"<strong>$&</strong>");c.fullName=c.fullName.replace(d,"<strong>$&</strong>");return c}});Ext.define("Docs.controller.AuthHelpers",{request:function(c,d){d.url=this.addSid(Docs.baseUrl+"/"+Docs.commentsDb+"/"+Docs.commentsVersion+d.url);if(c==="jsonp"){Ext.data.JsonP.request(d)}else{d.cors=true;Ext.Ajax.request(d)}},addSid:function(c){var d=this.getController("Auth").sid;return c+(c.match(/\?/)?"&":"?")+"sid="+d},isLoggedIn:function(){return this.getController("Auth").isLoggedIn()}});Ext.define("Docs.view.examples.InlineToolbar",{extend:"Ext.toolbar.Toolbar",componentCls:"inline-example-tb",height:30,initComponent:function(){this.addEvents("buttonclick");this.items=[{iconCls:"code",padding:"0 2 0 0",margin:"0 3 0 0",text:"Code Editor",handler:this.createEventFirerer("code")},{padding:0,margin:"0 3 0 0",iconCls:"preview",text:"Live Preview",handler:this.createEventFirerer("preview")},"->",{padding:0,margin:0,iconCls:"copy",text:"Select Code",handler:this.createEventFirerer("copy")}];this.callParent(arguments)},createEventFirerer:function(b){return Ext.Function.bind(function(){this.fireEvent("buttonclick",b)},this)},activateButton:function(b){Ext.Array.each(this.query("button"),function(a){a.removeCls("active")});Ext.Array.each(this.query("button[iconCls="+b+"]"),function(a){a.addCls("active")})}});Ext.define("Docs.controller.Auth",{extend:"Ext.app.Controller",requires:["Ext.util.Cookies","Docs.Tip"],refs:[{ref:"auth",selector:"authentication"}],init:function(){this.sid=Ext.util.Cookies.get("sid");this.addEvents("loggedIn","loggedOut","available");if(!Docs.enableComments){return}this.control({authentication:{afterrender:function(b){b.el.addListener("click",function(d,a){b.showLoginForm()},this,{preventDefault:true,delegate:".login"});b.el.addListener("click",function(d,a){this.logout()},this,{preventDefault:true,delegate:".logout"});this.retrieveSession()}}})},retrieveSession:function(){Ext.Ajax.request({url:Docs.baseUrl+"/session",params:{sid:this.sid},method:"GET",cors:true,callback:function(d,f,e){if(e&&e.responseText){this.currentUser=JSON.parse(e.responseText);this.fireEvent("available");if(this.currentUser){this.setLoggedIn()}else{this.setLoggedOut()}}},scope:this})},login:function(g,f,h,e){Ext.Ajax.request({url:Docs.baseUrl+"/login",method:"POST",cors:true,params:{username:g,password:f},callback:function(c,a,d){var b=JSON.parse(d.responseText);if(b.success){this.currentUser=b;this.setSid(b.sessionID,{remember:h});this.setLoggedIn()}else{Docs.Tip.show(b.reason,e,"bottom")}},scope:this})},logout:function(){Ext.Ajax.request({url:Docs.baseUrl+"/logout?sid="+this.sid,method:"POST",cors:true,callback:function(){this.setLoggedOut()},scope:this})},setLoggedIn:function(){if(this.currentUser){this.getAuth().showLoggedIn(this.currentUser.userName);this.fireEvent("loggedIn")}},setLoggedOut:function(b){this.currentUser={};this.setSid(null);this.getAuth().showLoggedOut();this.fireEvent("loggedOut")},isLoggedIn:function(){return Boolean(this.sid)},setSid:function(d,f){this.sid=d;if(d){var e=null;if(f&&f.remember){e=new Date();e.setTime(e.getTime()+(60*60*24*30*1000))}Ext.util.Cookies.set("sid",d,e)}else{Ext.util.Cookies.clear("sid")}}});Ext.define("Docs.controller.Welcome",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#welcomeindex"}],init:function(){this.addEvents("loadIndex")},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();this.callParent([true])},isActive:function(){return !!this.getIndex().getTab()}});Ext.define("Docs.controller.Failure",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#failure"}],show404:function(c){var d=new Ext.XTemplate("<h1>Oops...</h1>","<p>{msg}</p>","<p>Maybe it was renamed to something else? Or maybe it has passed away permanently to the 404 land? ","This would be sad. Hopefully it's just a bug in our side. ","Report it to <a href='http://www.sencha.com/forum/showthread.php?135036'>Sencha Forum</a> if you feel so.</p>","<p>Sorry for all this :(</p>");Ext.getCmp("failure").update(d.apply({msg:c}));Ext.getCmp("card-panel").layout.setActiveItem("failure")}});Ext.define("Docs.controller.Comments",{extend:"Docs.controller.Content",baseUrl:"#!/comment",title:"Comments",mixins:{authMixin:"Docs.controller.AuthHelpers"},requires:["Docs.Syntax","Docs.Tip"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"overview",selector:"classoverview"},{ref:"index",selector:"#commentindex"}],init:function(){this.addEvents("add","remove","changeSubscription");if(!Docs.enableComments){return}this.getController("Auth").on({available:function(){this.enableComments()},loggedIn:function(){Docs.view.Comments.renderNewCommentForms();this.isMod()&&this.getController("Tabs").showCommentsTab()},loggedOut:function(){Docs.view.Comments.renderNewCommentForms();this.getController("Tabs").hideCommentsTab()},scope:this});this.getController("Classes").on({showClass:function(d,c){if(c.reRendered){this.renderClassCommentContainers(d)}},scope:this});this.getController("Guides").on({showGuide:function(d,c){if(c.reRendered){this.renderGuideCommentContainers(d)}},scope:this});this.getController("Videos").on({showVideo:function(c,d){if(d.reRendered){this.renderVideoCommentContainers(c)}},scope:this});this.control({viewport:{afterrender:function(b){Ext.Array.each([[".toggleComments","click",this.toggleComments],[".toggleMemberComments","click",this.showMemberComments],[".toggleNewComment","click",this.toggleNewComment],[".toggleCommentGuide","click",this.toggleCommentGuide],[".postComment","click",this.postComment],[".updateComment","click",this.updateComment],[".cancelUpdateComment","click",this.cancelUpdateComment],[".deleteComment","click",this.deleteComment],[".undoDeleteComment","click",this.undoDeleteComment],[".editComment","click",this.editComment],[".fetchMoreComments","click",this.fetchMoreComments],[".voteCommentUp","click",this.voteUp],[".voteCommentDown","click",this.voteDown]],function(a){b.el.addListener(a[1],a[2],this,{preventDefault:true,delegate:a[0]})},this);b.el.addListener("click",this.updateSubscription,this,{delegate:".subscriptionCheckbox"})}},"classoverview toolbar":{afterrender:function(b){b.el.addListener("click",function(){var a=Ext.get(Ext.query(".comments-section .comments-div")[0]);this.getOverview().scrollToEl(".comments-section",-20);this.openComments(a)},this,{delegate:".comment-btn"})}}})},isMod:function(){return this.getController("Auth").currentUser.mod},enableComments:function(){if(!this.commentsEnabled){this.commentsEnabled=true}},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();if(!this.recentComments){this.fetchRecentComments("recentcomments");this.recentComments=true}this.callParent([true])},fetchComments:function(i,j,k){var l=Ext.JSON.encode(this.commentId(i)),g=Ext.JSON.encode(this.commentId(i).concat([{}])),h=this.getController("Auth").currentUser;this.request("jsonp",{url:"/comments",method:"GET",params:{reduce:false,startkey:l,endkey:g,user:h&&h.userName},success:function(a){j.call(this,a,i,k)},scope:this})},postComment:function(t,A){if(!this.isLoggedIn()){return false}var q=Ext.get(A),v=q.up(".comments-div"),B=v.getAttribute("id"),u=this.commentId(B),D=Ext.JSON.encode(u),r=v.down("textarea").dom,w=r.editor.getValue(),y=v.down(".commentAction").getValue(),p=v.select("[name=feedback]");var x=null;if(p){p.each(function(a){if(a.dom.checked){x=a.dom.value}})}if(w.replace(/( |\n|\t)+/g,"")==""){return false}if(this.lastCommentPost&&((Math.ceil(Number(new Date())/1000))-this.lastCommentPost)<10){Ext.Msg.alert("Please wait","Please wait 10 seconds between posting comments.");return false}if(q.hasCls("disabled")){return false}q.addCls("disabled");var C=u[1],s=u[1],z="#!/api/";if(u[0]=="video"){s="Video "+s;z="#!/video/"}else{if(u[0]=="guide"){s="Guide "+s;z="#!/guide/"}else{if(u[2]!=""){C+="-"+u[2];s+=" "+u[2]}}}this.request("ajax",{url:"/comments",method:"POST",params:{target:D,comment:w,rating:x,action:y,title:s,url:"http://"+window.location.host+window.location.pathname+z+C},callback:function(c,a,d){if(d&&d.responseText){var b=Ext.JSON.decode(d.responseText);this.fireEvent("add",B);r.editor.setValue("");q.removeCls("disabled");this.toggleNewComment(null,A);this.lastCommentPost=Math.ceil(Number(new Date())/1000);if(b.success&&b.id){this.fetchComments(B,this.appendNewComment,{id:b.id})}else{Ext.Msg.alert("Error",b.reason||"There was an error submitting your request")}}},scope:this})},fetchRecentComments:function(c,d){this.request("jsonp",{url:"/comments_recent",method:"GET",params:{offset:d||0,limit:100},success:function(a){this.renderComments(a,c,{hideCommentForm:true,append:!!d})},scope:this})},fetchMoreComments:function(c,d){this.fetchRecentComments("recentcomments",Ext.get(d).getAttribute("rel"))},deleteComment:function(f,g){if(!this.isLoggedIn()){return}var h=Ext.get(g).up(".comment").getAttribute("id"),i=Ext.get(g).up(".comments-div"),j=i&&i.getAttribute("id");this.request("ajax",{url:"/comments/"+h+"/delete",method:"POST",callback:function(c,a,d){var b=Ext.JSON.decode(d.responseText);if(b.success){if(j){this.fireEvent("remove",j)}Ext.get(h).update('<div class="deleted-comment">Comment was deleted. <a href="#" class="undoDeleteComment">Undo</a>.</div>')}else{Ext.Msg.alert("Error",b.reason||"There was an error submitting your request")}},scope:this})},undoDeleteComment:function(g,h){if(!this.isLoggedIn()){return}var i=Ext.get(h).up(".comment");var j=i.getAttribute("id");var k=i.up(".comments-div");var l=k&&k.getAttribute("id");this.request("ajax",{url:"/comments/"+j+"/undo_delete",method:"POST",callback:function(c,a,d){var b=Ext.JSON.decode(d.responseText);if(b.success){if(l){this.fireEvent("add",l)}b.comment.id=b.comment._id;Docs.view.Comments.commentTpl.insertBefore(i,b.comment);i.remove()}else{Ext.Msg.alert("Error",b.reason||"There was an error submitting your request")}},scope:this})},editComment:function(j,k){var i=Ext.get(k).up(".comment"),g=i.getAttribute("id"),l=i.down(".content"),h=this.getController("Auth").currentUser;this.request("ajax",{url:"/comments/"+g,method:"GET",callback:function(e,a,f){var b=Ext.JSON.decode(f.responseText);if(b.success){l.dom.origContent=l.dom.innerHTML;var c=Ext.merge(Ext.clone(h),{content:b.content,updateComment:true});var d=Docs.view.Comments.editCommentTpl.overwrite(l,c,true);var n=d.down("textarea").dom;Docs.view.Comments.makeCodeMirror(n,d)}},scope:this})},updateComment:function(k,g){if(!this.isLoggedIn()){return false}var h=Ext.get(g),i=h.up(".comment"),j=i.getAttribute("id");var l=i.down("textarea").dom.editor.getValue();if(h.hasCls("disabled")){return false}h.addCls("disabled");this.request("ajax",{url:"/comments/"+j,method:"POST",params:{content:l},callback:function(d,a,e){var b=Ext.JSON.decode(e.responseText);if(b.success){var c=i.down(".content");c.update(b.content)}},scope:this})},cancelUpdateComment:function(j,g){var i=Ext.get(g),h=i.up(".comment"),f=h.down(".content");if(f&&f.dom.origContent){f.update(f.dom.origContent)}},voteUp:function(c,d){this.vote("up",d)},voteDown:function(c,d){this.vote("down",d)},updateSubscription:function(k,l){var i=Ext.get(l).up(".comments-div"),h=Ext.get(l).up("label"),g=i.getAttribute("id"),j=l.checked;this.request("ajax",{url:"/subscribe",method:"POST",params:{target:Ext.JSON.encode(this.commentId(g)),subscribed:j},success:function(){if(j){Docs.Tip.show("Updates to this thread will be e-mailed to you.",h,"bottom")}else{Docs.Tip.show("You have unsubscribed from this thread.",h,"bottom")}},failure:function(){Docs.Tip.show("Subscription change failed.",h,"bottom");l.checked=!l.checked},scope:this})},vote:function(i,f){if(!this.isLoggedIn()){Docs.Tip.show("Please login to vote on this comment",f);return false}else{if(Ext.get(f).hasCls("selected")){Docs.Tip.show("You have already voted on this comment",f);return false}}var h=Ext.get(f).up(".comment").getAttribute("id"),j=Ext.get(f).up(".com-meta"),g=j.down(".score");this.request("ajax",{url:"/comments/"+h,method:"POST",params:{vote:i},callback:function(c,a,d){var b=Ext.JSON.decode(d.responseText);if(b.success){Ext.Array.each(j.query(".vote a"),function(e){Ext.get(e).removeCls("selected")});if(b.direction==="up"||b.direction==="down"){Ext.get(j.query(".vote a.voteComment"+(b.direction=="up"?"Up":"Down"))[0]).addCls("selected")}g.update(String(b.total))}else{Docs.Tip.show(b.reason,f);return false}},scope:this})},toggleComments:function(f,d){var e=Ext.get(d).up(".comments-div");if(e.hasCls("open")){this.closeComments(e)}else{this.openComments(e)}},openComments:function(e){if(e.hasCls("open")){return}var f=e.down(".name"),h=e.down(".comment-list");e.addCls("open");f.setStyle("display","none");if(h){h.setStyle("display","block")}else{var g=e.getAttribute("id");Docs.view.Comments.loadingTpl.append(e);this.fetchComments(g,this.renderComments)}},closeComments:function(d){if(!d.hasCls("open")){return}var e=d.down(".name"),f=d.down(".comment-list");d.removeCls("open");e.setStyle("display","block");if(f){f.setStyle("display","none")}},showMemberComments:function(g,e){var h=Ext.get(e).up(".member");if(h){var f=h.down(".comments-div");h.addCls("open");this.openComments(f);this.getOverview().scrollToEl(f,-20)}},renderClassCommentContainers:function(){var b=this.getController("Classes").currentCls;Docs.view.Comments.renderClassCommentContainers(b)},renderGuideCommentContainers:function(b){Docs.view.Comments.classCommentsTpl.append(Ext.get("guide"),{num:0,id:"guide-"+b})},renderVideoCommentContainers:function(b){Docs.view.Comments.classCommentsTpl.append(Ext.get("video"),{num:0,id:"video-"+b})},renderComments:function(m,u,x){x=x||{};var r=Ext.get(u),n=r.down(".loading");var s=Ext.Array.map(m,function(a){a.id=a._id;a.key=a.target;return a});if(n){n.remove()}if(x.append){var q=r.down(".comment-list");Docs.view.Comments.appendCommentsTpl.append(q,s);var o=s[s.length-1]||{};r.down(".recent-comments-pager").update(Docs.view.Comments.getPagerHtml(o))}else{Docs.view.Comments.commentsTpl.append(r,s);Docs.Syntax.highlight(r)}if(x.hideCommentForm){r.addCls("hideCommentForm")}else{if(!r.hasCls("hideCommentForm")){var w=r.down(".new-comment-wrap");if(this.isLoggedIn()){var t=Ext.apply(this.getController("Auth").currentUser,{userSubscribed:Docs.commentSubscriptions[u]});var v=Docs.view.Comments.loggedInCommentTpl.overwrite(w,t,true);if(v){var p=v.down("textarea");if(p){Docs.view.Comments.makeCodeMirror(p.dom,v)}}}else{Docs.view.Comments.loggedOutCommentTpl.overwrite(w,{})}}}},toggleNewComment:function(f,d){if(!this.isLoggedIn()){return}var e=Ext.get(d).up(".new-comment");if(e.hasCls("open")){e.removeCls("open")}else{e.addCls("open")}},appendNewComment:function(i,h,f){var g=Ext.get(h).down(".new-comment-wrap"),j;if(f.id){Ext.Array.each(i,function(a){if(a._id==f.id){j=a;j.id=f.id}})}else{j=i[i.length-1];j.id=i[i.length-1]._id}Docs.view.Comments.commentTpl.insertBefore(g,j);Docs.Syntax.highlight(g.up(".comment-list"))},commentId:function(b){return Docs.commentMeta.idMap[b]||["unknown"]},toggleCommentGuide:function(h,j){var g=Ext.get(j).up("form"),e=g.down(".commentGuideTxt"),i=e.getStyle("display");e.setStyle("display",(i=="none")?"block":"none")},closeCodeEditor:function(b){b.removeCls("selected");if(b.editor){b.editor.toTextArea()}}});Ext.define("Docs.controller.CommentsMeta",{extend:"Ext.app.Controller",mixins:{authMixin:"Docs.controller.AuthHelpers"},refs:[{ref:"toolbar",selector:"classoverview toolbar"},{ref:"authentication",selector:"authentication"},{ref:"overview",selector:"classoverview"}],init:function(){Docs.commentMeta={idMap:{},"class":{},guide:{},video:{}};Docs.commentSubscriptions={};this.addEvents("afterLoad");if(!Docs.enableComments){return}this.getController("Auth").on({available:function(){this.fetchCommentMeta()},loggedIn:function(){this.fetchSubscriptionMeta()},scope:this});this.getController("Comments").on({add:function(b){this.updateCommentMeta(b,1)},remove:function(b){this.updateCommentMeta(b,-1)},scope:this});this.getController("Classes").on({showIndex:function(){this.updateClassIndex()},showClass:function(d,c){if(c.reRendered){this.createCommentIdMap(this.getController("Classes").currentCls);this.renderClassCommentMeta(d)}},scope:this});this.getController("Guides").on({showGuide:function(d,c){Docs.commentMeta.idMap["comments-guide-"+d]=["guide",d,""];this.renderGuideCommentMeta(d)},scope:this});this.getController("Videos").on({showVideo:function(c,d){Docs.commentMeta.idMap["comments-video-"+c]=["video",c,""];this.renderVideoCommentMeta(c)},scope:this});this.control({hovermenu:{refresh:this.refreshHoverMenu}})},fetchCommentMeta:function(){this.request("jsonp",{url:"/comments_meta",method:"GET",success:function(b){Ext.Array.each(b.comments,function(a){this.updateMeta(a._id.split("__"),a.value)},this);Ext.Array.each(b.subscriptions,function(d){var a="comments-"+d.join("-").replace(/\./g,"-").replace(/-$/,"");Docs.commentSubscriptions[a]=true},this);this.metaLoaded=true;this.fireEvent("afterLoad");this.updateClassIndex()},scope:this})},fetchSubscriptionMeta:function(){this.request("jsonp",{url:"/subscriptions",method:"GET",success:function(b){Ext.Array.each(b.subscriptions,function(d){var a="comments-"+d.join("-").replace(/\./g,"-").replace(/-$/,"");Docs.commentSubscriptions[a]=true},this)},scope:this})},updateCommentMeta:function(f,d){var e=Docs.commentMeta.idMap[f];this.updateMeta(e,d);if(e[0]=="guide"){Docs.view.Comments.updateGuideCommentMeta(e[1])}else{if(e[0]=="video"){Docs.view.Comments.updateVideoCommentMeta(e[1])}else{Docs.view.Comments.updateClassCommentMeta(e[1])}}},updateMeta:function(d,c){Docs.commentMeta[d[0]]=Docs.commentMeta[d[0]]||{};Docs.commentMeta[d[0]][d[1]]=Docs.commentMeta[d[0]][d[1]]||{total:0};Docs.commentMeta[d[0]][d[1]][d[2]]=Docs.commentMeta[d[0]][d[1]][d[2]]||0;Docs.commentMeta[d[0]][d[1]][d[2]]+=c;Docs.commentMeta[d[0]][d[1]]["total"]+=c},createCommentIdMap:function(b){Docs.commentMeta.idMap[("comments-class-"+b.name).replace(/\./g,"-")]=["class",b.name,""];b.members&&this.createMembersCommentIdMap(b,b.members);b.statics&&this.createMembersCommentIdMap(b,b.statics)},createMembersCommentIdMap:function(e,d){for(var f in d){Ext.Array.each(d[f],function(h){var a=["class",e.name,h.id];var b=["class",h.owner,h.id];var c="comments-"+a.join("-").replace(/\./g,"-");Docs.commentMeta.idMap[c]=b},this)}},refreshHoverMenu:function(b){this.afterMetaLoaded(function(){Docs.view.Comments.renderHoverMenuMeta(b.el)},this)},updateClassIndex:function(){if(this.getController("Comments").commentsEnabled){this.afterMetaLoaded(function(){Docs.view.Comments.updateClassIndex()},this)}},renderClassCommentMeta:function(b){this.afterMetaLoaded(function(){Docs.view.Comments.updateClassCommentMeta(b)},this)},renderGuideCommentMeta:function(b){this.afterMetaLoaded(function(){Docs.view.Comments.updateGuideCommentMeta(b)},this)},renderVideoCommentMeta:function(b){this.afterMetaLoaded(function(){Docs.view.Comments.updateVideoCommentMeta(b)},this)},afterMetaLoaded:function(c,d){if(this.metaLoaded){c.call(d)}else{this.addListener("afterLoad",c,d,{single:true})}}});Ext.define("Docs.controller.Examples",{extend:"Docs.controller.Content",baseUrl:"#!/example",title:"Examples",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#exampleindex"},{ref:"tree",selector:"#exampletree"},{ref:"page",selector:"#example"}],init:function(){this.addEvents("showExample");this.control({"#exampletree":{urlclick:function(d,c){this.loadExample(d)}},"exampleindex > thumblist":{urlclick:function(b){this.loadExample(b)}},touchexamplecontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.changeDevice("tablet")},this,{delegate:"button.tablet"});b.el.addListener("click",function(d,a){this.changeDevice("phone")},this,{delegate:"button.phone"});b.el.addListener("click",function(d,a){this.changeOrientation("portrait")},this,{delegate:"button.portrait"});b.el.addListener("click",function(d,a){this.changeOrientation("landscape")},this,{delegate:"button.landscape"});b.el.addListener("click",function(d,a){this.openInNewWindow()},this,{delegate:"button.new-window"})}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("exampletree");this.callParent()},loadExample:function(d,f){var e=this.getExample(d);if(!e){this.getController("Failure").show404("Example <b>"+d+"</b> was not found.");return}this.getViewport().setPageTitle(e.text);if(this.activeUrl!==d){this.getPage().clear();this.activateExampleCard();this.getPage().load(e)}else{this.activateExampleCard()}f||Docs.History.push(d);this.fireEvent("showExample",d);this.getTree().selectUrl(d);this.activeUrl=d},activateExampleCard:function(){Ext.getCmp("card-panel").layout.setActiveItem("example");Ext.getCmp("treecontainer").showTree("exampletree")},getExample:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.examples,function(a){Ext.Array.forEach(a.items,function(d){this.map["#!/example/"+d.name]=d},this)},this)}return this.map[b]},changeOrientation:function(b){this.getPage().setOrientation(b)},changeDevice:function(b){this.getPage().setDevice(b)},openInNewWindow:function(){window.open(this.getExample(this.activeUrl).url)}});Ext.define("Docs.controller.Guides",{extend:"Docs.controller.Content",baseUrl:"#!/guide",title:"Guides",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#guideindex"},{ref:"tree",selector:"#guidetree"},{ref:"guide",selector:"#guide"}],cache:{},init:function(){this.addEvents("showGuide");this.control({"#guidetree":{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},"guideindex > thumblist":{urlclick:function(b){this.loadGuide(b)}},indexcontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.handleUrlClick(a.href,d)},this,{preventDefault:true,delegate:".guide"})}},"#guide":{afterrender:function(b){b.el.addListener("click",function(d,a){this.setScrollState(this.activeUrl,a.scrollTop)},this);b.el.addListener("click",function(d,a){this.handleUrlClick(a.href,d)},this,{preventDefault:true,delegate:".toc a"})}}})},handleUrlClick:function(d,f,e){d=d.replace(/.*#!?/,"#!");if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.activeUrl?this.activeUrl:"")}else{this.loadGuide(d)}},loadIndex:function(){Ext.getCmp("treecontainer").showTree("guidetree");this.callParent()},loadGuide:function(j,h){Ext.getCmp("card-panel").layout.setActiveItem("guide");Ext.getCmp("treecontainer").showTree("guidetree");var g=j.match(/^#!\/guide\/(.*?)(-section-[0-9]+)?$/);var f=g[1];var i=g[2];j="#!/guide/"+f;h||Docs.History.push(j);if(this.cache[f]){this.showGuide(this.cache[f],j,f,i)}else{this.cache[f]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/guides/"+f+"/README.js",callbackName:f,success:function(a){this.cache[f]=a;this.showGuide(a,j,f,i)},failure:function(b,a){this.cache[f]=false;this.getController("Failure").show404("Guide <b>"+f+"</b> was not found.")},scope:this})}},showGuide:function(i,j,f,h){var g=false;if(i==="in-progress"){return}this.getViewport().setPageTitle(i.title);if(this.activeUrl!==j){Ext.getCmp("guide").load({name:f,content:i.guide});g=true}this.activeUrl=j;h?this.getGuide().scrollToEl(f+h):this.getGuide().scrollToTop();this.fireEvent("showGuide",f,{reRendered:g});this.getTree().selectUrl(j)}});Ext.define("Docs.controller.Videos",{extend:"Docs.controller.Content",baseUrl:"#!/video",title:"Videos",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#videoindex"},{ref:"tree",selector:"#videotree"}],init:function(){this.addEvents("showVideo");this.control({"#videotree":{urlclick:function(b){this.loadVideo(b)}},"videoindex > thumblist":{urlclick:function(b){this.loadVideo(b)}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("videotree");this.callParent()},loadVideo:function(j,h){var f=false;Ext.getCmp("card-panel").layout.setActiveItem("video");Ext.getCmp("treecontainer").showTree("videotree");var g=j.match(/^#!\/video\/(.*)$/)[1];var i=this.getVideo(g);if(!i){this.getController("Failure").show404("Video <b>"+g+"</b> was not found.");return}this.getViewport().setPageTitle(i.title);if(this.activeUrl!==j){Ext.getCmp("video").load(i);f=true}h||Docs.History.push(j);this.fireEvent("showVideo",g,{reRendered:f});this.getTree().selectUrl(j);this.activeUrl=j},getVideo:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.videos,function(a){Ext.Array.forEach(a.items,function(d){this.map[d.name]=d},this)},this)}return this.map[b]}});Ext.define("Docs.controller.Stats",{extend:"Docs.controller.Content",baseUrl:"#!/stats",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#statsindex"}],init:function(){this.addEvents("loadIndex")},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();this.callParent([true])},isActive:function(){return !!this.getIndex().getTab()}});Ext.define("Docs.view.examples.InlineWrap",{alias:"widget.inlineexample",requires:["Docs.view.examples.Inline","Docs.view.examples.InlineToolbar"],constructor:function(c){this.pre=c;var d=this.parseOptions(c.className);this.initToolbar();if(d.preview){this.replacePre(d)}else{this.tb.on("buttonclick",function(a){d.preview=(a==="preview");this.replacePre(d)},this,{single:true})}},parseOptions:function(c){var d={};Ext.Array.forEach(c.split(/ +/),function(a){if(a==="phone"||a==="miniphone"||a==="tablet"){d.device=a}else{if(a==="ladscape"||a==="portrait"){d.orientation=a}else{d[a]=true}}});return d},initToolbar:function(){var b=document.createElement("div");this.pre.parentNode.insertBefore(b,this.pre);this.tb=Ext.create("Docs.view.examples.InlineToolbar",{renderTo:b})},replacePre:function(d){var c=document.createElement("div");this.pre.parentNode.replaceChild(c,this.pre);Ext.create("Docs.view.examples.Inline",{height:200,renderTo:c,value:Ext.String.htmlDecode(Ext.util.Format.stripTags(this.pre.innerHTML)),options:d,toolbar:this.tb})}});Ext.define("Docs.controller.InlineExamples",{extend:"Ext.app.Controller",requires:["Docs.view.examples.InlineWrap"],init:function(){this.control({classoverview:{resize:this.createResizer(".class-overview"),afterload:this.replaceExampleDivs},guidecontainer:{resize:this.createResizer(".guide-container"),afterload:this.replaceExampleDivs}})},createResizer:function(b){return function(){Ext.Array.each(Ext.ComponentQuery.query(b+" .inlineexample"),function(a){if(a.editor&&a.isVisible()){a.doLayout();a.editor.refresh()}})}},replaceExampleDivs:function(){Ext.Array.each(Ext.query(".inline-example"),function(b){Ext.create("Docs.view.examples.InlineWrap",b)},this)}});Ext.define("Docs.view.search.Dropdown",{extend:"Ext.view.View",alias:"widget.searchdropdown",floating:true,autoShow:false,autoRender:true,toFrontOnShow:true,focusOnToFront:false,store:"Search",id:"search-dropdown",overItemCls:"x-view-over",trackOver:true,itemSelector:"div.item",singleSelect:true,pageStart:0,pageSize:10,initComponent:function(){this.addEvents("changePage","footerClick");this.tpl=new Ext.XTemplate('<tpl for=".">','<div class="item">','<div class="icon {icon}"></div>','<div class="meta">{[this.getMetaTags(values.meta)]}</div>','<div class="title {[this.getCls(values.meta)]}">{name}</div>','<div class="class">{fullName}</div>',"</div>","</tpl>",'<div class="footer">','<a href="#" class="prev">&lt;</a>','<span class="total">{[this.getStart()+1]}-{[this.getEnd()]} of {[this.getTotal()]}</span>','<a href="#" class="next">&gt;</a>',"</div>",{getCls:function(b){return b["private"]?"private":(b.removed?"removed":"")},getMetaTags:function(b){return Ext.Array.map(Docs.data.signatures,function(a){return b[a.key]?'<span class="signature '+a.key+'">'+(a["short"])+"</span>":""}).join(" ")},getTotal:Ext.bind(this.getTotal,this),getStart:Ext.bind(this.getStart,this),getEnd:Ext.bind(this.getEnd,this)});this.on("afterrender",function(){this.el.addListener("click",function(){this.fireEvent("changePage",this,-1)},this,{preventDefault:true,delegate:".prev"});this.el.addListener("click",function(){this.fireEvent("changePage",this,+1)},this,{preventDefault:true,delegate:".next"});this.el.addListener("click",function(){this.fireEvent("footerClick",this)},this,{delegate:".footer"})},this);this.callParent(arguments)},setTotal:function(b){this.total=b},getTotal:function(){return this.total},setStart:function(b){this.pageStart=b},getStart:function(b){return this.pageStart},getEnd:function(c){var d=this.pageStart+this.pageSize;return d>this.total?this.total:d}});Ext.define("Docs.store.Search",{extend:"Ext.data.Store",fields:["name","fullName","icon","url","meta","sort"],proxy:{type:"memory",reader:{type:"json"}}});Ext.define("Ext.data.proxy.WebStorage",{extend:"Ext.data.proxy.Client",alternateClassName:"Ext.data.WebStorageProxy",id:undefined,constructor:function(b){this.callParent(arguments);this.cache={};if(this.getStorageObject()===undefined){Ext.Error.raise("Local Storage is not supported in this browser, please use another type of data proxy")}this.id=this.id||(this.store?this.store.storeId:undefined);if(this.id===undefined){Ext.Error.raise("No unique id was provided to the local storage proxy. See Ext.data.proxy.LocalStorage documentation for details")}this.initialize()},create:function(n,k,i){var o=n.records,p=o.length,r=this.getIds(),q,l,m;n.setStarted();for(m=0;m<p;m++){l=o[m];if(l.phantom){l.phantom=false;q=this.getNextId()}else{q=l.getId()}this.setRecord(l,q);r.push(q)}this.setIds(r);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},read:function(n,k,i){var o=[],r=this.getIds(),p=r.length,m,q,l;if(n.id){l=this.getRecord(n.id);if(l){o.push(l);n.setSuccessful()}}else{for(m=0;m<p;m++){o.push(this.getRecord(r[m]))}n.setSuccessful()}n.setCompleted();n.resultSet=Ext.create("Ext.data.ResultSet",{records:o,total:o.length,loaded:true});if(typeof k=="function"){k.call(i||this,n)}},update:function(n,k,i){var o=n.records,p=o.length,r=this.getIds(),l,q,m;n.setStarted();for(m=0;m<p;m++){l=o[m];this.setRecord(l);q=l.getId();if(q!==undefined&&Ext.Array.indexOf(r,q)==-1){r.push(q)}}this.setIds(r);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},destroy:function(i,k,n){var j=i.records,m=j.length,o=this.getIds(),l=[].concat(o),p;for(p=0;p<m;p++){Ext.Array.remove(l,j[p].getId());this.removeRecord(j[p],false)}this.setIds(l);i.setCompleted();i.setSuccessful();if(typeof k=="function"){k.call(n||this,i)}},getRecord:function(r){if(this.cache[r]===undefined){var t=Ext.decode(this.getStorageObject().getItem(this.getRecordKey(r))),o={},p=this.model,l=p.prototype.fields.items,q=l.length,n,i,s,m;for(n=0;n<q;n++){i=l[n];s=i.name;if(typeof i.decode=="function"){o[s]=i.decode(t[s])}else{o[s]=t[s]}}m=new p(o,r);m.phantom=false;this.cache[r]=m}return this.cache[r]},setRecord:function(r,x){if(x){r.setId(x)}else{x=r.getId()}var p=this,z=r.data,t={},s=p.model,q=s.prototype.fields.items,w=q.length,u=0,o,y,v,i;for(;u<w;u++){o=q[u];y=o.name;if(typeof o.encode=="function"){t[y]=o.encode(z[y],r)}else{t[y]=z[y]}}v=p.getStorageObject();i=p.getRecordKey(x);p.cache[x]=r;v.removeItem(i);v.setItem(i,Ext.encode(t))},removeRecord:function(g,h){var e=this,f;if(g.isModel){g=g.getId()}if(h!==false){f=e.getIds();Ext.Array.remove(f,g);e.setIds(f)}e.getStorageObject().removeItem(e.getRecordKey(g))},getRecordKey:function(b){if(b.isModel){b=b.getId()}return Ext.String.format("{0}-{1}",this.id,b)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.id)},getIds:function(){var d=(this.getStorageObject().getItem(this.id)||"").split(","),f=d.length,e;if(f==1&&d[0]===""){d=[]}else{for(e=0;e<f;e++){d[e]=parseInt(d[e],10)}}return d},setIds:function(e){var d=this.getStorageObject(),f=e.join(",");d.removeItem(this.id);if(!Ext.isEmpty(f)){d.setItem(this.id,f)}},getNextId:function(){var i=this.getStorageObject(),g=this.getRecordCounterKey(),j=i.getItem(g),f,h;if(j===null){f=this.getIds();j=f[f.length-1]||0}h=parseInt(j,10)+1;i.setItem(g,h);return h},initialize:function(){var b=this.getStorageObject();b.setItem(this.id,b.getItem(this.id)||"")},clear:function(){var g=this.getStorageObject(),h=this.getIds(),f=h.length,e;for(e=0;e<f;e++){this.removeRecord(h[e])}g.removeItem(this.getRecordCounterKey());g.removeItem(this.id)},getStorageObject:function(){Ext.Error.raise("The getStorageObject function has not been defined in your Ext.data.proxy.WebStorage subclass")}});Ext.define("Docs.controller.Search",{extend:"Ext.app.Controller",requires:["Docs.ClassRegistry","Docs.History"],views:["search.Dropdown"],stores:["Search"],refs:[{ref:"field",selector:"#search-field"}],pageIndex:0,pageSize:10,init:function(){this.control({"#search-dropdown":{itemclick:function(c,d){this.loadRecord(d)},changePage:function(c,d){this.pageIndex+=d;this.search(this.getField().getValue());this.keepDropdown()},footerClick:function(b){this.keepDropdown()}},"#search-field":{keyup:function(m,l){var j=this.getDropdown();m.setHideTrigger(m.getValue().length===0);if(l.keyCode===Ext.EventObject.ESC||!m.value){j.hide();m.setValue("");return}else{j.show()}var h=j.getSelectionModel();var i=h.getLastSelected();var n=j.store.indexOf(i);var k=j.store.getCount()-1;if(l.keyCode===Ext.EventObject.UP){if(n===undefined){h.select(0)}else{h.select(n===0?k:(n-1))}}else{if(l.keyCode===Ext.EventObject.DOWN){if(n===undefined){h.select(0)}else{h.select(n===k?0:n+1)}}else{if(l.keyCode===Ext.EventObject.ENTER){l.preventDefault();i&&this.loadRecord(i)}else{this.pageIndex=0;clearTimeout(this.searchTimeout);this.searchTimeout=Ext.Function.defer(function(){this.search(m.value)},50,this)}}}},focus:function(b){if(b.value&&this.getDropdown().store.getCount()>0){this.getDropdown().show()}},blur:function(){var b=this.getDropdown();this.hideTimeout=Ext.Function.defer(b.hide,500,b)}}})},getDropdown:function(){return this.dropdown||(this.dropdown=Ext.getCmp("search-dropdown"))},keepDropdown:function(){clearTimeout(this.hideTimeout);this.getField().focus()},loadRecord:function(b){Docs.History.navigate(b.get("url"));this.getDropdown().hide()},search:function(h){var e=Docs.ClassRegistry.search(h);if(this.pageIndex<0){this.pageIndex=0}else{if(this.pageIndex>Math.floor(e.length/this.pageSize)){this.pageIndex=Math.floor(e.length/this.pageSize)}}var g=this.pageIndex*this.pageSize;var f=g+this.pageSize;this.getDropdown().setTotal(e.length);this.getDropdown().setStart(g);this.getDropdown().getStore().loadData(e.slice(g,f));this.getDropdown().alignTo("search-field","bl",[-12,-2]);if(e.length===0){this.getDropdown().hide()}else{this.getDropdown().getSelectionModel().select(0)}}});Ext.define("Ext.data.proxy.LocalStorage",{extend:"Ext.data.proxy.WebStorage",alias:"proxy.localstorage",alternateClassName:"Ext.data.LocalStorageProxy",getStorageObject:function(){return window.localStorage}});Ext.define("Docs.model.Setting",{fields:["id","key","value"],extend:"Ext.data.Model",proxy:{type:window.localStorage?"localstorage":"memory",id:Docs.data.localStorageDb+"-settings"}});Ext.define("Docs.store.Settings",{extend:"Ext.data.Store",model:"Docs.model.Setting"});Ext.define("Docs.controller.Classes",{extend:"Docs.controller.Content",baseUrl:"#!/api",title:"API Documentation",requires:["Docs.History","Docs.Syntax","Docs.ClassRegistry"],stores:["Settings"],models:["Setting"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#classindex"},{ref:"header",selector:"classheader"},{ref:"overview",selector:"classoverview"},{ref:"tabPanel",selector:"classtabpanel"},{ref:"tree",selector:"#classtree"},{ref:"favoritesGrid",selector:"#favorites-grid"}],cache:{},init:function(){this.addEvents("showIndex","showClass","showMember");Ext.getBody().addListener("click",function(c,d){this.handleUrlClick(decodeURI(d.href),c)},this,{preventDefault:true,delegate:".docClass"});this.control({classtree:{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},toolbar:{toggleExpanded:function(b){Ext.Array.forEach(Ext.query(".side.expandable"),function(a){Ext.get(a).parent()[b?"addCls":"removeCls"]("open")})}},classoverview:{afterrender:function(b){b.el.addListener("click",function(i,k){var h=Ext.get(k).up(".member"),l=h.down(".meta .defined-in"),j=l.getAttribute("rel"),a=h.getAttribute("id");if(h.hasCls("open")){this.setExpanded(a,false)}else{this.setExpanded(a,true);this.fireEvent("showMember",j,a)}h.toggleCls("open")},this,{preventDefault:true,delegate:".expandable"});b.el.addListener("click",Ext.emptyFn,this,{preventDefault:true,delegate:".not-expandable"});b.body.addListener("scroll",function(d,a){this.setScrollState("#!/api/"+this.currentCls.name,a.scrollTop)},this)}},treecontainer:{afterrender:function(b){b.el.addListener("dblclick",function(){if(b.getWidth()<30){b.setWidth(b.expandedWidth)}else{b.expandedWidth=b.getWidth();b.setWidth(20)}},this,{delegate:".x-resizable-handle"})}}})},setExpanded:function(f,d){var e=this.currentCls;if(!e.expanded){e.expanded={}}if(d){e.expanded[f]=d}else{delete e.expanded[f]}},applyExpanded:function(b){Ext.Object.each(b.expanded||{},function(a){Ext.get(a).addCls("open")},this)},handleUrlClick:function(d,f,e){d=Docs.History.cleanUrl(d);if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.currentCls?"#!/api/"+this.currentCls.name:"")}else{this.loadClass(d)}},loadIndex:function(b){Ext.getCmp("treecontainer").showTree("classtree");this.callParent(arguments);this.fireEvent("showIndex")},loadClass:function(f,i){Ext.getCmp("card-panel").layout.setActiveItem("classcontainer");Ext.getCmp("treecontainer").showTree("classtree");i||Docs.History.push(f);var j=f.match(/^#!\/api\/(.*?)(?:-(.*))?$/);var g=Docs.ClassRegistry.canonicalName(j[1]);var h=j[2];if(this.getOverview()){this.getOverview().setLoading(true)}if(this.cache[g]){this.showClass(this.cache[g],h)}else{this.cache[g]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/output/"+g+".js",callbackName:g.replace(/\./g,"_"),success:function(b,a){this.cache[g]=b;this.showClass(b,h)},failure:function(b,a){this.cache[g]=false;this.getOverview().setLoading(false);this.getController("Failure").show404("Class <b>"+g+"</b> was not found.")},scope:this})}},showClass:function(e,f){var d=false;if(e==="in-progress"){return}this.getOverview().setLoading(false);this.getViewport().setPageTitle(e.name);if(this.currentCls!==e){this.currentCls=e;this.getHeader().load(e);this.getOverview().load(e);this.applyExpanded(e);d=true}this.currentCls=e;if(f){this.getOverview().scrollToEl("#"+f);this.fireEvent("showMember",e.name,f)}else{this.scrollContent()}this.getTree().selectUrl("#!/api/"+e.name);this.fireEvent("showClass",e.name,{reRendered:d})},scrollContent:function(){if(this.currentCls){var b="#!/api/"+this.currentCls.name;this.getOverview().getEl().down(".x-panel-body").scrollTo("top",this.getScrollState(b))}}});Ext.ns("Docs");Ext.Loader.setConfig({enabled:true,paths:{Docs:"app"}});Ext.require("Docs.view.Viewport");Ext.require("Ext.form.field.Trigger");Ext.require("Ext.tab.Panel");Ext.require("Ext.grid.column.Action");Ext.require("Ext.grid.plugin.DragDrop");Ext.require("Ext.layout.container.Border");Ext.require("Ext.data.TreeStore");Ext.require("Ext.toolbar.Spacer");Ext.require("Docs.Application");Ext.onReady(function(){Ext.create("Docs.Application")}); +var CodeMirror=(function(){function n(Y,bc){var bm={},a6=n.defaults;for(var bA in a6){if(a6.hasOwnProperty(bA)){bm[bA]=(bc&&bc.hasOwnProperty(bA)?bc:a6)[bA]}}var bR=bm.document;var by=bR.createElement("div");by.className="CodeMirror";by.innerHTML='<div style="overflow: hidden; position: relative; width: 1px; height: 0px;"><textarea style="position: absolute; width: 2px;" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scroll cm-s-'+bm.theme+'"><div style="position: relative"><div style="position: absolute; height: 0; width: 0; overflow: hidden;"></div><div style="position: relative"><div class="CodeMirror-gutter"><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative" draggable="true"><pre class="CodeMirror-cursor">&#160;</pre><div></div></div></div></div></div></div>';if(Y.appendChild){Y.appendChild(by)}else{Y(by)}var b7=by.firstChild,b4=b7.firstChild,aL=by.lastChild,aM=aL.firstChild,aE=aM.firstChild,bu=aE.nextSibling,aX=bu.firstChild,b2=aX.firstChild,aP=aX.nextSibling.firstChild,ak=aP.firstChild,ao=ak.nextSibling;if(bm.tabindex!=null){b4.tabindex=bm.tabindex}if(!bm.gutter&&!bm.lineNumbers){aX.style.display="none"}var aO=new q(),ay=new q(),an;var bo,bY=[new c("")],bg,bd=new g(),i;bw();var aZ={from:{line:0,ch:0},to:{line:0,ch:0},inverted:false};var bf,bI,bG,am,a9;var bs,bW,aR,au,bU,bC;var bp=0,bF=0,bN=0,aW=null;var aa,bM;var aQ="",Z;bZ(function(){aq(bm.value||"");bs=false})();l(aL,"mousedown",bZ(az));l(aL,"dblclick",bZ(ac));l(aP,"dragstart",af);if(!A){l(aL,"contextmenu",aw)}l(aL,"scroll",function(){al([]);if(bm.fixedGutter){aX.style.left=aL.scrollLeft+"px"}if(bm.onScroll){bm.onScroll(bV)}});l(window,"resize",function(){al(true)});l(b4,"keyup",bZ(bt));l(b4,"keydown",bZ(aC));l(b4,"keypress",bZ(bj));l(b4,"focus",aK);l(b4,"blur",aI);l(aL,"dragenter",o);l(aL,"dragover",o);l(aL,"drop",bZ(at));l(aL,"paste",function(){ax();bT()});l(b4,"paste",function(){bT()});l(b4,"cut",function(){bT()});var ah;try{ah=(bR.activeElement==b4)}catch(a3){}if(ah){setTimeout(aK,20)}else{aI()}function S(b9){return b9>=0&&b9<bY.length}var bV=by.CodeMirror={getValue:bn,setValue:bZ(aq),getSelection:bP,replaceSelection:bZ(ar),focus:function(){ax();aK();bT()},setOption:function(b9,ca){bm[b9]=ca;if(b9=="lineNumbers"||b9=="gutter"||b9=="firstLineNumber"){bZ(U)()}else{if(b9=="mode"||b9=="indentUnit"){bw()}else{if(b9=="readOnly"&&ca=="nocursor"){b4.blur()}else{if(b9=="theme"){aL.className=aL.className.replace(/cm-s-\w+/,"cm-s-"+ca)}}}}},getOption:function(b9){return bm[b9]},undo:bZ(bK),redo:bZ(b8),indentLine:bZ(function(ca,b9){if(S(ca)){aB(ca,b9==null?"smart":b9?"add":"subtract")}}),historySize:function(){return{undo:bd.done.length,redo:bd.undone.length}},matchBrackets:bZ(function(){aA(true)}),getTokenAt:function(b9){b9=ap(b9);return bY[b9.line].getTokenAt(bo,aN(b9.line),b9.ch)},getStateAfter:function(b9){b9=a7(b9==null?bY.length-1:b9);return aN(b9+1)},cursorCoords:function(b9){if(b9==null){b9=aZ.inverted}return bD(b9?aZ.from:aZ.to)},charCoords:function(b9){return bD(ap(b9))},coordsChar:function(ca){var cb=R(aP);var b9=a7(Math.min(bY.length-1,bp+Math.floor((ca.y-cb.top)/bX())));return ap({line:b9,ch:bl(a7(b9),ca.x-cb.left)})},getSearchCursor:function(ca,cb,b9){return new aF(ca,cb,b9)},markText:bZ(function(ca,b9,cb){return bZ(X(ca,b9,cb))}),setMarker:bZ(av),clearMarker:bZ(aj),setLineClass:bZ(aV),lineInfo:ag,addWidget:function(cd,cb,cf,cc,ch){cd=bE(ap(cd));var ce=cd.yBot,ca=cd.x;cb.style.position="absolute";aM.appendChild(cb);if(cc=="over"){ce=cd.y}else{if(cc=="near"){var b9=Math.max(aL.offsetHeight,bY.length*bX()),cg=Math.max(aM.clientWidth,aP.clientWidth)-bv();if(cd.yBot+cb.offsetHeight>b9&&cd.y>cb.offsetHeight){ce=cd.y-cb.offsetHeight}if(ca+cb.offsetWidth>cg){ca=cg-cb.offsetWidth}}}cb.style.top=(ce+bh())+"px";cb.style.left=cb.style.right="";if(ch=="right"){ca=aM.clientWidth-cb.offsetWidth;cb.style.right="0px"}else{if(ch=="left"){ca=0}else{if(ch=="middle"){ca=(aM.clientWidth-cb.offsetWidth)/2}}cb.style.left=(ca+bv())+"px"}if(cf){b6(ca,ce,ca+cb.offsetWidth,ce+cb.offsetHeight)}},lineCount:function(){return bY.length},getCursor:function(b9){if(b9==null){b9=aZ.inverted}return I(b9?aZ.from:aZ.to)},somethingSelected:function(){return !L(aZ.from,aZ.to)},setCursor:bZ(function(b9,ca){if(ca==null&&typeof b9.line=="number"){a2(b9.line,b9.ch)}else{a2(b9,ca)}}),setSelection:bZ(function(ca,b9){bH(ap(ca),ap(b9||ca))}),getLine:function(b9){if(S(b9)){return bY[b9].text}},setLine:bZ(function(b9,ca){if(S(b9)){bx(ca,{line:b9,ch:0},{line:b9,ch:bY[b9].text.length})}}),removeLine:bZ(function(b9){if(S(b9)){bx("",{line:b9,ch:0},ap({line:b9+1,ch:0}))}}),replaceRange:bZ(bx),getRange:function(ca,b9){return bi(ap(ca),ap(b9))},coordsFromIndex:function(cb){var cd=bY.length,ce=0,ca,cc,b9;for(ca=0;ca<cd;ca++){b9=bY[ca].text.length+1;if(ce+b9>cb){cc=cb-ce;break}ce+=b9}return ap({line:ca,ch:cc})},operation:function(b9){return bZ(b9)()},refresh:function(){al(true)},getInputField:function(){return b4},getWrapperElement:function(){return by},getScrollerElement:function(){return aL},getGutterElement:function(){return aX}};function aq(b9){bd=null;var ca={line:0,ch:0};br(ca,{line:bY.length-1,ch:bY[bY.length-1].text.length},r(b9),ca,ca);bd=new g();bs=true}function bn(cb){var cc=[];for(var ca=0,b9=bY.length;ca<b9;++ca){cc.push(bY[ca].text)}return cc.join("\n")}function az(cf){for(var cc=f(cf);cc!=by;cc=cc.parentNode){if(cc.parentNode==aM&&cc!=bu){return}}for(var cc=f(cf);cc!=by;cc=cc.parentNode){if(cc.parentNode==b2){if(bm.onGutterClick){bm.onGutterClick(bV,k(b2.childNodes,cc)+bp,cf)}return E(cf)}}var b9=ai(cf);switch(p(cf)){case 3:if(A&&!y){aw(cf)}return;case 2:if(b9){a2(b9.line,b9.ch,true)}return}if(!b9){if(f(cf)==aL){E(cf)}return}if(!i){aK()}var ca=+new Date;if(am>ca-400){E(cf);return aU(b9.line)}else{if(bG>ca-400){am=ca;E(cf);return bq(b9)}else{bG=ca}}var ch=b9,cb;if(u&&!L(aZ.from,aZ.to)&&!H(b9,aZ.from)&&!H(aZ.to,b9)){var ce=l(bR,"mouseup",bZ(function(ci){a9=false;ce();if(Math.abs(cf.clientX-ci.clientX)+Math.abs(cf.clientY-ci.clientY)<10){E(ci);a2(b9.line,b9.ch,true);ax()}}),true);a9=true;return}E(cf);a2(b9.line,b9.ch,true);function cg(ci){var ck=ai(ci,true);if(ck&&!L(ck,ch)){if(!i){aK()}ch=ck;aY(b9,ck);bs=false;var cj=b0();if(ck.line>=cj.to||ck.line<cj.from){cb=setTimeout(bZ(function(){cg(ci)}),150)}}}var cd=l(bR,"mousemove",bZ(function(ci){clearTimeout(cb);E(ci);cg(ci)}),true);var ce=l(bR,"mouseup",bZ(function(ci){clearTimeout(cb);var cj=ai(ci);if(cj){aY(b9,cj)}E(ci);ax();bs=true;cd();ce()}),true)}function ac(b9){var ca=ai(b9);if(!ca){return}am=+new Date;E(b9);bq(ca)}function at(cg){cg.preventDefault();var ch=ai(cg,true),b9=cg.dataTransfer.files;if(!ch||bm.readOnly){return}if(b9&&b9.length&&window.FileReader&&window.File){function cd(cm,cl){var ck=new FileReader;ck.onload=function(){cj[cl]=ck.result;if(++ca==cb){ch=ap(ch);var cn=bx(cj.join(""),ch,ch);aY(ch,cn)}};ck.readAsText(cm)}var cb=b9.length,cj=Array(cb),ca=0;for(var ce=0;ce<cb;++ce){cd(b9[ce],ce)}}else{try{var cj=cg.dataTransfer.getData("Text");if(cj){var cc=bx(cj,ch,ch);var ci=aZ.from,cf=aZ.to;aY(ch,cc);if(a9){bx("",ci,cf)}ax()}}catch(cg){}}}function af(ca){var b9=bP();B(b9);ca.dataTransfer.setDragImage(O,0,0);ca.dataTransfer.setData("Text",b9)}function aC(cd){if(!i){aK()}var cc=cd.keyCode;if(x&&cc==27){cd.returnValue=false}var cb=(y?cd.metaKey:cd.ctrlKey)&&!cd.altKey,ca=cd.ctrlKey||cd.altKey||cd.metaKey;if(cc==16||cd.shiftKey){bf=bf||(aZ.inverted?aZ.to:aZ.from)}else{bf=null}if(bm.onKeyEvent&&bm.onKeyEvent(bV,z(cd))){return}if(cc==33||cc==34){bQ(cc==34);return E(cd)}if(cb&&((cc==36||cc==35)||y&&(cc==38||cc==40))){b1(cc==36||cc==38);return E(cd)}if(cb&&cc==65){bz();return E(cd)}if(!bm.readOnly){if(!ca&&cc==13){return}if(!ca&&cc==9&&aG(cd.shiftKey)){return E(cd)}if(cb&&cc==90){bK();return E(cd)}if(cb&&((cd.shiftKey&&cc==90)||cc==89)){b8();return E(cd)}}if(cc==36){if(bm.smartHome){bb();return E(cd)}}aW=(cb?"c":"")+(cd.altKey?"a":"")+cc;if(aZ.inverted&&M[aW]===true){var b9=N(b4);if(b9){bI={anchor:b9.start};b(b4,b9.start,b9.start)}}if(!cb&&!cd.altKey){aW=null}bT(aW)}function bt(b9){if(bm.onKeyEvent&&bm.onKeyEvent(bV,z(b9))){return}if(bI){bI=null;bs=true}if(b9.keyCode==16){bf=null}}function bj(cb){if(bm.onKeyEvent&&bm.onKeyEvent(bV,z(cb))){return}if(bm.electricChars&&bo.electricChars){var b9=String.fromCharCode(cb.charCode==null?cb.keyCode:cb.charCode);if(bo.electricChars.indexOf(b9)>-1){setTimeout(bZ(function(){aB(aZ.to.line,"smart")}),50)}}var ca=cb.keyCode;if(ca==13){if(!bm.readOnly){aH()}E(cb)}else{if(!cb.ctrlKey&&!cb.altKey&&!cb.metaKey&&ca==9&&bm.tabMode!="default"){E(cb)}else{bT(aW)}}}function aK(){if(bm.readOnly=="nocursor"){return}if(!i){if(bm.onFocus){bm.onFocus(bV)}i=true;if(by.className.search(/\bCodeMirror-focused\b/)==-1){by.className+=" CodeMirror-focused"}if(!bU){aJ()}}bJ();T()}function aI(){if(i){if(bm.onBlur){bm.onBlur(bV)}i=false;by.className=by.className.replace(" CodeMirror-focused","")}clearInterval(an);setTimeout(function(){if(!i){bf=null}},150)}function br(cg,cf,cd,ca,b9){if(bd){var cb=[];for(var cc=cg.line,ce=cf.line+1;cc<ce;++cc){cb.push(bY[cc].text)}bd.addChange(cg.line,cd.length,cb);while(bd.done.length>bm.undoDepth){bd.done.shift()}}V(cg,cf,cd,ca,b9)}function a1(cf,ce){var cd=cf.pop();if(cd){var cb=[],b9=cd.start+cd.added;for(var ca=cd.start;ca<b9;++ca){cb.push(bY[ca].text)}ce.push({start:cd.start,added:cd.old.length,old:cb});var cc=ap({line:cd.start+cd.old.length-1,ch:G(cb[cb.length-1],cd.old[cd.old.length-1])});V({line:cd.start,ch:0},{line:b9-1,ch:bY[b9-1].text.length},cd.old,cc,cc);bs=true}}function bK(){a1(bd.done,bd.undone)}function b8(){a1(bd.undone,bd.done)}function V(ck,cd,cp,b9,cq){var co=false,cc=aQ.length;for(var cl=ck.line;cl<=cd.line;++cl){if(bY[cl].text.length==cc){co=true;break}}var cg=cd.line-ck.line,cf=bY[ck.line],ca=bY[cd.line];if(cf==ca){if(cp.length==1){cf.replace(ck.ch,cd.ch,cp[0])}else{ca=cf.split(cd.ch,cp[cp.length-1]);var ch=[ck.line+1,cg];cf.replace(ck.ch,cf.text.length,cp[0]);for(var cl=1,cn=cp.length-1;cl<cn;++cl){ch.push(new c(cp[cl]))}ch.push(ca);bY.splice.apply(bY,ch)}}else{if(cp.length==1){cf.replace(ck.ch,cf.text.length,cp[0]+ca.text.slice(cd.ch));bY.splice(ck.line+1,cg)}else{var ch=[ck.line+1,cg-1];cf.replace(ck.ch,cf.text.length,cp[0]);ca.replace(0,cd.ch,cp[cp.length-1]);for(var cl=1,cn=cp.length-1;cl<cn;++cl){ch.push(new c(cp[cl]))}bY.splice.apply(bY,ch)}}for(var cl=ck.line,cn=cl+cp.length;cl<cn;++cl){var cj=bY[cl].text;if(cj.length>cc){aQ=cj;cc=cj.length;Z=null;co=false}}if(co){cc=0;aQ="";Z=null;for(var cl=0,cn=bY.length;cl<cn;++cl){var cj=bY[cl].text;if(cj.length>cc){cc=cj.length;aQ=cj}}}var cb=[],ce=cp.length-cg-1;for(var cl=0,cj=bg.length;cl<cj;++cl){var cm=bg[cl];if(cm<ck.line){cb.push(cm)}else{if(cm>cd.line){cb.push(cm+ce)}}}if(cp.length<5){bk(ck.line,ck.line+cp.length);cb.push(ck.line+cp.length)}else{cb.push(ck.line)}bg=cb;b3(100);bW.push({from:ck.line,to:cd.line+1,diff:ce});aR={from:ck,to:cd,text:cp};function ci(cr){return cr<=Math.min(cd.line,cd.line+ce)?cr:cr+ce}bH(b9,cq,ci(aZ.from.line),ci(aZ.to.line));aM.style.height=(bY.length*bX()+2*bh())+"px"}function bx(ca,cd,cc){cd=ap(cd);if(!cc){cc=cd}else{cc=ap(cc)}ca=r(ca);function cb(cg){if(H(cg,cd)){return cg}if(!H(cc,cg)){return b9}var ce=cg.line+ca.length-(cc.line-cd.line)-1;var cf=cg.ch;if(cg.line==cc.line){cf+=ca[ca.length-1].length-(cc.ch-(cc.line==cd.line?cd.ch:0))}return{line:ce,ch:cf}}var b9;bL(ca,cd,cc,function(ce){b9=ce;return{from:cb(aZ.from),to:cb(aZ.to)}});return b9}function ar(b9,ca){bL(r(b9),aZ.from,aZ.to,function(cb){if(ca=="end"){return{from:cb,to:cb}}else{if(ca=="start"){return{from:aZ.from,to:aZ.from}}else{return{from:aZ.from,to:cb}}}})}function bL(cc,ce,cd,b9){var cb=cc.length==1?cc[0].length+ce.ch:cc[cc.length-1].length;var ca=b9({line:ce.line+cc.length-1,ch:cb});br(ce,cd,cc,ca.from,ca.to)}function bi(ce,cd){var ca=ce.line,b9=cd.line;if(ca==b9){return bY[ca].text.slice(ce.ch,cd.ch)}var cc=[bY[ca].text.slice(ce.ch)];for(var cb=ca+1;cb<b9;++cb){cc.push(bY[cb].text)}cc.push(bY[b9].text.slice(0,cd.ch));return cc.join("\n")}function bP(){return bi(aZ.from,aZ.to)}var a5=false;function bJ(){if(a5){return}aO.set(2000,function(){ad();bS();if(i){bJ()}aT()})}function bT(cb){var b9=false;a5=true;function ca(){ad();var cc=bS();if(cc&&cb){if(cc=="moved"&&M[cb]==null){M[cb]=true}if(cc=="changed"){M[cb]=false}}if(!cc&&!b9){b9=true;aO.set(80,ca)}else{a5=false;bJ()}aT()}aO.set(20,ca)}function bS(){if(bU||!i){return}var cg=false,cp=b4.value,cr=N(b4);if(!cr){return false}var cg=aa.text!=cp,cj=bI;var ci=cg||cr.start!=aa.start||cr.end!=(cj?aa.start:aa.end);if(!ci&&!cj){return false}if(cg){bf=bI=null;if(bm.readOnly){bs=true;return"changed"}}function cd(cw,cu){var cv=0;for(;;){var ch=cp.indexOf("\n",cv);if(ch==-1||(cp.charAt(ch-1)=="\r"?ch-1:ch)>=cw){return{line:cu,ch:cw-cv}}++cu;cv=ch+1}}var cq=cd(cr.start,aa.from),ca=cd(cr.end,aa.from);if(cj){var cf=cr.start==cj.anchor?ca:cq;var ck=bf?aZ.to:cr.start==cj.anchor?cq:ca;if(aZ.inverted=H(cf,ck)){cq=cf;ca=ck}else{bI=null;cq=ck;ca=cf}}if(cq.line==ca.line&&cq.line==aZ.from.line&&cq.line==aZ.to.line&&!bf){bs=false}if(cg){var ce=0,cc=cp.length,cs=Math.min(cc,aa.text.length);var ct,cm=aa.from,cb=-1;while(ce<cs&&(ct=cp.charAt(ce))==aa.text.charAt(ce)){++ce;if(ct=="\n"){cm++;cb=ce}}var cn=cb>-1?ce-cb:ce,b9=aa.to-1,cl=aa.text.length;for(;;){ct=aa.text.charAt(cl);if(cp.charAt(cc)!=ct){++cc;++cl;break}if(ct=="\n"){b9--}if(cl<=ce||cc<=ce){break}--cc;--cl}var cb=aa.text.lastIndexOf("\n",cl-1),co=cb==-1?cl:cl-cb-1;br({line:cm,ch:cn},{line:b9,ch:co},r(cp.slice(ce,cc)),cq,ca);if(cm!=b9||cq.line!=cm){bs=true}}else{bH(cq,ca)}aa.text=cp;aa.start=cr.start;aa.end=cr.end;return cg?"changed":ci?"moved":false}function aJ(){var cc=[];var ce=Math.max(0,aZ.from.line-1),cd=Math.min(bY.length,aZ.to.line+2);for(var cb=ce;cb<cd;++cb){cc.push(bY[cb].text)}cc=b4.value=cc.join(d);var ca=aZ.from.ch,b9=aZ.to.ch;for(var cb=ce;cb<aZ.from.line;++cb){ca+=d.length+bY[cb].text.length}for(var cb=ce;cb<aZ.to.line;++cb){b9+=d.length+bY[cb].text.length}aa={text:cc,from:ce,to:cd,start:ca,end:b9};b(b4,ca,bI?ca:b9)}function ax(){if(bm.readOnly!="nocursor"){b4.focus()}}function aS(){if(!ak.getBoundingClientRect){return}var b9=ak.getBoundingClientRect();var ca=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);if(b9.top<0||b9.bottom>ca){ak.scrollIntoView()}}function a4(){var b9=bE(aZ.inverted?aZ.from:aZ.to);return b6(b9.x,b9.y,b9.x,b9.yBot)}function b6(cb,cg,b9,cf){var cd=bv(),cm=bh(),ci=bX();cg+=cm;cf+=cm;cb+=cd;b9+=cd;var cj=aL.clientHeight,cc=aL.scrollTop,ca=false,cl=true;if(cg<cc){aL.scrollTop=Math.max(0,cg-2*ci);ca=true}else{if(cf>cc+cj){aL.scrollTop=cf+ci-cj;ca=true}}var ch=aL.clientWidth,ck=aL.scrollLeft;var ce=bm.fixedGutter?aX.clientWidth:0;if(cb<ck+ce){if(cb<50){cb=0}aL.scrollLeft=Math.max(0,cb-10-ce);ca=true}else{if(b9>ch+ck){aL.scrollLeft=b9+10-ch;ca=true;if(b9>aM.clientWidth){cl=false}}}if(ca&&bm.onScroll){bm.onScroll(bV)}return cl}function b0(){var b9=bX(),ca=aL.scrollTop-bh();return{from:Math.min(bY.length,Math.max(0,Math.floor(ca/b9))),to:Math.min(bY.length,Math.ceil((ca+aL.clientHeight)/b9))}}function al(cr){if(!aL.clientWidth){bp=bF=0;return}var cq=cr===true?[]:[{from:bp,to:bF,domStart:0}];for(var cp=0,cl=cr.length||0;cp<cl;++cp){var cf=cr[cp],cd=[],cg=cf.diff||0;for(var co=0,cm=cq.length;co<cm;++co){var ci=cq[co];if(cf.to<=ci.from){cd.push({from:ci.from+cg,to:ci.to+cg,domStart:ci.domStart})}else{if(ci.to<=cf.from){cd.push(ci)}else{if(cf.from>ci.from){cd.push({from:ci.from,to:cf.from,domStart:ci.domStart})}if(cf.to<ci.to){cd.push({from:cf.to+cg,to:ci.to+cg,domStart:ci.domStart+(cf.to-ci.from)})}}}}cq=cd}var ca=b0();var cn=Math.min(bp,Math.max(ca.from-3,0)),b9=Math.min(bY.length,Math.max(bF,ca.to+3)),ce=[],ch=0,cc=bF-bp,cb=cn,ck=0;for(var cp=0,cl=cq.length;cp<cl;++cp){var ci=cq[cp];if(ci.to<=cn){continue}if(ci.from>=b9){break}if(ci.domStart>ch||ci.from>cb){ce.push({from:cb,to:ci.from,domSize:ci.domStart-ch,domStart:ch});ck+=ci.from-cb}cb=ci.to;ch=ci.domStart+(ci.to-ci.from)}if(ch!=cc||cb!=b9){ck+=Math.abs(b9-cb);ce.push({from:cb,to:b9,domSize:cc-ch,domStart:ch});if(b9-cb!=cc-ch){bC=true}}if(!ce.length){return}ao.style.display="none";if(ck>(ca.to-ca.from)*0.3){a8(cn=Math.max(ca.from-10,0),b9=Math.min(ca.to+7,bY.length))}else{ae(ce)}ao.style.display="";var cj=cn!=bp||b9!=bF||bN!=aL.clientHeight;bp=cn;bF=b9;bu.style.top=(cn*bX())+"px";if(cj){bN=aL.clientHeight;aM.style.height=(bY.length*bX()+2*bh())+"px"}if(cj||bC){ab()}if(Z==null){Z=a0(aQ)}if(Z>aL.clientWidth){aP.style.width=Z+"px";aM.style.width="";aM.style.width=aL.scrollWidth+"px"}else{aP.style.width=aM.style.width=""}if(ao.childNodes.length!=bF-bp){throw new Error("BAD PATCH! "+JSON.stringify(ce)+" size="+(bF-bp)+" nodes="+ao.childNodes.length)}bO()}function a8(cg,cf){var cc=[],ce={line:cg,ch:0},cd=H(aZ.from,ce)&&!H(aZ.to,ce);for(var cb=cg;cb<cf;++cb){var ca=null,b9=null;if(cd){ca=0;if(aZ.to.line==cb){cd=false;b9=aZ.to.ch}}else{if(aZ.from.line==cb){if(aZ.to.line==cb){ca=aZ.from.ch;b9=aZ.to.ch}else{cd=true;ca=aZ.from.ch}}}cc.push(bY[cb].getHTML(ca,b9,true))}ao.innerHTML=cc.join("")}function ae(cl){var cm=aZ.from.line,cn=aZ.to.line,cb=0,cj=C&&bR.createElement("div");for(var ch=0,ci=cl.length;ch<ci;++ch){var ce=cl[ch];var cd=(ce.to-ce.from)-ce.domSize;var ck=ao.childNodes[ce.domStart+ce.domSize+cb]||null;if(C){for(var cg=Math.max(-cd,ce.domSize);cg>0;--cg){ao.removeChild(ck?ck.previousSibling:ao.lastChild)}}else{if(cd){for(var cg=Math.max(0,cd);cg>0;--cg){ao.insertBefore(bR.createElement("pre"),ck)}for(var cg=Math.max(0,-cd);cg>0;--cg){ao.removeChild(ck?ck.previousSibling:ao.lastChild)}}}var cc=ao.childNodes[ce.domStart+cb],cf=cm<ce.from&&cn>=ce.from;for(var cg=ce.from;cg<ce.to;++cg){var ca=null,b9=null;if(cf){ca=0;if(cn==cg){cf=false;b9=aZ.to.ch}}else{if(cm==cg){if(cn==cg){ca=aZ.from.ch;b9=aZ.to.ch}else{cf=true;ca=aZ.from.ch}}}if(C){cj.innerHTML=bY[cg].getHTML(ca,b9,true);ao.insertBefore(cj.firstChild,ck)}else{cc.innerHTML=bY[cg].getHTML(ca,b9,false);cc.className=bY[cg].className||"";cc=cc.nextSibling}}cb+=cd}}function ab(){if(!bm.gutter&&!bm.lineNumbers){return}var cb=bu.offsetHeight,ci=aL.clientHeight;aX.style.height=(cb-ci<2?ci:cb)+"px";var cg=[];for(var ce=bp;ce<Math.max(bF,bp+1);++ce){var cf=bY[ce].gutterMarker;var ch=bm.lineNumbers?ce+bm.firstLineNumber:null;if(cf&&cf.text){ch=cf.text.replace("%N%",ch!=null?ch:"")}else{if(ch==null){ch="\u00a0"}}cg.push((cf&&cf.style?'<pre class="'+cf.style+'">':"<pre>"),ch,"</pre>")}aX.style.display="none";b2.innerHTML=cg.join("");var cd=String(bY.length).length,b9=b2.firstChild,ca=v(b9),cc="";while(ca.length+cc.length<cd){cc+="\u00a0"}if(cc){b9.insertBefore(bR.createTextNode(cc),b9.firstChild)}aX.style.display="";aP.style.marginLeft=aX.offsetWidth+"px";bC=false}function bO(){var cb=aZ.inverted?aZ.from:aZ.to,ca=bX();var b9=W(cb.line,cb.ch);var cc=cb.line*ca-aL.scrollTop;b7.style.top=Math.max(Math.min(cc,aL.offsetHeight),0)+"px";b7.style.left=(b9-aL.scrollLeft)+"px";if(L(aZ.from,aZ.to)){ak.style.top=(cb.line-bp)*ca+"px";ak.style.left=b9+"px";ak.style.display=""}else{ak.style.display="none"}}function aY(cb,ca){var b9=bf&&ap(bf);if(b9){if(H(b9,cb)){cb=b9}else{if(H(ca,b9)){ca=b9}}}bH(cb,ca)}function bH(cd,cc,b9,cb){if(L(aZ.from,cd)&&L(aZ.to,cc)){return}if(H(cc,cd)){var ca=cc;cc=cd;cd=ca}if(L(cd,cc)){aZ.inverted=false}else{if(L(cd,aZ.to)){aZ.inverted=false}else{if(L(cc,aZ.from)){aZ.inverted=true}}}if(b9==null){b9=aZ.from.line;cb=aZ.to.line}if(L(cd,cc)){if(!L(aZ.from,aZ.to)){bW.push({from:b9,to:cb+1})}}else{if(L(aZ.from,aZ.to)){bW.push({from:cd.line,to:cc.line+1})}else{if(!L(cd,aZ.from)){if(cd.line<b9){bW.push({from:cd.line,to:Math.min(cc.line,b9)+1})}else{bW.push({from:b9,to:Math.min(cb,cd.line)+1})}}if(!L(cc,aZ.to)){if(cc.line<cb){bW.push({from:Math.max(b9,cd.line),to:cb+1})}else{bW.push({from:Math.max(cd.line,cb),to:cc.line+1})}}}}aZ.from=cd;aZ.to=cc;au=true}function a2(b9,cb,ca){var cc=ap({line:b9,ch:cb||0});(ca?aY:bH)(cc,cc)}function a7(b9){return Math.max(0,Math.min(b9,bY.length-1))}function ap(cb){if(cb.line<0){return{line:0,ch:0}}if(cb.line>=bY.length){return{line:bY.length-1,ch:bY[bY.length-1].text.length}}var b9=cb.ch,ca=bY[cb.line].text.length;if(b9==null||b9>ca){return{line:cb.line,ch:ca}}else{if(b9<0){return{line:cb.line,ch:0}}else{return cb}}}function bQ(cb){var b9=Math.floor(aL.clientHeight/bX()),ca=aZ.inverted?aZ.from:aZ.to;a2(ca.line+(Math.max(b9-1,1)*(cb?1:-1)),ca.ch,true)}function b1(b9){var ca=b9?{line:0,ch:0}:{line:bY.length-1,ch:bY[bY.length-1].text.length};aY(ca,ca)}function bz(){var b9=bY.length-1;bH({line:0,ch:0},{line:b9,ch:bY[b9].text.length})}function bq(cc){var ca=bY[cc.line].text;var cb=cc.ch,b9=cc.ch;while(cb>0&&/\w/.test(ca.charAt(cb-1))){--cb}while(b9<ca.length&&/\w/.test(ca.charAt(b9))){++b9}aY({line:cc.line,ch:cb},{line:cc.line,ch:b9})}function aU(b9){aY({line:b9,ch:0},{line:b9,ch:bY[b9].text.length})}function aH(){ar("\n","end");if(bm.enterMode!="flat"){aB(aZ.from.line,bm.enterMode=="keep"?"prev":"smart")}}function aG(b9){function ca(cd){if(L(aZ.from,aZ.to)){return aB(aZ.from.line,cd)}var cc=aZ.to.line-(aZ.to.ch?0:1);for(var cb=aZ.from.line;cb<=cc;++cb){aB(cb,cd)}}bf=null;switch(bm.tabMode){case"default":return false;case"indent":ca("smart");break;case"classic":if(L(aZ.from,aZ.to)){if(b9){aB(aZ.from.line,"smart")}else{ar(" ","end")}break}case"shift":ca(b9?"subtract":"add");break}return true}function bb(){var b9=Math.max(0,bY[aZ.from.line].text.search(/\S/));a2(aZ.from.line,aZ.from.ch<=b9&&aZ.from.ch?0:b9,true)}function aB(cb,ci){if(ci=="smart"){if(!bo.indent){ci="prev"}else{var b9=aN(cb)}}var cj=bY[cb],cd=cj.indentation(),ca=cj.text.match(/^\s*/)[0],cf;if(ci=="prev"){if(cb){cf=bY[cb-1].indentation()}else{cf=0}}else{if(ci=="smart"){cf=bo.indent(b9,cj.text.slice(ca.length))}else{if(ci=="add"){cf=cd+bm.indentUnit}else{if(ci=="subtract"){cf=cd-bm.indentUnit}}}}cf=Math.max(0,cf);var ch=cf-cd;if(!ch){if(aZ.from.line!=cb&&aZ.to.line!=cb){return}var cg=ca}else{var cg="",ce=0;if(bm.indentWithTabs){for(var cc=Math.floor(cf/s);cc;--cc){ce+=s;cg+="\t"}}while(ce<cf){++ce;cg+=" "}}bx(cg,{line:cb,ch:0},{line:cb,ch:ca.length})}function bw(){bo=n.getMode(bm,bm.mode);for(var ca=0,b9=bY.length;ca<b9;++ca){bY[ca].stateAfter=null}bg=[0];b3()}function U(){var b9=bm.gutter||bm.lineNumbers;aX.style.display=b9?"":"none";if(b9){bC=true}else{ao.parentNode.style.marginLeft=0}}function X(cf,ce,cb){cf=ap(cf);ce=ap(ce);var b9=[];function cd(cg,ck,cj,ch){var cg=bY[cg],ci=cg.addMark(ck,cj,ch);ci.line=cg;b9.push(ci)}if(cf.line==ce.line){cd(cf.line,cf.ch,ce.ch,cb)}else{cd(cf.line,cf.ch,null,cb);for(var ca=cf.line+1,cc=ce.line;ca<cc;++ca){cd(ca,0,null,cb)}cd(ce.line,0,ce.ch,cb)}bW.push({from:cf.line,to:ce.line+1});return function(){var ck,cg;for(var ch=0;ch<b9.length;++ch){var cj=b9[ch],ci=k(bY,cj.line);cj.line.removeMark(cj);if(ci>-1){if(ck==null){ck=ci}cg=ci}}if(ck!=null){bW.push({from:ck,to:cg+1})}}}function av(b9,cb,ca){if(typeof b9=="number"){b9=bY[a7(b9)]}b9.gutterMarker={text:cb,style:ca};bC=true;return b9}function aj(b9){if(typeof b9=="number"){b9=bY[a7(b9)]}b9.gutterMarker=null;bC=true}function aV(b9,ca){if(typeof b9=="number"){var cb=b9;b9=bY[a7(b9)]}else{var cb=k(bY,b9);if(cb==-1){return null}}if(b9.className!=ca){b9.className=ca;bW.push({from:cb,to:cb+1})}return b9}function ag(ca){if(typeof ca=="number"){var cb=ca;ca=bY[ca];if(!ca){return null}}else{var cb=k(bY,ca);if(cb==-1){return null}}var b9=ca.gutterMarker;return{line:cb,text:ca.text,markerText:b9&&b9.text,markerClass:b9&&b9.style}}function a0(b9){aE.innerHTML="<pre><span>x</span></pre>";aE.firstChild.firstChild.firstChild.nodeValue=b9;return aE.firstChild.firstChild.offsetWidth||10}function W(b9,ca){if(ca==0){return 0}aE.innerHTML="<pre><span>"+bY[b9].getHTML(null,null,false,ca)+"</span></pre>";return aE.firstChild.firstChild.offsetWidth}function bl(cl,cf){if(cf<=0){return 0}var cc=bY[cl],ci=cc.text;function cj(cm){aE.innerHTML="<pre><span>"+cc.getHTML(null,null,false,cm)+"</span></pre>";return aE.firstChild.firstChild.offsetWidth}var cg=0,ce=0,ch=ci.length,cd;var ca=Math.min(ch,Math.ceil(cf/a0("x")));for(;;){var cb=cj(ca);if(cb<=cf&&ca<ch){ca=Math.min(ch,Math.ceil(ca*1.2))}else{cd=cb;ch=ca;break}}if(cf>cd){return ch}ca=Math.floor(ch*0.8);cb=cj(ca);if(cb<cf){cg=ca;ce=cb}for(;;){if(ch-cg<=1){return(cd-cf>cf-ce)?cg:ch}var ck=Math.ceil((cg+ch)/2),b9=cj(ck);if(b9>cf){ch=ck;cd=b9}else{cg=ck;ce=b9}}}function bE(cc,cb){var ca=bX(),b9=cc.line-(cb?bp:0);return{x:W(cc.line,cc.ch),y:b9*ca,yBot:(b9+1)*ca}}function bD(cb){var b9=bE(cb,true),ca=R(aP);return{x:ca.left+b9.x,y:ca.top+b9.y,yBot:ca.top+b9.yBot}}function bX(){var b9=ao.childNodes.length;if(b9){return(ao.offsetHeight/b9)||1}aE.innerHTML="<pre>x</pre>";return aE.firstChild.offsetHeight||1}function bh(){return aP.offsetTop}function bv(){return aP.offsetLeft}function ai(ce,cd){var cc=R(aL,true),b9,cf;try{b9=ce.clientX;cf=ce.clientY}catch(ce){return null}if(!cd&&(b9-cc.left>aL.clientWidth||cf-cc.top>aL.clientHeight)){return null}var cb=R(aP,true);var ca=bp+Math.floor((cf-cb.top)/bX());return ap({line:ca,ch:bl(a7(ca),b9-cb.left)})}function aw(ca){var ce=ai(ca);if(!ce||window.opera){return}if(L(aZ.from,aZ.to)||H(ce,aZ.from)||!H(ce,aZ.to)){bZ(a2)(ce.line,ce.ch)}var cd=b4.style.cssText;b7.style.position="absolute";b4.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(ca.clientY-5)+"px; left: "+(ca.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";bU=true;var cc=b4.value=bP();ax();b(b4,0,b4.value.length);function b9(){var cf=r(b4.value).join("\n");if(cf!=cc){bZ(ar)(cf,"end")}b7.style.position="relative";b4.style.cssText=cd;bU=false;aJ();bJ()}if(A){o(ca);var cb=l(window,"mouseup",function(){cb();setTimeout(b9,20)},true)}else{setTimeout(b9,50)}}function T(){clearInterval(an);var b9=true;ak.style.visibility="";an=setInterval(function(){ak.style.visibility=(b9=!b9)?"":"hidden"},650)}var b5={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function aA(cf){var b9=aZ.inverted?aZ.from:aZ.to,ci=bY[b9.line],ca=b9.ch-1;var ce=(ca>=0&&b5[ci.text.charAt(ca)])||b5[ci.text.charAt(++ca)];if(!ce){return}var cj=ce.charAt(0),cg=ce.charAt(1)==">",ct=cg?1:-1,co=ci.styles;for(var cu=ca+1,cq=0,cs=co.length;cq<cs;cq+=2){if((cu-=co[cq].length)<=0){var cr=co[cq+1];break}}var cc=[ci.text.charAt(ca)],cn=/[(){}[\]]/;function cl(cF,cA,cB){if(!cF.text){return}var cE=cF.styles,cz=cg?0:cF.text.length-1,cC;for(var cw=cg?0:cE.length-2,cy=cg?cE.length:-2;cw!=cy;cw+=2*ct){var cD=cE[cw];if(cE[cw+1]!=null&&cE[cw+1]!=cr){cz+=ct*cD.length;continue}for(var cv=cg?0:cD.length-1,ch=cg?cD.length:-1;cv!=ch;cv+=ct,cz+=ct){if(cz>=cA&&cz<cB&&cn.test(cC=cD.charAt(cv))){var cx=b5[cC];if(cx.charAt(1)==">"==cg){cc.push(cC)}else{if(cc.pop()!=cx.charAt(0)){return{pos:cz,match:false}}else{if(!cc.length){return{pos:cz,match:true}}}}}}}}for(var cq=b9.line,cs=cg?Math.min(cq+100,bY.length):Math.max(-1,cq-100);cq!=cs;cq+=ct){var ci=bY[cq],cd=cq==b9.line;var ck=cl(ci,cd&&cg?ca+1:0,cd&&!cg?ca:ci.text.length);if(ck){break}}if(!ck){ck={pos:null,match:false}}var cr=ck.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var cp=X({line:b9.line,ch:ca},{line:b9.line,ch:ca+1},cr),cb=ck.pos!=null?X({line:cq,ch:ck.pos},{line:cq,ch:ck.pos+1},cr):function(){};var cm=bZ(function(){cp();cb()});if(cf){setTimeout(cm,800)}else{bM=cm}}function ba(cf){var ce,cb;for(var ca=cf,cc=cf-40;ca>cc;--ca){if(ca==0){return 0}var b9=bY[ca-1];if(b9.stateAfter){return ca}var cd=b9.indentation();if(cb==null||ce>cd){cb=ca-1;ce=cd}}return cb}function aN(cd){var cc=ba(cd),cb=cc&&bY[cc-1].stateAfter;if(!cb){cb=F(bo)}else{cb=j(bo,cb)}for(var ca=cc;ca<cd;++ca){var b9=bY[ca];b9.highlight(bo,cb);b9.stateAfter=j(bo,cb)}bW.push({from:cc,to:cd});if(cd<bY.length&&!bY[cd].stateAfter){bg.push(cd)}return cb}function bk(cd,ca){var cc=aN(cd);for(var cb=cd;cb<ca;++cb){var b9=bY[cb];b9.highlight(bo,cc);b9.stateAfter=j(bo,cc)}}function be(){var cf=+new Date+bm.workTime;var ck=bg.length;while(bg.length){if(!bY[bp].stateAfter){var cc=bp}else{var cc=bg.pop()}if(cc>=bY.length){continue}var ca=ba(cc),b9=ca&&bY[ca-1].stateAfter;if(b9){b9=j(bo,b9)}else{b9=F(bo)}var ce=0,cb=bo.compareStates,cj=false;for(var ci=ca,cd=bY.length;ci<cd;++ci){var cl=bY[ci],cg=cl.stateAfter;if(+new Date>cf){bg.push(ci);b3(bm.workDelay);if(cj){bW.push({from:cc,to:ci+1})}return}var ch=cl.highlight(bo,b9);if(ch){cj=true}cl.stateAfter=j(bo,b9);if(cb){if(cg&&cb(cg,b9)){break}}else{if(ch!==false||!cg){ce=0}else{if(++ce>3){break}}}}if(cj){bW.push({from:cc,to:ci+1})}}if(ck&&bm.onHighlightComplete){bm.onHighlightComplete(bV)}}function b3(b9){if(!bg.length){return}ay.set(b9,bZ(be))}function ad(){bs=null;bW=[];aR=au=false}function aT(){var ca=false;if(au){ca=!a4()}if(bW.length){al(bW)}else{if(au){bO()}if(bC){ab()}}if(ca){a4()}if(au){aS();T()}if(i&&!bU&&(bs===true||(bs!==false&&au))){aJ()}if(au&&bm.matchBrackets){setTimeout(bZ(function(){if(bM){bM();bM=null}aA(false)}),20)}var b9=aR;if(au&&bm.onCursorActivity){bm.onCursorActivity(bV)}if(b9&&bm.onChange&&bV){bm.onChange(bV,b9)}}var aD=0;function bZ(b9){return function(){if(!aD++){ad()}try{var ca=b9.apply(this,arguments)}finally{if(!--aD){aT()}}return ca}}function aF(cb,cd,ca){this.atOccurrence=false;if(ca==null){ca=typeof cb=="string"&&cb==cb.toLowerCase()}if(cd&&typeof cd=="object"){cd=ap(cd)}else{cd={line:0,ch:0}}this.pos={from:cd,to:cd};if(typeof cb!="string"){this.matches=function(cg,ck){if(cg){var ce=bY[ck.line].text.slice(0,ck.ch),cf=ce.match(cb),cj=0;while(cf){var ch=ce.indexOf(cf[0]);cj+=ch;ce=ce.slice(ch+1);var ci=ce.match(cb);if(ci){cf=ci}else{break}cj++}}else{var ce=bY[ck.line].text.slice(ck.ch),cf=ce.match(cb),cj=cf&&ck.ch+ce.indexOf(cf[0])}if(cf){return{from:{line:ck.line,ch:cj},to:{line:ck.line,ch:cj+cf[0].length},match:cf}}}}else{if(ca){cb=cb.toLowerCase()}var b9=ca?function(ce){return ce.toLowerCase()}:function(ce){return ce};var cc=cb.split("\n");if(cc.length==1){this.matches=function(ch,ci){var cf=b9(bY[ci.line].text),ce=cb.length,cg;if(ch?(ci.ch>=ce&&(cg=cf.lastIndexOf(cb,ci.ch-ce))!=-1):(cg=cf.indexOf(cb,ci.ch))!=-1){return{from:{line:ci.line,ch:cg},to:{line:ci.line,ch:cg+ce}}}}}else{this.matches=function(cj,cl){var ck=cl.line,cm=(cj?cc.length-1:0),ch=cc[cm],cn=b9(bY[ck].text);var ci=(cj?cn.indexOf(ch)+ch.length:cn.lastIndexOf(ch));if(cj?ci>=cl.ch||ci!=ch.length:ci<=cl.ch||ci!=cn.length-ch.length){return}for(;;){if(cj?!ck:ck==bY.length-1){return}cn=b9(bY[ck+=cj?-1:1].text);ch=cc[cj?--cm:++cm];if(cm>0&&cm<cc.length-1){if(cn!=ch){return}else{continue}}var cg=(cj?cn.lastIndexOf(ch):cn.indexOf(ch)+ch.length);if(cj?cg!=cn.length-ch.length:cg!=ch.length){return}var ce={line:cl.line,ch:ci},cf={line:ck,ch:cg};return{from:cj?cf:ce,to:cj?ce:cf}}}}}}aF.prototype={findNext:function(){return this.find(false)},findPrevious:function(){return this.find(true)},find:function(ca){var b9=this,cc=ap(ca?this.pos.from:this.pos.to);function cb(cd){var ce={line:cd,ch:0};b9.pos={from:ce,to:ce};b9.atOccurrence=false;return false}for(;;){if(this.pos=this.matches(ca,cc)){this.atOccurrence=true;return this.pos.match||true}if(ca){if(!cc.line){return cb(0)}cc={line:cc.line-1,ch:bY[cc.line-1].text.length}}else{if(cc.line==bY.length-1){return cb(bY.length)}cc={line:cc.line+1,ch:0}}}},from:function(){if(this.atOccurrence){return I(this.pos.from)}},to:function(){if(this.atOccurrence){return I(this.pos.to)}},replace:function(ca){var b9=this;if(this.atOccurrence){bZ(function(){b9.pos.to=bx(ca,b9.pos.from,b9.pos.to)})()}}};for(var bB in J){if(J.propertyIsEnumerable(bB)&&!bV.propertyIsEnumerable(bB)){bV[bB]=J[bB]}}return bV}n.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:false,tabMode:"classic",enterMode:"indent",electricChars:true,onKeyEvent:null,lineNumbers:false,gutter:false,fixedGutter:false,firstLineNumber:1,readOnly:false,smartHome:true,onChange:null,onCursorActivity:null,onGutterClick:null,onHighlightComplete:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:false,workTime:100,workDelay:200,undoDepth:40,tabindex:null,document:window.document};var P={},D={};n.defineMode=function(i,S){if(!n.defaults.mode&&i!="null"){n.defaults.mode=i}P[i]=S};n.defineMIME=function(S,i){D[S]=i};n.getMode=function(T,i){if(typeof i=="string"&&D.hasOwnProperty(i)){i=D[i]}if(typeof i=="string"){var V=i,S={}}else{if(i!=null){var V=i.name,S=i}}var U=P[V];if(!U){if(window.console){console.warn("No mode "+V+" found, falling back to plain text.")}return n.getMode(T,"text/plain")}return U(T,S||{})};n.listModes=function(){var S=[];for(var i in P){if(P.propertyIsEnumerable(i)){S.push(i)}}return S};n.listMIMEs=function(){var S=[];for(var i in D){if(D.propertyIsEnumerable(i)){S.push({mime:i,mode:D[i]})}}return S};var J={};n.defineExtension=function(i,S){J[i]=S};n.fromTextArea=function(S,T){if(!T){T={}}T.value=S.value;if(!T.tabindex&&S.tabindex){T.tabindex=S.tabindex}function U(){S.value=i.getValue()}S.style.display="none";var i=n(function(V){S.parentNode.insertBefore(V,S.nextSibling)},T);i.save=U;i.toTextArea=function(){U();S.parentNode.removeChild(i.getWrapperElement());S.style.display=""};return i};function j(U,i){if(i===true){return i}if(U.copyState){return U.copyState(i)}var T={};for(var V in i){var S=i[V];if(S instanceof Array){S=S.concat([])}T[V]=S}return T}n.startState=F;function F(T,S,i){return T.startState?T.startState(S,i):true}n.copyState=j;function a(i){this.pos=this.start=0;this.string=i}a.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(i){var T=this.string.charAt(this.pos);if(typeof i=="string"){var S=T==i}else{var S=T&&(i.test?i.test(T):i(T))}if(S){++this.pos;return T}},eatWhile:function(i){var S=this.pos;while(this.eat(i)){}return this.pos>S},eatSpace:function(){var i=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>i},skipToEnd:function(){this.pos=this.string.length},skipTo:function(i){var S=this.string.indexOf(i,this.pos);if(S>-1){this.pos=S;return true}},backUp:function(i){this.pos-=i},column:function(){return h(this.string,this.start)},indentation:function(){return h(this.string)},match:function(U,S,i){if(typeof U=="string"){function V(W){return i?W.toLowerCase():W}if(V(this.string).indexOf(V(U),this.pos)==this.pos){if(S!==false){this.pos+=U.length}return true}}else{var T=this.string.slice(this.pos).match(U);if(T&&S!==false){this.pos+=T[0].length}return T}},current:function(){return this.string.slice(this.start,this.pos)}};n.StringStream=a;function c(S,i){this.styles=i||[S,null];this.stateAfter=null;this.text=S;this.marked=this.gutterMarker=this.className=null}c.prototype={replace:function(X,Y,ab){var ac=[],V=this.marked;Q(0,X,this.styles,ac);if(ab){ac.push(ab,null)}Q(Y,this.text.length,this.styles,ac);this.styles=ac;this.text=this.text.slice(0,X)+ab+this.text.slice(Y);this.stateAfter=null;if(V){var Z=ab.length-(Y-X),T=this.text.length;function W(i){return i<=Math.min(Y,Y+Z)?i:i+Z}for(var U=0;U<V.length;++U){var S=V[U],aa=false;if(S.from>=T){aa=true}else{S.from=W(S.from);if(S.to!=null){S.to=W(S.to)}}if(aa||S.from>=S.to){V.splice(U,1);U--}}}},split:function(T,S){var i=[S,null];Q(T,this.text.length,this.styles,i);return new c(S+this.text.slice(T),i)},addMark:function(V,U,S){var i=this.marked,T={from:V,to:U,style:S};if(this.marked==null){this.marked=[]}this.marked.push(T);this.marked.sort(function(X,W){return X.from-W.from});return T},removeMark:function(U){var S=this.marked;if(!S){return}for(var T=0;T<S.length;++T){if(S[T]==U){S.splice(T,1);break}}},highlight:function(W,S){var Y=new a(this.text),aa=this.styles,X=0;var V=false,T=aa[0],Z;if(this.text==""&&W.blankLine){W.blankLine(S)}while(!Y.eol()){var i=W.token(Y,S);var U=this.text.slice(Y.start,Y.pos);Y.start=Y.pos;if(X&&aa[X-1]==i){aa[X-2]+=U}else{if(U){if(!V&&(aa[X+1]!=i||(X&&aa[X-2]!=Z))){V=true}aa[X++]=U;aa[X++]=i;Z=T;T=aa[X]}}if(Y.pos>5000){aa[X++]=this.text.slice(Y.pos);aa[X++]=null;break}}if(aa.length!=X){aa.length=X;V=true}if(X&&aa[X-2]!=Z){V=true}return V||(aa.length<5&&this.text.length<10?null:false)},getTokenAt:function(W,U,T){var i=this.text,V=new a(i);while(V.pos<T&&!V.eol()){V.start=V.pos;var S=W.token(V,U)}return{start:V.start,end:V.pos,string:V.current(),className:S||null,state:U}},indentation:function(){return h(this.text)},getHTML:function(ae,ai,V,ag){var Y=[];if(V){Y.push(this.className?'<pre class="'+this.className+'">':"<pre>")}function aj(ar,i){if(!ar){return}if(i){Y.push('<span class="',i,'">',B(ar),"</span>")}else{Y.push(B(ar))}}var ad=this.styles,W=this.text,ac=this.marked;if(ae==ai){ae=null}var al=W.length;if(ag!=null){al=Math.min(ag,al)}if(!W&&ag==null){aj(" ",ae!=null&&ai==null?"CodeMirror-selected":null)}else{if(!ac&&ae==null){for(var ak=0,Z=0;Z<al;ak+=2){var af=ad[ak],am=ad[ak+1],ah=af.length;if(Z+ah>al){af=af.slice(0,al-Z)}Z+=ah;aj(af,am&&"cm-"+am)}}else{var U=0,ak=0,ab="",am,ap=0;var an=-1,X=null;function ao(){if(ac){an+=1;X=(an<ac.length)?ac[an]:null}}ao();while(U<al){var aa=al;var aq="";if(ae!=null){if(ae>U){aa=ae}else{if(ai==null||ai>U){aq=" CodeMirror-selected";if(ai!=null){aa=Math.min(aa,ai)}}}}while(X&&X.to!=null&&X.to<=U){ao()}if(X){if(X.from>U){aa=Math.min(aa,X.from)}else{aq+=" "+X.style;if(X.to!=null){aa=Math.min(aa,X.to)}}}for(;;){var T=U+ab.length;var S=am;if(aq){S=am?am+aq:aq}aj(T>aa?ab.slice(0,aa-U):ab,S);if(T>=aa){ab=ab.slice(aa-U);U=aa;break}U=T;ab=ad[ak++];am="cm-"+ad[ak++]}}if(ae!=null&&ai==null){aj(" ","CodeMirror-selected")}}}if(V){Y.push("</pre>")}return Y.join("")}};function Q(Y,Z,S,aa){for(var W=0,X=0,T=0;X<Z;W+=2){var U=S[W],V=X+U.length;if(T==0){if(V>Y){aa.push(U.slice(Y-X,Math.min(U.length,Z-X)),S[W+1])}if(V>=Y){T=1}}else{if(T==1){if(V>Z){aa.push(U.slice(0,Z-X),S[W+1])}else{aa.push(U,S[W+1])}}}X=V}}function g(){this.time=0;this.done=[];this.undone=[]}g.prototype={addChange:function(Z,U,S){this.undone.length=0;var Y=+new Date,W=this.done[this.done.length-1];if(Y-this.time>400||!W||W.start>Z+U||W.start+W.added<Z-W.added+W.old.length){this.done.push({start:Z,added:U,old:S})}else{var V=0;if(Z<W.start){for(var T=W.start-Z-1;T>=0;--T){W.old.unshift(S[T])}W.added+=W.start-Z;W.start=Z}else{if(W.start<Z){V=Z-W.start;U+=V}}for(var T=W.added-V,X=S.length;T<X;++T){W.old.push(S[T])}if(W.added<U){W.added=U}}this.time=Y}};function w(){o(this)}function z(i){if(!i.stop){i.stop=w}return i}function E(i){if(i.preventDefault){i.preventDefault()}else{i.returnValue=false}}function t(i){if(i.stopPropagation){i.stopPropagation()}else{i.cancelBubble=true}}function o(i){E(i);t(i)}function f(i){return i.target||i.srcElement}function p(i){if(i.which){return i.which}else{if(i.button&1){return 1}else{if(i.button&2){return 3}else{if(i.button&4){return 2}}}}}function l(U,T,S,i){function V(W){S(W||window.event)}if(typeof U.addEventListener=="function"){U.addEventListener(T,V,false);if(i){return function(){U.removeEventListener(T,V,false)}}}else{U.attachEvent("on"+T,V);if(i){return function(){U.detachEvent("on"+T,V)}}}}function q(){this.id=null}q.prototype={set:function(i,S){clearTimeout(this.id);this.id=setTimeout(S,i)}};var C=(function(){var i=document.createElement("pre");i.innerHTML=" ";return !i.innerHTML})();var u=(function(){if(/MSIE [1-8]\b/.test(navigator.userAgent)){return false}var i=document.createElement("div");return"ondragstart" in i&&"ondrop" in i})();var A=/gecko\/\d{7}/i.test(navigator.userAgent);var x=/MSIE \d/.test(navigator.userAgent);var e=/Apple Computer/.test(navigator.vendor);var d="\n";(function(){var i=document.createElement("textarea");i.value="foo\nbar";if(i.value.indexOf("\r")>-1){d="\r\n"}}());var s=4;var y=/Mac/.test(navigator.platform);var M={};for(var K=35;K<=40;++K){M[K]=M["c"+K]=true}function h(T,S){if(S==null){S=T.search(/[^\s\u00a0]/);if(S==-1){S=T.length}}for(var U=0,V=0;U<S;++U){if(T.charAt(U)=="\t"){V+=s-(V%s)}else{++V}}return V}function m(i){if(i.currentStyle){return i.currentStyle}return window.getComputedStyle(i,null)}function R(U,T){var W=U.ownerDocument.body;var S=0,Y=0,i=false;for(var X=U;X;X=X.offsetParent){S+=X.offsetLeft;Y+=X.offsetTop;if(T&&m(X).position=="fixed"){i=true}}var V=T&&!i?null:W;for(var X=U.parentNode;X!=V;X=X.parentNode){if(X.scrollLeft!=null){S-=X.scrollLeft;Y-=X.scrollTop}}return{left:S,top:Y}}function v(i){return i.textContent||i.innerText||i.nodeValue||""}function L(S,i){return S.line==i.line&&S.ch==i.ch}function H(S,i){return S.line<i.line||(S.line==i.line&&S.ch<i.ch)}function I(i){return{line:i.line,ch:i.ch}}var O=document.createElement("div");function B(i){O.innerText=O.textContent=i;return O.innerHTML}n.htmlEscape=B;function G(V,U){if(!U){return V?V.length:0}if(!V){return U.length}for(var T=V.length,S=U.length;T>=0&&S>=0;--T,--S){if(V.charAt(T)!=U.charAt(S)){break}}return S+1}function k(V,S){if(V.indexOf){return V.indexOf(S)}for(var T=0,U=V.length;T<U;++T){if(V[T]==S){return T}}return -1}var r,N,b;if("\n\nb".split(/\n/).length!=3){r=function(T){var U=0,S,i=[];while((S=T.indexOf("\n",U))>-1){i.push(T.slice(U,T.charAt(S-1)=="\r"?S-1:S));U=S+1}i.push(T.slice(U));return i}}else{r=function(i){return i.split(/\r?\n/)}}n.splitLines=r;if(window.getSelection){N=function(S){try{return{start:S.selectionStart,end:S.selectionEnd}}catch(i){return null}};if(e){b=function(S,T,i){if(T==i){S.setSelectionRange(T,i)}else{S.setSelectionRange(T,i-1);window.getSelection().modify("extend","forward","character")}}}else{b=function(T,U,i){try{T.setSelectionRange(U,i)}catch(S){}}}}else{N=function(U){try{var Y=U.ownerDocument.selection.createRange()}catch(aa){return null}if(!Y||Y.parentElement()!=U){return null}var T=U.value,Z=T.length,ab=U.createTextRange();ab.moveToBookmark(Y.getBookmark());var W=U.createTextRange();W.collapse(false);if(ab.compareEndPoints("StartToEnd",W)>-1){return{start:Z,end:Z}}var S=-ab.moveStart("character",-Z);for(var X=T.indexOf("\r");X>-1&&X<S;X=T.indexOf("\r",X+1),S++){}if(ab.compareEndPoints("EndToEnd",W)>-1){return{start:S,end:Z}}var V=-ab.moveEnd("character",-Z);for(var X=T.indexOf("\r");X>-1&&X<V;X=T.indexOf("\r",X+1),V++){}return{start:S,end:V}};b=function(W,Y,T){var U=W.createTextRange();U.collapse(true);var S=U.duplicate();var V=0,i=W.value;for(var X=i.indexOf("\n");X>-1&&X<Y;X=i.indexOf("\n",X+1)){++V}U.move("character",Y-V);for(;X>-1&&X<T;X=i.indexOf("\n",X+1)){++V}S.move("character",T-V);U.setEndPoint("EndToEnd",S);U.select()}}n.defineMode("null",function(){return{token:function(i){i.skipToEnd()}}});n.defineMIME("text/plain","null");return n})();CodeMirror.defineMode("javascript",function(H,L){var v=H.indentUnit;var P=L.json;var b=function(){function V(Y){return{type:Y,style:"keyword"}}var S=V("keyword a"),X=V("keyword b"),W=V("keyword c");var T=V("operator"),U={type:"atom",style:"atom"};return{"if":S,"while":S,"with":S,"else":X,"do":X,"try":X,"finally":X,"return":W,"break":W,"continue":W,"new":W,"delete":W,"throw":W,"var":V("var"),"function":V("function"),"catch":V("catch"),"for":V("for"),"switch":V("switch"),"case":V("case"),"default":V("default"),"in":T,"typeof":T,"instanceof":T,"true":U,"false":U,"null":U,"undefined":U,"NaN":U,"Infinity":U}}();var M=/[+\-*&%=<>!?|]/;function Q(U,T,S){T.tokenize=S;return S(U,T)}function h(V,S){var U=false,T;while((T=V.next())!=null){if(T==S&&!U){return false}U=!U&&T=="\\"}return U}var R,p;function A(U,T,S){R=U;p=S;return T}function l(W,U){var S=W.next();if(S=='"'||S=="'"){return Q(W,U,z(S))}else{if(/[\[\]{}\(\),;\:\.]/.test(S)){return A(S)}else{if(S=="0"&&W.eat(/x/i)){W.eatWhile(/[\da-f]/i);return A("number","number")}else{if(/\d/.test(S)){W.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);return A("number","number")}else{if(S=="/"){if(W.eat("*")){return Q(W,U,f)}else{if(W.eat("/")){W.skipToEnd();return A("comment","comment")}else{if(U.reAllowed){h(W,"/");W.eatWhile(/[gimy]/);return A("regexp","string")}else{W.eatWhile(M);return A("operator",null,W.current())}}}}else{if(S=="#"){W.skipToEnd();return A("error","error")}else{if(M.test(S)){W.eatWhile(M);return A("operator",null,W.current())}else{W.eatWhile(/[\w\$_]/);var V=W.current(),T=b.propertyIsEnumerable(V)&&b[V];return T?A(T.type,T.style,V):A("variable","variable",V)}}}}}}}}function z(S){return function(U,T){if(!h(U,S)){T.tokenize=l}return A("string","string")}}function f(V,U){var S=false,T;while(T=V.next()){if(T=="/"&&S){U.tokenize=l;break}S=(T=="*")}return A("comment","comment")}var k={atom:true,number:true,variable:true,string:true,regexp:true};function t(X,T,S,W,U,V){this.indented=X;this.column=T;this.type=S;this.prev=U;this.info=V;if(W!=null){this.align=W}}function w(U,T){for(var S=U.localVars;S;S=S.next){if(S.name==T){return true}}}function D(W,T,S,V,X){var Y=W.cc;u.state=W;u.stream=X;u.marked=null,u.cc=Y;if(!W.lexical.hasOwnProperty("align")){W.lexical.align=true}while(true){var U=Y.length?Y.pop():P?x:y;if(U(S,V)){while(Y.length&&Y[Y.length-1].lex){Y.pop()()}if(u.marked){return u.marked}if(S=="variable"&&w(W,V)){return"variable-2"}return T}}}var u={state:null,column:null,marked:null,cc:null};function a(){for(var S=arguments.length-1;S>=0;S--){u.cc.push(arguments[S])}}function F(){a.apply(null,arguments);return true}function m(T){var U=u.state;if(U.context){u.marked="def";for(var S=U.localVars;S;S=S.next){if(S.name==T){return}}U.localVars={name:T,next:U.localVars}}}var C={name:"this",next:{name:"arguments"}};function s(){if(!u.state.context){u.state.localVars=C}u.state.context={prev:u.state.context,vars:u.state.localVars}}function r(){u.state.localVars=u.state.context.vars;u.state.context=u.state.context.prev}function j(T,U){var S=function(){var V=u.state;V.lexical=new t(V.indented,u.stream.column(),T,null,V.lexical,U)};S.lex=true;return S}function E(){var S=u.state;if(S.lexical.prev){if(S.lexical.type==")"){S.indented=S.lexical.indented}S.lexical=S.lexical.prev}}E.lex=true;function c(T){return function S(U){if(U==T){return F()}else{if(T==";"){return a()}else{return F(arguments.callee)}}}}function y(S){if(S=="var"){return F(j("vardef"),I,c(";"),E)}if(S=="keyword a"){return F(j("form"),x,y,E)}if(S=="keyword b"){return F(j("form"),y,E)}if(S=="{"){return F(j("}"),n,E)}if(S==";"){return F()}if(S=="function"){return F(i)}if(S=="for"){return F(j("form"),c("("),j(")"),g,c(")"),E,y,E)}if(S=="variable"){return F(j("stat"),B)}if(S=="switch"){return F(j("form"),x,j("}","switch"),c("{"),n,E,E)}if(S=="case"){return F(x,c(":"))}if(S=="default"){return F(c(":"))}if(S=="catch"){return F(j("form"),s,c("("),q,c(")"),y,E,r)}return a(j("stat"),x,c(";"),E)}function x(S){if(k.hasOwnProperty(S)){return F(K)}if(S=="function"){return F(i)}if(S=="keyword c"){return F(x)}if(S=="("){return F(j(")"),x,c(")"),E,K)}if(S=="operator"){return F(x)}if(S=="["){return F(j("]"),N(x,"]"),E,K)}if(S=="{"){return F(j("}"),N(o,"}"),E,K)}return F()}function K(S,T){if(S=="operator"&&/\+\+|--/.test(T)){return F(K)}if(S=="operator"){return F(x)}if(S==";"){return}if(S=="("){return F(j(")"),N(x,")"),E,K)}if(S=="."){return F(O,K)}if(S=="["){return F(j("]"),x,c("]"),E,K)}}function B(S){if(S==":"){return F(E,y)}return a(K,c(";"),E)}function O(S){if(S=="variable"){u.marked="property";return F()}}function o(S){if(S=="variable"){u.marked="property"}if(k.hasOwnProperty(S)){return F(c(":"),x)}}function N(U,S){function T(W){if(W==","){return F(U,T)}if(W==S){return F()}return F(c(S))}return function V(W){if(W==S){return F()}else{return a(U,T)}}}function n(S){if(S=="}"){return F()}return a(y,n)}function I(S,T){if(S=="variable"){m(T);return F(G)}return F()}function G(S,T){if(T=="="){return F(x,G)}if(S==","){return F(I)}}function g(S){if(S=="var"){return F(I,e)}if(S==";"){return a(e)}if(S=="variable"){return F(J)}return a(e)}function J(S,T){if(T=="in"){return F(x)}return F(K,e)}function e(S,T){if(S==";"){return F(d)}if(T=="in"){return F(x)}return F(x,c(";"),d)}function d(S){if(S!=")"){F(x)}}function i(S,T){if(S=="variable"){m(T);return F(i)}if(S=="("){return F(j(")"),s,N(q,")"),E,y,r)}}function q(S,T){if(S=="variable"){m(T);return F()}}return{startState:function(S){return{tokenize:l,reAllowed:true,cc:[],lexical:new t((S||0)-v,0,"block",false),localVars:null,context:null,indented:0}},token:function(U,T){if(U.sol()){if(!T.lexical.hasOwnProperty("align")){T.lexical.align=false}T.indented=U.indentation()}if(U.eatSpace()){return null}var S=T.tokenize(U,T);if(R=="comment"){return S}T.reAllowed=R=="operator"||R=="keyword c"||R.match(/^[\[{}\(,;:]$/);return D(T,S,R,p,U)},indent:function(X,S){if(X.tokenize!=l){return 0}var W=S&&S.charAt(0),U=X.lexical,V=U.type,T=W==V;if(V=="vardef"){return U.indented+4}else{if(V=="form"&&W=="{"){return U.indented}else{if(V=="stat"||V=="form"){return U.indented+v}else{if(U.info=="switch"&&!T){return U.indented+(/^(?:case|default)\b/.test(S)?v:2*v)}else{if(U.align){return U.column+(T?0:1)}else{return U.indented+(T?0:v)}}}}}},electricChars:":{}"}});CodeMirror.defineMIME("text/javascript","javascript");CodeMirror.defineMIME("application/json",{name:"javascript",json:true});CodeMirror.defineMode("xml",function(w,k){var p=w.indentUnit;var v=k.htmlMode?{autoSelfClosers:{br:true,img:true,hr:true,link:true,input:true,meta:true,col:true,frame:true,base:true,area:true},doNotIndent:{pre:true,"!cdata":true},allowUnquoted:true}:{autoSelfClosers:{},doNotIndent:{"!cdata":true},allowUnquoted:false};var a=k.alignCDATA;var f,g;function o(A,z){function x(C){z.tokenize=C;return C(A,z)}var y=A.next();if(y=="<"){if(A.eat("!")){if(A.eat("[")){if(A.match("CDATA[")){return x(u("atom","]]>"))}else{return null}}else{if(A.match("--")){return x(u("comment","-->"))}else{if(A.match("DOCTYPE",true,true)){A.eatWhile(/[\w\._\-]/);return x(u("meta",">"))}else{return null}}}}else{if(A.eat("?")){A.eatWhile(/[\w\._\-]/);z.tokenize=u("meta","?>");return"meta"}else{g=A.eat("/")?"closeTag":"openTag";A.eatSpace();f="";var B;while((B=A.eat(/[^\s\u00a0=<>\"\'\/?]/))){f+=B}z.tokenize=n;return"tag"}}}else{if(y=="&"){A.eatWhile(/[^;]/);A.eat(";");return"atom"}else{A.eatWhile(/[^&<]/);return null}}}function n(z,y){var x=z.next();if(x==">"||(x=="/"&&z.eat(">"))){y.tokenize=o;g=x==">"?"endTag":"selfcloseTag";return"tag"}else{if(x=="="){g="equals";return null}else{if(/[\'\"]/.test(x)){y.tokenize=j(x);return y.tokenize(z,y)}else{z.eatWhile(/[^\s\u00a0=<>\"\'\/?]/);return"word"}}}}function j(x){return function(z,y){while(!z.eol()){if(z.next()==x){y.tokenize=n;break}}return"string"}}function u(y,x){return function(A,z){while(!A.eol()){if(A.match(x)){z.tokenize=o;break}A.next()}return y}}var l,h;function b(){for(var x=arguments.length-1;x>=0;x--){l.cc.push(arguments[x])}}function e(){b.apply(null,arguments);return true}function i(x,z){var y=v.doNotIndent.hasOwnProperty(x)||(l.context&&l.context.noIndent);l.context={prev:l.context,tagName:x,indent:l.indented,startOfLine:z,noIndent:y}}function s(){if(l.context){l.context=l.context.prev}}function d(x){if(x=="openTag"){l.tagName=f;return e(m,c(l.startOfLine))}else{if(x=="closeTag"){var y=false;if(l.context){y=l.context.tagName!=f}else{y=true}if(y){h="error"}return e(q(y))}else{if(x=="string"){if(!l.context||l.context.name!="!cdata"){i("!cdata")}if(l.tokenize==o){s()}return e()}else{return e()}}}}function c(x){return function(y){if(y=="selfcloseTag"||(y=="endTag"&&v.autoSelfClosers.hasOwnProperty(l.tagName.toLowerCase()))){return e()}if(y=="endTag"){i(l.tagName,x);return e()}return e()}}function q(x){return function(y){if(x){h="error"}if(y=="endTag"){s();return e()}h="error";return e(arguments.callee)}}function m(x){if(x=="word"){h="attribute";return e(m)}if(x=="equals"){return e(t,m)}if(x=="string"){h="error";return e(m)}return b()}function t(x){if(x=="word"&&v.allowUnquoted){h="string";return e()}if(x=="string"){return e(r)}return b()}function r(x){if(x=="string"){return e(r)}else{return b()}}return{startState:function(){return{tokenize:o,cc:[],indented:0,startOfLine:true,tagName:null,context:null}},token:function(A,z){if(A.sol()){z.startOfLine=true;z.indented=A.indentation()}if(A.eatSpace()){return null}h=g=f=null;var y=z.tokenize(A,z);if((y||g)&&y!="comment"){l=z;while(true){var x=z.cc.pop()||d;if(x(g||y)){break}}}z.startOfLine=false;return h||y},indent:function(z,x){var y=z.context;if(y&&y.noIndent){return 0}if(a&&/<!\[CDATA\[/.test(x)){return 0}if(y&&/^<\//.test(x)){y=y.prev}while(y&&!y.startOfLine){y=y.prev}if(y){return y.indent+p}else{return 0}},compareStates:function(A,y){if(A.indented!=y.indented){return false}for(var z=A.context,x=y.context;;z=z.prev,x=x.prev){if(!z||!x){return z==x}if(z.tagName!=x.tagName){return false}}},electricChars:"/"}});CodeMirror.defineMIME("application/xml","xml");CodeMirror.defineMIME("text/html",{name:"xml",htmlMode:true});CodeMirror.defineMode("markdown",function(y,k){var g=CodeMirror.getMode(y,{name:"xml",htmlMode:true});var u="header",b="code",x="quote",w="list",B="hr",p="linktext",A="linkhref",e="em",h="strong",s="emstrong";var C=/^[*-=_]/,m=/^[*-+]\s+/,q=/^[0-9]\.\s+/,l=/^(?:\={3,}|-{3,})$/,v=/^(k:\t|\s{4,})/,d=/^[^\[*_\\<>`]+/;function c(F,E,D){E.f=E.inline=D;return D(F,E)}function o(F,E,D){E.f=E.block=D;return D(F,E)}function j(G,F){if(G.match(v)){G.skipToEnd();return b}if(G.eatSpace()){return null}if(G.peek()==="#"||G.match(l)){G.skipToEnd();return u}if(G.eat(">")){F.indentation++;return x}if(G.peek()==="<"){return o(G,F,t)}if(G.peek()==="["){return c(G,F,i)}if(C.test(G.peek())){var E=new RegExp("(?:s*["+G.peek()+"]){3,}$");if(G.match(E,true)){return B}}var D;if(D=G.match(m,true)||G.match(q,true)){F.indentation+=D[0].length;return w}return c(G,F,F.inline)}function t(F,E){var D=g.token(F,E.htmlState);if(F.eol()&&!E.htmlState.context){E.block=j}return D}function n(H,F){function G(){return F.strong?(F.em?s:h):(F.em?e:null)}if(H.match(d,true)){return G()}var E=H.next();if(E==="\\"){H.next();return G()}if(E==="`"){return c(H,F,r(b,"`"))}if(E==="<"){return c(H,F,r(p,">"))}if(E==="["){return c(H,F,z)}var D=G();if(E==="*"||E==="_"){if(H.eat(E)){return(F.strong=!F.strong)?G():D}return(F.em=!F.em)?G():D}return G()}function z(F,E){while(!F.eol()){var D=F.next();if(D==="\\"){F.next()}if(D==="]"){E.inline=E.f=f;return p}}return p}function f(F,E){F.eatSpace();var D=F.next();if(D==="("||D==="["){return c(F,E,r(A,D==="("?")":"]"))}return"error"}function i(E,D){if(E.match(/^[^\]]*\]:/,true)){D.f=a;return p}return c(E,D,n)}function a(E,D){E.eatSpace();E.match(/^[^\s]+/,true);D.f=D.inline=n;return A}function r(E,F,D){D=D||n;return function(I,H){while(!I.eol()){var G=I.next();if(G==="\\"){I.next()}if(G===F){H.inline=H.f=D;return E}}return E}}return{startState:function(){return{f:j,block:j,htmlState:g.startState(),indentation:0,inline:n,em:false,strong:false}},copyState:function(D){return{f:D.f,block:D.block,htmlState:CodeMirror.copyState(g,D.htmlState),indentation:D.indentation,inline:D.inline,em:D.em,strong:D.strong}},token:function(G,F){if(G.sol()){F.f=F.block;var E=F.indentation,D=0;while(E>0){if(G.eat(" ")){E--;D++}else{if(E>=4&&G.eat("\t")){E-=4;D+=4}else{break}}}F.indentation=D;if(D>0){return null}}return F.f(G,F)}}});CodeMirror.defineMIME("text/x-markdown","markdown");Ext.define("Ext.AbstractPlugin",{disabled:false,constructor:function(b){if(!b.cmp&&Ext.global.console){Ext.global.console.warn("Attempted to attach a plugin ")}Ext.apply(this,b)},getCmp:function(){return this.cmp},init:Ext.emptyFn,destroy:Ext.emptyFn,enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Docs.History",{singleton:true,init:function(){Ext.util.History.init(function(){this.historyLoaded=true;this.initialNavigate()},this);Ext.util.History.on("change",function(b){this.navigate(b,true)},this)},notifyTabsLoaded:function(){this.tabsLoaded=true;this.initialNavigate()},initialNavigate:function(){if(this.tabsLoaded&&this.historyLoaded){this.navigate(Ext.util.History.getToken(),true)}},navigate:function(d,f){var e=this.parseToken(d);if(e.url=="#!/api"){Docs.App.getController("Classes").loadIndex(f)}else{if(e.type==="api"){Docs.App.getController("Classes").loadClass(e.url,f)}else{if(e.url==="#!/guide"){Docs.App.getController("Guides").loadIndex(f)}else{if(e.type==="guide"){Docs.App.getController("Guides").loadGuide(e.url,f)}else{if(e.url==="#!/video"){Docs.App.getController("Videos").loadIndex(f)}else{if(e.type==="video"){Docs.App.getController("Videos").loadVideo(e.url,f)}else{if(e.url==="#!/example"){Docs.App.getController("Examples").loadIndex()}else{if(e.type==="example"){Docs.App.getController("Examples").loadExample(e.url,f)}else{if(e.url==="#!/stats"){Docs.App.getController("Stats").loadIndex()}else{if(e.url==="#!/comment"){Docs.App.getController("Comments").loadIndex()}else{if(Docs.App.getController("Welcome").isActive()){Docs.App.getController("Welcome").loadIndex(f)}else{if(!this.noRepeatNav){this.noRepeatNav=true;this.navigate(Ext.getCmp("doctabs").staticTabs[0].href,f)}}}}}}}}}}}}},parseToken:function(d){var c=d&&d.match(/!?(\/(api|guide|example|video|stats|comment)(\/(.*))?)/);return c?{type:c[2],url:"#!"+c[1]}:{}},push:function(e,f){e=this.cleanUrl(e);if(!/^#!?/.test(e)){e="#!"+e}var d=Ext.util.History.getToken()||"";if("#"+d.replace(/^%21/,"!")!==e){Ext.util.History.add(e)}},cleanUrl:function(b){return b.replace(/^[^#]*#/,"#")}});Ext.define("Docs.ContentGrabber",{singleton:true,get:function(f){var e;var d=Ext.get(f);if(d){e=d.dom.innerHTML;d.remove()}return e}});Ext.define("Docs.view.examples.Device",{config:{url:"",id:undefined,device:"phone",orientation:"landscape"},constructor:function(b){Ext.apply(this,b);Ext.apply(this,this.getIframeSize());this.id=this.id||Ext.id();if(Ext.isWebKit){this.tpl=new Ext.XTemplate('<div class="touchExample {device} {orientation}">','<iframe id={id} style="width: {width}; height: {height}; border: 0;" ','src="{[this.deviceUrl(values)]}"></iframe>',"</div>",{deviceUrl:function(a){return a.url+"?deviceType="+(a.device==="tablet"?"Tablet":"Phone")}})}else{this.tpl=new Ext.XTemplate('<div class="touchExample {device} {orientation}">','<div id={id} class="wrong-browser" style="width: {width}; height: {height};">','<div style="padding: 20px;">Sencha Touch only functions on WebKit based browsers. <br /><br />Please use Google Chrome or Safari to see live examples.</div>',"</div>","</div>")}},toHtml:function(){return this.tpl.apply(this)},setDevice:function(b){this.device=b;Ext.apply(this,this.getIframeSize())},setOrientation:function(b){this.orientation=b;Ext.apply(this,this.getIframeSize())},getIframeSize:function(){var b={phone:{width:"481px",height:"320px"},miniphone:{width:"320px",height:"219px"},tablet:{width:"717px",height:"538px"}}[this.device];if(this.orientation==="landscape"){return b}else{return{width:b.height,height:b.width}}}});Ext.define("Ext.form.field.VTypes",(function(){var h=/^[a-zA-Z_]+$/,g=/^[a-zA-Z0-9_]+$/,e=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,f=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{singleton:true,alternateClassName:"Ext.form.VTypes",email:function(a){return e.test(a)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(a){return f.test(a)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(a){return h.test(a)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(a){return g.test(a)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}})());Ext.define("Ext.util.Observable",{requires:["Ext.util.Event"],statics:{releaseCapture:function(b){b.fireEvent=this.prototype.fireEvent},capture:function(f,d,e){f.fireEvent=Ext.Function.createInterceptor(f.fireEvent,d,e)},observe:function(d,c){if(d){if(!d.isObservable){Ext.applyIf(d,new this());this.capture(d.prototype,d.fireEvent,d)}if(Ext.isObject(c)){d.on(c)}return d}}},isObservable:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.listeners){c.on(c.listeners);delete c.listeners}c.events=c.events||{};if(c.bubbleEvents){c.enableBubble(c.bubbleEvents)}},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal|freezeEvent)$/,addManagedListener:function(k,o,m,n,p){var l=this,j=l.managedListeners=l.managedListeners||[],i;if(typeof o!=="string"){p=o;for(o in p){if(p.hasOwnProperty(o)){i=p[o];if(!l.eventOptionsRe.test(o)){l.addManagedListener(k,o,i.fn||i,i.scope||p.scope,i.fn?i:p)}}}}else{j.push({item:k,ename:o,fn:m,scope:n,options:p});k.on(o,m,n,p)}},removeManagedListener:function(m,r,o,l){var p=this,i,s,n,t,q;if(typeof r!=="string"){i=r;for(r in i){if(i.hasOwnProperty(r)){s=i[r];if(!p.eventOptionsRe.test(r)){p.removeManagedListener(m,r,s.fn||s,s.scope||i.scope)}}}}n=p.managedListeners?p.managedListeners.slice():[];for(q=0,t=n.length;q<t;q++){p.removeManagedListenerItem(false,n[q],m,r,o,l)}},fireEvent:function(f){var j=f.toLowerCase(),i=this.events,h=i&&i[j],g=h&&h.bubble;return this.continueFireEvent(j,Ext.Array.slice(arguments,1),g)},continueFireEvent:function(n,l,h){var j=this,i,k,m=true;do{if(j.eventsSuspended===true){if((i=j.eventQueue)){i.push([n,l,h])}return m}else{k=j.events[n];if(k&&k!=true){if((m=k.fire.apply(k,l))===false){break}}}}while(h&&(j=j.getBubbleParent()));return m},getBubbleParent:function(){var c=this,d=c.getBubbleTarget&&c.getBubbleTarget();if(d&&d.isObservable){return d}return null},addListener:function(n,l,m,h){var j=this,i,k;if(typeof n!=="string"){h=n;for(n in h){if(h.hasOwnProperty(n)){i=h[n];if(!j.eventOptionsRe.test(n)){j.addListener(n,i.fn||i,i.scope||h.scope,i.fn?i:h)}}}}else{n=n.toLowerCase();j.events[n]=j.events[n]||true;k=j.events[n]||true;if(Ext.isBoolean(k)){j.events[n]=k=new Ext.util.Event(j,n)}k.addListener(l,m,Ext.isObject(h)?h:{})}},removeListener:function(n,l,m){var j=this,h,k,i;if(typeof n!=="string"){i=n;for(n in i){if(i.hasOwnProperty(n)){h=i[n];if(!j.eventOptionsRe.test(n)){j.removeListener(n,h.fn||h,h.scope||i.scope)}}}}else{n=n.toLowerCase();k=j.events[n];if(k&&k.isEvent){k.removeListener(l,m)}}},clearListeners:function(){var d=this.events,f,e;for(e in d){if(d.hasOwnProperty(e)){f=d[e];if(f.isEvent){f.clearListeners()}}}this.clearManagedListeners()},purgeListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeListeners has been deprecated. Please use clearListeners.")}return this.clearListeners.apply(this,arguments)},clearManagedListeners:function(){var d=this.managedListeners||[],f=0,e=d.length;for(;f<e;f++){this.removeManagedListenerItem(true,d[f])}this.managedListeners=[]},removeManagedListenerItem:function(g,h,i,l,j,k){if(g||(h.item===i&&h.ename===l&&(!j||h.fn===j)&&(!k||h.scope===k))){h.item.un(h.ename,h.fn,h.scope);if(!g){Ext.Array.remove(this.managedListeners,h)}}},purgeManagedListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeManagedListeners has been deprecated. Please use clearManagedListeners.")}return this.clearManagedListeners.apply(this,arguments)},addEvents:function(h){var i=this,f,g,j;i.events=i.events||{};if(Ext.isString(h)){f=arguments;j=f.length;while(j--){i.events[f[j]]=i.events[f[j]]||true}}else{Ext.applyIf(i.events,h)}},hasListener:function(d){var c=this.events[d.toLowerCase()];return c&&c.isEvent===true&&c.listeners.length>0},suspendEvents:function(b){this.eventsSuspended=true;if(b&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var d=this,c=d.eventQueue;d.eventsSuspended=false;delete d.eventQueue;if(c){Ext.each(c,function(a){d.continueFireEvent.apply(d,a)})}},relayEvents:function(p,n,k){k=k||"";var l=this,j=n.length,o=0,m,i;for(;o<j;o++){m=n[o].substr(k.length);i=k+m;l.events[i]=l.events[i]||true;p.on(m,l.createRelayer(i))}},createRelayer:function(d){var c=this;return function(){return c.fireEvent.apply(c,[d].concat(Array.prototype.slice.call(arguments,0,-1)))}},enableBubble:function(d){var c=this;if(!Ext.isEmpty(d)){d=Ext.isArray(d)?d:Ext.Array.toArray(arguments);Ext.each(d,function(b){b=b.toLowerCase();var a=c.events[b]||true;if(Ext.isBoolean(a)){a=new Ext.util.Event(c,b);c.events[b]=a}a.bubble=true})}}},function(){this.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener"});this.observeClass=this.observe;Ext.apply(Ext.util.Observable.prototype,function(){function b(e){var j=(this.methodEvents=this.methodEvents||{})[e],m,n,l,k=this;if(!j){this.methodEvents[e]=j={};j.originalFn=this[e];j.methodName=e;j.before=[];j.after=[];var a=function(c,d,f){if((n=c.apply(d||k,f))!==undefined){if(typeof n=="object"){if(n.returnValue!==undefined){m=n.returnValue}else{m=n}l=!!n.cancel}else{if(n===false){l=true}else{m=n}}}};this[e]=function(){var d=Array.prototype.slice.call(arguments,0),f,c,g;m=n=undefined;l=false;for(c=0,g=j.before.length;c<g;c++){f=j.before[c];a(f.fn,f.scope,d);if(l){return m}}if((n=j.originalFn.apply(k,d))!==undefined){m=n}for(c=0,g=j.after.length;c<g;c++){f=j.after[c];a(f.fn,f.scope,d);if(l){return m}}return m}}return j}return{beforeMethod:function(e,f,a){b.call(this,e).before.push({fn:f,scope:a})},afterMethod:function(e,f,a){b.call(this,e).after.push({fn:f,scope:a})},removeMethodListener:function(e,j,k){var i=this.getMethodEvent(e),l,a;for(l=0,a=i.before.length;l<a;l++){if(i.before[l].fn==j&&i.before[l].scope==k){Ext.Array.erase(i.before,l,1);return}}for(l=0,a=i.after.length;l<a;l++){if(i.after[l].fn==j&&i.after[l].scope==k){Ext.Array.erase(i.after,l,1);return}}},toggleEventLogging:function(a){Ext.util.Observable[a?"capture":"releaseCapture"](this,function(d){if(Ext.isDefined(Ext.global.console)){Ext.global.console.log(d,arguments)}})}}}())});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",constructor:function(e,g,f){var h=this;Ext.apply(h,{el:Ext.get(e),eventName:f||h.eventName,bindings:[]});if(g){h.addBinding(g)}h.enable()},eventName:"keydown",addBinding:function(l){if(Ext.isArray(l)){Ext.each(l,this.addBinding,this);return}var m=l.key,k=false,o,n,i,p,j;if(Ext.isString(m)){n=[];i=m.toUpperCase();for(p=0,j=i.length;p<j;++p){n.push(i.charCodeAt(p))}m=n;k=true}if(!Ext.isArray(m)){m=[m]}if(!k){for(p=0,j=m.length;p<j;++p){o=m[p];if(Ext.isString(o)){m[p]=o.toUpperCase().charCodeAt(0)}}}this.bindings.push(Ext.apply({keyCode:m},l))},handleKeyDown:function(h){if(this.enabled){var g=this.bindings,e=0,f=g.length;h=this.processEvent(h);for(;e<f;++e){this.processBinding(g[e],h)}}},processEvent:function(b){return b},processBinding:function(o,t){if(this.checkModifiers(o,t)){var n=t.getKey(),l=o.fn||o.handler,i=o.scope||this,m=o.keyCode,s=o.defaultEventAction,r,p,q=new Ext.EventObjectImpl(t);for(r=0,p=m.length;r<p;++r){if(n===m[r]){if(l.call(i,n,t)!==true&&s){q[s]()}break}}}},checkModifiers:function(j,l){var m=["shift","ctrl","alt"],n=0,i=m.length,k,e;for(;n<i;++n){e=m[n];k=j[e];if(!(k===undefined||(k===l[e+"Key"]))){return false}}return true},on:function(h,m,n){var j,i,l,k;if(Ext.isObject(h)&&!Ext.isArray(h)){j=h.key;i=h.shift;l=h.ctrl;k=h.alt}else{j=h}this.addBinding({key:j,shift:i,ctrl:l,alt:k,fn:m,scope:n})},isEnabled:function(){return this.enabled},enable:function(){var b=this;if(!b.enabled){b.el.on(b.eventName,b.handleKeyDown,b);b.enabled=true}},disable:function(){var b=this;if(b.enabled){b.el.removeListener(b.eventName,b.handleKeyDown,b);b.enabled=false}},setDisabled:function(b){if(b){this.disable()}else{this.enable()}},destroy:function(c){var d=this;d.bindings=[];d.disable();if(c===true){d.el.remove()}delete d.el}});Ext.define("Ext.util.Memento",function(){function i(b,c,a){b[a]=c[a]}function j(b,c,a){delete b[a]}function h(b,c,a){var d=b[a];if(d||b.hasOwnProperty(a)){g(c,a,d)}}function g(b,a,c){if(Ext.isDefined(c)){b[a]=c}else{delete b[a]}}function f(d,a,b,c){if(a){if(Ext.isArray(c)){Ext.each(c,function(e){d(a,b,e)})}else{d(a,b,c)}}}return{data:null,target:null,constructor:function(a,b){if(a){this.target=a;if(b){this.capture(b)}}},capture:function(b,a){f(i,this.data||(this.data={}),a||this.target,b)},remove:function(a){f(j,this.data,null,a)},restore:function(b,c,a){f(h,this.data,a||this.target,b);if(c!==false){this.remove(b)}},restoreAll:function(d,a){var b=this,c=a||this.target;Ext.Object.each(b.data,function(e,l){g(c,e,l)});if(d!==false){delete b.data}}}}());Ext.define("Ext.util.KeyNav",{alternateClassName:"Ext.KeyNav",requires:["Ext.util.KeyMap"],statics:{keyOptions:{left:37,right:39,up:38,down:40,space:32,pageUp:33,pageDown:34,del:46,backspace:8,home:36,end:35,enter:13,esc:27,tab:9}},constructor:function(c,d){this.setConfig(c,d||{})},setConfig:function(k,h){if(this.map){this.map.destroy()}var i=Ext.create("Ext.util.KeyMap",k,null,this.getKeyEvent("forceKeyDown" in h?h.forceKeyDown:this.forceKeyDown)),j=Ext.util.KeyNav.keyOptions,l=h.scope||this,g;this.map=i;for(g in j){if(j.hasOwnProperty(g)){if(h[g]){i.addBinding({scope:l,key:j[g],handler:Ext.Function.bind(this.handleEvent,l,[h[g]],true),defaultEventAction:h.defaultEventAction||this.defaultEventAction})}}}i.disable();if(!h.disabled){i.enable()}},handleEvent:function(f,d,e){return e.call(this,d)},disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,destroy:function(b){this.map.destroy(b);delete this.map},enable:function(){this.map.enable();this.disabled=false},disable:function(){this.map.disable();this.disabled=true},setDisabled:function(b){this.map.setDisabled(b);this.disabled=b},getKeyEvent:function(b){return(b||Ext.EventManager.useKeyDown)?"keydown":"keypress"}});Ext.define("Ext.fx.CubicBezier",{singleton:true,cubicBezierAtTime:function(q,A,C,r,s,w){var v=3*A,t=3*(r-A)-v,D=1-v-t,x=3*C,u=3*(s-C)-x,p=1-x-u;function y(a){return((D*a+t)*a+v)*a}function B(c,a){var b=z(c,a);return((p*b+u)*b+x)*b}function z(h,a){var b,c,e,g,d,f;for(e=h,f=0;f<8;f++){g=y(e)-h;if(Math.abs(g)<a){return e}d=(3*D*e+2*t)*e+v;if(Math.abs(d)<0.000001){break}e=e-g/d}b=0;c=1;e=h;if(e<b){return b}if(e>c){return c}while(b<c){g=y(e);if(Math.abs(g-h)<a){return e}if(h>g){b=e}else{c=e}e=(c-b)/2+b}return e}return B(q,1/(200*w))},cubicBezier:function(f,h,g,j){var i=function(a){return Ext.fx.CubicBezier.cubicBezierAtTime(a,f,h,g,j,1)};i.toCSS3=function(){return"cubic-bezier("+[f,h,g,j].join(",")+")"};i.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-g,1-j,1-f,1-h)};return i}});Ext.define("Ext.data.Operation",{synchronous:true,action:undefined,filters:undefined,sorters:undefined,group:undefined,start:undefined,limit:undefined,batch:undefined,callback:undefined,scope:undefined,started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,actionCommitRecordsRe:/^(?:create|update)$/i,actionSkipSyncRe:/^destroy$/i,constructor:function(b){Ext.apply(this,b||{})},commitRecords:function(h){var k=this,j,n,m,l,i;if(!k.actionSkipSyncRe.test(k.action)){m=k.records;if(m&&m.length){j=Ext.create("Ext.util.MixedCollection",true,function(a){return a.getId()});j.addAll(m);for(n=h?h.length:0;n--;){l=h[n];i=j.get(l.getId());if(i){i.beginEdit();i.set(l.data);i.endEdit(true)}}if(k.actionCommitRecordsRe.test(k.action)){for(n=m.length;n--;){m[n].commit()}}}}},setStarted:function(){this.started=true;this.running=true},setCompleted:function(){this.complete=true;this.running=false},setSuccessful:function(){this.success=true},setException:function(b){this.exception=true;this.success=false;this.running=false;this.error=b},hasException:function(){return this.exception===true},getError:function(){return this.error},getRecords:function(){var b=this.getResultSet();return(b===undefined?this.records:b.records)},getResultSet:function(){return this.resultSet},isStarted:function(){return this.started===true},isRunning:function(){return this.running===true},isComplete:function(){return this.complete===true},wasSuccessful:function(){return this.isComplete()&&this.success===true},setBatch:function(b){this.batch=b},allowWrite:function(){return this.action!="read"}});Ext.define("Ext.util.Filter",{anyMatch:false,exactMatch:false,caseSensitive:false,constructor:function(d){var c=this;Ext.apply(c,d);c.filter=c.filter||c.filterFn;if(c.filter===undefined){if(c.property===undefined||c.value===undefined){}else{c.filter=c.createFilterFn()}c.filterFn=c.filter}},createFilterFn:function(){var e=this,f=e.createValueMatcher(),d=e.property;return function(b){var a=e.getRoot.call(e,b)[d];return f===null?a===null:f.test(a)}},getRoot:function(c){var d=this.root;return d===undefined?c:c[d]},createValueMatcher:function(){var k=this,j=k.value,i=k.anyMatch,l=k.exactMatch,h=k.caseSensitive,g=Ext.String.escapeRegex;if(j===null){return j}if(!j.exec){j=String(j);if(i===true){j=g(j)}else{j="^"+g(j);if(l===true){j+="$"}}j=new RegExp(j,h?"":"i")}return j}});Ext.define("Ext.util.Floating",{uses:["Ext.Layer","Ext.window.Window"],focusOnToFront:true,shadow:"sides",constructor:function(d){var c=this;c.floating=true;c.el=Ext.create("Ext.Layer",Ext.apply({},d,{hideMode:c.hideMode,hidden:c.hidden,shadow:Ext.isDefined(c.shadow)?c.shadow:"sides",shadowOffset:c.shadowOffset,constrain:false,shim:c.shim===false?false:undefined}),c.el)},onFloatRender:function(){var b=this;b.zIndexParent=b.getZIndexParent();b.setFloatParent(b.ownerCt);delete b.ownerCt;if(b.zIndexParent){b.zIndexParent.registerFloatingItem(b)}else{Ext.WindowManager.register(b)}},setFloatParent:function(c){var d=this;if(d.floatParent){d.mun(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}d.floatParent=c;if(c){d.mon(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}if((d.constrain||d.constrainHeader)&&!d.constrainTo){d.constrainTo=c?c.getTargetEl():d.container}},onFloatParentHide:function(){var b=this;if(b.hideOnParentHide!==false){b.showOnParentShow=b.isVisible();b.hide()}},onFloatParentShow:function(){if(this.showOnParentShow){delete this.showOnParentShow;this.show()}},getZIndexParent:function(){var d=this.ownerCt,c;if(d){while(d){c=d;d=d.ownerCt}if(c.floating){return c}}},setZIndex:function(d){var c=this;c.el.setZIndex(d);d+=10;if(c.floatingItems){d=Math.floor(c.floatingItems.setBase(d)/100)*100+10000}return d},doConstrain:function(e){var h=this,f=h.getConstrainVector(e||h.el.getScopeParent()),g;if(f){g=h.getPosition();g[0]+=f[0];g[1]+=f[1];h.setPosition(g)}},getConstrainVector:function(d){var f=this,e;if(f.constrain||f.constrainHeader){e=f.constrainHeader?f.header.el:f.el;d=d||(f.floatParent&&f.floatParent.getTargetEl())||f.container;return e.getConstrainVector(d)}},alignTo:function(e,f,h){if(e.isComponent){e=e.getEl()}var g=this.el.getAlignToXY(e,f,h);this.setPagePosition(g);return this},toFront:function(c){var d=this;if(d.zIndexParent){d.zIndexParent.toFront(true)}if(d.zIndexManager.bringToFront(d)){if(!Ext.isDefined(c)){c=!d.focusOnToFront}if(!c){d.focus(false,true)}}return d},setActive:function(d,f){var e=this;if(d){if(e.el.shadow&&!e.maximized){e.el.enableShadow(true)}e.fireEvent("activate",e)}else{if((e instanceof Ext.window.Window)&&(f instanceof Ext.window.Window)){e.el.disableShadow()}e.fireEvent("deactivate",e)}},toBack:function(){this.zIndexManager.sendToBack(this);return this},center:function(){var d=this,c=d.el.getAlignToXY(d.container,"c-c");d.setPagePosition(c);return d},syncShadow:function(){if(this.floating){this.el.sync(true)}},fitContainer:function(){var f=this.floatParent,e=f?f.getTargetEl():this.container,d=e.getViewSize(false);this.setSize(d)}});Ext.define("Ext.app.Controller",{mixins:{observable:"Ext.util.Observable"},onClassExtended:function(k,p){var l=Ext.getClassName(k),o=l.match(/^(.*)\.controller\./);if(o!==null){var r=Ext.Loader.getPrefix(l)||o[1],m=p.onBeforeClassCreated,j=[],q=["model","view","store"],n;p.onBeforeClassCreated=function(i,f){var e,c,h,b,g,d,a;for(e=0,c=q.length;e<c;e++){h=q[e];b=Ext.Array.from(f[h+"s"]);for(g=0,d=b.length;g<d;g++){a=b[g];n=Ext.Loader.getPrefix(a);if(n===""||n===a){j.push(r+"."+h+"."+a)}else{j.push(a)}}}Ext.require(j,Ext.Function.pass(m,arguments,this))}}},constructor:function(b){this.mixins.observable.constructor.call(this,b);Ext.apply(this,b||{});this.createGetters("model",this.models);this.createGetters("store",this.stores);this.createGetters("view",this.views);if(this.refs){this.ref(this.refs)}},init:function(b){},onLaunch:function(b){},createGetters:function(c,d){c=Ext.String.capitalize(c);Ext.Array.each(d,function(b){var f="get",a=b.split(".");Ext.Array.each(a,function(e){f+=Ext.String.capitalize(e)});f+=c;if(!this[f]){this[f]=Ext.Function.pass(this["get"+c],[b],this)}this[f](b)},this)},ref:function(d){var c=this;d=Ext.Array.from(d);Ext.Array.each(d,function(a){var b=a.ref,f="get"+Ext.String.capitalize(b);if(!c[f]){c[f]=Ext.Function.pass(c.getRef,[b,a],c)}})},getRef:function(j,i,g){this.refCache=this.refCache||{};i=i||{};g=g||{};Ext.apply(i,g);if(i.forceCreate){return Ext.ComponentManager.create(i,"component")}var k=this,h=i.selector,l=k.refCache[j];if(!l){k.refCache[j]=l=Ext.ComponentQuery.query(i.selector)[0];if(!l&&i.autoCreate){k.refCache[j]=l=Ext.ComponentManager.create(i,"component")}if(l){l.on("beforedestroy",function(){k.refCache[j]=null})}}return l},control:function(d,c){this.application.control(d,c,this)},getController:function(b){return this.application.getController(b)},getStore:function(b){return this.application.getStore(b)},getModel:function(b){return this.application.getModel(b)},getView:function(b){return this.application.getView(b)}});Ext.define("Ext.app.EventBus",{requires:["Ext.util.Event"],mixins:{observable:"Ext.util.Observable"},constructor:function(){this.mixins.observable.constructor.call(this);this.bus={};var b=this;Ext.override(Ext.Component,{fireEvent:function(a){if(Ext.util.Observable.prototype.fireEvent.apply(this,arguments)!==false){return b.dispatch.call(b,a,this,arguments)}return false}})},dispatch:function(o,s,p){var r=this.bus,n=r[o],u,v,w,i,x,t,q;if(n){for(u in n){if(s.is(u)){v=n[u];for(w in v){i=v[w];for(t=0,q=i.length;t<q;t++){x=i[t];if(x.fire.apply(x,Array.prototype.slice.call(p,1))===false){return false}}}}}}},control:function(k,i,l){var g=this.bus,h,j;if(Ext.isString(k)){h=k;k={};k[h]=i;this.control(k,null,l);return}Ext.Object.each(k,function(b,a){Ext.Object.each(a,function(d,c){var n={},f=l,e=Ext.create("Ext.util.Event",l,d);if(Ext.isObject(c)){n=c;c=n.fn;f=n.scope||l;delete n.fn;delete n.scope}e.addListener(c,f,n);g[d]=g[d]||{};g[d][b]=g[d][b]||{};g[d][b][l.id]=g[d][b][l.id]||[];g[d][b][l.id].push(e)})})}});Ext.define("Docs.LocalStore",{storeName:"",init:function(){this.localStorage=!!window.localStorage;this.store=Ext.create(this.storeName);if(this.localStorage){this.cleanup();this.store.load();if(window.addEventListener){window.addEventListener("storage",Ext.Function.bind(this.onStorageChange,this),false)}else{window.attachEvent("onstorage",Ext.Function.bind(this.onStorageChange,this))}}},onStorageChange:function(b){b=b||window.event;if(b.key===this.store.getProxy().id){this.store.load()}},syncStore:function(){this.localStorage&&this.store.sync()},cleanup:function(){var f=/-settings/;for(var d=0;d<window.localStorage.length;d++){var e=window.localStorage.key(d);if(!f.test(e)){window.localStorage.removeItem(e)}}}});Ext.define("Docs.Syntax",{singleton:true,highlight:function(b){Ext.Array.forEach(Ext.query("pre > code",b.dom||b),function(a){a=Ext.get(a);var d=a.parent();if(!(d.hasCls("inline-example")&&d.hasCls("preview"))){a.addCls("prettyprint")}});prettyPrint()}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var b=this;b.originalValue=b.lastValue=b.value;b.suspendCheckChange++;b.setValue(b.value);b.suspendCheckChange--},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(c){var d=this;d.value=c;d.checkChange();return d},isEqual:function(c,d){return String(c)===String(d)},isEqualAsString:function(c,d){return String(Ext.value(c,""))===String(Ext.value(d,""))},getSubmitData:function(){var d=this,c=null;if(!d.disabled&&d.submitValue&&!d.isFileUpload()){c={};c[d.getName()]=""+d.getValue()}return c},getModelData:function(){var d=this,c=null;if(!d.disabled&&!d.isFileUpload()){c={};c[d.getName()]=d.getValue()}return c},reset:function(){var b=this;b.setValue(b.originalValue);b.clearInvalid();delete b.wasValid},resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var f=this,d=f.getValue(),e=f.lastValue;if(!f.isEqual(d,e)&&!f.isDestroyed){f.lastValue=d;f.fireEvent("change",f,d,e);f.onChange(d,e)}}},onChange:function(c,d){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var b=this;return !b.disabled&&!b.isEqual(b.getValue(),b.originalValue)},checkDirty:function(){var d=this,c=d.isDirty();if(c!==d.wasDirty){d.fireEvent("dirtychange",d,c);d.onDirtyChange(c);d.wasDirty=c}},onDirtyChange:Ext.emptyFn,getErrors:function(b){return[]},isValid:function(){var b=this;return b.disabled||Ext.isEmpty(b.getErrors())},validate:function(){var d=this,c=d.isValid();if(c!==d.wasValid){d.wasValid=c;d.fireEvent("validitychange",d,c)}return c},batchChanges:function(d){try{this.suspendCheckChange++;d()}catch(c){throw c}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(g,i,h){var f=this,j=f.shared;if(!j){j=f.shared=new f(g,h)}j.bind(g);j.setFixedWidth(h||"auto");return j.getSize(i)},destroy:function(){var b=this;Ext.destroy(b.shared);b.shared=null}},constructor:function(e,f){var d=this.measure=Ext.getBody().createChild({cls:"x-textmetrics"});this.el=Ext.get(e);d.position("absolute");d.setLeftTop(-1000,-1000);d.hide();if(f){d.setWidth(f)}},getSize:function(f){var d=this.measure,e;d.update(f);e=d.getSize();d.update("");return e},bind:function(d){var c=this;c.el=Ext.get(d);c.measure.setStyle(c.el.getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(b){this.measure.setWidth(b)},getWidth:function(b){this.measure.dom.style.width="auto";return this.getSize(b).width},getHeight:function(b){return this.getSize(b).height},destroy:function(){var b=this;b.measure.remove();delete b.el;delete b.measure}},function(){Ext.Element.addMethods({getTextWidth:function(f,d,e){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.value(f,this.dom.innerHTML,true)).width,d||0,e||1000000)}})});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",constructor:function(d,c){this.panel=d;this.id=this.panel.id+"-ddproxy";Ext.apply(this,c)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.unghost(null,false);delete this.ghost}},show:function(){if(!this.ghost){var b=this.panel.getSize();this.panel.el.setVisibilityMode(Ext.Element.DISPLAY);this.ghost=this.panel.ghost();if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});this.proxy.setSize(b)}}},repair:function(d,f,e){this.hide();if(typeof f=="function"){f.call(e||this)}},moveProxy:function(d,c){if(this.proxy){d.insertBefore(this.proxy.dom,c)}}});Ext.define("Ext.Template",{requires:["Ext.DomHelper","Ext.util.Format"],inheritableStatics:{from:function(c,d){c=Ext.getDom(c);return new this(c.value||c.innerHTML,d||"")}},constructor:function(m){var k=this,h=arguments,i=[],n=0,l=h.length,j;k.initialConfig={};if(l>1){for(;n<l;n++){j=h[n];if(typeof j=="object"){Ext.apply(k.initialConfig,j);Ext.apply(k,j)}else{i.push(j)}}m=i.join("")}else{if(Ext.isArray(m)){i.push(m.join(""))}else{i.push(m)}}k.html=i.join("");if(k.compiled){k.compile()}},isTemplate:true,disableFormats:false,re:/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,applyTemplate:function(h){var i=this,l=i.disableFormats!==true,j=Ext.util.Format,g=i;if(i.compiled){return i.compiled(h)}function k(d,b,a,c){if(a&&l){if(c){c=[h[b]].concat(Ext.functionFactory("return ["+c+"];")())}else{c=[h[b]]}if(a.substr(0,5)=="this."){return g[a.substr(5)].apply(g,c)}else{return j[a].apply(j,c)}}else{return h[b]!==undefined?h[b]:""}}return i.html.replace(i.re,k)},set:function(e,f){var d=this;d.html=e;d.compiled=null;return f?d.compile():d},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){var me=this,fm=Ext.util.Format,useFormat=me.disableFormats!==true,body,bodyReturn;function fn(m,name,format,args){if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"',"+format+"values['"+name+"']"+args+") ,'"}bodyReturn=me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn);body="this.compiled = function(values){ return ['"+bodyReturn+"'].join('');};";eval(body);return me},insertFirst:function(d,e,f){return this.doInsert("afterBegin",d,e,f)},insertBefore:function(d,e,f){return this.doInsert("beforeBegin",d,e,f)},insertAfter:function(d,e,f){return this.doInsert("afterEnd",d,e,f)},append:function(d,e,f){return this.doInsert("beforeEnd",d,e,f)},doInsert:function(j,h,f,g){h=Ext.getDom(h);var i=Ext.DomHelper.insertHtml(j,h,this.applyTemplate(f));return g?Ext.get(i,true):i},overwrite:function(d,e,f){d=Ext.getDom(d);d.innerHTML=this.applyTemplate(e);return f?Ext.get(d.firstChild,true):d.firstChild}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.ComponentQuery",{singleton:true,uses:["Ext.ComponentManager"]},function(){var t=this,q=["var r = [],","i = 0,","it = items,","l = it.length,","c;","for (; i < l; i++) {","c = it[i];","if (c.{0}) {","r.push(c);","}","}","return r;"].join(""),v=function(a,b){return b.method.apply(this,[a].concat(b.args))},z=function(e,a){var g=[],d=0,b=e.length,c,f=a!==">";for(;d<b;d++){c=e[d];if(c.getRefItems){g=g.concat(c.getRefItems(f))}}return g},u=function(d){var e=[],c=0,a=d.length,b;for(;c<a;c++){b=d[c];while(!!(b=(b.ownerCt||b.floatParent))){e.push(b)}}return e},o=function(f,a,b){if(a==="*"){return f.slice()}else{var g=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(d.isXType(a,b)){g.push(d)}}return g}},r=function(f,c){var a=Ext.Array,g=[],e=0,b=f.length,d;for(;e<b;e++){d=f[e];if(d.el?d.el.hasCls(c):a.contains(d.initCls(),c)){g.push(d)}}return g},n=function(f,a,g,b){var h=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(!b?!!d[a]:(String(d[a])===b)){h.push(d)}}return h},w=function(e,a){var f=[],d=0,b=e.length,c;for(;d<b;d++){c=e[d];if(c.getItemId()===a){f.push(c)}}return f},p=function(c,b,a){return t.pseudos[b](c,a)},s=/^(\s?([>\^])\s?|\s|$)/,x=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,y=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:o},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:n},{re:/^#([\w\-]+)/,method:w},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:p},{re:/^(?:\{([^\}]+)\})/,method:q}];t.Query=Ext.extend(Object,{constructor:function(a){a=a||{};Ext.apply(this,a)},execute:function(e){var c=this.operations,b=0,a=c.length,d,f;if(!e){f=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(e)){f=e}}for(;b<a;b++){d=c[b];if(d.mode==="^"){f=u(f||[e])}else{if(d.mode){f=z(f||[e],d.mode)}else{f=v(f||z([e]),d)}}if(b===a-1){return f}}return[]},is:function(e){var f=this.operations,b=Ext.isArray(e)?e:[e],g=b.length,a=f[f.length-1],c,d;b=v(b,a);if(b.length===g){if(f.length>1){for(d=0,c=b.length;d<c;d++){if(Ext.Array.indexOf(this.execute(),b[d])===-1){return false}}}return true}return false}});Ext.apply(this,{cache:{},pseudos:{not:function(b,h){var a=Ext.ComponentQuery,d=0,c=b.length,e=[],f=-1,g;for(;d<c;++d){g=b[d];if(!a.is(g,h)){e[++f]=g}}return e},last:function(a){return a[a.length-1]}},query:function(d,h){var g=d.split(","),e=g.length,c=0,b=[],f=[],i={},k,a,j;for(;c<e;c++){d=Ext.String.trim(g[c]);k=this.cache[d];if(!k){this.cache[d]=k=this.parse(d)}b=b.concat(k.execute(h))}if(e>1){a=b.length;for(c=0;c<a;c++){j=b[c];if(!i[j.id]){f.push(j);i[j.id]=true}}b=f}return b},is:function(b,c){if(!c){return true}var a=this.cache[c];if(!a){this.cache[c]=a=this.parse(c)}return a.is(b)},parse:function(b){var d=[],c=y.length,i,a,h,g,f,k,j,e;while(b&&i!==b){i=b;a=b.match(x);if(a){h=a[1];if(h==="#"){d.push({method:w,args:[Ext.String.trim(a[2])]})}else{if(h==="."){d.push({method:r,args:[Ext.String.trim(a[2])]})}else{d.push({method:o,args:[Ext.String.trim(a[2]),Boolean(a[3])]})}}b=b.replace(a[0],"")}while(!(g=b.match(s))){for(k=0;b&&k<c;k++){j=y[k];f=b.match(j.re);e=j.method;if(f){d.push({method:Ext.isString(j.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[e].concat(f.slice(1)))):j.method,args:f.slice(1)});b=b.replace(f[0],"");break}if(k===(c-1)){Ext.Error.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(g[1]){d.push({mode:g[2]||g[1]});b=b.replace(g[0],"")}}return new t.Query({operations:d})}})});Ext.define("Ext.util.HashMap",{mixins:{observable:"Ext.util.Observable"},constructor:function(e){e=e||{};var f=this,d=e.keyFn;f.addEvents("add","clear","remove","replace");f.mixins.observable.constructor.call(f,e);f.clear(true);if(d){f.getKey=d}},getCount:function(){return this.length},getData:function(d,c){if(c===undefined){c=d;d=this.getKey(c)}return[d,c]},getKey:function(b){return b.id},add:function(f,g){var e=this,h;if(arguments.length===1){g=f;f=e.getKey(g)}if(e.containsKey(f)){return e.replace(f,g)}h=e.getData(f,g);f=h[0];g=h[1];e.map[f]=g;++e.length;e.fireEvent("add",e,f,g);return g},replace:function(f,i){var j=this,h=j.map,g;if(!j.containsKey(f)){j.add(f,i)}g=h[f];h[f]=i;j.fireEvent("replace",j,f,i,g);return i},remove:function(c){var d=this.findKey(c);if(d!==undefined){return this.removeAtKey(d)}return false},removeAtKey:function(e){var d=this,f;if(d.containsKey(e)){f=d.map[e];delete d.map[e];--d.length;d.fireEvent("remove",d,e,f);return true}return false},get:function(b){return this.map[b]},clear:function(d){var c=this;c.map={};c.length=0;if(d!==true){c.fireEvent("clear",c)}return c},containsKey:function(b){return this.map[b]!==undefined},contains:function(b){return this.containsKey(this.findKey(b))},getKeys:function(){return this.getArray(true)},getValues:function(){return this.getArray(false)},getArray:function(g){var f=[],e,h=this.map;for(e in h){if(h.hasOwnProperty(e)){f.push(g?e:h[e])}}return f},each:function(i,j){var g=Ext.apply({},this.map),f,h=this.length;j=j||this;for(f in g){if(g.hasOwnProperty(f)){if(i.call(j,f,g[f],h)===false){break}}}return this},clone:function(){var f=new this.self(),d=this.map,e;f.suspendEvents();for(e in d){if(d.hasOwnProperty(e)){f.add(e,d[e])}}f.resumeEvents();return f},findKey:function(d){var e,f=this.map;for(e in f){if(f.hasOwnProperty(e)&&f[e]===d){return e}}return undefined}});Ext.define("Ext.layout.Layout",{isLayout:true,initialized:false,statics:{create:function(d,f){var e;if(d instanceof Ext.layout.Layout){return Ext.createByAlias("layout."+d)}else{if(!d||typeof d==="string"){e=d||f;d={}}else{e=d.type||f}return Ext.createByAlias("layout."+e,d||{})}}},constructor:function(b){this.id=Ext.id(null,this.type+"-");Ext.apply(this,b)},layout:function(){var b=this;b.layoutBusy=true;b.initLayout();if(b.beforeLayout.apply(b,arguments)!==false){b.layoutCancelled=false;b.onLayout.apply(b,arguments);b.childrenChanged=false;b.owner.needsLayout=false;b.layoutBusy=false;b.afterLayout.apply(b,arguments)}else{b.layoutCancelled=true}b.layoutBusy=false;b.doOwnerCtLayouts()},beforeLayout:function(){this.renderChildren();return true},renderChildren:function(){this.renderItems(this.getLayoutItems(),this.getRenderTarget())},renderItems:function(h,i){var j=this,k=h.length,g=0,l;for(;g<k;g++){l=h[g];if(l&&!l.rendered){j.renderItem(l,i,g)}else{if(!j.isValidParent(l,i,g)){j.moveItem(l,i,g)}else{j.configureItem(l)}}}},isValidParent:function(e,h,f){var g=e.el?e.el.dom:Ext.getDom(e);if(g&&h&&h.dom){if(Ext.isNumber(f)&&g!==h.dom.childNodes[f]){return false}return(g.parentNode==(h.dom||h))}return false},renderItem:function(h,g,f){var e=this;if(!h.rendered){if(e.itemCls){h.addCls(e.itemCls)}if(e.owner.itemCls){h.addCls(e.owner.itemCls)}h.render(g,f);e.configureItem(h);e.childrenChanged=true}},moveItem:function(d,f,e){f=f.dom||f;if(typeof e=="number"){e=f.childNodes[e]}f.insertBefore(d.el.dom,e||null);d.container=Ext.get(f);this.configureItem(d);this.childrenChanged=true},initLayout:function(){var d=this,c=d.targetCls;if(!d.initialized&&!Ext.isEmpty(c)){d.getTarget().addCls(c)}d.initialized=true},setOwner:function(b){this.owner=b},getLayoutItems:function(){return[]},configureItem:Ext.emptyFn,onLayout:Ext.emptyFn,afterLayout:Ext.emptyFn,onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,doOwnerCtLayouts:Ext.emptyFn,afterRemove:function(j){var f=j.el,g=this.owner,h=this.itemCls,i=g.itemCls;if(j.rendered&&!j.isDestroyed){if(h){f.removeCls(h)}if(i){f.removeCls(i)}}delete j.layoutManagedWidth;delete j.layoutManagedHeight},destroy:function(){var c=this.targetCls,d;if(!Ext.isEmpty(c)){d=this.getTarget();if(d){d.removeCls(c)}}this.onDestroy()}});Ext.define("Ext.ZIndexManager",{alternateClassName:"Ext.WindowGroup",statics:{zBase:9000},constructor:function(d){var c=this;c.list={};c.zIndexStack=[];c.front=null;if(d){if(d.isContainer){d.on("resize",c._onContainerResize,c);c.zseed=Ext.Number.from(d.getEl().getStyle("zIndex"),c.getNextZSeed());c.targetEl=d.getTargetEl();c.container=d}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();c.targetEl=Ext.get(d)}}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();Ext.onDocumentReady(function(){c.targetEl=Ext.getBody()})}},getNextZSeed:function(){return(Ext.ZIndexManager.zBase+=10000)},setBase:function(b){this.zseed=b;return this.assignZIndices()},assignZIndices:function(){var j=this.zIndexStack,a=j.length,h=0,g=this.zseed,i;for(;h<a;h++){i=j[h];if(i&&!i.hidden){g=i.setZIndex(g)}}this._activateLast();return g},_setActiveChild:function(b){if(b!==this.front){if(this.front){this.front.setActive(false,b)}this.front=b;if(b){b.setActive(true);if(b.modal){this._showModalMask(b)}}}},_activateLast:function(f){var e,g=false,h;for(h=this.zIndexStack.length-1;h>=0;--h){e=this.zIndexStack[h];if(!e.hidden){if(!g){this._setActiveChild(e);g=true}if(e.modal){this._showModalMask(e);return}}}this._hideModalMask();if(!g){this._setActiveChild(null)}},_showModalMask:function(f){var g=f.el.getStyle("zIndex")-4,e=f.floatParent?f.floatParent.getTargetEl():Ext.get(f.getEl().dom.parentNode),h;if(!e){Ext.global.console&&Ext.global.console.warn&&Ext.global.console.warn("mask target could not be found. Mask cannot be shown");return}h=e.getBox();if(!this.mask){this.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask"});this.mask.setVisibilityMode(Ext.Element.DISPLAY);this.mask.on("click",this._onMaskClick,this)}if(e.dom===document.body){h.height=Ext.Element.getViewHeight()}e.addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setBox(h);this.mask.setStyle("zIndex",g);this.mask.show()},_hideModalMask:function(){if(this.mask&&this.mask.dom.parentNode){Ext.get(this.mask.dom.parentNode).removeCls(Ext.baseCSSPrefix+"body-masked");this.mask.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){if(this.mask&&this.mask.isVisible()){this.mask.setSize(Ext.get(this.mask.dom.parentNode).getViewSize(true))}},register:function(b){if(b.zIndexManager){b.zIndexManager.unregister(b)}b.zIndexManager=this;this.list[b.id]=b;this.zIndexStack.push(b);b.on("hide",this._activateLast,this)},unregister:function(b){delete b.zIndexManager;if(this.list&&this.list[b.id]){delete this.list[b.id];b.un("hide",this._activateLast);Ext.Array.remove(this.zIndexStack,b);this._activateLast(b)}},get:function(b){return typeof b=="object"?b:this.list[b]},bringToFront:function(b){b=this.get(b);if(b!==this.front){Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.push(b);this.assignZIndices();return true}if(b.modal){this._showModalMask(b)}return false},sendToBack:function(b){b=this.get(b);Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.unshift(b);this.assignZIndices();return b},hideAll:function(){for(var b in this.list){if(this.list[b].isComponent&&this.list[b].isVisible()){this.list[b].hide()}}},hide:function(){var d=0,f=this.zIndexStack.length,e;this.tempHidden=[];for(;d<f;d++){e=this.zIndexStack[d];if(e.isVisible()){this.tempHidden.push(e);e.hide()}}},show:function(){var j=0,i=this.tempHidden.length,f,g,h;for(;j<i;j++){f=this.tempHidden[j];g=f.x;h=f.y;f.show();f.setPosition(g,h)}delete this.tempHidden},getActive:function(){return this.front},getBy:function(j,k){var i=[],l=0,h=this.zIndexStack.length,g;for(;l<h;l++){g=this.zIndexStack[l];if(j.call(k||g,g)!==false){i.push(g)}}return i},each:function(h,e){var f;for(var g in this.list){f=this.list[g];if(f.isComponent&&h.call(e||f,f)===false){return}}},eachBottomUp:function(j,k){var g,h=this.zIndexStack,l,i;for(l=0,i=h.length;l<i;l++){g=h[l];if(g.isComponent&&j.call(k||g,g)===false){return}}},eachTopDown:function(h,i){var f,g=this.zIndexStack,j;for(j=g.length;j-->0;){f=g[j];if(f.isComponent&&h.call(i||f,f)===false){return}}},destroy:function(){this.each(function(b){b.destroy()});delete this.zIndexStack;delete this.list;delete this.container;delete this.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.fx.Queue",{requires:["Ext.util.HashMap"],constructor:function(){this.targets=Ext.create("Ext.util.HashMap");this.fxQueue={}},getFxDefaults:function(d){var c=this.targets.get(d);if(c){return c.fxDefaults}return{}},setFxDefaults:function(e,f){var d=this.targets.get(e);if(d){d.fxDefaults=Ext.apply(d.fxDefaults||{},f)}},stopAnimation:function(e){var g=this,f=g.getFxQueue(e),h=f.length;while(h){f[h-1].end();h--}},getActiveAnimation:function(c){var d=this.getFxQueue(c);return(d&&!!d.length)?d[0]:false},hasFxBlock:function(c){var d=this.getFxQueue(c);return d&&d[0]&&d[0].block},getFxQueue:function(e){if(!e){return false}var h=this,f=h.fxQueue[e],g=h.targets.get(e);if(!g){return false}if(!f){h.fxQueue[e]=[];if(g.type!="element"){g.target.on("destroy",function(){h.fxQueue[e]=[]})}}return h.fxQueue[e]},queueFx:function(i){var j=this,h=i.target,g,f;if(!h){return}g=j.getFxQueue(h.getId());f=g.length;if(f){if(i.concurrent){i.paused=false}else{g[f-1].on("afteranimate",function(){i.paused=false})}}else{i.paused=false}i.on("afteranimate",function(){Ext.Array.remove(g,i);if(i.remove){if(h.type=="element"){var a=Ext.get(h.id);if(a){a.remove()}}}},this);g.push(i)}});Ext.define("Ext.util.Sorter",{direction:"ASC",constructor:function(d){var c=this;Ext.apply(c,d);if(c.property===undefined&&c.sorterFn===undefined){Ext.Error.raise("A Sorter requires either a property or a sorter function")}c.updateSortFunction()},createSortFunction:function(f){var j=this,i=j.property,h=j.direction||"ASC",g=h.toUpperCase()=="DESC"?-1:1;return function(a,b){return g*f.call(j,a,b)}},defaultSorterFn:function(k,l){var g=this,h=g.transform,i=g.getRoot(k)[g.property],j=g.getRoot(l)[g.property];if(h){i=h(i);j=h(j)}return i>j?1:(i<j?-1:0)},getRoot:function(b){return this.root===undefined?b:b[this.root]},setDirection:function(c){var d=this;d.direction=c;d.updateSortFunction()},toggle:function(){var b=this;b.direction=Ext.String.toggle(b.direction,"ASC","DESC");b.updateSortFunction()},updateSortFunction:function(d){var c=this;d=d||c.sorterFn||c.defaultSorterFn;c.sort=c.createSortFunction(d)}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.util.Observable"},constructor:function(d,e){var f=this;f.items=[];f.map={};f.keys=[];f.length=0;f.addEvents("clear","add","replace","remove");f.allowFunctions=d===true;if(e){f.getKey=e}f.mixins.observable.constructor.call(f)},allowFunctions:false,add:function(g,j){var k=this,i=j,l=g,h;if(arguments.length==1){i=l;l=k.getKey(i)}if(typeof l!="undefined"&&l!==null){h=k.map[l];if(typeof h!="undefined"){return k.replace(l,i)}k.map[l]=i}k.length++;k.items.push(i);k.keys.push(l);k.fireEvent("add",k.length-1,i,l);return i},getKey:function(b){return b.id},replace:function(j,h){var i=this,g,f;if(arguments.length==1){h=arguments[0];j=i.getKey(h)}g=i.map[j];if(typeof j=="undefined"||j===null||typeof g=="undefined"){return i.add(j,h)}f=i.indexOfKey(j);i.items[f]=h;i.map[j]=h;i.fireEvent("replace",j,g,h);return h},addAll:function(i){var j=this,k=0,g,h,l;if(arguments.length>1||Ext.isArray(i)){g=arguments.length>1?arguments:i;for(h=g.length;k<h;k++){j.add(g[k])}}else{for(l in i){if(i.hasOwnProperty(l)){if(j.allowFunctions||typeof i[l]!="function"){j.add(l,i[l])}}}}},each:function(j,k){var g=[].concat(this.items),l=0,h=g.length,i;for(;l<h;l++){i=g[l];if(j.call(k||i,i,l,h)===false){break}}},eachKey:function(j,k){var i=this.keys,g=this.items,l=0,h=i.length;for(;l<h;l++){j.call(k||window,i[l],g[l],l,h)}},findBy:function(j,k){var i=this.keys,g=this.items,l=0,h=g.length;for(;l<h;l++){if(j.call(k||window,g[l],i[l])){return g[l]}}return null},find:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead.")}return this.findBy.apply(this,arguments)},insert:function(h,g,j){var k=this,l=g,i=j;if(arguments.length==2){i=l;l=k.getKey(i)}if(k.containsKey(l)){k.suspendEvents();k.removeAtKey(l);k.resumeEvents()}if(h>=k.length){return k.add(l,i)}k.length++;Ext.Array.splice(k.items,h,0,i);if(typeof l!="undefined"&&l!==null){k.map[l]=i}Ext.Array.splice(k.keys,h,0,l);k.fireEvent("add",h,i,l);return i},remove:function(b){return this.removeAt(this.indexOf(b))},removeAll:function(b){Ext.each(b||[],function(a){this.remove(a)},this);return this},removeAt:function(f){var h=this,g,e;if(f<h.length&&f>=0){h.length--;g=h.items[f];Ext.Array.erase(h.items,f,1);e=h.keys[f];if(typeof e!="undefined"){delete h.map[e]}Ext.Array.erase(h.keys,f,1);h.fireEvent("remove",g,e);return g}return false},removeAtKey:function(b){return this.removeAt(this.indexOfKey(b))},getCount:function(){return this.length},indexOf:function(b){return Ext.Array.indexOf(this.items,b)},indexOfKey:function(b){return Ext.Array.indexOf(this.keys,b)},get:function(e){var g=this,f=g.map[e],h=f!==undefined?f:(typeof e=="number")?g.items[e]:undefined;return typeof h!="function"||g.allowFunctions?h:null},getAt:function(b){return this.items[b]},getByKey:function(b){return this.map[b]},contains:function(b){return Ext.Array.contains(this.items,b)},containsKey:function(b){return typeof this.map[b]!="undefined"},clear:function(){var b=this;b.length=0;b.items=[];b.keys=[];b.map={};b.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(l,i,k,j){var p=this.extractValues(l,i),m=p.length,n=0,o;k=k||0;j=(j||j===0)?j:m-1;for(o=k;o<=j;o++){n+=p[o]}return n},collect:function(l,p,n){var i=this.extractValues(l,p),t=i.length,s={},r=[],m,o,q;for(q=0;q<t;q++){m=i[q];o=String(m);if((n||!Ext.isEmpty(m))&&!s[o]){s[o]=true;r.push(m)}}return r},extractValues:function(f,e){var d=this.items;if(e){d=Ext.Array.pluck(d,e)}return Ext.Array.pluck(d,f)},getRange:function(i,h){var j=this,l=j.items,g=[],k;if(l.length<1){return g}i=i||0;h=Math.min(typeof h=="undefined"?j.length-1:h,j.length-1);if(i<=h){for(k=i;k<=h;k++){g[g.length]=l[k]}}else{for(k=i;k>=h;k--){g[g.length]=l[k]}}return g},filter:function(k,l,i,h){var g=[],j;if(Ext.isString(k)){g.push(Ext.create("Ext.util.Filter",{property:k,value:l,anyMatch:i,caseSensitive:h}))}else{if(Ext.isArray(k)||k instanceof Ext.util.Filter){g=g.concat(k)}}j=function(f){var a=true,o=g.length,e;for(e=0;e<o;e++){var b=g[e],c=b.filterFn,d=b.scope;a=a&&c.call(d,f)}return a};return this.filterBy(j)},filterBy:function(n,o){var k=this,j=new this.self(),l=k.keys,i=k.items,m=i.length,p;j.getKey=k.getKey;for(p=0;p<m;p++){if(n.call(o||k,i[p],l[p])){j.add(l[p],i[p])}}return j},findIndex:function(j,f,h,i,g){if(Ext.isEmpty(f,false)){return -1}f=this.createValueMatcher(f,i,g);return this.findIndexBy(function(a){return a&&f.test(a[j])},null,h)},findIndexBy:function(n,o,k){var l=this,m=l.keys,i=l.items,p=k||0,j=i.length;for(;p<j;p++){if(n.call(o||l,i[p],m[p])){return p}}return -1},createValueMatcher:function(j,h,g,f){if(!j.exec){var i=Ext.String.escapeRegex;j=String(j);if(h===true){j=i(j)}else{j="^"+i(j);if(f===true){j+="$"}}j=new RegExp(j,g?"":"i")}return j},clone:function(){var j=this,i=new this.self(),k=j.keys,g=j.items,l=0,h=g.length;for(;l<h;l++){i.add(k[l],g[l])}i.getKey=j.getKey;return i}});Ext.define("Ext.data.SortTypes",{singleton:true,none:function(b){return b},stripTagsRE:/<\/?[^>]+>/gi,asText:function(b){return String(b).replace(this.stripTagsRE,"")},asUCText:function(b){return String(b).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(b){return String(b).toUpperCase()},asDate:function(b){if(!b){return 0}if(Ext.isDate(b)){return b.getTime()}return Date.parse(String(b))},asFloat:function(d){var c=parseFloat(String(d).replace(/,/g,""));return isNaN(c)?0:c},asInt:function(d){var c=parseInt(String(d).replace(/,/g,""),10);return isNaN(c)?0:c}});Ext.define("Ext.util.Grouper",{extend:"Ext.util.Sorter",getGroupString:function(b){return b.get(this.property)}});Ext.define("Ext.util.Animate",{uses:["Ext.fx.Manager","Ext.fx.Anim"],animate:function(d){var c=this;if(Ext.fx.Manager.hasFxBlock(c.id)){return c}Ext.fx.Manager.queueFx(Ext.create("Ext.fx.Anim",c.anim(d)));return this},anim:function(d){if(!Ext.isObject(d)){return(d)?{}:false}var c=this;if(d.stopAnimation){c.stopAnimation()}Ext.applyIf(d,Ext.fx.Manager.getFxDefaults(c.id));return Ext.apply({target:c,paused:true},d)},stopFx:Ext.Function.alias(Ext.util.Animate,"stopAnimation"),stopAnimation:function(){Ext.fx.Manager.stopAnimation(this.id);return this},syncFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:true});return this},sequenceFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:false});return this},hasActiveFx:Ext.Function.alias(Ext.util.Animate,"getActiveAnimation"),getActiveAnimation:function(){return Ext.fx.Manager.getActiveAnimation(this.id)}},function(){Ext.applyIf(Ext.Element.prototype,this.prototype);Ext.CompositeElementLite.importElementMethods()});Ext.define("Ext.AbstractManager",{requires:["Ext.util.HashMap"],typeName:"type",constructor:function(b){Ext.apply(this,b||{});this.all=Ext.create("Ext.util.HashMap");this.types={}},get:function(b){return this.all.get(b)},register:function(f){var d=this.all,e=d.getKey(f);if(d.containsKey(e)){Ext.Error.raise('Registering duplicate id "'+e+'" with this manager')}this.all.add(f)},unregister:function(b){this.all.remove(b)},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c},isRegistered:function(b){return this.types[b]!==undefined},create:function(f,g){var e=f[this.typeName]||f.type||g,h=this.types[e];if(h===undefined){Ext.Error.raise("The '"+e+"' type has not been registered with this manager")}return new h(f)},onAvailable:function(h,j,f){var g=this.all,i;if(g.containsKey(h)){i=g.get(h);j.call(f||i,i)}else{g.on("add",function(a,c,b){if(c==h){j.call(f||b,b);g.un("add",j,f)}})}},each:function(c,d){this.all.each(c,d||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.data.Association",{primaryKey:"id",defaultReaderType:"json",statics:{create:function(b){if(!b.isAssociation){if(Ext.isString(b)){b={type:b}}switch(b.type){case"belongsTo":return Ext.create("Ext.data.BelongsToAssociation",b);case"hasMany":return Ext.create("Ext.data.HasManyAssociation",b);default:Ext.Error.raise('Unknown Association type: "'+b.type+'"')}}return b}},constructor:function(h){Ext.apply(this,h);var n=Ext.ModelManager.types,m=h.ownerModel,k=h.associatedModel,l=n[m],j=n[k],i;if(l===undefined){Ext.Error.raise("The configured ownerModel was not valid (you tried "+m+")")}if(j===undefined){Ext.Error.raise("The configured associatedModel was not valid (you tried "+k+")")}this.ownerModel=l;this.associatedModel=j;Ext.applyIf(this,{ownerName:m,associatedName:k})},getReader:function(){var f=this,e=f.reader,d=f.associatedModel;if(e){if(Ext.isString(e)){e={type:e}}if(e.isReader){e.setModel(d)}else{Ext.applyIf(e,{model:d,type:f.defaultReaderType})}f.reader=Ext.createByAlias("reader."+e.type,e)}return f.reader||null}});Ext.define("Ext.data.IdGenerator",{isGenerator:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.id){Ext.data.IdGenerator.all[c.id]=c}},getRecId:function(b){return b.modelName+"-"+b.internalId},statics:{all:{},get:function(f){var h,g,e;if(typeof f=="string"){g=e=f;f=null}else{if(f.isGenerator){return f}else{g=f.id||f.type;e=f.type}}h=this.all[g];if(!h){h=Ext.create("idgen."+e,f)}return h}}});Ext.define("Ext.data.validations",{singleton:true,presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address",emailRe:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,presence:function(d,c){if(c===undefined){c=d}return !!c||c===0},length:function(f,h){if(h===undefined||h===null){return false}var i=h.length,j=f.min,g=f.max;if((j&&i<j)||(g&&i>g)){return false}else{return true}},email:function(c,d){return Ext.data.validations.emailRe.test(d)},format:function(d,c){return !!(d.matcher&&d.matcher.test(c))},inclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)!=-1},exclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)==-1}});Ext.define("Docs.view.cls.Logic",{showPrivateClasses:false,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.dd.StatusProxy",{animRepair:false,constructor:function(b){Ext.apply(this,b);this.id=this.id||Ext.id();this.proxy=Ext.createWidget("component",{floating:true,stateful:false,id:this.id,html:'<div class="'+Ext.baseCSSPrefix+'dd-drop-icon"></div><div class="'+Ext.baseCSSPrefix+'dd-drag-ghost"></div>',cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:!b||b.shadow!==false,renderTo:document.body});this.el=this.proxy.el;this.el.show();this.el.setVisibilityMode(Ext.Element.VISIBILITY);this.el.hide();this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(b){b=b||this.dropNotAllowed;if(this.dropStatus!=b){this.el.replaceCls(this.dropStatus,b);this.dropStatus=b}},reset:function(b){this.el.dom.className=Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(b){this.ghost.update("")}},update:function(d){if(typeof d=="string"){this.ghost.update(d)}else{this.ghost.update("");d.style.margin="0";this.ghost.dom.appendChild(d)}var c=this.ghost.dom.firstChild;if(c){Ext.fly(c).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(b){this.proxy.hide();if(b){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.proxy.show();this.proxy.toFront()},sync:function(){this.proxy.el.sync()},repair:function(d,f,e){this.callback=f;this.scope=e;if(d&&this.animRepair!==false){this.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.animate({duration:this.repairDuration||500,easing:"ease-out",to:{x:d[0],y:d[1]},stopAnimation:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.proxy,this.el)}});Ext.define("Ext.fx.target.Target",{isAnimTarget:true,constructor:function(b){this.target=b;this.id=this.getId()},getId:function(){return this.target.id}});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:0.2,constructor:function(i,j,g){var f=this,h=Ext.Number.constrain;f.r=h(i,0,255);f.g=h(j,0,255);f.b=h(g,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var b=this;return[b.r,b.g,b.b]},getHSL:function(){var o=this,t=o.r/255,p=o.g/255,l=o.b/255,h=Math.max(t,p,l),r=Math.min(t,p,l),g=h-r,q,b=0,s=0.5*(h+r);if(r!=h){b=(s<0.5)?g/(h+r):g/(2-h-r);if(t==h){q=60*(p-l)/g}else{if(p==h){q=120+60*(l-t)/g}else{q=240+60*(t-p)/g}}if(q<0){q+=360}if(q>=360){q-=360}}return[q,b,s]},getLighter:function(c){var d=this.getHSL();c=c||this.lightnessFactor;d[2]=Ext.Number.constrain(d[2]+c,0,1);return this.fromHSL(d[0],d[1],d[2])},getDarker:function(b){b=b||this.lightnessFactor;return this.getLighter(-b)},toString:function(){var g=this,j=Math.round,h=j(g.r).toString(16),i=j(g.g).toString(16),b=j(g.b).toString(16);h=(h.length==1)?"0"+h:h;i=(i.length==1)?"0"+i:i;b=(b.length==1)?"0"+b:b;return["#",h,i,b].join("")},toHex:function(g){if(Ext.isArray(g)){g=g[0]}if(!Ext.isString(g)){return""}if(g.substr(0,1)==="#"){return g}var j=this.colorToHexRe.exec(g);if(Ext.isArray(j)){var i=parseInt(j[2],10),k=parseInt(j[3],10),h=parseInt(j[4],10),l=h|(k<<8)|(i<<16);return j[1]+"#"+("000000"+l.toString(16)).slice(-6)}else{return""}},fromString:function(g){var l,j,k,b,i=parseInt;if((g.length==4||g.length==7)&&g.substr(0,1)==="#"){l=g.match(this.hexRe);if(l){j=i(l[1],16)>>0;k=i(l[2],16)>>0;b=i(l[3],16)>>0;if(g.length==4){j+=(j*16);k+=(k*16);b+=(b*16)}}}else{l=g.match(this.rgbRe);if(l){j=l[1];k=l[2];b=l[3]}}return(typeof j=="undefined")?undefined:Ext.create("Ext.draw.Color",j,k,b)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(o,h,q){var t,s,r,p,l=[],i=Math.abs,m=Math.floor;if(h==0||o==null){l=[q,q,q]}else{o/=60;t=h*(1-i(2*q-1));s=t*(1-i(o-2*m(o/2)-1));r=q-t/2;switch(m(o)){case 0:l=[t,s,0];break;case 1:l=[s,t,0];break;case 2:l=[0,t,s];break;case 3:l=[0,s,t];break;case 4:l=[s,0,t];break;case 5:l=[t,0,s];break}l=[l[0]+r,l[1]+r,l[2]+r]}return Ext.create("Ext.draw.Color",l[0]*255,l[1]*255,l[2]*255)}},function(){var b=this.prototype;this.addStatics({fromHSL:function(){return b.fromHSL.apply(b,arguments)},fromString:function(){return b.fromString.apply(b,arguments)},toHex:function(){return b.toHex.apply(b,arguments)}})});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,onRemove:Ext.emptyFn,getItem:function(b){return this.layout.owner.getComponent(b)},onRemove:Ext.emptyFn});Ext.define("Ext.state.Provider",{mixins:{observable:"Ext.util.Observable"},prefix:"ext-",constructor:function(d){d=d||{};var c=this;Ext.apply(c,d);c.addEvents("statechange");c.state={};c.mixins.observable.constructor.call(c)},get:function(c,d){return typeof this.state[c]=="undefined"?d:this.state[c]},clear:function(d){var c=this;delete c.state[d];c.fireEvent("statechange",c,d,null)},set:function(e,f){var d=this;d.state[e]=f;d.fireEvent("statechange",d,e,f)},decodeValue:function(k){var m=this,n=/^(a|n|d|b|s|o|e)\:(.*)$/,l=n.exec(unescape(k)),h,i,k,j;if(!l||!l[1]){return}i=l[1];k=l[2];switch(i){case"e":return null;case"n":return parseFloat(k);case"d":return new Date(Date.parse(k));case"b":return(k=="1");case"a":h=[];if(k!=""){Ext.each(k.split("^"),function(a){h.push(m.decodeValue(a))},m)}return h;case"o":h={};if(k!=""){Ext.each(k.split("^"),function(a){j=a.split("=");h[j[0]]=m.decodeValue(j[1])},m)}return h;default:return k}},encodeValue:function(j){var i="",k=0,g,h,l;if(j==null){return"e:1"}else{if(typeof j=="number"){g="n:"+j}else{if(typeof j=="boolean"){g="b:"+(j?"1":"0")}else{if(Ext.isDate(j)){g="d:"+j.toGMTString()}else{if(Ext.isArray(j)){for(h=j.length;k<h;k++){i+=this.encodeValue(j[k]);if(k!=h-1){i+="^"}}g="a:"+i}else{if(typeof j=="object"){for(l in j){if(typeof j[l]!="function"&&j[l]!==undefined){i+=l+"="+this.encodeValue(j[l])+"^"}}g="o:"+i.substring(0,i.length-1)}else{g="s:"+j}}}}}}return escape(g)}});Ext.define("Ext.data.Connection",{mixins:{observable:"Ext.util.Observable"},statics:{requestId:0},url:null,async:true,method:null,username:"",password:"",disableCaching:true,withCredentials:false,cors:false,disableCachingParam:"_dc",timeout:30000,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",constructor:function(b){b=b||{};Ext.apply(this,b);this.addEvents("beforerequest","requestcomplete","requestexception");this.requests={};this.mixins.observable.constructor.call(this)},request:function(k){k=k||{};var o=this,l=k.scope||window,p=k.username||o.username,n=k.password||o.password||"",s,r,q,t,m;if(o.fireEvent("beforerequest",o,k)!==false){r=o.setOptions(k,l);if(this.isFormUpload(k)===true){this.upload(k.form,r.url,r.data,k);return null}if(k.autoAbort===true||o.autoAbort){o.abort()}if((k.cors===true||o.cors===true)&&Ext.isIe&&Ext.ieVersion>=8){m=new XDomainRequest()}else{m=this.getXhrInstance()}s=k.async!==false?(k.async||o.async):false;if(p){m.open(r.method,r.url,s,p,n)}else{m.open(r.method,r.url,s)}if(k.withCredentials===true||o.withCredentials===true){m.withCredentials=true}t=o.setupHeaders(m,k,r.data,r.params);q={id:++Ext.data.Connection.requestId,xhr:m,headers:t,options:k,async:s,timeout:setTimeout(function(){q.timedout=true;o.abort(q)},k.timeout||o.timeout)};o.requests[q.id]=q;o.latestId=q.id;if(s){m.onreadystatechange=Ext.Function.bind(o.onStateChange,o,[q])}m.send(r.data);if(!s){return this.onComplete(q)}return q}else{Ext.callback(k.callback,k.scope,[k,undefined,undefined]);return null}},upload:function(q,s,m,k){q=Ext.getDom(q);k=k||{};var r=Ext.id(),o=document.createElement("iframe"),l=[],n="multipart/form-data",p={target:q.target,method:q.method,encoding:q.encoding,enctype:q.enctype,action:q.action},t;Ext.fly(o).set({id:r,name:r,cls:Ext.baseCSSPrefix+"hide-display",src:Ext.SSL_SECURE_URL});document.body.appendChild(o);if(document.frames){document.frames[r].name=r}Ext.fly(q).set({target:r,method:"POST",enctype:n,encoding:n,action:s||p.action});if(m){Ext.iterate(Ext.Object.fromQueryString(m),function(b,a){t=document.createElement("input");Ext.fly(t).set({type:"hidden",value:a,name:b});q.appendChild(t);l.push(t)})}Ext.fly(o).on("load",Ext.Function.bind(this.onUploadComplete,this,[o,k]),null,{single:true});q.submit();Ext.fly(q).set(p);Ext.each(l,function(a){Ext.removeNode(a)})},onUploadComplete:function(j,e){var n=this,i={responseText:"",responseXML:null},k,l;try{k=j.contentWindow.document||j.contentDocument||window.frames[j.id].document;if(k){if(k.body){if(/textarea/i.test((l=k.body.firstChild||{}).tagName)){i.responseText=l.value}else{i.responseText=k.body.innerHTML}}i.responseXML=k.XMLDocument||k}}catch(m){}n.fireEvent("requestcomplete",n,i,e);Ext.callback(e.success,e.scope,[i,e]);Ext.callback(e.callback,e.scope,[e,true,i]);setTimeout(function(){Ext.removeNode(j)},100)},isFormUpload:function(d){var c=this.getForm(d);if(c){return(d.isUpload||(/multipart\/form-data/i).test(c.getAttribute("enctype")))}return false},getForm:function(b){return Ext.getDom(b.form)||null},setOptions:function(l,m){var o=this,r=l.params||{},p=o.extraParams,s=l.urlParams,t=l.url||o.url,n=l.jsonData,u,v,q;if(Ext.isFunction(r)){r=r.call(m,l)}if(Ext.isFunction(t)){t=t.call(m,l)}t=this.setupUrl(l,t);if(!t){Ext.Error.raise({options:l,msg:"No URL specified"})}q=l.rawData||l.xmlData||n||null;if(n&&!Ext.isPrimitive(n)){q=Ext.encode(q)}if(Ext.isObject(r)){r=Ext.Object.toQueryString(r)}if(Ext.isObject(p)){p=Ext.Object.toQueryString(p)}r=r+((p)?((r)?"&":"")+p:"");s=Ext.isObject(s)?Ext.Object.toQueryString(s):s;r=this.setupParams(l,r);u=(l.method||o.method||((r||q)?"POST":"GET")).toUpperCase();this.setupMethod(l,u);v=l.disableCaching!==false?(l.disableCaching||o.disableCaching):false;if(u==="GET"&&v){t=Ext.urlAppend(t,(l.disableCachingParam||o.disableCachingParam)+"="+(new Date().getTime()))}if((u=="GET"||q)&&r){t=Ext.urlAppend(t,r);r=null}if(s){t=Ext.urlAppend(t,s)}return{url:t,method:u,data:q||r||null}},setupUrl:function(d,e){var f=this.getForm(d);if(f){e=e||f.action}return e},setupParams:function(f,g){var h=this.getForm(f),e;if(h&&!this.isFormUpload(f)){e=Ext.Element.serializeForm(h);g=g?(g+"&"+e):e}return g},setupMethod:function(d,c){if(this.isFormUpload(d)){return"POST"}return c},setupHeaders:function(n,e,u,v){var r=this,w=Ext.apply({},e.headers||{},r.defaultHeaders||{}),o=r.defaultPostHeader,q=e.jsonData,x=e.xmlData,p,t;if(!w["Content-Type"]&&(u||v)){if(u){if(e.rawData){o="text/plain"}else{if(x&&Ext.isDefined(x)){o="text/xml"}else{if(q&&Ext.isDefined(q)){o="application/json"}}}}w["Content-Type"]=o}if(r.useDefaultXhrHeader&&!w["X-Requested-With"]){w["X-Requested-With"]=r.defaultXhrHeader}try{for(p in w){if(w.hasOwnProperty(p)){t=w[p];n.setRequestHeader(p,t)}}}catch(s){r.fireEvent("exception",p,t)}return w},getXhrInstance:(function(){var e=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],j=0,g=e.length,h;for(;j<g;++j){try{h=e[j];h();break}catch(i){}}return h})(),isLoading:function(d){if(!d){d=this.getLatest()}if(!(d&&d.xhr)){return false}var c=d.xhr.readyState;return !(c===0||c==4)},abort:function(c){var d=this;if(!c){c=d.getLatest()}if(c&&d.isLoading(c)){c.xhr.onreadystatechange=null;c.xhr.abort();d.clearTimeout(c);if(!c.timedout){c.aborted=true}d.onComplete(c);d.cleanup(c)}},abortAll:function(){var c=this.requests,d;for(d in c){if(c.hasOwnProperty(d)){this.abort(c[d])}}},getLatest:function(){var c=this.latestId,d;if(c){d=this.requests[c]}return d||null},onStateChange:function(b){if(b.xhr.readyState==4){this.clearTimeout(b);this.onComplete(b);this.cleanup(b)}},clearTimeout:function(b){clearTimeout(b.timeout);delete b.timeout},cleanup:function(b){b.xhr=null;delete b.xhr},onComplete:function(l){var m=this,n=l.options,i,j,e;try{i=m.parseStatus(l.xhr.status)}catch(k){i={success:false,isException:false}}j=i.success;if(j){e=m.createResponse(l);m.fireEvent("requestcomplete",m,e,n);Ext.callback(n.success,n.scope,[e,n])}else{if(i.isException||l.aborted||l.timedout){e=m.createException(l)}else{e=m.createResponse(l)}m.fireEvent("requestexception",m,e,n);Ext.callback(n.failure,n.scope,[e,n])}Ext.callback(n.callback,n.scope,[n,j,e]);delete m.requests[l.id];return e},parseStatus:function(e){e=e==1223?204:e;var f=(e>=200&&e<300)||e==304,d=false;if(!f){switch(e){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:d=true;break}}return{success:f,isException:d}},createResponse:function(r){var m=r.xhr,t={},l=m.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),q=l.length,k,p,n,o,s;while(q--){k=l[q];p=k.indexOf(":");if(p>=0){n=k.substr(0,p).toLowerCase();if(k.charAt(p+1)==" "){++p}t[n]=k.substr(p+1)}}r.xhr=null;delete r.xhr;s={request:r,requestId:r.id,status:m.status,statusText:m.statusText,getResponseHeader:function(a){return t[a.toLowerCase()]},getAllResponseHeaders:function(){return t},responseText:m.responseText,responseXML:m.responseXML};m=null;return s},createException:function(b){return{request:b,requestId:b.id,status:b.aborted?-1:0,statusText:b.aborted?"transaction aborted":"communication failure",aborted:b.aborted,timedout:b.timedout}}});Ext.define("Ext.util.Offset",{statics:{fromObject:function(b){return new this(b.x,b.y)}},constructor:function(d,c){this.x=(d!=null&&!isNaN(d))?d:0;this.y=(c!=null&&!isNaN(c))?c:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(b){this.x=b.x;this.y=b.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(b){if(!(b instanceof this.statics())){Ext.Error.raise("Offset must be an instance of Ext.util.Offset")}return(this.x==b.x&&this.y==b.y)},round:function(c){if(!isNaN(c)){var d=Math.pow(10,c);this.x=Math.round(this.x*d)/d;this.y=Math.round(this.y*d)/d}else{this.x=Math.round(this.x);this.y=Math.round(this.y)}},isZero:function(){return this.x==0&&this.y==0}});Ext.define("Ext.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",constructor:function(b){Ext.apply(this,b)},write:function(j){var l=j.operation,g=l.records||[],h=g.length,k=0,i=[];for(;k<h;k++){i.push(this.getRecordData(g[k]))}return this.writeRecords(j,i)},getRecordData:function(p){var l=p.phantom===true,s=this.writeAllFields||l,r=this.nameProperty,o=p.fields,q={},m,t,n,k;if(s){o.each(function(a){if(a.persist){t=a[r]||a.name;q[t]=p.get(a.name)}})}else{m=p.getChanges();for(k in m){if(m.hasOwnProperty(k)){n=o.get(k);t=n[r]||n.name;q[t]=m[k]}}if(!l){q[p.idProperty]=p.getId()}}return q}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(b){Ext.apply(this,b);this.totalRecords=this.total;if(b.count===undefined){this.count=this.records.length}}});Ext.define("Ext.grid.plugin.DragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.gridviewdragdrop",uses:["Ext.view.DragZone","Ext.grid.ViewDropZone"],dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:true,enableDrag:true,init:function(b){b.on("render",this.onViewRender,this,{single:true})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},enable:function(){var b=this;if(b.dragZone){b.dragZone.unlock()}if(b.dropZone){b.dropZone.unlock()}b.callParent()},disable:function(){var b=this;if(b.dragZone){b.dragZone.lock()}if(b.dropZone){b.dropZone.lock()}b.callParent()},onViewRender:function(d){var c=this;if(c.enableDrag){c.dragZone=Ext.create("Ext.view.DragZone",{view:d,ddGroup:c.dragGroup||c.ddGroup,dragText:c.dragText})}if(c.enableDrop){c.dropZone=Ext.create("Ext.grid.ViewDropZone",{view:d,ddGroup:c.dropGroup||c.ddGroup})}}});Ext.define("Ext.util.ClickRepeater",{extend:"Ext.util.Observable",constructor:function(c,d){this.el=Ext.get(c);this.el.unselectable();Ext.apply(this,d);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}this.callParent()},interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE){this.el.on("dblclick",this.handleDblClick,this)}if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(b){if(b||!this.disabled){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(b){this[b?"disable":"enable"]()},eventOptions:function(b){if(this.preventDefault){b.preventDefault()}if(this.stopDefault){b.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.clearListeners()},handleDblClick:function(b){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b)},handleMouseDown:function(b){clearTimeout(this.timer);this.el.blur();if(this.pressedCls){this.el.addCls(this.pressedCls)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b);if(this.accelerate){this.delay=400}b=new Ext.EventObjectImpl(b);this.timer=Ext.defer(this.click,this.delay||this.interval,this,[b])},click:function(b){this.fireEvent("click",this,b);this.timer=Ext.defer(this.click,this.accelerate?this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime),400,-390,12000):this.interval,this,[b])},easeOutExpo:function(h,b,c,d){return(h==d)?b+c:c*(-Math.pow(2,-10*h/d)+1)+b},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressedCls){this.el.addCls(this.pressedCls)}this.click()},handleMouseUp:function(b){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.fireEvent("mouseup",this,b)}});Ext.define("Ext.data.Tree",{alias:"data.tree",mixins:{observable:"Ext.util.Observable"},root:null,constructor:function(d){var c=this;c.mixins.observable.constructor.call(c);if(d){c.setRootNode(d)}},getRootNode:function(){return this.root},setRootNode:function(c){var d=this;d.root=c;Ext.data.NodeInterface.decorate(c);if(d.fireEvent("beforeappend",null,c)!==false){c.set("root",true);c.updateInfo();d.relayEvents(c,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);c.on({scope:d,insert:d.onNodeInsert,append:d.onNodeAppend,remove:d.onNodeRemove});d.nodeHash={};d.registerNode(c);d.fireEvent("append",null,c);d.fireEvent("rootchange",c)}return c},flatten:function(){var e=[],f=this.nodeHash,d;for(d in f){if(f.hasOwnProperty(d)){e.push(f[d])}}return e},onNodeInsert:function(d,c){this.registerNode(c,true)},onNodeAppend:function(d,c){this.registerNode(c,true)},onNodeRemove:function(d,c){this.unregisterNode(c,true)},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(c,d){this.nodeHash[c.getId()||c.internalId]=c;if(d===true){c.eachChild(function(a){this.registerNode(a,true)},this)}},unregisterNode:function(c,d){delete this.nodeHash[c.getId()||c.internalId];if(d===true){c.eachChild(function(a){this.unregisterNode(a,true)},this)}},sort:function(c,d){this.getRootNode().sort(c,d)},filter:function(c,d){this.getRootNode().filter(c,d)}});Ext.define("Ext.XTemplate",{extend:"Ext.Template",argsRe:/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,nameRe:/^<tpl\b[^>]*?for="(.*?)"/,ifRe:/^<tpl\b[^>]*?if="(.*?)"/,execRe:/^<tpl\b[^>]*?exec="(.*?)"/,constructor:function(){this.callParent(arguments);var m=this,M=m.html,B=m.argsRe,R=m.nameRe,D=m.ifRe,z=m.execRe,H=0,L=[],I="values",A="parent",K="xindex",J="xcount",Q="return ",S="with(values){ ",G,O,C,T,P,N,F,i,E;M=["<tpl>",M,"</tpl>"].join("");while((G=M.match(B))){P=null;N=null;F=null;O=G[0].match(R);C=G[0].match(D);T=G[0].match(z);P=C?C[1]:null;if(P){N=Ext.functionFactory(I,A,K,J,S+"try{"+Q+Ext.String.htmlDecode(P)+";}catch(e){return;}}")}P=T?T[1]:null;if(P){F=Ext.functionFactory(I,A,K,J,S+Ext.String.htmlDecode(P)+";}")}i=O?O[1]:null;if(i){if(i==="."){i=I}else{if(i===".."){i=A}}i=Ext.functionFactory(I,A,"try{"+S+Q+i+";}}catch(e){return;}")}L.push({id:H,target:i,exec:F,test:N,body:G[1]||""});M=M.replace(G[0],"{xtpl"+H+"}");H=H+1}for(E=L.length-1;E>=0;--E){m.compileTpl(L[E])}m.master=L[L.length-1];m.tpls=L},applySubTemplate:function(j,i,n,l,k){var m=this,h=m.tpls[j];return h.compiled.call(m,i,n,l,k)},codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?\}/g,compileTpl:function(tpl){var fm=Ext.util.Format,me=this,useFormat=me.disableFormats!==true,body,bodyReturn,evaluatedFn;function fn(m,name,format,args,math){var v;if(name.substr(0,4)=="xtpl"){return"',this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount),'"}if(name=="."){v='Ext.Array.indexOf(["string", "number", "boolean"], typeof values) > -1 || Ext.isDate(values) ? values : ""'}else{if(name=="#"){v="xindex"}else{if(name.substr(0,7)=="parent."){v=name}else{if(name.indexOf(".")!=-1){v="values."+name}else{v="values['"+name+"']"}}}}if(math){v="("+v+math+")"}if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="("+v+" === undefined ? '' : "}return"',"+format+v+args+"),'"}function codeFn(m,code){return"',("+code.replace(me.compileARe,"'")+"),'"}bodyReturn=tpl.body.replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn).replace(me.codeRe,codeFn);body="evaluatedFn = function(values, parent, xindex, xcount){return ['"+bodyReturn+"'].join('');};";eval(body);tpl.compiled=function(values,parent,xindex,xcount){var vs,length,buffer,i;if(tpl.test&&!tpl.test.call(me,values,parent,xindex,xcount)){return""}vs=tpl.target?tpl.target.call(me,values,parent):values;if(!vs){return""}parent=tpl.target?values:parent;if(tpl.target&&Ext.isArray(vs)){buffer=[];length=vs.length;if(tpl.exec){for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length);tpl.exec.call(me,vs[i],parent,i+1,length)}}else{for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length)}}return buffer.join("")}if(tpl.exec){tpl.exec.call(me,vs,parent,xindex,xcount)}return evaluatedFn.call(me,vs,parent,xindex,xcount)};return this},applyTemplate:function(b){return this.master.compiled.call(this,b,{},1,1)},compile:function(){return this}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.layout.container.AbstractContainer",{extend:"Ext.layout.Layout",type:"container",bindToOwnerCtComponent:false,bindToOwnerCtContainer:false,setItemSize:function(f,d,e){if(Ext.isObject(d)){e=d.height;d=d.width}f.setCalculatedSize(d,e,this.owner)},getLayoutItems:function(){return this.owner&&this.owner.items&&this.owner.items.items||[]},beforeLayout:function(){return !this.owner.collapsed&&this.callParent(arguments)},afterLayout:function(){this.owner.afterLayout(this)},getTarget:function(){return this.owner.getTargetEl()},getRenderTarget:function(){return this.owner.getTargetEl()}});Ext.define("Ext.layout.container.Container",{extend:"Ext.layout.container.AbstractContainer",alternateClassName:"Ext.layout.ContainerLayout",layoutItem:function(c,d){if(d){c.doComponentLayout(d.width,d.height)}else{c.doComponentLayout()}},getLayoutTargetSize:function(){var c=this.getTarget(),d;if(c){d=c.getViewSize();if(Ext.isIE&&d.width==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},beforeLayout:function(){if(this.owner.beforeLayout(arguments)!==false){return this.callParent(arguments)}else{return false}},getRenderedItems:function(){var l=this,j=l.getTarget(),i=l.getLayoutItems(),m=i.length,k=[],h,n;for(h=0;h<m;h++){n=i[h];if(n.rendered&&l.isValidParent(n,j,h)){k.push(n)}}return k},getVisibleItems:function(){var i=this.getTarget(),g=this.getLayoutItems(),j=g.length,h=[],l,k;for(l=0;l<j;l++){k=g[l];if(k.rendered&&this.isValidParent(k,i,l)&&k.hidden!==true){h.push(k)}}return h}});Ext.ns("Ext.fx");Ext.require("Ext.fx.CubicBezier",function(){var l=Math,j=l.PI,m=l.pow,h=l.sin,k=l.sqrt,i=l.abs,n=1.70158;Ext.fx.Easing={};Ext.apply(Ext.fx.Easing,{linear:function(a){return a},ease:function(f){var s=0.07813-f/2,e=-0.25,d=k(0.0066+s*s),b=d-s,g=m(i(b),1/3)*(b<0?-1:1),c=-d-s,q=m(i(c),1/3)*(c<0?-1:1),a=g+q+0.25;return m(1-a,2)*3*a*0.1+(1-a)*3*a*a+a*a*a},easeIn:function(a){return m(a,1.7)},easeOut:function(a){return m(a,0.48)},easeInOut:function(g){var c=0.48-g/1.04,d=k(0.1734+c*c),f=d-c,q=m(i(f),1/3)*(f<0?-1:1),a=-d-c,b=m(i(a),1/3)*(a<0?-1:1),e=q+b+0.5;return(1-e)*3*e*e+e*e*e},backIn:function(a){return a*a*((n+1)*a-n)},backOut:function(a){a=a-1;return a*a*((n+1)*a+n)+1},elasticIn:function(a){if(a===0||a===1){return a}var b=0.3,c=b/4;return m(2,-10*a)*h((a-c)*(2*j)/b)+1},elasticOut:function(a){return 1-Ext.fx.Easing.elasticIn(1-a)},bounceIn:function(a){return 1-Ext.fx.Easing.bounceOut(1-a)},bounceOut:function(a){var c=7.5625,b=2.75,d;if(a<(1/b)){d=c*a*a}else{if(a<(2/b)){a-=(1.5/b);d=c*a*a+0.75}else{if(a<(2.5/b)){a-=(2.25/b);d=c*a*a+0.9375}else{a-=(2.625/b);d=c*a*a+0.984375}}}return d}});Ext.apply(Ext.fx.Easing,{"back-in":Ext.fx.Easing.backIn,"back-out":Ext.fx.Easing.backOut,"ease-in":Ext.fx.Easing.easeIn,"ease-out":Ext.fx.Easing.easeOut,"elastic-in":Ext.fx.Easing.elasticIn,"elastic-out":Ext.fx.Easing.elasticIn,"bounce-in":Ext.fx.Easing.bounceIn,"bounce-out":Ext.fx.Easing.bounceOut,"ease-in-out":Ext.fx.Easing.easeInOut})});Ext.define("Ext.util.Sortable",{isSortable:true,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var d=this,c=d.sorters;d.sorters=Ext.create("Ext.util.AbstractMixedCollection",false,function(a){return a.id||a.property});if(c){d.sorters.addAll(d.decodeSorters(c))}},sort:function(l,m,p,n){var o=this,k,i,j;if(Ext.isArray(l)){n=p;p=m;j=l}else{if(Ext.isObject(l)){n=p;p=m;j=[l]}else{if(Ext.isString(l)){k=o.sorters.get(l);if(!k){k={property:l,direction:m};j=[k]}else{if(m===undefined){k.toggle()}else{k.setDirection(m)}}}}}if(j&&j.length){j=o.decodeSorters(j);if(Ext.isString(p)){if(p==="prepend"){l=o.sorters.clone().items;o.sorters.clear();o.sorters.addAll(j);o.sorters.addAll(l)}else{o.sorters.addAll(j)}}else{o.sorters.clear();o.sorters.addAll(j)}}if(n!==false){o.onBeforeSort(j);l=o.sorters.items;if(l.length){i=function(b,c){var d=l[0].sort(b,c),e=l.length,a;for(a=1;a<e;a++){d=d||l[a].sort.call(this,b,c)}return d};o.doSort(i)}}return l},onBeforeSort:Ext.emptyFn,decodeSorters:function(k){if(!Ext.isArray(k)){if(k===undefined){k=[]}else{k=[k]}}var m=k.length,j=Ext.util.Sorter,i=this.model?this.model.prototype.fields:null,l,h,n;for(n=0;n<m;n++){h=k[n];if(!(h instanceof j)){if(Ext.isString(h)){h={property:h}}Ext.applyIf(h,{root:this.sortRoot,direction:"ASC"});if(h.fn){h.sorterFn=h.fn}if(typeof h=="function"){h={sorterFn:h}}if(i&&!h.transform){l=i.get(h.property);h.transform=l?l.sortType:undefined}k[n]=Ext.create("Ext.util.Sorter",h)}}return k},getSorters:function(){return this.sorters.items}});Ext.define("Ext.util.MixedCollection",{extend:"Ext.util.AbstractMixedCollection",mixins:{sortable:"Ext.util.Sortable"},constructor:function(){var b=this;b.callParent(arguments);b.addEvents("sort");b.mixins.sortable.initSortable.call(b)},doSort:function(b){this.sortBy(b)},_sort:function(i,t,m){var n=this,r,q,s=String(t).toUpperCase()=="DESC"?-1:1,o=[],c=n.keys,p=n.items;m=m||function(a,b){return a-b};for(r=0,q=p.length;r<q;r++){o[o.length]={key:c[r],value:p[r],index:r}}Ext.Array.sort(o,function(b,d){var a=m(b[i],d[i])*s;if(a===0){a=(b.index<d.index?-1:1)}return a});for(r=0,q=o.length;r<q;r++){p[r]=o[r].value;c[r]=o[r].key}n.fireEvent("sort",n)},sortBy:function(n){var j=this,h=j.items,k=j.keys,l=h.length,i=[],m;for(m=0;m<l;m++){i[m]={key:k[m],value:h[m],index:m}}Ext.Array.sort(i,function(b,c){var a=n(b.value,c.value);if(a===0){a=(b.index<c.index?-1:1)}return a});for(m=0;m<l;m++){h[m]=i[m].value;k[m]=i[m].key}j.fireEvent("sort",j,h,k)},reorder:function(o){var l=this,i=l.items,p=0,m=i.length,j=[],n=[],k;l.suspendEvents();for(k in o){j[o[k]]=i[k]}for(p=0;p<m;p++){if(o[p]==undefined){n.push(i[p])}}for(p=0;p<m;p++){if(j[p]==undefined){j[p]=n.shift()}}l.clear();l.addAll(j);l.resumeEvents();l.fireEvent("sort",l)},sortByKey:function(d,c){this._sort("key",d,c||function(g,h){var a=String(g).toUpperCase(),b=String(h).toUpperCase();return a>b?1:(a<b?-1:0)})}});Ext.define("Ext.data.AbstractStore",{requires:["Ext.util.MixedCollection","Ext.data.Operation","Ext.util.Filter"],mixins:{observable:"Ext.util.Observable",sortable:"Ext.util.Sortable"},statics:{create:function(b){if(!b.isStore){if(!b.type){b.type="store"}b=Ext.createByAlias("store."+b.type,b)}return b}},remoteSort:false,remoteFilter:false,autoLoad:false,autoSync:false,batchUpdateMode:"operation",filterOnLoad:true,sortOnLoad:true,implicitModel:false,defaultProxyType:"memory",isDestroyed:false,isStore:true,sortRoot:"data",constructor:function(e){var f=this,d;f.addEvents("add","remove","update","datachanged","beforeload","load","write","beforesync","clear");Ext.apply(f,e);f.removed=[];f.mixins.observable.constructor.apply(f,arguments);f.model=Ext.ModelManager.getModel(f.model);Ext.applyIf(f,{modelDefaults:{}});if(!f.model&&f.fields){f.model=Ext.define("Ext.data.Store.ImplicitModel-"+(f.storeId||Ext.id()),{extend:"Ext.data.Model",fields:f.fields,proxy:f.proxy||f.defaultProxyType});delete f.fields;f.implicitModel=true}if(!f.model){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Store defined with no model. You may have mistyped the model name.")}}f.setProxy(f.proxy||f.model.getProxy());if(f.id&&!f.storeId){f.storeId=f.id;delete f.id}if(f.storeId){Ext.data.StoreManager.register(f)}f.mixins.sortable.initSortable.call(f);d=f.decodeFilters(f.filters);f.filters=Ext.create("Ext.util.MixedCollection");f.filters.addAll(d)},setProxy:function(d){var c=this;if(d instanceof Ext.data.proxy.Proxy){d.setModel(c.model)}else{if(Ext.isString(d)){d={type:d}}Ext.applyIf(d,{model:c.model});d=Ext.createByAlias("proxy."+d.type,d)}c.proxy=d;return c.proxy},getProxy:function(){return this.proxy},create:function(h,j){var i=this,g=Ext.ModelManager.create(Ext.applyIf(h,i.modelDefaults),i.model.modelName),f;j=j||{};Ext.applyIf(j,{action:"create",records:[g]});f=Ext.create("Ext.data.Operation",j);i.proxy.create(f,i.onProxyWrite,i);return g},read:function(){return this.load.apply(this,arguments)},onProxyRead:Ext.emptyFn,update:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"update",records:f.getUpdatedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.update(e,f.onProxyWrite,f)},onProxyWrite:function(e){var h=this,g=e.wasSuccessful(),f=e.getRecords();switch(e.action){case"create":h.onCreateRecords(f,e,g);break;case"update":h.onUpdateRecords(f,e,g);break;case"destroy":h.onDestroyRecords(f,e,g);break}if(g){h.fireEvent("write",h,e);h.fireEvent("datachanged",h)}Ext.callback(e.callback,e.scope||h,[f,e,g])},destroy:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"destroy",records:f.getRemovedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.destroy(e,f.onProxyWrite,f)},onBatchOperationComplete:function(c,d){return this.onProxyWrite(d)},onBatchComplete:function(l,h){var i=this,g=l.operations,j=g.length,k;i.suspendEvents();for(k=0;k<j;k++){i.onProxyWrite(g[k])}i.resumeEvents();i.fireEvent("datachanged",i)},onBatchException:function(c,d){},filterNew:function(b){return b.phantom===true&&b.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},filterUpdated:function(b){return b.dirty===true&&b.phantom!==true&&b.isValid()},getRemovedRecords:function(){return this.removed},filter:function(d,c){},decodeFilters:function(h){if(!Ext.isArray(h)){if(h===undefined){h=[]}else{h=[h]}}var i=h.length,g=Ext.util.Filter,f,j;for(j=0;j<i;j++){f=h[j];if(!(f instanceof g)){Ext.apply(f,{root:"data"});if(f.fn){f.filterFn=f.fn}if(typeof f=="function"){f={filterFn:f}}h[j]=new g(f)}}return h},clearFilter:function(b){},isFiltered:function(){},filterBy:function(c,d){},sync:function(){var k=this,g={},j=k.getNewRecords(),l=k.getUpdatedRecords(),h=k.getRemovedRecords(),i=false;if(j.length>0){g.create=j;i=true}if(l.length>0){g.update=l;i=true}if(h.length>0){g.destroy=h;i=true}if(i&&k.fireEvent("beforesync",g)!==false){k.proxy.batch(g,k.getBatchListeners())}},getBatchListeners:function(){var c=this,d={scope:c,exception:c.onBatchException};if(c.batchUpdateMode=="operation"){d.operationcomplete=c.onBatchOperationComplete}else{d.complete=c.onBatchComplete}return d},save:function(){return this.sync.apply(this,arguments)},load:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"read",filters:f.filters.items,sorters:f.getSorters()});e=Ext.create("Ext.data.Operation",d);if(f.fireEvent("beforeload",f,e)!==false){f.loading=true;f.proxy.read(e,f.onProxyLoad,f)}return f},afterEdit:function(d){var c=this;if(c.autoSync){c.sync()}c.fireEvent("update",c,d,Ext.data.Model.EDIT)},afterReject:function(b){this.fireEvent("update",this,b,Ext.data.Model.REJECT)},afterCommit:function(b){this.fireEvent("update",this,b,Ext.data.Model.COMMIT)},clearData:Ext.emptyFn,destroyStore:function(){var b=this;if(!b.isDestroyed){if(b.storeId){Ext.data.StoreManager.unregister(b)}b.clearData();b.data=null;b.tree=null;b.reader=b.writer=null;b.clearListeners();b.isDestroyed=true;if(b.implicitModel){Ext.destroy(b.model)}}},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.data.sortBy(d);c.fireEvent("datachanged",c)}},getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return !!this.loading}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(h,e){var g=e.prototype,f;if(g&&g.isModel){f=e}else{if(!e.extend){e.extend="Ext.data.Model"}f=Ext.define(h,e)}this.types[h]=f;return f},onModelDefined:function(n){var i=this.associationStack,k=i.length,l=[],h,m,j;for(m=0;m<k;m++){h=i[m];if(h.associatedModel==n.modelName){l.push(h)}}for(m=0,k=l.length;m<k;m++){j=l[m];this.types[j.ownerModel].prototype.associations.add(Ext.data.Association.create(j));Ext.Array.remove(i,j)}},registerDeferredAssociation:function(b){this.associationStack.push(b)},getModel:function(c){var d=c;if(typeof d=="string"){d=this.types[d]}return d},create:function(h,e,g){var f=typeof e=="function"?e:this.types[e||h.name];return new f(h,g)}},function(){Ext.regModel=function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn('Ext.regModel has been deprecated. Models can now be created by extending Ext.data.Model: Ext.define("MyModel", {extend: "Ext.data.Model", fields: []});.')}return this.ModelManager.registerType.apply(this.ModelManager,arguments)}});Ext.define("Ext.data.StoreManager",{extend:"Ext.util.MixedCollection",alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:true,uses:["Ext.data.ArrayStore"],register:function(){for(var d=0,c;(c=arguments[d]);d++){this.add(c)}},unregister:function(){for(var d=0,c;(c=arguments[d]);d++){this.remove(this.lookup(c))}},lookup:function(l){if(Ext.isArray(l)){var g=["field1"],j=!Ext.isArray(l[0]),i=l,k,h;if(j){i=[];for(k=0,h=l.length;k<h;++k){i.push([l[k]])}}else{for(k=2,h=l[0].length;k<=h;++k){g.push("field"+k)}}return Ext.create("Ext.data.ArrayStore",{data:i,fields:g,autoDestroy:true,autoCreated:true,expanded:j})}if(Ext.isString(l)){return this.get(l)}else{return Ext.data.AbstractStore.create(l)}},getKey:function(b){return b.storeId}},function(){Ext.regStore=function(f,d){var e;if(Ext.isObject(f)){d=f}else{d.storeId=f}if(d instanceof Ext.data.Store){e=d}else{e=Ext.create("Ext.data.Store",d)}return Ext.data.StoreManager.register(e)};Ext.getStore=function(b){return Ext.data.StoreManager.lookup(b)}});Ext.define("Ext.ComponentManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ComponentMgr",singleton:true,typeName:"xtype",create:function(e,g){if(e instanceof Ext.AbstractComponent){return e}else{if(Ext.isString(e)){return Ext.createByAlias("widget."+e)}else{var h=e.xtype||g,f=e;return Ext.createByAlias("widget."+h,f)}}},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c;d.prototype[this.typeName]=c}});Ext.define("Ext.FocusManager",{singleton:true,alternateClassName:"Ext.FocusMgr",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ComponentManager","Ext.ComponentQuery","Ext.util.HashMap","Ext.util.KeyNav"],enabled:false,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],tabIndexWhitelist:["a","button","embed","frame","iframe","img","input","object","select","textarea"],constructor:function(){var d=this,c=Ext.ComponentQuery;d.addEvents("beforecomponentfocus","componentfocus","disable","enable");d.keyNav=Ext.create("Ext.util.KeyNav",Ext.getDoc(),{disabled:true,scope:d,backspace:d.focusLast,enter:d.navigateIn,esc:d.navigateOut,tab:d.navigateSiblings});d.focusData={};d.subscribers=Ext.create("Ext.util.HashMap");d.focusChain={};Ext.apply(c.pseudos,{focusable:function(k){var m=k.length,b=[],i=0,a,l=function(e){return e&&e.focusable!==false&&c.is(e,"[rendered]:not([destroying]):not([isDestroyed]):not([disabled]){isVisible(true)}{el && c.el.dom && c.el.isVisible()}")};for(;i<m;i++){a=k[i];if(l(a)){b.push(a)}}return b},nextFocus:function(k,l,b){b=b||1;l=parseInt(l,10);var m=k.length,i=l+b,a;for(;i!=l;i+=b){if(i>=m){i=0}else{if(i<0){i=m-1}}a=k[i];if(c.is(a,":focusable")){return[a]}else{if(a.placeholder&&c.is(a.placeholder,":focusable")){return[a.placeholder]}}}return[]},prevFocus:function(a,b){return this.nextFocus(a,b,-1)},root:function(j){var k=j.length,b=[],i=0,a;for(;i<k;i++){a=j[i];if(!a.ownerCt){b.push(a)}}return b}})},addXTypeToWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.addXTypeToWhitelist,d);return}if(!Ext.Array.contains(d.whitelist,c)){d.whitelist.push(c)}},clearComponent:function(b){clearTimeout(this.cmpFocusDelay);if(!b.isDestroyed){b.blur()}},disable:function(){var b=this;if(!b.enabled){return}delete b.options;b.enabled=false;Ext.ComponentManager.all.un("add",b.onComponentCreated,b);b.removeDOM();b.keyNav.disable();b.setFocusAll(false);b.fireEvent("disable",b)},enable:function(d){var c=this;if(d===true){d={focusFrame:true}}c.options=d=d||{};if(c.enabled){return}Ext.ComponentManager.all.on("add",c.onComponentCreated,c);c.initDOM(d);c.keyNav.enable();c.setFocusAll(true,d);c.focusEl.focus();delete c.focusedCmp;c.enabled=true;c.fireEvent("enable",c)},focusLast:function(c){var d=this;if(d.isWhitelisted(d.focusedCmp)){return true}if(d.previousFocusedCmp){d.previousFocusedCmp.focus()}},getRootComponents:function(){var f=this,h=Ext.ComponentQuery,e=h.query(":focusable:root:not([floating])"),g=h.query(":focusable:root[floating]");g.sort(function(a,b){return a.el.getZIndex()>b.el.getZIndex()});return g.concat(e)},initDOM:function(e){var h=this,g="&#160",f=h.focusFrameCls;if(!Ext.isReady){Ext.onReady(h.initDOM,h);return}if(!h.focusEl){h.focusEl=Ext.getBody().createChild({tabIndex:"-1",cls:h.focusElementCls,html:g})}if(!h.focusFrame&&e.focusFrame){h.focusFrame=Ext.getBody().createChild({cls:f,children:[{cls:f+"-top"},{cls:f+"-bottom"},{cls:f+"-left"},{cls:f+"-right"}],style:"top: -100px; left: -100px;"});h.focusFrame.setVisibilityMode(Ext.Element.DISPLAY);h.focusFrameWidth=2;h.focusFrame.hide().setLeftTop(0,0)}},isWhitelisted:function(b){return b&&Ext.Array.some(this.whitelist,function(a){return b.isXType(a)})},navigateIn:function(i){var e=this,g=e.focusedCmp,h,j;if(!g){h=e.getRootComponents();if(h.length){h[0].focus()}}else{j=Ext.ComponentQuery.query(">:focusable",g)[0];if(j){j.focus()}else{if(Ext.isFunction(g.onClick)){i.button=0;g.onClick(i);g.focus()}}}},navigateOut:function(f){var d=this,e;if(!d.focusedCmp||!(e=d.focusedCmp.up(":focusable"))){d.focusEl.focus()}else{e.focus()}return true},navigateSiblings:function(t,y,o){var s=this,z=y||s,e=t.getKey(),v=Ext.EventObject,r=t.shiftKey||e==v.LEFT||e==v.UP,x=e==v.LEFT||e==v.RIGHT||e==v.UP||e==v.DOWN,u=r?"prev":"next",p,w,q;q=(z.focusedCmp&&z.focusedCmp.comp)||z.focusedCmp;if(!q&&!o){return}if(x&&s.isWhitelisted(q)){return true}o=o||q.up();if(o){p=q?Ext.Array.indexOf(o.getRefItems(),q):-1;w=Ext.ComponentQuery.query(">:"+u+"Focus("+p+")",o)[0];if(w&&q!==w){w.focus();return w}}},onComponentBlur:function(d,f){var e=this;if(e.focusedCmp===d){e.previousFocusedCmp=d;delete e.focusedCmp}if(e.focusFrame){e.focusFrame.hide()}},onComponentCreated:function(d,f,e){this.setFocus(e,true,this.options)},onComponentDestroy:function(b){this.setFocus(b,false)},onComponentFocus:function(v,y){var x=this,H=x.focusChain;if(!Ext.ComponentQuery.is(v,":focusable")){x.clearComponent(v);if(H[v.id]){return}var t=v.up();if(t){H[v.id]=true;t.focus()}return}x.focusChain={};clearTimeout(x.cmpFocusDelay);if(arguments.length!==2){x.cmpFocusDelay=Ext.defer(x.onComponentFocus,90,x,[v,y]);return}if(x.fireEvent("beforecomponentfocus",x,v,x.previousFocusedCmp)===false){x.clearComponent(v);return}x.focusedCmp=v;if(x.shouldShowFocusFrame(v)){var e="."+x.focusFrameCls+"-",G=x.focusFrame,D=x.focusFrameWidth,A=v.el.getPageBox(),s=A.top,F=A.left,w=A.width,C=A.height,B=G.child(e+"top"),E=G.child(e+"bottom"),u=G.child(e+"left"),z=G.child(e+"right");B.setWidth(w).setLeftTop(F,s);E.setWidth(w).setLeftTop(F,s+C-D);u.setHeight(C-D-D).setLeftTop(F,s+D);z.setHeight(C-D-D).setLeftTop(F+w-D,s+D);G.show()}x.fireEvent("componentfocus",x,v,x.previousFocusedCmp)},onComponentHide:function(j){var k=this,i=Ext.ComponentQuery,g=false,h,l;if(k.focusedCmp){h=i.query("[id="+k.focusedCmp.id+"]",j)[0];g=k.focusedCmp.id===j.id||h;if(h){k.clearComponent(h)}}k.clearComponent(j);if(g){l=i.query("^:focusable",j)[0];if(l){l.focus()}}},removeDOM:function(){var b=this;if(b.enabled||b.subscribers.length){return}Ext.destroy(b.focusEl,b.focusFrame);delete b.focusEl;delete b.focusFrame;delete b.focusFrameWidth},removeXTypeFromWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.removeXTypeFromWhitelist,d);return}Ext.Array.remove(d.whitelist,c)},setFocus:function(n,k,i){var o=this,p,l,m,j=function(a){return !Ext.Array.contains(o.tabIndexWhitelist,a.tagName.toLowerCase())&&a.tabIndex<=0};i=i||{};if(!n.rendered){n.on("afterrender",Ext.pass(o.setFocus,arguments,o),o,{single:true});return}p=n.getFocusEl();l=p.dom;if((k&&!o.focusData[n.id])||(!k&&o.focusData[n.id])){if(k){m={focusFrame:i.focusFrame};if(j(l)){m.tabIndex=l.tabIndex;l.tabIndex=-1}p.on({focus:m.focusFn=Ext.bind(o.onComponentFocus,o,[n],0),blur:m.blurFn=Ext.bind(o.onComponentBlur,o,[n],0),scope:o});n.on({hide:o.onComponentHide,close:o.onComponentHide,beforedestroy:o.onComponentDestroy,scope:o});o.focusData[n.id]=m}else{m=o.focusData[n.id];if("tabIndex" in m){l.tabIndex=m.tabIndex}p.un("focus",m.focusFn,o);p.un("blur",m.blurFn,o);n.un("hide",o.onComponentHide,o);n.un("close",o.onComponentHide,o);n.un("beforedestroy",o.onComponentDestroy,o);delete o.focusData[n.id]}}},setFocusAll:function(j,n){var k=this,h=Ext.ComponentManager.all.getArray(),i=h.length,l,m=0;for(;m<i;m++){k.setFocus(h[m],j,n)}},setupSubscriberKeys:function(i,k){var l=this,m=i.getFocusEl(),n=k.scope,h={backspace:l.focusLast,enter:l.navigateIn,esc:l.navigateOut,scope:l},j=function(a){if(l.focusedCmp===i){return l.navigateSiblings(a,l,i)}else{return l.navigateSiblings(a)}};Ext.iterate(k,function(a,b){h[a]=function(c){var d=j(c);if(Ext.isFunction(b)&&b.call(n||i,c,d)===true){return true}return d}},l);return Ext.create("Ext.util.KeyNav",m,h)},shouldShowFocusFrame:function(f){var d=this,e=d.options||{};if(!d.focusFrame||!f){return false}if(e.focusFrame){return true}if(d.focusData[f.id].focusFrame){return true}return false},subscribe:function(i,n){var k=this,l=Ext.Array,j={},m=k.subscribers,h=function(a){if(a.isContainer&&!m.containsKey(a.id)){l.forEach(a.query(">"),h);k.setFocus(a,true,n);a.on("add",j.onAdd,k)}else{if(!a.isContainer){k.setFocus(a,true,n)}}};if(!i||!i.isContainer){return}if(!i.rendered){i.on("afterrender",Ext.pass(k.subscribe,arguments,k),k,{single:true});return}k.initDOM(n);j.keyNav=k.setupSubscriberKeys(i,n.keys);j.onAdd=function(b,a,c){h(a)};i.on("beforedestroy",k.unsubscribe,k);h(i);m.add(i.id,j)},unsubscribe:function(h){var j=this,k=Ext.Array,l=j.subscribers,i,g=function(a){if(a.isContainer&&!l.containsKey(a.id)){k.forEach(a.query(">"),g);j.setFocus(a,false);a.un("add",i.onAdd,j)}else{if(!a.isContainer){j.setFocus(a,false)}}};if(!h||!l.containsKey(h.id)){return}i=l.get(h.id);i.keyNav.destroy();h.un("beforedestroy",j.unsubscribe,j);l.removeAtKey(h.id);g(h);j.removeDOM()}});Ext.define("Docs.view.cls.PackageLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.packages={"":this.root};this.privates=[];Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return{root:this.root,privates:this.privates}},sortTree:function(b){b.children.sort(this.compare);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){if(g.leaf===h.leaf){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)}else{return g.leaf?1:-1}},addClass:function(g){if(g["private"]&&!this.showPrivateClasses){this.privates.push(this.classNode(g));return}if(this.packages[g.name]){var f=this.packages[g.name];var i=this.classNode(g);f.iconCls=i.iconCls;f.url=i.url}else{var h=this.packageName(g.name);var j=this.packages[h]||this.addPackage(h);var i=this.classNode(g);this.addChild(j,i);this.packages[g.name]=i}},addPackage:function(e){var g=this.packageName(e);var h=this.packages[g]||this.addPackage(g);var f=this.packageNode(e);this.addChild(h,f);this.packages[e]=f;return f},addChild:function(d,c){d.children.push(c);if(d.leaf){d.leaf=false}},classNode:function(b){return{text:this.shortName(b.name),url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":"",leaf:true,children:[]}},packageNode:function(b){return{text:this.shortName(b),iconCls:"icon-pkg",leaf:false,children:[]}},packageName:function(b){return b.slice(0,-this.shortName(b).length-1)||""},shortName:function(d){var c=d.split(/\./);return c.pop()}});Ext.define("Docs.view.cls.InheritanceLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.privates=[];this.subclasses=this.buildLookupTable(this.classes);Ext.Array.forEach(this.classes,this.addClass,this);if(!this.showPrivateClasses){this.stripPrivateClasses(this.root)}this.sortTree(this.root);return{root:this.root,privates:this.privates}},sortTree:function(b){b.children.sort(this.compare,this);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)},buildLookupTable:function(d){var c={};Ext.Array.forEach(d,function(b){var a=b["extends"];if(a&&a!=="Object"){if(!c[a]){c[a]=[]}c[a].push(b)}},this);return c},classNode:function(b){return{text:b.name,url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":""}},addClass:function(e){var d=e["extends"];if(!d||d==="Object"){var f=this.classNode(e);this.root.children.push(f);f.children=this.getSubclasses(e.name);f.leaf=f.children.length===0}},getSubclasses:function(b){if(!this.subclasses[b]){return[]}return Ext.Array.map(this.subclasses[b],function(a){var d=this.classNode(a);d.children=this.getSubclasses(a.name);d.leaf=d.children.length===0;return d},this)},stripPrivateClasses:function(b){b.children=Ext.Array.filter(b.children,function(a){this.stripPrivateClasses(a);if(a.cls==="private"&&a.children.length===0){this.privates.push(a);return false}else{return true}},this)}});Ext.define("Ext.form.Labelable",{requires:["Ext.XTemplate"],labelableRenderTpl:['<tpl if="!hideLabel && !(!fieldLabel && hideEmptyLabel)">','<label id="{id}-labelEl"<tpl if="inputId"> for="{inputId}"</tpl> class="{labelCls}"','<tpl if="labelStyle"> style="{labelStyle}"</tpl>>','<tpl if="fieldLabel">{fieldLabel}{labelSeparator}</tpl>',"</label>","</tpl>",'<div class="{baseBodyCls} {fieldBodyCls}" id="{id}-bodyEl" role="presentation">{subTplMarkup}</div>','<div id="{id}-errorEl" class="{errorMsgCls}" style="display:none"></div>','<div class="{clearCls}" role="presentation"><!-- --></div>',{compiled:true,disableFormats:true}],activeErrorsTpl:['<tpl if="errors && errors.length">','<ul><tpl for="errors"><li<tpl if="xindex == xcount"> class="last"</tpl>>{.}</li></tpl></ul>',"</tpl>"],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",initLabelable:function(){this.addCls(this.formItemCls);this.addEvents("errorchange")},getFieldLabel:function(){return this.fieldLabel||""},getLabelableRenderData:function(){var j=this,g=j.labelAlign,i=j.labelCls,k=j.labelClsExtra,l=j.labelPad,h;if(g==="top"){h="margin-bottom:"+l+"px;"}else{h="margin-right:"+l+"px;";if(Ext.isBorderBox){h+="width:"+j.labelWidth+"px;"}}return Ext.copyTo({inputId:j.getInputId(),fieldLabel:j.getFieldLabel(),labelCls:k?i+" "+k:i,labelStyle:h+(j.labelStyle||""),subTplMarkup:j.getSubTplMarkup()},j,"hideLabel,hideEmptyLabel,fieldBodyCls,baseBodyCls,errorMsgCls,clearCls,labelSeparator",true)},onLabelableRender:function(){this.addChildEls("labelEl","bodyEl","errorEl")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(b){this.activeError=b;this.activeErrors=[b];this.renderActiveError()},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(b){this.activeErrors=b;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:b});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var f=this,d=f.getActiveError(),e=!!d;if(d!==f.lastActiveError){f.fireEvent("errorchange",f,d);f.lastActiveError=d}if(f.rendered&&!f.isDestroyed&&!f.preventMark){f.el[e?"addCls":"removeCls"](f.invalidCls);f.getActionEl().dom.setAttribute("aria-invalid",e);f.errorEl.dom.innerHTML=d}},setFieldDefaults:function(c){var d=this;Ext.iterate(c,function(b,a){if(!d.hasOwnProperty(b)){d[b]=a}})},getBodyNaturalWidth:function(){return this.bodyEl.getWidth()}});Ext.define("Ext.layout.component.Component",{extend:"Ext.layout.Layout",type:"component",monitorChildren:true,initLayout:function(){var f=this,e=f.owner,d=e.el;if(!f.initialized){if(e.frameSize){f.frameSize=e.frameSize}else{e.frameSize=f.frameSize={top:0,left:0,bottom:0,right:0}}}f.callParent(arguments)},beforeLayout:function(u,m,l,o){this.callParent(arguments);var p=this,t=p.owner,s=t.ownerCt,q=t.layout,r=t.isVisible(true),v=t.el.child,n;p.previousComponentSize=p.lastComponentSize;if(!l&&((!Ext.isNumber(u)&&t.isFixedWidth())||(!Ext.isNumber(m)&&t.isFixedHeight()))&&o&&o!==s){p.doContainerLayout();return false}if(!r&&(t.hiddenAncestor||t.floating)){if(t.hiddenAncestor){n=t.hiddenAncestor.layoutOnShow;n.remove(t);n.add(t)}t.needsLayout={width:u,height:m,isSetSize:false}}if(r&&this.needsLayout(u,m)){return t.beforeComponentLayout(u,m,l,o)}else{return false}},needsLayout:function(i,g){var h=this,j,f;h.lastComponentSize=h.lastComponentSize||{width:-Infinity,height:-Infinity};j=!Ext.isDefined(i)||h.lastComponentSize.width!==i;f=!Ext.isDefined(g)||h.lastComponentSize.height!==g;return !h.isSizing&&(h.childrenChanged||j||f)},setElementSize:function(f,d,e){if(d!==undefined&&e!==undefined){f.setSize(d,e)}else{if(e!==undefined){f.setHeight(e)}else{if(d!==undefined){f.setWidth(d)}}}},getTarget:function(){return this.owner.el},getRenderTarget:function(){return this.owner.el},setTargetSize:function(m,i){var l=this;l.setElementSize(l.owner.el,m,i);if(l.owner.frameBody){var j=l.getTargetInfo(),k=j.padding,n=j.border,h=l.frameSize;l.setElementSize(l.owner.frameBody,Ext.isNumber(m)?(m-h.left-h.right-k.left-k.right-n.left-n.right):m,Ext.isNumber(i)?(i-h.top-h.bottom-k.top-k.bottom-n.top-n.bottom):i)}l.autoSized={width:!Ext.isNumber(m),height:!Ext.isNumber(i)};l.lastComponentSize={width:m,height:i}},getTargetInfo:function(){if(!this.targetInfo){var c=this.getTarget(),d=this.owner.getTargetEl();this.targetInfo={padding:{top:c.getPadding("t"),right:c.getPadding("r"),bottom:c.getPadding("b"),left:c.getPadding("l")},border:{top:c.getBorderWidth("t"),right:c.getBorderWidth("r"),bottom:c.getBorderWidth("b"),left:c.getBorderWidth("l")},bodyMargin:{top:d.getMargin("t"),right:d.getMargin("r"),bottom:d.getMargin("b"),left:d.getMargin("l")}}}return this.targetInfo},doOwnerCtLayouts:function(){var i=this.owner,n=i.ownerCt,p,k,o=this.lastComponentSize,l=this.previousComponentSize,j=(l&&o&&Ext.isNumber(o.width))?o.width!==l.width:true,m=(l&&o&&Ext.isNumber(o.height))?o.height!==l.height:true;if(!n||(!j&&!m)){return}p=n.componentLayout;k=n.layout;if(!i.floating&&p&&p.monitorChildren&&!p.layoutBusy){if(!n.suspendLayout&&k&&!k.layoutBusy){if(((j&&!n.isFixedWidth())||(m&&!n.isFixedHeight()))){this.isSizing=true;n.doComponentLayout();this.isSizing=false}else{if(k.bindToOwnerCtContainer===true){k.layout()}}}}},doContainerLayout:function(){var h=this,g=h.owner,j=g.ownerCt,i=g.layout,f;if(!g.suspendLayout&&i&&i.isLayout&&!i.layoutBusy&&!i.isAutoDock){i.layout()}if(j&&j.componentLayout){f=j.componentLayout;if(!g.floating&&f.monitorChildren&&!f.layoutBusy){f.childrenChanged=true}}},afterLayout:function(h,f,e,g){this.doContainerLayout();this.owner.afterComponentLayout(h,f,e,g)}});Ext.define("Ext.layout.component.field.Field",{alias:["layout.field"],extend:"Ext.layout.component.Component",uses:["Ext.tip.QuickTip","Ext.util.TextMetrics"],type:"field",beforeLayout:function(d,e){var f=this;return f.callParent(arguments)||(!f.owner.preventMark&&f.activeError!==f.owner.getActiveError())},onLayout:function(z,o){var u=this,y=u.owner,v=u.getLabelStrategy(),p=u.getErrorStrategy(),r=Ext.isDefined,n=Ext.isNumber,s,t,q,x,w;s=u.lastComponentSize||{};if(!r(z)){z=s.width;if(z<0){z=w}}if(!r(o)){o=s.height;if(o<0){o=w}}t=!n(z);q=!n(o);x={autoWidth:t,autoHeight:q,width:t?y.getBodyNaturalWidth():z,height:o,setOuterWidth:false,insets:{top:0,right:0,bottom:0,left:0}};v.prepare(y,x);p.prepare(y,x);v.adjustHorizInsets(y,x);p.adjustHorizInsets(y,x);v.layoutHoriz(y,x);p.layoutHoriz(y,x);v.adjustVertInsets(y,x);p.adjustVertInsets(y,x);v.layoutVert(y,x);p.layoutVert(y,x);if(t&&q){u.setElementSize(y.el,(x.setOuterWidth?x.width:w),x.height)}else{u.setTargetSize((!t||x.setOuterWidth?x.width:w),x.height)}u.sizeBody(x);u.activeError=y.getActiveError()},onFocus:function(){this.getErrorStrategy().onFocus(this.owner)},sizeBody:function(k){var l=this,p=l.owner,o=k.insets,i=k.width,n=k.height,m=Ext.isNumber(i)?i-o.left-o.right:i,j=Ext.isNumber(n)?n-o.top-o.bottom:n;l.setElementSize(p.bodyEl,m,j);l.sizeBodyContents(m,j)},sizeBodyContents:Ext.emptyFn,getLabelStrategy:function(){var d=this,f=d.labelStrategies,e=d.owner.labelAlign;return f[e]||f.base},getErrorStrategy:function(){var h=this,f=h.owner,g=h.errorStrategies,e=f.msgTarget;return !f.preventMark&&Ext.isString(e)?(g[e]||g.elementId):g.none},labelStrategies:(function(){var e=Ext.applyIf,f=Ext.emptyFn,h={prepare:function(d,a){var c=d.labelCls+"-"+d.labelAlign,b=d.labelEl;if(b&&!b.hasCls(c)){b.addCls(c)}},adjustHorizInsets:f,adjustVertInsets:f,layoutHoriz:f,layoutVert:f},g=e({prepare:function(b,a){h.prepare(b,a);if(a.autoWidth){a.width+=(!b.labelEl?0:b.labelWidth+b.labelPad)}a.setOuterWidth=true},adjustHorizInsets:function(b,a){if(b.labelEl){a.insets.left+=b.labelWidth+b.labelPad}},layoutHoriz:function(c,a){var b=c.labelEl;if(b&&!c.isLabelSized&&!Ext.isBorderBox){b.setWidth(c.labelWidth);c.isLabelSized=true}}},h);return{base:h,top:e({adjustVertInsets:function(c,a){var b=c.labelEl;if(b){a.insets.top+=Ext.util.TextMetrics.measure(b,c.fieldLabel,a.width).height+b.getFrameWidth("tb")+c.labelPad}}},h),left:g,right:g}})(),errorStrategies:(function(){function k(b,c){var a=b.getStyle("display")!=="none";if(c!==a){b.setDisplayed(c)}}function i(b,c,a){if(b.getStyle(c)!==a){b.setStyle(c,a)}}function l(c){var b=Ext.layout.component.field.Field.tip,a;if(b&&b.isVisible()){a=b.activeTarget;if(a&&a.el===c.getActionEl().dom){b.toFront(true)}}}var g=Ext.applyIf,h=Ext.emptyFn,j={prepare:function(a){k(a.errorEl,false)},adjustHorizInsets:h,adjustVertInsets:h,layoutHoriz:h,layoutVert:h,onFocus:h};return{none:j,side:g({prepare:function(b){var a=b.errorEl;a.addCls(Ext.baseCSSPrefix+"form-invalid-icon");Ext.layout.component.field.Field.initTip();a.dom.setAttribute("data-errorqtip",b.getActiveError()||"");k(a,b.hasActiveError())},adjustHorizInsets:function(b,a){if(b.autoFitErrors&&b.hasActiveError()){a.insets.right+=b.errorEl.getWidth()}},layoutHoriz:function(b,a){if(b.hasActiveError()){i(b.errorEl,"left",a.width-a.insets.right+"px")}},layoutVert:function(b,a){if(b.hasActiveError()){i(b.errorEl,"top",a.insets.top+"px")}},onFocus:l},j),under:g({prepare:function(c){var a=c.errorEl,b=Ext.baseCSSPrefix+"form-invalid-under";if(!a.hasCls(b)){a.addCls(b)}k(a,c.hasActiveError())},adjustVertInsets:function(b,a){if(b.autoFitErrors){a.insets.bottom+=b.errorEl.getHeight()}},layoutHoriz:function(d,b){var a=d.errorEl,c=b.insets;i(a,"width",b.width-c.right-c.left+"px");i(a,"marginLeft",c.left+"px")}},j),qtip:g({prepare:function(a){k(a.errorEl,false);Ext.layout.component.field.Field.initTip();a.getActionEl().dom.setAttribute("data-errorqtip",a.getActiveError()||"")},onFocus:l},j),title:g({prepare:function(a){k(a.errorEl,false);a.el.dom.title=a.getActiveError()||""}},j),elementId:g({prepare:function(b){k(b.errorEl,false);var a=Ext.fly(b.msgTarget);if(a){a.dom.innerHTML=b.getActiveError()||"";a.setDisplayed(b.hasActiveError())}}},j)}})(),statics:{initTip:function(){var b=this.tip;if(!b){b=this.tip=Ext.create("Ext.tip.QuickTip",{baseCls:Ext.baseCSSPrefix+"form-invalid-tip",renderTo:Ext.getBody()});b.tagConfig=Ext.apply({},{attribute:"errorqtip"},b.tagConfig)}},destroyTip:function(){var b=this.tip;if(b){b.destroy();delete this.tip}}}});Ext.define("Ext.layout.component.field.Trigger",{alias:["layout.triggerfield"],extend:"Ext.layout.component.field.Field",type:"triggerfield",sizeBodyContents:function(m,h){var l=this,i=l.owner,j=i.inputEl,n=i.triggerWrap,k=i.getTriggerWidth();if(i.hideTrigger||i.readOnly||k>0){l.setElementSize(j,Ext.isNumber(m)?m-k:m);n.setWidth(k)}}});Ext.define("Ext.layout.component.field.Text",{extend:"Ext.layout.component.field.Field",alias:"layout.textfield",requires:["Ext.util.TextMetrics"],type:"textfield",beforeLayout:function(k,g){var j=this,h=j.owner,l=this.lastValue,i=h.getRawValue();this.lastValue=i;return j.callParent(arguments)||(h.grow&&i!==l)},sizeBodyContents:function(f,e){var d=this.adjustForGrow(f,e);this.setElementSize(this.owner.inputEl,d[0],d[1])},adjustForGrow:function(n,p){var m=this,i=m.owner,k,l,o,j=[n,p];if(i.grow){k=i.inputEl;l=(k.dom.value||(i.hasFocus?"":i.emptyText)||"")+i.growAppend;o=k.getTextWidth(l)+k.getBorderWidth("lr")+k.getPadding("lr");j[0]=Ext.Number.constrain(o,i.growMin,Math.max(i.growMin,Math.min(i.growMax,Ext.isNumber(n)?n:Infinity)))}return j}});Ext.define("Ext.layout.component.AbstractDock",{extend:"Ext.layout.component.Component",type:"dock",autoSizing:true,beforeLayout:function(){var b=this.callParent(arguments);if(b!==false&&(!this.initializedBorders||this.childrenChanged)&&(!this.owner.border||this.owner.manageBodyBorders)){this.handleItemBorders();this.initializedBorders=true}return b},handleItemBorders:function(){var v=this.owner,r=v.body,i=this.getLayoutItems(),p={top:[],right:[],bottom:[],left:[]},u=this.borders,s={top:"bottom",right:"left",bottom:"top",left:"right"},t,o,m,n,q;for(t=0,o=i.length;t<o;t++){m=i[t];n=m.dock;if(m.ignoreBorderManagement){continue}if(!p[n].satisfied){p[n].push(m);p[n].satisfied=true}if(!p.top.satisfied&&s[n]!=="top"){p.top.push(m)}if(!p.right.satisfied&&s[n]!=="right"){p.right.push(m)}if(!p.bottom.satisfied&&s[n]!=="bottom"){p.bottom.push(m)}if(!p.left.satisfied&&s[n]!=="left"){p.left.push(m)}}if(u){for(q in u){if(u.hasOwnProperty(q)){o=u[q].length;if(!v.manageBodyBorders){for(t=0;t<o;t++){u[q][t].removeCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}if(!u[q].satisfied&&!v.bodyBorder){r.removeCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}}else{if(u[q].satisfied){r.setStyle("border-"+q+"-width","")}}}}}for(q in p){if(p.hasOwnProperty(q)){o=p[q].length;if(!v.manageBodyBorders){for(t=0;t<o;t++){p[q][t].addCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}if((!p[q].satisfied&&!v.bodyBorder)||v.bodyBorder===false){r.addCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}}else{if(p[q].satisfied){r.setStyle("border-"+q+"-width","1px")}}}}this.borders=p},onLayout:function(z,n){if(this.onLayout_running){return}this.onLayout_running=true;var r=this,y=r.owner,t=y.body,u=y.layout,s=r.getTarget(),p=false,o=false,q,v,w;var x=r.info={boxes:[],size:{width:z,height:n},bodyBox:{}};delete u.isAutoDock;Ext.applyIf(x,r.getTargetInfo());if(y&&y.ownerCt&&y.ownerCt.layout&&y.ownerCt.layout.isLayout){if(!Ext.isNumber(y.height)||!Ext.isNumber(y.width)){y.ownerCt.layout.bindToOwnerCtComponent=true}else{y.ownerCt.layout.bindToOwnerCtComponent=false}}if(n==null||z==null){q=x.padding;v=x.border;w=r.frameSize;if((n==null)&&(z==null)){o=true;p=true;r.setTargetSize(null);r.setBodyBox({width:null,height:null})}else{if(n==null){o=true;r.setTargetSize(z);r.setBodyBox({width:z-q.left-v.left-q.right-v.right-w.left-w.right,height:null})}else{p=true;r.setTargetSize(null,n);r.setBodyBox({width:null,height:n-q.top-q.bottom-v.top-v.bottom-w.top-w.bottom})}}if(u&&u.isLayout){u.bindToOwnerCtComponent=true;u.isAutoDock=u.autoSize!==true;u.layout();x.autoSizedCtLayout=u.autoSize===true;x.autoHeight=o;x.autoWidth=p}r.dockItems();r.setTargetSize(x.size.width,x.size.height)}else{r.setTargetSize(z,n);r.dockItems()}r.callParent(arguments);this.onLayout_running=false},dockItems:function(){this.calculateDockBoxes();var l=this.info,k=l.autoWidth,j=l.autoHeight,p=l.boxes,m=p.length,n,i,o;for(i=0;i<m;i++){n=p[i];o=n.item;o.setPosition(n.x,n.y);if((k||j)&&o.layout&&o.layout.isLayout){o.layout.bindToOwnerCtComponent=true}}if(!l.autoSizedCtLayout){if(k){l.bodyBox.width=null}if(j){l.bodyBox.height=null}}this.setBodyBox(l.bodyBox)},calculateDockBoxes:function(){if(this.calculateDockBoxes_running){return}this.calculateDockBoxes_running=true;var y=this,B=y.getTarget(),z=y.getLayoutItems(),H=y.owner,s=H.body,G=y.info,v=G.autoWidth,u=G.autoHeight,i=G.size,A=z.length,w=G.padding,E=G.border,F=y.frameSize,t,D,C,x;if(u){i.height=s.getHeight()+w.top+E.top+w.bottom+E.bottom+F.top+F.bottom}else{i.height=B.getHeight()}if(v){i.width=s.getWidth()+w.left+E.left+w.right+E.right+F.left+F.right}else{i.width=B.getWidth()}G.bodyBox={x:w.left+F.left,y:w.top+F.top,width:i.width-w.left-E.left-w.right-E.right-F.left-F.right,height:i.height-E.top-w.top-E.bottom-w.bottom-F.top-F.bottom};for(D=0;D<A;D++){t=z[D];C=y.initBox(t);if(u===true){C=y.adjustAutoBox(C,D)}else{C=y.adjustSizedBox(C,D)}G.boxes.push(C)}this.calculateDockBoxes_running=false},adjustSizedBox:function(n,o){var j=this.info.bodyBox,i=this.frameSize,l=this.info,m=l.padding,k=n.type,p=l.border;switch(k){case"top":n.y=j.y;break;case"left":n.x=j.x;break;case"bottom":n.y=(j.y+j.height)-n.height;break;case"right":n.x=(j.x+j.width)-n.width;break}if(n.ignoreFrame){if(k=="bottom"){n.y+=(i.bottom+m.bottom+p.bottom)}else{n.y-=(i.top+m.top+p.top)}if(k=="right"){n.x+=(i.right+m.right+p.right)}else{n.x-=(i.left+m.left+p.left)}}if(!n.overlay){switch(k){case"top":j.y+=n.height;j.height-=n.height;break;case"left":j.x+=n.width;j.width-=n.width;break;case"bottom":j.height-=n.height;break;case"right":j.width-=n.width;break}}return n},adjustAutoBox:function(y,v){var E=this.info,F=this.owner,u=E.bodyBox,i=E.size,x=E.boxes,A=x.length,s=y.type,B=this.frameSize,r=E.padding,C=E.border,D=E.autoSizedCtLayout,t=(A<v)?A:v,z,w;if(s=="top"||s=="bottom"){for(z=0;z<t;z++){w=x[z];if(w.stretched&&w.type=="left"||w.type=="right"){w.height+=y.height}else{if(w.type=="bottom"){w.y+=y.height}}}}switch(s){case"top":y.y=u.y;if(!y.overlay){u.y+=y.height;if(E.autoHeight){i.height+=y.height}else{u.height-=y.height}}break;case"bottom":if(!y.overlay){if(E.autoHeight){i.height+=y.height}else{u.height-=y.height}}y.y=(u.y+u.height);break;case"left":y.x=u.x;if(!y.overlay){u.x+=y.width;if(E.autoWidth){i.width+=y.width}else{u.width-=y.width}}break;case"right":if(!y.overlay){if(E.autoWidth){i.width+=y.width}else{u.width-=y.width}}y.x=(u.x+u.width);break}if(y.ignoreFrame){if(s=="bottom"){y.y+=(B.bottom+r.bottom+C.bottom)}else{y.y-=(B.top+r.top+C.top)}if(s=="right"){y.x+=(B.right+r.right+C.right)}else{y.x-=(B.left+r.left+C.left)}}return y},initBox:function(k){var m=this,n=m.info.bodyBox,t=(k.dock=="top"||k.dock=="bottom"),s=m.owner,p=m.frameSize,r=m.info,l=r.padding,q=r.border,o={item:k,overlay:k.overlay,type:k.dock,offsets:Ext.Element.parseBox(k.offsets||{}),ignoreFrame:k.ignoreParentFrame};if(k.stretch!==false){o.stretched=true;if(t){o.x=n.x+o.offsets.left;o.width=n.width-(o.offsets.left+o.offsets.right);if(o.ignoreFrame){o.width+=(p.left+p.right+q.left+q.right+l.left+l.right)}k.setCalculatedSize(o.width-k.el.getMargin("lr"),undefined,s)}else{o.y=n.y+o.offsets.top;o.height=n.height-(o.offsets.bottom+o.offsets.top);if(o.ignoreFrame){o.height+=(p.top+p.bottom+q.top+q.bottom+l.top+l.bottom)}k.setCalculatedSize(undefined,o.height-k.el.getMargin("tb"),s);if(!Ext.supports.ComputedStyle){k.el.repaint()}}}else{k.doComponentLayout();o.width=k.getWidth()-(o.offsets.left+o.offsets.right);o.height=k.getHeight()-(o.offsets.bottom+o.offsets.top);o.y+=o.offsets.top;if(t){o.x=(k.align=="right")?n.width-o.width:n.x;o.x+=o.offsets.left}}if(o.width===undefined){o.width=k.getWidth()+k.el.getMargin("lr")}if(o.height===undefined){o.height=k.getHeight()+k.el.getMargin("tb")}return o},getLayoutItems:function(){var h=this.owner.getDockedItems(),g=h.length,e=0,f=[];for(;e<g;e++){if(h[e].isVisible(true)){f.push(h[e])}}return f},renderItems:function(n,p){var t=p.dom.childNodes,q=t.length,o=n.length,j=0,r,s,m,i;for(r=0;r<q;r++){m=Ext.get(t[r]);for(s=0;s<o;s++){i=n[s];if(i.rendered&&(m.id==i.el.id||m.contains(i.el.id))){break}}if(s===o){j++}}for(r=0,s=0;r<o;r++,s++){i=n[r];if(r===s&&(i.dock==="right"||i.dock==="bottom")){s+=j}if(i&&!i.rendered){this.renderItem(i,p,s)}else{if(!this.isValidParent(i,p,s)){this.moveItem(i,p,s)}}}},setBodyBox:function(m){var k=this,r=k.owner,l=r.body,q=k.info,n=q.bodyMargin,j=q.padding,o=q.border,p=k.frameSize;if(r.collapsed){return}if(Ext.isNumber(m.width)){m.width-=n.left+n.right}if(Ext.isNumber(m.height)){m.height-=n.top+n.bottom}k.setElementSize(l,m.width,m.height);if(Ext.isNumber(m.x)){l.setLeft(m.x-j.left-p.left)}if(Ext.isNumber(m.y)){l.setTop(m.y-j.top-p.top)}},configureItem:function(d,c){this.callParent(arguments);if(d.dock=="top"||d.dock=="bottom"){d.layoutManagedWidth=1;d.layoutManagedHeight=2}else{d.layoutManagedWidth=2;d.layoutManagedHeight=1}d.addCls(Ext.baseCSSPrefix+"docked");d.addClsWithUI("docked-"+d.dock)},afterRemove:function(d){this.callParent(arguments);if(this.itemCls){d.el.removeCls(this.itemCls+"-"+d.dock)}var c=d.el.dom;if(!d.destroying&&c){c.parentNode.removeChild(c)}this.childrenChanged=true}});Ext.define("Ext.layout.component.Dock",{alias:["layout.dock"],extend:"Ext.layout.component.AbstractDock"});Ext.define("Ext.layout.container.Auto",{alias:["layout.auto","layout.autocontainer"],extend:"Ext.layout.container.Container",type:"autocontainer",bindToOwnerCtComponent:true,onLayout:function(h,i){var j=this,g=j.getLayoutItems(),k=g.length,l;if(k){if(!j.clearEl){j.clearEl=j.getRenderTarget().createChild({cls:Ext.baseCSSPrefix+"clear",role:"presentation"})}for(l=0;l<k;l++){j.setItemSize(g[l])}}},configureItem:function(b){this.callParent(arguments);b.layoutManagedHeight=2;b.layoutManagedWidth=2}});Ext.define("Ext.fx.target.Element",{extend:"Ext.fx.target.Target",type:"element",getElVal:function(d,e,f){if(f==undefined){if(e==="x"){f=d.getX()}else{if(e==="y"){f=d.getY()}else{if(e==="scrollTop"){f=d.getScroll().top}else{if(e==="scrollLeft"){f=d.getScroll().left}else{if(e==="height"){f=d.getHeight()}else{if(e==="width"){f=d.getWidth()}else{f=d.getStyle(e)}}}}}}}return f},getAttr:function(e,f){var d=this.target;return[[d,this.getElVal(d,e,f)]]},setAttr:function(n){var q=this.target,o=n.length,i,p,u,r,t,v,s,j;for(r=0;r<o;r++){i=n[r].attrs;for(p in i){if(i.hasOwnProperty(p)){v=i[p].length;for(t=0;t<v;t++){u=i[p][t];s=u[0];j=u[1];if(p==="x"){s.setX(j)}else{if(p==="y"){s.setY(j)}else{if(p==="scrollTop"){s.scrollTo("top",j)}else{if(p==="scrollLeft"){s.scrollTo("left",j)}else{s.setStyle(p,j)}}}}}}}}}});Ext.define("Ext.fx.target.CompositeElement",{extend:"Ext.fx.target.Element",isComposite:true,constructor:function(b){b.id=b.id||Ext.id(null,"ext-composite-");this.callParent([b])},getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,this.getElVal(a,f,g)])},this);return e}});Ext.define("Ext.fx.target.Sprite",{extend:"Ext.fx.target.Target",type:"draw",getFromPrim:function(d,e){var f;if(e=="translate"){f={x:d.attr.translation.x||0,y:d.attr.translation.y||0}}else{if(e=="rotate"){f={degrees:d.attr.rotation.degrees||0,x:d.attr.rotation.x,y:d.attr.rotation.y}}else{f=d.attr[e]}}return f},getAttr:function(d,c){return[[this.target,c!=undefined?c:this.getFromPrim(this.target,d)]]},setAttr:function(t){var x=t.length,v=[],i,y,j,z,C,r,s,A,B,u,w,D;for(A=0;A<x;A++){i=t[A].attrs;for(y in i){j=i[y];D=j.length;for(B=0;B<D;B++){C=j[B][0];z=j[B][1];if(y==="translate"){s={x:z.x,y:z.y}}else{if(y==="rotate"){u=z.x;if(isNaN(u)){u=null}w=z.y;if(isNaN(w)){w=null}s={degrees:z.degrees,x:u,y:w}}else{if(y==="width"||y==="height"||y==="x"||y==="y"){s=parseFloat(z)}else{s=z}}}r=Ext.Array.indexOf(v,C);if(r==-1){v.push([C,{}]);r=v.length-1}v[r][1][y]=s}}}x=v.length;for(A=0;A<x;A++){C=v[A];C[0].setAttributes(C[1])}this.target.redraw()}});Ext.define("Ext.fx.target.CompositeSprite",{extend:"Ext.fx.target.Sprite",getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,g!=undefined?g:this.getFromPrim(a,f)])},this);return e}});Ext.define("Ext.fx.target.Component",{extend:"Ext.fx.target.Target",type:"component",getPropMethod:{top:function(){return this.getPosition(true)[1]},left:function(){return this.getPosition(true)[0]},x:function(){return this.getPosition()[0]},y:function(){return this.getPosition()[1]},height:function(){return this.getHeight()},width:function(){return this.getWidth()},opacity:function(){return this.el.getStyle("opacity")}},compMethod:{top:"setPosition",left:"setPosition",x:"setPagePosition",y:"setPagePosition",height:"setSize",width:"setSize",opacity:"setOpacity"},getAttr:function(d,c){return[[this.target,c!==undefined?c:this.getPropMethod[d].call(this.target)]]},setAttr:function(H,A,D){var i=this,w=i.target,j=H.length,F,v,E,z,B,o,x,C,h,G,y;for(z=0;z<j;z++){F=H[z].attrs;for(v in F){x=F[v].length;o={setPosition:{},setPagePosition:{},setSize:{},setOpacity:{}};for(B=0;B<x;B++){E=F[v][B];o[i.compMethod[v]].target=E[0];o[i.compMethod[v]][v]=E[1]}if(o.setPosition.target){E=o.setPosition;C=(E.left===undefined)?undefined:parseInt(E.left,10);h=(E.top===undefined)?undefined:parseInt(E.top,10);E.target.setPosition(C,h)}if(o.setPagePosition.target){E=o.setPagePosition;E.target.setPagePosition(E.x,E.y)}if(o.setSize.target&&o.setSize.target.el){E=o.setSize;G=(E.width===undefined)?E.target.getWidth():parseInt(E.width,10);y=(E.height===undefined)?E.target.getHeight():parseInt(E.height,10);if(D||i.dynamic){E.target.componentLayout.childrenChanged=true;if(i.layoutAnimation){E.target.setCalculatedSize(G,y)}else{E.target.setSize(G,y)}}else{E.target.el.setSize(G,y)}}if(o.setOpacity.target){E=o.setOpacity;E.target.el.setStyle("opacity",E.opacity)}}}}});Ext.define("Ext.fx.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.fx.target.Element","Ext.fx.target.CompositeElement","Ext.fx.target.Sprite","Ext.fx.target.CompositeSprite","Ext.fx.target.Component"],mixins:{queue:"Ext.fx.Queue"},constructor:function(){this.items=Ext.create("Ext.util.MixedCollection");this.mixins.queue.constructor.call(this)},interval:16,forceJS:true,createTarget:function(g){var e=this,h=!e.forceJS&&Ext.supports.Transitions,f;e.useCSS3=h;if(Ext.isString(g)){g=Ext.get(g)}if(g&&g.tagName){g=Ext.get(g);f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g);e.targets.add(f);return f}if(Ext.isObject(g)){if(g.dom){f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g)}else{if(g.isComposite){f=Ext.create("Ext.fx.target.CompositeElement"+(h?"CSS":""),g)}else{if(g.isSprite){f=Ext.create("Ext.fx.target.Sprite",g)}else{if(g.isCompositeSprite){f=Ext.create("Ext.fx.target.CompositeSprite",g)}else{if(g.isComponent){f=Ext.create("Ext.fx.target.Component",g)}else{if(g.isAnimTarget){return g}else{return null}}}}}}e.targets.add(f);return f}else{return null}},addAnim:function(f){var d=this.items,e=this.task;d.add(f);if(!e&&d.length){e=this.task={run:this.runner,interval:this.interval,scope:this};Ext.TaskManager.start(e)}},removeAnim:function(f){var d=this.items,e=this.task;d.remove(f);if(e&&!d.length){Ext.TaskManager.stop(e);delete this.task}},startingFilter:function(b){return b.paused===false&&b.running===false&&b.iterations>0},runningFilter:function(b){return b.paused===false&&b.running===true&&b.isAnimator!==true},runner:function(){var c=this,d=c.items;c.targetData={};c.targetArr={};c.timestamp=new Date();d.filterBy(c.startingFilter).each(c.startAnim,c);d.filterBy(c.runningFilter).each(c.runAnim,c);c.applyPendingAttrs()},startAnim:function(b){b.start(this.timestamp)},runAnim:function(m){if(!m){return}var n=this,h=m.target.getId(),k=n.useCSS3&&m.target.type=="element",i=n.timestamp-m.startTime,l,j;this.collectTargetData(m,i,k);if(k){m.target.setAttr(n.targetData[h],true);n.targetData[h]=[];n.collectTargetData(m,m.duration,k);m.paused=true;l=m.target.target;if(m.target.isComposite){l=m.target.target.last()}j={};j[Ext.supports.CSS3TransitionEnd]=m.lastFrame;j.scope=m;j.single=true;l.on(j)}else{if(i>=m.duration){n.applyPendingAttrs(true);delete n.targetData[h];delete n.targetArr[h];m.lastFrame()}}},collectTargetData:function(k,h,j){var g=k.target.getId(),i=this.targetData[g],l;if(!i){i=this.targetData[g]=[];this.targetArr[g]=k.target}l={duration:k.duration,easing:(j&&k.reverse)?k.easingFn.reverse().toCSS3():k.easing,attrs:{}};Ext.apply(l.attrs,k.runAnim(h));i.push(l)},applyPendingAttrs:function(g){var h=this.targetData,e=this.targetArr,f;for(f in h){if(h.hasOwnProperty(f)){e[f].setAttr(h[f],false,g)}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(d){var c=this;d=Ext.apply(c,d||{});c.config=d;c.id=Ext.id(null,"ext-animator-");c.addEvents("beforeanimate","keyframe","afteranimate");c.mixins.observable.constructor.call(c,d);c.timeline=[];c.createTimeline(c.keyframes);if(c.target){c.applyAnimator(c.target);Ext.fx.Manager.addAnim(c)}},sorter:function(a,b){return a.pct-b.pct},createTimeline:function(u){var r=this,o=[],q=r.to||{},x=r.duration,i,z,v,s,p,y,w,t;for(p in u){if(u.hasOwnProperty(p)&&r.animKeyFramesRE.test(p)){t={attrs:Ext.apply(u[p],q)};if(p=="from"){p=0}else{if(p=="to"){p=100}}t.pct=parseInt(p,10);o.push(t)}}Ext.Array.sort(o,r.sorter);s=o.length;for(v=0;v<s;v++){i=(o[v-1])?x*(o[v-1].pct/100):0;z=x*(o[v].pct/100);r.timeline.push({duration:z-i,attrs:o[v].attrs})}},applyAnimator:function(v){var r=this,q=[],i=r.timeline,u=r.reverse,s=i.length,y,t,z,w,o,p,x;if(r.fireEvent("beforeanimate",r)!==false){for(x=0;x<s;x++){y=i[x];o=y.attrs;t=o.easing||r.easing;z=o.damper||r.damper;delete o.easing;delete o.damper;y=Ext.create("Ext.fx.Anim",{target:v,easing:t,damper:z,duration:y.duration,paused:true,to:o});q.push(y)}r.animations=q;r.target=y.target;for(x=0;x<s-1;x++){y=q[x];y.nextAnim=q[x+1];y.on("afteranimate",function(){this.nextAnim.paused=false});y.on("afteranimate",function(){this.fireEvent("keyframe",this,++this.keyframeStep)},r)}q[s-1].on("afteranimate",function(){this.lastFrame()},r)}},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;h.running=true;h.animations[h.keyframeStep].paused=false}},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){f.startTime=new Date();f.currentIteration=d;f.keyframeStep=0;f.applyAnimator(f.target);f.animations[f.keyframeStep].paused=false}else{f.currentIteration=0;f.end()}},end:function(){var b=this;b.fireEvent("afteranimate",b,b.startTime,new Date()-b.startTime)}});Ext.define("Ext.draw.Draw",{singleton:true,requires:["Ext.draw.Color"],pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(c,d){d=String(d).toLowerCase();return(d=="object"&&c===Object(c))||(d=="undefined"&&typeof c==d)||(d=="null"&&c===null)||(d=="array"&&Array.isArray&&Array.isArray(c))||(Object.prototype.toString.call(c).toLowerCase().slice(8,-1))==d},ellipsePath:function(c){var d=c.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",d.x,d.y-d.ry,d.rx,d.ry,d.y+d.ry)},rectPath:function(c){var d=c.attr;if(d.radius){return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",d.x+d.radius,d.y,d.width-d.radius*2,d.radius,-d.radius,d.height-d.radius*2,d.radius*2-d.width,d.radius*2-d.height)}else{return Ext.String.format("M{0},{1}l{2},0,0,{3},{4},0z",d.x,d.y,d.width,d.height,-d.width)}},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(b){return b.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(f){if(!f){return null}var g={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},h=[],e=this;if(e.is(f,"array")&&e.is(f[0],"array")){h=e.pathClone(f)}if(!h.length){String(f).replace(e.pathCommandRE,function(d,j,a){var b=[],c=j.toLowerCase();a.replace(e.pathValuesRE,function(i,l){l&&b.push(+l)});if(c=="m"&&b.length>2){h.push([j].concat(Ext.Array.splice(b,0,2)));c="l";j=(j=="m")?"l":"L"}while(b.length>=g[c]){h.push([j].concat(Ext.Array.splice(b,0,g[c])));if(!g[c]){break}}})}h.toString=e.path2string;return h},mapPath:function(i,m){if(!m){return i}var l,n,p,j,r,o,q;i=this.path2curve(i);for(p=0,j=i.length;p<j;p++){q=i[p];for(r=1,o=q.length;r<o-1;r+=2){l=m.x(q[r],q[r+1]);n=m.y(q[r],q[r+1]);q[r]=l;q[r+1]=n}}return i},pathClone:function(i){var l=[],h,j,g,k;if(!this.is(i,"array")||!this.is(i&&i[0],"array")){i=this.parsePathString(i)}for(g=0,k=i.length;g<k;g++){l[g]=[];for(h=0,j=i[g].length;h<j;h++){l[g][h]=i[g][h]}}l.toString=this.path2string;return l},pathToAbsolute:function(v){if(!this.is(v,"array")||!this.is(v&&v[0],"array")){v=this.parsePathString(v)}var q=[],o=0,p=0,i=0,j=0,s=0,r=v.length,w,u,t,x;if(r&&v[0][0]=="M"){o=+v[0][1];p=+v[0][2];i=o;j=p;s++;q[0]=["M",o,p]}for(;s<r;s++){w=q[s]=[];u=v[s];if(u[0]!=u[0].toUpperCase()){w[0]=u[0].toUpperCase();switch(w[0]){case"A":w[1]=u[1];w[2]=u[2];w[3]=u[3];w[4]=u[4];w[5]=u[5];w[6]=+(u[6]+o);w[7]=+(u[7]+p);break;case"V":w[1]=+u[1]+p;break;case"H":w[1]=+u[1]+o;break;case"M":i=+u[1]+o;j=+u[2]+p;default:t=1;x=u.length;for(;t<x;t++){w[t]=+u[t]+((t%2)?o:p)}}}else{t=0;x=u.length;for(;t<x;t++){q[s][t]=u[t]}}switch(w[0]){case"Z":o=i;p=j;break;case"H":o=w[1];break;case"V":p=w[1];break;case"M":u=q[s];x=u.length;i=u[x-2];j=u[x-1];default:u=q[s];x=u.length;o=u[x-2];p=u[x-1]}}q.toString=this.path2string;return q},pathToRelative:function(A){if(!this.is(A,"array")||!this.is(A&&A[0],"array")){A=this.parsePathString(A)}var u=[],k=0,r=0,F=0,i=0,B=0;if(A[0][0]=="M"){k=A[0][1];r=A[0][2];F=k;i=r;B++;u.push(["M",k,r])}for(var x=B,E=A.length;x<E;x++){var D=u[x]=[],j=A[x];if(j[0]!=j[0].toLowerCase()){D[0]=j[0].toLowerCase();switch(D[0]){case"a":D[1]=j[1];D[2]=j[2];D[3]=j[3];D[4]=j[4];D[5]=j[5];D[6]=+(j[6]-k).toFixed(3);D[7]=+(j[7]-r).toFixed(3);break;case"v":D[1]=+(j[1]-r).toFixed(3);break;case"m":F=j[1];i=j[2];default:for(var y=1,w=j.length;y<w;y++){D[y]=+(j[y]-((y%2)?k:r)).toFixed(3)}}}else{D=u[x]=[];if(j[0]=="m"){F=j[1]+k;i=j[2]+r}for(var z=0,C=j.length;z<C;z++){u[x][z]=j[z]}}var v=u[x].length;switch(u[x][0]){case"z":k=F;r=i;break;case"h":k+=+u[x][v-1];break;case"v":r+=+u[x][v-1];break;default:k+=+u[x][v-2];r+=+u[x][v-1]}}u.toString=this.path2string;return u},path2curve:function(i){var o=this,l=o.pathToAbsolute(i),p=l.length,k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},q,r,m,n;for(q=0;q<p;q++){l[q]=o.command2curve(l[q],k);if(l[q].length>7){l[q].shift();n=l[q];while(n.length){Ext.Array.splice(l,q++,0,["C"].concat(Ext.Array.splice(n,0,6)))}Ext.Array.erase(l,q,1);p=l.length}r=l[q];m=r.length;k.x=r[m-2];k.y=r[m-1];k.bx=parseFloat(r[m-4])||k.x;k.by=parseFloat(r[m-3])||k.y}return l},interpolatePaths:function(i,u){var w=this,A=w.pathToAbsolute(i),t=w.pathToAbsolute(u),s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},D={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},C=function(c,b){if(c[b].length>7){c[b].shift();var a=c[b];while(a.length){Ext.Array.splice(c,b++,0,["C"].concat(Ext.Array.splice(a,0,6)))}Ext.Array.erase(c,b,1);r=Math.max(A.length,t.length||0)}},B=function(a,b,d,e,c){if(a&&b&&a[c][0]=="M"&&b[c][0]!="M"){Ext.Array.splice(b,c,0,["M",e.x,e.y]);d.bx=0;d.by=0;d.x=a[c][1];d.y=a[c][2];r=Math.max(A.length,t.length||0)}};for(var x=0,r=Math.max(A.length,t.length||0);x<r;x++){A[x]=w.command2curve(A[x],s);C(A,x);(t[x]=w.command2curve(t[x],D));C(t,x);B(A,t,s,D,x);B(t,A,D,s,x);var y=A[x],p=t[x],z=y.length,v=p.length;s.x=y[z-2];s.y=y[z-1];s.bx=parseFloat(y[z-4])||s.x;s.by=parseFloat(y[z-3])||s.y;D.bx=(parseFloat(p[v-4])||D.x);D.by=(parseFloat(p[v-3])||D.y);D.x=p[v-2];D.y=p[v-1]}return[A,t]},command2curve:function(f,d){var e=this;if(!f){return["C",d.x,d.y,d.x,d.y,d.x,d.y]}if(f[0]!="T"&&f[0]!="Q"){d.qx=d.qy=null}switch(f[0]){case"M":d.X=f[1];d.Y=f[2];break;case"A":f=["C"].concat(e.arc2curve.apply(e,[d.x,d.y].concat(f.slice(1))));break;case"S":f=["C",d.x+(d.x-(d.bx||d.x)),d.y+(d.y-(d.by||d.y))].concat(f.slice(1));break;case"T":d.qx=d.x+(d.x-(d.qx||d.x));d.qy=d.y+(d.y-(d.qy||d.y));f=["C"].concat(e.quadratic2curve(d.x,d.y,d.qx,d.qy,f[1],f[2]));break;case"Q":d.qx=f[1];d.qy=f[2];f=["C"].concat(e.quadratic2curve(d.x,d.y,f[1],f[2],f[3],f[4]));break;case"L":f=["C"].concat(d.x,d.y,f[1],f[2],f[1],f[2]);break;case"H":f=["C"].concat(d.x,d.y,f[1],d.y,f[1],d.y);break;case"V":f=["C"].concat(d.x,d.y,d.x,f[1],d.x,f[1]);break;case"Z":f=["C"].concat(d.x,d.y,d.X,d.Y,d.X,d.Y);break}return f},quadratic2curve:function(i,o,l,n,j,p){var m=1/3,k=2/3;return[m*i+k*l,m*o+k*n,m*j+k*l,m*p+k*n,j,p]},rotate:function(h,j,i){var m=Math.cos(i),n=Math.sin(i),k=h*m-j*n,l=h*n+j*m;return{x:k,y:l}},arc2curve:function(aM,aw,at,av,aH,aS,aW,aN,az,aF){var aK=this,aY=Math.PI,aJ=aK.radian,ax=aY*120/180,a1=aJ*(+aH||0),an=[],aq=Math,y=aq.cos,a2=aq.sin,t=aq.sqrt,aL=aq.abs,aR=aq.asin,ar,a0,aP,al,am,aG,aZ,ai,x,aB,aD,aT,aU,aO,aV,aA,aX,aC,ak,ah,aj,aE,aI,h,k,ao,i,ap,ay,au,aQ;if(!aF){ar=aK.rotate(aM,aw,-a1);aM=ar.x;aw=ar.y;ar=aK.rotate(aN,az,-a1);aN=ar.x;az=ar.y;a0=y(aJ*aH);aP=a2(aJ*aH);al=(aM-aN)/2;am=(aw-az)/2;aG=(al*al)/(at*at)+(am*am)/(av*av);if(aG>1){aG=t(aG);at=aG*at;av=aG*av}aZ=at*at;ai=av*av;x=(aS==aW?-1:1)*t(aL((aZ*ai-aZ*am*am-ai*al*al)/(aZ*am*am+ai*al*al)));aB=x*at*am/av+(aM+aN)/2;aD=x*-av*al/at+(aw+az)/2;aT=aR(((aw-aD)/av).toFixed(7));aU=aR(((az-aD)/av).toFixed(7));aT=aM<aB?aY-aT:aT;aU=aN<aB?aY-aU:aU;if(aT<0){aT=aY*2+aT}if(aU<0){aU=aY*2+aU}if(aW&&aT>aU){aT=aT-aY*2}if(!aW&&aU>aT){aU=aU-aY*2}}else{aT=aF[0];aU=aF[1];aB=aF[2];aD=aF[3]}aO=aU-aT;if(aL(aO)>ax){ay=aU;au=aN;aQ=az;aU=aT+ax*(aW&&aU>aT?1:-1);aN=aB+at*y(aU);az=aD+av*a2(aU);an=aK.arc2curve(aN,az,at,av,aH,0,aW,au,aQ,[aU,ay,aB,aD])}aO=aU-aT;aV=y(aT);aA=a2(aT);aX=y(aU);aC=a2(aU);ak=aq.tan(aO/4);ah=4/3*at*ak;aj=4/3*av*ak;aE=[aM,aw];aI=[aM+ah*aA,aw-aj*aV];h=[aN+ah*aC,az-aj*aX];k=[aN,az];aI[0]=2*aE[0]-aI[0];aI[1]=2*aE[1]-aI[1];if(aF){return[aI,h,k].concat(an)}else{an=[aI,h,k].concat(an).join().split(",");ao=[];ap=an.length;for(i=0;i<ap;i++){ao[i]=i%2?aK.rotate(an[i-1],an[i],a1).y:aK.rotate(an[i],an[i+1],a1).x}return ao}},rotateAndTranslatePath:function(q){var v=q.rotation.degrees,u=q.rotation.x,w=q.rotation.y,i=q.translation.x,p=q.translation.y,j,s,x,o,t,r=[];if(!v&&!i&&!p){return this.pathToAbsolute(q.attr.path)}i=i||0;p=p||0;j=this.pathToAbsolute(q.attr.path);for(s=j.length;s--;){x=r[s]=j[s].slice();if(x[0]=="A"){o=this.rotatePoint(x[6],x[7],v,u,w);x[6]=o.x+i;x[7]=o.y+p}else{t=1;while(x[t+1]!=null){o=this.rotatePoint(x[t],x[t+1],v,u,w);x[t]=o.x+i;x[t+1]=o.y+p;t+=2}}}return r},rotatePoint:function(h,j,l,i,k){if(!l){return{x:h,y:j}}i=i||0;k=k||0;h=h-i;j=j-k;l=l*this.radian;var m=Math.cos(l),n=Math.sin(l);return{x:h*m-j*n+i,y:h*n+j*m+k}},pathDimensions:function(i){if(!i||!(i+"")){return{x:0,y:0,width:0,height:0}}i=this.path2curve(i);var n=0,o=0,s=[],u=[],r=0,p=i.length,t,v,m,q;for(;r<p;r++){t=i[r];if(t[0]=="M"){n=t[1];o=t[2];s.push(n);u.push(o)}else{q=this.curveDim(n,o,t[1],t[2],t[3],t[4],t[5],t[6]);s=s.concat(q.min.x,q.max.x);u=u.concat(q.min.y,q.max.y);n=t[5];o=t[6]}}v=Math.min.apply(0,s);m=Math.min.apply(0,u);return{x:v,y:m,path:i,width:Math.max.apply(0,s)-v,height:Math.max.apply(0,u)-m}},intersectInside:function(d,f,e){return(e[0]-f[0])*(d[1]-f[1])>(e[1]-f[1])*(d[0]-f[0])},intersectIntersection:function(e,n,t,u){var v=[],w=t[0]-u[0],x=t[1]-u[1],p=e[0]-n[0],r=e[1]-n[1],o=t[0]*u[1]-t[1]*u[0],q=e[0]*n[1]-e[1]*n[0],s=1/(w*r-x*p);v[0]=(o*p-q*w)*s;v[1]=(o*r-q*x)*s;return v},intersect:function(r,z){var s=this,v=0,t=z.length,w=z[t-1],i=r,x,e,u,j,B,A,y;for(;v<t;++v){x=z[v];A=i;i=[];e=A[A.length-1];y=0;B=A.length;for(;y<B;y++){u=A[y];if(s.intersectInside(u,w,x)){if(!s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}i.push(u)}else{if(s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}}e=u}w=x}return i},curveDim:function(C,E,A,B,F,a,t,w){var b=(F-2*A+C)-(t-2*F+A),u=2*(A-C)-2*(F-A),x=C-A,y=(-u+Math.sqrt(u*u-4*b*x))/2/b,z=(-u-Math.sqrt(u*u-4*b*x))/2/b,v=[E,w],c=[C,t],D;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}b=(a-2*B+E)-(w-2*a+B);u=2*(B-E)-2*(a-B);x=E-B;y=(-u+Math.sqrt(u*u-4*b*x))/2/b;z=(-u-Math.sqrt(u*u-4*b*x))/2/b;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}return{min:{x:Math.min.apply(0,c),y:Math.min.apply(0,v)},max:{x:Math.max.apply(0,c),y:Math.max.apply(0,v)}}},getAnchors:function(P,Q,K,L,z,A,E){E=E||4;var M=Math,F=M.PI,D=F/2,I=M.abs,T=M.sin,S=M.cos,O=M.atan,B,C,N,J,G,H,x,y,R;B=(K-P)/E;C=(z-K)/E;if((L>=Q&&L>=A)||(L<=Q&&L<=A)){N=J=D}else{N=O((K-P)/I(L-Q));if(Q<L){N=F-N}J=O((z-K)/I(L-A));if(A<L){J=F-J}}R=D-((N+J)%(F*2))/2;if(R>D){R-=F}N+=R;J+=R;G=K-B*T(N);H=L+B*S(N);x=K+C*T(J);y=L+C*S(J);if((L>Q&&H<Q)||(L<Q&&H>Q)){G+=I(Q-H)*(G-K)/(H-L);H=Q}if((L>A&&y<A)||(L<A&&y>A)){x-=I(A-y)*(x-K)/(y-L);y=A}return{x1:G,y1:H,x2:x,y2:y}},smooth:function(R,D){var E=this.path2curve(R),N=[E[0]],K=E[0][1],L=E[0][2],C,A,y=1,J=E.length,M=1,H=K,I=L,P=0,Q=0;for(;y<J;y++){var i=E[y],j=i.length,x=E[y-1],G=x.length,B=E[y+1],F=B&&B.length;if(i[0]=="M"){H=i[1];I=i[2];C=y+1;while(E[C][0]!="C"){C++}P=E[C][5];Q=E[C][6];N.push(["M",H,I]);M=N.length;K=H;L=I;continue}if(i[j-2]==H&&i[j-1]==I&&(!B||B[0]=="M")){var O=N[M].length;A=this.getAnchors(x[G-2],x[G-1],H,I,N[M][O-2],N[M][O-1],D);N[M][1]=A.x2;N[M][2]=A.y2}else{if(!B||B[0]=="M"){A={x1:i[j-2],y1:i[j-1]}}else{A=this.getAnchors(x[G-2],x[G-1],i[j-2],i[j-1],B[F-2],B[F-1],D)}}N.push(["C",K,L,A.x1,A.y1,i[j-2],i[j-1]]);K=A.x2;L=A.y2}return N},findDotAtSegment:function(s,t,q,r,l,m,n,o,k){var p=1-k;return{x:Math.pow(p,3)*s+Math.pow(p,2)*3*k*q+p*3*k*k*l+Math.pow(k,3)*n,y:Math.pow(p,3)*t+Math.pow(p,2)*3*k*r+p*3*k*k*m+Math.pow(k,3)*o}},snapEnds:function(s,m,C){if(Ext.isDate(s)){return this.snapEndsByDate(s,m,C)}var D=(m-s)/C,F=Math.floor(Math.log(D)/Math.LN10)+1,B=Math.pow(10,F),i,u=Math.round((D%B)*Math.pow(10,2-F)),E=[[0,15],[20,4],[30,2],[40,4],[50,9],[60,4],[70,2],[80,4],[100,15]],z=0,t,x,y,A,w=1000000000,v=E.length;i=s=Math.floor(s/B)*B;for(y=0;y<v;y++){t=E[y][0];x=(t-u)<0?1000000:(t-u)/E[y][1];if(x<w){A=t;w=x}}D=Math.floor(D*Math.pow(10,-F))*Math.pow(10,F)+A*Math.pow(10,F-2);while(i<m){i+=D;z++}m=+i.toFixed(10);return{from:s,to:m,power:F,step:D,steps:z}},snapEndsByDate:function(k,l,i,j){var o=false,m=[[Ext.Date.MILLI,[1,2,3,5,10,20,30,50,100,200,300,500]],[Ext.Date.SECOND,[1,2,3,5,10,15,30]],[Ext.Date.MINUTE,[1,2,3,5,10,20,30]],[Ext.Date.HOUR,[1,2,3,4,6,12]],[Ext.Date.DAY,[1,2,3,7,14]],[Ext.Date.MONTH,[1,2,3,4,6]]],p,n;Ext.each(m,function(a,b){for(p=0;p<a[1].length;p++){if(l<Ext.Date.add(k,a[0],a[1][p]*i)){o=[a[0],a[1][p]];return false}}});if(!o){n=this.snapEnds(k.getFullYear(),l.getFullYear()+1,i,j);o=[Date.YEAR,Math.round(n.step)]}return this.snapEndsByDateAndStep(k,l,o,j)},snapEndsByDateAndStep:function(k,l,n,j){var o=[k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds(),k.getMilliseconds()],i=0,m,p;if(j){m=k}else{switch(n[0]){case Ext.Date.MILLI:m=new Date(o[0],o[1],o[2],o[3],o[4],o[5],Math.floor(o[6]/n[1])*n[1]);break;case Ext.Date.SECOND:m=new Date(o[0],o[1],o[2],o[3],o[4],Math.floor(o[5]/n[1])*n[1],0);break;case Ext.Date.MINUTE:m=new Date(o[0],o[1],o[2],o[3],Math.floor(o[4]/n[1])*n[1],0,0);break;case Ext.Date.HOUR:m=new Date(o[0],o[1],o[2],Math.floor(o[3]/n[1])*n[1],0,0,0);break;case Ext.Date.DAY:m=new Date(o[0],o[1],Math.floor(o[2]-1/n[1])*n[1]+1,0,0,0,0);break;case Ext.Date.MONTH:m=new Date(o[0],Math.floor(o[1]/n[1])*n[1],1,0,0,0,0);break;default:m=new Date(Math.floor(o[0]/n[1])*n[1],0,1,0,0,0,0);break}}p=m;while(p<l){p=Ext.Date.add(p,n[0],n[1]);i++}if(j){p=l}return{from:+m,to:+p,step:(p-m)/i,steps:i}},sorter:function(a,b){return a.offset-b.offset},rad:function(b){return b%360*Math.PI/180},degrees:function(b){return b*180/Math.PI%360},withinBox:function(e,f,d){d=d||{};return(e>=d.x&&e<=(d.x+d.width)&&f>=d.y&&f<=(d.y+d.height))},parseGradient:function(m){var r=this,q=m.type||"linear",t=m.angle||0,o=r.radian,l=m.stops,v=[],n,u,p,s;if(q=="linear"){u=[0,0,Math.cos(t*o),Math.sin(t*o)];p=1/(Math.max(Math.abs(u[2]),Math.abs(u[3]))||1);u[2]*=p;u[3]*=p;if(u[2]<0){u[0]=-u[2];u[2]=0}if(u[3]<0){u[1]=-u[3];u[3]=0}}for(n in l){if(l.hasOwnProperty(n)&&r.stopsRE.test(n)){s={offset:parseInt(n,10),color:Ext.draw.Color.toHex(l[n].color)||"#ffffff",opacity:l[n].opacity||1};v.push(s)}}Ext.Array.sort(v,r.sorter);if(q=="linear"){return{id:m.id,type:q,vector:u,stops:v}}else{return{id:m.id,type:q,centerX:m.centerX,centerY:m.centerY,focalX:m.focalX,focalY:m.focalY,radius:m.radius,vector:u,stops:v}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(j,p,r,m,k){r=(typeof r=="number")?r:1;var l=this.unitRE,o=l.exec(j),q,n;if(o){j=o[1];n=o[2];if(!this.scrollRE.test(k)&&!n&&this.pixelDefaultsRE.test(k)){n="px"}}j=+j||0;o=l.exec(p);if(o){p=o[1];n=o[2]||n}p=+p||0;q=(m!=null)?m:j;return{from:j,delta:(p-q)*r,units:n}},get:function(i,w,x,j,q){var o=i.length,u=[],t,r,p,v,s;for(t=0;t<o;t++){if(j){r=j[t][1].from}if(Ext.isArray(i[t][1])&&Ext.isArray(w)){p=[];v=0;s=i[t][1].length;for(;v<s;v++){p.push(this.computeDelta(i[t][1][v],w[v],x,r,q))}u.push([i[t][0],p])}else{u.push([i[t][0],this.computeDelta(i[t][1],w,x,r,q)])}}return u},set:function(i,m){var l=i.length,p=[],o,r,j,n,q;for(o=0;o<l;o++){r=i[o][1];if(Ext.isArray(r)){j=[];q=0;n=r.length;for(;q<n;q++){j.push(r[q].from+(r[q].delta*m)+(r[q].units||0))}p.push([i[o][0],j])}else{p.push([i[o][0],r.from+(r.delta*m)+(r.units||0)])}}return p}},color:{rgbRE:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,hexRE:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,hex3RE:/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,parseColor:function(g,i){i=(typeof i=="number")?i:1;var h,j=false,f;Ext.each([this.hexRE,this.rgbRE,this.hex3RE],function(a,b){h=(b%2==0)?16:10;f=a.exec(g);if(f&&f.length==4){if(b==2){f[1]+=f[1];f[2]+=f[2];f[3]+=f[3]}j={red:parseInt(f[1],h),green:parseInt(f[2],h),blue:parseInt(f[3],h)};return false}});return j||g},computeDelta:function(j,i,l,n){j=this.parseColor(j);i=this.parseColor(i,l);var k=n?n:j,h=typeof k,m=typeof i;if(h=="string"||h=="undefined"||m=="string"||m=="undefined"){return i||k}return{from:j,delta:{red:Math.round((i.red-k.red)*l),green:Math.round((i.green-k.green)*l),blue:Math.round((i.blue-k.blue)*l)}}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,n){var m=i.length,p=[],o,q,r,l,k;for(o=0;o<m;o++){q=i[o][1];if(q){l=q.from;k=q.delta;q=(typeof q=="object"&&"red" in q)?"rgb("+q.red+", "+q.green+", "+q.blue+")":q;q=(typeof q=="object"&&q.length)?q[0]:q;if(typeof q=="undefined"){return[]}r=typeof q=="string"?q:"rgb("+[(l.red+Math.round(k.red*n))%256,(l.green+Math.round(k.green*n))%256,(l.blue+Math.round(k.blue*n))%256].join(",")+")";p.push([i[o][0],r])}}return p}},object:{interpolate:function(g,e){e=(typeof e=="number")?e:1;var f={},h;for(h in g){f[h]=parseInt(g[h],10)*e}return f},computeDelta:function(j,i,n,h){j=this.interpolate(j);i=this.interpolate(i,n);var k=h?h:j,l={},m;for(m in i){l[m]=i[m]-k[m]}return{from:j,delta:l}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,o){var n=i.length,r=[],p={},q,m,l,s,t;for(q=0;q<n;q++){s=i[q][1];m=s.from;l=s.delta;for(t in m){p[t]=Math.round(m[t]+l[t]*o)}r.push([i[q][0],p])}return r}},path:{computeDelta:function(h,g,j,f){j=(typeof j=="number")?j:1;var i;h=+h||0;g=+g||0;i=(f!=null)?f:h;return{from:h,delta:(g-i)*j}},forcePath:function(b){if(!Ext.isArray(b)&&!Ext.isArray(b[0])){b=Ext.draw.Draw.parsePathString(b)}return b},get:function(D,x,E,k){var C=this.forcePath(x),v=[],i=D.length,B,y,u,z,t,w,A,F,j;for(u=0;u<i;u++){j=this.forcePath(D[u][1]);z=Ext.draw.Draw.interpolatePaths(j,C);j=z[0];C=z[1];B=j.length;F=[];for(w=0;w<B;w++){z=[j[w][0]];y=j[w].length;for(A=1;A<y;A++){t=k&&k[0][1][w][A].from;z.push(this.computeDelta(j[w][A],C[w][A],E,t))}F.push(z)}v.push([D[u][0],F])}return v},set:function(i,k){var j=i.length,t=[],r,s,u,q,p,v,x,w;for(r=0;r<j;r++){v=i[r][1];q=[];x=v.length;for(s=0;s<x;s++){p=[v[s][0]];w=v[s].length;for(u=1;u<w;u++){p.push(v[s][u].from+v[s][u].delta*k)}q.push(p.join(","))}t.push([i[r][0],q.join(",")])}return t}}}},function(){Ext.each(["outlineColor","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","fill","stroke"],function(b){this[b]=this.color},this)});Ext.define("Ext.fx.Anim",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager","Ext.fx.Animator","Ext.fx.Easing","Ext.fx.CubicBezier","Ext.fx.PropertyHandler"],isAnimation:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",damper:1,bezierRE:/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,reverse:false,running:false,paused:false,iterations:1,alternate:false,currentIteration:0,startTime:0,constructor:function(e){var d=this,f;e=e||{};if(e.keyframes){return Ext.create("Ext.fx.Animator",e)}e=Ext.apply(d,e);if(d.from===undefined){d.from={}}d.propHandlers={};d.config=e;d.target=Ext.fx.Manager.createTarget(d.target);d.easingFn=Ext.fx.Easing[d.easing];d.target.dynamic=d.dynamic;if(!d.easingFn){d.easingFn=String(d.easing).match(d.bezierRE);if(d.easingFn&&d.easingFn.length==5){f=d.easingFn;d.easingFn=Ext.fx.CubicBezier.cubicBezier(+f[1],+f[2],+f[3],+f[4])}}d.id=Ext.id(null,"ext-anim-");Ext.fx.Manager.addAnim(d);d.addEvents("beforeanimate","afteranimate","lastframe");d.mixins.observable.constructor.call(d,e);if(e.callback){d.on("afteranimate",e.callback,e.scope)}return d},setAttr:function(d,c){return Ext.fx.Manager.items.get(this.id).setAttr(this.target,d,c)},initAttrs:function(){var n=this,l=n.from,k=n.to,m=n.initialFrom||{},p={},r,q,j,o;for(o in k){if(k.hasOwnProperty(o)){r=n.target.getAttr(o,l[o]);q=k[o];if(!Ext.fx.PropertyHandler[o]){if(Ext.isObject(q)){j=n.propHandlers[o]=Ext.fx.PropertyHandler.object}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler.defaultHandler}}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler[o]}p[o]=j.get(r,q,n.damper,m[o],o)}}n.currentAttrs=p},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;if(!h.paused&&!h.currentAttrs){h.initAttrs()}h.running=true}},runAnim:function(l){var o=this,m=o.currentAttrs,s=o.duration,t=o.easingFn,u=o.propHandlers,q={},p,n,r,v;if(l>=s){l=s;v=true}if(o.reverse){l=s-l}for(r in m){if(m.hasOwnProperty(r)){n=m[r];p=v?1:t(l/s);q[r]=u[r].set(n,p)}}return q},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){if(f.alternate){f.reverse=!f.reverse}f.startTime=new Date();f.currentIteration=d;f.paused=false}else{f.currentIteration=0;f.end();f.fireEvent("lastframe",f,f.startTime)}},end:function(){var b=this;b.startTime=0;b.paused=false;b.running=false;Ext.fx.Manager.removeAnim(b);b.fireEvent("afteranimate",b,b.startTime)}});Ext.enableFx=true;Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"]},function(){var b=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{convert:function(a){return a},sortType:b.none,type:"auto"},STRING:{convert:function(d){var a=this.useNull?null:"";return(d===undefined||d===null)?a:String(d)},sortType:b.asUCString,type:"string"},INT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseInt(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"int"},FLOAT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseFloat(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"float"},BOOL:{convert:function(a){if(this.useNull&&(a===undefined||a===null||a==="")){return null}return a===true||a==="true"||a==1},sortType:b.none,type:"bool"},DATE:{convert:function(f){var e=this.dateFormat,a;if(!f){return null}if(Ext.isDate(f)){return f}if(e){if(e=="timestamp"){return new Date(f*1000)}if(e=="time"){return new Date(parseInt(f,10))}return Ext.Date.parse(f,e)}a=Date.parse(f);return a?new Date(a):null},sortType:b.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",constructor:function(e){if(Ext.isString(e)){e={name:e}}Ext.apply(this,e);var g=Ext.data.Types,f=this.sortType,h;if(this.type){if(Ext.isString(this.type)){this.type=g[this.type.toUpperCase()]||g.AUTO}}else{this.type=g.AUTO}if(Ext.isString(f)){this.sortType=Ext.data.SortTypes[f]}else{if(Ext.isEmpty(f)){this.sortType=this.type.sortType}}if(!this.convert){this.convert=this.type.convert}},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true,persist:true});Ext.define("Ext.data.NodeInterface",{requires:["Ext.data.Field"],statics:{decorate:function(p){if(!p.isNode){var k=Ext.ModelManager,n=p.modelName,l=k.getModel(n),i=l.prototype.idProperty,m=[],q,r,o;l.override(this.getPrototypeBody());m=this.applyFields(l,[{name:i,type:"string",defaultValue:null},{name:"parentId",type:"string",defaultValue:null},{name:"index",type:"int",defaultValue:null},{name:"depth",type:"int",defaultValue:0},{name:"expanded",type:"bool",defaultValue:false,persist:false},{name:"expandable",type:"bool",defaultValue:true,persist:false},{name:"checked",type:"auto",defaultValue:null},{name:"leaf",type:"bool",defaultValue:false,persist:false},{name:"cls",type:"string",defaultValue:null,persist:false},{name:"iconCls",type:"string",defaultValue:null,persist:false},{name:"icon",type:"string",defaultValue:null,persist:false},{name:"root",type:"boolean",defaultValue:false,persist:false},{name:"isLast",type:"boolean",defaultValue:false,persist:false},{name:"isFirst",type:"boolean",defaultValue:false,persist:false},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false},{name:"loaded",type:"boolean",defaultValue:false,persist:false},{name:"loading",type:"boolean",defaultValue:false,persist:false},{name:"href",type:"string",defaultValue:null,persist:false},{name:"hrefTarget",type:"string",defaultValue:null,persist:false},{name:"qtip",type:"string",defaultValue:null,persist:false},{name:"qtitle",type:"string",defaultValue:null,persist:false}]);o=m.length;for(q=0;q<o;++q){r=m[q];if(p.get(r.name)===undefined){p.data[r.name]=r.defaultValue}}}Ext.applyIf(p,{firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,childNodes:[]});p.commit(true);p.enableBubble(["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort"]);return p},applyFields:function(m,l){var r=m.prototype,p=r.fields,i=p.keys,n=l.length,s,q,t,o=[];for(q=0;q<n;q++){s=l[q];if(!Ext.Array.contains(i,s.name)){s=Ext.create("data.field",s);o.push(s);p.add(s)}}return o},getPrototypeBody:function(){return{isNode:true,createNode:function(b){if(Ext.isObject(b)&&!b.isModel){b=Ext.ModelManager.create(b,this.modelName)}return Ext.data.NodeInterface.decorate(b)},isLeaf:function(){return this.get("leaf")===true},setFirstChild:function(b){this.firstChild=b},setLastChild:function(b){this.lastChild=b},updateInfo:function(n){var m=this,u=m.isRoot(),p=m.parentNode,t=(!p?true:p.firstChild==m),q=(!p?true:p.lastChild==m),r=0,i=m,v=m.childNodes,o=v.length,s=0;while(i.parentNode){++r;i=i.parentNode}m.beginEdit();m.set({isFirst:t,isLast:q,depth:r,index:p?p.indexOf(m):0,parentId:p?p.getId():null});m.endEdit(n);if(n){m.commit()}for(s=0;s<o;s++){v[s].updateInfo(n)}},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var b=this;if(b.get("expandable")){return !(b.isLeaf()||(b.isLoaded()&&!b.hasChildNodes()))}return false},appendChild:function(q,i,k){var m=this,p,n,o,l,r;if(Ext.isArray(q)){for(p=0,n=q.length;p<n;p++){m.appendChild(q[p])}}else{q=m.createNode(q);if(i!==true&&m.fireEvent("beforeappend",m,q)===false){return false}o=m.childNodes.length;l=q.parentNode;if(l){if(i!==true&&q.fireEvent("beforemove",q,l,m,o)===false){return false}l.removeChild(q,null,false,true)}o=m.childNodes.length;if(o===0){m.setFirstChild(q)}m.childNodes.push(q);q.parentNode=m;q.nextSibling=null;m.setLastChild(q);r=m.childNodes[o-1];if(r){q.previousSibling=r;r.nextSibling=q;r.updateInfo(k)}else{q.previousSibling=null}q.updateInfo(k);if(!m.isLoaded()){m.set("loaded",true)}else{if(m.childNodes.length===1){m.set("loaded",m.isLoaded())}}if(i!==true){m.fireEvent("append",m,q,o);if(l){q.fireEvent("move",q,l,m,o)}}return q}},getBubbleTarget:function(){return this.parentNode},removeChild:function(j,g,l,i){var k=this,h=k.indexOf(j);if(h==-1||(l!==true&&k.fireEvent("beforeremove",k,j)===false)){return false}Ext.Array.erase(k.childNodes,h,1);if(k.firstChild==j){k.setFirstChild(j.nextSibling)}if(k.lastChild==j){k.setLastChild(j.previousSibling)}if(j.previousSibling){j.previousSibling.nextSibling=j.nextSibling;j.previousSibling.updateInfo(i)}if(j.nextSibling){j.nextSibling.previousSibling=j.previousSibling;j.nextSibling.updateInfo(i)}if(l!==true){k.fireEvent("remove",k,j)}if(!k.childNodes.length){k.set("loaded",k.isLoaded())}if(g){j.destroy(true)}else{j.clear()}return j},copy:function(k,l){var i=this,g=i.callOverridden(arguments),h=i.childNodes?i.childNodes.length:0,j;if(l){for(j=0;j<h;j++){g.appendChild(i.childNodes[j].copy(true))}}return g},clear:function(d){var c=this;c.parentNode=c.previousSibling=c.nextSibling=null;if(d){c.firstChild=c.lastChild=null}},destroy:function(e){var f=this,d=f.destroyOptions;if(e===true){f.clear(true);Ext.each(f.childNodes,function(a){a.destroy(true)});f.childNodes=null;delete f.destroyOptions;f.callOverridden([d])}else{f.destroyOptions=e;f.remove(true)}},insertBefore:function(m,j,o){var n=this,i=n.indexOf(j),p=m.parentNode,l=i,k;if(!j){return n.appendChild(m)}if(m==j){return false}m=n.createNode(m);if(o!==true&&n.fireEvent("beforeinsert",n,m,j)===false){return false}if(p==n&&n.indexOf(m)<i){l--}if(p){if(o!==true&&m.fireEvent("beforemove",m,p,n,i,j)===false){return false}p.removeChild(m)}if(l===0){n.setFirstChild(m)}Ext.Array.splice(n.childNodes,l,0,m);m.parentNode=n;m.nextSibling=j;j.previousSibling=m;k=n.childNodes[l-1];if(k){m.previousSibling=k;k.nextSibling=m;k.updateInfo()}else{m.previousSibling=null}m.updateInfo();if(!n.isLoaded()){n.set("loaded",true)}else{if(n.childNodes.length===1){n.set("loaded",n.isLoaded())}}if(o!==true){n.fireEvent("insert",n,m,j);if(p){m.fireEvent("move",m,p,n,l,j)}}return m},insertChild:function(e,f){var d=this.childNodes[e];if(d){return this.insertBefore(f,d)}else{return this.appendChild(f)}},remove:function(d,f){var e=this.parentNode;if(e){e.removeChild(this,d,f,true)}return this},removeAll:function(f,e){var g=this.childNodes,h;while((h=g[0])){this.removeChild(h,f,e)}return this},getChildAt:function(b){return this.childNodes[b]},replaceChild:function(f,g,h){var e=g?g.nextSibling:null;this.removeChild(g,h);this.insertBefore(f,e,h);return g},indexOf:function(b){return Ext.Array.indexOf(this.childNodes,b)},getPath:function(g,h){g=g||this.idProperty;h=h||"/";var e=[this.get(g)],f=this.parentNode;while(f){e.unshift(f.get(g));f=f.parentNode}return h+e.join(h)},getDepth:function(){return this.get("depth")},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.parentNode}},cascade:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead.")}return this.cascadeBy.apply(this,arguments)},cascadeBy:function(k,l,h){if(k.apply(l||this,h||[this])!==false){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){i[g].cascadeBy(k,l,h)}}},eachChild:function(k,l,h){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){if(k.apply(l||this,h||[i[g]])===false){break}}},findChild:function(d,f,e){return this.findChildBy(function(){return this.get(d)==f},null,e)},findChildBy:function(l,m,i){var n=this.childNodes,j=n.length,o=0,k,p;for(;o<j;o++){k=n[o];if(l.call(m||k,k)===true){return k}else{if(i){p=k.findChildBy(l,m,i);if(p!==null){return p}}}}return null},contains:function(b){return b.isAncestor(this)},isAncestor:function(d){var c=this.parentNode;while(c){if(c==d){return true}c=c.parentNode}return false},sort:function(k,h,i){var m=this.childNodes,l=m.length,n,j;if(l>0){Ext.Array.sort(m,k);for(n=0;n<l;n++){j=m[n];j.previousSibling=m[n-1];j.nextSibling=m[n+1];if(n===0){this.setFirstChild(j);j.updateInfo()}if(n==l-1){this.setLastChild(j);j.updateInfo()}if(h&&!j.isLeaf()){j.sort(k,true,true)}}if(i!==true){this.fireEvent("sort",this,m)}}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isLoading:function(){return this.get("loading")},isRoot:function(){return !this.parentNode},isVisible:function(){var b=this.parentNode;while(b){if(!b.isExpanded()){return false}b=b.parentNode}return true},expand:function(f,g,e){var h=this;if(!h.isLeaf()){if(h.isLoading()){h.on("expand",function(){h.expand(f,g,e)},h,{single:true})}else{if(!h.isExpanded()){h.fireEvent("beforeexpand",h,function(){h.set("expanded",true);h.fireEvent("expand",h,h.childNodes,false);if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}}}}else{Ext.callback(g,e||h)}},expandChildren:function(o,k,i){var l=this,n=0,r=l.childNodes,m=r.length,p,q=0;for(;n<m;++n){p=r[n];if(!p.isLeaf()&&!p.isExpanded()){q++;r[n].expand(o,function(){q--;if(k&&!q){Ext.callback(k,i||l,[l.childNodes])}})}}if(!q&&k){Ext.callback(k,i||l,[l.childNodes])}},collapse:function(f,g,e){var h=this;if(!h.isLeaf()){if(!h.collapsing&&h.isExpanded()){h.fireEvent("beforecollapse",h,function(){h.set("expanded",false);h.fireEvent("collapse",h,h.childNodes,false);if(f){h.collapseChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.collapseChildren(true,g,e)}}}else{Ext.callback(g,e||h,[h.childNodes])}},collapseChildren:function(o,k,i){var l=this,n=0,q=l.childNodes,m=q.length,p,r=0;for(;n<m;++n){p=q[n];if(!p.isLeaf()&&p.isExpanded()){r++;q[n].collapse(o,function(){r--;if(k&&!r){Ext.callback(k,i||l,[l.childNodes])}})}}if(!r&&k){Ext.callback(k,i||l,[l.childNodes])}}}}}});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(h){var i=[],g,j,f;for(f=0;f<this.length;f++){g=this.items[f];if(g.field==h){i.push(g)}}return i}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(c){var d=this;d.menu=c;d.callParent([c.el,{down:d.down,enter:d.enter,esc:d.escape,left:d.left,right:d.right,space:d.enter,tab:d.tab,up:d.up}])},down:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.DOWN&&e.isWhitelisted(f)){return true}e.focusNextItem(1)},enter:function(d){var f=this.menu,e=f.focusedItem;if(f.activeItem){f.onClick(d)}else{if(e&&e.isFormField){return true}}},escape:function(b){Ext.menu.Manager.hideAll()},focusNextItem:function(k){var j=this.menu,h=j.items,m=j.focusedItem,n=m?h.indexOf(m):-1,i=n+k;while(i!=n){if(i<0){i=h.length-1}else{if(i>=h.length){i=0}}var l=h.getAt(i);if(j.canActivateItem(l)){j.setActiveItem(l);break}i+=k}},isWhitelisted:function(b){return Ext.FocusManager.isWhitelisted(b)},left:function(e){var h=this.menu,g=h.focusedItem,f=h.activeItem;if(g&&this.isWhitelisted(g)){return true}h.hide();if(h.parentMenu){h.parentMenu.focus()}},right:function(j){var i=this.menu,h=i.focusedItem,g=i.activeItem,e;if(h&&this.isWhitelisted(h)){return true}if(g){e=i.activeItem.menu;if(e){g.expandMenu(0);Ext.defer(function(){e.setActiveItem(e.items.getAt(0))},25)}}},tab:function(c){var d=this;if(c.shiftKey){d.up(c)}else{d.down(c)}},up:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.UP&&e.isWhitelisted(f)){return true}e.focusNextItem(-1)}});Ext.define("Ext.menu.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.util.KeyMap"],alternateClassName:"Ext.menu.MenuMgr",uses:["Ext.menu.Menu"],menus:{},groups:{},attached:false,lastShow:new Date(),init:function(){var b=this;b.active=Ext.create("Ext.util.MixedCollection");Ext.getDoc().addKeyListener(27,function(){if(b.active.length>0){b.hideAll()}},b)},hideAll:function(){var d=this.active,c;if(d&&d.length>0){c=d.clone();c.each(function(a){a.hide()});return true}return false},onHide:function(e){var d=this,f=d.active;f.remove(e);if(f.length<1){Ext.getDoc().un("mousedown",d.onMouseDown,d);d.attached=false}},onShow:function(i){var l=this,k=l.active,m=k.last(),n=l.attached,h=i.getEl(),j;l.lastShow=new Date();k.add(i);if(!n){Ext.getDoc().on("mousedown",l.onMouseDown,l);l.attached=true}i.toFront()},onBeforeHide:function(b){if(b.activeChild){b.activeChild.hide()}if(b.autoHideTimer){clearTimeout(b.autoHideTimer);delete b.autoHideTimer}},onBeforeShow:function(e){var f=this.active,d=e.parentMenu;f.remove(e);if(!d&&!e.allowOtherMenus){this.hideAll()}else{if(d&&d.activeChild&&e!=d.activeChild){d.activeChild.hide()}}},onMouseDown:function(h){var e=this,i=e.active,g=e.lastShow,j=h.target;if(Ext.Date.getElapsed(g)>50&&i.length>0&&!h.getTarget("."+Ext.baseCSSPrefix+"menu")){e.hideAll();if(Ext.isIE&&Ext.fly(j).focusable()){j.focus()}}},register:function(c){var d=this;if(!d.active){d.init()}if(c.floating){d.menus[c.id]=c;c.on({beforehide:d.onBeforeHide,hide:d.onHide,beforeshow:d.onBeforeShow,show:d.onShow,scope:d})}},get:function(c){var d=this.menus;if(typeof c=="string"){if(!d){return null}return d[c]}else{if(c.isMenu){return c}else{if(Ext.isArray(c)){return Ext.create("Ext.menu.Menu",{items:c})}else{return Ext.ComponentManager.create(c,"menu")}}}},unregister:function(g){var f=this,e=f.menus,h=f.active;delete e[g.id];h.remove(g);g.un({beforehide:f.onBeforeHide,hide:f.onHide,beforeshow:f.onBeforeShow,show:f.onShow,scope:f})},registerCheckable:function(f){var e=this.groups,d=f.group;if(d){if(!e[d]){e[d]=[]}e[d].push(f)}},unregisterCheckable:function(f){var e=this.groups,d=f.group;if(d){Ext.Array.remove(e[d],f)}},onCheckChange:function(o,m){var j=this.groups,p=o.group,i=0,k,n,l;if(p&&m){k=j[p];n=k.length;for(;i<n;i++){l=k[i];if(l!=o){l.setChecked(false)}}}}});Ext.define("Ext.layout.container.AbstractFit",{extend:"Ext.layout.container.Container",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit"});Ext.define("Ext.layout.component.Button",{alias:["layout.button"],extend:"Ext.layout.component.Component",type:"button",cellClsRE:/-btn-(tl|br)\b/,htmlRE:/<.*>/,beforeLayout:function(){return this.callParent(arguments)||this.lastText!==this.owner.text},onLayout:function(B,q){var t=this,x=Ext.isNumber,A=t.owner,r=A.el,w=A.btnEl,z=A.btnInnerEl,y=A.btnIconEl,v=(A.icon||A.iconCls)&&(A.iconAlign=="top"||A.iconAlign=="bottom"),C=A.minWidth,s=A.maxWidth,D,p,u;t.getTargetInfo();t.callParent(arguments);z.unclip();t.setTargetSize(B,q);if(!x(B)){if(A.text&&(Ext.isIE6||Ext.isIE7)&&Ext.isStrict&&w&&w.getWidth()>20){p=t.btnFrameWidth;u=Ext.util.TextMetrics.measure(z,A.text);r.setWidth(u.width+p+t.adjWidth);w.setWidth(u.width+p);z.setWidth(u.width+p);if(v){y.setWidth(u.width+p)}}else{r.setWidth(null);w.setWidth(null);z.setWidth(null);y.setWidth(null)}if(C||s){D=r.getWidth();if(C&&(D<C)){t.setTargetSize(C,q)}else{if(s&&(D>s)){z.clip();t.setTargetSize(s,q)}}}}this.lastText=A.text},setTargetSize:function(v,l){var p=this,u=p.owner,r=Ext.isNumber,s=u.btnInnerEl,n=(r(v)?v-p.adjWidth:v),q=(r(l)?l-p.adjHeight:l),t=p.btnFrameHeight,m=u.getText(),o;p.callParent(arguments);p.setElementSize(u.btnEl,n,q);p.setElementSize(s,n,q);if(q>=0){s.setStyle("line-height",q-t+"px")}if(m&&this.htmlRE.test(m)){s.setStyle("line-height","normal");o=Ext.util.TextMetrics.measure(s,m).height;s.setStyle("padding-top",p.btnFrameTop+Math.max(s.getHeight()-t-o,0)/2+"px");p.setElementSize(s,n,q)}},getTargetInfo:function(){var l=this,i=l.owner,m=i.el,n=l.frameSize,j=i.frameBody,h=i.btnWrap,k=i.btnInnerEl;if(!("adjWidth" in l)){Ext.apply(l,{adjWidth:n.left+n.right+m.getBorderWidth("lr")+m.getPadding("lr")+h.getPadding("lr")+(j?j.getFrameWidth("lr"):0),adjHeight:n.top+n.bottom+m.getBorderWidth("tb")+m.getPadding("tb")+h.getPadding("tb")+(j?j.getFrameWidth("tb"):0),btnFrameWidth:k.getFrameWidth("lr"),btnFrameHeight:k.getFrameWidth("tb"),btnFrameTop:k.getFrameWidth("t")})}return l.callParent()}});Ext.define("Ext.layout.component.Tab",{alias:["layout.tab"],extend:"Ext.layout.component.Button",beforeLayout:function(){var c=this,d=c.lastClosable!==c.owner.closable;if(d){delete c.adjWidth}return this.callParent(arguments)||d},onLayout:function(){var b=this;b.callParent(arguments);b.lastClosable=b.owner.closable}});Ext.define("Ext.state.Manager",{singleton:true,requires:["Ext.state.Provider"],constructor:function(){this.provider=Ext.create("Ext.state.Provider")},setProvider:function(b){this.provider=b},get:function(c,d){return this.provider.get(c,d)},set:function(d,c){this.provider.set(d,c)},clear:function(b){this.provider.clear(b)},getProvider:function(){return this.provider}});Ext.define("Ext.state.Stateful",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.state.Manager"],stateful:true,saveDelay:100,autoGenIdRe:/^((\w+-)|(ext-comp-))\d{4,}$/i,constructor:function(d){var c=this;d=d||{};if(Ext.isDefined(d.stateful)){c.stateful=d.stateful}if(Ext.isDefined(d.saveDelay)){c.saveDelay=d.saveDelay}c.stateId=c.stateId||d.stateId;if(!c.stateEvents){c.stateEvents=[]}if(d.stateEvents){c.stateEvents.concat(d.stateEvents)}this.addEvents("beforestaterestore","staterestore","beforestatesave","statesave");c.mixins.observable.constructor.call(c);if(c.stateful!==false){c.initStateEvents();c.initState()}},initStateEvents:function(){this.addStateEvents(this.stateEvents)},addStateEvents:function(h){if(!Ext.isArray(h)){h=[h]}var g=this,e=0,f=h.length;for(;e<f;++e){g.on(h[e],g.onStateChange,g)}},onStateChange:function(){var c=this,d=c.saveDelay;if(d>0){if(!c.stateTask){c.stateTask=Ext.create("Ext.util.DelayedTask",c.saveState,c)}c.stateTask.delay(c.saveDelay)}else{c.saveState()}},saveState:function(){var e=this,f,d;if(e.stateful!==false){f=e.getStateId();if(f){d=e.getState();if(e.fireEvent("beforestatesave",e,d)!==false){Ext.state.Manager.set(f,d);e.fireEvent("statesave",e,d)}}}},getState:function(){return null},applyState:function(b){if(b){Ext.apply(this,b)}},getStateId:function(){var d=this,c=d.stateId;if(!c){c=d.autoGenIdRe.test(String(d.id))?null:d.id}return c},initState:function(){var e=this,f=e.getStateId(),d;if(e.stateful!==false){if(f){d=Ext.state.Manager.get(f);if(d){d=Ext.apply({},d);if(e.fireEvent("beforestaterestore",e,d)!==false){e.applyState(d);e.fireEvent("staterestore",e,d)}}}}},savePropToState:function(i,j,k){var g=this,l=g[i],h=g.initialConfig;if(g.hasOwnProperty(i)){if(!h||h[i]!==l){if(j){j[k||i]=l}return true}}return false},savePropsToState:function(f,d){var e=this;Ext.each(f,function(a){e.savePropToState(a,d)});return d},destroy:function(){var b=this.stateTask;if(b){b.cancel()}this.clearListeners()}});Ext.define("Ext.AbstractComponent",{requires:["Ext.ComponentQuery","Ext.ComponentManager"],mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate",state:"Ext.state.Stateful"},uses:["Ext.PluginManager","Ext.ComponentManager","Ext.Element","Ext.DomHelper","Ext.XTemplate","Ext.ComponentQuery","Ext.ComponentLoader","Ext.EventManager","Ext.layout.Layout","Ext.layout.component.Auto","Ext.LoadMask","Ext.ZIndexManager"],statics:{AUTO_ID:1000},isComponent:true,getAutoId:function(){return ++Ext.AbstractComponent.AUTO_ID},renderTpl:null,tplWriteMode:"overwrite",baseCls:Ext.baseCSSPrefix+"component",disabledCls:Ext.baseCSSPrefix+"item-disabled",ui:"default",uiCls:[],hidden:false,disabled:false,draggable:false,floating:false,hideMode:"display",styleHtmlContent:false,styleHtmlCls:Ext.baseCSSPrefix+"html",autoShow:false,autoRender:false,needsLayout:false,allowDomMove:true,rendered:false,componentLayoutCounter:0,weight:0,trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,maskOnDisable:true,constructor:function(e){var g=this,h,f;e=e||{};g.initialConfig=e;Ext.apply(g,e);g.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","resize","move");g.getId();g.mons=[];g.additionalCls=[];g.renderData=g.renderData||{};g.renderSelectors=g.renderSelectors||{};if(g.plugins){g.plugins=[].concat(g.plugins);g.constructPlugins()}g.initComponent();Ext.ComponentManager.register(g);g.mixins.observable.constructor.call(g);g.mixins.state.constructor.call(g,e);this.addStateEvents("resize");if(g.plugins){g.plugins=[].concat(g.plugins);for(h=0,f=g.plugins.length;h<f;h++){g.plugins[h]=g.initPlugin(g.plugins[h])}}g.loader=g.getLoader();if(g.renderTo){g.render(g.renderTo)}if(g.autoShow){g.show()}if(Ext.isDefined(g.disabledClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: disabledClass has been deprecated. Please use disabledCls.")}g.disabledCls=g.disabledClass;delete g.disabledClass}},initComponent:function(){this.constructPlugins()},getState:function(){var k=this,l=k.ownerCt?(k.shadowOwnerCt||k.ownerCt).getLayout():null,j={collapsed:k.collapsed},n=k.width,h=k.height,i=k.collapseMemento,m;if(k.collapsed&&i){if(Ext.isDefined(i.data.width)){n=i.width}if(Ext.isDefined(i.data.height)){h=i.height}}if(l&&k.flex){j.flex=k.flex;if(l.perpendicularPrefix){j[l.perpendicularPrefix]=k["get"+l.perpendicularPrefixCap]()}else{if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: Specified a flex value on a component not inside a Box layout")}}}else{if(l&&k.anchor){j.anchor=k.anchor;m=k.anchor.split(" ").concat(null);if(!m[0]){if(k.width){j.width=n}}if(!m[1]){if(k.height){j.height=h}}}else{if(k.width){j.width=n}if(k.height){j.height=h}}}if(j.width==k.initialConfig.width){delete j.width}if(j.height==k.initialConfig.height){delete j.height}if(l&&l.align&&(l.align.indexOf("stretch")!==-1)){delete j[l.perpendicularPrefix]}return j},show:Ext.emptyFn,animate:function(s){var o=this,l;s=s||{};l=s.to||{};if(Ext.fx.Manager.hasFxBlock(o.id)){return o}if(!s.dynamic&&(l.height||l.width)){var p=o.getWidth(),h=p,q=o.getHeight(),r=q,t=false;if(l.height&&l.height>q){r=l.height;t=true}if(l.width&&l.width>p){h=l.width;t=true}if(t){var m=!Ext.isNumber(o.width),n=!Ext.isNumber(o.height);o.componentLayout.childrenChanged=true;o.setSize(h,r,o.ownerCt);o.el.setSize(p,q);if(m){delete o.width}if(n){delete o.height}}}return o.mixins.animate.animate.apply(o,arguments)},findLayoutController:function(){return this.findParentBy(function(b){return !b.ownerCt||(b.layout.layoutBusy&&!b.ownerCt.layout.layoutBusy)})},onShow:function(){var b=this.needsLayout;if(Ext.isObject(b)){this.doComponentLayout(b.width,b.height,b.isSetSize,b.ownerCt)}},constructPlugin:function(b){if(b.ptype&&typeof b.init!="function"){b.cmp=this;b=Ext.PluginManager.create(b)}else{if(typeof b=="string"){b=Ext.PluginManager.create({ptype:b,cmp:this})}}return b},constructPlugins:function(){var g=this,e=g.plugins,h,f;if(e){for(h=0,f=e.length;h<f;h++){e[h]=g.constructPlugin(e[h])}}},initPlugin:function(b){b.init(this);return b},doAutoRender:function(){var b=this;if(b.floating){b.render(document.body)}else{b.render(Ext.isBoolean(b.autoRender)?Ext.getBody():b.autoRender)}},render:function(d,e){var f=this;if(!f.rendered&&f.fireEvent("beforerender",f)!==false){f.rendering=true;if(f.el){f.el=Ext.get(f.el)}if(f.floating){f.onFloatRender()}d=f.initContainer(d);f.onRender(d,e);f.el.setVisibilityMode(Ext.Element[f.hideMode.toUpperCase()]);if(f.overCls){f.el.hover(f.addOverCls,f.removeOverCls,f)}f.fireEvent("render",f);f.initContent();f.afterRender(d);f.fireEvent("afterrender",f);f.initEvents();if(f.hidden){f.el.hide()}if(f.disabled){f.disable(true)}delete f.rendering}return f},onRender:function(i,j){var m=this,o=m.el,n=m.initStyles(),k,l,p;j=m.getInsertPosition(j);if(!o){if(j){o=Ext.DomHelper.insertBefore(j,m.getElConfig(),true)}else{o=Ext.DomHelper.append(i,m.getElConfig(),true)}}else{if(m.allowDomMove!==false){if(j){i.dom.insertBefore(o.dom,j)}else{i.dom.appendChild(o.dom)}}}if(Ext.scopeResetCSS&&!m.ownerCt){if(o.dom==Ext.getBody().dom){o.parent().addCls(Ext.baseCSSPrefix+"reset")}else{m.resetEl=o.wrap({cls:Ext.baseCSSPrefix+"reset"})}}m.setUI(m.ui);o.addCls(m.initCls());o.setStyle(n);m.el=o;m.initFrame();k=m.initRenderTpl();if(k){l=m.initRenderData();k.append(m.getTargetEl(),l)}m.applyRenderSelectors();m.rendered=true},afterRender:function(){var e=this,f,d;e.getComponentLayout();if(e.collapsed||(!e.ownerCt||(e.height||e.width))){e.setSize(e.width,e.height)}else{e.renderChildren()}if(e.floating&&(e.x===undefined||e.y===undefined)){if(e.floatParent){d=e.el.getAlignToXY(e.floatParent.getTargetEl(),"c-c");f=e.floatParent.getTargetEl().translatePoints(d[0],d[1])}else{d=e.el.getAlignToXY(e.container,"c-c");f=e.container.translatePoints(d[0],d[1])}e.x=e.x===undefined?f.left:e.x;e.y=e.y===undefined?f.top:e.y}if(Ext.isDefined(e.x)||Ext.isDefined(e.y)){e.setPosition(e.x,e.y)}if(e.styleHtmlContent){e.getTargetEl().addCls(e.styleHtmlCls)}},registerFloatingItem:function(c){var d=this;if(!d.floatingItems){d.floatingItems=Ext.create("Ext.ZIndexManager",d)}d.floatingItems.register(c)},renderChildren:function(){var c=this,d=c.getComponentLayout();c.suspendLayout=true;d.renderChildren();delete c.suspendLayout},frameCls:Ext.baseCSSPrefix+"frame",frameIdRegex:/[-]frame\d+[TMB][LCR]$/,frameElementCls:{tl:[],tc:[],tr:[],ml:[],mc:[],mr:[],bl:[],bc:[],br:[]},frameTpl:['<tpl if="top">','<tpl if="left"><div id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>",'<tpl if="left"><div id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>','<tpl if="bottom">','<tpl if="left"><div id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>"],frameTableTpl:["<table><tbody>",'<tpl if="top">',"<tr>",'<tpl if="left"><td id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","<tr>",'<tpl if="left"><td id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" style="background-position: 0 0;" role="presentation"></td>','<tpl if="right"><td id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>",'<tpl if="bottom">',"<tr>",'<tpl if="left"><td id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","</tbody></table>"],initFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var h=this,i=h.getFrameInfo(),f=i.width,g=h.getFrameTpl(i.table),j;if(h.frame){h.frameGenId=j=(h.frameGenId||0)+1;j=h.id+"-frame"+j;g.insertFirst(h.el,Ext.apply({},{fgid:j,ui:h.ui,uiCls:h.uiCls,frameCls:h.frameCls,baseCls:h.baseCls,frameWidth:f,top:!!i.top,left:!!i.left,right:!!i.right,bottom:!!i.bottom},h.getFramePositions(i)));h.frameBody=h.el.down("."+h.frameCls+"-mc");h.removeChildEls(function(a){return a.id&&h.frameIdRegex.test(a.id)});Ext.each(["TL","TC","TR","ML","MC","MR","BL","BC","BR"],function(a){h.childEls.push({name:"frame"+a,id:j+a})})}},updateFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,j=this.frameSize&&this.frameSize.table,k=this.frameTL,m=this.frameBL,n=this.frameML,i=this.frameMC,h;this.initFrame();if(i){if(l.frame){delete l.frameTL;delete l.frameTC;delete l.frameTR;delete l.frameML;delete l.frameMC;delete l.frameMR;delete l.frameBL;delete l.frameBC;delete l.frameBR;this.applyRenderSelectors();h=this.frameMC.dom.className;i.insertAfter(this.frameMC);this.frameMC.remove();this.frameBody=this.frameMC=i;i.dom.className=h;if(j){l.el.query("> table")[1].remove()}else{if(k){k.remove()}if(m){m.remove()}n.remove()}}else{}}else{if(l.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,i=l.el.getStyle("background-position-x"),j=l.el.getStyle("background-position-y"),k,g=false,h;if(!i&&!j){k=l.el.getStyle("background-position").split(" ");i=k[0];j=k[1]}if(parseInt(i,10)>=1000000&&parseInt(j,10)>=1000000){h=Math.max;g={table:i.substr(0,3)=="110",vertical:j.substr(0,3)=="110",top:h(i.substr(3,2),i.substr(5,2)),right:h(i.substr(5,2),j.substr(3,2)),bottom:h(j.substr(3,2),j.substr(5,2)),left:h(j.substr(5,2),i.substr(3,2))};g.width=h(g.top,g.right,g.bottom,g.left);l.el.setStyle("background-image","none")}if(l.frame===true&&!g){Ext.Error.raise("You have set frame: true explicity on this component while it doesn't have any framing defined in the CSS template. In this case IE can't figure out what sizes to use and thus framing on this component will be disabled.")}l.frame=l.frame||!!g;l.frameSize=g||false;return g},getFramePositions:function(n){var l=this,k=n.width,j=l.dock,o,q,m,p,r;if(n.vertical){q="0 -"+(k*0)+"px";m="0 -"+(k*1)+"px";if(j&&j=="right"){q="right -"+(k*0)+"px";m="right -"+(k*1)+"px"}o={tl:"0 -"+(k*0)+"px",tr:"0 -"+(k*1)+"px",bl:"0 -"+(k*2)+"px",br:"0 -"+(k*3)+"px",ml:"-"+(k*1)+"px 0",mr:"right 0",tc:q,bc:m}}else{p="-"+(k*0)+"px 0";r="right 0";if(j&&j=="bottom"){p="left bottom";r="right bottom"}o={tl:"0 -"+(k*2)+"px",tr:"right -"+(k*3)+"px",bl:"0 -"+(k*4)+"px",br:"right -"+(k*5)+"px",ml:p,mr:r,tc:"0 -"+(k*0)+"px",bc:"0 -"+(k*1)+"px"}}return o},getFrameTpl:function(b){return b?this.getTpl("frameTableTpl"):this.getTpl("frameTpl")},initCls:function(){var c=this,d=[];d.push(c.baseCls);if(Ext.isDefined(c.cmpCls)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.")}c.componentCls=c.cmpCls;delete c.cmpCls}if(c.componentCls){d.push(c.componentCls)}else{c.componentCls=c.baseCls}if(c.cls){d.push(c.cls);delete c.cls}return d.concat(c.additionalCls)},setUI:function(k){var l=this,h=Ext.Array.clone(l.uiCls),j=[],m=[],i,n;for(n=0;n<h.length;n++){i=h[n];m=m.concat(l.removeClsWithUI(i,true));j.push(i)}if(m.length){l.removeCls(m)}l.removeUIFromElement();l.ui=k;l.addUIToElement();m=[];for(n=0;n<j.length;n++){i=j[n];m=m.concat(l.addClsWithUI(i,true))}if(m.length){l.addCls(m)}},addClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&!i.hasUICls(g[f])){i.uiCls=Ext.Array.clone(i.uiCls);i.uiCls.push(g[f]);j=j.concat(i.addUIClsToElement(g[f]))}}if(h!==true){i.addCls(j)}return j},removeClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&i.hasUICls(g[f])){i.uiCls=Ext.Array.remove(i.uiCls,g[f]);j=j.concat(i.removeUIClsFromElement(g[f]))}}if(h!==true){i.removeCls(j)}return j},hasUICls:function(e){var d=this,f=d.uiCls||[];return Ext.Array.contains(f,e)},addUIClsToElement:function(j,t){var n=this,i=[],m=n.frameElementCls;i.push(Ext.baseCSSPrefix+j);i.push(n.baseCls+"-"+j);i.push(n.baseCls+"-"+n.ui+"-"+j);if(!t&&n.frame&&!Ext.supports.CSS3BorderRadius){var p=["tl","tc","tr","ml","mc","mr","bl","bc","br"],r,o,q,s;for(o=0;o<p.length;o++){s=n["frame"+p[o].toUpperCase()];r=[n.baseCls+"-"+n.ui+"-"+p[o],n.baseCls+"-"+n.ui+"-"+j+"-"+p[o]];if(s&&s.dom){s.addCls(r)}else{for(q=0;q<r.length;q++){if(Ext.Array.indexOf(m[p[o]],r[q])==-1){m[p[o]].push(r[q])}}}}}n.frameElementCls=m;return i},removeUIClsFromElement:function(i,k){var l=this,j=[],m=l.frameElementCls;j.push(Ext.baseCSSPrefix+i);j.push(l.baseCls+"-"+i);j.push(l.baseCls+"-"+l.ui+"-"+i);if(!k&&l.frame&&!Ext.supports.CSS3BorderRadius){var o=["tl","tc","tr","ml","mc","mr","bl","bc","br"],p,n;i=l.baseCls+"-"+l.ui+"-"+i+"-"+o[p];for(p=0;p<o.length;p++){n=l["frame"+o[p].toUpperCase()];if(n&&n.dom){n.removeCls(i)}else{Ext.Array.remove(m[o[p]],i)}}}l.frameElementCls=m;return j},addUIToElement:function(j){var k=this,l=k.frameElementCls;k.addCls(k.baseCls+"-"+k.ui);if(k.frame&&!Ext.supports.CSS3BorderRadius){var n=["tl","tc","tr","ml","mc","mr","bl","bc","br"],h,m,i;for(h=0;h<n.length;h++){m=k["frame"+n[h].toUpperCase()];i=k.baseCls+"-"+k.ui+"-"+n[h];if(m){m.addCls(i)}else{if(!Ext.Array.contains(l[n[h]],i)){l[n[h]].push(i)}}}}},removeUIFromElement:function(){var j=this,k=j.frameElementCls;j.removeCls(j.baseCls+"-"+j.ui);if(j.frame&&!Ext.supports.CSS3BorderRadius){var m=["tl","tc","tr","ml","mc","mr","bl","bc","br"],n,h,l,i;for(n=0;n<m.length;n++){l=j["frame"+m[n].toUpperCase()];i=j.baseCls+"-"+j.ui+"-"+m[n];if(l){l.removeCls(i)}else{Ext.Array.remove(k[m[n]],i)}}}},getElConfig:function(){if(Ext.isString(this.autoEl)){this.autoEl={tag:this.autoEl}}var b=this.autoEl||{tag:"div"};b.id=this.id;return b},getInsertPosition:function(b){if(b!==undefined){if(Ext.isNumber(b)){b=this.container.dom.childNodes[b]}else{b=Ext.getDom(b)}}return b},initContainer:function(d){var c=this;if(!d&&c.el){d=c.el.dom.parentNode;c.allowDomMove=false}c.container=Ext.get(d);if(c.ctCls){c.container.addCls(c.ctCls)}return c.container},initRenderData:function(){var b=this;return Ext.applyIf(b.renderData,{id:b.id,ui:b.ui,uiCls:b.uiCls,baseCls:b.baseCls,componentCls:b.componentCls,frame:b.frame})},getTpl:function(j){var h=this,f=h.self.prototype,i,g;if(h.hasOwnProperty(j)){g=h[j];if(g&&!(g instanceof Ext.XTemplate)){h[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g)}return h[j]}if(!(f[j] instanceof Ext.XTemplate)){i=f;do{if(i.hasOwnProperty(j)){g=i[j];if(g&&!(g instanceof Ext.XTemplate)){i[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g);break}}i=i.superclass}while(i)}return f[j]},initRenderTpl:function(){return this.getTpl("renderTpl")},initStyles:function(){var d={},f=this,e=Ext.Element;if(Ext.isString(f.style)){d=e.parseStyles(f.style)}else{d=Ext.apply({},f.style)}if(f.padding!==undefined){d.padding=e.unitizeBox((f.padding===true)?5:f.padding)}if(f.margin!==undefined){d.margin=e.unitizeBox((f.margin===true)?5:f.margin)}delete f.style;return d},initContent:function(){var e=this,g=e.getTargetEl(),f,h;if(e.html){g.update(Ext.DomHelper.markup(e.html));delete e.html}if(e.contentEl){f=Ext.get(e.contentEl);h=Ext.baseCSSPrefix;f.removeCls([h+"hidden",h+"hide-display",h+"hide-offsets",h+"hide-nosize"]);g.appendChild(f.dom)}if(e.tpl){if(!e.tpl.isTemplate){e.tpl=Ext.create("Ext.XTemplate",e.tpl)}if(e.data){e.tpl[e.tplWriteMode](g,e.data);delete e.data}}},initEvents:function(){var j=this,h=j.afterRenderEvents,f,i,g=function(a){j.mon(f,a)};if(h){for(i in h){if(h.hasOwnProperty(i)){f=j[i];if(f&&f.on){Ext.each(h[i],g)}}}}},addChildEls:function(){var c=this,d=c.childEls||(c.childEls=[]);d.push.apply(d,arguments)},removeChildEls:function(k){var l=this,i=l.childEls,m=(l.childEls=[]),j,h,n;for(h=0,j=i.length;h<j;++h){n=i[h];if(!k(n)){m.push(n)}}},applyRenderSelectors:function(){var o=this,n=o.childEls,m=o.renderSelectors,t=o.el,q=t.dom,l,i,r,p,s;if(n){l=o.id+"-";for(p=n.length;p--;){i=r=n[p];if(typeof(i)!="string"){r=i.id||(l+i.itemId);i=i.name}else{r=l+r}o[i]=t.getById(r)}}if(m){for(s in m){if(m.hasOwnProperty(s)&&m[s]){o[s]=Ext.get(Ext.DomQuery.selectNode(m[s],q))}}}},is:function(b){return Ext.ComponentQuery.is(this,b)},up:function(c){var d=this.ownerCt;if(c){for(;d;d=d.ownerCt){if(Ext.ComponentQuery.is(d,c)){return d}}}return d},nextSibling:function(c){var j=this.ownerCt,l,k,h,i;if(j){l=j.items;h=l.indexOf(this)+1;if(h){if(c){for(k=l.getCount();h<k;h++){if((i=l.getAt(h)).is(c)){return i}}}else{if(h<l.getCount()){return l.getAt(h)}}}}return null},previousSibling:function(c){var i=this.ownerCt,j,g,h;if(i){j=i.items;g=j.indexOf(this);if(g!=-1){if(c){for(--g;g>=0;g--){if((h=j.getAt(g)).is(c)){return h}}}else{if(g){return j.getAt(--g)}}}}return null},previousNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.prev(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items.items,l=Ext.Array.indexOf(k,j)-1;l>-1;l--){if(k[l].query){h=k[l].query(n);h=h[h.length-1];if(h){return h}}}return j.ownerCt.previousNode(n,true)}},nextNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.next(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items,l=k.indexOf(j)+1,k=k.items,i=k.length;l<i;l++){if(k[l].down){h=k[l].down(n);if(h){return h}}}return j.ownerCt.nextNode(n)}},getId:function(){return this.id||(this.id="ext-comp-"+(this.getAutoId()))},getItemId:function(){return this.itemId||this.id},getEl:function(){return this.el},getTargetEl:function(){return this.frameBody||this.el},isXType:function(c,d){if(Ext.isFunction(c)){c=c.xtype}else{if(Ext.isObject(c)){c=c.statics().xtype}}return !d?("/"+this.getXTypes()+"/").indexOf("/"+c+"/")!=-1:this.self.xtype==c},getXTypes:function(){var h=this.self,g,e,f;if(!h.xtypes){g=[];e=this;while(e){f=e.xtypes;if(f!==undefined){g.unshift.apply(g,f)}e=e.superclass}h.xtypeChain=g;h.xtypes=g.join("/")}return h.xtypes},update:function(e,h,f){var g=this;if(g.tpl&&!Ext.isString(e)){g.data=e;if(g.rendered){g.tpl[g.tplWriteMode](g.getTargetEl(),e||{})}}else{g.html=Ext.isObject(e)?Ext.DomHelper.markup(e):e;if(g.rendered){g.getTargetEl().update(g.html,h,f)}}if(g.rendered){g.doComponentLayout()}},setVisible:function(b){return this[b?"show":"hide"]()},isVisible:function(g){var j=this,h=j,i=!j.hidden,f=j.ownerCt;j.hiddenAncestor=false;if(j.destroyed){return false}if(g&&i&&j.rendered&&f){while(f){if(f.hidden||(f.collapsed&&!(f.getDockedItems&&Ext.Array.contains(f.getDockedItems(),h)))){j.hiddenAncestor=f;i=false;break}h=f;f=f.ownerCt}}return i},enable:function(d){var c=this;if(c.rendered){c.el.removeCls(c.disabledCls);c.el.dom.disabled=false;c.onEnable()}c.disabled=false;if(d!==true){c.fireEvent("enable",c)}return c},disable:function(d){var c=this;if(c.rendered){c.el.addCls(c.disabledCls);c.el.dom.disabled=true;c.onDisable()}c.disabled=true;if(d!==true){c.fireEvent("disable",c)}return c},onEnable:function(){if(this.maskOnDisable){this.el.unmask()}},onDisable:function(){if(this.maskOnDisable){this.el.mask()}},isDisabled:function(){return this.disabled},setDisabled:function(b){return this[b?"disable":"enable"]()},isHidden:function(){return this.hidden},addCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.addCls(d)}else{c.additionalCls=Ext.Array.unique(c.additionalCls.concat(d))}return c},addClass:function(){return this.addCls.apply(this,arguments)},removeCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.removeCls(d)}else{if(c.additionalCls.length){Ext.each(d,function(a){Ext.Array.remove(c.additionalCls,a)})}}return c},removeClass:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: removeClass has been deprecated. Please use removeCls.")}return this.removeCls.apply(this,arguments)},addOverCls:function(){var b=this;if(!b.disabled){b.el.addCls(b.overCls)}},removeOverCls:function(){this.el.removeCls(this.overCls)},addListener:function(h,k,l,i){var j=this,m,n;if(Ext.isString(h)&&(Ext.isObject(k)||i&&i.element)){if(i.element){m=k;k={};k[h]=m;h=i.element;if(l){k.scope=l}for(n in i){if(i.hasOwnProperty(n)){if(j.eventOptionsRe.test(n)){k[n]=i[n]}}}}if(j[h]&&j[h].on){j.mon(j[h],k)}else{j.afterRenderEvents=j.afterRenderEvents||{};if(!j.afterRenderEvents[h]){j.afterRenderEvents[h]=[]}j.afterRenderEvents[h].push(k)}}return j.mixins.observable.addListener.apply(j,arguments)},removeManagedListenerItem:function(i,j,k,o,m,n){var l=this,p=j.options?j.options.element:null;if(p){p=l[p];if(p&&p.un){if(i||(j.item===k&&j.ename===o&&(!m||j.fn===m)&&(!n||j.scope===n))){p.un(j.ename,j.fn,j.scope);if(!i){Ext.Array.remove(l.managedListeners,j)}}}}else{return l.mixins.observable.removeManagedListenerItem.apply(l,arguments)}},getBubbleTarget:function(){return this.ownerCt},isFloating:function(){return this.floating},isDraggable:function(){return !!this.draggable},isDroppable:function(){return !!this.droppable},onAdded:function(d,c){this.ownerCt=d;this.fireEvent("added",this,d,c)},onRemoved:function(){var b=this;b.fireEvent("removed",b,b.ownerCt);delete b.ownerCt},beforeDestroy:Ext.emptyFn,onResize:Ext.emptyFn,setSize:function(e,f){var h=this,g;if(Ext.isObject(e)){f=e.height;e=e.width}if(Ext.isNumber(e)){e=Ext.Number.constrain(e,h.minWidth,h.maxWidth)}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,h.minHeight,h.maxHeight)}if(!h.rendered||!h.isVisible()){if(h.hiddenAncestor){g=h.hiddenAncestor.layoutOnShow;g.remove(h);g.add(h)}h.needsLayout={width:e,height:f,isSetSize:true};if(!h.rendered){h.width=(e!==undefined)?e:h.width;h.height=(f!==undefined)?f:h.height}return h}h.doComponentLayout(e,f,true);return h},isFixedWidth:function(){var c=this,d=c.layoutManagedWidth;if(Ext.isDefined(c.width)||d==1){return true}if(d==2){return false}return(c.ownerCt&&c.ownerCt.isFixedWidth())},isFixedHeight:function(){var d=this,c=d.layoutManagedHeight;if(Ext.isDefined(d.height)||c==1){return true}if(c==2){return false}return(d.ownerCt&&d.ownerCt.isFixedHeight())},setCalculatedSize:function(f,g,h){var j=this,i;if(Ext.isObject(f)){h=f.ownerCt;g=f.height;f=f.width}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,j.minWidth,j.maxWidth)}if(Ext.isNumber(g)){g=Ext.Number.constrain(g,j.minHeight,j.maxHeight)}if(!j.rendered||!j.isVisible()){if(j.hiddenAncestor){i=j.hiddenAncestor.layoutOnShow;i.remove(j);i.add(j)}j.needsLayout={width:f,height:g,isSetSize:false,ownerCt:h};return j}j.doComponentLayout(f,g,false,h);return j},doComponentLayout:function(l,h,n,j){var k=this,m=k.getComponentLayout(),i=m.lastComponentSize||{width:undefined,height:undefined};if(k.rendered&&m){if(!Ext.isDefined(l)){if(k.isFixedWidth()){l=Ext.isDefined(k.width)?k.width:i.width}}if(!Ext.isDefined(h)){if(k.isFixedHeight()){h=Ext.isDefined(k.height)?k.height:i.height}}if(n){k.width=l;k.height=h}m.layout(l,h,n,j)}return k},forceComponentLayout:function(){this.doComponentLayout()},setComponentLayout:function(c){var d=this.componentLayout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.componentLayout=c;c.setOwner(this)},getComponentLayout:function(){var b=this;if(!b.componentLayout||!b.componentLayout.isLayout){b.setComponentLayout(Ext.layout.Layout.create(b.componentLayout,"autocomponent"))}return b.componentLayout},afterComponentLayout:function(n,i,h,j){var k=this,l=k.componentLayout,m=k.preLayoutSize;++k.componentLayoutCounter;if(!m||((n!==m.width)||(i!==m.height))){k.fireEvent("resize",k,n,i)}},beforeComponentLayout:function(h,f,e,g){this.preLayoutSize=this.componentLayout.lastComponentSize;return true},setPosition:function(e,f){var d=this;if(Ext.isObject(e)){f=e.y;e=e.x}if(!d.rendered){return d}if(e!==undefined||f!==undefined){d.el.setBox(e,f);d.onPosition(e,f);d.fireEvent("move",d,e,f)}return d},onPosition:Ext.emptyFn,setWidth:function(b){return this.setSize(b)},setHeight:function(b){return this.setSize(undefined,b)},getSize:function(){return this.el.getSize()},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},getLoader:function(){var f=this,d=f.autoLoad?(Ext.isObject(f.autoLoad)?f.autoLoad:{url:f.autoLoad}):null,e=f.loader||d;if(e){if(!e.isLoader){f.loader=Ext.create("Ext.ComponentLoader",Ext.apply({target:f,autoLoad:d},e))}else{e.setTarget(f)}return f.loader}return null},setLoading:function(h,g){var e=this,f;if(e.rendered){if(h!==false&&!e.collapsed){if(Ext.isObject(h)){f=h}else{if(Ext.isString(h)){f={msg:h}}else{f={}}}e.loadMask=e.loadMask||Ext.create("Ext.LoadMask",g?e.getTargetEl():e.el,f);e.loadMask.show()}else{if(e.loadMask){Ext.destroy(e.loadMask);e.loadMask=null}}}return e.loadMask},setDocked:function(d,f){var e=this;e.dock=d;if(f&&e.ownerCt&&e.rendered){e.ownerCt.doComponentLayout()}return e},onDestroy:function(){var b=this;if(b.monitorResize&&Ext.EventManager.resizeEvent){Ext.EventManager.resizeEvent.removeListener(b.setSize,b)}Ext.destroy(b.componentLayout,b.loadMask,b.floatingItems)},cleanElementRefs:function(){var j=this,l=0,k=j.childEls,m=j.renderSelectors,h,n,i;if(j.rendered){if(k){for(i=k.length;l<i;++l){n=k[l];if(typeof(n)!="string"){n=n.name}delete j[n]}}if(m){for(h in m){if(m.hasOwnProperty(h)){delete j[h]}}}}delete j.rendered;delete j.el;delete j.frameBody},destroy:function(){var b=this;if(!b.isDestroyed){if(b.fireEvent("beforedestroy",b)!==false){b.destroying=true;b.beforeDestroy();if(b.floating){delete b.floatParent;if(b.zIndexManager){b.zIndexManager.unregister(b)}}else{if(b.ownerCt&&b.ownerCt.remove){b.ownerCt.remove(b,false)}}b.onDestroy();Ext.destroy(b.plugins);if(b.rendered){b.el.remove()}b.fireEvent("destroy",b);Ext.ComponentManager.unregister(b);b.mixins.state.destroy.call(b);b.clearListeners();b.cleanElementRefs();b.destroying=false;b.isDestroyed=true}}},getPlugin:function(e){var h=0,f=this.plugins,g=f.length;for(;h<g;h++){if(f[h].pluginId===e){return f[h]}}},isDescendantOf:function(b){return !!this.findParentBy(function(a){return a===b})}},function(){this.createAlias({on:"addListener",prev:"previousSibling",next:"nextSibling"})});Ext.define("Ext.Component",{alias:["widget.component","widget.box"],extend:"Ext.AbstractComponent",requires:["Ext.util.DelayedTask"],uses:["Ext.Layer","Ext.resizer.Resizer","Ext.util.ComponentDragger"],mixins:{floating:"Ext.util.Floating"},statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g},resizeHandles:"all",floating:false,toFrontOnShow:true,hideMode:"display",hideParent:false,ariaRole:"presentation",bubbleEvents:[],actionMode:"el",monPropRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,constructor:function(d){var c=this;d=d||{};if(d.initialConfig){if(d.isAction){c.baseAction=d}d=d.initialConfig}else{if(d.tagName||d.dom||Ext.isString(d)){d={applyTo:d,id:d.id||d}}}c.callParent([d]);if(c.baseAction){c.baseAction.addComponent(c)}},initComponent:function(){var b=this;b.callParent();if(b.listeners){b.on(b.listeners);delete b.listeners}b.enableBubble(b.bubbleEvents);b.mons=[]},afterRender:function(){var c=this,d=c.resizable;if(c.floating){c.makeFloating(c.floating)}else{c.el.setVisibilityMode(Ext.Element[c.hideMode.toUpperCase()])}if(Ext.isDefined(c.autoScroll)){c.setAutoScroll(c.autoScroll)}c.callParent();if(!(c.x&&c.y)&&(c.pageX||c.pageY)){c.setPagePosition(c.pageX,c.pageY)}if(d){c.initResizable(d)}if(c.draggable){c.initDraggable()}c.initAria()},initAria:function(){var d=this.getActionEl(),c=this.ariaRole;if(c){d.dom.setAttribute("role",c)}},setAutoScroll:function(e){var d=this,f;e=!!e;if(d.rendered){f=d.getTargetEl();f.setStyle("overflow",e?"auto":"");if(e&&(Ext.isIE6||Ext.isIE7)){f.position()}}d.autoScroll=e;return d},makeFloating:function(b){this.mixins.floating.constructor.call(this,b)},initResizable:function(d){var c=this;d=Ext.apply({target:c,dynamic:false,constrainTo:c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent()),handles:c.resizeHandles},d);d.target=c;c.resizer=Ext.create("Ext.resizer.Resizer",d)},getDragEl:function(){return this.el},initDraggable:function(){var c=this,d=Ext.applyIf({el:c.getDragEl(),constrainTo:c.constrain?(c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent())):undefined},c.draggable);if(c.constrain||c.constrainDelegate){d.constrain=c.constrain;d.constrainDelegate=c.constrainDelegate}c.dd=Ext.create("Ext.util.ComponentDragger",c,d)},setPosition:function(m,o,v){var q=this,u=q.el,l={},p,n,r,s,t;if(Ext.isArray(m)){v=o;o=m[1];m=m[0]}q.x=m;q.y=o;if(!q.rendered){return q}p=q.adjustPosition(m,o);n=p.x;r=p.y;s=Ext.isNumber(n);t=Ext.isNumber(r);if(s||t){if(v){if(s){l.left=n}if(t){l.top=r}q.stopAnimation();q.animate(Ext.apply({duration:1000,listeners:{afteranimate:Ext.Function.bind(q.afterSetPosition,q,[n,r])},to:l},v))}else{if(!s){u.setTop(r)}else{if(!t){u.setLeft(n)}else{u.setLeftTop(n,r)}}q.afterSetPosition(n,r)}}return q},afterSetPosition:function(c,d){this.onPosition(c,d);this.fireEvent("move",this,c,d)},showAt:function(f,g,e){var h=this;if(h.floating){h.setPosition(f,g,e)}else{h.setPagePosition(f,g,e)}h.show()},setPagePosition:function(g,h,f){var j=this,i;if(Ext.isArray(g)){h=g[1];g=g[0]}j.pageX=g;j.pageY=h;if(j.floating&&j.floatParent){i=j.floatParent.getTargetEl().getViewRegion();if(Ext.isNumber(g)&&Ext.isNumber(i.left)){g-=i.left}if(Ext.isNumber(h)&&Ext.isNumber(i.top)){h-=i.top}j.setPosition(g,h,f)}else{i=j.el.translatePoints(g,h);j.setPosition(i.left,i.top,f)}return j},getBox:function(d){var f=this.getPosition(d),e=this.getSize();e.x=f[0];e.y=f[1];return e},updateBox:function(b){this.setSize(b.width,b.height);this.setPagePosition(b.x,b.y);return this},getOuterSize:function(){var b=this.el;return{width:b.getWidth()+b.getMargin("lr"),height:b.getHeight()+b.getMargin("tb")}},adjustPosition:function(e,f){if(this.floating&&this.floatParent){var d=this.floatParent.getTargetEl().getViewRegion();e+=d.left;f+=d.top}return{x:e,y:f}},getPosition:function(g){var j=this,f=j.el,i,h;if((g===true)||(j.floating&&!j.floatParent)){return[f.getLeft(true),f.getTop(true)]}i=j.xy||f.getXY();if(j.floating){h=j.floatParent.getTargetEl().getViewRegion();i[0]-=h.left;i[1]-=h.top}return i},getId:function(){var d=this,c;if(!d.id){c=d.getXType();c=c?c.replace(Ext.Component.INVALID_ID_CHARS_Re,"-"):"ext-comp";d.id=c+"-"+d.getAutoId()}return d.id},onEnable:function(){var b=this.getActionEl();b.dom.removeAttribute("aria-disabled");b.dom.disabled=false;this.callParent()},onDisable:function(){var b=this.getActionEl();b.dom.setAttribute("aria-disabled",true);b.dom.disabled=true;this.callParent()},show:function(g,f,e){var h=this;if(h.rendered&&h.isVisible()){if(h.toFrontOnShow&&h.floating){h.toFront()}}else{if(h.fireEvent("beforeshow",h)!==false){h.hidden=false;if(!h.rendered&&(h.autoRender||h.floating)){h.doAutoRender()}if(h.rendered){h.beforeShow();h.onShow.apply(h,arguments);if(h.ownerCt&&!h.floating&&!(h.ownerCt.suspendLayout||h.ownerCt.layout.layoutBusy)){h.ownerCt.doLayout()}h.afterShow.apply(h,arguments)}}}return h},beforeShow:Ext.emptyFn,onShow:function(){var b=this;b.el.show();b.callParent(arguments);if(b.floating&&b.constrain){b.doConstrain()}},afterShow:function(j,h,l){var k=this,i,n,m;j=j||k.animateTarget;if(!k.ghost){j=null}if(j){j=j.el?j.el:Ext.get(j);n=k.el.getBox();i=j.getBox();k.el.addCls(Ext.baseCSSPrefix+"hide-offsets");m=k.ghost();m.el.stopAnimation();m.el.setX(-10000);m.el.animate({from:i,to:n,listeners:{afteranimate:function(){delete m.componentLayout.lastComponentSize;k.unghost();k.el.removeCls(Ext.baseCSSPrefix+"hide-offsets");k.onShowComplete(h,l)}}})}else{k.onShowComplete(h,l)}},onShowComplete:function(e,d){var f=this;if(f.floating){f.toFront()}Ext.callback(e,d||f);f.fireEvent("show",f)},hide:function(){var b=this;b.showOnParentShow=false;if(!(b.rendered&&!b.isVisible())&&b.fireEvent("beforehide",b)!==false){b.hidden=true;if(b.rendered){b.onHide.apply(b,arguments);if(b.ownerCt&&!b.floating&&!(b.ownerCt.suspendLayout||b.ownerCt.layout.layoutBusy)){b.ownerCt.doLayout()}}}return b},onHide:function(i,h,k){var j=this,l,g;i=i||j.animateTarget;if(!j.ghost){i=null}if(i){i=i.el?i.el:Ext.get(i);l=j.ghost();l.el.stopAnimation();g=i.getBox();g.width+="px";g.height+="px";l.el.animate({to:g,listeners:{afteranimate:function(){delete l.componentLayout.lastComponentSize;l.el.hide();j.afterHide(h,k)}}})}j.el.hide();if(!i){j.afterHide(h,k)}},afterHide:function(d,c){Ext.callback(d,c||this);this.fireEvent("hide",this)},onDestroy:function(){var b=this;if(b.rendered){Ext.destroy(b.proxy,b.proxyWrap,b.resizer);if(b.actionMode=="container"||b.removeMode=="container"){b.container.remove()}}delete b.focusTask;b.callParent()},deleteMembers:function(){var d=arguments,e=d.length,f=0;for(;f<e;++f){delete this[d[f]]}},focus:function(g,e){var h=this,f;if(e){if(!h.focusTask){h.focusTask=Ext.create("Ext.util.DelayedTask",h.focus)}h.focusTask.delay(Ext.isNumber(e)?e:10,null,h,[g,false]);return h}if(h.rendered&&!h.isDestroyed){f=h.getFocusEl();f.focus();if(f.dom&&g===true){f.dom.select()}if(h.floating){h.toFront(true)}}return h},getFocusEl:function(){return this.el},blur:function(){if(this.rendered){this.getFocusEl().blur()}return this},getEl:function(){return this.el},getResizeEl:function(){return this.el},getPositionEl:function(){return this.el},getActionEl:function(){return this.el},getVisibilityEl:function(){return this.el},onResize:Ext.emptyFn,getBubbleTarget:function(){return this.ownerCt},getContentTarget:function(){return this.el},cloneConfig:function(h){h=h||{};var g=h.id||Ext.id(),f=Ext.applyIf(h,this.initialConfig),e;f.id=g;e=Ext.getClass(this);return new e(f)},getXType:function(){return this.self.xtype},findParentBy:function(d){var c;for(c=this.ownerCt;c&&!d(c,this);c=c.ownerCt){}return c||null},findParentByType:function(b){return Ext.isFunction(b)?this.findParentBy(function(a){return a.constructor===b}):this.up(b)},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.ownerCt}return this},getProxy:function(){var d=this,c;if(!d.proxy){c=Ext.getBody();if(Ext.scopeResetCSS){d.proxyWrap=c=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}d.proxy=d.el.createProxy(Ext.baseCSSPrefix+"proxy-el",c,true)}return d.proxy}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.resizer.Splitter",{extend:"Ext.Component",requires:["Ext.XTemplate"],uses:["Ext.resizer.SplitterTracker"],alias:"widget.splitter",renderTpl:['<tpl if="collapsible===true">','<div id="{id}-collapseEl" class="',Ext.baseCSSPrefix,"collapse-el ",Ext.baseCSSPrefix,'layout-split-{collapseDir}">&nbsp;</div>',"</tpl>"],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,width:5,height:5,collapseTarget:"next",onRender:function(){var e=this,d=e.getCollapseTarget(),f=e.getCollapseDirection();Ext.applyIf(e.renderData,{collapseDir:f,collapsible:e.collapsible||d.collapsible});e.addChildEls("collapseEl");this.callParent(arguments);if(e.performCollapse!==false){if(e.renderData.collapsible){e.mon(e.collapseEl,"click",e.toggleTargetCmp,e)}if(e.collapseOnDblClick){e.mon(e.el,"dblclick",e.toggleTargetCmp,e)}}e.mon(d,"collapse",e.onTargetCollapse,e);e.mon(d,"expand",e.onTargetExpand,e);e.el.addCls(e.baseCls+"-"+e.orientation);e.el.unselectable();e.tracker=Ext.create("Ext.resizer.SplitterTracker",{el:e.el});e.relayEvents(e.tracker,["beforedragstart","dragstart","dragend"])},getCollapseDirection:function(){var f=this,e,d=f.ownerCt.layout.type;if(f.collapseTarget.isComponent){e=Number(f.ownerCt.items.indexOf(f.collapseTarget)==f.ownerCt.items.indexOf(f)-1)<<1|Number(d=="hbox")}else{e=Number(f.collapseTarget=="prev")<<1|Number(d=="hbox")}f.orientation=["horizontal","vertical"][e&1];return["bottom","right","top","left"][e]},getCollapseTarget:function(){var b=this;return b.collapseTarget.isComponent?b.collapseTarget:b.collapseTarget=="prev"?b.previousSibling():b.nextSibling()},onTargetCollapse:function(b){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(b){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(f,e){var d=this.getCollapseTarget();if(d.isVisible()){if(d.collapsed){d.expand(d.animCollapse)}else{d.collapse(this.renderData.collapseDir,d.animCollapse)}}},setSize:function(){var b=this;b.callParent(arguments);if(Ext.isIE){b.el.repaint()}}});Ext.define("Ext.form.field.Base",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.field",alternateClassName:["Ext.form.Field","Ext.form.BaseField"],requires:["Ext.util.DelayedTask","Ext.XTemplate","Ext.layout.component.field.Field"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />',{compiled:true,disableFormats:true}],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:Ext.baseCSSPrefix+"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var b=this;b.callParent();b.subTplData=b.subTplData||{};b.addEvents("focus","blur","specialkey");b.initLabelable();b.initField();if(!b.name){b.name=b.getInputId()}},getInputId:function(){return this.inputId||(this.inputId=Ext.id())},getSubTplData:function(){var f=this,d=f.inputType,e=f.getInputId();return Ext.applyIf(f.subTplData,{id:e,cmpId:f.id,name:f.name||e,type:d,size:f.size||20,cls:f.cls,fieldCls:f.fieldCls,tabIdx:f.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(d==="password"?"text":d)})},afterRender:function(){this.callParent();if(this.inputEl){this.inputEl.selectable()}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var b=this;if(!b.hasOwnProperty("renderTpl")){b.renderTpl=b.getTpl("labelableRenderTpl")}return b.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(e){var d=this,f=d.inputEl;if(f){f.applyStyles(e)}d.fieldStyle=e},onRender:function(){var c=this,d=c.fieldStyle;c.onLabelableRender();c.addChildEls({name:"inputEl",id:c.getInputId()});c.callParent(arguments);c.setRawValue(c.rawValue);if(c.readOnly){c.setReadOnly(true)}if(c.disabled){c.disable()}if(d){c.setFieldStyle(d)}c.renderActiveError()},initAria:function(){var b=this;b.callParent();b.getActionEl().dom.setAttribute("aria-describedby",Ext.id(b.errorEl))},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var d=this,e=d.isFileUpload()?d.inputEl.dom:null,f;if(e){f=e.cloneNode(true);e.parentNode.replaceChild(f,e);d.inputEl=Ext.get(f)}return e},getSubmitData:function(){var e=this,d=null,f;if(!e.disabled&&e.submitValue&&!e.isFileUpload()){f=e.getSubmitValue();if(f!==null){d={};d[e.getName()]=f}}return d},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var c=this,d=(c.inputEl?c.inputEl.getValue():Ext.value(c.rawValue,""));c.rawValue=d;return d},setRawValue:function(c){var d=this;c=Ext.value(c,"");d.rawValue=c;if(d.inputEl){d.inputEl.dom.value=c}return c},valueToRaw:function(b){return""+Ext.value(b,"")},rawToValue:function(b){return b},processRawValue:function(b){return b},getValue:function(){var d=this,c=d.rawToValue(d.processRawValue(d.getRawValue()));d.value=c;return c},setValue:function(c){var d=this;d.setRawValue(d.valueToRaw(c));return d.mixins.field.setValue.call(d,c)},onDisable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=true}},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=false}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.readOnly=f;d.dom.setAttribute("aria-readonly",f)}e[f?"addCls":"removeCls"](e.readOnlyCls);e.readOnly=f},fireKey:function(b){if(b.isSpecialKey()){this.fireEvent("specialkey",this,Ext.create("Ext.EventObjectImpl",b))}},initEvents:function(){var e=this,h=e.inputEl,f,g;if(h){e.mon(h,Ext.EventManager.getKeyEvent(),e.fireKey,e);e.mon(h,"focus",e.onFocus,e);e.mon(h,"blur",e.onBlur,e,e.inEditor?{buffer:10}:null);f=Ext.create("Ext.util.DelayedTask",e.checkChange,e);e.onChangeEvent=g=function(){f.delay(e.checkChangeBuffer)};Ext.each(e.checkChangeEvents,function(a){if(a==="propertychange"){e.usesPropertychange=true}e.mon(h,a,g)},e)}e.callParent()},doComponentLayout:function(){var j=this,i=j.inputEl,g=j.usesPropertychange,f="propertychange",h=j.onChangeEvent;if(g){j.mun(i,f,h)}j.callParent(arguments);if(g){j.mon(i,f,h)}},preFocus:Ext.emptyFn,onFocus:function(){var d=this,e=d.focusCls,f=d.inputEl;d.preFocus();if(e&&f){f.addCls(e)}if(!d.hasFocus){d.hasFocus=true;d.componentLayout.onFocus();d.fireEvent("focus",d)}},beforeBlur:Ext.emptyFn,onBlur:function(){var d=this,e=d.focusCls,f=d.inputEl;if(d.destroying){return}d.beforeBlur();if(e&&f){f.removeCls(e)}if(d.validateOnBlur){d.validate()}d.hasFocus=false;d.fireEvent("blur",d);d.postBlur()},postBlur:Ext.emptyFn,onDirtyChange:function(b){this[b?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var b=this;return b.disabled||b.validateValue(b.processRawValue(b.getRawValue()))},validateValue:function(e){var f=this,g=f.getErrors(e),h=Ext.isEmpty(g);if(!f.preventMark){if(h){f.clearInvalid()}else{f.markInvalid(g)}}return h},markInvalid:function(f){var d=this,e=d.getActiveError();d.setActiveErrors(Ext.Array.from(f));if(e!==d.getActiveError()){d.doComponentLayout()}},clearInvalid:function(){var c=this,d=c.hasActiveError();c.unsetActiveError();if(d){c.doComponentLayout()}},renderActiveError:function(){var c=this,d=c.hasActiveError();if(c.inputEl){c.inputEl[d?"addCls":"removeCls"](c.invalidCls+"-field")}c.mixins.labelable.renderActiveError.call(c)},getActionEl:function(){return this.inputEl||this.el}});Ext.define("Ext.form.field.Text",{extend:"Ext.form.field.Base",alias:"widget.textfield",requires:["Ext.form.field.VTypes","Ext.layout.component.field.Text"],alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",ariaRole:"textbox",componentLayout:"textfield",initComponent:function(){this.callParent();this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){var c=this,d=c.inputEl;c.callParent();if(c.selectOnFocus||c.emptyText){c.mon(d,"mousedown",c.onMouseDown,c)}if(c.maskRe||(c.vtype&&c.disableKeyFilter!==true&&(c.maskRe=Ext.form.field.VTypes[c.vtype+"Mask"]))){c.mon(d,"keypress",c.filterKeys,c)}if(c.enableKeyEvents){c.mon(d,{scope:c,keyup:c.onKeyUp,keydown:c.onKeyDown,keypress:c.onKeyPress})}},isEqual:function(c,d){return this.isEqualAsString(c,d)},onChange:function(){this.callParent();this.autoSize()},afterRender:function(){var b=this;if(b.enforceMaxLength){b.inputEl.dom.maxLength=b.maxLength}b.applyEmptyText();b.autoSize();b.callParent()},onMouseDown:function(c){var d=this;if(!d.hasFocus){d.mon(d.inputEl,"mouseup",Ext.emptyFn,d,{single:true,preventDefault:true})}},processRawValue:function(e){var f=this,g=f.stripCharsRe,h;if(g){h=e.replace(g,"");if(h!==e){f.setRawValue(h);e=h}}return e},onDisable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable="on"}},onEnable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable=""}},onKeyDown:function(b){this.fireEvent("keydown",this,b)},onKeyUp:function(b){this.fireEvent("keyup",this,b)},onKeyPress:function(b){this.fireEvent("keypress",this,b)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var d=this,e=d.emptyText,f;if(d.rendered&&e){f=d.getRawValue().length<1&&!d.hasFocus;if(Ext.supports.Placeholder){d.inputEl.dom.placeholder=e}else{if(f){d.setRawValue(e)}}if(f){d.inputEl.addCls(d.emptyCls)}d.autoSize()}},preFocus:function(){var e=this,h=e.inputEl,f=e.emptyText,g;if(f&&!Ext.supports.Placeholder&&h.dom.value===f){e.setRawValue("");g=true;h.removeCls(e.emptyCls)}else{if(Ext.supports.Placeholder){e.inputEl.removeCls(e.emptyCls)}}if(e.selectOnFocus||g){h.dom.select()}},onFocus:function(){var b=this;b.callParent(arguments);if(b.emptyText){b.autoSize()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(f){if(f.ctrlKey&&!f.altKey){return}var d=f.getKey(),e=String.fromCharCode(f.getCharCode());if(Ext.isGecko&&(f.isNavKeyPress()||d===f.BACKSPACE||(d===f.DELETE&&f.button===-1))){return}if(!Ext.isGecko&&f.isSpecialKey()&&!e){return}if(!this.maskRe.test(e)){f.stopEvent()}},getRawValue:function(){var c=this,d=c.callParent();if(d===c.emptyText){d=""}return d},setValue:function(d){var e=this,f=e.inputEl;if(f&&e.emptyText&&!Ext.isEmpty(d)){f.removeCls(e.emptyCls)}e.callParent(arguments);e.applyEmptyText();return e},getErrors:function(l){var q=this,m=q.callParent(arguments),v=q.validator,s=q.emptyText,t=q.allowBlank,r=q.vtype,p=Ext.form.field.VTypes,o=q.regex,n=Ext.String.format,u;l=l||q.processRawValue(q.getRawValue());if(Ext.isFunction(v)){u=v.call(q,l);if(u!==true){m.push(u)}}if(l.length<1||l===s){if(!t){m.push(q.blankText)}return m}if(l.length<q.minLength){m.push(n(q.minLengthText,q.minLength))}if(l.length>q.maxLength){m.push(n(q.maxLengthText,q.maxLength))}if(r){if(!p[r](l,q)){m.push(q.vtypeText||p[r+"Text"])}}if(o&&!o.test(l)){m.push(q.regexText||q.invalidText)}return m},selectText:function(k,j){var l=this,p=l.getRawValue(),o=true,m=l.inputEl.dom,n,i;if(p.length>0){k=k===n?0:k;j=j===n?p.length:j;if(m.setSelectionRange){m.setSelectionRange(k,j)}else{if(m.createTextRange){i=m.createTextRange();i.moveStart("character",k);i.moveEnd("character",j-p.length);i.select()}}o=Ext.isGecko||Ext.isOpera}if(o){l.focus()}},autoSize:function(){var c=this,d;if(c.grow&&c.rendered){c.doComponentLayout();d=c.inputEl.getWidth();if(d!==c.lastInputWidth){c.fireEvent("autosize",d);c.lastInputWidth=d}}},initAria:function(){this.callParent();this.getActionEl().dom.setAttribute("aria-required",this.allowBlank===false)},getBodyNaturalWidth:function(){return Math.round(this.size*6.5)+20}});Ext.define("Ext.form.field.Trigger",{extend:"Ext.form.field.Text",alias:["widget.triggerfield","widget.trigger"],requires:["Ext.DomHelper","Ext.util.ClickRepeater","Ext.layout.component.field.Trigger"],alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />','<div id="{cmpId}-triggerWrap" class="{triggerWrapCls}" role="presentation">',"{triggerEl}",'<div class="{clearCls}" role="presentation"></div>',"</div>",{compiled:true,disableFormats:true}],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",hideTrigger:false,editable:true,readOnly:false,repeatTriggerClick:false,autoSize:Ext.emptyFn,monitorTab:true,mimicing:false,triggerIndexRe:/trigger-index-(\d+)/,componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},onRender:function(o,j){var n=this,k,m=n.triggerBaseCls,l=n.triggerWrapCls,i=[],p;if(!n.trigger1Cls){n.trigger1Cls=n.triggerCls}for(p=0;(k=n["trigger"+(p+1)+"Cls"])||p<1;p++){i.push({cls:[Ext.baseCSSPrefix+"trigger-index-"+p,m,k].join(" "),role:"button"})}i[p-1].cls+=" "+m+"-last";n.addChildEls("triggerWrap");Ext.applyIf(n.subTplData,{triggerWrapCls:l,triggerEl:Ext.DomHelper.markup(i),clearCls:n.clearCls});n.callParent(arguments);n.triggerEl=Ext.select("."+m,true,n.triggerWrap.dom);n.doc=Ext.getDoc();n.initTrigger()},onEnable:function(){this.callParent();this.triggerWrap.unmask()},onDisable:function(){this.callParent();this.triggerWrap.mask()},afterRender:function(){this.callParent();this.updateEditState();this.triggerEl.unselectable()},updateEditState:function(){var l=this,j=l.inputEl,h=l.triggerWrap,k=Ext.baseCSSPrefix+"trigger-noedit",g,i;if(l.rendered){if(l.readOnly){j.addCls(k);i=true;g=false}else{if(l.editable){j.removeCls(k);i=false}else{j.addCls(k);i=true}g=!l.hideTrigger}h.setDisplayed(g);j.dom.readOnly=i;l.doComponentLayout()}},getTriggerWidth:function(){var f=this,d=f.triggerWrap,e=0;if(d&&!f.hideTrigger&&!f.readOnly){f.triggerEl.each(function(a){e+=a.getWidth()});e+=f.triggerWrap.getFrameWidth("lr")}return e},setHideTrigger:function(b){if(b!=this.hideTrigger){this.hideTrigger=b;this.updateEditState()}},setEditable:function(b){if(b!=this.editable){this.editable=b;this.updateEditState()}},setReadOnly:function(b){if(b!=this.readOnly){this.readOnly=b;this.updateEditState()}},initTrigger:function(){var f=this,e=f.triggerWrap,d=f.triggerEl;if(f.repeatTriggerClick){f.triggerRepeater=Ext.create("Ext.util.ClickRepeater",e,{preventDefault:true,handler:function(b,a){f.onTriggerWrapClick(a)}})}else{f.mon(f.triggerWrap,"click",f.onTriggerWrapClick,f)}d.addClsOnOver(f.triggerBaseCls+"-over");d.each(function(b,a,c){b.addClsOnOver(f["trigger"+(c+1)+"Cls"]+"-over")});d.addClsOnClick(f.triggerBaseCls+"-click");d.each(function(b,a,c){b.addClsOnClick(f["trigger"+(c+1)+"Cls"]+"-click")})},onDestroy:function(){var b=this;Ext.destroyMembers(b,"triggerRepeater","triggerWrap","triggerEl");delete b.doc;b.callParent()},onFocus:function(){var b=this;b.callParent();if(!b.mimicing){b.bodyEl.addCls(b.wrapFocusCls);b.mimicing=true;b.mon(b.doc,"mousedown",b.mimicBlur,b,{delay:10});if(b.monitorTab){b.on("specialkey",b.checkTab,b)}}},checkTab:function(d,c){if(!this.ignoreMonitorTab&&c.getKey()==c.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(b){if(!this.isDestroyed&&!this.bodyEl.contains(b.target)&&this.validateBlur(b)){this.triggerBlur()}},triggerBlur:function(){var b=this;b.mimicing=false;b.mun(b.doc,"mousedown",b.mimicBlur,b);if(b.monitorTab&&b.inputEl){b.un("specialkey",b.checkTab,b)}Ext.form.field.Trigger.superclass.onBlur.call(b);if(b.bodyEl){b.bodyEl.removeCls(b.wrapFocusCls)}},beforeBlur:Ext.emptyFn,validateBlur:function(b){return true},onTriggerWrapClick:function(i){var j=this,k=i&&i.getTarget("."+Ext.baseCSSPrefix+"form-trigger",null),l=k&&k.className.match(j.triggerIndexRe),h,e;if(l&&!j.readOnly){h=parseInt(l[1],10);e=j["onTrigger"+(h+1)+"Click"]||j.onTriggerClick;if(e){e.call(j,i)}}},onTriggerClick:Ext.emptyFn});Ext.define("Ext.container.AbstractContainer",{extend:"Ext.Component",requires:["Ext.util.MixedCollection","Ext.layout.container.Auto","Ext.ZIndexManager"],suspendLayout:false,autoDestroy:true,defaultType:"panel",isContainer:true,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",bubbleEvents:["add","remove"],initComponent:function(){var b=this;b.addEvents("afterlayout","beforeadd","beforeremove","add","remove");b.layoutOnShow=Ext.create("Ext.util.MixedCollection");b.callParent();b.initItems()},initItems:function(){var c=this,d=c.items;c.items=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){if(!Ext.isArray(d)){d=[d]}c.add(d)}},afterRender:function(){this.getLayout();this.callParent()},renderChildren:function(){var c=this,d=c.getLayout();c.callParent();if(d){c.suspendLayout=true;d.renderChildren();delete c.suspendLayout}},setLayout:function(c){var d=this.layout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.layout=c;c.setOwner(this)},getLayout:function(){var b=this;if(!b.layout||!b.layout.isLayout){b.setLayout(Ext.layout.Layout.create(b.layout,"autocontainer"))}return b.layout},doLayout:function(){var c=this,d=c.getLayout();if(c.rendered&&d&&!c.suspendLayout){if(!c.isFixedWidth()||!c.isFixedHeight()){if(c.componentLayout.layoutBusy!==true){c.doComponentLayout();if(c.componentLayout.layoutCancelled===true){d.layout()}}}else{if(d.layoutBusy!==true){d.layout()}}}return c},afterLayout:function(b){++this.layoutCounter;this.fireEvent("afterlayout",this,b)},prepareItems:function(f,i){if(!Ext.isArray(f)){f=[f]}var j=0,g=f.length,h;for(;j<g;j++){h=f[j];if(i){h=this.applyDefaults(h)}f[j]=this.lookupComponent(h)}return f},applyDefaults:function(d){var c=this.defaults;if(c){if(Ext.isFunction(c)){c=c.call(this,d)}if(Ext.isString(d)){d=Ext.ComponentManager.get(d)}Ext.applyIf(d,c)}return d},lookupComponent:function(b){return Ext.isString(b)?Ext.ComponentManager.get(b):this.createComponent(b)},createComponent:function(d,c){return Ext.ComponentManager.create(d,c||this.defaultType)},getComponentId:function(b){return b.getItemId()},add:function(){var m=this,o=Array.prototype.slice.call(arguments),t,n,s=[],r,p,i,q=-1,l;if(typeof o[0]=="number"){q=o.shift()}t=o.length>1;if(t||Ext.isArray(o[0])){n=t?o:o[0];m.suspendLayout=true;for(r=0,p=n.length;r<p;r++){i=n[r];if(!i){Ext.Error.raise("Trying to add a null item as a child of Container with itemId/id: "+m.getItemId())}if(q!=-1){i=m.add(q+r,i)}else{i=m.add(i)}s.push(i)}m.suspendLayout=false;m.doLayout();return s}l=m.prepareItems(o[0],true)[0];if(l.floating){l.onAdded(m,q)}else{q=(q!==-1)?q:m.items.length;if(m.fireEvent("beforeadd",m,l,q)!==false&&m.onBeforeAdd(l)!==false){m.items.insert(q,l);l.onAdded(m,q);m.onAdd(l,q);m.fireEvent("add",m,l,q)}m.doLayout()}return l},onAdd:Ext.emptyFn,onRemove:Ext.emptyFn,insert:function(c,d){return this.add(c,d)},move:function(e,g){var f=this.items,h;h=f.removeAt(e);if(h===false){return false}f.insert(g,h);this.doLayout();return h},onBeforeAdd:function(c){var d=this;if(c.ownerCt){c.ownerCt.remove(c,false)}if(d.border===false||d.border===0){c.border=(c.border===true)}},remove:function(f,c){var h=this,g=h.getComponent(f);if(Ext.isDefined(Ext.global.console)&&!g){console.warn("Attempted to remove a component that does not exist. Ext.container.Container: remove takes an argument of the component to remove. cmp.remove() is incorrect usage.")}if(g&&h.fireEvent("beforeremove",h,g)!==false){h.doRemove(g,c);h.fireEvent("remove",h,g)}return g},doRemove:function(j,f){var h=this,i=h.layout,g=i&&h.rendered;h.items.remove(j);j.onRemoved();if(g){i.onRemove(j)}h.onRemove(j,f);if(f===true||(f!==false&&h.autoDestroy)){j.destroy()}if(g&&!f){i.afterRemove(j)}if(!h.destroying){h.doLayout()}},removeAll:function(n){var j=this,l=j.items.items.slice(),h=[],m=0,i=l.length,k;j.suspendLayout=true;for(;m<i;m++){k=l[m];j.remove(k,n);if(k.ownerCt!==j){h.push(k)}}j.suspendLayout=false;if(i){j.doLayout()}return h},getRefItems:function(n){var j=this,m=j.items.items,h=m.length,l=0,k,i=[];for(;l<h;l++){k=m[l];i.push(k);if(n&&k.getRefItems){i.push.apply(i,k.getRefItems(true))}}if(j.floatingItems&&j.floatingItems.accessList){i.push.apply(i,j.floatingItems.accessList)}return i},cascade:function(i,c,t){var m=this,q=m.items?m.items.items:[],p=q.length,r=0,n,o=t?t.concat(m):[m],s=o.length-1;if(i.apply(c||m,o)!==false){for(;r<p;r++){n=q[r];if(n.cascade){n.cascade(i,c,t)}else{o[s]=n;i.apply(c||q,o)}}}return this},getComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.items.get(b)},query:function(b){b=b||"*";return Ext.ComponentQuery.query(b,this)},child:function(b){b=b||"";return this.query("> "+b)[0]||null},down:function(b){return this.query(b)[0]||null},show:function(){this.callParent(arguments);this.performDeferredLayouts();return this},performDeferredLayouts:function(){var h=this.layoutOnShow,i=h.getCount(),f=0,g,j;for(;f<i;f++){j=h.get(f);g=j.needsLayout;if(Ext.isObject(g)){j.doComponentLayout(g.width,g.height,g.isSetSize,g.ownerCt)}}h.clear()},onEnable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable){b.enable();delete b.resetDisable}});this.callParent()},onDisable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable!==false&&!b.disabled){b.disable();b.resetDisable=true}});this.callParent()},beforeLayout:function(){return true},beforeDestroy:function(){var c=this,e=c.items,f;if(e){while((f=e.first())){c.doRemove(f,true)}}Ext.destroy(c.layout);c.callParent()}});Ext.define("Ext.container.Container",{extend:"Ext.container.AbstractContainer",alias:"widget.container",alternateClassName:"Ext.Container",getChildByElement:function(k){var i,g,h=0,l=this.items.items,j=l.length;k=Ext.getDom(k);for(;h<j;h++){i=l[h];g=i.getEl();if((g.dom===k)||g.contains(k)){return i}}return null}});Ext.define("Ext.layout.container.Border",{alias:["layout.border"],extend:"Ext.layout.container.Container",requires:["Ext.resizer.Splitter","Ext.container.Container","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:Ext.baseCSSPrefix+"border-item",bindToOwnerCtContainer:true,percentageRe:/(\d+)%/,slideDirection:{north:"t",south:"b",west:"l",east:"r"},constructor:function(b){this.initialConfig=b;this.callParent(arguments)},onLayout:function(){var b=this;if(!b.borderLayoutInitialized){b.initializeBorderLayout()}b.fixHeightConstraints();b.shadowLayout.onLayout();if(b.embeddedContainer){b.embeddedContainer.layout.onLayout()}if(!b.initialCollapsedComplete){Ext.iterate(b.regions,function(a,d){if(d.borderCollapse){b.onBeforeRegionCollapse(d,d.collapseDirection,false,0)}});b.initialCollapsedComplete=true}},isValidParent:function(d,f,e){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}return this.shadowLayout.isValidParent(d,f,e)},beforeLayout:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.beforeLayout()},renderItems:function(d,c){Ext.Error.raise("This should not be called")},renderItem:function(b){Ext.Error.raise("This should not be called")},renderChildren:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.renderChildren()},getVisibleItems:function(){return Ext.ComponentQuery.query(":not([slideOutAnim])",this.callParent(arguments))},initializeBorderLayout:function(){var n=this,t=0,o=n.getLayoutItems(),p=o.length,u=(n.regions={}),r=[],q=[],v=0,i=0,s,m;n.splitters={};for(;t<p;t++){s=o[t];u[s.region]=s;if(s.region!="center"&&s.collapsible&&s.collapseMode!="header"){s.borderCollapse=s.collapsed;s.collapsed=false;s.on({beforecollapse:n.onBeforeRegionCollapse,beforeexpand:n.onBeforeRegionExpand,destroy:n.onRegionDestroy,scope:n});n.setupState(s)}}if(!u.center){Ext.Error.raise("You must specify a center region when defining a BorderLayout.")}s=u.center;if(!s.flex){s.flex=1}delete s.width;s.maintainFlex=true;s=u.west;if(s){s.collapseDirection=Ext.Component.DIRECTION_LEFT;q.push(s);if(s.split){q.push(n.splitters.west=n.createSplitter(s))}m=Ext.isString(s.width)&&s.width.match(n.percentageRe);if(m){v+=(s.flex=parseInt(m[1],10)/100);delete s.width}}s=u.north;if(s){s.collapseDirection=Ext.Component.DIRECTION_TOP;r.push(s);if(s.split){r.push(n.splitters.north=n.createSplitter(s))}m=Ext.isString(s.height)&&s.height.match(n.percentageRe);if(m){i+=(s.flex=parseInt(m[1],10)/100);delete s.height}}if(u.north||u.south){if(u.east||u.west){r.push(n.embeddedContainer=Ext.create("Ext.container.Container",{xtype:"container",region:"center",id:n.owner.id+"-embedded-center",cls:Ext.baseCSSPrefix+"border-item",flex:u.center.flex,maintainFlex:true,layout:{type:"hbox",align:"stretch",getVisibleItems:n.getVisibleItems}}));q.push(u.center)}else{r.push(u.center)}}else{q.push(u.center)}s=u.south;if(s){s.collapseDirection=Ext.Component.DIRECTION_BOTTOM;if(s.split){r.push(n.splitters.south=n.createSplitter(s))}m=Ext.isString(s.height)&&s.height.match(n.percentageRe);if(m){i+=(s.flex=parseInt(m[1],10)/100);delete s.height}r.push(s)}s=u.east;if(s){s.collapseDirection=Ext.Component.DIRECTION_RIGHT;if(s.split){q.push(n.splitters.east=n.createSplitter(s))}m=Ext.isString(s.width)&&s.width.match(n.percentageRe);if(m){v+=(s.flex=parseInt(m[1],10)/100);delete s.width}q.push(s)}if(u.north||u.south){n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:"vbox",align:"stretch",getVisibleItems:n.getVisibleItems},n.initialConfig)});n.createItems(n.shadowContainer,r);if(n.splitters.north){n.splitters.north.ownerCt=n.shadowContainer}if(n.splitters.south){n.splitters.south.ownerCt=n.shadowContainer}if(n.embeddedContainer){n.embeddedContainer.ownerCt=n.shadowContainer;n.createItems(n.embeddedContainer,q);if(n.splitters.east){n.splitters.east.ownerCt=n.embeddedContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.embeddedContainer}Ext.each([n.splitters.north,n.splitters.south],function(a){if(a){a.on("beforedragstart",n.fixHeightConstraints,n)}});if(v){u.center.flex-=v}if(i){n.embeddedContainer.flex-=i}}else{if(i){u.center.flex-=i}}}else{n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:(q.length==1)?"fit":"hbox",align:"stretch"},n.initialConfig)});n.createItems(n.shadowContainer,q);if(n.splitters.east){n.splitters.east.ownerCt=n.shadowContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.shadowContainer}if(v){u.center.flex-=i}}for(t=0,o=n.shadowContainer.items.items,p=o.length;t<p;t++){o[t].shadowOwnerCt=n.shadowContainer}if(n.embeddedContainer){for(t=0,o=n.embeddedContainer.items.items,p=o.length;t<p;t++){o[t].shadowOwnerCt=n.embeddedContainer}}n.shadowLayout=n.shadowContainer.getLayout();n.borderLayoutInitialized=true},setupState:function(c){var d=c.getState;c.getState=function(){var b=d.call(c)||{},a=c.region;b.collapsed=!!c.collapsed;if(a=="west"||a=="east"){b.width=c.getWidth()}else{b.height=c.getHeight()}return b};c.addStateEvents(["collapse","expand","resize"])},createItems:function(d,c){delete d.items;d.initItems();d.items.addAll(c)},createSplitter:function(f){var e=this,h=(f.collapseMode!="header"),g;g=Ext.create("Ext.resizer.Splitter",{hidden:!!f.hidden,collapseTarget:f,performCollapse:!h,listeners:h?{click:{fn:Ext.Function.bind(e.onSplitterCollapseClick,e,[f]),element:"collapseEl"}}:null});if(f.collapseMode=="mini"){f.placeholder=g;g.collapsedCls=f.collapsedCls}f.on({hide:e.onRegionVisibilityChange,show:e.onRegionVisibilityChange,scope:e});return g},fixHeightConstraints:function(){var h=this,f=h.embeddedContainer,e=1e+99,g=-1;if(!f){return}f.items.each(function(a){if(Ext.isNumber(a.maxHeight)){e=Math.max(e,a.maxHeight)}if(Ext.isNumber(a.minHeight)){g=Math.max(g,a.minHeight)}});f.maxHeight=e;f.minHeight=g},onRegionVisibilityChange:function(b){this.splitters[b.region][b.hidden?"hide":"show"]();this.layout()},onSplitterCollapseClick:function(b){if(b.collapsed){this.onPlaceHolderToolClick(null,null,null,{client:b})}else{b.collapse()}},getPlaceholder:function(n){var m=this,k=n.placeholder,h=n.shadowOwnerCt,l=h.layout,i=Ext.panel.Panel.prototype.getOppositeDirection(n.collapseDirection),j=(n.region=="north"||n.region=="south");if(n.collapseMode=="header"){return}if(!k){if(n.collapseMode=="mini"){k=Ext.create("Ext.resizer.Splitter",{id:"collapse-placeholder-"+n.id,collapseTarget:n,performCollapse:false,listeners:{click:{fn:Ext.Function.bind(m.onSplitterCollapseClick,m,[n]),element:"collapseEl"}}});k.addCls(k.collapsedCls)}else{k={id:"collapse-placeholder-"+n.id,margins:n.initialConfig.margins||Ext.getClass(n).prototype.margins,xtype:"header",orientation:j?"horizontal":"vertical",title:n.title,textCls:n.headerTextCls,iconCls:n.iconCls,baseCls:n.baseCls+"-header",ui:n.ui,indicateDrag:n.draggable,cls:Ext.baseCSSPrefix+"region-collapsed-placeholder "+Ext.baseCSSPrefix+"region-collapsed-"+n.collapseDirection+"-placeholder "+n.collapsedCls,listeners:n.floatable?{click:{fn:function(a){m.floatCollapsedPanel(a,n)},element:"el"}}:null};if((Ext.isIE6||Ext.isIE7||(Ext.isIEQuirks))&&!j){k.width=25}if(!n.hideCollapseTool){k[j?"tools":"items"]=[{xtype:"tool",client:n,type:"expand-"+i,handler:m.onPlaceHolderToolClick,scope:m}]}}k=m.owner.createComponent(k);if(n.isXType("panel")){n.on({titlechange:m.onRegionTitleChange,iconchange:m.onRegionIconChange,scope:m})}}n.placeholder=k;k.comp=n;return k},onRegionTitleChange:function(d,c){d.placeholder.setTitle(c)},onRegionIconChange:function(c,d){c.placeholder.setIconCls(d)},calculateChildBox:function(d){var c=this;if(c.shadowContainer.items.contains(d)){return c.shadowContainer.layout.calculateChildBox(d)}else{if(c.embeddedContainer&&c.embeddedContainer.items.contains(d)){return c.embeddedContainer.layout.calculateChildBox(d)}}},onBeforeRegionCollapse:function(v,s,y){if(v.collapsedChangingLayout){if(Ext.global.console&&Ext.global.console.warn){Ext.global.console.warn(Ext.getDisplayName(arguments.callee),"aborted because the collapsed state is in the middle of changing")}return false}v.collapsedChangingLayout=true;var t=this,o=v.el,z,A=v.collapseMode=="mini",u=v.shadowOwnerCt,B=u.layout,q=v.placeholder,w=t.owner.suspendLayout,r=u.suspendLayout,p=(v.region=="north"||v.region=="west");t.owner.suspendLayout=true;u.suspendLayout=true;B.layoutBusy=true;if(u.componentLayout){u.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;if(!q){q=t.getPlaceholder(v)}if(q.shadowOwnerCt===u){q.show()}else{u.insert(u.items.indexOf(v)+(p?0:1),q);q.shadowOwnerCt=u;q.ownerCt=t.owner}v.hidden=true;if(!q.rendered){B.renderItem(q,B.innerCt);if(v.region=="north"||v.region=="south"){q.setCalculatedSize(v.getWidth())}else{q.setCalculatedSize(undefined,v.getHeight())}}function x(){t.owner.suspendLayout=w;u.suspendLayout=r;delete B.layoutBusy;if(u.componentLayout){delete u.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;delete v.collapsedChangingLayout;v.collapsed=true;v.fireEvent("collapse",v)}if(v.animCollapse&&t.initialCollapsedComplete){B.layout();o.dom.style.zIndex=100;if(!A){q.el.hide()}o.slideOut(t.slideDirection[v.region],{duration:Ext.Number.from(v.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){o.show().setLeftTop(-10000,-10000);o.dom.style.zIndex="";if(!A){q.el.slideIn(t.slideDirection[v.region],{easing:"linear",duration:100})}x()}}})}else{o.setLeftTop(-10000,-10000);B.layout();x()}return false},onBeforeRegionExpand:function(c,d){this.onPlaceHolderToolClick(null,null,null,{client:c,shouldFireBeforeexpand:false});return false},onPlaceHolderToolClick:function(y,e,J,H){var t=this,w=H.client,D=(w.collapseMode!="mini")||!w.split,u=w.el,B,G=w.placeholder,A=G.el,v=w.shadowOwnerCt,I=v.layout,C,x=t.owner.suspendLayout,z=v.suspendLayout,E;if(w.collapsedChangingLayout){if(Ext.global.console&&Ext.global.console.warn){Ext.global.console.warn(Ext.getDisplayName(arguments.callee),"aborted because the collapsed state is in the middle of changing")}return false}if(H.shouldFireBeforeexpand!==false&&w.fireEvent("beforeexpand",w,true)===false){return false}w.collapsedChangingLayout=true;if(w.getActiveAnimation()){w.stopAnimation()}if(w.slideOutAnim){u.un(w.panelMouseMon);A.un(w.placeholderMouseMon);delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon;E=true}t.owner.suspendLayout=true;v.suspendLayout=true;I.layoutBusy=true;if(v.componentLayout){v.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;w.hidden=false;w.collapsed=false;if(D){G.hidden=true}B=I.calculateChildBox(w);if(w.collapseTool){w.collapseTool.show()}if(w.animCollapse&&!E){u.setStyle("visibility","hidden")}u.setLeftTop(B.left,B.top);C=w.getSize();if(C.height!=B.height||C.width!=B.width){t.setItemSize(w,B.width,B.height)}function F(){t.owner.suspendLayout=x;v.suspendLayout=z;delete I.layoutBusy;if(v.componentLayout){delete v.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;delete w.collapsedChangingLayout;w.removeCls(Ext.baseCSSPrefix+"border-region-slide-in");w.fireEvent("expand",w)}if(D){G.el.hide()}if(w.animCollapse&&!E){u.dom.style.zIndex=100;u.slideIn(t.slideDirection[w.region],{duration:Ext.Number.from(w.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){u.dom.style.zIndex="";w.hidden=false;I.onLayout();F()}}})}else{I.onLayout();F()}},floatCollapsedPanel:function(u,w){if(w.floatable===false){return}var t=this,e=w.el,q=w.placeholder,p=q.el,v=w.shadowOwnerCt,A=v.layout,x=A.getChildBox(q),r=v.suspendLayout,B,y,s;if(u.getTarget("."+Ext.baseCSSPrefix+"tool")){return}if(e.getActiveAnimation()){return}if(w.slideOutAnim){t.slideOutFloatedComponent(w);return}function z(a){var b=e.getRegion().union(p.getRegion()).adjust(1,-1,-1,1);if(!b.contains(a.getPoint())){t.slideOutFloatedComponent(w)}}w.placeholderMouseMon=p.monitorMouseLeave(500,z);v.suspendLayout=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;if(w.collapseTool){w.collapseTool.hide()}w.hidden=false;w.collapsed=false;q.hidden=true;y=A.calculateChildBox(w);q.hidden=false;if(w.region=="north"||w.region=="west"){y[A.parallelBefore]+=x[A.parallelPrefix]-1}else{y[A.parallelBefore]-=(x[A.parallelPrefix]-1)}e.setStyle("visibility","hidden");e.setLeftTop(y.left,y.top);B=w.getSize();if(B.height!=y.height||B.width!=y.width){t.setItemSize(w,y.width,y.height)}s={listeners:{afteranimate:function(){v.suspendLayout=r;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;s.listeners={afterAnimate:function(){e.show().removeCls(Ext.baseCSSPrefix+"border-region-slide-in").setLeftTop(-10000,-10000);w.hidden=true;w.collapsed=true;delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon}};w.slideOutAnim=s}},duration:500};e.addCls(Ext.baseCSSPrefix+"border-region-slide-in");e.slideIn(t.slideDirection[w.region],s);w.panelMouseMon=e.monitorMouseLeave(500,z)},slideOutFloatedComponent:function(e){var f=e.el,d;f.un(e.panelMouseMon);e.placeholder.el.un(e.placeholderMouseMon);f.slideOut(this.slideDirection[e.region],e.slideOutAnim);delete e.slideOutAnim;delete e.panelMouseMon;delete e.placeholderMouseMon},onRegionDestroy:function(d){var c=d.placeholder;if(c){delete c.ownerCt;c.destroy()}},onDestroy:function(){var d=this,e=d.shadowContainer,f=d.embeddedContainer;if(e){delete e.ownerCt;Ext.destroy(e)}if(f){delete f.ownerCt;Ext.destroy(f)}delete d.regions;delete d.splitters;delete d.shadowContainer;delete d.embeddedContainer;d.callParent(arguments)}});Ext.define("Ext.container.Viewport",{extend:"Ext.container.Container",alias:"widget.viewport",requires:["Ext.EventManager"],alternateClassName:"Ext.Viewport",isViewport:true,ariaRole:"application",initComponent:function(){var f=this,e=Ext.fly(document.body.parentNode),d;f.callParent(arguments);e.addCls(Ext.baseCSSPrefix+"viewport");if(f.autoScroll){e.setStyle("overflow","auto")}f.el=d=Ext.getBody();d.setHeight=Ext.emptyFn;d.setWidth=Ext.emptyFn;d.setSize=Ext.emptyFn;d.dom.scroll="no";f.allowDomMove=false;Ext.EventManager.onWindowResize(f.fireResize,f);f.renderTo=f.el;f.width=Ext.Element.getViewportWidth();f.height=Ext.Element.getViewportHeight()},fireResize:function(d,c){this.setSize(d,c)}});Ext.define("Docs.view.Header",{extend:"Ext.container.Container",alias:"widget.docheader",contentEl:"header-content",initComponent:function(){if(Docs.otherProducts){this.style="cursor: pointer;",this.cls="dropdown";this.menu=Ext.create("Ext.menu.Menu",{renderTo:Ext.getBody(),plain:true,items:Docs.otherProducts})}this.callParent()},listeners:{afterrender:function(b){if(this.menu){b.el.addListener("click",function(d,a){this.menu.showBy(this.el,"bl",[120,0])},this)}}}});Ext.define("Docs.view.welcome.Index",{extend:"Ext.container.Container",alias:"widget.welcomeindex",requires:["Docs.ContentGrabber"],cls:"welcome iScroll",initComponent:function(){this.html=Docs.ContentGrabber.get("welcome-content");this.hasContent=!!this.html;this.callParent(arguments)},getTab:function(){return this.hasContent?{cls:"index",href:"#",tooltip:"Home"}:false}});Ext.define("Docs.view.auth.Login",{extend:"Ext.container.Container",alias:"widget.authentication",loginTplHtml:['<form class="loginForm">','<input class="username" type="text" name="username" placeholder="Username" />','<input class="password" type="password" name="password" placeholder="Password" />','<label><input type="checkbox" name="remember" /> Remember Me</label>','<input class="submit" type="submit" value="Sign in" />'," or ",'<a class="register" href="http://www.sencha.com/forum/register.php" target="_blank">Register</a>',"</form>"],initComponent:function(){this.loginTpl=Ext.create("Ext.Template",this.loginTplHtml.join(""));this.callParent(arguments)},showLoginForm:function(){this.update(this.loginTpl.apply());this.getEl().down("form").on("submit",this.submitLogin,this,{preventDefault:true})},submitLogin:function(o,i){var p=Ext.get(i),k=p.down("input[name=username]").getValue(),j=p.down("input[name=password]").getValue(),m=p.down("input[name=remember]"),n=p.down("input[type=submit]");var l=m?Boolean(m.getAttribute("checked")):false;Docs.App.getController("Auth").login(k,j,l,n)},showLoggedIn:function(b){this.update("Welcome, "+b+' | <a href="#" class="logout">Logout</a>')},showLoggedOut:function(){this.update('<a href="#" class="login">Sign in / Register</a>')}});Ext.define("Docs.view.comments.Index",{extend:"Ext.container.Container",alias:"widget.commentindex",cls:"comment-index iScroll",margin:"10 0 0 0",autoScroll:true,items:[{xtype:"container",html:'<h1>Recent Comments</h1> Hide read: <input type="checkbox" name="hideRead" id="hideRead" />'},{xtype:"container",id:"recentcomments"}],getTab:function(){return Docs.enableComments?{cls:"comments",href:"#!/comment",tooltip:"Comments"}:false}});Ext.define("Docs.view.Comments",{singleton:true,requires:["Docs.view.auth.Login"],constructor:function(){var g=['<tpl if="num &gt; 0">','View {[values.num == 1 ? "1 comment" : values.num + " comments"]}',"</tpl>",'<tpl if="num == 0">',"No comments. Click to add","</tpl>"];this.numCommentsTpl=Ext.create("Ext.XTemplate",g.join(""));var j=['<div class="comments-div first-child" id="comments-{id}">','<a href="#" class="side toggleComments"><span></span></a>','<a href="#" class="name toggleComments">',g.join(""),"</a>","</div>"];this.loadingTpl=Ext.create("Ext.Template",'<div class="loading">Loading...</div>');this.classCommentsTpl=Ext.create("Ext.XTemplate",'<div class="comments-section">','<h3 class="members-title icon-comment">Comments</h3>',j.join(""),"</div>");this.commentsMetaTpl=Ext.create("Ext.XTemplate",j.join(""));this.memberCommentsTpl=Ext.create("Ext.Template",'<span class="toggleMemberComments">{0}</span>');var h=['<div class="comment" id="{id}">','<div class="com-meta">','<img class="avatar" width="25" height="25" src="http://www.gravatar.com/avatar/{emailHash}','?s=25&amp;r=PG&amp;d=http://www.sencha.com/img/avatar.png">','<div class="author<tpl if="moderator"> moderator" title="Sencha Engineer</tpl>">',"{author}",'<tpl if="showCls">','<span class="target"> on {[this.target(values.target)]}</span>',"</tpl>","<tpl if=\"action == 'problem'\">",'<span class="problem">problem</span>',"</tpl>","</div>",'<tpl if="this.isMod()">','<a href="#" class="readComment <tpl if="read">read</tpl>">Read</a>',"</tpl>",'<tpl if="this.isMod() || this.isAuthor(values.author)"><a href="#" class="editComment">Edit</a><a href="#" class="deleteComment">Delete</a></tpl>','<div class="time" title="{[this.date(values.createdAt)]}">{[this.dateStr(values.createdAt)]}</div>','<div class="vote">','<a href="#" class="voteCommentUp{[values.upVote ? " selected" : ""]}" title="Vote Up">&nbsp;</a>','<span class="score">{score}</span>','<a href="#" class="voteCommentDown{[values.downVote ? " selected" : ""]}" title="Vote Down">&nbsp;</a>',"</div>","</div>",'<div class="content">{contentHtml}</div>',"</div>"];var i={dateStr:function(e){try{var l=Math.ceil(Number(new Date())/1000),a=Math.ceil(Number(new Date(e))/1000),c=l-a,b;if(c<60){return"just now"}else{if(c<3600){b=String(Math.ceil(c/(60)));return b+(b=="1"?" minute":" minutes")+" ago"}else{if(c<86400){b=String(Math.ceil(c/(3600)));return b+(b=="1"?" hour":" hours")+" ago"}else{if(c<60*60*24*31){b=String(Math.ceil(c/(60*60*24)));return b+(b=="1"?" day":" days")+" ago"}else{if(c<60*60*24*365){b=String(Math.ceil(c/(60*60*24*31)));return b+(b=="1"?" month":" months")+" ago"}else{return Ext.Date.format(new Date(e),"jS M 'y")}}}}}}catch(d){return""}},date:function(b){try{return Ext.Date.format(new Date(b),"jS F Y g:ia")}catch(a){return""}},isMod:function(){return Docs.App.getController("Auth").currentUser.mod},isAuthor:function(a){return Docs.App.getController("Auth").currentUser.userName==a},target:function(b){var c=b[1],a=b[1],d="#!/api/";if(b[0]=="video"){a="Video "+a;d="#!/video/"}else{if(b[0]=="guide"){a="Guide "+a;d="#!/guide/"}else{if(b[2]!=""){c+="-"+b[2];a+=" "+b[2]}}}return'<a href="'+d+c+'">'+a+"</a>"},recentCommentsPager:Ext.Function.bind(function(b){var a=b[b.length-1];if(a&&a.total_rows){return['<div class="recent-comments-pager">',this.getPagerHtml(a),"</div>"].join("")}else{return""}},this)};this.commentsTpl=Ext.create("Ext.XTemplate",'<div class="comment-list">','<tpl for=".">',h.join(""),"</tpl>",'<div class="new-comment-wrap"></div>',"</div>","{[this.recentCommentsPager(values)]}",i);this.appendCommentsTpl=Ext.create("Ext.XTemplate",'<tpl for=".">',h.join(""),"</tpl>",i);this.commentTpl=Ext.create("Ext.XTemplate",h.join(""),i);var f=['<div class="com-meta">','<img class="avatar" width="25" height="25"',' src="http://www.gravatar.com/avatar/{emailHash}?s=25&amp;r=PG&amp;d=http://www.sencha.com/img/avatar.png">','<div class="author">Logged in as {userName}</div>','<label class="subscribe">','Email updates? <input type="checkbox" class="subscriptionCheckbox" <tpl if="userSubscribed">checked="checked"</tpl> /><span class="sep"> | </span>',"</label>",'<a href="#" class="toggleCommentGuide">Help</a>','<input type="submit" class="sub {[values.updateComment ? "update" : "post"]}Comment" value="{[values.updateComment ? "Update" : "Post"]} comment" />','<tpl if="updateComment">',' or <a href="#" class="cancelUpdateComment">cancel</a>',"</tpl>","</div>",'<div class="commentGuideTxt" style="display: none">',"<ul>","<li>Comments should be an <strong>extension</strong> of the documentation.</li>",'<li>For any <em>questions</em> about code or usage, please use the <a href="http://www.sencha.com/forum" target="_blank">Forum</a>.</li>',"<li>Comments may be edited or deleted at any time by a moderator.</li>",'<li>Avatars can be managed at <a href="http://www.gravatar.com" target="_blank">Gravatar</a> (use your forum email address).</li>',"<li>Comments will be formatted using the Markdown syntax, eg:</li>","</ul>",'<div class="markdown preview">',"<h4>Markdown</h4>","<pre>","Here is a **bold** item\n","Here is an _italic_ item\n","Here is an `inline` code snippet\n","Here is a [Link](#!/api)\n","\n"," Indent with 4 spaces\n"," for a code snippet\n","\n","1. Here is a numbered list\n","2. Second numbered list item\n","\n","- Here is an unordered list\n","- Second unordered list item\n","\n","End a line with two spaces\n","to create a line break\n","</pre>","</div>",'<div class="markdown result">',"<h4>Result</h4>","Here is a <strong>bold</strong> item<br/>","Here is an <em>italic</em> item<br/>","Here is an <code>inline</code> code snippet<br/>",'Here is a <a href="#!/api">Link</a><br/>',"<pre>","Indent with 4 spaces\n","for a code snippet","</pre>","<ol>","<li>Here is a numbered list</li>","<li>Second numbered list item</li>","</ol>","<ul>","<li>Here is an unordered list</li>","<li>Second unordered list item</li>","</ul>","End a line with two spaces<br/>to create a line break<br/><br/>","</div>","</div>"];this.loggedInCommentTpl=Ext.create("Ext.XTemplate",'<div class="new-comment{[values.hide ? "" : " open"]}">','<form class="newCommentForm">','<span class="action">',"Action: ",'<select class="commentAction">','<option value="comment">Post a comment</option>','<option value="question">Ask a question</option>','<option value="problem">Report a problem</option>',"</select>","</span>",'<div class="note question" style="display: none;">','Please use the <a href="http://www.sencha.com/forum" target="_blank">Sencha Forum</a> ',"to post questions. Questions posted on the Documentation may be deleted.</div>",'<div class="note problem" style="display: none;">',"<p>Please inform us of documentation problems:</p>","<ul>","<li>Typos</li>","<li>Incorrect information</li>","<li>Errors with examples</li>","</ul>",'<p>For <b>SDK bugs</b>, please use the <a href="http://www.sencha.com/forum" target="_blank">Sencha Forum</a>.<br />',' For Docs App bugs, please use the <a href="https://github.com/senchalabs/jsduck/issues" target="_blank">GitHub Issue tracker</a>.</p>',"</div>",'<div class="postCommentWrap">',"<textarea></textarea>",f.join(""),"</div>","</form>","</div>");this.editCommentTpl=Ext.create("Ext.XTemplate",'<form class="editCommentForm">','<span class="action">Edit comment</span>',"<textarea>{content}</textarea>",f.join(""),"</form>");if(Ext.isIE&&Ext.ieVersion<=7){this.loggedOutCommentTpl=Ext.create("Ext.XTemplate",'<div class="new-comment">','<span class="toggleNewComment"><span></span>Sorry, adding comments is not supported in IE 7 or earlier</span>',"</div>")}else{this.loggedOutCommentTpl=Ext.create("Ext.XTemplate",'<div class="new-comment">','<span class="toggleNewComment"><span></span>Sign in to post a comment:</span>',Docs.view.auth.Login.prototype.loginTplHtml.join(""),"</div>")}},getPagerHtml:function(h){var e=h.total_rows;var f=h.offset+h.limit;var g=Math.min(h.limit,e-f);if(e>f){return["<span></span>",'<a href="#" class="fetchMoreComments" rel="'+f+'">',"Showing comments 1-"+f+" of "+e+". ","Click to load "+g+" more...","</a>"].join("")}else{return"<span></span>That's all. Total "+e+" comments."}},renderClassCommentContainers:function(b){Ext.ComponentQuery.query("classoverview toolbar")[0].insert(-2,{xtype:"container",id:"classCommentToolbarBtn",width:24,margin:"0 4 0 0",cls:"comment-btn",html:"0"});this.classCommentsTpl.insertFirst(Ext.query(".members")[0],{num:0,id:"class-"+b.name.replace(/\./g,"-")});Ext.Array.each(Ext.query(".member .long"),function(a){var d=Ext.get(a).up(".member").getAttribute("id");this.commentsMetaTpl.append(a,{num:0,id:"class-"+b.name.replace(/\./g,"-")+"-"+d.replace(/\./g,"-")})},this)},updateClassCommentMeta:function(c){var d=Docs.commentMeta["class"][c];if(d&&d[""]){Ext.getCmp("classCommentToolbarBtn").update(d[""]);this.numCommentsTpl.overwrite(Ext.get(Ext.query(".comments-section a.name")[0]),{num:d[""]})}else{Ext.getCmp("classCommentToolbarBtn").update("0");this.numCommentsTpl.overwrite(Ext.get(Ext.query(".comments-section a.name")[0]),{num:0})}Ext.Array.each(Ext.query(".member"),function(k){var b=Ext.get(k),p=b.getAttribute("id"),a=b.down(".meta .defined-in").getAttribute("rel"),m=b.down(".comments-div a.name"),l=b.down(".title"),n=Docs.commentMeta["class"][a]&&Docs.commentMeta["class"][a][p],o=l.down(".toggleMemberComments");if(n){this.numCommentsTpl.overwrite(m,{num:n});if(o){o.update(String(n))}else{this.memberCommentsTpl.append(l,[n])}}else{if(o){o.remove()}}},this);this.updateClassIndex();Ext.Array.each(Ext.ComponentQuery.query("hovermenu"),function(a){a.fireEvent("refresh",this)})},updateGuideCommentMeta:function(d){var c=Docs.commentMeta.guide[d];this.numCommentsTpl.overwrite(Ext.get(Ext.query("#guide .comments-section a.name")[0]),{num:c&&c[""]?c[""]:0})},updateVideoCommentMeta:function(d){var c=Docs.commentMeta.video[d];this.numCommentsTpl.overwrite(Ext.get(Ext.query("#video .comments-section a.name")[0]),{num:c&&c[""]?c[""]:0})},renderHoverMenuMeta:function(b){Ext.Array.each(b.query("a.docClass"),function(k){var l="comments-class-"+k.getAttribute("rel").replace(/[^A-Za-z\-]/g,"-"),a=Ext.get(k),h=a.down(".toggleMemberComments"),j=Docs.commentMeta.idMap[l];if(j&&Docs.commentMeta[j[0]]&&Docs.commentMeta[j[0]][j[1]]){var i=Docs.commentMeta[j[0]][j[1]][j[2]];if(h){if(!i){h.remove()}else{h.update(String(i))}}else{if(i){this.memberCommentsTpl.append(k,[i||0])}}}},this)},updateClassIndex:function(){for(var e in Docs.commentMeta["class"]){var d=Ext.get(Ext.query('#classindex a[rel="'+e+'"]')[0]);if(d){var f=d.down(".toggleMemberComments");if(f){f.update(String(Docs.commentMeta["class"][e]["total"]))}else{Docs.view.Comments.memberCommentsTpl.append(d,[String(Docs.commentMeta["class"][e]["total"])])}}}},renderNewCommentForms:function(){var b=Docs.App.getController("Auth").currentUser;Ext.Array.each(Ext.query(".new-comment-wrap"),function(f){var h=Ext.get(f).up(".comment-list").parent().hasCls("hideCommentForm");if(h){}else{if(Docs.App.getController("Auth").isLoggedIn()){var g=this.loggedInCommentTpl.overwrite(f,b,true),a=g.down("textarea").dom;this.makeCodeMirror(a,g)}else{this.loggedOutCommentTpl.overwrite(f,{})}}},this)},makeCodeMirror:function(e,d){e.editor=CodeMirror.fromTextArea(e,{enterMode:"keep",mode:"markdown",indentUnit:4});var f=(d&&d.down(".commentAction"));if(f){f.on("change",function(c,b){var a=Ext.get(b).getValue();d.select(".note").setStyle({display:"none"});if(a==="question"){d.down(".postCommentWrap").setStyle({display:"none"});d.down(".note.question").setStyle({display:"block"})}else{if(a==="problem"){d.down(".postCommentWrap").setStyle({display:"block"});d.down(".note.problem").setStyle({display:"block"})}else{d.down(".postCommentWrap").setStyle({display:"block"})}}})}},showMember:function(f,g){var e=Ext.get(g).down(".long"),h=("class-"+f+"-"+g).replace(/\./g,"-");if(!e.hasCls("renderedComment")){this.commentsMetaTpl.append(e,{num:0,id:h});e.addCls("renderedComment");Docs.App.getController("CommentsMeta").commentIdMap["comments-"+h]=["class",f,g]}}});Ext.define("Docs.view.cls.Index",{extend:"Ext.container.Container",alias:"widget.classindex",requires:["Docs.ContentGrabber"],cls:"class-categories iScroll",margin:"15 10",autoScroll:true,initComponent:function(){this.tpl=new Ext.XTemplate('<h1 class="top" style="padding-bottom: 10px">API Documentation</h1>','<tpl if="notice">','<div class="notice">{notice}</div>',"</tpl>","{categories}");this.data={notice:Docs.ContentGrabber.get("notice-text"),categories:Docs.ContentGrabber.get("categories-content")};this.callParent(arguments)},getTab:function(){var b=(Docs.data.classes||[]).length>0;return b?{cls:"classes",href:"#!/api",tooltip:"API Documentation"}:false}});Ext.define("Docs.view.guides.Container",{extend:"Ext.container.Container",alias:"widget.guidecontainer",componentCls:"guide-container",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(g){var h=Ext.get(g);if(h){var e=h.getY()-100;var f=this.getEl().getScroll()["top"];this.getEl().scrollTo("top",f+e);h.highlight()}},scrollToTop:function(){this.getEl().scrollTo("top")},load:function(b){this.tpl=this.tpl||new Ext.XTemplate(Docs.data.showPrintButton?'<a class="print guide" href="?print=/guide/{name}" target="_blank">Print</a>':"","{content}");this.update(this.tpl.apply(b));Docs.Syntax.highlight(this.getEl());this.fireEvent("afterload")}});Ext.define("Docs.view.videos.Container",{extend:"Ext.container.Container",alias:"widget.videocontainer",componentCls:"video-container",load:function(b){this.tpl=this.tpl||new Ext.XTemplate('<object width="640" height="360" id="video_player">','<param name="allowfullscreen" value="true" />','<param name="allowscriptaccess" value="always" />','<param name="flashvars" value="api=1" />','<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id={id}&amp;server=vimeo.com&amp;color=4CC208&amp;fullscreen=1" />','<embed src="http://vimeo.com/moogaloop.swf?clip_id={id}&amp;server=vimeo.com&amp;color=4CC208&amp;fullscreen=1" ','type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></embed>',"</object>","<h1>{title}</h1>","<p>{[this.linkify(values.description)]}</p>",{linkify:function(a){return a.replace(/(\bhttps?:\/\/\S+)/ig,"<a href='$1'>$1</a>")}});this.update(this.tpl.apply(b))},listeners:{hide:function(){var b=document.getElementById("video_player");if(b&&b.api_pause){b.api_pause()}}}});Ext.define("Docs.view.examples.Container",{extend:"Ext.container.Container",alias:"widget.examplecontainer",layout:"fit",initComponent:function(){this.tpl=new Ext.XTemplate('<iframe style="width: 100%; height: 100%; border: 0;" src="{url}"></iframe>');this.callParent(arguments)},load:function(b){this.update(this.tpl.apply(b))},clear:function(){this.update("")}});Ext.define("Docs.view.cls.Header",{extend:"Ext.container.Container",padding:"10 0 17 0",height:55,alias:"widget.classheader",cls:"classheader",initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'<h1 class="{[this.getClass(values)]}">','<tpl if="private">','<span class="private">Private</span>',"</tpl>",'<a href="#" class="class-source-link">{name}','<span class="class-source-tip">View source...</span>',"</a>",'<tpl if="singleton">',"<span>singleton</span>","</tpl>","{[this.renderAliases(values.aliases)]}","</h1>",Docs.data.showPrintButton?'<a class="print" href="?print=/api/{name}" target="_blank">Print</a>':"",{getClass:function(b){if(b.component){return"component"}else{if(b.singleton){return"singleton"}else{return"class"}}},renderAliases:function(e){var f={widget:"xtype",plugin:"ptype",feature:"ftype"};var d=[];e&&Ext.Object.each(e,function(a,b){d.push((f[a]||a)+": "+b.join(", "))});if(d.length>0){return"<span>"+d.join(", ")+"</span>"}else{return""}}});this.on("render",this.initSourceLink,this);this.callParent()},initSourceLink:function(){this.classLinkEvent("click",function(){var d=this.loadedCls.files;if(d.length===1){window.open("source/"+d[0].href)}else{var c=this.createFileMenu(d);c.showBy(this,undefined,[58,-20])}},this);this.classLinkEvent("mouseover",function(){this.el.down(".class-source-tip").addCls("hover")},this);this.classLinkEvent("mouseout",function(){this.el.down(".class-source-tip").removeCls("hover")},this)},classLinkEvent:function(d,e,f){this.el.on(d,e,f,{preventDefault:true,delegate:"a.class-source-link"})},createFileMenu:function(b){return new Ext.menu.Menu({items:Ext.Array.map(b,function(a){return{text:a.filename,handler:function(){window.open("source/"+a.href)}}},this)})},load:function(b){this.loadedCls=b;this.update(this.tpl.apply(b))}});Ext.define("Ext.panel.Header",{extend:"Ext.container.Container",uses:["Ext.panel.Tool","Ext.draw.Component","Ext.util.CSS"],alias:"widget.header",isHeader:true,defaultType:"tool",indicateDrag:false,weight:-1,renderTpl:['<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl>','<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl>','</tpl>"','<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>'],initComponent:function(){var l=this,i,j,g,h,k;l.indicateDragCls=l.baseCls+"-draggable";l.title=l.title||"&#160;";l.tools=l.tools||[];l.items=l.items||[];l.orientation=l.orientation||"horizontal";l.dock=(l.dock)?l.dock:(l.orientation=="horizontal")?"top":"left";l.addClsWithUI(l.orientation);l.addClsWithUI(l.dock);l.addChildEls("body");if(!Ext.isEmpty(l.iconCls)){l.initIconCmp();l.items.push(l.iconCmp)}if(l.orientation=="vertical"){if(Ext.isIE6||Ext.isIE7){l.width=this.width||24}else{if(Ext.isIEQuirks){l.width=this.width||25}}l.layout={type:"vbox",align:"center",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};l.textConfig={cls:l.baseCls+"-text",type:"text",text:l.title,rotate:{degrees:90}};k=l.ui;if(Ext.isArray(k)){k=k[0]}i="."+l.baseCls+"-text-"+k;if(Ext.scopeResetCSS){i="."+Ext.baseCSSPrefix+"reset "+i}j=Ext.util.CSS.getRule(i);if(j){g=j.style}if(g){Ext.apply(l.textConfig,{"font-family":g.fontFamily,"font-weight":g.fontWeight,"font-size":g.fontSize,fill:g.color})}l.titleCmp=Ext.create("Ext.draw.Component",{ariaRole:"heading",focusable:false,viewBox:false,flex:1,autoSize:true,margins:"5 0 0 0",items:[l.textConfig],renderSelectors:{textEl:"."+l.baseCls+"-text"}})}else{l.layout={type:"hbox",align:"middle",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};l.titleCmp=Ext.create("Ext.Component",{xtype:"component",ariaRole:"heading",focusable:false,flex:1,cls:l.baseCls+"-text-container",renderTpl:['<span id="{id}-textEl" class="{cls}-text {cls}-text-{ui}">{title}</span>'],renderData:{title:l.title,cls:l.baseCls,ui:l.ui},childEls:["textEl"]})}l.items.push(l.titleCmp);l.items=l.items.concat(l.tools);this.callParent()},initIconCmp:function(){this.iconCmp=Ext.create("Ext.Component",{focusable:false,renderTpl:['<img id="{id}-iconEl" alt="" src="{blank}" class="{cls}-icon {iconCls}"/>'],renderData:{blank:Ext.BLANK_IMAGE_URL,cls:this.baseCls,iconCls:this.iconCls,orientation:this.orientation},childEls:["iconEl"],iconCls:this.iconCls})},afterRender:function(){var b=this;b.el.unselectable();if(b.indicateDrag){b.el.addCls(b.indicateDragCls)}b.mon(b.el,{click:b.onClick,scope:b});b.callParent()},afterLayout:function(){var b=this;b.callParent(arguments);if(Ext.isIE7){b.el.repaint()}},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,g,f;e.callParent(arguments);f=e.baseCls+"-body-"+e.ui;if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}if(!h&&e.titleCmp&&e.titleCmp.rendered&&e.titleCmp.textEl){e.titleCmp.textEl.addCls(e.baseCls+"-text-"+e.ui)}},removeUIFromElement:function(){var d=this,f,e;d.callParent(arguments);e=d.baseCls+"-body-"+d.ui;if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}if(d.titleCmp&&d.titleCmp.rendered&&d.titleCmp.textEl){d.titleCmp.textEl.removeCls(d.baseCls+"-text-"+d.ui)}},onClick:function(b){if(!b.getTarget(Ext.baseCSSPrefix+"tool")){this.fireEvent("click",b)}},getTargetEl:function(){return this.body||this.frameBody||this.el},setTitle:function(g){var h=this;if(h.rendered){if(h.titleCmp.rendered){if(h.titleCmp.surface){h.title=g||"";var e=h.titleCmp.surface.items.items[0],f=h.titleCmp.surface;f.remove(e);h.textConfig.type="text";h.textConfig.text=g;e=f.add(h.textConfig);e.setAttributes({rotate:{degrees:90}},true);h.titleCmp.autoSizeSurface()}else{h.title=g||"&#160;";h.titleCmp.textEl.update(h.title)}}else{h.titleCmp.on({render:function(){h.setTitle(g)},single:true})}}else{h.on({render:function(){h.layout.layout();h.setTitle(g)},single:true})}},setIconCls:function(g){var j=this,h=!g||!g.length,i=j.iconCmp,f;j.iconCls=g;if(!j.iconCmp&&!h){j.initIconCmp();j.insert(0,j.iconCmp)}else{if(i){if(h){j.iconCmp.destroy()}else{f=i.iconEl;f.removeCls(i.iconCls);f.addCls(g);i.iconCls=g}}}},addTool:function(b){this.tools.push(this.add(b))},onAdd:function(c,d){this.callParent([arguments]);if(c instanceof Ext.panel.Tool){c.bindTo(this.ownerCt);this.tools[c.type]=c}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",uses:["Ext.grid.ColumnLayout","Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var b=this;b.headerCounter=0;b.plugins=b.plugins||[];if(!b.isHeader){b.resizer=Ext.create("Ext.grid.plugin.HeaderResizer");b.reorderer=Ext.create("Ext.grid.plugin.HeaderReorderer");if(!b.enableColumnResize){b.resizer.disable()}if(!b.enableColumnMove){b.reorderer.disable()}b.plugins.push(b.reorderer,b.resizer)}if(b.isHeader&&!b.items){b.layout="auto"}else{b.layout={type:"gridcolumn",availableSpaceOffset:b.availableSpaceOffset,align:"stretchmax",resetStretch:true}}b.defaults=b.defaults||{};Ext.applyIf(b.defaults,{width:b.defaultWidth,triStateSort:b.triStateSort,sortable:b.sortable});b.callParent();b.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){Ext.destroy(this.resizer,this.reorderer);this.callParent()},applyDefaults:function(b){if(b&&!b.isComponent&&b.xtype=="rownumberer"){return b}return this.callParent([b])},applyColumnsState:function(i){if(!i||!i.length){return}var h=this,j=0,f,g;Ext.each(i,function(a){g=h.down("gridcolumn[headerId="+a.id+"]");if(g){f=h.items.indexOf(g);if(j!==f){h.moveHeader(f,j)}if(g.applyColumnState){g.applyColumnState(a)}++j}})},getColumnsState:function(){var d=this,e=[],f;d.items.each(function(a){f=a.getColumnState&&a.getColumnState();if(f){e.push(f)}});return e},onAdd:function(c){var d=this;if(!c.headerId){c.headerId=c.initialConfig.id||("h"+(++d.headerCounter))}if(Ext.global.console&&Ext.global.console.warn){if(!d._usedIDs){d._usedIDs={}}if(d._usedIDs[c.headerId]){Ext.global.console.warn(this.$className,"attempted to reuse an existing id",c.headerId)}d._usedIDs[c.headerId]=true}d.callParent(arguments);d.purgeCache()},onRemove:function(c){var d=this;d.callParent(arguments);d.purgeCache()},afterRender:function(){this.callParent();var f=this.up("[store]").store,h=f.sorters,g=h.first(),e;if(g){e=this.down("gridcolumn[dataIndex="+g.property+"]");if(e){e.setSortState(g.direction,false,true)}}},afterLayout:function(){if(!this.isHeader){var h=this,i=h.query(">gridcolumn:not([hidden])"),j,f,g;h.callParent(arguments);if(i.length){f=i[0].el;if(f!==h.pastFirstHeaderEl){if(h.pastFirstHeaderEl){h.pastFirstHeaderEl.removeCls(h.firstHeaderCls)}f.addCls(h.firstHeaderCls);h.pastFirstHeaderEl=f}g=i[i.length-1].el;if(g!==h.pastLastHeaderEl){if(h.pastLastHeaderEl){h.pastLastHeaderEl.removeCls(h.lastHeaderCls)}g.addCls(h.lastHeaderCls);h.pastLastHeaderEl=g}}}},onHeaderShow:function(p,u){var m=this,i=m.ownerCt,s=m.getMenu(),r,t,o,v,n,q;if(s){o=s.down("menucheckitem[headerId="+p.id+"]");if(o){o.setChecked(true,true)}r=s.query("#columnItem>menucheckitem[checked]");t=r.length;if((m.getVisibleGridColumns().length>1)&&m.disabledMenuItems&&m.disabledMenuItems.length){if(t==1){Ext.Array.remove(m.disabledMenuItems,r[0])}for(q=0,n=m.disabledMenuItems.length;q<n;q++){v=m.disabledMenuItems[q];if(!v.isDestroyed){v[v.menu?"enableCheckChange":"enable"]()}}if(t==1){m.disabledMenuItems=r}else{m.disabledMenuItems=[]}}}if(!p.isGroupHeader){if(m.view){m.view.onHeaderShow(m,p,true)}if(i){i.onHeaderShow(m,p)}}m.fireEvent("columnshow",m,p);if(u!==true){m.doLayout()}},doComponentLayout:function(){var b=this;if(b.view&&b.view.saveScrollState){b.view.saveScrollState()}b.callParent(arguments);if(b.view&&b.view.restoreScrollState){b.view.restoreScrollState()}},onHeaderHide:function(i,l){var g=this,h=g.ownerCt,j=g.getMenu(),k;if(j){k=j.down("menucheckitem[headerId="+i.id+"]");if(k){k.setChecked(false,true)}g.setDisabledItems()}if(!i.isGroupHeader){if(g.view){g.view.onHeaderHide(g,i,true)}if(h){h.onHeaderHide(g,i)}if(!l){g.doLayout()}}g.fireEvent("columnhide",g,i)},setDisabledItems:function(){var k=this,i=k.getMenu(),g=0,h,j,l;j=i.query("#columnItem>menucheckitem[checked]");if((j.length===1)){if(!k.disabledMenuItems){k.disabledMenuItems=[]}if((k.getVisibleGridColumns().length===1)&&j[0].menu){j=j.concat(j[0].menu.query("menucheckitem[checked]"))}h=j.length;for(g=0;g<h;g++){l=j[g];if(!Ext.Array.contains(k.disabledMenuItems,l)){l.disabled=false;l[l.menu?"disableCheckChange":"disable"]();k.disabledMenuItems.push(l)}}}},tempLock:function(){this.ddLock=true;Ext.Function.defer(function(){this.ddLock=false},200,this)},onHeaderResize:function(f,e,d){this.tempLock();if(this.view&&this.view.rendered){this.view.onHeaderResize(f,e,d)}},onHeaderClick:function(f,d,e){this.fireEvent("headerclick",this,f,d,e)},onHeaderTriggerClick:function(f,d,e){if(this.fireEvent("headertriggerclick",this,f,d,e)!==false){this.showMenuBy(e,f)}},showMenuBy:function(g,i){var k=this.getMenu(),j=k.down("#ascItem"),l=k.down("#descItem"),h;k.activeHeader=k.ownerCt=i;k.setFloatParent(i);i.titleContainer.addCls(this.headerOpenCls);h=i.sortable?"enable":"disable";if(j){j[h]()}if(l){l[h]()}k.showBy(g)},onMenuDeactivate:function(){var b=this.getMenu();b.activeHeader.titleContainer.removeCls(this.headerOpenCls)},moveHeader:function(d,c){this.tempLock();this.onHeaderMoved(this.move(d,c),d,c)},purgeCache:function(){var b=this;delete b.gridDataColumns;delete b.hideableColumns;if(b.menu){b.menu.destroy();delete b.menu}},onHeaderMoved:function(h,f,i){var j=this,g=j.ownerCt;if(g&&g.onHeaderMove){g.onHeaderMove(j,h,f,i)}j.fireEvent("columnmove",j,h,f,i)},getMenu:function(){var b=this;if(!b.menu){b.menu=Ext.create("Ext.menu.Menu",{hideOnParentHide:false,items:b.getMenuItems(),listeners:{deactivate:b.onMenuDeactivate,scope:b}});b.setDisabledItems();b.fireEvent("menucreate",b,b.menu)}return b.menu},getMenuItems:function(){var f=this,d=[],e=f.enableColumnHide?f.getColumnMenu(f):null;if(f.sortable){d=[{itemId:"ascItem",text:f.sortAscText,cls:Ext.baseCSSPrefix+"hmenu-sort-asc",handler:f.onSortAscClick,scope:f},{itemId:"descItem",text:f.sortDescText,cls:Ext.baseCSSPrefix+"hmenu-sort-desc",handler:f.onSortDescClick,scope:f}]}if(e&&e.length){d.push("-",{itemId:"columnItem",text:f.columnsText,cls:Ext.baseCSSPrefix+"cols-icon",menu:e})}return d},onSortAscClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("ASC")},onSortDescClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("DESC")},getColumnMenu:function(k){var n=[],h=0,l,i=k.query(">gridcolumn[hideable]"),j=i.length,m;for(;h<j;h++){l=i[h];m=Ext.create("Ext.menu.CheckItem",{text:l.text,checked:!l.hidden,hideOnClick:false,headerId:l.id,menu:l.isGroupHeader?this.getColumnMenu(l):undefined,checkHandler:this.onColumnCheckChange,scope:this});if(j===1){m.disabled=true}n.push(m);l.on({destroy:Ext.Function.bind(m.destroy,m)})}return n},onColumnCheckChange:function(e,d){var f=Ext.getCmp(e.headerId);f[d?"show":"hide"]()},getColumnsForTpl:function(l){var n=[],m=this.getGridColumns(l),j=m.length,i=0,k,h;for(;i<j;i++){k=m[i];if(k.hidden||k.up("headercontainer[hidden=true]")){h=0}else{h=k.getDesiredWidth();if((i===0)&&(Ext.isIE6||Ext.isIE7)){h+=1}}n.push({dataIndex:k.dataIndex,align:k.align,width:h,id:k.id,cls:k.tdCls,columnId:k.getItemId()})}return n},getColumnCount:function(){return this.getGridColumns().length},getFullWidth:function(i){var j=0,f=this.getVisibleGridColumns(i),h=f.length,g=0;for(;g<h;g++){if(!isNaN(f[g].width)){if(f[g].getDesiredWidth){j+=f[g].getDesiredWidth()}else{j+=f[g].getWidth()}}}return j},clearOtherSortStates:function(g){var j=this.getGridColumns(),h=j.length,f=0,i;for(;f<h;f++){if(j[f]!==g){i=j[f].sortState;j[f].setSortState(null,true)}}},getVisibleGridColumns:function(b){return Ext.ComponentQuery.query(":not([hidden])",this.getGridColumns(b))},getGridColumns:function(d){var f=this,e=d?null:f.gridDataColumns;if(!e){f.gridDataColumns=e=[];f.cascade(function(a){if((a!==f)&&!a.isGroupHeader){e.push(a)}})}return e},getHideableColumns:function(d){var f=this,e=d?null:f.hideableColumns;if(!e){e=f.hideableColumns=f.query("[hideable]")}return e},getHeaderIndex:function(c){var d=this.getGridColumns();return Ext.Array.indexOf(d,c)},getHeaderAtIndex:function(d){var c=this.getGridColumns();return c[d]},prepareData:function(w,B,u,s,D){var x={},A=this.gridDataColumns||this.getGridColumns(),z=A.length,y=0,v,p,t,q,C,r=D.store;for(;y<z;y++){C={tdCls:"",style:""};v=A[y];p=v.id;t=v.renderer;q=w[v.dataIndex];if(typeof t==="string"){v.renderer=t=Ext.util.Format[t]}if(typeof t==="function"){q=t.call(v.scope||this.ownerCt,q,C,u,B,y,r,s)}if(C.css){x.cssWarning=true;C.tdCls=C.css;delete C.css}x[p+"-modified"]=u.isModified(v.dataIndex)?Ext.baseCSSPrefix+"grid-dirty-cell":"";x[p+"-tdCls"]=C.tdCls;x[p+"-tdAttr"]=C.tdAttr;x[p+"-style"]=C.style;if(q===undefined||q===null||q===""){q="&#160;"}x[p]=q}return x},expandToFit:function(b){if(this.view){this.view.expandToFit(b)}}});Ext.define("Ext.grid.column.Column",{extend:"Ext.grid.header.Container",alias:"widget.gridcolumn",requires:["Ext.util.KeyNav"],alternateClassName:"Ext.grid.Column",baseCls:Ext.baseCSSPrefix+"column-header "+Ext.baseCSSPrefix+"unselectable",hoverCls:Ext.baseCSSPrefix+"column-header-over",handleWidth:5,sortState:null,possibleSortStates:["ASC","DESC"],renderTpl:'<div id="{id}-titleContainer" class="'+Ext.baseCSSPrefix+'column-header-inner"><span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'column-header-text">{text}</span><tpl if="!values.menuDisabled"><div id="{id}-triggerEl" class="'+Ext.baseCSSPrefix+'column-header-trigger"></div></tpl></div>',dataIndex:null,text:"&#160;",sortable:true,hideable:true,menuDisabled:false,renderer:false,align:"left",draggable:true,initDraggable:Ext.emptyFn,isHeader:true,initComponent:function(){var g=this,e,f,h;if(Ext.isDefined(g.header)){g.text=g.header;delete g.header}if(g.flex){g.minWidth=g.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}else{g.minWidth=g.width}if(!g.triStateSort){g.possibleSortStates.length=2}if(Ext.isDefined(g.columns)){g.isGroupHeader=true;if(g.dataIndex){Ext.Error.raise("Ext.grid.column.Column: Group header may not accept a dataIndex")}if((g.width&&g.width!==Ext.grid.header.Container.prototype.defaultWidth)||g.flex){Ext.Error.raise("Ext.grid.column.Column: Group header does not support setting explicit widths or flexs. The group header width is calculated by the sum of its children.")}g.items=g.columns;delete g.columns;delete g.flex;g.width=0;for(e=0,f=g.items.length;e<f;e++){h=g.items[e];if(!h.hidden){g.width+=h.width||Ext.grid.header.Container.prototype.defaultWidth}if(h.flex){Ext.Error.raise("Ext.grid.column.Column: items of a grouped header do not support flexed values. Each item must explicitly define its width.")}}g.minWidth=g.width;g.cls=(g.cls||"")+" "+Ext.baseCSSPrefix+"group-header";g.sortable=false;g.resizable=false;g.align="center"}g.addChildEls("titleContainer","triggerEl","textEl");g.callParent(arguments)},onAdd:function(b){b.isSubHeader=true;b.addCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},onRemove:function(b){b.isSubHeader=false;b.removeCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},initRenderData:function(){var b=this;Ext.applyIf(b.renderData,{text:b.text,menuDisabled:b.menuDisabled});return b.callParent(arguments)},applyColumnState:function(d){var e=this,f=Ext.isDefined;e.applyColumnsState(d.columns);if(f(d.hidden)){e.hidden=d.hidden}if(f(d.locked)){e.locked=d.locked}if(f(d.sortable)){e.sortable=d.sortable}if(f(d.width)){delete e.flex;e.width=d.width}else{if(f(d.flex)){delete e.width;e.flex=d.flex}}},getColumnState:function(){var d=this,e=[],f={id:d.headerId};d.savePropsToState(["hidden","sortable","locked","flex","width"],f);if(d.isGroupHeader){d.items.each(function(a){e.push(a.getColumnState())});if(e.length){f.columns=e}}else{if(d.isSubHeader&&d.ownerCt.hidden){delete d.hidden}}if("width" in f){delete f.flex}return f},setText:function(b){this.text=b;if(this.rendered){this.textEl.update(b)}},getOwnerHeaderCt:function(){return this.up(":not([isHeader])")},getIndex:function(){return this.isGroupColumn?false:this.getOwnerHeaderCt().getHeaderIndex(this)},onRender:function(){var c=this,d=c.up("tablepanel");if(d&&(!c.sortable||d.sortableColumns===false)&&!c.groupable&&!c.lockable&&(d.enableColumnHide===false||!c.getOwnerHeaderCt().getHideableColumns().length)){c.menuDisabled=true}c.callParent(arguments)},afterRender:function(){var c=this,d=c.el;c.callParent(arguments);d.addCls(Ext.baseCSSPrefix+"column-header-align-"+c.align).addClsOnOver(c.overCls);c.mon(d,{click:c.onElClick,dblclick:c.onElDblClick,scope:c});if(!Ext.isIE8||!Ext.isStrict){c.mon(c.getFocusEl(),{focus:c.onTitleMouseOver,blur:c.onTitleMouseOut,scope:c})}c.mon(c.titleContainer,{mouseenter:c.onTitleMouseOver,mouseleave:c.onTitleMouseOut,scope:c});c.keyNav=Ext.create("Ext.util.KeyNav",d,{enter:c.onEnterKey,down:c.onDownKey,scope:c})},setWidth:function(s,t){var m=this,r=m.ownerCt,l,n,o,q=m.getWidth(),p=0,i;if(s!==q){m.oldWidth=q;m.minWidth=m.width=s;if(r.isGroupHeader){l=r.items.items;n=l.length;for(o=0;o<n;o++){i=l[o];if(!i.hidden){p+=(i===m)?s:i.getWidth()}}r.setWidth(p,t)}else{if(t!==false){r.doLayout()}}}},afterComponentLayout:function(h,f){var g=this,e=this.getOwnerHeaderCt();g.callParent(arguments);if(h&&!g.isGroupHeader&&e){e.onHeaderResize(g,h,true)}if(g.oldWidth&&(h!==g.oldWidth)){e.fireEvent("columnresize",e,this,h)}delete g.oldWidth},setPadding:function(e){var f=this,d=Ext.util.TextMetrics.measure(f.textEl.dom,f.text).height;if(!f.isGroupHeader){if(f.titleContainer.getHeight()<e){f.titleContainer.dom.style.height=e+"px"}}e=f.titleContainer.getViewSize().height;if(d){f.titleContainer.setStyle({paddingTop:Math.max(((e-d)/2),0)+"px"})}if(Ext.isIE&&f.triggerEl){f.triggerEl.setHeight(e)}},onDestroy:function(){var b=this;Ext.destroy(b.textEl,b.keyNav);delete b.keyNav;b.callParent(arguments)},onTitleMouseOver:function(){this.titleContainer.addCls(this.hoverCls)},onTitleMouseOut:function(){this.titleContainer.removeCls(this.hoverCls)},onDownKey:function(b){if(this.triggerEl){this.onElClick(b,this.triggerEl.dom||this.el.dom)}},onEnterKey:function(b){this.onElClick(b,this.el.dom)},onElDblClick:function(g,f){var h=this,e=h.ownerCt;if(e&&Ext.Array.indexOf(e.items,h)!==0&&h.isOnLeftEdge(g)){e.expandToFit(h.previousSibling("gridcolumn"))}},onElClick:function(g,e){var h=this,f=h.getOwnerHeaderCt();if(f&&!f.ddLock){if(h.triggerEl&&(g.target===h.triggerEl.dom||e===h.triggerEl.dom||g.within(h.triggerEl))){f.onHeaderTriggerClick(h,g,e)}else{if(g.getKey()||(!h.isOnLeftEdge(g)&&!h.isOnRightEdge(g))){h.toggleSortState();f.onHeaderClick(h,g,e)}}}},processEvent:function(j,e,h,l,k,i){return this.fireEvent.apply(this,arguments)},toggleSortState:function(){var d=this,e,f;if(d.sortable){e=Ext.Array.indexOf(d.possibleSortStates,d.sortState);f=(e+1)%d.possibleSortStates.length;d.setSortState(d.possibleSortStates[f])}},doSort:function(c){var d=this.up("tablepanel").store;d.sort({property:this.getSortParam(),direction:c})},getSortParam:function(){return this.dataIndex},setSortState:function(t,k,o){var n=this,m=Ext.baseCSSPrefix+"column-header-sort-",l=m+"ASC",r=m+"DESC",s=m+"null",p=n.getOwnerHeaderCt(),q=n.sortState;if(q!==t&&n.getSortParam()){n.addCls(m+t);if(t&&!o){n.doSort(t)}switch(t){case"DESC":n.removeCls([l,s]);break;case"ASC":n.removeCls([r,s]);break;case null:n.removeCls([l,r]);break}if(p&&!n.triStateSort&&!k){p.clearOtherSortStates(n)}n.sortState=t;p.fireEvent("sortchange",p,n,t)}},hide:function(){var k=this,n,i,m,j,l=0,h=k.getOwnerHeaderCt();k.oldWidth=k.getWidth();if(k.isGroupHeader){n=k.items.items;k.callParent(arguments);h.onHeaderHide(k);for(m=0,i=n.length;m<i;m++){n[m].hidden=true;h.onHeaderHide(n[m],true)}return}j=k.ownerCt.componentLayout.layoutBusy;k.ownerCt.componentLayout.layoutBusy=true;k.callParent(arguments);k.ownerCt.componentLayout.layoutBusy=j;h.onHeaderHide(k);if(k.ownerCt.isGroupHeader){n=k.ownerCt.query(">:not([hidden])");if(!n.length){k.ownerCt.hide()}else{for(m=0,i=n.length;m<i;m++){l+=n[m].getWidth()}k.ownerCt.minWidth=l;k.ownerCt.setWidth(l)}}},show:function(){var m=this,u=m.ownerCt,q=u.componentLayout,t=q.layoutBusy,v=u.layout,p=v.layoutBusy,n,o,r,i,s=0;q.layoutBusy=v.layoutBusy=true;m.callParent(arguments);q.layoutBusy=t;v.layoutBusy=p;if(m.isSubHeader){if(!u.isVisible()){u.show()}}if(m.isGroupHeader&&!m.query(":not([hidden])").length){n=m.query(">*");for(r=0,o=n.length;r<o;r++){i=n[r];i.preventLayout=true;i.show();s+=i.getWidth();delete i.preventLayout}m.setWidth(s)}if(u.isGroupHeader&&m.preventLayout!==true){n=u.query(">:not([hidden])");for(r=0,o=n.length;r<o;r++){s+=n[r].getWidth()}u.minWidth=s;u.setWidth(s)}u=m.getOwnerHeaderCt();if(u){u.onHeaderShow(m,m.preventLayout)}},getDesiredWidth:function(){var b=this;if(b.rendered&&b.componentLayout&&b.componentLayout.lastComponentSize){return b.componentLayout.lastComponentSize.width}else{if(b.flex){return b.width}else{return b.width}}},getCellSelector:function(){return"."+Ext.baseCSSPrefix+"grid-cell-"+this.getItemId()},getCellInnerSelector:function(){return this.getCellSelector()+" ."+Ext.baseCSSPrefix+"grid-cell-inner"},isOnLeftEdge:function(b){return(b.getXY()[0]-this.el.getLeft()<=this.handleWidth)},isOnRightEdge:function(b){return(this.el.getRight()-b.getXY()[0]<=this.handleWidth)}});Ext.define("Ext.grid.column.Action",{extend:"Ext.grid.column.Column",alias:["widget.actioncolumn"],alternateClassName:"Ext.grid.ActionColumn",header:"&#160;",actionIdRe:new RegExp(Ext.baseCSSPrefix+"action-col-(\\d+)"),altText:"",sortable:false,constructor:function(m){var j=this,h=Ext.apply({},m),n=h.items||[j],i=n.length,l,k;delete h.items;j.callParent([h]);j.items=n;j.renderer=function(b,a){b=Ext.isFunction(h.renderer)?h.renderer.apply(this,arguments)||"":"";a.tdCls+=" "+Ext.baseCSSPrefix+"action-col-cell";for(l=0;l<i;l++){k=n[l];k.disable=Ext.Function.bind(j.disableAction,j,[l]);k.enable=Ext.Function.bind(j.enableAction,j,[l]);b+='<img alt="'+(k.altText||j.altText)+'" src="'+(k.icon||Ext.BLANK_IMAGE_URL)+'" class="'+Ext.baseCSSPrefix+"action-col-icon "+Ext.baseCSSPrefix+"action-col-"+String(l)+" "+(k.disabled?Ext.baseCSSPrefix+"item-disabled":" ")+(k.iconCls||"")+" "+(Ext.isFunction(k.getClass)?k.getClass.apply(k.scope||j.scope||j,arguments):(j.iconCls||""))+'"'+((k.tooltip)?' data-qtip="'+k.tooltip+'"':"")+" />"}return b}},enableAction:function(d){var c=this;if(!d){d=0}else{if(!Ext.isNumber(d)){d=Ext.Array.indexOf(c.items,d)}}c.items[d].disabled=false;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+d).removeCls(c.disabledCls)},disableAction:function(d){var c=this;if(!d){d=0}else{if(!Ext.isNumber(d)){d=Ext.Array.indexOf(c.items,d)}}c.items[d].disabled=true;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+d).addCls(c.disabledCls)},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(p,m,l,t,o,r){var q=this,s=r.getTarget().className.match(q.actionIdRe),e,n;if(s){e=q.items[parseInt(s[1],10)];if(e){if(p=="click"){n=e.handler||q.handler;if(n&&!e.disabled){n.call(e.scope||q.scope||q,m,t,o,e,r)}}else{if(p=="mousedown"&&e.stopSelection!==false){return false}}}}return q.callParent(arguments)},cascade:function(c,d){c.call(d||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.button.Button",{alias:"widget.button",extend:"Ext.Component",requires:["Ext.menu.Manager","Ext.util.ClickRepeater","Ext.layout.component.Button","Ext.util.TextMetrics","Ext.util.KeyMap"],alternateClassName:"Ext.Button",isButton:true,componentLayout:"button",hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",textAlign:"center",type:"button",clickEvent:"click",preventDefault:true,handleMouseEvents:true,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",pressedCls:"pressed",overCls:"over",focusCls:"focus",menuActiveCls:"menu-active",ariaRole:"button",renderTpl:'<em id="{id}-btnWrap" class="{splitCls}"><tpl if="href"><a id="{id}-btnEl" href="{href}" target="{target}"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="link"><span id="{id}-btnInnerEl" class="{baseCls}-inner">{text}</span><span id="{id}-btnIconEl" class="{baseCls}-icon"></span></a></tpl><tpl if="!href"><button id="{id}-btnEl" type="{type}" hidefocus="true"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="button" autocomplete="off"><span id="{id}-btnInnerEl" class="{baseCls}-inner" style="{innerSpanStyle}">{text}</span><span id="{id}-btnIconEl" class="{baseCls}-icon {iconCls}">&#160;</span></button></tpl></em>',scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,initComponent:function(){var b=this;b.callParent(arguments);b.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(b.menu){b.split=true;b.menu=Ext.menu.Manager.get(b.menu);b.menu.ownerCt=b}if(b.url){b.href=b.url}if(b.href&&!b.hasOwnProperty("preventDefault")){b.preventDefault=false}if(Ext.isString(b.toggleGroup)){b.enableToggle=true}},initAria:function(){this.callParent();var b=this.getActionEl();if(this.menu){b.dom.setAttribute("aria-haspopup",true)}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.btnEl},setButtonCls:function(){var g=this,e=[],f=g.btnIconEl,h="x-hide-display";if(g.useSetClass){if(!Ext.isEmpty(g.oldCls)){g.removeClsWithUI(g.oldCls);g.removeClsWithUI(g.pressedCls)}if(g.iconCls||g.icon){if(g.text){e.push("icon-text-"+g.iconAlign)}else{e.push("icon")}if(f){f.removeCls(h)}}else{if(g.text){e.push("noicon")}if(f){f.addCls(h)}}g.oldCls=e;g.addClsWithUI(e);g.addClsWithUI(g.pressed?g.pressedCls:null)}},onRender:function(i,g){var h=this,j,f;Ext.applyIf(h.renderData,h.getTemplateArgs());h.addChildEls("btnEl","btnWrap","btnInnerEl","btnIconEl");if(h.scale){h.ui=h.ui+"-"+h.scale}h.callParent(arguments);if(h.split&&h.arrowTooltip){h.arrowEl.dom.setAttribute(h.getTipAttr(),h.arrowTooltip)}h.mon(h.btnEl,{scope:h,focus:h.onFocus,blur:h.onBlur});f=h.el;if(h.icon){h.setIcon(h.icon)}if(h.iconCls){h.setIconCls(h.iconCls)}if(h.tooltip){h.setTooltip(h.tooltip,true)}if(h.textAlign){h.setTextAlign(h.textAlign)}if(h.handleMouseEvents){h.mon(f,{scope:h,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousedown:h.onMouseDown});if(h.split){h.mon(f,{mousemove:h.onMouseMove,scope:h})}}if(h.menu){h.mon(h.menu,{scope:h,show:h.onMenuShow,hide:h.onMenuHide});h.keyMap=Ext.create("Ext.util.KeyMap",h.el,{key:Ext.EventObject.DOWN,handler:h.onDownKey,scope:h})}if(h.repeat){j=Ext.create("Ext.util.ClickRepeater",f,Ext.isObject(h.repeat)?h.repeat:{});h.mon(j,"click",h.onRepeatClick,h)}else{h.mon(f,h.clickEvent,h.onClick,h)}Ext.ButtonToggleManager.register(h)},getTemplateArgs:function(){var f=this,d=f.getPersistentBtnPadding(),e="";if(Math.max.apply(Math,d)>0){e="margin:"+Ext.Array.map(d,function(a){return -a+"px"}).join(" ")}return{href:f.getHref(),target:f.target||"_blank",type:f.type,splitCls:f.getSplitCls(),cls:f.cls,iconCls:f.iconCls||"",text:f.text||"&#160;",tabIndex:f.tabIndex,innerSpanStyle:e}},getHref:function(){var d=this,c=Ext.apply({},d.baseParams);c=Ext.apply(c,d.params);return d.href?Ext.urlAppend(d.href,Ext.Object.toQueryString(c)):false},setParams:function(b){this.params=b;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var b=this;return b.split?(b.baseCls+"-"+b.arrowCls)+" "+(b.baseCls+"-"+b.arrowCls+"-"+b.arrowAlign):""},afterRender:function(){var b=this;b.useSetClass=true;b.setButtonCls();b.doc=Ext.getDoc();this.callParent(arguments)},setIconCls:function(e){var g=this,f=g.btnIconEl,h=g.iconCls;g.iconCls=e;if(f){f.removeCls(h);f.addCls(e||"");g.setButtonCls()}return g},setTooltip:function(f,e){var d=this;if(d.rendered){if(!e){d.clearTip()}if(Ext.isObject(f)){Ext.tip.QuickTipManager.register(Ext.apply({target:d.btnEl.id},f));d.tooltip=f}else{d.btnEl.dom.setAttribute(d.getTipAttr(),f)}}else{d.tooltip=f}return d},setTextAlign:function(f){var d=this,e=d.btnEl;if(e){e.removeCls(d.baseCls+"-"+d.textAlign);e.addCls(d.baseCls+"-"+f)}d.textAlign=f;return d},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var b=this;if(b.rendered){b.clearTip()}if(b.menu&&b.destroyMenu!==false){Ext.destroy(b.menu)}Ext.destroy(b.btnInnerEl,b.repeater);b.callParent()},onDestroy:function(){var b=this;if(b.rendered){b.doc.un("mouseover",b.monitorMouseOver,b);b.doc.un("mouseup",b.onMouseUp,b);delete b.doc;Ext.ButtonToggleManager.unregister(b);Ext.destroy(b.keyMap);delete b.keyMap}b.callParent()},setHandler:function(c,d){this.handler=c;this.scope=d;return this},setText:function(c){var d=this;d.text=c;if(d.el){d.btnInnerEl.update(c||"&#160;");d.setButtonCls()}d.doComponentLayout();return d},setIcon:function(d){var f=this,e=f.btnIconEl;f.icon=d;if(e){e.setStyle("background-image",d?"url("+d+")":"");f.setButtonCls()}return f},getText:function(){return this.text},toggle:function(f,e){var d=this;f=f===undefined?!d.pressed:!!f;if(f!==d.pressed){if(d.rendered){d[f?"addClsWithUI":"removeClsWithUI"](d.pressedCls)}d.btnEl.dom.setAttribute("aria-pressed",f);d.pressed=f;if(!e){d.fireEvent("toggle",d,f);Ext.callback(d.toggleHandler,d.scope||d,[d,f])}}return d},maybeShowMenu:function(){var b=this;if(b.menu&&!b.hasVisibleMenu()&&!b.ignoreNextClick){b.showMenu()}},showMenu:function(){var b=this;if(b.rendered&&b.menu){if(b.tooltip&&b.getTipAttr()!="title"){Ext.tip.QuickTipManager.getQuickTip().cancelShow(b.btnEl)}if(b.menu.isVisible()){b.menu.hide()}b.menu.showBy(b.el,b.menuAlign)}return b},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var b=this.menu;return b&&b.rendered&&b.isVisible()},onRepeatClick:function(d,c){this.onClick(c)},onClick:function(c){var d=this;if(d.preventDefault||(d.disabled&&d.getHref())&&c){c.preventDefault()}if(c.button!==0){return}if(!d.disabled){d.doToggle();d.maybeShowMenu();d.fireHandler(c)}},fireHandler:function(f){var d=this,e=d.handler;d.fireEvent("click",d,f);if(e){e.call(d.scope||d,d,f)}d.onBlur()},doToggle:function(){var b=this;if(b.enableToggle&&(b.allowDepress!==false||!b.pressed)){b.toggle()}},onMouseOver:function(c){var d=this;if(!d.disabled&&!c.within(d.el,true,true)){d.onMouseEnter(c)}},onMouseOut:function(c){var d=this;if(!c.within(d.el,true,true)){if(d.overMenuTrigger){d.onMenuTriggerOut(c)}d.onMouseLeave(c)}},onMouseMove:function(i){var k=this,l=k.el,j=k.overMenuTrigger,e,h;if(k.split){if(k.arrowAlign==="right"){e=i.getX()-l.getX();h=l.getWidth()}else{e=i.getY()-l.getY();h=l.getHeight()}if(e>(h-k.getTriggerSize())){if(!j){k.onMenuTriggerOver(i)}}else{if(j){k.onMenuTriggerOut(i)}}}},getTriggerSize:function(){var h=this,j=h.triggerSize,f,g,i;if(j===i){f=h.arrowAlign;g=f.charAt(0);j=h.triggerSize=h.el.getFrameWidth(g)+h.btnWrap.getFrameWidth(g)+(h.frameSize&&h.frameSize[f]||0)}return j},onMouseEnter:function(c){var d=this;d.addClsWithUI(d.overCls);d.fireEvent("mouseover",d,c)},onMouseLeave:function(c){var d=this;d.removeClsWithUI(d.overCls);d.fireEvent("mouseout",d,c)},onMenuTriggerOver:function(c){var d=this;d.overMenuTrigger=true;d.fireEvent("menutriggerover",d,d.menu,c)},onMenuTriggerOut:function(c){var d=this;delete d.overMenuTrigger;d.fireEvent("menutriggerout",d,d.menu,c)},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI("disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI("disabled");c.removeClsWithUI(c.overCls);return c},setScale:function(f){var e=this,d=e.ui.replace("-"+e.scale,"");if(!Ext.Array.contains(e.allowedScales,f)){throw ("#setScale: scale must be an allowed scale ("+e.allowedScales.join(", ")+")")}e.scale=f;e.setUI(d)},setUI:function(c){var d=this;if(d.scale&&!c.match(d.scale)){c=c+"-"+d.scale}d.callParent([c])},onFocus:function(c){var d=this;if(!d.disabled){d.addClsWithUI(d.focusCls)}},onBlur:function(c){var d=this;d.removeClsWithUI(d.focusCls)},onMouseDown:function(c){var d=this;if(!d.disabled&&c.button===0){d.addClsWithUI(d.pressedCls);d.doc.on("mouseup",d.onMouseUp,d)}},onMouseUp:function(c){var d=this;if(c.button===0){if(!d.pressed){d.removeClsWithUI(d.pressedCls)}d.doc.un("mouseup",d.onMouseUp,d)}},onMenuShow:function(c){var d=this;d.ignoreNextClick=0;d.addClsWithUI(d.menuActiveCls);d.fireEvent("menushow",d,d.menu)},onMenuHide:function(c){var d=this;d.removeClsWithUI(d.menuActiveCls);d.ignoreNextClick=Ext.defer(d.restoreClick,250,d);d.fireEvent("menuhide",d,d.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var b=this;if(!b.disabled){if(b.menu){b.showMenu()}}},getPersistentBtnPadding:function(){var h=Ext.button.Button,j=h.persistentPadding,l,g,k,i;if(!j){j=h.persistentPadding=[0,0,0,0];if(!Ext.isIE){l=Ext.create("Ext.button.Button",{renderTo:Ext.getBody(),text:"test",style:"position:absolute;top:-999px;"});k=l.btnEl;i=l.btnInnerEl;k.setSize(null,null);g=i.getOffsetsTo(k);j[0]=g[1];j[1]=k.getWidth()-i.getWidth()-g[0];j[2]=k.getHeight()-i.getHeight()-g[1];j[3]=g[0];l.destroy()}}return j}},function(){var d={};function c(g,a){var b,i,j;if(a){b=d[g.toggleGroup];for(i=0,j=b.length;i<j;i++){if(b[i]!==g){b[i].toggle(false)}}}}Ext.ButtonToggleManager={register:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(!a){a=d[b.toggleGroup]=[]}a.push(b);b.on("toggle",c)},unregister:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(a){Ext.Array.remove(a,b);b.un("toggle",c)}},getPressed:function(a){var b=d[a],g=0,h;if(b){for(h=b.length;g<h;g++){if(b[g].pressed===true){return b[g]}}}return null}}});Ext.define("Ext.tab.Tab",{extend:"Ext.button.Button",alias:"widget.tab",requires:["Ext.layout.component.Tab","Ext.util.KeyNav"],componentLayout:"tab",isTab:true,baseCls:Ext.baseCSSPrefix+"tab",activeCls:"active",closableCls:"closable",closable:true,closeText:"Close Tab",active:false,scale:false,position:"top",initComponent:function(){var b=this;b.addEvents("activate","deactivate","beforeclose","close");b.callParent(arguments);if(b.card){b.setCard(b.card)}},onRender:function(){var d=this,e=d.up("tabbar"),f=d.up("tabpanel");d.addClsWithUI(d.position);d.syncClosableUI();if(!d.minWidth){d.minWidth=(e)?e.minTabWidth:d.minWidth;if(!d.minWidth&&f){d.minWidth=f.minTabWidth}if(d.minWidth&&d.iconCls){d.minWidth+=25}}if(!d.maxWidth){d.maxWidth=(e)?e.maxTabWidth:d.maxWidth;if(!d.maxWidth&&f){d.maxWidth=f.maxTabWidth}}d.callParent(arguments);if(d.active){d.activate(true)}d.syncClosableElements();d.keyNav=Ext.create("Ext.util.KeyNav",d.el,{enter:d.onEnterKey,del:d.onDeleteKey,scope:d})},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI(c.position+"-disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI(c.position+"-disabled");return c},onDestroy:function(){var b=this;if(b.closeEl){b.closeEl.un("click",Ext.EventManager.preventDefault);b.closeEl=null}Ext.destroy(b.keyNav);delete b.keyNav;b.callParent(arguments)},setClosable:function(d){var c=this;d=(!arguments.length||!!d);if(c.closable!=d){c.closable=d;if(c.card){c.card.closable=d}c.syncClosableUI();if(c.rendered){c.syncClosableElements();c.doComponentLayout();if(c.ownerCt){c.ownerCt.doLayout()}}}},syncClosableElements:function(){var d=this;if(d.closable){if(!d.closeEl){d.closeEl=d.el.createChild({tag:"a",cls:d.baseCls+"-close-btn",href:"#",title:d.closeText}).on("click",Ext.EventManager.preventDefault)}}else{var c=d.closeEl;if(c){c.un("click",Ext.EventManager.preventDefault);c.remove();d.closeEl=null}}},syncClosableUI:function(){var c=this,d=[c.closableCls,c.closableCls+"-"+c.position];if(c.closable){c.addClsWithUI(d)}else{c.removeClsWithUI(d)}},setCard:function(d){var c=this;c.card=d;c.setText(c.title||d.title);c.setIconCls(c.iconCls||d.iconCls)},onCloseClick:function(){var b=this;if(b.fireEvent("beforeclose",b)!==false){if(b.tabBar){if(b.tabBar.closeTab(b)===false){return}}else{b.fireEvent("close",b)}}},fireClose:function(){this.fireEvent("close",this)},onEnterKey:function(c){var d=this;if(d.tabBar){d.tabBar.onClick(c,d.el)}},onDeleteKey:function(c){var d=this;if(d.closable){d.onCloseClick()}},activate:function(c){var d=this;d.active=true;d.addClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("activate",d)}},deactivate:function(c){var d=this;d.active=false;d.removeClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("deactivate",d)}}});Ext.define("Ext.tab.Bar",{extend:"Ext.panel.Header",alias:"widget.tabbar",baseCls:Ext.baseCSSPrefix+"tab-bar",requires:["Ext.tab.Tab","Ext.FocusManager"],isTabBar:true,defaultType:"tab",plain:false,renderTpl:['<div id="{id}-body" class="{baseCls}-body <tpl if="bodyCls"> {bodyCls}</tpl> <tpl if="ui"> {baseCls}-body-{ui}<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl></tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>','<div id="{id}-strip" class="{baseCls}-strip<tpl if="ui"> {baseCls}-strip-{ui}<tpl for="uiCls"> {parent.baseCls}-strip-{parent.ui}-{.}</tpl></tpl>"></div>'],initComponent:function(){var c=this,d;if(c.plain){c.setUI(c.ui+"-plain")}c.addClsWithUI(c.dock);c.addEvents("change");c.addChildEls("body","strip");c.callParent(arguments);c.layout.align=(c.orientation=="vertical")?"left":"top";c.layout.overflowHandler=Ext.create("Ext.layout.container.boxOverflow.Scroller",c.layout);c.remove(c.titleCmp);delete c.titleCmp;d=c.orientation=="vertical"?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d});Ext.apply(c.renderData,{bodyCls:c.bodyCls})},onAdd:function(b){b.position=this.dock;this.callParent(arguments)},onRemove:function(d){var c=this;if(d===c.previousTab){c.previousTab=null}if(c.items.getCount()===0){c.activeTab=null}c.callParent(arguments)},afterRender:function(){var b=this;b.mon(b.el,{scope:b,click:b.onClick,delegate:"."+Ext.baseCSSPrefix+"tab"});b.callParent(arguments)},afterComponentLayout:function(){var b=this;b.callParent(arguments);b.strip.setWidth(b.el.getWidth())},onClick:function(h,e){var f=Ext.getCmp(e.id),g=this.tabPanel;e=h.getTarget();if(f&&f.isDisabled&&!f.isDisabled()){if(f.closable&&e===f.closeEl.dom){f.onCloseClick()}else{if(g){g.setActiveTab(f.card)}else{this.setActiveTab(f)}f.focus()}}},closeTab:function(j){var i=this,f=j.card,h=i.tabPanel,g;if(f&&f.fireEvent("beforeclose",f)===false){return false}if(j.active&&i.items.getCount()>1){g=i.previousTab||j.next("tab")||i.items.first();i.setActiveTab(g);if(h){h.setActiveTab(g.card)}}j.fireClose();i.remove(j);if(h&&f){f.fireEvent("close",f);h.remove(f)}if(g){g.focus()}},setActiveTab:function(d){if(d.disabled){return}var c=this;if(c.activeTab){c.previousTab=c.activeTab;c.activeTab.deactivate()}d.activate();if(c.rendered){c.layout.layout();d.el&&d.el.scrollIntoView(c.layout.getRenderTarget())}c.activeTab=d;c.fireEvent("change",c,d,d.card)}});Ext.define("Ext.menu.Item",{extend:"Ext.Component",alias:"widget.menuitem",alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:true,clickHideDelay:1,destroyMenu:true,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:true,isMenuItem:true,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,renderTpl:['<tpl if="plain">',"{text}","</tpl>",'<tpl if="!plain">','<a id="{id}-itemEl" class="'+Ext.baseCSSPrefix+'menu-item-link" href="{href}" <tpl if="hrefTarget">target="{hrefTarget}"</tpl> hidefocus="true" unselectable="on">','<img id="{id}-iconEl" src="{icon}" class="'+Ext.baseCSSPrefix+'menu-item-icon {iconCls}" />','<span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'menu-item-text" <tpl if="menu">style="margin-right: 17px;"</tpl> >{text}</span>','<tpl if="menu">','<img id="{id}-arrowEl" src="{blank}" class="'+Ext.baseCSSPrefix+'menu-item-arrow" />',"</tpl>","</a>","</tpl>"],maskOnDisable:false,activate:function(){var b=this;if(!b.activated&&b.canActivate&&b.rendered&&!b.isDisabled()&&b.isVisible()){b.el.addCls(b.activeCls);b.focus();b.activated=true;b.fireEvent("activate",b)}},blur:function(){this.$focused=false;this.callParent(arguments)},deactivate:function(){var b=this;if(b.activated){b.el.removeCls(b.activeCls);b.blur();b.hideMenu();b.activated=false;b.fireEvent("deactivate",b)}},deferExpandMenu:function(){var b=this;if(!b.menu.rendered||!b.menu.isVisible()){b.parentMenu.activeChild=b.menu;b.menu.parentItem=b;b.menu.parentMenu=b.menu.ownerCt=b.parentMenu;b.menu.showBy(b,b.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},deferHideParentMenus:function(){Ext.menu.Manager.hideAll()},expandMenu:function(d){var c=this;if(c.menu){clearTimeout(c.hideMenuTimer);if(d===0){c.deferExpandMenu()}else{c.expandMenuTimer=Ext.defer(c.deferExpandMenu,Ext.isNumber(d)?d:c.menuExpandDelay,c)}}},focus:function(){this.$focused=true;this.callParent(arguments)},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},hideMenu:function(d){var c=this;if(c.menu){clearTimeout(c.expandMenuTimer);c.hideMenuTimer=Ext.defer(c.deferHideMenu,Ext.isNumber(d)?d:c.menuHideDelay,c)}},initComponent:function(){var d=this,f=Ext.baseCSSPrefix,e=[f+"menu-item"];d.addEvents("activate","click","deactivate");if(d.plain){e.push(f+"menu-item-plain")}if(d.cls){e.push(d.cls)}d.cls=e.join(" ");if(d.menu){d.menu=Ext.menu.Manager.get(d.menu)}d.callParent(arguments)},onClick:function(c){var d=this;if(!d.href){c.stopEvent()}if(d.disabled){return}if(d.hideOnClick){d.deferHideParentMenusTimer=Ext.defer(d.deferHideParentMenus,d.clickHideDelay,d)}Ext.callback(d.handler,d.scope||d,[d,c]);d.fireEvent("click",d,c);if(!d.hideOnClick){d.focus()}},onDestroy:function(){var b=this;clearTimeout(b.expandMenuTimer);clearTimeout(b.hideMenuTimer);clearTimeout(b.deferHideParentMenusTimer);if(b.menu){delete b.menu.parentItem;delete b.menu.parentMenu;delete b.menu.ownerCt;if(b.destroyMenu!==false){b.menu.destroy()}}b.callParent(arguments)},onRender:function(f,g){var e=this,h=Ext.BLANK_IMAGE_URL;Ext.applyIf(e.renderData,{href:e.href||"#",hrefTarget:e.hrefTarget,icon:e.icon||h,iconCls:e.iconCls+(e.checkChangeDisabled?" "+e.disabledCls:""),menu:Ext.isDefined(e.menu),plain:e.plain,text:e.text,blank:h});e.addChildEls("itemEl","iconEl","textEl","arrowEl");e.callParent(arguments)},setHandler:function(c,d){this.handler=c||null;this.scope=d},setIconCls:function(d){var c=this;if(c.iconEl){if(c.iconCls){c.iconEl.removeCls(c.iconCls)}if(d){c.iconEl.addCls(d)}}c.iconCls=d},setText:function(f){var d=this,e=d.textEl||d.el;d.text=f;if(d.rendered){e.update(f||"");d.ownerCt.redoComponentLayout()}}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,afterRender:function(){var b=this;this.callParent();b.checked=!b.checked;b.setChecked(!b.checked,true)},initComponent:function(){var b=this;b.addEvents("beforecheckchange","checkchange");b.callParent(arguments);Ext.menu.Manager.registerCheckable(b);if(b.group){if(!b.iconCls){b.iconCls=b.groupCls}if(b.initialConfig.hideOnClick!==false){b.hideOnClick=true}}},disableCheckChange:function(){var b=this;if(b.iconEl){b.iconEl.addCls(b.disabledCls)}b.checkChangeDisabled=true},enableCheckChange:function(){var b=this;b.iconEl.removeCls(b.disabledCls);b.checkChangeDisabled=false},onClick:function(c){var d=this;if(!d.disabled&&!d.checkChangeDisabled&&!(d.checked&&d.group)){d.setChecked(!d.checked)}this.callParent([c])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(f,e){var d=this;if(d.checked!==f&&(e||d.fireEvent("beforecheckchange",d,f)!==false)){if(d.el){d.el[f?"addCls":"removeCls"](d.checkedCls)[!f?"addCls":"removeCls"](d.uncheckedCls)}d.checked=f;Ext.menu.Manager.onCheckChange(d,f);if(!e){Ext.callback(d.checkHandler,d.scope,[d,f]);d.fireEvent("checkchange",d,f)}}}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:"&#160;",onRender:function(e,g){var h=this,f=h.separatorCls;h.cls+=" "+f;h.callParent(arguments)}});Ext.define("Ext.toolbar.Fill",{extend:"Ext.Component",alias:"widget.tbfill",alternateClassName:"Ext.Toolbar.Fill",isFill:true,flex:1});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.LoadMask",{extend:"Ext.Component",alias:"widget.loadmask",mixins:{floating:"Ext.util.Floating"},uses:["Ext.data.StoreManager"],msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",useMsg:true,disabled:false,baseCls:Ext.baseCSSPrefix+"mask-msg",renderTpl:'<div style="position:relative" class="{msgCls}"></div>',modal:true,floating:{shadow:"frame"},focusOnToFront:false,constructor:function(d,e){var f=this;if(d.isComponent){f.ownerCt=d;f.bindComponent(d)}else{f.ownerCt=new Ext.Component({el:Ext.get(d),rendered:true,componentLayoutCounter:1});f.container=d}f.callParent([e]);if(f.store){f.bindStore(f.store,true)}f.renderData={msgCls:f.msgCls};f.renderSelectors={msgEl:"div"}},bindComponent:function(b){this.mon(b,{resize:this.onComponentResize,scope:this})},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onComponentResize:function(){var b=this;if(b.rendered&&b.isVisible()){b.toFront();b.center()}},bindStore:function(e,d){var f=this;if(!d&&f.store){f.mun(f.store,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad});if(!e){f.store=null}}if(e){e=Ext.data.StoreManager.lookup(e);f.mon(e,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad})}f.store=e;if(e&&e.isLoading()){f.onBeforeLoad()}},onDisable:function(){this.callParent(arguments);if(this.loading){this.onLoad()}},onBeforeLoad:function(){var f=this,e=f.ownerCt||f.floatParent,d;if(!this.disabled){if(e.componentLayoutCounter){Ext.Component.prototype.show.call(f)}else{d=e.afterComponentLayout;e.afterComponentLayout=function(){e.afterComponentLayout=d;d.apply(e,arguments);if(f.loading){Ext.Component.prototype.show.call(f)}}}}},onHide:function(){var b=this;b.callParent(arguments);b.showOnParentShow=true},onShow:function(){var c=this,d=c.msgEl;c.callParent(arguments);c.loading=true;if(c.useMsg){d.show().update(c.msg)}else{d.parent().hide()}},afterShow:function(){this.callParent(arguments);this.center()},onLoad:function(){this.loading=false;Ext.Component.prototype.hide.call(this)}});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",initComponent:function(){var d=this.renderer||this.defaultRenderer,c=this.scope||window;this.renderer=function(C,A,J,K,D,H,E){var w=[],y=Ext.String.format,b=J.getDepth(),x=Ext.baseCSSPrefix+"tree-",I=x+"elbow-",B=x+"expander",F='<img src="{1}" class="{0}" />',a='<input type="button" role="checkbox" class="{0}" {1} />',G=d.apply(c,arguments),z=J.get("href"),v=J.get("hrefTarget"),L=J.get("cls");while(J){if(!J.isRoot()||(J.isRoot()&&E.rootVisible)){if(J.getDepth()===b){w.unshift(y(F,x+"icon "+x+"icon"+(J.get("icon")?"-inline ":(J.isLeaf()?"-leaf ":"-parent "))+(J.get("iconCls")||""),J.get("icon")||Ext.BLANK_IMAGE_URL));if(J.get("checked")!==null){w.unshift(y(a,(x+"checkbox")+(J.get("checked")?" "+x+"checkbox-checked":""),J.get("checked")?'aria-checked="true"':""));if(J.get("checked")){A.tdCls+=(" "+x+"checked")}}if(J.isLast()){if(J.isExpandable()){w.unshift(y(F,(I+"end-plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(I+"end"),Ext.BLANK_IMAGE_URL))}}else{if(J.isExpandable()){w.unshift(y(F,(I+"plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(x+"elbow"),Ext.BLANK_IMAGE_URL))}}}else{if(J.isLast()||J.getDepth()===0){w.unshift(y(F,(I+"empty"),Ext.BLANK_IMAGE_URL))}else{if(J.getDepth()!==0){w.unshift(y(F,(I+"line"),Ext.BLANK_IMAGE_URL))}}}}J=J.parentNode}if(z){w.push('<a href="',z,'" target="',v,'">',G,"</a>")}else{w.push(G)}if(L){A.tdCls+=" "+L}return w.join("")};this.callParent(arguments)},defaultRenderer:function(b){return b}});Ext.define("Ext.form.CheckboxManager",{extend:"Ext.util.MixedCollection",singleton:true,getByName:function(b){return this.filterBy(function(a){return a.name==b})},getWithValue:function(d,c){return this.filterBy(function(a){return a.name==d&&a.inputValue==c})},getChecked:function(b){return this.filterBy(function(a){return a.name==b&&a.checked})}});Ext.define("Ext.form.field.Checkbox",{extend:"Ext.form.field.Base",alias:["widget.checkboxfield","widget.checkbox"],alternateClassName:"Ext.form.Checkbox",requires:["Ext.XTemplate","Ext.form.CheckboxManager"],fieldSubTpl:["<tpl if=\"boxLabel && boxLabelAlign == 'before'\">",'<label id="{cmpId}-boxLabelEl" class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",'<input type="button" id="{id}" ','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"<tpl if=\"boxLabel && boxLabelAlign == 'after'\">",'<label id="{cmpId}-boxLabelEl" class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",{disableFormats:true,compiled:true}],isCheckbox:true,focusCls:Ext.baseCSSPrefix+"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",ariaRole:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var c=this,d=!!c.checked;c.originalValue=c.lastValue=d;c.setValue(d)},onRender:function(d,e){var f=this;f.addChildEls("boxLabelEl");Ext.applyIf(f.subTplData,{boxLabel:f.boxLabel,boxLabelCls:f.boxLabelCls,boxLabelAlign:f.boxLabelAlign});f.callParent(arguments)},initEvents:function(){var b=this;b.callParent();b.mon(b.inputEl,"click",b.onBoxClick,b)},onBoxClick:function(c){var d=this;if(!d.disabled&&!d.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var d=this.uncheckedValue,c=Ext.isDefined(d)?d:null;return this.checked?this.inputValue:c},setRawValue:function(i){var j=this,h=j.inputEl,g=j.inputValue,f=(i===true||i==="true"||i==="1"||i===1||(((Ext.isString(i)||Ext.isNumber(i))&&g)?i==g:j.onRe.test(i)));if(h){h.dom.setAttribute("aria-checked",f);j[f?"addCls":"removeCls"](j.checkedCls)}j.checked=j.rawValue=f;return f},setValue:function(c){var d=this;if(Ext.isArray(c)){d.getManager().getByName(d.name).each(function(a){a.setValue(Ext.Array.contains(c,a.inputValue))})}else{d.callParent(arguments)}return d},valueToRaw:function(b){return b},onChange:function(e,f){var g=this,h=g.handler;if(h){h.call(g.scope||g,g,e)}g.callParent(arguments)},beforeDestroy:function(){this.callParent();this.getManager().removeAtKey(this.id)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=d.readOnly}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.disabled=f||e.disabled}e.readOnly=f},getBodyNaturalWidth:function(){var g=this,e=g.bodyEl,f="white-space",h;e.setStyle(f,"nowrap");h=e.getWidth();e.setStyle(f,"");return h}});Ext.define("Ext.util.Region",{requires:["Ext.util.Offset"],statics:{getRegion:function(b){return Ext.fly(b).getPageBox(true)},from:function(b){return new this(b.top,b.right,b.bottom,b.left)}},constructor:function(i,g,b,j){var h=this;h.y=h.top=h[1]=i;h.right=g;h.bottom=b;h.x=h.left=h[0]=j},contains:function(c){var d=this;return(c.x>=d.x&&c.right<=d.right&&c.y>=d.y&&c.bottom<=d.bottom)},intersect:function(h){var i=this,k=Math.max(i.y,h.y),j=Math.min(i.right,h.right),b=Math.min(i.bottom,h.bottom),l=Math.max(i.x,h.x);if(b>k&&j>l){return new this.self(k,j,b,l)}else{return false}},union:function(h){var i=this,k=Math.min(i.y,h.y),j=Math.max(i.right,h.right),b=Math.max(i.bottom,h.bottom),l=Math.min(i.x,h.x);return new this.self(k,j,b,l)},constrainTo:function(d){var e=this,f=Ext.Number.constrain;e.top=e.y=f(e.top,d.y,d.bottom);e.bottom=f(e.bottom,d.y,d.bottom);e.left=e.x=f(e.left,d.x,d.right);e.right=f(e.right,d.x,d.right);return e},adjust:function(i,g,b,j){var h=this;h.top=h.y+=i;h.left=h.x+=j;h.right+=g;h.bottom+=b;return h},getOutOfBoundOffset:function(e,d){if(!Ext.isObject(e)){if(e=="x"){return this.getOutOfBoundOffsetX(d)}else{return this.getOutOfBoundOffsetY(d)}}else{d=e;var f=Ext.create("Ext.util.Offset");f.x=this.getOutOfBoundOffsetX(d.x);f.y=this.getOutOfBoundOffsetY(d.y);return f}},getOutOfBoundOffsetX:function(b){if(b<=this.x){return this.x-b}else{if(b>=this.right){return this.right-b}}return 0},getOutOfBoundOffsetY:function(b){if(b<=this.y){return this.y-b}else{if(b>=this.bottom){return this.bottom-b}}return 0},isOutOfBound:function(d,c){if(!Ext.isObject(d)){if(d=="x"){return this.isOutOfBoundX(c)}else{return this.isOutOfBoundY(c)}}else{c=d;return(this.isOutOfBoundX(c.x)||this.isOutOfBoundY(c.y))}},isOutOfBoundX:function(b){return(b<this.x||b>this.right)},isOutOfBoundY:function(b){return(b<this.y||b>this.bottom)},restrict:function(e,g,f){if(Ext.isObject(e)){var h;f=g;g=e;if(g.copy){h=g.copy()}else{h={x:g.x,y:g.y}}h.x=this.restrictX(g.x,f);h.y=this.restrictY(g.y,f);return h}else{if(e=="x"){return this.restrictX(g,f)}else{return this.restrictY(g,f)}}},restrictX:function(c,d){if(!d){d=1}if(c<=this.x){c-=(c-this.x)*d}else{if(c>=this.right){c-=(c-this.right)*d}}return c},restrictY:function(c,d){if(!d){d=1}if(c<=this.y){c-=(c-this.y)*d}else{if(c>=this.bottom){c-=(c-this.bottom)*d}}return c},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(c){var d=this;d.top=d.y=d[1]=c.y;d.right=c.right;d.bottom=c.bottom;d.left=d.x=d[0]=c.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(e,f){if(arguments.length==1){f=e.y;e=e.x}var d=this;d.top=d.y+=f;d.right+=e;d.bottom+=f;d.left=d.x+=e;return d},round:function(){var b=this;b.top=b.y=Math.round(b.y);b.right=Math.round(b.right);b.bottom=Math.round(b.bottom);b.left=b.x=Math.round(b.x);return b},equals:function(b){return(this.top==b.top&&this.right==b.right&&this.bottom==b.bottom&&this.left==b.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(j,f){for(var i in this.ids){for(var g in this.ids[i]){var h=this.ids[i][g];if(!this.isTypeOfDD(h)){continue}h[j].apply(h,f)}}},_onLoad:function(){this.init();var b=Ext.EventManager;b.on(document,"mouseup",this.handleMouseUp,this,true);b.on(document,"mousemove",this.handleMouseMove,this,true);b.on(window,"unload",this._onUnload,this,true);b.on(window,"resize",this._onResize,this,true)},_onResize:function(b){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(c,d){if(!this.initialized){this.init()}if(!this.ids[d]){this.ids[d]={}}this.ids[d][c.id]=c},removeDDFromGroup:function(f,e){if(!this.ids[e]){this.ids[e]={}}var d=this.ids[e];if(d&&d[f.id]){delete d[f.id]}},_remove:function(c){for(var d in c.groups){if(d&&this.ids[d]&&this.ids[d][c.id]){delete this.ids[d][c.id]}}delete this.handleIds[c.id]},regHandle:function(c,d){if(!this.handleIds[c]){this.handleIds[c]={}}this.handleIds[c][d]=d},isDragDrop:function(b){return(this.getDDById(b))?true:false},getRelated:function(i,g){var j=[];for(var k in i.groups){for(var l in this.ids[k]){var h=this.ids[k][l];if(!this.isTypeOfDD(h)){continue}if(!g||h.isTarget){j[j.length]=h}}}return j},isLegalTarget:function(h,i){var f=this.getRelated(h,true);for(var j=0,g=f.length;j<g;++j){if(f[j].id==i.id){return true}}return false},isTypeOfDD:function(b){return(b&&b.__ygDragDrop)},isHandle:function(c,d){return(this.handleIds[c]&&this.handleIds[c][d])},getDDById:function(c){for(var d in this.ids){if(this.ids[d][c]){return this.ids[d][c]}}return null},handleMouseDown:function(f,d){if(Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddDisable()}if(this.dragCurrent){this.handleMouseUp(f)}this.currentTarget=f.getTarget();this.dragCurrent=d;var e=d.getEl();this.startX=f.getPageX();this.startY=f.getPageY();this.deltaX=this.startX-e.offsetLeft;this.deltaY=this.startY-e.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var a=Ext.dd.DragDropManager;a.startDrag(a.startX,a.startY)},this.clickTimeThresh)},startDrag:function(d,c){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(d,c);this.dragCurrent.startDrag(d,c)}this.dragThreshMet=true},handleMouseUp:function(b){if(Ext.tip&&Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddEnable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(b,true)}else{}this.stopDrag(b);this.stopEvent(b)},stopEvent:function(b){if(this.stopPropagation){b.stopPropagation()}if(this.preventDefault){b.preventDefault()}},stopDrag:function(b){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(b);this.dragCurrent.endDrag(b)}this.dragCurrent.onMouseUp(b)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(f){if(!this.dragCurrent){return true}if(Ext.isIE&&(f.button!==0&&f.button!==1&&f.button!==2)){this.stopEvent(f);return this.handleMouseUp(f)}if(!this.dragThreshMet){var d=Math.abs(this.startX-f.getPageX());var e=Math.abs(this.startY-f.getPageY());if(d>this.clickPixelThresh||e>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(f);this.dragCurrent.onDrag(f);if(!this.dragCurrent.moveOnly){this.fireEvents(f,false)}}this.stopEvent(f);return true},fireEvents:function(s,r){var i=this.dragCurrent;if(!i||i.isLocked()){return}var e=s.getPoint();var B=[];var y=[];var u=[];var w=[];var z=[];for(var x in this.dragOvers){var A=this.dragOvers[x];if(!this.isTypeOfDD(A)){continue}if(!this.isOverTarget(e,A,this.mode)){y.push(A)}B[x]=true;delete this.dragOvers[x]}for(var q in i.groups){if("string"!=typeof q){continue}for(x in this.ids[q]){var v=this.ids[q][x];if(!this.isTypeOfDD(v)){continue}if(v.isTarget&&!v.isLocked()&&((v!=i)||(i.ignoreSelf===false))){if(this.isOverTarget(e,v,this.mode)){if(r){w.push(v)}else{if(!B[v.id]){z.push(v)}else{u.push(v)}this.dragOvers[v.id]=v}}}}}if(this.mode){if(y.length){i.b4DragOut(s,y);i.onDragOut(s,y)}if(z.length){i.onDragEnter(s,z)}if(u.length){i.b4DragOver(s,u);i.onDragOver(s,u)}if(w.length){i.b4DragDrop(s,w);i.onDragDrop(s,w)}}else{var t=0;for(x=0,t=y.length;x<t;++x){i.b4DragOut(s,y[x].id);i.onDragOut(s,y[x].id)}for(x=0,t=z.length;x<t;++x){i.onDragEnter(s,z[x].id)}for(x=0,t=u.length;x<t;++x){i.b4DragOver(s,u[x].id);i.onDragOver(s,u[x].id)}for(x=0,t=w.length;x<t;++x){i.b4DragDrop(s,w[x].id);i.onDragDrop(s,w[x].id)}}if(r&&!w.length){i.onInvalidDrop(s)}},getBestMatch:function(j){var h=null;var f=j.length;if(f==1){h=j[0]}else{for(var i=0;i<f;++i){var g=j[i];if(g.cursorIsOver){h=g;break}else{if(!h||h.overlap.getArea()<g.overlap.getArea()){h=g}}}}return h},refreshCache:function(f){for(var g in f){if("string"!=typeof g){continue}for(var j in this.ids[g]){var i=this.ids[g][j];if(this.isTypeOfDD(i)){var h=this.getLocation(i);if(h){this.locationCache[i.id]=h}else{delete this.locationCache[i.id]}}}}},verifyEl:function(d){if(d){var e;if(Ext.isIE){try{e=d.offsetParent}catch(f){}}else{e=d.offsetParent}if(e){return true}}return false},getLocation:function(s){if(!this.isTypeOfDD(s)){return null}if(s.getRegion){return s.getRegion()}var u=s.getEl(),p,v,w,e,l,b,x,q,t;try{p=Ext.Element.getXY(u)}catch(r){}if(!p){return null}v=p[0];w=v+u.offsetWidth;e=p[1];l=e+u.offsetHeight;b=e-s.padding[0];x=w+s.padding[1];q=l+s.padding[2];t=v-s.padding[3];return Ext.create("Ext.util.Region",b,x,q,t)},isOverTarget:function(j,r,p){var n=this.locationCache[r.id];if(!n||!this.useCache){n=this.getLocation(r);this.locationCache[r.id]=n}if(!n){return false}r.cursorIsOver=n.contains(j);var k=this.dragCurrent;if(!k||!k.getTargetCoord||(!p&&!k.constrainX&&!k.constrainY)){return r.cursorIsOver}r.overlap=null;var m=k.getTargetCoord(j.x,j.y);var q=k.getDragEl();var o=Ext.create("Ext.util.Region",m.y,m.x+q.offsetWidth,m.y+q.offsetHeight,m.x);var l=o.intersect(n);if(l){r.overlap=l;return(p)?true:r.cursorIsOver}else{return false}},_onUnload:function(c,d){Ext.dd.DragDropManager.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var b in this.elementCache){delete this.elementCache[b]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(c){var d=this.elementCache[c];if(!d||!d.el){d=this.elementCache[c]=new this.ElementWrapper(Ext.getDom(c))}return d},getElement:function(b){return Ext.getDom(b)},getCss:function(c){var d=Ext.getDom(c);return(d)?d.style:null},ElementWrapper:function(b){this.el=b||null;this.id=this.el&&b.id;this.css=this.el&&b.style},getPosX:function(b){return Ext.Element.getX(b)},getPosY:function(b){return Ext.Element.getY(b)},swapNode:function(h,f){if(h.swapNode){h.swapNode(f)}else{var g=f.parentNode;var e=f.nextSibling;if(e==h){g.insertBefore(h,f)}else{if(f==h.nextSibling){g.insertBefore(f,h)}else{h.parentNode.replaceChild(f,h);g.insertBefore(h,e)}}}},getScroll:function(){var i=window.document,h=i.documentElement,g=i.body,j=0,f=0;if(Ext.isGecko4){j=window.scrollYOffset;f=window.scrollXOffset}else{if(h&&(h.scrollTop||h.scrollLeft)){j=h.scrollTop;f=h.scrollLeft}else{if(g){j=g.scrollTop;f=g.scrollLeft}}}return{top:j,left:f}},getStyle:function(c,d){return Ext.fly(c).getStyle(d)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(e,f){var d=Ext.Element.getXY(f);Ext.Element.setXY(e,d)},numericSort:function(a,b){return(a-b)},_timeoutCount:0,_addListeners:function(){if(document){this._onLoad()}else{if(this._timeoutCount>2000){}else{setTimeout(this._addListeners,10);if(document&&document.body){this._timeoutCount+=1}}}},handleWasClicked:function(e,f){if(this.isHandle(f,e.id)){return true}else{var d=e.parentNode;while(d){if(this.isHandle(f,d.id)){return true}else{d=d.parentNode}}}return false}},function(){this._addListeners()});Ext.define("Ext.layout.container.boxOverflow.Scroller",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.util.ClickRepeater","Ext.Element"],alternateClassName:"Ext.layout.boxOverflow.Scroller",mixins:{observable:"Ext.util.Observable"},animateScroll:false,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{});this.addEvents("scroll")},initCSSClasses:function(){var c=this,d=c.layout;if(!c.CSSinitialized){c.beforeCtCls=c.beforeCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelBefore;c.afterCtCls=c.afterCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelAfter;c.beforeScrollerCls=c.beforeScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelBefore;c.afterScrollerCls=c.afterScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelAfter;c.CSSinitializes=true}},handleOverflow:function(h,i){var j=this,k=j.layout,l="get"+k.parallelPrefixCap,g={};j.initCSSClasses();j.callParent(arguments);this.createInnerElements();this.showScrollers();g[k.perpendicularPrefix]=i[k.perpendicularPrefix];g[k.parallelPrefix]=i[k.parallelPrefix]-(j.beforeCt[l]()+j.afterCt[l]());return{targetSize:g}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!d.beforeCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");d.beforeCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.beforeCtCls},"before");d.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.afterCtCls},"after");d.createWheelListener()}},createWheelListener:function(){this.layout.innerCt.on({scope:this,mousewheel:function(b){b.stopEvent();this.scrollBy(b.getWheelDelta()*this.wheelIncrement*-1,false)}})},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){this.createScrollers();this.beforeScroller.show();this.afterScroller.show();this.updateScrollButtons();this.layout.owner.addClsWithUI("scroller")},hideScrollers:function(){if(this.beforeScroller!=undefined){this.beforeScroller.hide();this.afterScroller.hide();this.layout.owner.removeClsWithUI("scroller")}},createScrollers:function(){if(!this.beforeScroller&&!this.afterScroller){var d=this.beforeCt.createChild({cls:Ext.String.format("{0} {1} ",this.scrollerCls,this.beforeScrollerCls)});var c=this.afterCt.createChild({cls:Ext.String.format("{0} {1}",this.scrollerCls,this.afterScrollerCls)});d.addClsOnOver(this.beforeScrollerCls+"-hover");c.addClsOnOver(this.afterScrollerCls+"-hover");d.setVisibilityMode(Ext.Element.DISPLAY);c.setVisibilityMode(Ext.Element.DISPLAY);this.beforeRepeater=Ext.create("Ext.util.ClickRepeater",d,{interval:this.scrollRepeatInterval,handler:this.scrollLeft,scope:this});this.afterRepeater=Ext.create("Ext.util.ClickRepeater",c,{interval:this.scrollRepeatInterval,handler:this.scrollRight,scope:this});this.beforeScroller=d;this.afterScroller=c}},destroy:function(){Ext.destroy(this.beforeRepeater,this.afterRepeater,this.beforeScroller,this.afterScroller,this.beforeCt,this.afterCt)},scrollBy:function(c,d){this.scrollTo(this.getScrollPosition()+c,d)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){if(this.beforeScroller==undefined||this.afterScroller==undefined){return}var g=this.atExtremeBefore()?"addCls":"removeCls",h=this.atExtremeAfter()?"addCls":"removeCls",f=this.beforeScrollerCls+"-disabled",e=this.afterScrollerCls+"-disabled";this.beforeScroller[g](f);this.afterScroller[h](e);this.scrolling=false},atExtremeBefore:function(){return this.getScrollPosition()===0},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,false)},scrollRight:function(){this.scrollBy(this.scrollIncrement,false)},getScrollPosition:function(){var b=this.layout;return parseInt(b.innerCt.dom["scroll"+b.parallelBeforeCap],10)||0},getMaxScrollPosition:function(){var b=this.layout;return b.innerCt.dom["scroll"+b.parallelPrefixCap]-this.layout.innerCt["get"+b.parallelPrefixCap]()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},scrollTo:function(h,g){var i=this,j=i.layout,k=i.getScrollPosition(),l=Ext.Number.constrain(h,0,i.getMaxScrollPosition());if(l!=k&&!i.scrolling){if(g==undefined){g=i.animateScroll}j.innerCt.scrollTo(j.parallelBefore,l,g?i.getScrollAnim():false);if(g){i.scrolling=true}else{i.scrolling=false;i.updateScrollButtons()}i.fireEvent("scroll",i,l,g?i.getScrollAnim():false)}},scrollToItem:function(j,h){var k=this,l=k.layout,i,m,n;j=k.getItem(j);if(j!=undefined){i=this.getItemVisibility(j);if(!i.fullyVisible){m=j.getBox(true,true);n=m[l.parallelPosition];if(i.hiddenEnd){n-=(this.layout.innerCt["get"+l.parallelPrefixCap]()-m[l.parallelPrefix])}this.scrollTo(n,h)}}},getItemVisibility:function(m){var n=this,o=n.getItem(m).getBox(true,true),p=n.layout,i=o[p.parallelPosition],l=i+o[p.parallelPrefix],k=n.getScrollPosition(),j=k+p.innerCt["get"+p.parallelPrefixCap]();return{hiddenStart:i<k,hiddenEnd:l>j,fullyVisible:i>k&&l<j}}});Ext.define("Ext.selection.Model",{extend:"Ext.util.Observable",alternateClassName:"Ext.AbstractSelectionModel",requires:["Ext.data.StoreManager"],allowDeselect:false,selected:null,pruneRemoved:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("selectionchange");c.modes={SINGLE:true,SIMPLE:true,MULTI:true};c.setSelectionMode(d.mode||c.mode);c.selected=Ext.create("Ext.util.MixedCollection");c.callParent(arguments)},bind:function(e,d){var f=this;if(!d&&f.store){if(e!==f.store&&f.store.autoDestroy){f.store.destroyStore()}else{f.store.un("add",f.onStoreAdd,f);f.store.un("clear",f.onStoreClear,f);f.store.un("remove",f.onStoreRemove,f);f.store.un("update",f.onStoreUpdate,f)}}if(e){e=Ext.data.StoreManager.lookup(e);e.on({add:f.onStoreAdd,clear:f.onStoreClear,remove:f.onStoreRemove,update:f.onStoreUpdate,scope:f})}f.store=e;if(e&&!d){f.refresh()}},selectAll:function(g){var j=this,k=j.store.getRange(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doSelect(k[l],true,g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},deselectAll:function(g){var j=this,k=j.getSelection(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doDeselect(k[l],g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},selectWithEvent:function(f,g,h){var e=this;switch(e.selectionMode){case"MULTI":if(g.ctrlKey&&e.isSelected(f)){e.doDeselect(f,false)}else{if(g.shiftKey&&e.lastFocused){e.selectRange(e.lastFocused,f,g.ctrlKey)}else{if(g.ctrlKey){e.doSelect(f,true,false)}else{if(e.isSelected(f)&&!g.shiftKey&&!g.ctrlKey&&e.selected.getCount()>1){e.doSelect(f,h,false)}else{e.doSelect(f,false)}}}}break;case"SIMPLE":if(e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,true)}break;case"SINGLE":if(e.allowDeselect&&e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,false)}break}},selectRange:function(m,r,i,t){var o=this,n=o.store,s=0,p,q,v,u=[];if(o.isLocked()){return}if(!i){o.deselectAll(true)}if(!Ext.isNumber(m)){m=n.indexOf(m)}if(!Ext.isNumber(r)){r=n.indexOf(r)}if(m>r){q=r;r=m;m=q}for(p=m;p<=r;p++){if(o.isSelected(n.getAt(p))){s++}}if(!t){v=-1}else{v=(t=="up")?m:r}for(p=m;p<=r;p++){if(s==(r-m+1)){if(p!=v){o.doDeselect(p,true)}}else{u.push(n.getAt(p))}}o.doMultiSelect(u,true)},select:function(d,f,e){if(Ext.isDefined(d)){this.doSelect(d,f,e)}},deselect:function(c,d){this.doDeselect(c,d)},doSelect:function(j,h,f){var i=this,g;if(i.locked){return}if(typeof j==="number"){j=[i.store.getAt(j)]}if(i.selectionMode=="SINGLE"&&j){g=j.length?j[0]:j;i.doSingleSelect(g,f)}else{i.doMultiSelect(j,h,f)}},doMultiSelect:function(t,i,l){var n=this,s=n.selected,m=false,q=0,o,p;if(n.locked){return}t=!Ext.isArray(t)?[t]:t;o=t.length;if(!i&&s.getCount()>0){if(n.doDeselect(n.getSelection(),l)===false){return}}function r(){s.add(p);m=true}for(;q<o;q++){p=t[q];if(i&&n.isSelected(p)){continue}n.lastSelected=p;n.onSelectChange(p,true,l,r)}n.setLastFocused(p,l);n.maybeFireSelectionChange(m&&!l)},doDeselect:function(t,l){var m=this,s=m.selected,q=0,n,p,i=0,o=0;if(m.locked){return false}if(typeof t==="number"){t=[m.store.getAt(t)]}else{if(!Ext.isArray(t)){t=[t]}}function r(){++o;s.remove(p)}n=t.length;for(;q<n;q++){p=t[q];if(m.isSelected(p)){if(m.lastSelected==p){m.lastSelected=s.last()}++i;m.onSelectChange(p,false,l,r)}}m.maybeFireSelectionChange(o>0&&!l);return o===i},doSingleSelect:function(h,g){var k=this,i=false,l=k.selected;if(k.locked){return}if(k.isSelected(h)){return}function j(){k.bulkChange=true;if(l.getCount()>0&&k.doDeselect(k.lastSelected,g)===false){delete k.bulkChange;return false}delete k.bulkChange;l.add(h);k.lastSelected=h;i=true}k.onSelectChange(h,true,g,j);if(i){if(!g){k.setLastFocused(h)}k.maybeFireSelectionChange(!g)}},setLastFocused:function(h,e){var g=this,f=g.lastFocused;g.lastFocused=h;g.onLastFocusChanged(f,h,e)},isFocused:function(b){return b===this.getLastFocused()},maybeFireSelectionChange:function(d){var c=this;if(d&&!c.bulkChange){c.fireEvent("selectionchange",c,c.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(b){b=b?b.toUpperCase():"SINGLE";this.selectionMode=this.modes[b]?b:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(b){this.locked=!!b},isSelected:function(b){b=Ext.isNumber(b)?this.store.getAt(b):b;return this.selected.indexOf(b)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var l=this,i=[],m=l.getSelection(),j=m.length,n,k,o=0,p=this.getLastFocused();for(;o<j;o++){n=m[o];if(!this.pruneRemoved||l.store.indexOf(n)!==-1){i.push(n)}}if(l.selected.getCount()!=i.length){k=true}l.clearSelections();if(l.store.indexOf(p)!==-1){this.setLastFocused(p,true)}if(i.length){l.doSelect(i,false,true)}l.maybeFireSelectionChange(k)},clearSelections:function(){this.selected.clear();this.lastSelected=null;this.setLastFocused(null)},onStoreAdd:function(){},onStoreClear:function(){if(this.selected.getCount>0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(e,f){var g=this,h=g.selected;if(g.locked||!g.pruneRemoved){return}if(h.remove(f)){if(g.lastSelected==f){g.lastSelected=null}if(g.getLastFocused()==f){g.setLastFocused(null)}g.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:function(){},onStoreUpdate:function(){},onSelectChange:function(e,f,d){},onLastFocusChanged:function(c,d){},onEditorKey:function(c,d){},bindComponent:function(b){}});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(b){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(e){var d=this,f={refresh:d.refresh,scope:d};d.view=e;d.bind(e.getStore());e.on(e.triggerEvent,d.onItemClick,d);e.on(e.triggerCtEvent,d.onContainerClick,d);e.on(f);if(d.enableKeyNav){d.initKeyNav(e)}},onItemClick:function(e,g,i,j,h){this.selectWithEvent(g,h)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=Ext.create("Ext.util.KeyNav",d.el,{down:Ext.pass(c.onNavKey,[1],c),right:Ext.pass(c.onNavKey,[1],c),left:Ext.pass(c.onNavKey,[-1],c),up:Ext.pass(c.onNavKey,[-1],c),scope:c})},onNavKey:function(i){i=i||1;var j=this,g=j.view,k=j.getSelection()[0],l=j.view.store.getCount(),h;if(k){h=g.indexOf(g.getNode(k))+i}else{h=0}if(h<0){h=l-1}else{if(h>=l){h=0}}j.select(h)},onSelectChange:function(h,l,m,j){var k=this,i=k.view,n=l?"select":"deselect";if((m||k.fireEvent("before"+n,k,h))!==false&&j()!==false){if(l){i.onItemSelect(h)}else{i.onItemDeselect(h)}if(!m){k.fireEvent(n,k,h)}}},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",alternateClassName:"Ext.view.AbstractView",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],inheritableStatics:{getRecord:function(b){return this.getBoundView(b).getRecord(b)},getBoundView:function(b){return Ext.getCmp(b.boundView)}},deferInitialRefresh:true,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var h=this,f=Ext.isDefined,g=h.itemTpl,e={};if(g){if(Ext.isArray(g)){g=g.join("")}else{if(Ext.isObject(g)){e=Ext.apply(e,g.initialConfig);g=g.html}}if(!h.itemSelector){h.itemSelector="."+h.itemCls}g=Ext.String.format('<tpl for="."><div class="{0}">{1}</div></tpl>',h.itemCls,g);h.tpl=Ext.create("Ext.XTemplate",g,e)}if(!f(h.tpl)||!f(h.itemSelector)){Ext.Error.raise({sourceClass:"Ext.view.View",tpl:h.tpl,itemSelector:h.itemSelector,msg:"DataView requires both tpl and itemSelector configurations to be defined."})}h.callParent();if(Ext.isString(h.tpl)||Ext.isArray(h.tpl)){h.tpl=Ext.create("Ext.XTemplate",h.tpl)}if(f(h.overCls)||f(h.overClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated overCls or overClass configuration. Use overItemCls instead.")}h.overItemCls=h.overCls||h.overClass;delete h.overCls;delete h.overClass}if(h.overItemCls){h.trackOver=true}if(f(h.selectedCls)||f(h.selectedClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated selectedCls or selectedClass configuration. Use selectedItemCls instead.")}h.selectedItemCls=h.selectedCls||h.selectedClass;delete h.selectedCls;delete h.selectedClass}h.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");h.addCmpEvents();h.store=Ext.data.StoreManager.lookup(h.store||"ext-empty-store");h.all=new Ext.CompositeElementLite()},onRender:function(){var f=this,d=f.loadMask,e={msg:f.loadingText,msgCls:f.loadingCls,useMsg:f.loadingUseMsg};f.callParent(arguments);if(d){if(Ext.isObject(d)){e=Ext.apply(e,d)}f.loadMask=Ext.create("Ext.LoadMask",f,e);f.loadMask.on({scope:f,beforeshow:f.onMaskBeforeShow,hide:f.onMaskHide})}},onMaskBeforeShow:function(){var b=this.loadingHeight;this.getSelectionModel().deselectAll();if(b){this.setCalculatedSize(undefined,b)}},onMaskHide:function(){var b=this;if(!b.destroying&&b.loadingHeight){b.setHeight(b.height)}},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var d=this,c="SINGLE";if(!d.selModel){d.selModel={}}if(d.simpleSelect){c="SIMPLE"}else{if(d.multiSelect){c="MULTI"}}Ext.applyIf(d.selModel,{allowDeselect:d.allowDeselect,mode:c});if(!d.selModel.events){d.selModel=Ext.create("Ext.selection.DataViewModel",d.selModel)}if(!d.selModel.hasRelaySetup){d.relayEvents(d.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);d.selModel.hasRelaySetup=true}if(d.disableSelection){d.selModel.locked=true}return d.selModel},refresh:function(){var f=this,d,e;if(!f.rendered||f.isDestroyed){return}f.fireEvent("beforerefresh",f);d=f.getTargetEl();e=f.store.getRange();d.update("");if(e.length<1){if(!f.deferEmptyText||f.hasSkippedEmptyText){d.update(f.emptyText)}f.all.clear()}else{f.tpl.overwrite(d,f.collectData(e,0));f.all.fill(Ext.query(f.getItemSelector(),d.dom));f.updateIndexes(0)}f.selModel.refresh();f.hasSkippedEmptyText=true;f.fireEvent("refresh",f);if(!f.viewReady){f.viewReady=true;f.fireEvent("viewready",f)}},prepareData:function(f,d,e){if(e){Ext.apply(f,e.getAssociatedData())}return f},collectData:function(l,i){var j=[],k=0,h=l.length,g;for(;k<h;k++){g=l[k];j[j.length]=this.prepareData(g[g.persistenceProperty],i+k,g)}return j},bufferRender:function(e,d){var f=document.createElement("div");this.tpl.overwrite(f,this.collectData(e,d));return Ext.query(this.getItemSelector(),f)},onUpdate:function(h,g){var i=this,f=i.store.indexOf(g),j;if(f>-1){j=i.bufferRender([g],f)[0];if(i.getNode(g)){i.all.replaceElement(f,j,true);i.updateIndexes(f,f);i.selModel.refresh();i.fireEvent("itemupdate",g,f,j)}}},onAdd:function(h,f,j){var i=this,g;if(i.all.getCount()===0){i.refresh();return}g=i.bufferRender(f,j);i.doAdd(g,f,j);i.selModel.refresh();i.updateIndexes(j);i.fireEvent("itemadd",f,j,g)},doAdd:function(e,f,h){var g=this.all;if(h<g.getCount()){g.item(h).insertSibling(e,"before",true)}else{g.last().insertSibling(e,"after",true)}Ext.Array.insert(g.elements,h,e)},onRemove:function(g,f,e){var h=this;h.doRemove(f,e);h.updateIndexes(e);if(h.store.getCount()===0){h.refresh()}h.fireEvent("itemremove",f,e)},doRemove:function(d,c){this.all.removeElement(c,true)},refreshNode:function(b){this.onUpdate(this.store,this.store.getAt(b))},updateIndexes:function(h,i){var j=this.all.elements,g=this.store.getRange(),f;h=h||0;i=i||((i===0)?0:(j.length-1));for(f=h;f<=i;f++){j[f].viewIndex=f;j[f].viewRecordId=g[f].internalId;if(!j[f].boundView){j[f].boundView=this.id}}},getStore:function(){return this.store},bindStore:function(f,e){var g=this,h;if(!e&&g.store){if(f!==g.store&&g.store.autoDestroy){g.store.destroyStore()}else{g.mun(g.store,{scope:g,datachanged:g.onDataChanged,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.refresh})}if(!f){if(g.loadMask&&g.loadMask.bindStore){g.loadMask.bindStore(null)}g.store=null}}if(f){f=Ext.data.StoreManager.lookup(f);g.mon(f,{scope:g,datachanged:g.onDataChanged,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.refresh});if(g.loadMask&&g.loadMask.bindStore){if(Ext.Array.contains(f.alias,"store.node")){h=this.ownerCt.store}else{h=f}g.loadMask.bindStore(h)}}g.viewReady=false;g.store=f;g.getSelectionModel().bind(f);if(f){if(e&&g.deferInitialRefresh){Ext.Function.defer(function(){if(!g.isDestroyed){g.refresh(true)}},1)}else{g.refresh(true)}}},onDataChanged:function(){if(this.blockRefresh!==true){this.refresh.apply(this,arguments)}},findItemByChild:function(b){return Ext.fly(b).findParent(this.getItemSelector(),this.getTargetEl())},findTargetByEvent:function(b){return b.getTarget(this.getItemSelector(),this.getTargetEl())},getSelectedNodes:function(){var e=[],f=this.selModel.getSelection(),g=f.length,h=0;for(;h<g;h++){e.push(this.getNode(f[h]))}return e},getRecords:function(j){var f=[],i=0,g=j.length,h=this.store.data;for(;i<g;i++){f[f.length]=h.getByKey(j[i].viewRecordId)}return f},getRecord:function(b){return this.store.data.getByKey(Ext.getDom(b).viewRecordId)},isSelected:function(c){var d=this.getRecord(c);return this.selModel.isSelected(d)},select:function(d,f,e){this.selModel.select(d,f,e)},deselect:function(c,d){this.selModel.deselect(c,d)},getNode:function(b){if(!this.rendered){return null}if(Ext.isString(b)){return document.getElementById(b)}if(Ext.isNumber(b)){return this.all.elements[b]}if(b instanceof Ext.data.Model){return this.getNodeByRecord(b)}return b},getNodeByRecord:function(f){var h=this.all.elements,g=h.length,e=0;for(;e<g;e++){if(h[e].viewRecordId===f.internalId){return h[e]}}return null},getNodes:function(h,g){var i=this.all.elements,f=[],j;h=h||0;g=!Ext.isDefined(g)?Math.max(i.length-1,0):g;if(h<=g){for(j=h;j<=g&&i[j];j++){f.push(i[j])}}else{for(j=h;j>=g&&i[j];j--){f.push(i[j])}}return f},indexOf:function(b){b=this.getNode(b);if(Ext.isNumber(b.viewIndex)){return b.viewIndex}return this.all.indexOf(b)},onDestroy:function(){var b=this;b.all.clear();b.callParent();b.bindStore(null);b.selModel.destroy()},onItemSelect:function(d){var c=this.getNode(d);if(c){Ext.fly(c).addCls(this.selectedItemCls)}},onItemDeselect:function(d){var c=this.getNode(d);if(c){Ext.fly(c).removeCls(this.selectedItemCls)}},getItemSelector:function(){return this.itemSelector}},function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection().length},getSelectedRecords:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection()},select:function(f,e,g){if(Ext.global.console){Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()")}var h=this.getSelectionModel();return h.select.apply(h,arguments)},clearSelections:function(){if(Ext.global.console){Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()")}var b=this.getSelectionModel();return b.deselectAll()}})})});Ext.define("Ext.view.View",{extend:"Ext.view.AbstractView",alternateClassName:"Ext.DataView",alias:"widget.dataview",inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect")},afterRender:function(){var c=this,d;c.callParent();d={scope:c,freezeEvent:true,click:c.handleEvent,mousedown:c.handleEvent,mouseup:c.handleEvent,dblclick:c.handleEvent,contextmenu:c.handleEvent,mouseover:c.handleEvent,mouseout:c.handleEvent,keydown:c.handleEvent};c.mon(c.getTargetEl(),d);if(c.store){c.bindStore(c.store,true)}},handleEvent:function(b){if(this.processUIEvent(b)!==false){this.processSpecialEvent(b)}},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,stillOverItem:function(d,e){var f;if(e&&typeof(e.offsetParent)==="object"){f=(d.type=="mouseout")?d.getRelatedTarget():d.getTarget();return Ext.fly(e).contains(f)}return false},processUIEvent:function(m){var l=this,e=m.getTarget(l.getItemSelector(),l.getTargetEl()),r=this.statics().EventMap,n,p,k=m.type,o=l.mouseOverItem,q;if(!e){if(k=="mouseover"&&l.stillOverItem(m,o)){e=o}if(k=="keydown"){p=l.getSelectionModel().getLastSelected();if(p){e=l.getNode(p)}}}if(e){n=l.indexOf(e);if(!p){p=l.getRecord(e)}if(l.processItemEvent(p,e,n,m)===false){return false}q=l.isNewItemEvent(e,m);if(q===false){return false}if((l["onBeforeItem"+r[q]](p,e,n,m)===false)||(l.fireEvent("beforeitem"+q,l,p,e,n,m)===false)||(l["onItem"+r[q]](p,e,n,m)===false)){return false}l.fireEvent("item"+q,l,p,e,n,m)}else{if((l.processContainerEvent(m)===false)||(l["onBeforeContainer"+r[k]](m)===false)||(l.fireEvent("beforecontainer"+k,l,m)===false)||(l["onContainer"+r[k]](m)===false)){return false}l.fireEvent("container"+k,l,m)}return true},isNewItemEvent:function(i,h){var j=this,g=j.mouseOverItem,e=h.type;switch(e){case"mouseover":if(i===g){return false}j.mouseOverItem=i;return"mouseenter";case"mouseout":if(j.stillOverItem(h,g)){return false}j.mouseOverItem=null;return"mouseleave"}return e},onItemMouseEnter:function(f,h,e,g){if(this.trackOver){this.highlightItem(h)}},onItemMouseLeave:function(f,h,e,g){if(this.trackOver){this.clearHighlight()}},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,highlightItem:function(c){var d=this;d.clearHighlight();d.highlightedItem=c;Ext.fly(c).addCls(d.overItemCls)},clearHighlight:function(){var c=this,d=c.highlightedItem;if(d){Ext.fly(d).removeCls(c.overItemCls);delete c.highlightedItem}},refresh:function(){var b=this;b.clearHighlight();b.callParent(arguments);if(!b.isFixedHeight()){b.doComponentLayout()}}});Ext.define("Docs.view.search.Dropdown",{extend:"Ext.view.View",alias:"widget.searchdropdown",floating:true,autoShow:false,autoRender:true,toFrontOnShow:true,focusOnToFront:false,store:"Search",id:"search-dropdown",overItemCls:"x-view-over",trackOver:true,itemSelector:"div.item",singleSelect:true,pageStart:0,pageSize:10,initComponent:function(){this.addEvents("changePage","footerClick");this.tpl=new Ext.XTemplate('<tpl for=".">','<div class="item">','<div class="icon {icon}"></div>','<div class="meta">{[this.getMetaTags(values.meta)]}</div>','<div class="title {[this.getCls(values.meta)]}">{name}</div>','<div class="class">{fullName}</div>',"</div>","</tpl>",'<div class="footer">','<a href="#" class="prev">&lt;</a>','<span class="total">{[this.getStart()+1]}-{[this.getEnd()]} of {[this.getTotal()]}</span>','<a href="#" class="next">&gt;</a>',"</div>",{getCls:function(b){return b["private"]?"private":(b.removed?"removed":"")},getMetaTags:function(b){return Ext.Array.map(Docs.data.signatures,function(a){return b[a.key]?'<span class="signature '+a.key+'">'+(a["short"])+"</span>":""}).join(" ")},getTotal:Ext.bind(this.getTotal,this),getStart:Ext.bind(this.getStart,this),getEnd:Ext.bind(this.getEnd,this)});this.on("afterrender",function(){this.el.addListener("click",function(){this.fireEvent("changePage",this,-1)},this,{preventDefault:true,delegate:".prev"});this.el.addListener("click",function(){this.fireEvent("changePage",this,+1)},this,{preventDefault:true,delegate:".next"});this.el.addListener("click",function(){this.fireEvent("footerClick",this)},this,{delegate:".footer"})},this);this.callParent(arguments)},setTotal:function(b){this.total=b},getTotal:function(){return this.total},setStart:function(b){this.pageStart=b},getStart:function(b){return this.pageStart},getEnd:function(c){var d=this.pageStart+this.pageSize;return d>this.total?this.total:d}});Ext.define("Docs.view.search.Container",{extend:"Ext.container.Container",alias:"widget.searchcontainer",requires:"Docs.view.search.Dropdown",initComponent:function(){if(Docs.data.search.length){this.cls="search";this.items=[{xtype:"triggerfield",triggerCls:"reset",emptyText:"Search",width:170,id:"search-field",enableKeyEvents:true,hideTrigger:true,onTriggerClick:function(){this.reset();this.focus();this.setHideTrigger(true);Ext.getCmp("search-dropdown").hide()}},{xtype:"searchdropdown"}]}this.callParent()}});Ext.define("Docs.view.ThumbList",{extend:"Ext.view.View",alias:"widget.thumblist",cls:"thumb-list",itemSelector:"dl",urlField:"url",itemTpl:[],initComponent:function(){this.addEvents("urlclick");Ext.Array.forEach(this.data,function(c,d){c.id="sample-"+d});this.store=Ext.create("Ext.data.JsonStore",{fields:["id","title","items"],data:this.data});this.tpl=new Ext.XTemplate(Ext.Array.flatten(["<div>",'<tpl for=".">','<div><a name="{id}"></a><h2><div>{title}</div></h2>',"<dl>",'<tpl for="items">',this.itemTpl,"</tpl>",'<div style="clear:left"></div></dl></div>',"</tpl>","</div>"]));this.itemTpl=undefined;this.data=undefined;this.on({afterrender:function(b){b.el.addListener("mouseover",function(a,d){Ext.get(d).addCls("over")},this,{delegate:"dd"});b.el.addListener("mouseout",function(a,d){Ext.get(d).removeCls("over")},this,{delegate:"dd"})}});this.callParent(arguments)},onContainerClick:function(c){var d=c.getTarget("h2",3,true);if(d){d.up("div").toggleCls("collapsed")}},onItemClick:function(h,j,l,i){var k=i.getTarget("dd",5,true);if(k&&!i.getTarget("a",2)){var e=k.getAttributeNS("ext",this.urlField);this.fireEvent("urlclick",e)}return this.callParent(arguments)}});Ext.define("Docs.view.guides.Index",{extend:"Ext.container.Container",alias:"widget.guideindex",requires:["Docs.view.ThumbList"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Guides</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/guide/{name}"><div class="thumb"><img src="guides/{name}/icon.png"/></div>',"<div><h4>{title}</h4><p>{description}</p></div>","</dd>"],data:Docs.data.guides})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.guides||[]).length>0;return b?{cls:"guides",href:"#!/guide",tooltip:"Guides"}:false}});Ext.define("Docs.view.videos.Index",{extend:"Ext.container.Container",alias:"widget.videoindex",requires:["Docs.view.ThumbList"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Videos</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/video/{name}"><div class="thumb"><img src="{thumb}"/></div>',"<div><h4>{title}","</h4><p>{[values.description.substr(0,80)]}...</p></div>","</dd>"],data:Docs.data.videos})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.videos||[]).length>0;return b?{cls:"videos",href:"#!/video",tooltip:"Videos"}:false}});Ext.define("Docs.view.examples.Index",{extend:"Ext.container.Container",alias:"widget.exampleindex",requires:["Docs.view.ThumbList"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.cls+=Docs.data.touchExamplesUi?" touch-examples-ui":"";this.items=[{xtype:"container",html:'<h1 class="eg">Examples</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/example/{name}">','<div class="thumb"><img src="{icon}"/></div>',"<div><h4>{title}","<tpl if=\"status === 'new'\">",'<span class="new-sample"> (New)</span>',"</tpl>","<tpl if=\"status === 'updated'\">",'<span class="updated-sample"> (Updated)</span>',"</tpl>","<tpl if=\"status === 'experimental'\">",'<span class="new-sample"> (Experimental)</span>',"</tpl>","</h4><p>{description}</p></div>","</dd>"],data:Docs.data.examples})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.examples||[]).length>0;return b?{cls:"examples",href:"#!/example",tooltip:"Examples"}:false}});Ext.define("Ext.view.Table",{extend:"Ext.view.View",alias:"widget.tableview",uses:["Ext.view.TableChunker","Ext.util.DelayedTask","Ext.util.MixedCollection"],baseCls:Ext.baseCSSPrefix+"grid-view",itemSelector:"."+Ext.baseCSSPrefix+"grid-row",cellSelector:"."+Ext.baseCSSPrefix+"grid-cell",selectedItemCls:Ext.baseCSSPrefix+"grid-row-selected",selectedCellCls:Ext.baseCSSPrefix+"grid-cell-selected",focusedItemCls:Ext.baseCSSPrefix+"grid-row-focused",overItemCls:Ext.baseCSSPrefix+"grid-row-over",altRowCls:Ext.baseCSSPrefix+"grid-row-alt",rowClsRe:/(?:^|\s*)grid-row-(first|last|alt)(?:\s+|$)/g,cellRe:new RegExp("x-grid-cell-([^\\s]+) ",""),trackOver:true,getRowClass:null,initComponent:function(){var b=this;b.scrollState={};b.selModel.view=b;b.headerCt.view=b;b.initFeatures();b.tpl="<div></div>";b.callParent();b.mon(b.store,{load:b.onStoreLoad,scope:b})},onStoreLoad:function(){var b=this;if(b.invalidateScrollerOnRefresh){if(Ext.isGecko){if(!b.scrollToTopTask){b.scrollToTopTask=Ext.create("Ext.util.DelayedTask",b.scrollToTop,b)}b.scrollToTopTask.delay(1)}else{b.scrollToTop()}}},scrollToTop:Ext.emptyFn,addElListener:function(e,f,d){this.mon(this,e,f,d,{element:"el"})},getGridColumns:function(){return this.headerCt.getGridColumns()},getHeaderAtIndex:function(b){return this.headerCt.getHeaderAtIndex(b)},getCell:function(e,d){var f=this.getNode(e);return Ext.fly(f).down(d.getCellSelector())},getFeature:function(c){var d=this.featuresMC;if(d){return d.get(c)}},initFeatures:function(){var g=this,e=0,h,f;g.features=g.features||[];h=g.features;f=h.length;g.featuresMC=Ext.create("Ext.util.MixedCollection");for(;e<f;e++){if(!h[e].isFeature){h[e]=Ext.create("feature."+h[e].ftype,h[e])}h[e].view=g;g.featuresMC.add(h[e])}},attachEventsForFeatures:function(){var d=this.features,f=d.length,e=0;for(;e<f;e++){if(d[e].isFeature){d[e].attachEvents()}}},afterRender:function(){var b=this;b.callParent();b.mon(b.el,{scroll:b.fireBodyScroll,scope:b});b.el.unselectable();b.attachEventsForFeatures()},fireBodyScroll:function(c,d){this.fireEvent("bodyscroll",c,d)},prepareData:function(r,l,p){var n=this,m=n.headerCt.prepareData(r,l,p,n,n.ownerCt),t=n.features,o=t.length,q=0,s,i;for(;q<o;q++){i=t[q];if(i.isFeature){Ext.apply(m,i.getAdditionalData(r,l,p,m,n))}}return m},collectData:function(w,o){var j=this.callParent(arguments),x=this.headerCt,q=x.getFullWidth(),y=this.features,s=y.length,z={rows:j,fullWidth:q},u=0,i,v=0,r,t;r=j.length;if(this.getRowClass){for(;v<r;v++){t={};j[v]["rowCls"]=this.getRowClass(w[v],v,t,this.store);if(t.alt){Ext.Error.raise("The getRowClass alt property is no longer supported.")}if(t.tstyle){Ext.Error.raise("The getRowClass tstyle property is no longer supported.")}if(t.cells){Ext.Error.raise("The getRowClass cells property is no longer supported.")}if(t.body){Ext.Error.raise("The getRowClass body property is no longer supported. Use the getAdditionalData method of the rowbody feature.")}if(t.bodyStyle){Ext.Error.raise("The getRowClass bodyStyle property is no longer supported.")}if(t.cols){Ext.Error.raise("The getRowClass cols property is no longer supported.")}}}for(;u<s;u++){i=y[u];if(i.isFeature&&i.collectData&&!i.disabled){z=i.collectData(w,j,o,q,z);break}}return z},onHeaderResize:function(h,g,i){var j=this,f=j.el;if(f){j.saveScrollState();if(Ext.isIE6||Ext.isIE7){if(h.el.hasCls(Ext.baseCSSPrefix+"column-header-first")){g+=1}}f.select("."+Ext.baseCSSPrefix+"grid-col-resizer-"+h.id).setWidth(g);f.select("."+Ext.baseCSSPrefix+"grid-table-resizer").setWidth(j.headerCt.getFullWidth());j.restoreScrollState();if(!j.ignoreTemplate){j.setNewTemplate()}if(!i){j.el.focus()}}},onHeaderShow:function(h,g,e){var f=this;f.ignoreTemplate=true;if(g.oldWidth){f.onHeaderResize(g,g.oldWidth,e);delete g.oldWidth}else{if(g.width&&!g.flex){f.onHeaderResize(g,g.width,e)}}delete f.ignoreTemplate;f.setNewTemplate()},onHeaderHide:function(d,f,e){this.onHeaderResize(f,0,e)},setNewTemplate:function(){var c=this,d=c.headerCt.getColumnsForTpl(true);c.tpl=c.getTableChunker().getTableTpl({columns:d,features:c.features})},getTableChunker:function(){return this.chunker||Ext.view.TableChunker},addRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).addCls(e)}},removeRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).removeCls(e)}},onRowSelect:function(b){this.addRowCls(b,this.selectedItemCls)},onRowDeselect:function(c){var d=this;d.removeRowCls(c,d.selectedItemCls);d.removeRowCls(c,d.focusedItemCls)},onCellSelect:function(c){var d=this.getCellByPosition(c);if(d){d.addCls(this.selectedCellCls)}},onCellDeselect:function(c){var d=this.getCellByPosition(c);if(d){d.removeCls(this.selectedCellCls)}},onCellFocus:function(b){this.focusCell(b)},getCellByPosition:function(i){var l=i.row,n=i.column,o=this.store,m=this.getNode(l),k=this.headerCt.getHeaderAtIndex(n),p,j=false;if(k&&m){p=k.getCellSelector();j=Ext.fly(m).down(p)}return j},onRowFocus:function(i,f,g){var j=this,h=j.getNode(i);if(f){j.addRowCls(i,j.focusedItemCls);if(!g){j.focusRow(i)}}else{j.removeRowCls(i,j.focusedItemCls)}},focusRow:function(q){var m=this,j=m.getNode(q),p=m.el,l=0,r=m.ownerCt,k,o,n;if(j&&p){o=p.getRegion();k=Ext.fly(j).getRegion();if(k.top<o.top){l=k.top-o.top}else{if(k.bottom>o.bottom){l=k.bottom-o.bottom}}n=m.getRecord(j);q=m.store.indexOf(n);if(l){r.scrollByDeltaY(l)}m.fireEvent("rowfocus",n,j,q)}},focusCell:function(n){var l=this,k=l.getCellByPosition(n),s=l.el,q=0,p=0,r=s.getRegion(),t=l.ownerCt,m,o;if(k){m=k.getRegion();if(m.top<r.top){q=m.top-r.top}else{if(m.bottom>r.bottom){q=m.bottom-r.bottom}}if(m.left<r.left){p=m.left-r.left}else{if(m.right>r.right){p=m.right-r.right}}if(q){t.scrollByDeltaY(q)}if(p){t.scrollByDeltaX(p)}s.focus();l.fireEvent("cellfocus",o,k,n)}},scrollByDelta:function(f,d){d=d||"scrollTop";var e=this.el.dom;e[d]=(e[d]+=f)},onUpdate:function(c,d){this.callParent(arguments)},saveScrollState:function(){if(this.rendered){var c=this.el.dom,d=this.scrollState;d.left=c.scrollLeft;d.top=c.scrollTop}},restoreScrollState:function(){if(this.rendered){var d=this.el.dom,e=this.scrollState,f=this.headerCt.el.dom;f.scrollLeft=d.scrollLeft=e.left;d.scrollTop=e.top}},refresh:function(){this.setNewTemplate();this.callParent(arguments)},processItemEvent:function(u,e,o,s){var q=this,n=s.getTarget(q.cellSelector,e),p=n?n.cellIndex:-1,v=q.statics().EventMap,t=q.getSelectionModel(),r=s.type,m;if(r=="keydown"&&!n&&t.getCurrentPosition){n=q.getCellByPosition(t.getCurrentPosition());if(n){n=n.dom;p=n.cellIndex}}m=q.fireEvent("uievent",r,q,n,o,p,s);if(m===false||q.callParent(arguments)===false){return false}if(r=="mouseover"||r=="mouseout"){return true}return !((q["onBeforeCell"+v[r]](n,p,u,e,o,s)===false)||(q.fireEvent("beforecell"+r,q,n,p,u,e,o,s)===false)||(q["onCell"+v[r]](n,p,u,e,o,s)===false)||(q.fireEvent("cell"+r,q,n,p,u,e,o,s)===false))},processSpecialEvent:function(s){var p=this,y=p.statics().EventMap,w=p.features,q=w.length,i=s.type,v,e,u,t,x,r,z=p.ownerCt;p.callParent(arguments);if(i=="mouseover"||i=="mouseout"){return}for(v=0;v<q;v++){e=w[v];if(e.hasFeatureEvent){t=s.getTarget(e.eventSelector,p.getTargetEl());if(t){u=e.eventPrefix;x=e.getFireEventArgs("before"+u+i,p,t,s);r=e.getFireEventArgs(u+i,p,t,s);if((p.fireEvent.apply(p,x)===false)||(z.fireEvent.apply(z,x)===false)||(p.fireEvent.apply(p,r)===false)||(z.fireEvent.apply(z,r)===false)){return false}}}}return true},onCellMouseDown:Ext.emptyFn,onCellMouseUp:Ext.emptyFn,onCellClick:Ext.emptyFn,onCellDblClick:Ext.emptyFn,onCellContextMenu:Ext.emptyFn,onCellKeyDown:Ext.emptyFn,onBeforeCellMouseDown:Ext.emptyFn,onBeforeCellMouseUp:Ext.emptyFn,onBeforeCellClick:Ext.emptyFn,onBeforeCellDblClick:Ext.emptyFn,onBeforeCellContextMenu:Ext.emptyFn,onBeforeCellKeyDown:Ext.emptyFn,expandToFit:function(c){if(c){var d=this.getMaxContentWidth(c);delete c.flex;c.setWidth(d)}},getMaxContentWidth:function(j){var i=j.getCellInnerSelector(),n=this.el.query(i),m=0,k=n.length,l=j.el.dom.scrollWidth,h;for(;m<k;m++){h=n[m].scrollWidth;if(h>l){l=h}}return l},getPositionByEvent:function(j){var k=this,e=j.getTarget(k.cellSelector),l=j.getTarget(k.itemSelector),h=k.getRecord(l),i=k.getHeaderByCell(e);return k.getPosition(h,i)},getHeaderByCell:function(c){if(c){var d=c.className.match(this.cellRe);if(d&&d[1]){return Ext.getCmp(d[1])}}return false},walkCells:function(s,r,w,q,B,p){var u=this,e=s.row,y=s.column,t=u.store.getCount(),x=u.getFirstVisibleColumnIndex(),A=u.getLastVisibleColumnIndex(),v={row:e,column:y},z=u.headerCt.getHeaderAtIndex(y);if(!z||z.hidden){return false}w=w||{};r=r.toLowerCase();switch(r){case"right":if(y===A){if(q||e===t-1){return false}if(!w.ctrlKey){v.row=e+1;v.column=x}}else{if(!w.ctrlKey){v.column=y+u.getRightGap(z)}else{v.column=A}}break;case"left":if(y===x){if(q||e===0){return false}if(!w.ctrlKey){v.row=e-1;v.column=A}}else{if(!w.ctrlKey){v.column=y+u.getLeftGap(z)}else{v.column=x}}break;case"up":if(e===0){return false}else{if(!w.ctrlKey){v.row=e-1}else{v.row=0}}break;case"down":if(e===t-1){return false}else{if(!w.ctrlKey){v.row=e+1}else{v.row=t-1}}break}if(B&&B.call(p||window,v)!==true){return false}else{return v}},getFirstVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[0];return h.getHeaderIndex(e)},getLastVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[g.length-1];return h.getHeaderIndex(e)},getHeaderCt:function(){return this.headerCt},getPosition:function(g,h){var i=this,f=i.store,j=i.headerCt.getGridColumns();return{row:f.indexOf(g),column:Ext.Array.indexOf(j,h)}},getRightGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),g=Ext.Array.indexOf(j,h),l=g+1,k;for(;l<=j.length;l++){if(!j[l].hidden){k=l;break}}return k-g},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),l=Ext.Array.indexOf(j,h),k=l-1,g;for(;k>=0;k--){if(!j[k].hidden){g=k;break}}return g-l}});Ext.define("Ext.grid.View",{extend:"Ext.view.Table",alias:"widget.gridview",stripeRows:true,invalidateScrollerOnRefresh:true,scrollToTop:function(){if(this.rendered){var c=this.ownerCt,d=c.verticalScroller;if(d){d.scrollToTop()}}},onAdd:function(f,e,d){this.callParent(arguments);this.doStripeRows(d)},onRemove:function(f,e,d){this.callParent(arguments);this.doStripeRows(d)},onUpdate:function(g,f,e){var h=g.indexOf(f);this.callParent(arguments);this.doStripeRows(h,h)},doStripeRows:function(g,h){if(this.stripeRows){var k=this.getNodes(g,h),i=k.length,l=0,j;for(;l<i;l++){j=k[l];j.className=j.className.replace(this.rowClsRe," ");g++;if(g%2===0){j.className+=(" "+this.altRowCls)}}}},refresh:function(c){this.callParent(arguments);this.doStripeRows(0);var d=this.up("gridpanel");if(d&&this.invalidateScrollerOnRefresh){d.invalidateScroller()}}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:true,rootVisible:true,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,initComponent:function(){var b=this;if(b.initialConfig.animate===undefined){b.animate=Ext.enableFx}b.store=Ext.create("Ext.data.NodeStore",{recursive:true,rootVisible:b.rootVisible,listeners:{beforeexpand:b.onBeforeExpand,expand:b.onExpand,beforecollapse:b.onBeforeCollapse,collapse:b.onCollapse,scope:b}});if(b.node){b.setRootNode(b.node)}b.animQueue={};b.callParent(arguments)},processUIEvent:function(b){if(b.getTarget("."+this.nodeAnimWrapCls,this.el)){return false}return this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(c){var d=this;d.store.setNode(c);d.node=c;if(!d.rootVisible){c.expand()}},onRender:function(){var c=this,d;c.callParent(arguments);d=c.el;d.on({scope:c,delegate:c.expanderSelector,mouseover:c.onExpanderMouseOver,mouseout:c.onExpanderMouseOut});d.on({scope:c,delegate:c.checkboxSelector,click:c.onCheckboxChange})},onCheckboxChange:function(g,f){var h=this,e=g.getTarget(h.getItemSelector(),h.getTargetEl());if(e){h.onCheckChange(h.getRecord(e))}},onCheckChange:function(d){var c=d.get("checked");if(Ext.isBoolean(c)){c=!c;d.set("checked",c);this.fireEvent("checkchange",d,c)}},getChecked:function(){var b=[];this.node.cascadeBy(function(a){if(a.get("checked")){b.push(a)}});return b},isItemChecked:function(b){return b.get("checked")},createAnimWrap:function(o,n){var q="",r=this.panel.headerCt,u=r.getGridColumns(),p=0,m=u.length,i,s=this.getNode(o),v,t;for(;p<m;p++){i=u[p];q+='<th style="width: '+(i.hidden?0:i.getDesiredWidth())+'px; height: 0px;"></th>'}t=Ext.get(s);v=t.insertSibling({tag:"tr",html:['<td colspan="'+r.getColumnCount()+'">','<div class="'+this.nodeAnimWrapCls+'">','<table class="'+Ext.baseCSSPrefix+'grid-table" style="width: '+r.getFullWidth()+'px;"><tbody>',q,"</tbody></table>","</div>","</td>"].join("")},"after");return{record:o,node:s,el:v,expanding:false,collapsing:false,animating:false,animateEl:v.down("div"),targetEl:v.down("tbody")}},getAnimWrap:function(b){if(!this.animate){return null}while(b){if(b.animWrap){return b.animWrap}b=b.parentNode}return null},doAdd:function(x,v,r){var q=this,t=v[0],o=t.parentNode,p=q.all.elements,a=0,u=q.getAnimWrap(o),n,w,s;if(!u||!u.expanding){q.resetScrollers();return q.callParent(arguments)}o=u.record;n=u.targetEl;w=n.dom.childNodes;s=w.length-1;a=r-q.indexOf(o)-1;if(!s||a>=s){n.appendChild(x)}else{Ext.fly(w[a+1]).insertSibling(x,"before",true)}Ext.Array.insert(p,r,x);if(u.isAnimating){q.onExpand(o)}},beginBulkUpdate:function(){this.bulkUpdate=true;this.ownerCt.changingScrollbars=true},endBulkUpdate:function(){var c=this,d=c.ownerCt;c.bulkUpdate=false;c.ownerCt.changingScrollbars=true;c.resetScrollers()},onRemove:function(h,g,f){var i=this,j=i.bulkUpdate;i.doRemove(g,f);if(!j){i.updateIndexes(f)}if(i.store.getCount()===0){i.refresh()}if(!j){i.fireEvent("itemremove",g,f)}},doRemove:function(i,n){var j=this,l=i.parentNode,m=j.all,h=j.getAnimWrap(i),k=m.item(n).dom;if(!h||!h.collapsing){j.resetScrollers();return j.callParent(arguments)}h.targetEl.appendChild(k);m.removeElement(n)},onBeforeExpand:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i);g.animateEl.setHeight(0)}else{if(g.collapsing){g.targetEl.select(h.itemSelector).remove()}}g.expanding=true;g.collapsing=false}},onExpand:function(p){var o=this,j=o.animQueue,k=p.getId(),i,n,m,l;if(o.singleExpand){o.ensureSingleExpand(p)}i=o.getAnimWrap(p);if(!i){o.resetScrollers();return}n=i.animateEl;m=i.targetEl;n.stopAnimation();j[k]=true;n.slideIn("t",{duration:o.expandDuration,listeners:{scope:o,lastframe:function(){i.el.insertSibling(m.query(o.itemSelector),"before");i.el.remove();o.resetScrollers();delete i.record.animWrap;delete j[k]}}});i.isAnimating=true},resetScrollers:function(){if(!this.bulkUpdate){var b=this.panel;b.determineScrollbars();b.invalidateScroller()}},onBeforeCollapse:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i,j)}else{if(g.expanding){g.targetEl.select(this.itemSelector).remove()}}g.expanding=false;g.collapsing=true}},onCollapse:function(n){var m=this,i=m.animQueue,j=n.getId(),h=m.getAnimWrap(n),l,k;if(!h){m.resetScrollers();return}l=h.animateEl;k=h.targetEl;i[j]=true;l.stopAnimation();l.slideOut("t",{duration:m.collapseDuration,listeners:{scope:m,lastframe:function(){h.el.remove();delete h.record.animWrap;m.resetScrollers();delete i[j]}}});h.isAnimating=true},isAnimating:function(b){return !!this.animQueue[b.getId()]},collectData:function(n){var k=this.callParent(arguments),l=k.rows,i=l.length,m=0,j,h;for(;m<i;m++){j=l[m];h=n[m];if(h.get("qtip")){j.rowAttr='data-qtip="'+h.get("qtip")+'"';if(h.get("qtitle")){j.rowAttr+=' data-qtitle="'+h.get("qtitle")+'"'}}if(h.isExpanded()){j.rowCls=(j.rowCls||"")+" "+this.expandedCls}if(h.isLoading()){j.rowCls=(j.rowCls||"")+" "+this.loadingCls}}return k},expand:function(e,f,g,h){return e.expand(f,g,h)},collapse:function(e,f,g,h){return e.collapse(f,g,h)},toggle:function(b){this[b.isExpanded()?"collapse":"expand"](b)},onItemDblClick:function(e,f,d){this.callParent(arguments);if(this.toggleOnDblClick){this.toggle(e)}},onBeforeItemMouseDown:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){return false}return this.callParent(arguments)},onItemClick:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){this.toggle(f);return false}return this.callParent(arguments)},onExpanderMouseOver:function(c,d){c.getTarget(this.cellSelector,10,true).addCls(this.expanderIconOverCls)},onExpanderMouseOut:function(c,d){c.getTarget(this.cellSelector,10,true).removeCls(this.expanderIconOverCls)},getTreeStore:function(){return this.panel.store},ensureSingleExpand:function(c){var d=c.parentNode;if(d){d.eachChild(function(a){if(a!==c&&a.isExpanded()){a.collapse()}})}}});Ext.define("Docs.view.HoverMenu",{extend:"Ext.view.View",alias:"widget.hovermenu",componentCls:"hover-menu",itemSelector:"div.item",deferEmptyText:false,columnHeight:25,initComponent:function(){this.renderTo=Ext.getBody();this.tpl=new Ext.XTemplate("<table>","<tr>","<td>",'<tpl for=".">','<div class="item">',"{[this.renderLink(values)]}","</div>",'<tpl if="xindex % this.columnHeight === 0 && xcount &gt; xindex">',"</td><td>","</tpl>","</tpl>","</td>","</tr>","</table>",{columnHeight:this.columnHeight,renderLink:function(d){var c=Ext.Array.map(Docs.data.signatures,function(a){return d.meta[a.key]?'<span class="signature '+a.key+'">'+(a["short"])+"</span>":""}).join(" ");return Ext.String.format('<a href="#!/api/{0}" rel="{0}" class="docClass">{1} {2}</a>',d.url,d.label,c)}});this.callParent()}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,ignoreRightMouseSelection:true,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(d){var c=this;c.views=c.views||[];c.views.push(d);c.bind(d.getStore(),true);d.on({itemmousedown:c.onRowMouseDown,scope:c});if(c.enableKeyNav){c.initKeyNav(d)}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=new Ext.util.KeyNav(d.el,{up:c.onKeyUp,down:c.onKeyDown,right:c.onKeyRight,left:c.onKeyLeft,pageDown:c.onKeyPageDown,pageUp:c.onKeyPageUp,home:c.onKeyHome,end:c.onKeyEnd,scope:c});d.el.on(Ext.EventManager.getKeyEvent(),c.onKeyPress,c)},getRowsVisible:function(){var h=false,g=this.views[0],i=g.getNode(0),f,j;if(i){f=Ext.fly(i).getHeight();j=g.el.getHeight();h=Math.floor(j/f)}return h},onKeyEnd:function(g,f){var h=this,e=h.store.getAt(h.store.getCount()-1);if(e){if(g.shiftKey){h.selectRange(e,h.lastFocused||0);h.setLastFocused(e)}else{if(g.ctrlKey){h.setLastFocused(e)}else{h.doSelect(e)}}}},onKeyHome:function(h,f){var e=this,g=e.store.getAt(0);if(g){if(h.shiftKey){e.selectRange(g,e.lastFocused||0);e.setLastFocused(g)}else{if(h.ctrlKey){e.setLastFocused(g)}else{e.doSelect(g,false)}}}},onKeyPageUp:function(l,o){var m=this,k=m.getRowsVisible(),e,p,j,n;if(k){e=m.lastFocused?m.store.indexOf(m.lastFocused):0;p=e-k;if(p<0){p=0}j=m.store.getAt(p);if(l.shiftKey){n=m.store.getAt(e);m.selectRange(j,n,l.ctrlKey,"up");m.setLastFocused(j)}else{if(l.ctrlKey){l.preventDefault();m.setLastFocused(j)}else{m.doSelect(j)}}}},onKeyPageDown:function(l,e){var n=this,k=n.getRowsVisible(),j,m,o,p;if(k){j=n.lastFocused?n.store.indexOf(n.lastFocused):0;m=j+k;if(m>=n.store.getCount()){m=n.store.getCount()-1}o=n.store.getAt(m);if(l.shiftKey){p=n.store.getAt(j);n.selectRange(o,p,l.ctrlKey,"down");n.setLastFocused(o)}else{if(l.ctrlKey){l.preventDefault();n.setLastFocused(o)}else{n.doSelect(o)}}}},onKeyPress:function(g,e){if(g.getKey()===g.SPACE){g.stopEvent();var h=this,f=h.lastFocused;if(f){if(h.isSelected(f)){h.doDeselect(f,false)}else{h.doSelect(f,true)}}}},onKeyUp:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h>0){e=j.store.getAt(h-1);if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}},onKeyDown:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h+1<j.store.getCount()){e=j.store.getAt(h+1);if(j.selected.getCount()===0){j.doSelect(e)}else{if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}}},scrollByDeltaX:function(g){var f=this.views[0],h=f.up(),e=h.horizontalScroller;if(e){e.scrollByDeltaX(g)}},onKeyLeft:function(c,d){this.scrollByDeltaX(-this.deltaScroll)},onKeyRight:function(c,d){this.scrollByDeltaX(this.deltaScroll)},onRowMouseDown:function(e,g,i,j,h){e.el.focus();if(!this.allowRightMouseSelection(h)){return}this.selectWithEvent(g,h)},allowRightMouseSelection:function(d){var c=this.ignoreRightMouseSelection&&d.button!==0;if(c){c=this.hasSelection()}return !c},onSelectChange:function(q,t,m,v){var o=this,i=o.views,s=i.length,n=o.store,u=n.indexOf(q),p=t?"select":"deselect",r=0;if((m||o.fireEvent("before"+p,o,q,u))!==false&&v()!==false){for(;r<s;r++){if(t){i[r].onRowSelect(u,m)}else{i[r].onRowDeselect(u,m)}}if(!m){o.fireEvent(p,o,q,u)}}},onLastFocusChanged:function(k,o,i){var j=this.views,l=j.length,p=this.store,m,n=0;if(k){m=p.indexOf(k);if(m!=-1){for(;n<l;n++){j[n].onRowFocus(m,false)}}}if(o){m=p.indexOf(o);if(m!=-1){for(n=0;n<l;n++){j[n].onRowFocus(m,true,i)}}}},onEditorTab:function(l,n){var m=this,k=m.views[0],p=l.getActiveRecord(),q=l.getActiveColumn(),o=k.getPosition(p,q),e=n.shiftKey?"left":"right",r=k.walkCells(o,e,n,this.preventWrap);if(r){l.startEditByPosition(r)}},selectByPosition:function(d){var c=this.store.getAt(d.row);this.select(c)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(g,e){var h=this.getLastFocused(),f=this.view;if(h){if(h.isExpanded()){this.onKeyDown(g,e)}else{if(!h.isLeaf()){f.expand(h)}}}},onKeyLeft:function(j,m){var k=this.getLastFocused(),n=this.view,e=n.getSelectionModel(),i,l;if(k){i=k.parentNode;if(k.isExpanded()){n.collapse(k)}else{if(i&&!i.isRoot()){if(j.shiftKey){e.selectRange(i,k,j.ctrlKey,"up");e.setLastFocused(i)}else{if(j.ctrlKey){e.setLastFocused(i)}else{e.select(i)}}}}}},onKeyPress:function(h,e){var g=h.getKey(),j,i;if(g===h.SPACE||g===h.ENTER){h.stopEvent();j=this.getLastSelected();if(j){this.view.onCheckChange(j)}}else{this.callParent(arguments)}}});Ext.define("Ext.toolbar.Item",{extend:"Ext.Component",alias:"widget.tbitem",alternateClassName:"Ext.Toolbar.Item",enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.define("Ext.toolbar.TextItem",{extend:"Ext.toolbar.Item",requires:["Ext.XTemplate"],alias:"widget.tbtext",alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",onRender:function(){Ext.apply(this.renderData,{text:this.text});this.callParent(arguments)},setText:function(b){if(this.rendered){this.el.update(b);this.ownerCt.doLayout()}else{this.text=b}}});Ext.define("Docs.view.HoverMenuButton",{extend:"Ext.toolbar.TextItem",alias:"widget.hovermenubutton",componentCls:"hover-menu-button",requires:["Docs.view.HoverMenu"],showCount:false,statics:{menus:[]},initComponent:function(){this.addEvents("click");if(this.showCount){this.initialText=this.text;this.text+=" <sup>"+this.store.getCount()+"</sup>";this.store.on("datachanged",function(){this.setText(this.initialText+" <sup>"+this.store.getCount()+"</sup>")},this)}this.menu=Ext.create("Docs.view.HoverMenu",{store:this.store,columnHeight:this.getColumnHeight()});this.callParent(arguments)},getColumnHeight:function(){var c=200;var d=18;return Math.floor((Ext.Element.getViewportHeight()-c)/d)},onRender:function(){this.callParent(arguments);this.renderMenu();this.getEl().on({click:function(){this.fireEvent("click")},mouseover:this.deferShowMenu,mouseout:this.deferHideMenu,scope:this});this.menu.getEl().on({mouseover:function(){clearTimeout(this.hideTimeout)},mouseout:this.deferHideMenu,scope:this})},onDestroy:function(){this.menu.destroy();Ext.Array.remove(Docs.view.HoverMenuButton.menus,this.menu);this.callParent(arguments)},renderMenu:function(){this.menu.getEl().setVisibilityMode(Ext.core.Element.DISPLAY);this.menu.hide();this.menu.getEl().addListener("click",function(b){this.menu.hide();b.preventDefault()},this);Docs.view.HoverMenuButton.menus.push(this.menu)},deferHideMenu:function(){clearTimeout(Docs.view.HoverMenuButton.showTimeout);this.hideTimeout=Ext.Function.defer(function(){this.menu.hide()},200,this)},deferShowMenu:function(){clearTimeout(Docs.view.HoverMenuButton.showTimeout);Docs.view.HoverMenuButton.showTimeout=Ext.Function.defer(function(){Ext.Array.forEach(Docs.view.HoverMenuButton.menus,function(a){if(a!==this.menu){a.hide()}},this);clearTimeout(this.hideTimeout);this.menu.show();var j=this.getEl().getXY(),n=Ext.ComponentQuery.query("classoverview toolbar")[0],k=j[0]-10,l=n.getEl().getXY(),i=n.getWidth(),m=this.menu.getEl().getWidth(),h=Ext.getCmp("doctabs").getWidth();if(m>h){k=0}else{if((k+m)>h){k=h-m-30}}if(k<l[0]){k=l[0]}this.menu.getEl().setStyle({left:k+"px",top:(j[1]+25)+"px"})},200,this)},getStore:function(){return this.store}});Ext.define("Ext.dd.DragDrop",{requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(d,c){},startDrag:function(d,c){},b4Drag:function(b){},onDrag:function(b){},onDragEnter:function(d,c){},b4DragOver:function(b){},onDragOver:function(d,c){},b4DragOut:function(b){},onDragOut:function(d,c){},b4DragDrop:function(b){},onDragDrop:function(d,c){},onInvalidDrop:function(b){},b4EndDrag:function(b){},endDrag:function(b){},b4MouseDown:function(b){},onMouseDown:function(b){},onMouseUp:function(b){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(q,s,b){if(Ext.isNumber(s)){s={left:s,right:s,top:s,bottom:s}}s=s||this.defaultPadding;var o=Ext.get(this.getEl()).getBox(),v=Ext.get(q),c=v.getScroll(),p,u=v.dom;if(u==document.body){p={x:c.left,y:c.top,width:Ext.Element.getViewWidth(),height:Ext.Element.getViewHeight()}}else{var n=v.getXY();p={x:n[0],y:n[1],width:u.clientWidth,height:u.clientHeight}}var r=o.y-p.y,t=o.x-p.x;this.resetConstraints();this.setXConstraint(t-(s.left||0),p.width-t-o.width-(s.right||0),this.xTickSize);this.setYConstraint(r-(s.top||0),p.height-r-o.height-(s.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(f,e,d){this.initTarget(f,e,d);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(f,e,d){this.config=d||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};if(typeof f!=="string"){f=Ext.id(f)}this.id=f;this.addToGroup((e)?e:"default");this.handleElId=f;this.setDragElId(f);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(h,f,g,e){if(!f&&0!==f){this.padding=[h,h,h,h]}else{if(!g&&0!==g){this.padding=[h,f,h,f]}else{this.padding=[h,f,g,e]}}},setInitPosition:function(k,l){var j=this.getEl();if(!this.DDMInstance.verifyEl(j)){return}var g=k||0;var h=l||0;var i=Ext.Element.getXY(j);this.initPageX=i[0]-g;this.initPageY=i[1]-h;this.lastPageX=i[0];this.lastPageY=i[1];this.setStartPosition(i)},setStartPosition:function(c){var d=c||Ext.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=d[0];this.startPageY=d[1]},addToGroup:function(b){this.groups[b]=true;this.DDMInstance.regDragDrop(this,b)},removeFromGroup:function(b){if(this.groups[b]){delete this.groups[b]}this.DDMInstance.removeDDFromGroup(this,b)},setDragElId:function(b){this.dragElId=b},setHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.handleElId=b;this.DDMInstance.regHandle(this.id,b)},setOuterHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}Ext.EventManager.on(b,"mousedown",this.handleMouseDown,this);this.setHandleElId(b);this.hasOuterHandles=true},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDMInstance.isLocked()||this.locked)},handleMouseDown:function(f,d){if(this.primaryButtonOnly&&f.button!=0){return}if(this.isLocked()){return}this.DDMInstance.refreshCache(this.groups);var e=f.getPoint();if(!this.hasOuterHandles&&!this.DDMInstance.isOverTarget(e,this)){}else{if(this.clickValidator(f)){this.setStartPosition();this.b4MouseDown(f);this.onMouseDown(f);this.DDMInstance.handleMouseDown(f,this);this.DDMInstance.stopEvent(f)}else{}}},clickValidator:function(c){var d=c.getTarget();return(this.isValidHandleChild(d)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(d,this.id)))},addInvalidHandleType:function(d){var c=d.toUpperCase();this.invalidHandleTypes[c]=c},addInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.invalidHandleIds[b]=b},addInvalidHandleClass:function(b){this.invalidHandleClasses.push(b)},removeInvalidHandleType:function(d){var c=d.toUpperCase();delete this.invalidHandleTypes[c]},removeInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}delete this.invalidHandleIds[b]},removeInvalidHandleClass:function(d){for(var f=0,e=this.invalidHandleClasses.length;f<e;++f){if(this.invalidHandleClasses[f]==d){delete this.invalidHandleClasses[f]}}},isValidHandleChild:function(k){var l=true;var i;try{i=k.nodeName.toUpperCase()}catch(j){i=k.nodeName}l=l&&!this.invalidHandleTypes[i];l=l&&!this.invalidHandleIds[k.id];for(var e=0,h=this.invalidHandleClasses.length;l&&e<h;++e){l=!Ext.fly(k).hasCls(this.invalidHandleClasses[e])}return l},setXTicks:function(g,f){this.xTicks=[];this.xTickSize=f;var h={};for(var e=this.initPageX;e>=this.minX;e=e-f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}for(e=this.initPageX;e<=this.maxX;e=e+f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(g,f){this.yTicks=[];this.yTickSize=f;var h={};for(var e=this.initPageY;e>=this.minY;e=e-f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}for(e=this.initPageY;e<=this.maxY;e=e+f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(f,d,e){this.leftConstraint=f;this.rightConstraint=d;this.minX=this.initPageX-f;this.maxX=this.initPageX+d;if(e){this.setXTicks(this.initPageX,e)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(e,f,d){this.topConstraint=e;this.bottomConstraint=f;this.minY=this.initPageY-e;this.maxY=this.initPageY+f;if(d){this.setYTicks(this.initPageY,d)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var c=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var d=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(c,d)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(j,m){if(!m){return j}else{if(m[0]>=j){return m[0]}else{for(var h=0,i=m.length;h<i;++h){var n=h+1;if(m[n]&&m[n]>=j){var k=j-m[h];var l=m[n]-j;return(l>k)?m[h]:m[n]}}return m[m.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},scroll:true,autoOffset:function(h,e){var f=h-this.startPageX;var g=e-this.startPageY;this.setDelta(f,g)},setDelta:function(c,d){this.deltaX=c;this.deltaY=d},setDragElPos:function(f,d){var e=this.getDragEl();this.alignElWithMouse(e,f,d)},alignElWithMouse:function(u,r,t){var q=this.getTargetCoord(r,t),s=u.dom?u:Ext.fly(u,"_dd"),l=s.getSize(),o=Ext.Element,n;if(!this.deltaSetXY){n=this.cachedViewportSize={width:o.getDocumentWidth(),height:o.getDocumentHeight()};var v=[Math.max(0,Math.min(q.x,n.width-l.width)),Math.max(0,Math.min(q.y,n.height-l.height))];s.setXY(v);var m=s.getLeft(true);var p=s.getTop(true);this.deltaSetXY=[m-q.x,p-q.y]}else{n=this.cachedViewportSize;s.setLeftTop(Math.max(0,Math.min(q.x+this.deltaSetXY[0],n.width-l.width)),Math.max(0,Math.min(q.y+this.deltaSetXY[1],n.height-l.height)))}this.cachePosition(q.x,q.y);this.autoScroll(q.x,q.y,u.offsetHeight,u.offsetWidth);return q},cachePosition:function(d,e){if(d){this.lastPageX=d;this.lastPageY=e}else{var f=Ext.Element.getXY(this.getEl());this.lastPageX=f[0];this.lastPageY=f[1]}},autoScroll:function(s,t,x,r){if(this.scroll){var q=Ext.Element.getViewHeight();var A=Ext.Element.getViewWidth();var h=this.DDMInstance.getScrollTop();var y=this.DDMInstance.getScrollLeft();var u=x+t;var p=r+s;var v=(q+h-t-this.deltaY);var w=(A+y-s-this.deltaX);var z=40;var B=(document.all)?80:30;if(u>q&&v<z){window.scrollTo(y,h+B)}if(t<h&&h>0&&t-h<z){window.scrollTo(y,h-B)}if(p>A&&w<z){window.scrollTo(y+B,h)}if(s<y&&y>0&&s-y<z){window.scrollTo(y-B,h)}}},getTargetCoord:function(h,e){var f=h-this.deltaX;var g=e-this.deltaY;if(this.constrainX){if(f<this.minX){f=this.minX}if(f>this.maxX){f=this.maxX}}if(this.constrainY){if(g<this.minY){g=this.minY}if(g>this.maxY){g=this.maxY}}f=this.getTick(f,this.xTicks);g=this.getTick(g,this.yTicks);return{x:f,y:g}},applyConfig:function(){this.callParent();this.scroll=(this.config.scroll!==false)},b4MouseDown:function(b){this.autoOffset(b.getPageX(),b.getPageY())},b4Drag:function(b){this.setDragElPos(b.getPageX(),b.getPageY())},toString:function(){return("DD "+this.id)}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(f,e,d){if(f){this.init(f,e,d);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var e=this;var f=document.body;if(!f||!f.firstChild){setTimeout(function(){e.createFrame()},50);return}var g=this.getDragEl();if(!g){g=document.createElement("div");g.id=this.dragElId;var h=g.style;h.position="absolute";h.visibility="hidden";h.cursor="move";h.border="2px solid #aaa";h.zIndex=999;f.insertBefore(g,f.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(h,i){var j=this.getEl();var g=this.getDragEl();var f=g.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(f.width,10)/2),Math.round(parseInt(f.height,10)/2))}this.setDragElPos(h,i);Ext.fly(g).show()},_resizeProxy:function(){if(this.resizeFrame){var b=this.getEl();Ext.fly(this.getDragEl()).setSize(b.offsetWidth,b.offsetHeight)}},b4MouseDown:function(d){var e=d.getPageX();var f=d.getPageY();this.autoOffset(e,f);this.setDragElPos(e,f)},b4StartDrag:function(d,c){this.showFrame(d,c)},b4EndDrag:function(b){Ext.fly(this.getDragEl()).hide()},endDrag:function(f){var d=this.getEl();var e=this.getDragEl();e.style.visibility="";this.beforeMove();d.style.visibility="hidden";Ext.dd.DDM.moveToEl(d,e);e.style.visibility="hidden";d.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(c,d){this.el=Ext.get(c);if(!this.dragData){this.dragData={}}Ext.apply(this,d);if(!this.proxy){this.proxy=Ext.create("Ext.dd.StatusProxy",{animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(b){return this.dragData},onDragEnter:function(h,g){var e=Ext.dd.DragDropManager.getDDById(g);this.cachedTarget=e;if(this.beforeDragEnter(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyEnter(this,h,this.dragData);this.proxy.setStatus(f)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(e,h,g)}}},beforeDragEnter:function(d,e,f){return true},alignElWithMouse:function(){this.callParent(arguments);this.proxy.sync()},onDragOver:function(h,g){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(g);if(this.beforeDragOver(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyOver(this,h,this.dragData);this.proxy.setStatus(f)}if(this.afterDragOver){this.afterDragOver(e,h,g)}}},beforeDragOver:function(d,e,f){return true},onDragOut:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragOut(e,d,f)!==false){if(e.isNotifyTarget){e.notifyOut(this,d,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(e,d,f)}}this.cachedTarget=null},beforeDragOut:function(d,e,f){return true},onDragDrop:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragDrop(e,d,f)!==false){if(e.isNotifyTarget){if(e.notifyDrop(this,d,this.dragData)!==false){this.onValidDrop(e,d,f)}else{this.onInvalidDrop(e,d,f)}}else{this.onValidDrop(e,d,f)}if(this.afterDragDrop){this.afterDragDrop(e,d,f)}}delete this.cachedTarget},beforeDragDrop:function(d,e,f){return true},onValidDrop:function(d,e,f){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(d,e,f)}},getRepairXY:function(c,d){return this.el.getXY()},onInvalidDrop:function(d,e,f){this.beforeInvalidDrop(d,e,f);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,f)}},afterRepair:function(){var b=this;if(Ext.enableFx){b.el.highlight(b.repairHighlightColor)}b.dragging=false},beforeInvalidDrop:function(d,e,f){return true},handleMouseDown:function(c){if(this.dragging){return}var d=this.getDragData(c);if(d&&this.onBeforeDrag(d,c)!==false){this.dragData=d;this.proxy.stop();this.callParent(arguments)}},onBeforeDrag:function(d,c){return true},onStartDrag:Ext.emptyFn,startDrag:function(d,c){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(d,c);this.proxy.show()},onInitDrag:function(e,f){var d=this.el.dom.cloneNode(true);d.id=Ext.id();this.proxy.update(d);this.onStartDrag(e,f);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(b){},endDrag:function(b){this.onEndDrag(this.dragData,b)},onEndDrag:function(d,c){},autoOffset:function(d,c){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(c,d){this.panel=c;this.dragData={panel:c};this.proxy=Ext.create("Ext.panel.Proxy",c,d);this.callParent([c.el,d]);Ext.defer(function(){var a=c.header,b=c.body;if(a){this.setHandleElId(a.id);b=a.el}b.setStyle("cursor","move");this.scroll=false},200,this)},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(d,c){this.proxy.show()},b4MouseDown:function(d){var e=d.getPageX(),f=d.getPageY();this.autoOffset(e,f)},onInitDrag:function(d,c){this.onStartDrag(d,c);return true},createFrame:Ext.emptyFn,getDragEl:function(b){return this.proxy.ghost.el.dom},endDrag:function(b){this.proxy.hide();this.panel.saveState()},autoOffset:function(d,c){d-=this.startPageX;c-=this.startPageY;this.setDelta(d,c)}});Ext.define("Ext.toolbar.Separator",{extend:"Ext.toolbar.Item",alias:"widget.tbseparator",alternateClassName:"Ext.Toolbar.Separator",baseCls:Ext.baseCSSPrefix+"toolbar-separator",focusable:false});Ext.define("Ext.layout.container.boxOverflow.Menu",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.toolbar.Separator","Ext.button.Button"],alternateClassName:"Ext.layout.boxOverflow.Menu",noItemsMenuText:'<div class="'+Ext.baseCSSPrefix+'toolbar-no-items">(None)</div>',constructor:function(c){var d=this;d.callParent(arguments);c.beforeLayout=Ext.Function.createInterceptor(c.beforeLayout,this.clearOverflow,this);d.afterCtCls=d.afterCtCls||Ext.baseCSSPrefix+"box-menu-"+c.parallelAfter;d.menuItems=[]},onRemove:function(b){Ext.Array.remove(this.menuItems,b)},handleOverflow:function(i,j){var k=this,l=k.layout,n="get"+l.parallelPrefixCap,h={},m=[null,null];k.callParent(arguments);this.createMenu(i,j);h[l.perpendicularPrefix]=j[l.perpendicularPrefix];h[l.parallelPrefix]=j[l.parallelPrefix]-k.afterCt[n]();m[l.perpendicularSizeIndex]=(i.meta.maxSize-k.menuTrigger["get"+l.perpendicularPrefixCap]())/2;k.menuTrigger.setPosition.apply(k.menuTrigger,m);return{targetSize:h}},clearOverflow:function(j,k){var l=this,m=k?k.width+(l.afterCt?l.afterCt.getWidth():0):0,i=l.menuItems,p=0,n=i.length,o;l.hideTrigger();for(;p<n;p++){i[p].show()}i.length=0;return k?{targetSize:{height:k.height,width:m}}:null},showTrigger:function(){this.menuTrigger.show()},hideTrigger:function(){if(this.menuTrigger!==undefined){this.menuTrigger.hide()}},beforeMenuShow:function(k){var l=this,i=l.menuItems,o=0,j=i.length,m,n;var p=function(a,b){return a.isXType("buttongroup")&&!(b instanceof Ext.toolbar.Separator)};l.clearMenu();k.removeAll();for(;o<j;o++){m=i[o];if(!o&&(m instanceof Ext.toolbar.Separator)){continue}if(n&&(p(m,n)||p(n,m))){k.add("-")}l.addComponentToMenu(k,m);n=m}if(k.items.length<1){k.add(l.noItemsMenuText)}},createMenuConfig:function(h,f){var e=Ext.apply({},h.initialConfig),g=h.toggleGroup;Ext.copyTo(e,h,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(e,{text:h.overflowText||h.text,hideOnClick:f,destroyMenu:false});if(g||h.enableToggle){Ext.apply(e,{group:g,checked:h.pressed,listeners:{checkchange:function(a,b){h.toggle(b)}}})}delete e.ownerCt;delete e.xtype;delete e.id;return e},addComponentToMenu:function(f,e){var d=this;if(e instanceof Ext.toolbar.Separator){f.add("-")}else{if(e.isComponent){if(e.isXType("splitbutton")){f.add(d.createMenuConfig(e,true))}else{if(e.isXType("button")){f.add(d.createMenuConfig(e,!e.menu))}else{if(e.isXType("buttongroup")){e.items.each(function(a){d.addComponentToMenu(f,a)})}else{f.add(Ext.create(Ext.getClassName(e),d.createMenuConfig(e)))}}}}}},clearMenu:function(){var b=this.moreMenu;if(b&&b.items){b.items.each(function(a){if(a.menu){delete a.menu}})}},createMenu:function(v,t){var m=this,o=m.layout,i=o.parallelBefore,r=o.parallelPrefix,u=t[r],p=v.boxes,s=0,n=p.length,q;if(!m.menuTrigger){m.createInnerElements();m.menu=Ext.create("Ext.menu.Menu",{listeners:{scope:m,beforeshow:m.beforeMenuShow}});m.menuTrigger=Ext.create("Ext.button.Button",{ownerCt:m.layout.owner,iconCls:m.layout.owner.menuTriggerCls,ui:o.owner instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:m.menu,getSplitCls:function(){return""},renderTo:m.afterCt})}m.showTrigger();u-=m.afterCt.getWidth();m.menuItems.length=0;for(;s<n;s++){q=p[s];if(q[i]+q[r]>u){m.menuItems.push(q.component);q.component.hide()}}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!this.afterCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");this.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+this.afterCtCls},"before")}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.define("Ext.layout.container.Box",{alias:["layout.box"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.BoxLayout",requires:["Ext.layout.container.boxOverflow.None","Ext.layout.container.boxOverflow.Menu","Ext.layout.container.boxOverflow.Scroller","Ext.util.Format","Ext.dd.DragDropManager"],defaultMargins:{top:0,right:0,bottom:0,left:0},padding:"0",pack:"start",type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",innerCls:Ext.baseCSSPrefix+"box-inner",bindToOwnerCtContainer:true,availableSpaceOffset:0,reserveOffset:true,shrinkToFit:true,clearInnerCtOnLayout:false,flexSortFn:function(g,h){var b="max"+this.parallelPrefixCap,a=Infinity;g=g.component[b]||a;h=h.component[b]||a;if(!isFinite(g)&&!isFinite(h)){return false}return g-h},minSizeSortFn:function(a,b){return b.available-a.available},constructor:function(d){var c=this;c.callParent(arguments);c.flexSortFn=Ext.Function.bind(c.flexSortFn,c);c.initOverflowHandler()},getChildBox:function(c){c=c.el||this.owner.getComponent(c).el;var d=c.getBox(false,true);return{left:d.left,top:d.top,width:d.width,height:d.height}},calculateChildBox:function(h){var i=this,f=i.calculateChildBoxes(i.getVisibleItems(),i.getLayoutTargetSize()).boxes,j=f.length,g=0;h=i.owner.getComponent(h);for(;g<j;g++){if(f[g].component===h){return f[g]}}},calculateChildBoxes:function(bc,bp){var a4=this,aI=Math,bg=aI.max,bd=Infinity,a6,a9=a4.parallelPrefix,be=a4.parallelPrefixCap,aC=a4.perpendicularPrefix,a8=a4.perpendicularPrefixCap,aW="min"+be,aQ="min"+a8,aH="max"+a8,bo=bp[a9]-a4.scrollOffset,i=bp[aC],aU=a4.padding,ba=aU[a4.parallelBefore],a7=ba+aU[a4.parallelAfter],ay=aU[a4.perpendicularLeftTop],aG=ay+aU[a4.perpendicularRightBottom],aN=bg(0,i-aG),aK=a4.innerCt.getBorderWidth(a4.perpendicularLT+a4.perpendicularRB),a0=a4.pack=="start",aB=a4.pack=="center",aS=a4.pack=="end",aV=Ext.Number.constrain,aA=bc.length,bn=0,aM=0,aF=0,a5=0,aO=0,ax=[],aE=[],aP,aR,bj,a1,aZ,aY,aD,ao,aq,ap,bf,bm,a2,aJ,a3,az,bi,aw,aX,bl,aT,au,bq,bb,bh,aL,av,ar,bk,at;for(aR=0;aR<aA;aR++){bj=bc[aR];aZ=bj[aC];if(!bj.flex||!(a4.align=="stretch"||a4.align=="stretchmax")){if(bj.componentLayout.initialized!==true){a4.layoutItem(bj)}}aY=bj.margins;aL=aY[a4.parallelBefore]+aY[a4.parallelAfter];aq={component:bj,margins:aY};if(bj.flex){aM+=bj.flex;a1=a6}else{if(!(bj[a9]&&aZ)){aD=bj.getSize()}a1=bj[a9]||aD[a9];aZ=aZ||aD[aC]}bn+=aL+(a1||0);aF+=aL+(bj.flex?bj[aW]||0:a1);a5+=aL+(bj[aW]||a1||0);if(typeof aZ!="number"){aZ=bj["get"+a8]()}aO=bg(aO,bg(aZ,bj[aQ]||0)+aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom]);aq[a9]=a1||a6;aq.dirtySize=bj.componentLayout.lastComponentSize?(aq[a9]!==bj.componentLayout.lastComponentSize[a9]):false;aq[aC]=aZ||a6;ax.push(aq)}if(!a4.autoSize){ap=aF-bo;bf=a5>bo}bm=bg(0,bo-bn-a7-(a4.reserveOffset?a4.availableSpaceOffset:0));if(bf){for(aR=0;aR<aA;aR++){bi=ax[aR];a2=bc[aR][aW]||bc[aR][a9]||bi[a9];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}}else{if(ap>0){for(aR=0;aR<aA;aR++){aJ=bc[aR];a2=aJ[aW]||0;if(aJ.flex){bi=ax[aR];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}else{if(a4.shrinkToFit){aE.push({minSize:a2,available:ax[aR][a9]-a2,index:aR})}}}Ext.Array.sort(aE,a4.minSizeSortFn);for(aR=0,a3=aE.length;aR<a3;aR++){az=aE[aR].index;if(az==a6){continue}aJ=bc[az];a2=aE[aR].minSize;bi=ax[az];aw=bi[a9];aX=bg(a2,aw-aI.ceil(ap/(a3-aR)));bl=aw-aX;bi.dirtySize=bi.dirtySize||bi[a9]!=aX;bi[a9]=aX;ap-=bl}bf=(ap>0)}else{bq=bm;bb=aM;au=[];for(aR=0;aR<aA;aR++){bj=bc[aR];if(a0&&bj.flex){au.push(ax[Ext.Array.indexOf(bc,bj)])}}Ext.Array.sort(au,a4.flexSortFn);for(aR=0;aR<au.length;aR++){av=au[aR];bj=av.component;aY=av.margins;bh=aI.ceil((bj.flex/bb)*bq);bh=Math.max(bj["min"+be]||0,aI.min(bj["max"+be]||bd,bh));bq-=bh;bb-=bj.flex;av.dirtySize=av.dirtySize||av[a9]!=bh;av[a9]=bh}}}if(aB){ba+=bm/2}else{if(aS){ba+=bm}}if(a4.owner.dock&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&!a4.owner.width&&a4.direction=="vertical"){aP=aO+a4.owner.el.getPadding("lr")+a4.owner.el.getBorderWidth("lr");if(a4.owner.frameSize){aP+=a4.owner.frameSize.left+a4.owner.frameSize.right}aN=Math.min(aN,bp.width=aO+aU.left+aU.right)}for(aR=0;aR<aA;aR++){bj=bc[aR];av=ax[aR];aY=av.margins;bk=aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom];ba+=aY[a4.parallelBefore];av[a4.parallelBefore]=ba;av[a4.perpendicularLeftTop]=ay+aY[a4.perpendicularLeftTop];if(a4.align=="stretch"){at=aV(aN-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align=="stretchmax"){at=aV(aO-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align==a4.alignCenteringString){aT=bg(aN,aO)-aK-av[aC];if(aT>0){av[a4.perpendicularLeftTop]=ay+Math.round(aT/2)}}}}ba+=(av[a9]||0)+aY[a4.parallelAfter]}return{boxes:ax,meta:{calculatedWidth:aP,maxSize:aO,nonFlexSize:bn,desiredSize:aF,minimumSize:a5,shortfall:ap,tooNarrow:bf}}},onRemove:function(b){this.callParent(arguments);if(this.overflowHandler){this.overflowHandler.onRemove(b)}},initOverflowHandler:function(){var f=this.overflowHandler;if(typeof f=="string"){f={type:f}}var d="None";if(f&&f.type!==undefined){d=f.type}var e=Ext.layout.container.boxOverflow[d];if(e[this.type]){e=e[this.type]}this.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+d,this,f)},onLayout:function(){this.callParent();if(this.clearInnerCtOnLayout===true&&this.adjustmentPass!==true){this.innerCt.setSize(null,null)}var l=this,p=l.getLayoutTargetSize(),m=l.getVisibleItems(),q=l.calculateChildBoxes(m,p),n=q.boxes,k=q.meta,j,r,o;if(l.autoSize&&q.meta.desiredSize){p[l.parallelPrefix]=q.meta.desiredSize}if(k.shortfall>0){j=l.overflowHandler;r=k.tooNarrow?"handleOverflow":"clearOverflow";o=j[r](q,p);if(o){if(o.targetSize){p=o.targetSize}if(o.recalculate){m=l.getVisibleItems();q=l.calculateChildBoxes(m,p);n=q.boxes}}}else{l.overflowHandler.clearOverflow()}l.layoutTargetLastSize=p;l.childBoxCache=q;l.updateInnerCtSize(p,q);l.updateChildBoxes(n);l.handleTargetOverflow(p)},animCallback:Ext.emptyFn,updateChildBoxes:function(v){var r=this,x=0,z=v.length,i=[],p=Ext.dd.DDM.getDDById(r.innerCt.id),B,w,y,u,t,A;for(;x<z;x++){w=v[x];u=w.component;if(p&&(p.getDragEl()===u.el.dom)){continue}y=false;B=r.getChildBox(u);if(r.animate){A=r.animate.callback||r.animate;t={layoutAnimation:true,target:u,from:{},to:{},listeners:{}};if(!isNaN(w.width)&&(w.width!=B.width)){y=true;t.to.width=w.width}if(!isNaN(w.height)&&(w.height!=B.height)){y=true;t.to.height=w.height}if(!isNaN(w.left)&&(w.left!=B.left)){y=true;t.to.left=w.left}if(!isNaN(w.top)&&(w.top!=B.top)){y=true;t.to.top=w.top}if(y){i.push(t)}}else{if(w.dirtySize){if(w.width!==B.width||w.height!==B.height){r.setItemSize(u,w.width,w.height)}}if(isNaN(w.left)||isNaN(w.top)){continue}u.setPosition(w.left,w.top)}}z=i.length;if(z){var q=function(a){z-=1;if(!z){r.animCallback(a);r.layoutBusy=false;if(Ext.isFunction(A)){A()}}};var s=function(){r.layoutBusy=true};for(x=0,z=i.length;x<z;x++){t=i[x];t.listeners.afteranimate=q;if(!x){t.listeners.beforeanimate=s}if(r.animate.duration){t.duration=r.animate.duration}u=t.target;delete t.target;u.stopAnimation();u.animate(t)}}},updateInnerCtSize:function(t,v){var p=this,r=Math.max,q=p.align,o=p.padding,u=t.width,m=t.height,l=v.meta,s,n;if(p.direction=="horizontal"){s=u;n=l.maxSize+o.top+o.bottom+p.innerCt.getBorderWidth("tb");if(q=="stretch"){n=m}else{if(q=="middle"){n=r(m,n)}}}else{n=m;s=l.maxSize+o.left+o.right+p.innerCt.getBorderWidth("lr");if(q=="stretch"){s=u}else{if(q=="center"){s=r(u,s)}}}p.getRenderTarget().setSize(s||undefined,n||undefined);if(l.calculatedWidth&&p.owner.el.getWidth()>l.calculatedWidth){p.owner.el.setWidth(l.calculatedWidth)}if(p.innerCt.dom.scrollTop){p.innerCt.dom.scrollTop=0}},handleTargetOverflow:function(h){var e=this.getTarget(),g=e.getStyle("overflow"),f;if(g&&g!="hidden"&&!this.adjustmentPass){f=this.getLayoutTargetSize();if(f.width!=h.width||f.height!=h.height){this.adjustmentPass=true;this.onLayout();return true}}delete this.adjustmentPass},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&this.innerCt&&e.parentNode===this.innerCt.dom)||false},getRenderTarget:function(){if(!this.innerCt){this.innerCt=this.getTarget().createChild({cls:this.innerCls,role:"presentation"});this.padding=Ext.util.Format.parseBox(this.padding)}return this.innerCt},renderItem:function(k,i){this.callParent(arguments);var l=this,h=k.getEl(),g=h.dom.style,j=k.margins||k.margin;if(j){if(Ext.isString(j)||Ext.isNumber(j)){j=Ext.util.Format.parseBox(j)}else{Ext.applyIf(j,{top:0,right:0,bottom:0,left:0})}}else{j=Ext.apply({},l.defaultMargins)}j.top+=h.getMargin("t");j.right+=h.getMargin("r");j.bottom+=h.getMargin("b");j.left+=h.getMargin("l");j.height=j.top+j.bottom;j.width=j.left+j.right;g.marginTop=g.marginRight=g.marginBottom=g.marginLeft="0";k.margins=j},destroy:function(){Ext.destroy(this.innerCt,this.overflowHandler);this.callParent(arguments)}});Ext.define("Ext.layout.container.Fit",{extend:"Ext.layout.container.AbstractFit",alias:"layout.fit",alternateClassName:"Ext.layout.FitLayout",requires:["Ext.layout.container.Box"],defaultMargins:{top:0,right:0,bottom:0,left:0},onLayout:function(){var h=this,f,e,g;h.callParent();if(h.owner.items.length){e=h.owner.items.get(0);g=e.margins||h.defaultMargins;f=h.getLayoutTargetSize();f.width-=g.width;f.height-=g.height;h.setItemBox(e,f);if(g.left||g.top){e.setPosition(g.left,g.top)}}},getTargetBox:function(){return this.getLayoutTargetSize()},setItemBox:function(f,d){var e=this;if(f&&d.height>0){if(!e.owner.isFixedWidth()){d.width=undefined}if(!e.owner.isFixedHeight()){d.height=undefined}e.setItemSize(f,d.width,d.height)}},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}},function(){this.prototype.renderItem=Ext.layout.container.Box.prototype.renderItem});Ext.define("Ext.layout.container.AbstractCard",{extend:"Ext.layout.container.Fit",type:"card",sizeAllCards:false,hideInactive:true,deferredRender:false,beforeLayout:function(){var b=this;b.getActiveItem();if(b.activeItem&&b.deferredRender){b.renderItems([b.activeItem],b.getRenderTarget());return true}else{return this.callParent(arguments)}},renderChildren:function(){if(!this.deferredRender){this.getActiveItem();this.callParent()}},onLayout:function(){var k=this,j=k.activeItem,h=k.getVisibleItems(),l=h.length,i=k.getTargetBox(),n,m;for(n=0;n<l;n++){m=h[n];k.setItemBox(m,i)}if(!k.firstActivated&&j){if(j.fireEvent("beforeactivate",j)!==false){j.fireEvent("activate",j)}k.firstActivated=true}},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&e.parentNode===(g.dom||g))||false},getActiveItem:function(){var b=this;if(!b.activeItem&&b.owner){b.activeItem=b.parseActiveItem(b.owner.activeItem)}if(b.activeItem&&b.owner.items.indexOf(b.activeItem)!=-1){return b.activeItem}return null},parseActiveItem:function(b){if(b&&b.isComponent){return b}else{if(typeof b=="number"||b===undefined){return this.getLayoutItems()[b||0]}else{return this.owner.getComponent(b)}}},configureItem:function(c,d){this.callParent([c,d]);if(this.hideInactive&&this.activeItem!==c){c.hide()}else{c.show()}},onRemove:function(b){if(b===this.activeItem){this.activeItem=null;if(this.owner.items.getCount()===0){this.firstActivated=false}}},getAnimation:function(d,e){var f=(d||{}).cardSwitchAnimation;if(f===false){return false}return f||e.cardSwitchAnimation},getNext:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d+1]||(f?e[0]:false)},next:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getNext(d),c)},getPrev:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d-1]||(f?e[e.length-1]:false)},prev:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getPrev(d),c)}});Ext.define("Ext.layout.container.Card",{alias:["layout.card"],alternateClassName:"Ext.layout.CardLayout",extend:"Ext.layout.container.AbstractCard",setActiveItem:function(f){var h=this,g=h.owner,i=h.activeItem,j;f=h.parseActiveItem(f);j=g.items.indexOf(f);if(j==-1){j=g.items.items.length;g.add(f)}if(f&&i!=f){if(!f.rendered){h.renderItem(f,h.getRenderTarget(),g.items.length);h.configureItem(f,0)}h.activeItem=f;if(f.fireEvent("beforeactivate",f,i)===false){return false}if(i&&i.fireEvent("beforedeactivate",i,f)===false){return false}if(h.sizeAllCards){h.onLayout()}else{h.setItemBox(f,h.getTargetBox())}h.owner.suspendLayout=true;if(i){if(h.hideInactive){i.hide()}i.fireEvent("deactivate",i,f)}h.owner.suspendLayout=false;if(f.hidden){f.show()}else{h.onLayout()}f.fireEvent("activate",f,i);return f}return false},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}});Ext.define("Ext.layout.container.VBox",{alias:["layout.vbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.VBoxLayout",align:"left",alignCenteringString:"center",type:"vbox",direction:"vertical",parallelSizeIndex:1,perpendicularSizeIndex:0,parallelPrefix:"height",parallelPrefixCap:"Height",parallelLT:"t",parallelRB:"b",parallelBefore:"top",parallelBeforeCap:"Top",parallelAfter:"bottom",parallelPosition:"y",perpendicularPrefix:"width",perpendicularPrefixCap:"Width",perpendicularLT:"l",perpendicularRB:"r",perpendicularLeftTop:"left",perpendicularRightBottom:"right",perpendicularPosition:"x",configureItem:function(b){if(b.flex){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}this.callParent(arguments)}});Ext.define("Ext.layout.container.HBox",{alias:["layout.hbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.HBoxLayout",align:"top",alignCenteringString:"middle",type:"hbox",direction:"horizontal",parallelSizeIndex:0,perpendicularSizeIndex:1,parallelPrefix:"width",parallelPrefixCap:"Width",parallelLT:"l",parallelRB:"r",parallelBefore:"left",parallelBeforeCap:"Left",parallelAfter:"right",parallelPosition:"x",perpendicularPrefix:"height",perpendicularPrefixCap:"Height",perpendicularLT:"t",perpendicularRB:"b",perpendicularLeftTop:"top",perpendicularRightBottom:"bottom",perpendicularPosition:"y",configureItem:function(b){if(b.flex){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}this.callParent(arguments)}});Ext.define("Ext.toolbar.Toolbar",{extend:"Ext.container.Container",requires:["Ext.toolbar.Fill","Ext.layout.container.HBox","Ext.layout.container.VBox","Ext.FocusManager"],uses:["Ext.toolbar.Separator"],alias:"widget.toolbar",alternateClassName:"Ext.Toolbar",isToolbar:true,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:false,enableOverflow:false,menuTriggerCls:Ext.baseCSSPrefix+"toolbar-more-icon",trackMenus:true,itemCls:Ext.baseCSSPrefix+"toolbar-item",initComponent:function(){var c=this,d;if(!c.layout&&c.enableOverflow){c.layout={overflowHandler:"Menu"}}if(c.dock==="right"||c.dock==="left"){c.vertical=true}c.layout=Ext.applyIf(Ext.isString(c.layout)?{type:c.layout}:c.layout||{},{type:c.vertical?"vbox":"hbox",align:c.vertical?"stretchmax":"middle",clearInnerCtOnLayout:true});if(c.vertical){c.addClsWithUI("vertical")}if(c.ui==="footer"){c.ignoreBorderManagement=true}c.callParent();c.addEvents("overflowchange");d=c.vertical?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d})},getRefItems:function(g){var h=this,f=h.callParent(arguments),i=h.layout,j;if(g&&h.enableOverflow){j=i.overflowHandler;if(j&&j.menu){f=f.concat(j.menu.getRefItems(g))}}return f},lookupComponent:function(c){if(Ext.isString(c)){var d=Ext.toolbar.Toolbar.shortcuts[c];if(d){c={xtype:d}}else{c={xtype:"tbtext",text:c}}this.applyDefaults(c)}return this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c},trackMenu:function(h,f){if(this.trackMenus&&h.menu){var g=f?"mun":"mon",e=this;e[g](h,"mouseover",e.onButtonOver,e);e[g](h,"menushow",e.onButtonMenuShow,e);e[g](h,"menuhide",e.onButtonMenuHide,e)}},constructButton:function(b){return b.events?b:this.createComponent(b,b.split?"splitbutton":this.defaultType)},onBeforeAdd:function(b){if(b.is("field")||(b.is("button")&&this.ui!="footer")){b.ui=b.ui+"-toolbar"}if(b instanceof Ext.toolbar.Separator){b.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(b){this.callParent(arguments);this.trackMenu(b);if(this.disabled){b.disable()}},onRemove:function(b){this.callParent(arguments);this.trackMenu(b,true)},onButtonOver:function(b){if(this.activeMenuBtn&&this.activeMenuBtn!=b){this.activeMenuBtn.hideMenu();b.showMenu();this.activeMenuBtn=b}},onButtonMenuShow:function(b){this.activeMenuBtn=b},onButtonMenuHide:function(b){delete this.activeMenuBtn}},function(){this.shortcuts={"-":"tbseparator"," ":"tbspacer","->":"tbfill"}});Ext.define("Ext.panel.AbstractPanel",{extend:"Ext.container.Container",requires:["Ext.util.MixedCollection","Ext.Element","Ext.toolbar.Toolbar"],baseCls:Ext.baseCSSPrefix+"panel",isPanel:true,componentLayout:"dock",defaultDockWeights:{top:1,left:3,right:5,bottom:7},renderTpl:['<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl>',' {baseCls}-body-{ui}<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl>','</tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>>',"</div>"],border:true,initComponent:function(){var b=this;b.addEvents("bodyresize");b.addChildEls("body");if(b.frame&&b.border&&b.bodyBorder===undefined){b.bodyBorder=false}if(b.frame&&b.border&&(b.bodyBorder===false||b.bodyBorder===0)){b.manageBodyBorders=true}b.callParent()},initItems:function(){var c=this,d=c.dockedItems;c.callParent();c.dockedItems=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){c.addDocked(d)}},getDockedComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.dockedItems.get(b)},getComponent:function(d){var c=this.callParent(arguments);if(c===undefined&&!Ext.isNumber(d)){c=this.getDockedComponent(d)}return c},initBodyStyles:function(){var i=this,g=i.bodyStyle,j=[],f=Ext.Element,h;if(Ext.isFunction(g)){g=g()}if(Ext.isString(g)){j=g.split(";")}else{for(h in g){if(g.hasOwnProperty(h)){j.push(h+":"+g[h])}}}if(i.bodyPadding!==undefined){j.push("padding: "+f.unitizeBox((i.bodyPadding===true)?5:i.bodyPadding))}if(i.frame&&i.bodyBorder){if(!Ext.isNumber(i.bodyBorder)){i.bodyBorder=1}j.push("border-width: "+f.unitizeBox(i.bodyBorder))}delete i.bodyStyle;return j.length?j.join(";"):undefined},initBodyCls:function(){var d=this,e="",f=d.bodyCls;if(f){Ext.each(f,function(a){e+=" "+a});delete d.bodyCls}return e.length>0?e:undefined},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyStyle:this.initBodyStyles(),bodyCls:this.initBodyCls()})},addDocked:function(h,i){var j=this,g=0,k,l;h=j.prepareItems(h);l=h.length;for(;g<l;g++){k=h[g];k.dock=k.dock||"top";if(j.border===false){}if(i!==undefined){j.dockedItems.insert(i+g,k)}else{j.dockedItems.add(k)}k.onAdded(j,g);j.onDockedAdd(k)}j.componentLayout.childrenChanged=true;if(j.rendered&&!j.suspendLayout){j.doComponentLayout()}return h},onDockedAdd:Ext.emptyFn,onDockedRemove:Ext.emptyFn,insertDocked:function(c,d){this.addDocked(d,c)},removeDocked:function(h,f){var i=this,j,g;if(!i.dockedItems.contains(h)){return h}j=i.componentLayout;g=j&&i.rendered;if(g){j.onRemove(h)}i.dockedItems.remove(h);h.onRemoved();i.onDockedRemove(h);if(f===true||(f!==false&&i.autoDestroy)){h.destroy()}else{if(g){j.afterRemove(h)}}i.componentLayout.childrenChanged=true;if(!i.destroying&&!i.suspendLayout){i.doComponentLayout()}return h},getDockedItems:function(h){var g=this,e=g.defaultDockWeights,f;if(g.dockedItems&&g.dockedItems.items.length){if(h){f=Ext.ComponentQuery.query(h,g.dockedItems.items)}else{f=g.dockedItems.items.slice()}Ext.Array.sort(f,function(c,d){var b=c.weight||e[c.dock],a=d.weight||e[d.dock];if(Ext.isNumber(b)&&Ext.isNumber(a)){return b-a}return 0});return f}return[]},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,f=e.baseCls+"-body-"+e.ui,g;e.callParent(arguments);if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}},removeUIFromElement:function(){var d=this,e=d.baseCls+"-body-"+d.ui,f;d.callParent(arguments);if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}},getTargetEl:function(){return this.body},getRefItems:function(h){var g=this.callParent(arguments),k=this.getDockedItems(h?"*,* *":undefined),i=k.length,l=0,j;for(;l<i;l++){j=k[l];if(j.dock==="right"||j.dock==="bottom"){break}}return Ext.Array.splice(k,0,l).concat(g).concat(k)},beforeDestroy:function(){var c=this.dockedItems,d;if(c){while((d=c.first())){this.removeDocked(d,true)}}this.callParent()},setBorder:function(d){var c=this;c.border=(d!==undefined)?d:true;if(c.rendered){c.doComponentLayout()}}});Ext.define("Ext.panel.Panel",{extend:"Ext.panel.AbstractPanel",requires:["Ext.panel.Header","Ext.fx.Anim","Ext.util.KeyMap","Ext.panel.DD","Ext.XTemplate","Ext.layout.component.Dock","Ext.util.Memento"],alias:"widget.panel",alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:false,collapseFirst:true,hideCollapseTool:false,titleCollapse:false,floatable:true,collapsible:false,closable:false,closeAction:"destroy",preventHeader:false,headerPosition:"top",frame:false,frameHeader:true,initComponent:function(){var c=this,d;c.addEvents("beforeclose","beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange");this.addStateEvents("expand","collapse");if(c.unstyled){c.setUI("plain")}if(c.frame){c.setUI(c.ui+"-framed")}c.bridgeToolbars();c.callParent();c.collapseDirection=c.collapseDirection||c.headerPosition||Ext.Component.DIRECTION_TOP},setBorder:function(b){this.callParent(arguments)},beforeDestroy:function(){Ext.destroy(this.ghostPanel,this.dd);this.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},initHeaderAria:function(){var d=this,e=d.el,f=d.header;if(e&&f){e.dom.setAttribute("aria-labelledby",f.titleCmp.id)}},getHeader:function(){return this.header},setTitle:function(f){var d=this,e=this.title;d.title=f;if(d.header){d.header.setTitle(f)}else{d.updateHeader()}if(d.reExpander){d.reExpander.setTitle(f)}d.fireEvent("titlechange",d,f,e)},setIconCls:function(f){var h=this,e=h.iconCls;h.iconCls=f;var g=h.header;if(g){g.setIconCls(f)}h.fireEvent("iconchange",h,f,e)},bridgeToolbars:function(){var h=this,i=[],l,g,j=h.minButtonWidth;function k(c,a,b){if(Ext.isArray(c)){c={xtype:"toolbar",items:c}}else{if(!c.xtype){c.xtype="toolbar"}}c.dock=a;if(a=="left"||a=="right"){c.vertical=true}if(b){c.layout=Ext.applyIf(c.layout||{},{pack:{left:"start",center:"center"}[h.buttonAlign]||"end"})}return c}if(h.tbar){i.push(k(h.tbar,"top"));h.tbar=null}if(h.bbar){i.push(k(h.bbar,"bottom"));h.bbar=null}if(h.buttons){h.fbar=h.buttons;h.buttons=null}if(h.fbar){l=k(h.fbar,"bottom",true);l.ui="footer";if(j){g=l.defaults;l.defaults=function(b){var a=g||{};if((!b.xtype||b.xtype==="button"||(b.isComponent&&b.isXType("button")))&&!("minWidth" in a)){a=Ext.apply({minWidth:j},a)}return a}}i.push(l);h.fbar=null}if(h.lbar){i.push(k(h.lbar,"left"));h.lbar=null}if(h.rbar){i.push(k(h.rbar,"right"));h.rbar=null}if(h.dockedItems){if(!Ext.isArray(h.dockedItems)){h.dockedItems=[h.dockedItems]}h.dockedItems=h.dockedItems.concat(i)}else{h.dockedItems=i}},initTools:function(){var b=this;b.tools=b.tools?Ext.Array.clone(b.tools):[];if(b.collapsible&&!(b.hideCollapseTool||b.header===false)){b.collapseDirection=b.collapseDirection||b.headerPosition||"top";b.collapseTool=b.expandTool=b.createComponent({xtype:"tool",type:"collapse-"+b.collapseDirection,expandType:b.getOppositeDirection(b.collapseDirection),handler:b.toggleCollapse,scope:b});if(b.collapseFirst){b.tools.unshift(b.collapseTool)}}b.addTools();if(b.closable){b.addClsWithUI("closable");b.addTool({type:"close",handler:Ext.Function.bind(b.close,this,[])})}if(b.collapseTool&&!b.collapseFirst){b.tools.push(b.collapseTool)}},addTools:Ext.emptyFn,close:function(){if(this.fireEvent("beforeclose",this)!==false){this.doClose()}},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},onRender:function(e,f){var g=this,h;g.initTools();g.updateHeader();g.callParent(arguments)},afterRender:function(){var b=this;b.callParent(arguments);if(b.collapsed){b.collapsed=false;b.collapse(null,false,true)}},updateHeader:function(f){var g=this,h=g.header,i=g.title,j=g.tools;if(!g.preventHeader&&(f||i||(j&&j.length))){if(!h){h=g.header=Ext.create("Ext.panel.Header",{title:i,orientation:(g.headerPosition=="left"||g.headerPosition=="right")?"vertical":"horizontal",dock:g.headerPosition||"top",textCls:g.headerTextCls,iconCls:g.iconCls,baseCls:g.baseCls+"-header",tools:j,ui:g.ui,indicateDrag:g.draggable,border:g.border,frame:g.frame&&g.frameHeader,ignoreParentFrame:g.frame||g.overlapHeader,ignoreBorderManagement:g.frame||g.ignoreHeaderBorderManagement,listeners:g.collapsible&&g.titleCollapse?{click:g.toggleCollapse,scope:g}:null});g.addDocked(h,0);g.tools=h.tools}h.show();g.initHeaderAria()}else{if(h){h.hide()}}},setUI:function(c){var d=this;d.callParent(arguments);if(d.header){d.header.setUI(c)}},getContentTarget:function(){return this.body},getTargetEl:function(){return this.body||this.frameBody||this.el},isVisible:function(d){var c=this;if(c.collapsed&&c.placeholder){return c.placeholder.isVisible(d)}return c.callParent(arguments)},onHide:function(){var b=this;if(b.collapsed&&b.placeholder){b.placeholder.hide()}else{b.callParent(arguments)}},onShow:function(){var b=this;if(b.collapsed&&b.placeholder){b.hidden=true;b.placeholder.show()}else{b.callParent(arguments)}},addTool:function(e){var d=this,f=d.header;if(Ext.isArray(e)){Ext.each(e,d.addTool,d);return}d.tools.push(e);if(f){f.addTool(e)}d.updateHeader()},getOppositeDirection:function(d){var c=Ext.Component;switch(d){case c.DIRECTION_TOP:return c.DIRECTION_BOTTOM;case c.DIRECTION_RIGHT:return c.DIRECTION_LEFT;case c.DIRECTION_BOTTOM:return c.DIRECTION_TOP;case c.DIRECTION_LEFT:return c.DIRECTION_RIGHT}},collapse:function(w,J,H){var i=this,x=Ext.Component,G=i.getHeight(),F=i.getWidth(),c,N=0,A=i.dockedItems.items,z=A.length,B=0,y,I,C={from:{height:G,width:F},to:{height:G,width:F},listeners:{afteranimate:i.afterCollapse,scope:i},duration:Ext.Number.from(J,Ext.fx.Anim.prototype.duration)},K,L,E,M,D;if(!w){w=i.collapseDirection}if(H){J=false}else{if(i.collapsed||i.fireEvent("beforecollapse",i,w,J)===false){return false}}E=w;i.expandDirection=i.getOppositeDirection(w);i.hiddenDocked=[];switch(w){case x.DIRECTION_TOP:case x.DIRECTION_BOTTOM:L="horizontal";D="height";M="getHeight";for(;B<z;B++){y=A[B];if(y.isVisible()){if(y.isXType("header",true)&&(!y.dock||y.dock=="top"||y.dock=="bottom")){K=y}else{i.hiddenDocked.push(y)}}else{if(y===i.reExpander){K=y}}}if(w==Ext.Component.DIRECTION_BOTTOM){I=i.getPosition()[1]-Ext.fly(i.el.dom.offsetParent).getRegion().top;C.from.top=I}break;case x.DIRECTION_LEFT:case x.DIRECTION_RIGHT:L="vertical";D="width";M="getWidth";for(;B<z;B++){y=A[B];if(y.isVisible()){if(y.isHeader&&(y.dock=="left"||y.dock=="right")){K=y}else{i.hiddenDocked.push(y)}}else{if(y===i.reExpander){K=y}}}if(w==Ext.Component.DIRECTION_RIGHT){I=i.getPosition()[0]-Ext.fly(i.el.dom.offsetParent).getRegion().left;C.from.left=I}break;default:throw ("Panel collapse must be passed a valid Component collapse direction")}if(J&&i.collapseTool){i.collapseTool.disable()}i.addClsWithUI(i.collapsedCls);if(K&&K.rendered){K.addClsWithUI(i.collapsedCls);K.addClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){K.addClsWithUI(i.collapsedCls+"-border-"+K.dock)}c=K.getFrameInfo();N=K[M]()+(c?c[w]:0);K.removeClsWithUI(i.collapsedCls);K.removeClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){K.removeClsWithUI(i.collapsedCls+"-border-"+K.dock)}}else{K={hideMode:"offsets",temporary:true,title:i.title,orientation:L,dock:E,textCls:i.headerTextCls,iconCls:i.iconCls,baseCls:i.baseCls+"-header",ui:i.ui,frame:i.frame&&i.frameHeader,ignoreParentFrame:i.frame||i.overlapHeader,indicateDrag:i.draggable,cls:i.baseCls+"-collapsed-placeholder "+Ext.baseCSSPrefix+"docked "+i.baseCls+"-"+i.ui+"-collapsed",renderTo:i.el};if(!i.hideCollapseTool){K[(K.orientation=="horizontal")?"tools":"items"]=[{xtype:"tool",type:"expand-"+i.expandDirection,handler:i.toggleCollapse,scope:i}]}K=i.reExpander=Ext.create("Ext.panel.Header",K);N=K[M]()+((K.frame)?K.frameSize[w]:0);K.hide();i.insertDocked(0,K)}i.reExpander=K;i.reExpander.addClsWithUI(i.collapsedCls);i.reExpander.addClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){i.reExpander.addClsWithUI(i.collapsedCls+"-border-"+i.reExpander.dock)}if(w==Ext.Component.DIRECTION_RIGHT){C.to.left=I+(F-N)}else{if(w==Ext.Component.DIRECTION_BOTTOM){C.to.top=I+(G-N)}}C.to[D]=N;if(!i.collapseMemento){i.collapseMemento=new Ext.util.Memento(i)}i.collapseMemento.capture(["width","height","minWidth","minHeight","layoutManagedHeight","layoutManagedWidth"]);i.savedFlex=i.flex;i.minWidth=0;i.minHeight=0;delete i.flex;i.suspendLayout=true;if(J){i.animate(C)}else{i.setSize(C.to.width,C.to.height);if(Ext.isDefined(C.to.left)||Ext.isDefined(C.to.top)){i.setPosition(C.to.left,C.to.top)}i.afterCollapse(false,H)}return i},afterCollapse:function(h,f){var i=this,j=0,g=i.hiddenDocked.length;i.collapseMemento.restore(["minWidth","minHeight"]);if(Ext.Component.VERTICAL_DIRECTION_Re.test(i.expandDirection)){i.layoutManagedHeight=2;i.collapseMemento.restore("width",false)}else{i.layoutManagedWidth=2;i.collapseMemento.restore("height",false)}i.saveScrollTop=i.body.dom.scrollTop;i.body.setStyle("display","none");for(;j<g;j++){i.hiddenDocked[j].hide()}if(i.reExpander){i.reExpander.updateFrame();i.reExpander.show()}i.collapsed=true;i.suspendLayout=false;if(!f){if(i.ownerCt){if(h){i.ownerCt.layout.layout()}}else{if(i.reExpander.temporary){i.doComponentLayout()}}}if(i.resizer){i.resizer.disable()}if(i.collapseTool){i.collapseTool.setType("expand-"+i.expandDirection)}if(!f){i.fireEvent("collapse",i)}if(h&&i.collapseTool){i.collapseTool.enable()}},expand:function(q){var m=this;if(!m.collapsed||m.fireEvent("beforeexpand",m,q)===false){return false}var n=0,p=m.hiddenDocked.length,k=m.expandDirection,i=m.getHeight(),r=m.getWidth(),l,o;if(q&&m.collapseTool){m.collapseTool.disable()}for(;n<p;n++){m.hiddenDocked[n].hidden=false;m.hiddenDocked[n].el.show()}if(m.reExpander){if(m.reExpander.temporary){m.reExpander.hide()}else{m.reExpander.removeClsWithUI(m.collapsedCls);m.reExpander.removeClsWithUI(m.collapsedCls+"-"+m.reExpander.dock);if(m.border&&(!m.frame||(m.frame&&Ext.supports.CSS3BorderRadius))){m.reExpander.removeClsWithUI(m.collapsedCls+"-border-"+m.reExpander.dock)}m.reExpander.updateFrame()}}if(m.collapseTool){m.collapseTool.setType("collapse-"+m.collapseDirection)}m.body.setStyle("display","");m.body.dom.scrollTop=m.saveScrollTop;m.collapsed=false;m.removeClsWithUI(m.collapsedCls);o={to:{},from:{height:i,width:r},listeners:{afteranimate:m.afterExpand,scope:m}};if((k==Ext.Component.DIRECTION_TOP)||(k==Ext.Component.DIRECTION_BOTTOM)){m.collapseMemento.restore("height",false);if(m.height===undefined){m.setCalculatedSize(m.width,null);o.to.height=m.getHeight();m.setCalculatedSize(m.width,o.from.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.height=m.ownerCt.layout.calculateChildBox(m).height;delete m.flex}else{o.to.height=m.height}}if(k==Ext.Component.DIRECTION_TOP){l=m.getPosition()[1]-Ext.fly(m.el.dom.offsetParent).getRegion().top;o.from.top=l;o.to.top=l-(o.to.height-i)}}else{if((k==Ext.Component.DIRECTION_LEFT)||(k==Ext.Component.DIRECTION_RIGHT)){m.collapseMemento.restore("width",false);if(m.width===undefined){m.setCalculatedSize(null,m.height);o.to.width=m.getWidth();m.setCalculatedSize(o.from.width,m.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.width=m.ownerCt.layout.calculateChildBox(m).width;delete m.flex}else{o.to.width=m.width}}if(k==Ext.Component.DIRECTION_LEFT){l=m.getPosition()[0]-Ext.fly(m.el.dom.offsetParent).getRegion().left;o.from.left=l;o.to.left=l-(o.to.width-r)}}}if(q){m.animate(o)}else{m.setCalculatedSize(o.to.width,o.to.height);if(o.to.x){m.setLeft(o.to.x)}if(o.to.y){m.setTop(o.to.y)}m.afterExpand(false)}return m},afterExpand:function(c){var d=this;if(d.savedFlex){d.flex=d.savedFlex;delete d.savedFlex;delete d.width;delete d.height}if(d.collapseMemento){d.collapseMemento.restoreAll()}if(c&&d.ownerCt){Ext.defer(d.ownerCt.doLayout,Ext.isIE6?1:0,d)}if(d.resizer){d.resizer.enable()}d.fireEvent("expand",d);if(c&&d.collapseTool){d.collapseTool.enable()}},toggleCollapse:function(){if(this.collapsed){this.expand(this.animCollapse)}else{this.collapse(this.collapseDirection,this.animCollapse)}return this},getKeyMap:function(){if(!this.keyMap){this.keyMap=Ext.create("Ext.util.KeyMap",this.el,this.keys)}return this.keyMap},initDraggable:function(){this.dd=Ext.create("Ext.panel.DD",this,Ext.isBoolean(this.draggable)?null:this.draggable)},ghostTools:function(){var c=[],d=this.header.query("tool[hidden=false]");if(d.length){Ext.each(d,function(a){c.push({type:a.type})})}else{c=[{type:"placeholder"}]}return c},ghost:function(g){var i=this,f=i.ghostPanel,j=i.getBox(),h;if(!f){f=Ext.create("Ext.panel.Panel",{renderTo:i.floating?i.el.dom.parentNode:document.body,floating:{shadow:false},frame:Ext.supports.CSS3BorderRadius?i.frame:false,overlapHeader:i.overlapHeader,headerPosition:i.headerPosition,baseCls:i.baseCls,cls:i.baseCls+"-ghost "+(g||"")});i.ghostPanel=f}f.floatParent=i.floatParent;if(i.floating){f.setZIndex(Ext.Number.from(i.el.getStyle("zIndex"),0))}else{f.toFront()}h=f.header;if(h){h.suspendLayout=true;Ext.Array.forEach(h.query("tool"),function(a){h.remove(a)});h.suspendLayout=false}f.addTool(i.ghostTools());f.setTitle(i.title);f.setIconCls(i.iconCls);f.el.show();f.setPosition(j.x,j.y);f.setSize(j.width,j.height);i.el.hide();if(i.floatingItems){i.floatingItems.hide()}return f},unghost:function(d,e){var f=this;if(!f.ghostPanel){return}if(d!==false){f.el.show();if(e!==false){f.setPosition(f.ghostPanel.getPosition())}if(f.floatingItems){f.floatingItems.show()}Ext.defer(f.focus,10,f)}f.ghostPanel.el.hide()},initResizable:function(b){if(this.collapsed){b.disabled=true}this.callParent([b])}},function(){this.prototype.animCollapse=Ext.enableFx});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:"x-tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:true,initComponent:function(){var f=this,d=f.dockedItems||[],e=f.activeTab||0;f.layout=Ext.create("Ext.layout.container.Card",Ext.apply({owner:f,deferredRender:f.deferredRender,itemCls:f.itemCls},f.layout));f.tabBar=Ext.create("Ext.tab.Bar",Ext.apply({},f.tabBar,{dock:f.tabPosition,plain:f.plain,border:f.border,cardLayout:f.layout,tabPanel:f}));if(d&&!Ext.isArray(d)){d=[d]}d.push(f.tabBar);f.dockedItems=d;f.addEvents("beforetabchange","tabchange");f.callParent(arguments);f.setActiveTab(e);f.on("afterlayout",f.afterInitialLayout,f,{single:true})},afterInitialLayout:function(){var c=this,d=c.getComponent(c.activeTab);if(d){c.layout.setActiveItem(d)}},setActiveTab:function(e){var f=this,d;e=f.getComponent(e);if(e){d=f.getActiveTab();if(d&&d!==e&&f.fireEvent("beforetabchange",f,e,d)===false){return false}f.tabBar.setActiveTab(e.tab);f.activeTab=e;if(f.rendered){f.layout.setActiveItem(e)}if(d&&d!==e){f.fireEvent("tabchange",f,e,d)}}},getActiveTab:function(){return this.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(h,j){var i=this,f=h.tabConfig||{},g={xtype:"tab",card:h,disabled:h.disabled,closable:h.closable,hidden:h.hidden,tabBar:i.tabBar};if(h.closeText){g.closeText=h.closeText}f=Ext.applyIf(f,g);h.tab=i.tabBar.insert(j,f);h.on({scope:i,enable:i.onItemEnable,disable:i.onItemDisable,beforeshow:i.onItemBeforeShow,iconchange:i.onItemIconChange,titlechange:i.onItemTitleChange});if(h.isPanel){if(i.removePanelHeader){h.preventHeader=true;if(h.rendered){h.updateHeader()}}if(h.isPanel&&i.border){h.setBorder(false)}}if(this.rendered&&i.items.getCount()===1){i.setActiveTab(0)}},onItemEnable:function(b){b.tab.enable()},onItemDisable:function(b){b.tab.disable()},onItemBeforeShow:function(b){if(b!==this.activeTab){this.setActiveTab(b);return false}},onItemIconChange:function(c,d){c.tab.setIconCls(d);this.getTabBar().doLayout()},onItemTitleChange:function(d,c){d.tab.setText(c);this.getTabBar().doLayout()},doRemove:function(i,f){var j=this,g=j.items,h=g.getCount()>1;if(j.destroying||!h){j.activeTab=null}else{if(i===j.activeTab){j.setActiveTab(i.next()||g.getAt(0))}}j.callParent(arguments);delete i.tab.card;delete i.tab},onRemove:function(f,e){var d=this;f.un({scope:d,enable:d.onItemEnable,disable:d.onItemDisable,beforeshow:d.onItemBeforeShow});if(!d.destroying&&f.tab.ownerCt==d.tabBar){d.tabBar.remove(f.tab)}}});Ext.define("Docs.view.examples.TouchContainer",{extend:"Ext.panel.Panel",alias:"widget.touchexamplecontainer",requires:["Docs.view.examples.Device"],layout:"fit",cls:"example-container iScroll",autoScroll:true,bodyPadding:"10 0 5 0",initComponent:function(){this.dockedItems=[{xtype:"container",dock:"top",html:['<h1 class="example-title">Example</h1>','<div class="cls-grouping example-toolbar">','<div class="devices">','<button class="phone selected">Phone</button>','<button class="tablet">Tablet</button>',"</div>",'<span class="separator">&nbsp;</span>','<div class="orientations">','<button class="landscape selected">Landscape</button>','<button class="portrait">Portrait</button>',"<div>",'<span class="separator">&nbsp;</span>',"<div>",'<button class="new-window">Open in new window</button>',"<div>","</div>"].join("")}];this.callParent(arguments)},load:function(b){this.title=b.title+" Example";this.device=Ext.create("Docs.view.examples.Device",{url:b.url,device:b.device||"phone",orientation:b.orientation||"landscape"});this.refresh()},refresh:function(){this.update(this.device.toHtml());this.updateScale();this.updateTitle();this.updateButtons()},setDevice:function(b){this.device.setDevice(b);this.refresh()},setOrientation:function(b){this.device.setOrientation(b);this.refresh()},updateScale:function(){var b=Ext.query("iframe",this.el.dom)[0];if(b){b.onload=Ext.Function.bind(function(){var d=document.createElement("style");var a="html { overflow: hidden }";if(this.device.getDevice()==="tablet"){a+="body { font-size: 79.8% !important; }"}d.innerHTML=a;b.contentWindow.document.body.appendChild(d)},this)}},updateTitle:function(){Ext.get(Ext.query(".example-title")).update(this.title)},updateButtons:function(){Ext.Array.each(Ext.query(".example-toolbar .orientations button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .orientations button."+this.device.getOrientation())).addCls("selected");Ext.Array.each(Ext.query(".example-toolbar .devices button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .devices button."+this.device.getDevice())).addCls("selected")},clear:function(){this.update("")}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:120,initComponent:function(){var e=this,g=Ext.baseCSSPrefix,f=[g+"menu"],h=e.bodyCls?[e.bodyCls]:[];e.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(e);if(e.plain){f.push(g+"menu-plain")}e.cls=f.join(" ");h.unshift(g+"menu-body");e.bodyCls=h.join(" ");e.layout={type:"vbox",align:"stretchmax",autoSize:true,clearInnerCtOnLayout:true,overflowHandler:"Scroller"};if(e.floating===false&&e.initialConfig.hidden!==true){e.hidden=false}e.callParent(arguments);e.on("beforeshow",function(){var a=!!e.items.length;if(a&&e.rendered){e.el.setStyle("visibility",null)}return a})},afterRender:function(f){var e=this,g=Ext.baseCSSPrefix,h="&#160;";e.callParent(arguments);if(e.showSeparator){e.iconSepEl=e.layout.getRenderTarget().insertFirst({cls:g+"menu-icon-separator",html:h})}e.focusEl=e.el.createChild({cls:g+"menu-focus",tabIndex:"-1",html:h});e.mon(e.el,{click:e.onClick,mouseover:e.onMouseOver,scope:e});e.mouseMonitor=e.el.monitorMouseLeave(100,e.onMouseLeave,e);if(e.showSeparator&&((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)){e.iconSepEl.setHeight(e.el.getHeight())}e.keyNav=Ext.create("Ext.menu.KeyNav",e)},afterLayout:function(){var i=this;i.callParent(arguments);if((!Ext.isStrict&&Ext.isIE)||Ext.isIE6){var r=i.layout.getRenderTarget(),p=0,q=i.dockedItems,o=q.length,m=0,l,k,n;p=r.getWidth();n=p+i.body.getBorderWidth("lr")+i.body.getPadding("lr");i.body.setWidth(n);for(;m<o,l=q.getAt(m);m++){if(l.dock=="left"||l.dock=="right"){n+=l.getWidth()}}i.el.setWidth(n)}},getBubbleTarget:function(){return this.parentMenu||this.callParent()},canActivateItem:function(b){return b&&!b.isDisabled()&&b.isVisible()&&(b.canActivate||b.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(){var b=this;if(b.activeItem){b.activeItem.deactivate();if(!b.activeItem.activated){delete b.activeItem}}if(b.focusedItem&&!b.filtered){b.focusedItem.blur();if(!b.focusedItem.$focused){delete b.focusedItem}}},clearStretch:function(){if(this.rendered){this.items.each(function(b){if(b.componentLayout){delete b.componentLayout.lastComponentSize}if(b.el){b.el.setWidth(null)}})}},onAdd:function(){var b=this;b.clearStretch();b.callParent(arguments);if(Ext.isIE6||Ext.isIE7){Ext.Function.defer(b.doComponentLayout,10,b)}},onRemove:function(){this.clearStretch();this.callParent(arguments)},redoComponentLayout:function(){if(this.rendered){this.clearStretch();this.doComponentLayout()}},getFocusEl:function(){return this.focusEl},hide:function(){this.deactivateActiveItem();this.callParent(arguments)},getItemFromEvent:function(b){return this.getChildByElement(b.getTarget())},lookupComponent:function(c){var d=this;if(Ext.isString(c)){c=d.lookupItemFromString(c)}else{if(Ext.isObject(c)){c=d.lookupItemFromObject(c)}}c.minWidth=c.minWidth||d.minWidth;return c},lookupItemFromObject:function(j){var f=this,i=Ext.baseCSSPrefix,g,h;if(!j.isComponent){if(!j.xtype){j=Ext.create("Ext.menu."+(Ext.isBoolean(j.checked)?"Check":"")+"Item",j)}else{j=Ext.ComponentManager.create(j,j.xtype)}}if(j.isMenuItem){j.parentMenu=f}if(!j.isMenuItem&&!j.dock){g=[i+"menu-item",i+"menu-item-cmp"];h=Ext.Function.createInterceptor;j.focus=h(j.focus,function(){this.$focused=true},j);j.blur=h(j.blur,function(){this.$focused=false},j);if(!f.plain&&(j.indent===true||j.iconCls==="no-icon")){g.push(i+"menu-item-indent")}if(j.rendered){j.el.addCls(g)}else{j.cls=(j.cls?j.cls:"")+" "+g.join(" ")}j.isMenuItem=true}return j},lookupItemFromString:function(b){return(b=="separator"||b=="-")?Ext.createWidget("menuseparator"):Ext.createWidget("menuitem",{canActivate:false,hideOnClick:false,plain:true,text:b})},onClick:function(f){var d=this,e;if(d.disabled){f.stopEvent();return}if((f.getTarget()==d.focusEl.dom)||f.within(d.layout.getRenderTarget())){e=d.getItemFromEvent(f)||d.activeItem;if(e){if(e.getXTypes().indexOf("menuitem")>=0){if(!e.menu||!d.ignoreParentClicks){e.onClick(f)}else{f.stopEvent()}}}d.fireEvent("click",d,e,f)}},onDestroy:function(){var b=this;Ext.menu.Manager.unregister(b);if(b.rendered){b.el.un(b.mouseMonitor);b.keyNav.destroy();delete b.keyNav}b.callParent(arguments)},onMouseLeave:function(c){var d=this;d.deactivateActiveItem();if(d.disabled){return}d.fireEvent("mouseleave",d,c)},onMouseOver:function(i){var j=this,h=i.getRelatedTarget(),g=!j.el.contains(h),e=j.getItemFromEvent(i);if(g&&j.parentMenu){j.parentMenu.setActiveItem(j.parentItem);j.parentMenu.mouseMonitor.mouseenter()}if(j.disabled){return}if(e){j.setActiveItem(e);if(e.activated&&e.expandMenu){e.expandMenu()}}if(g){j.fireEvent("mouseenter",j,i)}j.fireEvent("mouseover",j,e,i)},setActiveItem:function(c){var d=this;if(c&&(c!=d.activeItem&&c!=d.focusedItem)){d.deactivateActiveItem();if(d.canActivateItem(c)){if(c.activate){c.activate();if(c.activated){d.activeItem=c;d.focusedItem=c;d.focus()}}else{c.focus();d.focusedItem=c}}c.el.scrollIntoView(d.layout.getRenderTarget())}},showBy:function(g,i,j){var h=this,k,l;if(h.floating&&g){h.layout.autoSize=true;h.doAutoRender();delete h.needsLayout;g=g.el||g;k=h.el.getAlignToXY(g,i||h.defaultAlign,j);if(h.floatParent){l=h.floatParent.getTargetEl().getViewRegion();k[0]-=l.x;k[1]-=l.y}h.showAt(k)}return h},doConstrain:function(){var o=this,n=o.el.getY(),m,p,s,l=n,k,q,t,r;delete o.height;o.setSize();p=o.getHeight();if(o.floating){q=Ext.fly(o.el.getScopeParent());t=q.getScroll().top;r=q.getViewSize().height;k=n-t;m=o.maxHeight?o.maxHeight:r-k;if(p>r){m=r;l=n-k}else{if(m<p){l=n-(p-m);m=p}}}else{m=o.getHeight()}if(o.maxHeight){m=Math.min(o.maxHeight,m)}if(p>m&&m>0){o.layout.autoSize=false;o.setHeight(m);if(o.showSeparator){o.iconSepEl.setHeight(o.layout.getRenderTarget().dom.scrollHeight)}}s=o.getConstrainVector(o.el.getScopeParent());if(s){o.setPosition(o.getPosition()[0]+s[0])}o.el.setY(l)}});Ext.define("Docs.view.TabMenu",{extend:"Ext.menu.Menu",plain:true,componentCls:"tab-menu",initComponent:function(){this.addEvents("tabItemClick","closeAllTabs");this.items=[{text:"Close all tabs",iconCls:"close",cls:"close-all",handler:function(){this.fireEvent("closeAllTabs")},scope:this}];this.callParent()},addTab:function(c,d){this.insert(this.items.length-1,{text:c.text,iconCls:c.iconCls,origIcon:c.iconCls,href:c.href,cls:d,handler:this.onTabItemClick,scope:this})},onTabItemClick:function(b){this.fireEvent("tabItemClick",b)},addTabCls:function(c,d){this.items.each(function(a){if(a.href===c.href){a.addCls(d)}})}});Ext.define("Docs.view.Tabs",{extend:"Ext.container.Container",alias:"widget.doctabs",id:"doctabs",componentCls:"doctabs",requires:["Docs.History","Docs.view.TabMenu"],minTabWidth:80,maxTabWidth:160,animDuration:150,tabs:[],tabsInBar:[],tabCache:{},staticTabs:[],initComponent:function(){this.addEvents("tabActivate","tabClose");this.tpl=Ext.create("Ext.XTemplate",'<tpl for=".">','<div class="doctab overview {cls}{active}">','<div class="l"></div>','<div class="m"><a class="tabUrl" href="{href}">&nbsp;</a></div>','<div class="r"></div>',"</div>","</tpl>",'<div style="float: left; width: 8px">&nbsp;</div>','<div class="tab-overflow"></div>');this.html=this.tpl.applyTemplate(this.staticTabs);this.tabTpl=Ext.create("Ext.XTemplate",'<div class="doctab','{[values.active ? (" active") : ""]}','" style="','{[values.width ? ("width: " + values.width + "px;") : ""]}','{[values.visible ? "" : "visibility: hidden;"]}">','<div class="l"></div>','<div class="m">','<span class="icn {iconCls}">&nbsp;</span>','<a class="tabUrl" href="{href}">{text}</a>',"</div>",'<div class="r"><a class="close" href="#">&nbsp;</a></div>',"</div>");this.on("afterrender",this.initListeners,this);this.on("resize",this.refresh,this);this.callParent()},initListeners:function(){this.el.on("mouseover",function(c,d){Ext.get(d).addCls("ovr")},this,{delegate:".close"});this.el.on("mouseout",function(c,d){Ext.get(d).removeCls("ovr")},this,{delegate:".close"});this.el.on("click",function(f,d){var e=Ext.get(d).up(".doctab").down(".tabUrl").getAttribute("href");e=Docs.History.cleanUrl(e);this.removeTab(e);this.fireEvent("tabClose",e)},this,{delegate:".close",preventDefault:true});this.el.on("click",function(f,d){if(Ext.fly(f.getTarget()).hasCls("close")){return}var e=Ext.get(d).down(".tabUrl").getAttribute("href");this.fireEvent("tabActivate",e,{navigate:true})},this,{delegate:".doctab"});this.el.on("contextmenu",function(c,d){if(!Ext.get(d).hasCls("overview")){this.createMenu().showBy(d)}},this,{delegate:".doctab",preventDefault:true});this.el.on("click",Ext.emptyFn,this,{delegate:".tabUrl",preventDefault:true});this.el.on("mouseleave",function(){if(this.shouldResize){this.resizeTabs({animate:true})}},this)},setStaticTabs:function(b){this.staticTabs=b;this.refresh()},getStaticTabs:function(b){return this.staticTabs},addTab:function(d,c){this.tabCache[d.href]=d;if(!this.hasTab(d.href)){this.tabs.push(d.href);if(this.roomForNewTab()){this.addTabToBar(d,c)}this.addTabToMenu(this.overflowButton.menu,d)}if(c.activate){this.activateTab(d.href)}this.saveTabs()},removeTab:function(d){if(!this.hasTab(d)){return}this.removeFromArray(this.tabs,d);var e=this.removeFromArray(this.tabsInBar,d);var f=this.tabs[this.tabsInBar.length];if(f){this.tabsInBar.push(f)}if(this.activeTab===d){if(this.tabs.length===0){Docs.App.getController(this.getControllerName(d)).loadIndex()}else{if(e===this.tabs.length){e-=1}this.activateTab(this.tabs[e]);this.fireEvent("tabActivate",this.tabs[e])}}if(this.tabs.length>=this.maxTabsInBar()){this.refresh()}else{this.removeTabFromBar(d)}this.saveTabs()},removeFromArray:function(f,d){var e=Ext.Array.indexOf(f,d);if(e!==-1){Ext.Array.erase(f,e,1)}return e},activateTab:function(d){this.activeTab=d;if(!this.inTabs(d)){this.swapLastTabWith(d)}Ext.Array.each(Ext.query(".doctab a[class=tabUrl]"),function(a){Ext.get(a).up(".doctab").removeCls(["active","highlight"])});var e=Ext.query('.doctab a[href="'+d+'"]')[0];if(e){var f=Ext.get(e).up(".doctab");f.addCls("active")}this.highlightOverviewTab(d)},refresh:function(){var i=this.tpl.applyTemplate(this.staticTabs);var f=this.maxTabsInBar()<this.tabs.length?this.maxTabsInBar():this.tabs.length;this.tabsInBar=this.tabs.slice(0,f);for(var j=0;j<f;j++){var h=this.tabCache[this.tabs[j]];var g=Ext.apply(h,{visible:true,active:this.activeTab===h.href,width:this.tabWidth()});i+=this.tabTpl.applyTemplate(g)}this.el.dom.innerHTML=i;if(this.activeTab&&this.activeTab!==this.tabs[f-1]){this.activateTab(this.activeTab);this.fireEvent("tabActivate",this.activeTab)}this.highlightOverviewTab(this.activeTab);this.createOverflowButton();this.addToolTips()},closeAllTabs:function(){if(this.inTabBar(this.activeTab)){this.tabs=this.tabsInBar=[this.activeTab]}else{this.tabs=this.tabsInBar=[]}this.refresh();this.saveTabs()},tabData:function(){return Ext.Array.map(this.tabs,function(b){return this.tabCache[b]},this)},roomForNewTab:function(){return this.tabsInBar.length<this.maxTabsInBar()},hasTab:function(b){return Ext.Array.contains(this.tabs,b)},addTabToBar:function(e,d){this.tabsInBar.push(e.href);var f=Ext.get(this.tabTpl.append(this.el.dom,e));if(d.animate&&!Ext.isIE){f.setStyle("width","10px");f.setStyle({visibility:"visible"});f.animate({to:{width:this.tabWidth()}})}else{f.setStyle({visibility:"visible"})}this.resizeTabs(d)},inTabBar:function(b){return Ext.Array.contains(this.tabsInBar,b)},inTabs:function(d){var c=Ext.Array.pluck(this.staticTabs,"href").concat(this.tabsInBar);return Ext.Array.contains(c,d)},removeTabFromBar:function(d){var c=this.getTabEl(d);c.dom.removed=true;if(Ext.isIE){c.remove();this.createOverflowButton()}else{c.animate({to:{top:30},duration:this.animDuration}).animate({to:{width:10},duration:this.animDuration,listeners:{afteranimate:function(){c.remove();this.shouldResize=true;this.createOverflowButton()},scope:this}})}},swapLastTabWith:function(d){var e=this.getTabEl(this.tabsInBar[this.tabsInBar.length-1]);if(e){var f=this.tabTpl.append(document.body,this.tabCache[d]);e.dom.parentNode.replaceChild(f,e.dom);this.tabsInBar[this.tabsInBar.length-1]=d;Ext.get(f).setStyle({visibility:"visible",width:String(this.tabWidth())+"px"})}},highlightOverviewTab:function(d){var c=Ext.query(".doctab."+this.getControllerName(d).toLowerCase());if(c&&c[0]){Ext.get(c[0]).addCls("highlight")}},maxTabsInBar:function(){return Math.floor(this.tabBarWidth()/this.minTabWidth)},tabWidth:function(){var b=Math.floor(this.tabBarWidth()/this.tabsInBar.length)+6;if(b>this.maxTabWidth){return this.maxTabWidth}else{if(b<this.minTabWidth){return this.minTabWidth}else{return b}}},tabBarWidth:function(){return this.getWidth()-(this.staticTabs.length*50)-15},resizeTabs:function(b){this.shouldResize=false;Ext.Array.each(Ext.query(".doctab"),function(a){var d=Ext.get(a);if(!d.dom.removed&&!d.hasCls("overview")){if(b&&b.animate&&!Ext.isIE){d.animate({to:{width:this.tabWidth()}})}else{d.setWidth(this.tabWidth())}}},this)},getTabEl:function(c){var d=Ext.query('.doctab a[href="'+c+'"]');if(d&&d[0]){return Ext.get(d[0]).up(".doctab")}},createOverflowButton:function(){if(this.overflowButton){this.overflowButton.destroy()}this.overflowButton=Ext.create("Ext.button.Button",{baseCls:"",renderTo:this.getEl().down(".tab-overflow"),menu:this.createMenu()})},createMenu:function(){var b=new Docs.view.TabMenu({listeners:{closeAllTabs:this.closeAllTabs,tabItemClick:function(a){this.fireEvent("tabActivate",a.href,{navigate:true})},scope:this}});Ext.Array.each(this.tabs,function(a){this.addTabToMenu(b,this.tabCache[a])},this);return b},addTabToMenu:function(g,h){var f=Ext.Array.indexOf(this.tabs,h.href);if(this.tabs.length>this.tabsInBar.length&&f===this.maxTabsInBar()){g.addTabCls(h,"overflow")}var e=this.inTabBar(h.href);g.addTab(h,e?"":"overflow")},addToolTips:function(){Ext.Array.each(this.staticTabs,function(c){var d=Ext.get(Ext.query(".doctab."+c.cls)[0]);if(d){Ext.create("Ext.tip.ToolTip",{target:d,html:c.tooltip})}})},saveTabs:function(){Docs.Settings.set("tabs",this.tabs)},getControllerName:function(b){if(/#!?\/api/.test(b)){return"Classes"}else{if(/#!?\/guide/.test(b)){return"Guides"}else{if(/#!?\/video/.test(b)){return"Videos"}else{if(/#!?\/example/.test(b)){return"Examples"}else{if(/#!?\/stats/.test(b)){return"Stats"}else{if(/#!?\/comment/.test(b)){return"Comments"}else{return"Index"}}}}}}}});Ext.define("Ext.panel.Table",{extend:"Ext.panel.Panel",alias:"widget.tablepanel",uses:["Ext.selection.RowModel","Ext.grid.Scroller","Ext.grid.header.Container","Ext.grid.Lockable"],extraBaseCls:Ext.baseCSSPrefix+"grid",extraBodyCls:Ext.baseCSSPrefix+"grid-body",layout:"fit",hasView:false,viewType:null,selType:"rowmodel",scrollDelta:40,scroll:true,deferRowRender:true,sortableColumns:true,enableLocking:false,verticalScrollDock:"right",verticalScrollerType:"gridscroller",horizontalScrollerPresentCls:Ext.baseCSSPrefix+"horizontal-scroller-present",verticalScrollerPresentCls:Ext.baseCSSPrefix+"vertical-scroller-present",scrollerOwner:true,invalidateScrollerOnRefresh:true,enableColumnMove:true,enableColumnResize:true,enableColumnHide:true,initComponent:function(){if(!this.viewType){Ext.Error.raise("You must specify a viewType config.")}if(this.headers){Ext.Error.raise("The headers config is not supported. Please specify columns instead.")}var l=this,j=l.scroll,o=false,p=false,k=l.columns||l.colModel,m=0,i,n=l.border;if(l.hideHeaders){n=false}l.store=Ext.data.StoreManager.lookup(l.store||"ext-empty-store");if(k instanceof Ext.grid.header.Container){l.headerCt=k;l.headerCt.border=n;l.columns=l.headerCt.items.items}else{if(Ext.isArray(k)){k={items:k,border:n}}Ext.apply(k,{forceFit:l.forceFit,sortable:l.sortableColumns,enableColumnMove:l.enableColumnMove,enableColumnResize:l.enableColumnResize,enableColumnHide:l.enableColumnHide,border:n});l.columns=k.items;if(l.enableLocking||Ext.ComponentQuery.query("{locked !== undefined}{processed != true}",l.columns).length){l.self.mixin("lockable",Ext.grid.Lockable);l.injectLockable()}}l.addEvents("reconfigure","viewready","scrollerhide","scrollershow");l.bodyCls=l.bodyCls||"";l.bodyCls+=(" "+l.extraBodyCls);l.cls=l.cls||"";l.cls+=(" "+l.extraBaseCls);delete l.autoScroll;if(!l.hasView){if(!l.headerCt){l.headerCt=Ext.create("Ext.grid.header.Container",k)}l.columns=l.headerCt.items.items;if(l.hideHeaders){l.headerCt.height=0;l.headerCt.border=false;l.headerCt.addCls(Ext.baseCSSPrefix+"grid-header-ct-hidden");l.addCls(Ext.baseCSSPrefix+"grid-header-hidden");if(Ext.isIEQuirks){l.headerCt.style={display:"none"}}}if(j===true||j==="both"){o=p=true}else{if(j==="horizontal"){p=true}else{if(j==="vertical"){o=true}else{l.headerCt.availableSpaceOffset=0}}}if(o){l.verticalScroller=Ext.ComponentManager.create(l.initVerticalScroller());l.mon(l.verticalScroller,{bodyscroll:l.onVerticalScroll,scope:l})}if(p){l.horizontalScroller=Ext.ComponentManager.create(l.initHorizontalScroller());l.mon(l.horizontalScroller,{bodyscroll:l.onHorizontalScroll,scope:l})}l.headerCt.on("resize",l.onHeaderResize,l);l.relayHeaderCtEvents(l.headerCt);l.features=l.features||[];if(!Ext.isArray(l.features)){l.features=[l.features]}l.dockedItems=l.dockedItems||[];l.dockedItems.unshift(l.headerCt);l.viewConfig=l.viewConfig||{};l.viewConfig.invalidateScrollerOnRefresh=l.invalidateScrollerOnRefresh;i=l.getView();i.on({afterrender:function(){i.el.scroll=Ext.Function.bind(l.elScroll,l);l.mon(i.el,{mousewheel:l.onMouseWheel,scope:l})},single:true});l.items=[i];l.hasView=true;l.mon(i.store,{load:l.onStoreLoad,scope:l});l.mon(i,{viewReady:l.onViewReady,resize:l.onViewResize,refresh:{fn:l.onViewRefresh,scope:l,buffer:50},scope:l});this.relayEvents(i,["beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","selectionchange","beforeselect","select","beforedeselect","deselect"])}l.callParent(arguments)},onRender:function(){var d=this.verticalScroller,c=this.horizontalScroller;if(d){d.ensureDimension()}if(c){c.ensureDimension()}this.callParent(arguments)},initStateEvents:function(){var b=this.stateEvents;Ext.each(["columnresize","columnmove","columnhide","columnshow","sortchange"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},initHorizontalScroller:function(){var c=this,d={xtype:"gridscroller",dock:"bottom",section:c,store:c.store};return d},initVerticalScroller:function(){var c=this,d=c.verticalScroller||{};Ext.applyIf(d,{xtype:c.verticalScrollerType,dock:c.verticalScrollDock,store:c.store});return d},relayHeaderCtEvents:function(b){this.relayEvents(b,["columnresize","columnmove","columnhide","columnshow","sortchange"])},getState:function(){var e=this,d=e.callParent(),f=e.store.sorters.first();d.columns=(e.headerCt||e).getColumnsState();if(f){d.sort={property:f.property,direction:f.direction}}return d},applyState:function(i){var j=this,h=i.sort,g=j.store,f=i.columns;delete i.columns;j.callParent(arguments);if(f){(j.headerCt||j).applyColumnsState(f)}if(h){if(g.remoteSort){g.sorters.add(Ext.create("Ext.util.Sorter",{property:h.property,direction:h.direction}))}else{g.sort(h.property,h.direction)}}},getStore:function(){return this.store},getView:function(){var d=this,c;if(!d.view){c=d.getSelectionModel();d.view=d.createComponent(Ext.apply({},d.viewConfig,{deferInitialRefresh:d.deferRowRender,xtype:d.viewType,store:d.store,headerCt:d.headerCt,selModel:c,features:d.features,panel:d}));d.mon(d.view,{uievent:d.processEvent,scope:d});c.view=d.view;d.headerCt.view=d.view;d.relayEvents(d.view,["cellclick","celldblclick"])}return d.view},setAutoScroll:Ext.emptyFn,elScroll:function(i,h,f){var j=this,g;if(i==="up"||i==="left"){h=-h}if(i==="down"||i==="up"){g=j.getVerticalScroller();if(g){g.scrollByDeltaY(h)}}else{g=j.getHorizontalScroller();if(g){g.scrollByDeltaX(h)}}},processEvent:function(n,e,j,p,o,l){var m=this,k;if(o!==-1){k=m.headerCt.getGridColumns()[o];return k.processEvent.apply(k,arguments)}},determineScrollbars:function(){if(this.determineScrollbarsRunning){return}this.determineScrollbarsRunning=true;var q=this,p=q.view,u,x,t,o,m,s,r=q.verticalScroller,v=q.horizontalScroller,n=(r&&r.ownerCt===q?1:0)|(v&&v.ownerCt===q?2:0),w=0;if(!q.collapsed&&p&&p.viewReady){u=p.el.getSize();o=u.width+((n&1)?r.width:0);s=u.height+((n&2)?v.height:0);t=(q.headerCt.query("[flex]").length&&!q.headerCt.layout.tooNarrow)?0:q.headerCt.getFullWidth();if(r&&r.el){m=r.getSizeCalculation().height}else{x=p.el.child("table",true);m=x?x.offsetHeight:0}if(m>s){w=1;if(v&&((o-t)<r.width)){w=3}}else{if(t>o){w=2;if(r&&((s-m)<v.height)){w=3}}}if(w!==n){q.suspendLayout=true;if(w&1){q.showVerticalScroller()}else{q.hideVerticalScroller()}if(w&2){q.showHorizontalScroller()}else{q.hideHorizontalScroller()}q.suspendLayout=false;q.doComponentLayout();q.getLayout().layout()}}delete q.determineScrollbarsRunning},onViewResize:function(){this.determineScrollbars()},afterComponentLayout:function(){this.callParent(arguments);this.determineScrollbars();this.invalidateScroller()},onHeaderResize:function(){if(!this.componentLayout.layoutBusy&&this.view&&this.view.rendered){this.determineScrollbars();this.invalidateScroller()}},afterCollapse:function(){var b=this;if(b.verticalScroller){b.verticalScroller.saveScrollPos()}if(b.horizontalScroller){b.horizontalScroller.saveScrollPos()}b.callParent(arguments)},afterExpand:function(){var b=this;b.callParent(arguments);if(b.verticalScroller){b.verticalScroller.restoreScrollPos()}if(b.horizontalScroller){b.horizontalScroller.restoreScrollPos()}},hideHorizontalScroller:function(){var b=this;if(b.horizontalScroller&&b.horizontalScroller.ownerCt===b){b.verticalScroller.setReservedSpace(0);b.removeDocked(b.horizontalScroller,false);b.removeCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollerhide",b.horizontalScroller,"horizontal")}},showHorizontalScroller:function(){var b=this;if(b.verticalScroller){b.verticalScroller.setReservedSpace(Ext.getScrollbarSize().height-1)}if(b.horizontalScroller&&b.horizontalScroller.ownerCt!==b){b.addDocked(b.horizontalScroller);b.addCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollershow",b.horizontalScroller,"horizontal")}},hideVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(false);if(b.verticalScroller&&b.verticalScroller.ownerCt===b){b.removeDocked(b.verticalScroller,false);b.removeCls(b.verticalScrollerPresentCls);b.fireEvent("scrollerhide",b.verticalScroller,"vertical")}},showVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(true);if(b.verticalScroller&&b.verticalScroller.ownerCt!==b){b.addDocked(b.verticalScroller);b.addCls(b.verticalScrollerPresentCls);b.fireEvent("scrollershow",b.verticalScroller,"vertical")}},setHeaderReserveOffset:function(e){var f=this.headerCt,d=f.layout;if(d&&d.reserveOffset!==e){d.reserveOffset=e;if(!this.suspendLayout){f.doLayout()}}},invalidateScroller:function(){var d=this,e=d.verticalScroller,f=d.horizontalScroller;if(e){e.invalidate()}if(f){f.invalidate()}},onHeaderMove:function(h,g,f,e){this.view.refresh()},onHeaderHide:function(d,c){this.invalidateScroller()},onHeaderShow:function(d,c){this.invalidateScroller()},getVerticalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock="+this.verticalScrollDock+"]")},getHorizontalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock=bottom]")},onMouseWheel:function(u){var t=this,x=t.getVerticalScroller(),s=t.getHorizontalScroller(),E=-t.scrollDelta,D=u.getWheelDeltas(),z=E*D.x,A=E*D.y,v,r,F,e,C,y,w,B;if(s){r=s.scrollEl;if(r){e=r.dom;y=e.scrollLeft!==e.scrollWidth-e.clientWidth;C=e.scrollLeft!==0}}if(x){v=x.scrollEl;if(v){F=v.dom;w=F.scrollTop!==F.scrollHeight-F.clientHeight;B=F.scrollTop!==0}}if(s){if((z<0&&C)||(z>0&&y)){u.stopEvent();s.scrollByDeltaX(z)}}if(x){if((A<0&&B)||(A>0&&w)){u.stopEvent();x.scrollByDeltaY(A)}}},onViewReady:function(){var b=this;b.fireEvent("viewready",b);if(b.deferRowRender){b.determineScrollbars();b.invalidateScroller()}},onViewRefresh:function(){var b=this;if(!b.rendering){this.determineScrollbars();if(this.invalidateScrollerOnRefresh){this.invalidateScroller()}}},setScrollTop:function(g){var h=this,e=h.getScrollerOwner(),f=h.getVerticalScroller();e.virtualScrollTop=g;if(f){f.setScrollTop(g)}},getScrollerOwner:function(){var b=this;if(!this.scrollerOwner){b=this.up("[scrollerOwner]")}return b},scrollByDeltaY:function(d){var c=this.getVerticalScroller();if(c){c.scrollByDeltaY(d)}},scrollByDeltaX:function(d){var c=this.getHorizontalScroller();if(c){c.scrollByDeltaX(d)}},getLhsMarker:function(){var b=this;if(!b.lhsMarker){b.lhsMarker=Ext.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.lhsMarker},getRhsMarker:function(){var b=this;if(!b.rhsMarker){b.rhsMarker=Ext.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.rhsMarker},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var c="SINGLE",d;if(this.simpleSelect){c="SIMPLE"}else{if(this.multiSelect){c="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:c});if(!this.selModel.events){d=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+d,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},onVerticalScroll:function(j,i){var g=this.getScrollerOwner(),l=g.query("tableview"),k=0,h=l.length;for(;k<h;k++){l[k].el.dom.scrollTop=i.scrollTop}},onHorizontalScroll:function(i,h){var f=this.getScrollerOwner(),j=f.query("tableview"),g=j[1]||j[0];g.el.dom.scrollLeft=h.scrollLeft;this.headerCt.el.dom.scrollLeft=h.scrollLeft},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(d){var c=this;c.store=d;c.getView().bindStore(d)},beforeDestroy:function(){Ext.destroy(this.horizontalScroller,this.verticalScroller);this.callParent()},reconfigure:function(f,e){var h=this,g=h.headerCt;if(h.lockable){h.reconfigureLockable(f,e)}else{if(e){g.suspendLayout=true;g.removeAll();g.add(e)}if(f){f=Ext.StoreManager.lookup(f);h.bindStore(f)}else{h.getView().refresh()}if(e){g.suspendLayout=false;h.forceComponentLayout()}}h.fireEvent("reconfigure",h)}});Ext.define("Ext.grid.Panel",{extend:"Ext.panel.Table",requires:["Ext.grid.View"],alias:["widget.gridpanel","widget.grid"],alternateClassName:["Ext.list.ListView","Ext.ListView","Ext.grid.GridPanel"],viewType:"gridview",lockable:false,normalCfgCopy:["invalidateScrollerOnRefresh","verticalScroller","verticalScrollDock","verticalScrollerType","scroll"],lockedCfgCopy:["invalidateScrollerOnRefresh"],initComponent:function(){var b=this;if(b.columnLines){b.setColumnLines(b.columnLines)}b.callParent()},setColumnLines:function(e){var d=this,f=(e)?"addClsWithUI":"removeClsWithUI";d[f]("with-col-lines")}});Ext.define("Ext.tree.Panel",{extend:"Ext.panel.Table",alias:"widget.treepanel",alternateClassName:["Ext.tree.TreePanel","Ext.TreePanel"],requires:["Ext.tree.View","Ext.selection.TreeModel","Ext.tree.Column"],viewType:"treeview",selType:"treemodel",treeCls:Ext.baseCSSPrefix+"tree-panel",deferRowRender:false,lines:true,useArrows:false,singleExpand:false,ddConfig:{enableDrag:true,enableDrop:true},rootVisible:true,displayField:"text",root:null,normalCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible","scroll"],lockedCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible"],constructor:function(b){b=b||{};if(b.animate===undefined){b.animate=Ext.enableFx}this.enableAnimations=b.animate;delete b.animate;this.callParent([b])},initComponent:function(){var c=this,d=[c.treeCls];if(c.useArrows){d.push(Ext.baseCSSPrefix+"tree-arrows");c.lines=false}if(c.lines){d.push(Ext.baseCSSPrefix+"tree-lines")}else{if(!c.useArrows){d.push(Ext.baseCSSPrefix+"tree-no-lines")}}if(Ext.isString(c.store)){c.store=Ext.StoreMgr.lookup(c.store)}else{if(!c.store||Ext.isObject(c.store)&&!c.store.isStore){c.store=Ext.create("Ext.data.TreeStore",Ext.apply({},c.store||{},{root:c.root,fields:c.fields,model:c.model,folderSort:c.folderSort}))}else{if(c.root){c.store=Ext.data.StoreManager.lookup(c.store);c.store.setRootNode(c.root);if(c.folderSort!==undefined){c.store.folderSort=c.folderSort;c.store.sort()}}}}c.viewConfig=Ext.applyIf(c.viewConfig||{},{rootVisible:c.rootVisible,animate:c.enableAnimations,singleExpand:c.singleExpand,node:c.store.getRootNode(),hideHeaders:c.hideHeaders});c.mon(c.store,{scope:c,rootchange:c.onRootChange,clear:c.onClear});c.relayEvents(c.store,["beforeload","load"]);c.store.on({append:c.createRelayer("itemappend"),remove:c.createRelayer("itemremove"),move:c.createRelayer("itemmove"),insert:c.createRelayer("iteminsert"),beforeappend:c.createRelayer("beforeitemappend"),beforeremove:c.createRelayer("beforeitemremove"),beforemove:c.createRelayer("beforeitemmove"),beforeinsert:c.createRelayer("beforeiteminsert"),expand:c.createRelayer("itemexpand"),collapse:c.createRelayer("itemcollapse"),beforeexpand:c.createRelayer("beforeitemexpand"),beforecollapse:c.createRelayer("beforeitemcollapse")});if(!c.columns){if(c.initialConfig.hideHeaders===undefined){c.hideHeaders=true}c.columns=[{xtype:"treecolumn",text:"Name",flex:1,dataIndex:c.displayField}]}if(c.cls){d.push(c.cls)}c.cls=d.join(" ");c.callParent();c.relayEvents(c.getView(),["checkchange"]);if(!c.getView().rootVisible&&!c.getRootNode()){c.setRootNode({expanded:true})}},onClear:function(){this.view.onClear()},setRootNode:function(){return this.store.setRootNode.apply(this.store,arguments)},getRootNode:function(){return this.store.getRootNode()},onRootChange:function(b){this.view.setRootNode(b)},getChecked:function(){return this.getView().getChecked()},isItemChecked:function(b){return b.get("checked")},expandAll:function(h,i){var f=this.getRootNode(),j=this.enableAnimations,g=this.getView();if(f){if(!j){g.beginBulkUpdate()}f.expand(true,h,i);if(!j){g.endBulkUpdate()}}},collapseAll:function(h,i){var f=this.getRootNode(),j=this.enableAnimations,g=this.getView();if(f){if(!j){g.beginBulkUpdate()}if(g.rootVisible){f.collapse(true,h,i)}else{f.collapseChildren(true,h,i)}if(!j){g.endBulkUpdate()}}},expandPath:function(l,q,v,p,m){var s=this,t=s.getRootNode(),u=1,r=s.getView(),n,o;q=q||s.getRootNode().idProperty;v=v||"/";if(Ext.isEmpty(l)){Ext.callback(p,m||s,[false,null]);return}n=l.split(v);if(t.get(q)!=n[1]){Ext.callback(p,m||s,[false,t]);return}o=function(){if(++u===n.length){Ext.callback(p,m||s,[true,t]);return}var a=t.findChild(q,n[u]);if(!a){Ext.callback(p,m||s,[false,t]);return}t=a;t.expand(false,o)};t.expand(false,o)},selectPath:function(l,m,n,k,j){var o=this,p,i;m=m||o.getRootNode().idProperty;n=n||"/";p=l.split(n);i=p.pop();o.expandPath(p.join(n),m,n,function(a,b){var c=false;if(a&&b){b=b.findChild(m,i);if(b){o.getSelectionModel().select(b);Ext.callback(k,j||o,[true,b]);c=true}}else{if(b===o.getRootNode()){c=true}}Ext.callback(k,j||o,[c,b])},o)}});Ext.define("Docs.view.DocTree",{extend:"Ext.tree.Panel",alias:"widget.doctree",cls:"doc-tree iScroll",useArrows:true,rootVisible:false,border:false,bodyBorder:false,initComponent:function(){this.addEvents("urlclick");this.root.expanded=true;this.on("itemclick",this.onItemClick,this);this.on("beforeitemcollapse",this.handleBeforeExpandCollapse,this);this.on("beforeitemexpand",this.handleBeforeExpandCollapse,this);this.callParent();this.nodeTpl=new Ext.XTemplate('<a href="{url}" rel="{url}">{text}</a>');this.initNodeLinks()},initNodeLinks:function(){this.getRootNode().cascadeBy(this.applyNodeTpl,this)},applyNodeTpl:function(b){if(b.get("leaf")){b.set("text",this.nodeTpl.apply({text:b.get("text"),url:b.raw.url}));b.commit()}},onItemClick:function(h,j,k,l,i){var e=j.raw?j.raw.url:j.data.url;if(e){this.fireEvent("urlclick",e,i)}else{if(!j.isLeaf()){if(j.isExpanded()){j.collapse(false)}else{j.expand(false)}}}},selectUrl:function(d){var c=this.findNodeByUrl(d);if(c){c.bubble(function(a){a.expand()});this.getSelectionModel().select(c)}else{this.getSelectionModel().deselectAll()}},findNodeByUrl:function(b){return this.getRootNode().findChildBy(function(a){return b===a.raw.url},this,true)},findRecordByUrl:function(d){var c=this.findNodeByUrl(d);return c?c.raw:undefined},handleBeforeExpandCollapse:function(b){if(this.getView().isAnimating(b)){return false}}});Ext.define("Docs.view.GroupTree",{extend:"Docs.view.DocTree",alias:"widget.grouptree",initComponent:function(){this.root={children:[],text:"Root"};Ext.Array.each(this.data,function(b){this.root.children.push({text:b.title,expanded:true,children:Ext.Array.map(b.items,this.convert),iconCls:"icon-pkg"})},this);this.callParent()}});Ext.define("Docs.view.examples.InlineEditor",{extend:"Ext.Panel",bodyPadding:2,autoScroll:true,componentCls:"inline-example-editor",initComponent:function(){this.addEvents("change");this.on("afterlayout",this.initCodeMirror,this);this.callParent(arguments)},initCodeMirror:function(b){if(!this.codemirror){this.codemirror=CodeMirror(this.body,{mode:"javascript",indentUnit:4,value:this.value,onChange:Ext.Function.bind(function(a){this.fireEvent("change")},this)})}},refresh:function(){this.codemirror.refresh()},getValue:function(){return this.codemirror?this.codemirror.getValue():this.value},getHeight:function(){var b=this.el.down(".CodeMirror-lines");return b?b.getHeight():undefined},selectAll:function(){var d=this.codemirror.lineCount()-1;var c=this.codemirror.getLine(d).length;this.codemirror.setSelection({line:0,ch:0},{line:d,ch:c})}});Ext.define("Docs.view.examples.InlinePreview",{extend:"Ext.Panel",requires:["Docs.view.examples.Device"],bodyPadding:"0 10",statics:{iframeId:0},options:{},initComponent:function(){this.html=this.getHtml();this.callParent(arguments)},getHtml:function(){if(Docs.data.touchExamplesUi){return Ext.create("Docs.view.examples.Device",{url:"eg-iframe.html",id:this.getIframeId(),device:this.options.device,orientation:this.options.orientation}).toHtml()}else{var b=new Ext.XTemplate('<iframe id="{id}" style="width: 100%; height: 100%; border: 0"></iframe>');return b.apply({id:this.getIframeId()})}},update:function(f){var e=this.options;var d=document.getElementById(this.getIframeId());if(d){d.onload=function(){Ext.Function.defer(function(){d.contentWindow.loadInlineExample(f,e)},100)};d.src="eg-iframe.html"}},getIframeId:function(){if(!this.iframeId){this.statics().iframeId+=1;this.iframeId="eg-iframe"+this.statics().iframeId}return this.iframeId},getHeight:function(){return document.getElementById(this.getIframeId()).parentNode.clientHeight}});Ext.define("Docs.view.examples.Inline",{extend:"Ext.Panel",alias:"widget.inlineexample",requires:["Docs.view.examples.InlineEditor","Docs.view.examples.InlinePreview"],componentCls:"inline-example-cmp",layout:"card",border:0,resizable:{transparent:true,handles:"s",constrainTo:false},maxCodeHeight:400,options:{},initComponent:function(){this.options=Ext.apply({device:"phone",orientation:"landscape"},this.options);this.items=[this.editor=Ext.create("Docs.view.examples.InlineEditor",{cmpName:"code",value:this.value,listeners:{change:this.updateHeight,scope:this}}),this.preview=Ext.create("Docs.view.examples.InlinePreview",{cmpName:"preview",options:this.options})];if(this.options.preview){this.activeItem=1;this.toolbar.activateButton("preview")}else{this.activeItem=0;this.toolbar.activateButton("code")}this.on("afterrender",this.init,this);this.callParent(arguments)},init:function(){var b=this.layout.getActiveItem();if(b.cmpName==="preview"){this.showPreview()}this.updateHeight();this.initToolbarEvents()},initToolbarEvents:function(){this.toolbar.on("buttonclick",function(b){if(b==="code"){this.showCode()}else{if(b==="preview"){this.showPreview()}else{if(b==="copy"){this.showCode();this.editor.selectAll()}}}},this)},showCode:function(){this.layout.setActiveItem(0);this.updateHeight();this.toolbar.activateButton("code");this.editor.refresh();this.editor.refresh()},showPreview:function(){this.preview.update(this.editor.getValue());this.layout.setActiveItem(1);this.updateHeight();this.toolbar.activateButton("preview")},updateHeight:function(){var d=this.preview.getHeight();var e=this.editor.getHeight();var f=30;if(Docs.data.touchExamplesUi&&d>0){this.setHeight(d+f)}else{if(e>0){this.setHeight(Ext.Number.constrain(e+f,0,this.maxCodeHeight))}}}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(d,f){var e=this.root;if(this.allowSingle&&f.length==1){f=f[0]}if(this.encode){if(e){d.params[e]=Ext.encode(f)}else{Ext.Error.raise("Must specify a root when using encode")}}else{d.jsonData=d.jsonData||{};if(e){d.jsonData[e]=f}else{d.jsonData=f}}return d}});Ext.define("Ext.layout.component.Tip",{alias:["layout.tip"],extend:"Ext.layout.component.Dock",type:"tip",onLayout:function(s,l){var n=this,r=n.owner,q=r.el,t,m,o,p,k=q.getXY();q.setXY([-9999,-9999]);this.callParent(arguments);if(!Ext.isNumber(s)){t=r.minWidth;m=r.maxWidth;if(Ext.isStrict&&(Ext.isIE6||Ext.isIE7)){p=n.doAutoWidth()}else{o=q.getWidth()}if(o<t){p=t}else{if(o>m){p=m}}if(p){this.callParent([p,l])}}q.setXY(k)},doAutoWidth:function(){var g=this,e=g.owner,f=e.body,h=f.getTextWidth();if(e.header){h=Math.max(h,e.header.getWidth())}if(!Ext.isDefined(g.frameWidth)){g.frameWidth=e.el.getWidth()-f.getWidth()}h+=g.frameWidth+f.getPadding("lr");return h}});Ext.define("Ext.tip.Tip",{extend:"Ext.panel.Panel",requires:["Ext.layout.component.Tip"],alternateClassName:"Ext.Tip",minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:true,frame:false,autoRender:true,hidden:true,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:true,shim:true,constrain:true},focusOnToFront:false,componentLayout:"tip",closeAction:"hide",ariaRole:"tooltip",initComponent:function(){var b=this;b.floating=Ext.apply({},{shadow:b.shadow},b.self.prototype.floating);b.callParent(arguments);b.constrain=b.constrain||b.constrainPosition},showAt:function(c){var d=this;this.callParent(arguments);if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}},showBy:function(d,c){this.showAt(this.el.getAlignToXY(d,c||this.defaultAlign))},initDraggable:function(){var b=this;b.draggable={el:b.getDragEl(),delegate:b.header.el,constrain:b,constrainTo:b.el.getScopeParent()};Ext.Component.prototype.initDraggable.call(b)},ghost:undefined,unghost:undefined});Ext.define("Ext.tip.ToolTip",{extend:"Ext.tip.Tip",alias:"widget.tooltip",alternateClassName:"Ext.ToolTip",showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var b=this;b.callParent(arguments);b.lastActive=new Date();b.setTarget(b.target);b.origAnchor=b.anchor},onRender:function(d,e){var f=this;f.callParent(arguments);f.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+f.getAnchorPosition();f.anchorEl=f.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+f.anchorCls})},afterRender:function(){var d=this,c;d.callParent(arguments);c=parseInt(d.el.getZIndex(),10)||0;d.anchorEl.setStyle("z-index",c+1).setVisibilityMode(Ext.Element.DISPLAY)},setTarget:function(g){var e=this,f=Ext.get(g),h;if(e.target){h=Ext.get(e.target);e.mun(h,"mouseover",e.onTargetOver,e);e.mun(h,"mouseout",e.onTargetOut,e);e.mun(h,"mousemove",e.onMouseMove,e)}e.target=f;if(f){e.mon(f,{freezeEvent:true,mouseover:e.onTargetOver,mouseout:e.onTargetOut,mousemove:e.onMouseMove,scope:e})}if(e.anchor){e.anchorTarget=e.target}},onMouseMove:function(g){var e=this,f=e.delegate?g.getTarget(e.delegate):e.triggerElement=true,h;if(f){e.targetXY=g.getXY();if(f===e.triggerElement){if(!e.hidden&&e.trackMouse){h=e.getTargetXY();if(e.constrainPosition){h=e.el.adjustForConstraints(h,e.el.getScopeParent())}e.setPagePosition(h)}}else{e.hide();e.lastActive=new Date(0);e.onTargetOver(g)}}else{if((!e.closable&&e.isVisible())&&e.autoHide!==false){e.hide()}}},getTargetXY:function(){var r=this,w;if(r.delegate){r.anchorTarget=r.triggerElement}if(r.anchor){r.targetCounter++;var x=r.getOffsets(),n=(r.anchorToTarget&&!r.trackMouse)?r.el.getAlignToXY(r.anchorTarget,r.getAnchorAlign()):r.targetXY,z=Ext.Element.getViewWidth()-5,s=Ext.Element.getViewHeight()-5,p=document.documentElement,v=document.body,o=(p.scrollLeft||v.scrollLeft||0)+5,q=(p.scrollTop||v.scrollTop||0)+5,y=[n[0]+x[0],n[1]+x[1]],t=r.getSize(),u=r.constrainPosition;r.anchorEl.removeCls(r.anchorCls);if(r.targetCounter<2&&u){if(y[0]<o){if(r.anchorToTarget){r.defaultAlign="l-r";if(r.mouseOffset){r.mouseOffset[0]*=-1}}r.anchor="left";return r.getTargetXY()}if(y[0]+t.width>z){if(r.anchorToTarget){r.defaultAlign="r-l";if(r.mouseOffset){r.mouseOffset[0]*=-1}}r.anchor="right";return r.getTargetXY()}if(y[1]<q){if(r.anchorToTarget){r.defaultAlign="t-b";if(r.mouseOffset){r.mouseOffset[1]*=-1}}r.anchor="top";return r.getTargetXY()}if(y[1]+t.height>s){if(r.anchorToTarget){r.defaultAlign="b-t";if(r.mouseOffset){r.mouseOffset[1]*=-1}}r.anchor="bottom";return r.getTargetXY()}}r.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+r.getAnchorPosition();r.anchorEl.addCls(r.anchorCls);r.targetCounter=0;return y}else{w=r.getMouseOffset();return(r.targetXY)?[r.targetXY[0]+w[0],r.targetXY[1]+w[1]]:w}},getMouseOffset:function(){var d=this,c=d.anchor?[0,0]:[15,18];if(d.mouseOffset){c[0]+=d.mouseOffset[0];c[1]+=d.mouseOffset[1]}return c},getAnchorPosition:function(){var c=this,d;if(c.anchor){c.tipAnchor=c.anchor.charAt(0)}else{d=c.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!d){Ext.Error.raise('The AnchorTip.defaultAlign value "'+c.defaultAlign+'" is invalid.')}c.tipAnchor=d[1].charAt(0)}switch(c.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var h=this,g,e,f=h.getAnchorPosition().charAt(0);if(h.anchorToTarget&&!h.trackMouse){switch(f){case"t":e=[0,9];break;case"b":e=[0,-13];break;case"r":e=[-13,0];break;default:e=[9,0];break}}else{switch(f){case"t":e=[-15-h.anchorOffset,30];break;case"b":e=[-19-h.anchorOffset,-13-h.el.dom.offsetHeight];break;case"r":e=[-15-h.el.dom.offsetWidth,-13-h.anchorOffset];break;default:e=[25,-13-h.anchorOffset];break}}g=h.getMouseOffset();e[0]+=g[0];e[1]+=g[1];return e},onTargetOver:function(f){var d=this,e;if(d.disabled||f.within(d.target.dom,true)){return}e=f.getTarget(d.delegate);if(e){d.triggerElement=e;d.clearTimer("hide");d.targetXY=f.getXY();d.delayShow()}},delayShow:function(){var b=this;if(b.hidden&&!b.showTimer){if(Ext.Date.getElapsed(b.lastActive)<b.quickShowInterval){b.show()}else{b.showTimer=Ext.defer(b.show,b.showDelay,b)}}else{if(!b.hidden&&b.autoHide!==false){b.show()}}},onTargetOut:function(c){var d=this;if(d.disabled||c.within(d.target.dom,true)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},delayHide:function(){var b=this;if(!b.hidden&&!b.hideTimer){b.hideTimer=Ext.defer(b.hide,b.hideDelay,b)}},hide:function(){var b=this;b.clearTimer("dismiss");b.lastActive=new Date();if(b.anchorEl){b.anchorEl.hide()}b.callParent(arguments);delete b.triggerElement},show:function(){var b=this;this.callParent();if(this.hidden===false){b.setPagePosition(-10000,-10000);if(b.anchor){b.anchor=b.origAnchor}b.showAt(b.getTargetXY());if(b.anchor){b.syncAnchor();b.anchorEl.show()}else{b.anchorEl.hide()}}},showAt:function(c){var d=this;d.lastActive=new Date();d.clearTimers();if(!d.isVisible()){this.callParent(arguments)}if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}if(d.dismissDelay&&d.autoHide!==false){d.dismissTimer=Ext.defer(d.hide,d.dismissDelay,d)}if(d.anchor){d.syncAnchor();if(!d.anchorEl.isVisible()){d.anchorEl.show()}}else{d.anchorEl.hide()}},syncAnchor:function(){var h=this,f,e,g;switch(h.tipAnchor.charAt(0)){case"t":f="b";e="tl";g=[20+h.anchorOffset,1];break;case"r":f="l";e="tr";g=[-1,12+h.anchorOffset];break;case"b":f="t";e="bl";g=[20+h.anchorOffset,-1];break;default:f="r";e="tl";g=[1,12+h.anchorOffset];break}h.anchorEl.alignTo(h.el,f+"-"+e,g)},setPagePosition:function(e,f){var d=this;d.callParent(arguments);if(d.anchor){d.syncAnchor()}},clearTimer:function(b){b=b+"Timer";clearTimeout(this[b]);delete this[b]},clearTimers:function(){var b=this;b.clearTimer("show");b.clearTimer("dismiss");b.clearTimer("hide")},onShow:function(){var b=this;b.callParent();b.mon(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onHide:function(){var b=this;b.callParent();b.mun(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onDocMouseDown:function(c){var d=this;if(d.autoHide!==true&&!d.closable&&!c.within(d.el.dom)){d.disable();Ext.defer(d.doEnable,100,d)}},doEnable:function(){if(!this.isDestroyed){this.enable()}},onDisable:function(){this.callParent();this.clearTimers();this.hide()},beforeDestroy:function(){var b=this;b.clearTimers();Ext.destroy(b.anchorEl);delete b.anchorEl;delete b.target;delete b.anchorTarget;delete b.triggerElement;b.callParent()},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);this.callParent()}});Ext.define("Ext.tip.QuickTip",{extend:"Ext.tip.ToolTip",alternateClassName:"Ext.QuickTip",interceptTitles:false,title:"&#160;",tagConfig:{namespace:"data-",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){var b=this;b.target=b.target||Ext.getDoc();b.targets=b.targets||{};b.callParent()},register:function(n){var j=Ext.isArray(n)?n:arguments,m=0,i=j.length,k,h,l;for(;m<i;m++){n=j[m];k=n.target;if(k){if(Ext.isArray(k)){for(h=0,l=k.length;h<l;h++){this.targets[Ext.id(k[h])]=n}}else{this.targets[Ext.id(k)]=n}}}},unregister:function(b){delete this.targets[Ext.id(b)]},cancelShow:function(e){var d=this,f=d.activeTarget;e=Ext.get(e).dom;if(d.isVisible()){if(f&&f.el==e){d.hide()}}else{if(f&&f.el==e){d.clearTimer("show")}}},getTipCfg:function(g){var h=g.getTarget(),e=h.title,f;if(this.interceptTitles&&e&&Ext.isString(e)){h.qtip=e;h.removeAttribute("title");g.preventDefault();return{text:e}}else{f=this.tagConfig;h=g.getTarget("["+f.namespace+f.attribute+"]");if(h){return{target:h,text:h.getAttribute(f.namespace+f.attribute)}}}},onTargetOver:function(l){var n=this,m=l.getTarget(),k,p,o,e,j;if(n.disabled){return}n.targetXY=l.getXY();if(!m||m.nodeType!==1||m==document||m==document.body){return}if(n.activeTarget&&((m==n.activeTarget.el)||Ext.fly(n.activeTarget.el).contains(m))){n.clearTimer("hide");n.show();return}if(m){Ext.Object.each(n.targets,function(c,b){var a=Ext.fly(b.target);if(a&&(a.dom===m||a.contains(m))){k=a.dom;return false}});if(k){n.activeTarget=n.targets[k.id];n.activeTarget.el=m;n.anchor=n.activeTarget.anchor;if(n.anchor){n.anchorTarget=m}n.delayShow();return}}k=Ext.get(m);p=n.tagConfig;o=p.namespace;e=n.getTipCfg(l);if(e){if(e.target){m=e.target;k=Ext.get(m)}j=k.getAttribute(o+p.hide);n.activeTarget={el:m,text:e.text,width:+k.getAttribute(o+p.width)||null,autoHide:j!="user"&&j!=="false",title:k.getAttribute(o+p.title),cls:k.getAttribute(o+p.cls),align:k.getAttribute(o+p.align)};n.anchor=k.getAttribute(o+p.anchor);if(n.anchor){n.anchorTarget=m}n.delayShow()}},onTargetOut:function(c){var d=this;if(d.activeTarget&&c.within(d.activeTarget.el)&&!d.getTipCfg(c)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},showAt:function(f){var e=this,d=e.activeTarget;if(d){if(!e.rendered){e.render(Ext.getBody());e.activeTarget=d}if(d.title){e.setTitle(d.title||"");e.header.show()}else{e.header.hide()}e.body.update(d.text);e.autoHide=d.autoHide;e.dismissDelay=d.dismissDelay||e.dismissDelay;if(e.lastCls){e.el.removeCls(e.lastCls);delete e.lastCls}if(d.cls){e.el.addCls(d.cls);e.lastCls=d.cls}e.setWidth(d.width);if(e.anchor){e.constrainPosition=false}else{if(d.align){f=e.el.getAlignToXY(d.el,d.align);e.constrainPosition=false}else{e.constrainPosition=true}}}e.callParent([f])},hide:function(){delete this.activeTarget;this.callParent()}});Ext.define("Ext.tip.QuickTipManager",function(){var c,d=false;return{requires:["Ext.tip.QuickTip"],singleton:true,alternateClassName:"Ext.QuickTips",init:function(b,i){if(!c){if(!Ext.isReady){Ext.onReady(function(){Ext.tip.QuickTipManager.init(b)});return}var j=Ext.apply({disabled:d},i),h=j.className,a=j.xtype;if(h){delete j.className}else{if(a){h="widget."+a;delete j.xtype}}if(b!==false){j.renderTo=document.body;if(j.renderTo.tagName!="BODY"){Ext.Error.raise({sourceClass:"Ext.tip.QuickTipManager",sourceMethod:"init",msg:"Cannot init QuickTipManager: no document body"})}}c=Ext.create(h||"Ext.tip.QuickTip",j)}},destroy:function(){if(c){var a;c.destroy();c=a}},ddDisable:function(){if(c&&!d){c.disable()}},ddEnable:function(){if(c&&!d){c.enable()}},enable:function(){if(c){c.enable()}d=false},disable:function(){if(c){c.disable()}d=true},isEnabled:function(){return c!==undefined&&!c.disabled},getQuickTip:function(){return c},register:function(){c.register.apply(c,arguments)},unregister:function(){c.unregister.apply(c,arguments)},tips:function(){c.register.apply(c,arguments)}}}());Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],totalProperty:"total",successProperty:"success",root:"",implicitIncludes:true,isReader:true,constructor:function(d){var c=this;Ext.apply(c,d||{});c.fieldCount=0;c.model=Ext.ModelManager.getModel(d.model);if(c.model){c.buildExtractors()}},setModel:function(e,f){var d=this;d.model=Ext.ModelManager.getModel(e);d.buildExtractors(true);if(f&&d.proxy){d.proxy.setModel(d.model,true)}},read:function(d){var c=d;if(d&&d.responseText){c=this.getResponseData(d)}if(c){return this.readRecords(c)}else{return this.nullResultSet}},readRecords:function(p){var o=this;if(o.fieldCount!==o.getFields().length){o.buildExtractors(true)}o.rawData=p;p=o.getData(p);var m=Ext.isArray(p)?p:o.getRoot(p),k=true,q=0,n,l,r,j;if(m){n=m.length}if(o.totalProperty){l=parseInt(o.getTotal(p),10);if(!isNaN(l)){n=l}}if(o.successProperty){l=o.getSuccess(p);if(l===false||l==="false"){k=false}}if(o.messageProperty){j=o.getMessage(p)}if(m){r=o.extractData(m);q=r.length}else{q=0;r=[]}return Ext.create("Ext.data.ResultSet",{total:n||q,count:q,records:r,success:k,message:j})},extractData:function(n){var o=this,m=[],r=[],s=o.model,q=0,u=n.length,i=o.getIdProperty(),t,v,p;if(!n.length&&Ext.isObject(n)){n=[n];u=1}for(;q<u;q++){t=n[q];m=o.extractValues(t);v=o.getId(t);p=new s(m,v,t);r.push(p);if(o.implicitIncludes){o.readAssociated(p,t)}}return r},readAssociated:function(l,n){var o=l.associations.items,m=0,r=o.length,p,q,i,k;for(;m<r;m++){p=o[m];q=this.getAssociatedDataRoot(n,p.associationKey||p.name);if(q){k=p.getReader();if(!k){i=p.associatedModel.proxy;if(i){k=i.getReader()}else{k=new this.constructor({model:p.associatedName})}}p.read(l,k,q)}}},getAssociatedDataRoot:function(c,d){return c[d]},getFields:function(){return this.model.prototype.fields.items},extractValues:function(k){var i=this.getFields(),n=0,m=i.length,h={},j,l;for(;n<m;n++){j=i[n];l=this.extractorFunctions[n](k);h[j.name]=l}return h},getData:function(b){return b},getRoot:function(b){return b},getResponseData:function(b){Ext.Error.raise("getResponseData must be implemented in the Ext.data.reader.Reader subclass")},onMetaChange:function(f){var e=f.fields,d;Ext.apply(this,f);if(e){d=Ext.define("Ext.data.reader.Json-Model"+Ext.id(),{extend:"Ext.data.Model",fields:e});this.setModel(d,true)}else{this.buildExtractors(true)}},getIdProperty:function(){var b=this.idProperty;if(Ext.isEmpty(b)){b=this.model.prototype.idProperty}return b},buildExtractors:function(l){var n=this,j=n.getIdProperty(),m=n.totalProperty,h=n.successProperty,k=n.messageProperty,i;if(l===true){delete n.extractorFunctions}if(n.extractorFunctions){return}if(m){n.getTotal=n.createAccessor(m)}if(h){n.getSuccess=n.createAccessor(h)}if(k){n.getMessage=n.createAccessor(k)}if(j){i=n.createAccessor(j);n.getId=function(b){var a=i.call(n,b);return(a===undefined||a==="")?null:a}}else{n.getId=function(){return null}}n.buildFieldExtractors()},buildFieldExtractors:function(){var m=this,i=m.getFields(),n=i.length,h=0,j=[],k,l;for(;h<n;h++){k=i[h];l=(k.mapping!==undefined&&k.mapping!==null)?k.mapping:k.name;j.push(m.createAccessor(l))}m.fieldCount=n;m.extractorFunctions=j}},function(){Ext.apply(this,{nullResultSet:Ext.create("Ext.data.ResultSet",{total:0,count:0,records:[],success:true})})});Ext.define("Ext.data.reader.Json",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.JsonReader",alias:"reader.json",root:"",useSimpleAccessors:false,readRecords:function(b){if(b.metaData){this.onMetaChange(b.metaData)}this.jsonData=b;return this.callParent([b])},getResponseData:function(e){var f;try{f=Ext.decode(e.responseText)}catch(d){Ext.Error.raise({response:e,json:e.responseText,parseError:d,msg:"Unable to parse the JSON returned by the server: "+d.toString()})}if(!f){Ext.Error.raise("JSON object not found")}return f},buildExtractors:function(){var b=this;b.callParent(arguments);if(b.root){b.getRoot=b.createAccessor(b.root)}else{b.getRoot=function(a){return a}}},extractData:function(g){var h=this.record,i=[],j,f;if(h){j=g.length;if(!j&&Ext.isObject(g)){j=1;g=[g]}for(f=0;f<j;f++){i[f]=g[f][h]}}else{i=g}return this.callParent([i])},createAccessor:function(){var b=/[\[\.]/;return function(d){if(Ext.isEmpty(d)){return Ext.emptyFn}if(Ext.isFunction(d)){return d}if(this.useSimpleAccessors!==true){var a=String(d).search(b);if(a>=0){return Ext.functionFactory("obj","return obj"+(a>0?".":"")+d)}}return function(c){return c[d]}}}()});Ext.define("Ext.data.proxy.Proxy",{alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json"],uses:["Ext.data.Batch","Ext.data.Operation","Ext.data.Model"],mixins:{observable:"Ext.util.Observable"},batchOrder:"create,update,destroy",batchActions:true,defaultReaderType:"json",defaultWriterType:"json",isProxy:true,constructor:function(b){b=b||{};if(b.model===undefined){delete b.model}this.mixins.observable.constructor.call(this,b);if(this.model!==undefined&&!(this.model instanceof Ext.data.Model)){this.setModel(this.model)}},setModel:function(e,h){this.model=Ext.ModelManager.getModel(e);var f=this.reader,g=this.writer;this.setReader(f);this.setWriter(g);if(h&&this.store){this.store.setModel(this.model)}},getModel:function(){return this.model},setReader:function(d){var c=this;if(d===undefined||typeof d=="string"){d={type:d}}if(d.isReader){d.setModel(c.model)}else{Ext.applyIf(d,{proxy:c,model:c.model,type:c.defaultReaderType});d=Ext.createByAlias("reader."+d.type,d)}c.reader=d;return c.reader},getReader:function(){return this.reader},setWriter:function(b){if(b===undefined||typeof b=="string"){b={type:b}}if(!(b instanceof Ext.data.writer.Writer)){Ext.applyIf(b,{model:this.model,type:this.defaultWriterType});b=Ext.createByAlias("writer."+b.type,b)}this.writer=b;return this.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(k,j){var i=this,l=Ext.create("Ext.data.Batch",{proxy:i,listeners:j||{}}),g=i.batchActions,h;Ext.each(i.batchOrder.split(","),function(a){h=k[a];if(h){if(g){l.add(Ext.create("Ext.data.Operation",{action:a,records:h}))}else{Ext.each(h,function(b){l.add(Ext.create("Ext.data.Operation",{action:a,records:[b]}))})}}},i);l.start();return l}},function(){Ext.data.DataProxy=this});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(d){var c=this;d=d||{};this.addEvents("exception");c.callParent([d]);c.extraParams=d.extraParams||{};c.api=d.api||{};c.nocache=c.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},buildRequest:function(e){var f=Ext.applyIf(e.params||{},this.extraParams||{}),d;f=Ext.applyIf(f,this.getParams(e));if(e.id&&!f.id){f.id=e.id}d=Ext.create("Ext.data.Request",{params:f,action:e.action,records:e.records,operation:e,url:e.url});d.url=this.buildUrl(d);e.request=d;return d},processResponse:function(l,r,p,q,m,k){var n=this,o,j;if(l===true){o=n.getReader();j=o.read(n.extractResponseData(q));if(j.success!==false){Ext.apply(r,{response:q,resultSet:j});r.commitRecords(j.records);r.setCompleted();r.setSuccessful()}else{r.setException(j.message);n.fireEvent("exception",this,q,r)}}else{n.setException(r,q);n.fireEvent("exception",this,q,r)}if(typeof m=="function"){m.call(k||n,r)}n.afterRequest(p,l)},setException:function(c,d){c.setException({status:d.status,statusText:d.statusText})},extractResponseData:function(b){return b},applyEncoding:function(b){return Ext.encode(b)},encodeSorters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,direction:g[f].direction}}return this.applyEncoding(e)},encodeFilters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,value:g[f].value}}return this.applyEncoding(e)},getParams:function(z){var s=this,t={},w=Ext.isDefined,v=z.groupers,J=z.sorters,B=z.filters,D=z.page,E=z.start,u=z.limit,C=s.simpleSortMode,x=s.pageParam,G=s.startParam,I=s.limitParam,H=s.groupParam,F=s.sortParam,y=s.filterParam,A=s.directionParam;if(x&&w(D)){t[x]=D}if(G&&w(E)){t[G]=E}if(I&&w(u)){t[I]=u}if(H&&v&&v.length>0){t[H]=s.encodeSorters(v)}if(F&&J&&J.length>0){if(C){t[F]=J[0].property;t[A]=J[0].direction}else{t[F]=s.encodeSorters(J)}}if(y&&B&&B.length>0){t[y]=s.encodeFilters(B)}return t},buildUrl:function(f){var d=this,e=d.getUrl(f);if(!e){Ext.Error.raise("You are using a ServerProxy but have not supplied it with a url.")}if(d.noCache){e=Ext.urlAppend(e,Ext.String.format("{0}={1}",d.cacheString,Ext.Date.now()))}return e},getUrl:function(b){return b.url||this.api[b.action]||this.url},doRequest:function(e,f,d){Ext.Error.raise("The doRequest function has not been implemented on your Ext.data.proxy.Server subclass. See src/data/ServerProxy.js for details")},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(g,h,f){var i=this.getWriter(),j=this.buildRequest(g,h,f);if(g.allowWrite()){j=i.write(j)}Ext.apply(j,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(j,g,h,f),method:this.getMethod(j),disableCaching:false});Ext.Ajax.request(j);return j},getMethod:function(b){return this.actionMethods[b.action]},createRequestCallback:function(i,g,h,f){var j=this;return function(b,a,c){j.processResponse(a,g,i,c,h,f)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.IdGenerator","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.data.proxy.Ajax","Ext.util.MixedCollection"],onClassExtended:function(e,d){var f=d.onBeforeClassCreated;d.onBeforeClassCreated=function(P,b){var c=this,a=Ext.getClassName(P),I=P.prototype,D=P.prototype.superclass,O=b.validations||[],G=b.fields||[],B=b.associations||[],C=b.belongsTo,H=b.hasMany,F=b.idgen,z=new Ext.util.MixedCollection(false,function(g){return g.name}),A=new Ext.util.MixedCollection(false,function(g){return g.name}),J=D.validations,i=D.fields,M=D.associations,N,E,L,K=[];P.modelName=a;I.modelName=a;if(J){O=J.concat(O)}b.validations=O;if(i){G=i.items.concat(G)}for(E=0,L=G.length;E<L;++E){z.add(new Ext.data.Field(G[E]))}b.fields=z;if(F){b.idgen=Ext.data.IdGenerator.get(F)}if(C){C=Ext.Array.from(C);for(E=0,L=C.length;E<L;++E){N=C[E];if(!Ext.isObject(N)){N={model:N}}N.type="belongsTo";B.push(N)}delete b.belongsTo}if(H){H=Ext.Array.from(H);for(E=0,L=H.length;E<L;++E){N=H[E];if(!Ext.isObject(N)){N={model:N}}N.type="hasMany";B.push(N)}delete b.hasMany}if(M){B=M.items.concat(B)}for(E=0,L=B.length;E<L;++E){K.push("association."+B[E].type.toLowerCase())}if(b.proxy){if(typeof b.proxy==="string"){K.push("proxy."+b.proxy)}else{if(typeof b.proxy.type==="string"){K.push("proxy."+b.proxy.type)}}}Ext.require(K,function(){Ext.ModelManager.registerType(a,P);for(E=0,L=B.length;E<L;++E){N=B[E];Ext.apply(N,{ownerModel:a,associatedModel:N.model});if(Ext.ModelManager.getModel(N.model)===undefined){Ext.ModelManager.registerDeferredAssociation(N)}else{A.add(Ext.data.Association.create(N))}}b.associations=A;f.call(c,P,b);P.setProxy(P.prototype.proxy||P.prototype.defaultProxyType);Ext.ModelManager.onModelDefined(P)})}},inheritableStatics:{setProxy:function(b){if(!b.isProxy){if(typeof b=="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this);this.proxy=this.prototype.proxy=b;return b},getProxy:function(){return this.proxy},load:function(i,l){l=Ext.apply({},l);l=Ext.applyIf(l,{action:"read",id:i});var g=Ext.create("Ext.data.Operation",l),k=l.scope||this,h=null,j;j=function(a){if(a.wasSuccessful()){h=a.getRecords()[0];Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};this.proxy.read(g,j,this)}},statics:{PREFIX:"ext-record",AUTO_ID:1,EDIT:"edit",REJECT:"reject",COMMIT:"commit",id:function(d){var c=[this.PREFIX,"-",this.AUTO_ID++].join("");d.phantom=true;d.internalId=c;return c}},idgen:{isGenerator:true,type:"default",generate:function(){return null},getRecId:function(b){return b.modelName+"-"+b.internalId}},editing:false,dirty:false,persistenceProperty:"data",evented:false,isModel:true,phantom:false,idProperty:"id",defaultProxyType:"ajax",constructor:function(s,w,n){s=s||{};var p=this,q,v,o,x,t,u,r=Ext.isArray(s),i=r?{}:null;p.internalId=(w||w===0)?w:Ext.data.Model.id(p);p.raw=n;Ext.applyIf(p,{data:{}});p.modified={};if(p.persistanceProperty){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: persistanceProperty has been deprecated. Use persistenceProperty instead.")}p.persistenceProperty=p.persistanceProperty}p[p.persistenceProperty]={};p.mixins.observable.constructor.call(p);q=p.fields.items;v=q.length;for(t=0;t<v;t++){o=q[t];x=o.name;if(r){i[x]=s[t]}else{if(s[x]===undefined){s[x]=o.defaultValue}}}p.set(i||s);if(p.getId()){p.phantom=false}else{if(p.phantom){u=p.idgen.generate();if(u!==null){p.setId(u)}}}p.dirty=false;p.modified={};if(typeof p.init=="function"){p.init()}p.id=p.idgen.getRecId(p)},get:function(b){return this[this.persistenceProperty][b]},set:function(i,r){var t=this,v=t.fields,o=t.modified,w=[],s,p,x,q,y,u,z;if(arguments.length==1&&Ext.isObject(i)){y=!t.editing;u=0;for(p in i){if(i.hasOwnProperty(p)){s=v.get(p);if(s&&s.convert!==s.type.convert){w.push(p);continue}if(!u&&y){t.beginEdit()}++u;t.set(p,i[p])}}z=w.length;if(z){if(!u&&y){t.beginEdit()}u+=z;for(x=0;x<z;x++){s=w[x];t.set(s,i[s])}}if(y&&u){t.endEdit()}}else{if(v){s=v.get(i);if(s&&s.convert){r=s.convert(r,t)}}q=t.get(i);t[t.persistenceProperty][i]=r;if(s&&s.persist&&!t.isEqual(q,r)){if(t.isModified(i)){if(t.isEqual(o[i],r)){delete o[i];t.dirty=false;for(p in o){if(o.hasOwnProperty(p)){t.dirty=true;break}}}}else{t.dirty=true;o[i]=q}}if(!t.editing){t.afterEdit()}}},isEqual:function(a,b){if(Ext.isDate(a)&&Ext.isDate(b)){return a.getTime()===b.getTime()}return a===b},beginEdit:function(){var b=this;if(!b.editing){b.editing=true;b.dirtySave=b.dirty;b.dataSave=Ext.apply({},b[b.persistenceProperty]);b.modifiedSave=Ext.apply({},b.modified)}},cancelEdit:function(){var b=this;if(b.editing){b.editing=false;b.modified=b.modifiedSave;b[b.persistenceProperty]=b.dataSave;b.dirty=b.dirtySave;delete b.modifiedSave;delete b.dataSave;delete b.dirtySave}},endEdit:function(e){var d=this,f;if(d.editing){d.editing=false;f=d.dirty||d.changedWhileEditing();delete d.modifiedSave;delete d.dataSave;delete d.dirtySave;if(e!==true&&f){d.afterEdit()}}},changedWhileEditing:function(){var h=this,e=h.dataSave,g=h[h.persistenceProperty],f;for(f in g){if(g.hasOwnProperty(f)){if(!h.isEqual(g[f],e[f])){return true}}}return false},getChanges:function(){var e=this.modified,d={},f;for(f in e){if(e.hasOwnProperty(f)){d[f]=this.get(f)}}return d},isModified:function(b){return this.modified.hasOwnProperty(b)},setDirty:function(){var c=this,d;c.dirty=true;c.fields.each(function(a){if(a.persist){d=a.name;c.modified[d]=c.get(d)}},c)},markDirty:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: markDirty has been deprecated. Use setDirty instead.")}return this.setDirty.apply(this,arguments)},reject:function(f){var h=this,e=h.modified,g;for(g in e){if(e.hasOwnProperty(g)){if(typeof e[g]!="function"){h[h.persistenceProperty][g]=e[g]}}}h.dirty=false;h.editing=false;h.modified={};if(f!==true){h.afterReject()}},commit:function(d){var c=this;c.phantom=c.dirty=c.editing=false;c.modified={};if(d!==true){c.afterCommit()}},copy:function(d){var c=this;return new c.self(Ext.apply({},c[c.persistenceProperty]),d||c.internalId)},setProxy:function(b){if(!b.isProxy){if(typeof b==="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this.self);this.proxy=b;return b},getProxy:function(){return this.proxy},validate:function(){var i=Ext.create("Ext.data.Errors"),p=this.validations,n=Ext.data.validations,q,o,k,r,l,m;if(p){q=p.length;for(m=0;m<q;m++){o=p[m];k=o.field||o.name;l=o.type;r=n[l](o,this.get(k));if(!r){i.add({field:k,message:o.message||n[l+"Message"]})}}}return i},isValid:function(){return this.validate().isValid()},save:function(n){n=Ext.apply({},n);var l=this,k=l.phantom?"create":"update",i=null,m=n.scope||l,h,j;Ext.apply(n,{records:[l],action:k});h=Ext.create("Ext.data.Operation",n);j=function(a){if(a.wasSuccessful()){i=a.getRecords()[0];l.set(i.data);i.dirty=false;Ext.callback(n.success,m,[i,a])}else{Ext.callback(n.failure,m,[i,a])}Ext.callback(n.callback,m,[i,a])};l.getProxy()[k](h,j,l);return l},destroy:function(l){l=Ext.apply({},l);var j=this,h=null,k=l.scope||j,g,i;Ext.apply(l,{records:[j],action:"destroy"});g=Ext.create("Ext.data.Operation",l);i=function(a){if(a.wasSuccessful()){Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};j.getProxy().destroy(g,i,j);return j},getId:function(){return this.get(this.idProperty)},setId:function(b){this.set(this.idProperty,b)},join:function(b){this.store=b},unjoin:function(b){delete this.store},afterEdit:function(){this.callStore("afterEdit")},afterReject:function(){this.callStore("afterReject")},afterCommit:function(){this.callStore("afterCommit")},callStore:function(c){var d=this.store;if(d!==undefined&&typeof d[c]=="function"){d[c](this)}},getAssociatedData:function(){return this.prepareAssociatedData(this,[],null)},prepareAssociatedData:function(t,F,u){var y=t.associations.items,w=y.length,B={},A,G,z,i,H,C,D,v,x,j,E;for(v=0;v<w;v++){C=y[v];j=C.type;E=true;if(u){E=j==u}if(E&&j=="hasMany"){A=t[C.storeName];B[C.name]=[];if(A&&A.data.length>0){z=A.data.items;H=z.length;for(x=0;x<H;x++){i=z[x];D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name][x]=i.data;Ext.apply(B[C.name][x],this.prepareAssociatedData(i,F,j))}}}}else{if(E&&j=="belongsTo"){i=t[C.instanceName];if(i!==undefined){D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name]=i.data;Ext.apply(B[C.name],this.prepareAssociatedData(i,F,j))}}}}}return B}});Ext.define("Ext.app.Application",{extend:"Ext.app.Controller",requires:["Ext.ModelManager","Ext.data.Model","Ext.data.StoreManager","Ext.tip.QuickTipManager","Ext.ComponentManager","Ext.app.EventBus"],scope:undefined,enableQuickTips:true,appFolder:"app",autoCreateViewport:false,constructor:function(g){g=g||{};Ext.apply(this,g);var k=g.requires||[];Ext.Loader.setPath(this.name,this.appFolder);if(this.paths){Ext.Object.each(this.paths,function(b,a){Ext.Loader.setPath(b,a)})}this.callParent(arguments);this.eventbus=Ext.create("Ext.app.EventBus");var i=Ext.Array.from(this.controllers),j=i&&i.length,l,h;this.controllers=Ext.create("Ext.util.MixedCollection");if(this.autoCreateViewport){k.push(this.getModuleClassName("Viewport","view"))}for(l=0;l<j;l++){k.push(this.getModuleClassName(i[l],"controller"))}Ext.require(k);Ext.onReady(function(){for(l=0;l<j;l++){h=this.getController(i[l]);h.init(this)}this.onBeforeLaunch.call(this)},this)},control:function(d,f,e){this.eventbus.control(d,f,e)},launch:Ext.emptyFn,onBeforeLaunch:function(){if(this.enableQuickTips){Ext.tip.QuickTipManager.init()}if(this.autoCreateViewport){this.getView("Viewport").create()}this.launch.call(this.scope||this);this.launched=true;this.fireEvent("launch",this);this.controllers.each(function(b){b.onLaunch(this)},this)},getModuleClassName:function(e,f){var d=Ext.Loader.getPrefix(e);if(d.length>0&&d!==e){return e}return this.name+"."+f+"."+e},getController:function(c){var d=this.controllers.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"controller"),{application:this,id:c});this.controllers.add(d)}return d},getStore:function(c){var d=Ext.StoreManager.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"store"),{storeId:c})}return d},getModel:function(b){b=this.getModuleClassName(b,"model");return Ext.ModelManager.getModel(b)},getView:function(b){b=this.getModuleClassName(b,"view");return Ext.ClassManager.get(b)}});Ext.define("Docs.model.Stats",{extend:"Ext.data.Model",fields:["name","local_cfgs","local_properties","local_methods","local_events","local_members","total_cfgs","total_properties","total_methods","total_events","total_members","fanIn","fanOut","class_wc","members_wc","wc_per_member"]});Ext.define("Docs.view.stats.Index",{extend:"Ext.container.Container",alias:"widget.statsindex",requires:["Ext.grid.Panel","Docs.model.Stats"],layout:"fit",initComponent:function(){var b=Ext.create("Ext.data.Store",{model:"Docs.model.Stats",data:Docs.data.stats,sorters:"name"});this.items=[{xtype:"grid",store:b,title:"Statistics",columns:[{text:"Name",width:200,dataIndex:"name"},{text:"Configs",width:50,align:"right",dataIndex:"local_cfgs"},{text:"Props",width:50,align:"right",dataIndex:"local_properties"},{text:"Methods",width:50,align:"right",dataIndex:"local_methods"},{text:"Events",width:50,align:"right",dataIndex:"local_events"},{text:"Members",width:50,align:"right",dataIndex:"local_members",renderer:function(a){return"<b>"+a+"</b>"}},{text:"All Configs",width:50,align:"right",dataIndex:"total_cfgs"},{text:"All Props",width:50,align:"right",dataIndex:"total_properties"},{text:"All Methods",width:50,align:"right",dataIndex:"total_methods"},{text:"All Events",width:50,align:"right",dataIndex:"total_events"},{text:"All Members",width:50,align:"right",dataIndex:"total_members",renderer:function(a){return"<b>"+a+"</b>"}},{text:"Fan-in",width:50,align:"right",dataIndex:"fanIn"},{text:"Fan-out",width:50,align:"right",dataIndex:"fanOut"},{text:"Class word-count",width:50,align:"right",dataIndex:"class_wc"},{text:"Members word-count",width:50,align:"right",dataIndex:"members_wc"},{text:"wc / member",width:50,align:"right",dataIndex:"wc_per_member"}]}];this.callParent(arguments)},getTab:function(){var b=(Docs.data.stats||[]).length>0;return b?{cls:"stats",href:"#!/stats",tooltip:"Statistics"}:false}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.data.StoreManager","Ext.ModelManager","Ext.data.Model","Ext.util.Grouper"],uses:["Ext.data.proxy.Memory"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",pageSize:25,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,isStore:true,onClassExtended:function(f,h){var e=h.model;if(typeof e=="string"){var g=h.onBeforeClassCreated;h.onBeforeClassCreated=function(c,a){var b=this;Ext.require(e,function(){g.call(b,c,a)})}}},constructor:function(g){g=Ext.Object.merge({},g);var k=this,i=g.groupers||k.groupers,h=g.groupField||k.groupField,l,j;if(g.buffered||k.buffered){k.prefetchData=Ext.create("Ext.util.MixedCollection",false,function(a){return a.index});k.pendingRequests=[];k.pagesRequested=[];k.sortOnLoad=false;k.filterOnLoad=false}k.addEvents("beforeprefetch","groupchange","prefetch");j=g.data||k.data;k.data=Ext.create("Ext.util.MixedCollection",false,function(a){return a.internalId});if(j){k.inlineData=j;delete g.data}if(!i&&h){i=[{property:h,direction:g.groupDir||k.groupDir}]}delete g.groupers;k.groupers=Ext.create("Ext.util.MixedCollection");k.groupers.addAll(k.decodeGroupers(i));this.callParent([g]);if(k.groupers.items.length){k.sort(k.groupers.items,"prepend",false)}l=k.proxy;j=k.inlineData;if(j){if(l instanceof Ext.data.proxy.Memory){l.data=j;k.read()}else{k.add.apply(k,j)}k.sort();delete k.inlineData}else{if(k.autoLoad){Ext.defer(k.load,10,k,[typeof k.autoLoad==="object"?k.autoLoad:undefined])}}},onBeforeSort:function(){var b=this.groupers;if(b.getCount()>0){this.sort(b.items,"prepend",false)}},decodeGroupers:function(i){if(!Ext.isArray(i)){if(i===undefined){i=[]}else{i=[i]}}var j=i.length,h=Ext.util.Grouper,g,f;for(f=0;f<j;f++){g=i[f];if(!(g instanceof h)){if(Ext.isString(g)){g={property:g}}Ext.applyIf(g,{root:"data",direction:"ASC"});if(g.fn){g.sorterFn=g.fn}if(typeof g=="function"){g={sorterFn:g}}i[f]=new h(g)}}return i},group:function(j,i){var k=this,l=false,g,h;if(Ext.isArray(j)){h=j}else{if(Ext.isObject(j)){h=[j]}else{if(Ext.isString(j)){g=k.groupers.get(j);if(!g){g={property:j,direction:i};h=[g]}else{if(i===undefined){g.toggle()}else{g.setDirection(i)}}}}}if(h&&h.length){l=true;h=k.decodeGroupers(h);k.groupers.clear();k.groupers.addAll(h)}if(k.remoteGroup){k.load({scope:k,callback:k.fireGroupChange})}else{k.sort(null,null,null,l);k.fireGroupChange()}},clearGrouping:function(){var b=this;b.groupers.each(function(a){b.sorters.remove(a)});b.groupers.clear();if(b.remoteGroup){b.load({scope:b,callback:b.fireGroupChange})}else{b.sort();b.fireEvent("groupchange",b,b.groupers)}},isGrouped:function(){return this.groupers.getCount()>0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(q){var o=this.data.items,r=o.length,p=[],i={},m,l,k,n;for(n=0;n<r;n++){m=o[n];l=this.getGroupString(m);k=i[l];if(k===undefined){k={name:l,children:[]};p.push(k);i[l]=k}k.children.push(m)}return q?i[q]:p},getGroupsForGrouper:function(m,q){var o=m.length,n=[],r,p,k,i,l;for(l=0;l<o;l++){k=m[l];p=q.getGroupString(k);if(p!==r){i={name:p,grouper:q,records:[]};n.push(i)}i.records.push(k);r=p}return n},getGroupsForGrouperIndex:function(p,k){var m=this,l=m.groupers,i=l.getAt(k),j=m.getGroupsForGrouper(p,i),n=j.length,o;if(k+1<l.length){for(o=0;o<n;o++){j[o].children=m.getGroupsForGrouperIndex(j[o].records,k+1)}}for(o=0;o<n;o++){j[o].depth=k}return j},getGroupData:function(d){var c=this;if(d!==false){c.sort()}return c.getGroupsForGrouperIndex(c.data.items,0)},getGroupString:function(d){var c=this.groupers.first();if(c){return d.get(c.property)}return""},insert:function(m,n){var j=this,k=false,l,h,i;n=[].concat(n);for(l=0,i=n.length;l<i;l++){h=j.createModel(n[l]);h.set(j.modelDefaults);n[l]=h;j.data.insert(m+l,h);h.join(j);k=k||h.phantom===true}if(j.snapshot){j.snapshot.addAll(n)}j.fireEvent("add",j,n,m);j.fireEvent("datachanged",j);if(j.autoSync&&k){j.sync()}},add:function(f){if(!Ext.isArray(f)){f=Array.prototype.slice.apply(arguments)}var h=this,j=0,i=f.length,g;for(;j<i;j++){g=h.createModel(f[j]);f[j]=g}h.insert(h.data.length,f);return f},createModel:function(b){if(!b.isModel){b=Ext.ModelManager.create(b,this.model)}return b},each:function(c,d){this.data.each(c,d)},remove:function(q,i){if(!Ext.isArray(q)){q=[q]}i=i===true;var m=this,l=false,p=0,r=q.length,k,n,o;for(;p<r;p++){o=q[p];n=m.data.indexOf(o);if(m.snapshot){m.snapshot.remove(o)}if(n>-1){k=o.phantom===true;if(!i&&!k){m.removed.push(o)}o.unjoin(m);m.data.remove(o);l=l||!k;m.fireEvent("remove",m,o,n)}}m.fireEvent("datachanged",m);if(!i&&m.autoSync&&l){m.sync()}},removeAt:function(c){var d=this.getAt(c);if(d){this.remove(d)}},load:function(d){var c=this;d=d||{};if(Ext.isFunction(d)){d={callback:d}}Ext.applyIf(d,{groupers:c.groupers.items,page:c.currentPage,start:(c.currentPage-1)*c.pageSize,limit:c.pageSize,addRecords:false});return c.callParent([d])},onProxyLoad:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total}if(h){i.loadRecords(g,f)}i.loading=false;i.fireEvent("load",i,g,h);i.fireEvent("read",i,g,f.wasSuccessful());Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(s,r,i){if(i){var p=0,q=this.data,v=this.snapshot,u=s.length,m=r.records,o,t,n;for(;p<u;++p){o=s[p];t=m[p];if(t){n=q.indexOf(t);if(n>-1){q.removeAt(n);q.insert(n,o)}if(v){n=v.indexOf(t);if(n>-1){v.removeAt(n);v.insert(n,o)}}o.phantom=false;o.join(this)}}}},onUpdateRecords:function(o,p,k){if(k){var n=0,m=o.length,l=this.data,i=this.snapshot,j;for(;n<m;++n){j=o[n];l.replace(j);if(i){i.replace(j)}j.join(this)}}},onDestroyRecords:function(p,o,i){if(i){var k=this,m=0,q=p.length,n=k.data,r=k.snapshot,l;for(;m<q;++m){l=p[m];l.unjoin(k);n.remove(l);if(r){r.remove(l)}}k.removed=[]}},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(l,k){if(Ext.isString(l)){l={property:l,value:k}}var m=this,i=m.decodeFilters(l),h=0,j=m.sortOnFilter&&!m.remoteSort,n=i.length;for(;h<n;h++){m.filters.replace(i[h])}if(m.remoteFilter){m.load()}else{if(m.filters.getCount()){m.snapshot=m.snapshot||m.data.clone();m.data=m.data.filter(m.filters.items);if(j){m.sort()}if(!j||m.sorters.length<1){m.fireEvent("datachanged",m)}}}},clearFilter:function(d){var c=this;c.filters.clear();if(c.remoteFilter){c.load()}else{if(c.isFiltered()){c.data=c.snapshot.clone();delete c.snapshot;if(d!==true){c.fireEvent("datachanged",c)}}}},isFiltered:function(){var b=this.snapshot;return !!b&&b!==this.data},filterBy:function(d,e){var f=this;f.snapshot=f.snapshot||f.data.clone();f.data=f.queryBy(d,e||f);f.fireEvent("datachanged",f)},queryBy:function(e,f){var h=this,g=h.snapshot||h.data;return g.filterBy(e,f||h)},loadData:function(j,i){var n=this.model,k=j.length,l=[],m,h;for(m=0;m<k;m++){h=j[m];if(!(h instanceof Ext.data.Model)){h=Ext.ModelManager.create(h,n)}l.push(h)}this.loadRecords(l,{addRecords:i})},loadRawData:function(h,f){var i=this,g=i.proxy.reader.read(h),j=g.records;if(g.success){i.loadRecords(j,{addRecords:f});i.fireEvent("load",i,j,true)}},loadRecords:function(g,f){var h=this,j=0,i=g.length;f=f||{};if(!f.addRecords){delete h.snapshot;h.clearData()}h.data.addAll(g);for(;j<i;j++){if(f.start!==undefined){g[j].index=f.start+j}g[j].join(h)}h.suspendEvents();if(h.filterOnLoad&&!h.remoteFilter){h.filter()}if(h.sortOnLoad&&!h.remoteSort){h.sort()}h.resumeEvents();h.fireEvent("datachanged",h,g)},loadPage:function(f,e){var d=this;e=Ext.apply({},e);d.currentPage=f;d.read(Ext.applyIf(e,{page:f,start:(f-1)*d.pageSize,limit:d.pageSize,addRecords:!d.clearOnPageLoad}))},nextPage:function(b){this.loadPage(this.currentPage+1,b)},previousPage:function(b){this.loadPage(this.currentPage-1,b)},clearData:function(){var b=this;b.data.each(function(a){a.unjoin(b)});b.data.clear()},prefetch:function(e){var h=this,f,g=h.getRequestId();e=e||{};Ext.applyIf(e,{action:"read",filters:h.filters.items,sorters:h.sorters.items,requestId:g});h.pendingRequests.push(g);f=Ext.create("Ext.data.Operation",e);if(h.fireEvent("beforeprefetch",h,f)!==false){h.loading=true;h.proxy.read(f,h.onProxyPrefetch,h)}return h},prefetchPage:function(j,l){var k=this,g=k.pageSize,i=(j-1)*k.pageSize,h=i+g;if(Ext.Array.indexOf(k.pagesRequested,j)===-1&&!k.rangeSatisfied(i,h)){l=l||{};k.pagesRequested.push(j);Ext.applyIf(l,{page:j,start:i,limit:g,callback:k.onWaitForGuarantee,scope:k});k.prefetch(l)}},getRequestId:function(){this.requestSeed=this.requestSeed||1;return this.requestSeed++},onProxyPrefetch:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total;i.fireEvent("totalcountchange",i.totalCount)}if(h){i.cacheRecords(g,f)}Ext.Array.remove(i.pendingRequests,f.requestId);if(f.page){Ext.Array.remove(i.pagesRequested,f.page)}i.loading=false;i.fireEvent("prefetch",i,g,h,f);if(f.blocking){i.fireEvent("load",i,g,h)}Ext.callback(f.callback,f.scope||i,[g,f,h])},cacheRecords:function(g,h){var j=this,l=0,k=g.length,i=h?h.start:0;if(!Ext.isDefined(j.totalCount)){j.totalCount=g.length;j.fireEvent("totalcountchange",j.totalCount)}for(;l<k;l++){g[l].index=i+l}j.prefetchData.addAll(g);if(j.purgePageCount){j.purgeRecords()}},purgeRecords:function(){var j=this,f=j.prefetchData.getCount(),i=j.purgePageCount*j.pageSize,h=f-i-1,g=0;for(;g<=h;g++){j.prefetchData.removeAt(0)}},rangeSatisfied:function(h,g){var j=this,f=h,i=true;for(;f<g;f++){if(!j.prefetchData.getByKey(f)){i=false;if(g-f>j.pageSize){Ext.Error.raise("A single page prefetch could never satisfy this request.")}break}}return i},getPageFromRecordIndex:function(b){return Math.floor(b/this.pageSize)+1},onGuaranteedRange:function(){var k=this,n=k.getTotalCount(),j=k.requestStart,h=((n-1)<k.requestEnd)?n-1:k.requestEnd,m=[],i,l=j;h=Math.max(0,h);if(j>h){Ext.log({level:"warn",msg:"Start ("+j+") was greater than end ("+h+") for the range of records requested ("+k.requestStart+"-"+k.requestEnd+")"+(this.storeId?' from store "'+this.storeId+'"':"")})}if(j!==k.guaranteedStart&&h!==k.guaranteedEnd){k.guaranteedStart=j;k.guaranteedEnd=h;for(;l<=h;l++){i=k.prefetchData.getByKey(l);if(i){m.push(i)}}k.fireEvent("guaranteedrange",m,j,h);if(k.cb){k.cb.call(k.scope||k,m)}}k.unmask()},mask:function(){this.masked=true;this.fireEvent("beforeload")},unmask:function(){if(this.masked){this.fireEvent("load")}},hasPendingRequests:function(){return this.pendingRequests.length},onWaitForGuarantee:function(){if(!this.hasPendingRequests()){this.onGuaranteedRange()}},guaranteeRange:function(x,v,w,i){if(x&&v){if(v-x>this.pageSize){Ext.Error.raise({start:x,end:v,pageSize:this.pageSize,msg:"Requested a bigger range than the specified pageSize"})}}v=(v>this.totalCount)?this.totalCount-1:v;var q=this,u=x,o=q.prefetchData,t=[],r=!!o.getByKey(x),p=!!o.getByKey(v),s=q.getPageFromRecordIndex(x),n=q.getPageFromRecordIndex(v);q.cb=w;q.scope=i;q.requestStart=x;q.requestEnd=v;if(!r||!p){if(s===n){q.mask();q.prefetchPage(s,{callback:q.onWaitForGuarantee,scope:q})}else{q.mask();q.prefetchPage(s,{callback:q.onWaitForGuarantee,scope:q});q.prefetchPage(n,{callback:q.onWaitForGuarantee,scope:q})}}else{q.onGuaranteedRange()}},sort:function(){var k=this,l=k.prefetchData,j,i,h,g;if(k.buffered){if(k.remoteSort){l.clear();k.callParent(arguments)}else{j=k.getSorters();i=k.guaranteedStart;h=k.guaranteedEnd;if(j.length){l.sort(j);g=l.getRange();l.clear();k.cacheRecords(g);delete k.guaranteedStart;delete k.guaranteedEnd;k.guaranteeRange(i,h)}k.callParent(arguments)}}else{k.callParent(arguments)}},doSort:function(f){var h=this;if(h.remoteSort){h.load()}else{h.data.sortBy(f);if(!h.buffered){var g=h.getRange(),i=g.length,j=0;for(;j<i;j++){g[j].index=j}}h.fireEvent("datachanged",h)}},find:function(l,m,j,k,i,n){var h=this.createFilterFn(l,m,k,i,n);return h?this.data.findIndexBy(h,null,j):-1},findRecord:function(){var c=this,d=c.find.apply(c,arguments);return d!==-1?c.getAt(d):null},createFilterFn:function(i,j,h,g,f){if(Ext.isEmpty(j)){return false}j=this.data.createValueMatcher(j,h,g,f);return function(a){return j.test(a.data[i])}},findExact:function(d,e,f){return this.data.findIndexBy(function(a){return a.get(d)==e},this,f)},findBy:function(d,e,f){return this.data.findIndexBy(d,e,f)},collect:function(f,g,j){var i=this,h=(j===true&&i.snapshot)?i.snapshot:i.data;return h.collect(f,"data",g)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalCount},getAt:function(b){return this.data.getAt(b)},getRange:function(c,d){return this.data.getRange(c,d)},getById:function(b){return(this.snapshot||this.data).findBy(function(a){return a.getId()===b})},indexOf:function(b){return this.data.indexOf(b)},indexOfTotal:function(d){var c=d.index;if(c||c===0){return c}return this.indexOf(d)},indexOfId:function(b){return this.indexOf(this.getById(b))},removeAll:function(d){var c=this;c.clearData();if(c.snapshot){c.snapshot.clear()}if(d!==true){c.fireEvent("clear",c)}},first:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length?a[0]:undefined},c,true)}else{return c.data.first()}},last:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){var b=a.length;return b?a[b-1]:undefined},c,true)}else{return c.data.last()}},sum:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getSum,d,true,[f])}else{return d.getSum(d.data.items,f)}},getSum:function(f,h){var i=0,j=0,g=f.length;for(;j<g;++j){i+=f[j].get(h)}return i},count:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length},c,true)}else{return c.getCount()}},min:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMin,d,true,[f])}else{return d.getMin(d.data.items,f)}},getMin:function(g,i){var k=1,h=g.length,j,l;if(h>0){l=g[0].get(i)}for(;k<h;++k){j=g[k].get(i);if(j<l){l=j}}return l},max:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMax,d,true,[f])}else{return d.getMax(d.data.items,f)}},getMax:function(l,i){var k=1,g=l.length,j,h;if(g>0){h=l[0].get(i)}for(;k<g;++k){j=l[k].get(i);if(j>h){h=j}}return h},average:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getAverage,d,true,[f])}else{return d.getAverage(d.data.items,f)}},getAverage:function(f,h){var j=0,g=f.length,i=0;if(f.length>0){for(;j<g;++j){i+=f[j].get(h)}return i/g}return 0},aggregate:function(l,i,n,m){m=m||[];if(n&&this.isGrouped()){var r=this.getGroups(),p=0,o=r.length,q={},k;for(;p<o;++p){k=r[p];q[k.name]=l.apply(i||this,[k.children].concat(m))}return q}else{return l.apply(i||this,[this.data.items].concat(m))}}},function(){Ext.regStore("ext-empty-store",{fields:[],proxy:"proxy"})});Ext.define("Ext.data.NodeStore",{extend:"Ext.data.Store",alias:"store.node",requires:["Ext.data.NodeInterface"],node:null,recursive:false,rootVisible:false,constructor:function(e){var f=this,d;e=e||{};Ext.apply(f,e);if(Ext.isDefined(f.proxy)){Ext.Error.raise("A NodeStore cannot be bound to a proxy. Instead bind it to a record decorated with the NodeInterface by setting the node config.")}e.proxy={type:"proxy"};f.callParent([e]);f.addEvents("expand","collapse","beforeexpand","beforecollapse");d=f.node;if(d){f.node=null;f.setNode(d)}},setNode:function(c){var d=this;if(d.node&&d.node!=c){d.mun(d.node,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=null}if(c){Ext.data.NodeInterface.decorate(c);d.removeAll();if(d.rootVisible){d.add(c)}d.mon(c,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=c;if(c.isExpanded()&&c.isLoaded()){d.onNodeExpand(c,c.childNodes,true)}}},onNodeSort:function(d,f){var e=this;if((e.indexOf(d)!==-1||(d===e.node&&!e.rootVisible)&&d.isExpanded())){e.onNodeCollapse(d,f,true);e.onNodeExpand(d,f,true)}},onNodeExpand:function(m,o,p){var k=this,j=k.indexOf(m)+1,l=o?o.length:0,n,i;if(!k.recursive&&m!==k.node){return}if(!k.isVisible(m)){return}if(!p&&k.fireEvent("beforeexpand",m,o,j)===false){return}if(l){k.insert(j,o);for(n=0;n<l;n++){i=o[n];if(i.isExpanded()){if(i.isLoaded()){k.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}}if(!p){k.fireEvent("expand",m,o)}},onNodeCollapse:function(m,p,i){var k=this,l=p.length,n=k.indexOf(m)+1,o,j;if(!k.recursive&&m!==k.node){return}if(!i&&k.fireEvent("beforecollapse",m,p,n)===false){return}for(o=0;o<l;o++){j=p[o];k.remove(j);if(j.isExpanded()){k.onNodeCollapse(j,j.childNodes,true)}}if(!i){k.fireEvent("collapse",m,p,n)}},onNodeAppend:function(k,i,g){var j=this,h,l;if(j.isVisible(i)){if(g===0){h=k}else{l=i.previousSibling;while(l.isExpanded()&&l.lastChild){l=l.lastChild}h=l}j.insert(j.indexOf(h)+1,i);if(!i.isLeaf()&&i.isExpanded()){if(i.isLoaded()){j.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}},onNodeInsert:function(j,h,g){var i=this,f=this.indexOf(g);if(f!=-1&&i.isVisible(h)){i.insert(f,h);if(!h.isLeaf()&&h.isExpanded()){if(h.isLoaded()){i.onNodeExpand(h,h.childNodes,true)}else{h.set("expanded",false);h.expand()}}}},onNodeRemove:function(e,g,f){var h=this;if(h.indexOf(g)!=-1){if(!g.isLeaf()&&g.isExpanded()){h.onNodeCollapse(g,g.childNodes,true)}h.remove(g)}},isVisible:function(c){var d=c.parentNode;while(d){if(d===this.node&&!this.rootVisible&&d.isExpanded()){return true}if(this.indexOf(d)===-1||!d.isExpanded()){return false}d=d.parentNode}return true}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.AbstractStore",alias:"store.tree",requires:["Ext.data.Tree","Ext.data.NodeInterface","Ext.data.NodeStore"],clearOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",folderSort:false,constructor:function(h){var g=this,e,f;h=Ext.apply({},h);f=h.fields||g.fields;if(!f){h.fields=[{name:"text",type:"string"}]}g.callParent([h]);g.tree=Ext.create("Ext.data.Tree");g.relayEvents(g.tree,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);g.tree.on({scope:g,remove:g.onNodeRemove,beforeexpand:g.onBeforeNodeExpand,beforecollapse:g.onBeforeNodeCollapse,append:g.onNodeAdded,insert:g.onNodeAdded});g.onBeforeSort();e=g.root;if(e){delete g.root;g.setRootNode(e)}g.addEvents("sort");if(Ext.isDefined(g.nodeParameter)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.")}g.nodeParam=g.nodeParameter;delete g.nodeParameter}},setProxy:function(f){var e,d;if(f instanceof Ext.data.proxy.Proxy){d=Ext.isEmpty(f.getReader().root)}else{if(Ext.isString(f)){d=true}else{e=f.reader;d=!(e&&!Ext.isEmpty(e.root))}}f=this.callParent(arguments);if(d){e=f.getReader();e.root=this.defaultRootProperty;e.buildExtractors(true)}},onBeforeSort:function(){if(this.folderSort){this.sort({property:"leaf",direction:"ASC"},"prepend",false)}},onBeforeNodeExpand:function(d,f,e){if(d.isLoaded()){Ext.callback(f,e||d,[d.childNodes])}else{if(d.isLoading()){this.on("load",function(){Ext.callback(f,e||d,[d.childNodes])},this,{single:true})}else{this.read({node:d,callback:function(){Ext.callback(f,e||d,[d.childNodes])}})}}},getNewRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterNew)},getUpdatedRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterUpdated)},onBeforeNodeCollapse:function(d,f,e){f.call(e||d,d.childNodes)},onNodeRemove:function(e,d){var f=this.removed;if(!d.isReplace&&Ext.Array.indexOf(f,d)==-1){f.push(d)}},onNodeAdded:function(m,l){var n=this.getProxy(),i=n.getReader(),k=l.raw||l.data,j,h;Ext.Array.remove(this.removed,l);if(!l.isLeaf()&&!l.isLoaded()){j=i.getRoot(k);if(j){this.fillNode(l,i.extractData(j));delete k[i.root]}}},setRootNode:function(d){var c=this;d=d||{};if(!d.isNode){Ext.applyIf(d,{id:c.defaultRootId,text:"Root",allowDrag:false});d=Ext.ModelManager.create(d,c.model)}Ext.data.NodeInterface.decorate(d);c.getProxy().getReader().buildExtractors(true);c.tree.setRootNode(d);if(!d.isLoaded()&&(c.autoLoad===true||d.isExpanded())){c.load({node:d})}return d},getRootNode:function(){return this.tree.getRootNode()},getNodeById:function(b){return this.tree.getNodeById(b)},load:function(e){e=e||{};e.params=e.params||{};var g=this,h=e.node||g.tree.getRootNode(),f;if(!h){h=g.setRootNode({expanded:true})}if(g.clearOnLoad){h.removeAll(true)}Ext.applyIf(e,{node:h});e.params[g.nodeParam]=h?h.getId():"root";if(h){h.set("loading",true)}return g.callParent([e])},fillNode:function(i,g){var j=this,k=g?g.length:0,l=0,h;if(k&&j.sortOnLoad&&!j.remoteSort&&j.sorters&&j.sorters.items){h=Ext.create("Ext.util.MixedCollection");h.addAll(g);h.sort(j.sorters.items);g=h.items}i.set("loaded",true);for(;l<k;l++){i.appendChild(g[l],undefined,true)}return g},onProxyLoad:function(f){var i=this,h=f.wasSuccessful(),g=f.getRecords(),j=f.node;i.loading=false;j.set("loading",false);if(h){g=i.fillNode(j,g)}i.fireEvent("read",i,f.node,g,h);i.fireEvent("load",i,f.node,g,h);Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(r,q,i){if(i){var p=0,t=r.length,l=q.records,n,o,s,m;for(;p<t;++p){o=r[p];s=l[p];if(s){n=s.parentNode;if(n){s.isReplace=true;n.replaceChild(o,s);delete s.isReplace}o.phantom=false}}}},onUpdateRecords:function(r,q,i){if(i){var l=this,o=0,t=r.length,p=l.data,s,m,n;for(;o<t;++o){n=r[o];s=l.tree.getNodeById(n.getId());m=s.parentNode;if(m){s.isReplace=true;m.replaceChild(n,s);s.isReplace=false}}}},onDestroyRecords:function(d,e,f){if(f){this.removed=[]}},removeAll:function(){this.getRootNode().destroy(true);this.fireEvent("clear",this)},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.tree.sort(d,true);c.fireEvent("datachanged",c)}c.fireEvent("sort",c)}});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",clear:function(){Ext.Error.raise("The Ext.data.proxy.Client subclass that you are using has not defined a 'clear' function. See src/data/ClientProxy.js for details.")}});Ext.define("Ext.data.proxy.WebStorage",{extend:"Ext.data.proxy.Client",alternateClassName:"Ext.data.WebStorageProxy",id:undefined,constructor:function(b){this.callParent(arguments);this.cache={};if(this.getStorageObject()===undefined){Ext.Error.raise("Local Storage is not supported in this browser, please use another type of data proxy")}this.id=this.id||(this.store?this.store.storeId:undefined);if(this.id===undefined){Ext.Error.raise("No unique id was provided to the local storage proxy. See Ext.data.proxy.LocalStorage documentation for details")}this.initialize()},create:function(n,k,i){var o=n.records,p=o.length,r=this.getIds(),q,l,m;n.setStarted();for(m=0;m<p;m++){l=o[m];if(l.phantom){l.phantom=false;q=this.getNextId()}else{q=l.getId()}this.setRecord(l,q);r.push(q)}this.setIds(r);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},read:function(n,k,i){var o=[],r=this.getIds(),p=r.length,m,q,l;if(n.id){l=this.getRecord(n.id);if(l){o.push(l);n.setSuccessful()}}else{for(m=0;m<p;m++){o.push(this.getRecord(r[m]))}n.setSuccessful()}n.setCompleted();n.resultSet=Ext.create("Ext.data.ResultSet",{records:o,total:o.length,loaded:true});if(typeof k=="function"){k.call(i||this,n)}},update:function(n,k,i){var o=n.records,p=o.length,r=this.getIds(),l,q,m;n.setStarted();for(m=0;m<p;m++){l=o[m];this.setRecord(l);q=l.getId();if(q!==undefined&&Ext.Array.indexOf(r,q)==-1){r.push(q)}}this.setIds(r);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},destroy:function(i,k,n){var j=i.records,m=j.length,o=this.getIds(),l=[].concat(o),p;for(p=0;p<m;p++){Ext.Array.remove(l,j[p].getId());this.removeRecord(j[p],false)}this.setIds(l);i.setCompleted();i.setSuccessful();if(typeof k=="function"){k.call(n||this,i)}},getRecord:function(r){if(this.cache[r]===undefined){var t=Ext.decode(this.getStorageObject().getItem(this.getRecordKey(r))),o={},p=this.model,l=p.prototype.fields.items,q=l.length,n,i,s,m;for(n=0;n<q;n++){i=l[n];s=i.name;if(typeof i.decode=="function"){o[s]=i.decode(t[s])}else{o[s]=t[s]}}m=new p(o,r);m.phantom=false;this.cache[r]=m}return this.cache[r]},setRecord:function(r,x){if(x){r.setId(x)}else{x=r.getId()}var p=this,z=r.data,t={},s=p.model,q=s.prototype.fields.items,w=q.length,u=0,o,y,v,i;for(;u<w;u++){o=q[u];y=o.name;if(typeof o.encode=="function"){t[y]=o.encode(z[y],r)}else{t[y]=z[y]}}v=p.getStorageObject();i=p.getRecordKey(x);p.cache[x]=r;v.removeItem(i);v.setItem(i,Ext.encode(t))},removeRecord:function(g,h){var e=this,f;if(g.isModel){g=g.getId()}if(h!==false){f=e.getIds();Ext.Array.remove(f,g);e.setIds(f)}e.getStorageObject().removeItem(e.getRecordKey(g))},getRecordKey:function(b){if(b.isModel){b=b.getId()}return Ext.String.format("{0}-{1}",this.id,b)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.id)},getIds:function(){var d=(this.getStorageObject().getItem(this.id)||"").split(","),f=d.length,e;if(f==1&&d[0]===""){d=[]}else{for(e=0;e<f;e++){d[e]=parseInt(d[e],10)}}return d},setIds:function(e){var d=this.getStorageObject(),f=e.join(",");d.removeItem(this.id);if(!Ext.isEmpty(f)){d.setItem(this.id,f)}},getNextId:function(){var i=this.getStorageObject(),g=this.getRecordCounterKey(),j=i.getItem(g),f,h;if(j===null){f=this.getIds();j=f[f.length-1]||0}h=parseInt(j,10)+1;i.setItem(g,h);return h},initialize:function(){var b=this.getStorageObject();b.setItem(this.id,b.getItem(this.id)||"")},clear:function(){var g=this.getStorageObject(),h=this.getIds(),f=h.length,e;for(e=0;e<f;e++){this.removeRecord(h[e])}g.removeItem(this.getRecordCounterKey());g.removeItem(this.id)},getStorageObject:function(){Ext.Error.raise("The getStorageObject function has not been defined in your Ext.data.proxy.WebStorage subclass")}});Ext.define("Ext.data.proxy.LocalStorage",{extend:"Ext.data.proxy.WebStorage",alias:"proxy.localstorage",alternateClassName:"Ext.data.LocalStorageProxy",getStorageObject:function(){return window.localStorage}});Ext.define("Docs.model.Setting",{fields:["id","key","value"],extend:"Ext.data.Model",proxy:{type:window.localStorage?"localstorage":"memory",id:Docs.data.localStorageDb+"-settings"}});Ext.define("Docs.store.Settings",{extend:"Ext.data.Store",model:"Docs.model.Setting"});Ext.define("Docs.Settings",{extend:"Docs.LocalStore",singleton:true,requires:"Docs.store.Settings",storeName:"Docs.store.Settings",defaults:{show:{"public":true,"protected":false,"private":false,deprecated:false,removed:false,inherited:true,accessor:true},showPrivateClasses:false,classTreeLogic:"PackageLogic"},set:function(d,f){var e=this.store.findExact("key",d);if(e>-1){this.store.removeAt(e)}this.store.add({key:d,value:f});this.syncStore()},get:function(c){var d=this.store.findExact("key",c);return d>-1?this.store.getAt(d).get("value"):this.defaults[c]}});Ext.define("Docs.Application",{extend:"Ext.app.Application",name:"Docs",requires:["Docs.History","Docs.Settings"],uses:["Ext.util.History","Ext.data.JsonP"],controllers:["Auth","Welcome","Failure","Classes","Comments","CommentsMeta","Search","InlineExamples","Examples","Guides","Videos","Stats","Tabs"],launch:function(){Docs.App=this;Docs.Settings.init();Ext.create("Docs.view.Viewport");Docs.History.init();if(Docs.initEventTracking){Docs.initEventTracking()}Ext.get("loading").remove()}});Ext.define("Docs.view.cls.Tree",{extend:"Docs.view.DocTree",alias:"widget.classtree",requires:["Docs.view.cls.PackageLogic","Docs.view.cls.InheritanceLogic","Docs.Settings"],initComponent:function(){this.setLogic(Docs.Settings.get("classTreeLogic"),Docs.Settings.get("showPrivateClasses"));this.dockedItems=[{xtype:"container",dock:"bottom",layout:"hbox",items:[{width:34},{xtype:"checkbox",boxLabel:"Show private classes",cls:"cls-private-cb",checked:Docs.Settings.get("showPrivateClasses"),listeners:{change:function(d,c){this.setLogic(Docs.Settings.get("classTreeLogic"),c)},scope:this}}]},{xtype:"container",dock:"bottom",cls:"cls-grouping",html:[this.makeButtonHtml("PackageLogic","By Package"),this.makeButtonHtml("InheritanceLogic","By Inheritance")].join("")}];this.on("afterrender",this.setupButtonClickHandler,this);this.callParent()},makeButtonHtml:function(d,c){return Ext.String.format('<button class="{0} {1}">{2}</button>',d,Docs.Settings.get("classTreeLogic")===d?"selected":"",c)},setupButtonClickHandler:function(){this.el.addListener("click",function(g,h){var f=Ext.get(h),e=Ext.get(Ext.query(".cls-grouping button.selected")[0]);if(e.dom===f.dom){return}e.removeCls("selected");f.addCls("selected");if(f.hasCls("PackageLogic")){this.setLogic("PackageLogic",Docs.Settings.get("showPrivateClasses"))}else{this.setLogic("InheritanceLogic",Docs.Settings.get("showPrivateClasses"))}},this,{delegate:"button"})},setLogic:function(i,f){Docs.Settings.set("classTreeLogic",i);Docs.Settings.set("showPrivateClasses",f);var g=new Docs.view.cls[i]({classes:this.data,showPrivateClasses:f});if(this.root){var h=this.getSelectionModel().getLastSelected();var j=g.create();this.expandLonelyNode(j.root);this.setRootNode(j.root);this.initNodeLinks();h&&this.selectUrl(h.raw.url)}else{var j=g.create();this.root=j.root;this.expandLonelyNode(this.root)}this.privates=j.privates},expandLonelyNode:function(d){var c=Ext.Array.filter(d.children,function(a){return a.children.length>0});if(c.length==1){c[0].expanded=true}},findRecordByUrl:function(b){return this.callParent([b])||this.findPrivateRecordByUrl(b)},findPrivateRecordByUrl:function(e){var f=this.privates;for(var d=0;d<f.length;d++){if(f[d].url===e){return f[d]}}return undefined}});Ext.define("Docs.view.TreeContainer",{extend:"Ext.panel.Panel",alias:"widget.treecontainer",requires:["Docs.view.cls.Tree","Docs.view.GroupTree"],cls:"iScroll",layout:"card",resizable:true,resizeHandles:"e",collapsible:true,hideCollapseTool:true,animCollapse:true,initComponent:function(){this.items=[{},{xtype:"classtree",id:"classtree",data:Docs.data.classes},{xtype:"grouptree",id:"exampletree",data:Docs.data.examples,convert:function(b){return{leaf:true,text:b.title,url:"#!/example/"+b.name,iconCls:"icon-example"}}},{xtype:"grouptree",id:"guidetree",data:Docs.data.guides,convert:function(b){return{leaf:true,text:b.title,url:"#!/guide/"+b.name,iconCls:"icon-guide"}}},{xtype:"grouptree",id:"videotree",data:Docs.data.videos,convert:function(b){return{leaf:true,text:b.title,url:"#!/video/"+b.name,iconCls:"icon-video"}}}];this.callParent()},showTree:function(b){this.show();this.layout.setActiveItem(b)}});Ext.define("Docs.view.cls.Toolbar",{extend:"Ext.toolbar.Toolbar",requires:["Docs.view.HoverMenuButton","Docs.Settings","Ext.form.field.Checkbox"],dock:"top",cls:"member-links",padding:"3 5",style:"border-width: 1px 1px 1px 1px !important;",docClass:{},accessors:{},initComponent:function(){this.addEvents("menubuttonclick","filter","toggleExpanded");this.items=[];this.memberButtons={};var h={cfg:"Configs",property:"Properties",method:"Methods",event:"Events",css_var:"CSS Vars",css_mixin:"CSS Mixins"};for(var i in h){var f=this.docClass.members[i].concat(this.docClass.statics[i]);f.sort(function(a,b){if(a.name==="constructor"&&a.tagname==="method"){return -1}return a.name<b.name?-1:(a.name>b.name?1:0)});if(f.length>0){var j=this.createMemberButton({text:h[i],type:i,members:f});this.memberButtons[i]=j;this.items.push(j)}}this.checkItems={"public":this.createCb("Public","public"),"protected":this.createCb("Protected","protected"),"private":this.createCb("Private","private"),inherited:this.createCb("Inherited","inherited"),accessor:this.createCb("Accessor","accessor"),deprecated:this.createCb("Deprecated","deprecated"),removed:this.createCb("Removed","removed")};var g=this;this.items=this.items.concat([{xtype:"tbfill"},this.filterField=Ext.widget("triggerfield",{triggerCls:"reset",cls:"member-filter",hideTrigger:true,emptyText:"Filter class members",enableKeyEvents:true,listeners:{keyup:function(a){this.fireEvent("filter",a.getValue(),this.getShowFlags());a.setHideTrigger(a.getValue().length===0)},specialkey:function(a,b){if(b.keyCode===Ext.EventObject.ESC){a.reset();this.fireEvent("filter","",this.getShowFlags())}},scope:this},onTriggerClick:function(){this.reset();this.focus();g.fireEvent("filter","",g.getShowFlags());this.setHideTrigger(true)}}),{xtype:"tbspacer",width:10},{xtype:"button",text:"Show",menu:[this.checkItems["public"],this.checkItems["protected"],this.checkItems["private"],"-",this.checkItems.inherited,this.checkItems.accessor,this.checkItems.deprecated,this.checkItems.removed]},{xtype:"button",iconCls:"expand-all-members",tooltip:"Expand all",enableToggle:true,toggleHandler:function(b,a){b.setIconCls(a?"collapse-all-members":"expand-all-members");this.fireEvent("toggleExpanded",a)},scope:this}]);this.callParent(arguments)},getShowFlags:function(){var d={};for(var c in this.checkItems){d[c]=this.checkItems[c].checked}return d},createCb:function(c,d){return Ext.widget("menucheckitem",{text:c,checked:Docs.Settings.get("show")[d],listeners:{checkchange:function(){this.fireEvent("filter",this.filterField.getValue(),this.getShowFlags())},scope:this}})},createMemberButton:function(d){var c=Ext.Array.map(d.members,function(a){return this.createLinkRecord(this.docClass.name,a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:d.text,cls:"icon-"+d.type,store:this.createStore(c),showCount:true,listeners:{click:function(){this.fireEvent("menubuttonclick",d.type)},scope:this}})},createStore:function(c){var d=Ext.create("Ext.data.Store",{fields:["id","url","label","inherited","accessor","meta"]});d.add(c);return d},createLinkRecord:function(d,c){return{url:d+"-"+c.id,label:(c.tagname==="method"&&c.name==="constructor")?"new "+d:c.name,inherited:c.owner!==d,accessor:c.tagname==="method"&&this.accessors.hasOwnProperty(c.name),meta:c.meta}},showMenuItems:function(d,e,f){Ext.Array.forEach(["cfg","property","method","event"],function(a){if(this.memberButtons[a]){var b=this.memberButtons[a].getStore();b.filterBy(function(c){return !(!d["public"]&&!(c.get("meta")["private"]||c.get("meta")["protected"])||!d["protected"]&&c.get("meta")["protected"]||!d["private"]&&c.get("meta")["private"]||!d.inherited&&c.get("inherited")||!d.accessor&&c.get("accessor")||!d.deprecated&&c.get("meta")["deprecated"]||!d.removed&&c.get("meta")["removed"]||e&&!f.test(c.get("label")))})}},this)},getFilterValue:function(){return this.filterField.getValue()}});Ext.define("Docs.view.cls.Overview",{extend:"Ext.panel.Panel",alias:"widget.classoverview",requires:["Docs.view.cls.Toolbar","Docs.view.examples.Inline","Docs.Syntax","Docs.Settings"],cls:"class-overview iScroll",autoScroll:true,border:false,bodyPadding:"20 8 20 5",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(k,j){var m=(typeof k=="string")?Ext.get(Ext.query(k)[0]):k;if(m){var l=m.hasCls("member");m.show();if(l&&m.down(".expandable")){m.addCls("open")}var h=m.getY()-(l?165:155)+(j||0);var n=this.getEl().down(".x-panel-body");var i=n.getScroll()["top"];n.scrollTo("top",i+h);m.highlight()}},load:function(b){this.docClass=b;this.accessors=this.buildAccessorsMap();if(this.toolbar){this.removeDocked(this.toolbar,false);this.toolbar.destroy()}this.toolbar=Ext.create("Docs.view.cls.Toolbar",{docClass:this.docClass,accessors:this.accessors,listeners:{filter:function(d,a){this.filterMembers(d,a)},menubuttonclick:function(a){this.scrollToEl("h3.members-title.icon-"+a,-20)},scope:this}});this.addDocked(this.toolbar);this.update(b.html);Docs.Syntax.highlight(this.getEl());this.filterMembers("",Docs.Settings.get("show"));this.fireEvent("afterload")},filterMembers:function(h,e){Docs.Settings.set("show",e);var f=h.length>0;Ext.Array.forEach(Ext.query(".doc-contents, .hierarchy"),function(a){Ext.get(a).setStyle({display:f?"none":"block"})});var g=new RegExp(Ext.String.escapeRegex(h),"i");this.eachMember(function(c){var b=Ext.get(c.id);var a=!(!e["public"]&&!(c.meta["private"]||c.meta["protected"])||!e["protected"]&&c.meta["protected"]||!e["private"]&&c.meta["private"]||!e.inherited&&(c.owner!==this.docClass.name)||!e.accessor&&c.tagname==="method"&&this.accessors.hasOwnProperty(c.name)||!e.deprecated&&c.meta.deprecated||!e.removed&&c.meta.removed||f&&!g.test(c.name));if(a){b.setStyle({display:"block"})}else{b.setStyle({display:"none"})}},this);Ext.Array.forEach(Ext.query(".member.first-child"),function(a){Ext.get(a).removeCls("first-child")});Ext.Array.forEach(Ext.query(".members-section"),function(b){var a=this.getVisibleElements(".member",b);Ext.get(b).setStyle({display:a.length>0?"block":"none"});Ext.Array.forEach(Ext.query(".subsection",b),function(d){var c=this.getVisibleElements(".member",d);if(c.length>0){c[0].addCls("first-child");Ext.get(d).setStyle({display:"block"})}else{Ext.get(d).setStyle({display:"none"})}},this)},this);this.toolbar.showMenuItems(e,f,g)},buildAccessorsMap:function(c){var d={};Ext.Array.forEach(this.docClass.members.cfg,function(b){var a=Ext.String.capitalize(b.name);d["get"+a]=true;d["set"+a]=true});return d},getVisibleElements:function(e,d){var f=Ext.Array.map(Ext.query(e,d),function(a){return Ext.get(a)});return Ext.Array.filter(f,function(a){return a.isVisible()})},eachMember:function(c,d){Ext.Array.forEach(["members","statics"],function(a){Ext.Object.each(this.docClass[a],function(b,f){Ext.Array.forEach(f,c,d)},this)},this)}});Ext.define("Docs.view.cls.Container",{extend:"Ext.container.Container",alias:"widget.classcontainer",requires:["Docs.view.cls.Header","Docs.view.cls.Overview"],layout:{type:"vbox",align:"stretch"},padding:"5 10 0 10",initComponent:function(){this.items=[Ext.create("Docs.view.cls.Header"),Ext.create("Docs.view.cls.Overview",{flex:1})];this.callParent(arguments)}});Ext.define("Docs.view.Viewport",{extend:"Ext.container.Viewport",requires:["Docs.view.search.Container","Docs.view.Header","Docs.view.Tabs","Docs.view.TreeContainer","Docs.view.welcome.Index","Docs.view.auth.Login","Docs.view.comments.Index","Docs.view.Comments","Docs.view.cls.Index","Docs.view.cls.Container","Docs.view.guides.Index","Docs.view.guides.Container","Docs.view.videos.Index","Docs.view.videos.Container","Docs.view.examples.Index","Docs.view.examples.Container","Docs.view.examples.TouchContainer","Docs.view.stats.Index"],id:"viewport",layout:"border",defaults:{xtype:"container"},initComponent:function(){this.items=[{region:"north",id:"north-region",height:65,layout:{type:"vbox",align:"stretch"},items:[{height:37,xtype:"container",layout:"hbox",items:[{xtype:"docheader"},{xtype:"container",flex:1},{id:"loginContainer",xtype:"authentication",width:500,padding:"10 20 0 0"},{xtype:"searchcontainer",id:"search-container",width:230,margin:"4 0 0 0"}]},{xtype:"doctabs"}]},{region:"center",layout:"border",minWidth:800,items:[{region:"west",xtype:"treecontainer",id:"treecontainer",border:1,bodyPadding:"10 9 4 9",width:240},{region:"center",id:"center-container",layout:"fit",minWidth:800,border:false,padding:"5 10",items:{id:"card-panel",cls:"card-panel",xtype:"container",layout:{type:"card",deferredRender:true},items:[{autoScroll:true,xtype:"welcomeindex",id:"welcomeindex"},{xtype:"container",id:"failure"},{autoScroll:true,xtype:"classindex",id:"classindex"},{xtype:"classcontainer",id:"classcontainer"},{autoScroll:true,xtype:"guideindex",id:"guideindex"},{autoScroll:true,xtype:"guidecontainer",id:"guide",cls:"iScroll"},{xtype:"videoindex",id:"videoindex"},{autoScroll:true,xtype:"videocontainer",id:"video",cls:"iScroll"},{xtype:"exampleindex",id:"exampleindex"},{xtype:Docs.data.touchExamplesUi?"touchexamplecontainer":"examplecontainer",id:"example"},{xtype:"statsindex",id:"statsindex"},{xtype:"commentindex",id:"commentindex"}]}}]},{region:"south",id:"footer",height:20,contentEl:"footer-content"}];this.callParent(arguments)},setPageTitle:function(b){b=Ext.util.Format.stripTags(b);if(!this.origTitle){this.origTitle=document.title}document.title=b?(b+" - "+this.origTitle):this.origTitle}});Ext.define("Ext.util.Point",{extend:"Ext.util.Region",statics:{fromEvent:function(b){b=(b.changedTouches&&b.changedTouches.length>0)?b.changedTouches[0]:b;return new this(b.pageX,b.pageY)}},constructor:function(d,c){this.callParent([c,d,c,d])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(b){return(this.x==b.x&&this.y==b.y)},isWithin:function(c,d){if(!Ext.isObject(d)){d={x:d,y:d}}return(this.x<=c.x+d.x&&this.x>=c.x-d.x&&this.y<=c.y+d.y&&this.y>=c.y-d.y)},roundedEquals:function(b){return(Math.round(this.x)==Math.round(b.x)&&Math.round(this.y)==Math.round(b.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.Layer",{uses:["Ext.Shadow"],statics:{shims:[]},extend:"Ext.Element",constructor:function(h,i){h=h||{};var n=this,m=Ext.DomHelper,k=h.parentEl,l=k?Ext.getDom(k):document.body,j=h.hideMode;if(i){n.dom=Ext.getDom(i)}if(!n.dom){n.dom=m.append(l,h.dh||{tag:"div",cls:Ext.baseCSSPrefix+"layer"})}else{n.addCls(Ext.baseCSSPrefix+"layer");if(!n.dom.parentNode){l.appendChild(n.dom)}}if(h.cls){n.addCls(h.cls)}n.constrain=h.constrain!==false;if(j){n.setVisibilityMode(Ext.Element[j.toUpperCase()]);if(n.visibilityMode==Ext.Element.ASCLASS){n.visibilityCls=h.visibilityCls}}else{if(h.useDisplay){n.setVisibilityMode(Ext.Element.DISPLAY)}else{n.setVisibilityMode(Ext.Element.VISIBILITY)}}if(h.id){n.id=n.dom.id=h.id}else{n.id=Ext.id(n.dom)}n.position("absolute");if(h.shadow){n.shadowOffset=h.shadowOffset||4;n.shadow=Ext.create("Ext.Shadow",{offset:n.shadowOffset,mode:h.shadow});n.disableShadow()}else{n.shadowOffset=0}n.useShim=h.shim!==false&&Ext.useShims;if(h.hidden===true){n.hide()}else{n.show()}},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var d=this,f,e;if(!d.useShim){return null}if(!d.shim){f=d.self.shims.shift();if(!f){f=d.createShim();f.enableDisplayMode("block");f.hide()}e=d.dom.parentNode;if(f.dom.parentNode!=e){e.insertBefore(f.dom,d.dom)}d.shim=f}return d.shim},hideShim:function(){var b=this;if(b.shim){b.shim.setDisplayed(false);b.self.shims.push(b.shim);delete b.shim}},disableShadow:function(){var b=this;if(b.shadow&&!b.shadowDisabled){b.shadowDisabled=true;b.shadow.hide();b.lastShadowOffset=b.shadowOffset;b.shadowOffset=0}},enableShadow:function(d){var c=this;if(c.shadow&&c.shadowDisabled){c.shadowDisabled=false;c.shadowOffset=c.lastShadowOffset;delete c.lastShadowOffset;if(d){c.sync(true)}}},sync:function(w){var q=this,l=q.shadow,r,t,x;if(!q.updating&&q.isVisible()&&(l||q.useShim)){var u=q.getShim(),v=q.getLeft(true),h=q.getTop(true),o=q.dom.offsetWidth,s=q.dom.offsetHeight,p;if(l&&!q.shadowDisabled){if(w&&!l.isVisible()){l.show(q)}else{l.realign(v,h,o,s)}if(u){p=u.getStyle("z-index");if(p>q.zindex){q.shim.setStyle("z-index",q.zindex-2)}u.show();if(l.isVisible()){r=l.el.getXY();t=u.dom.style;x=l.el.getSize();if(Ext.supports.CSS3BoxShadow){x.height+=6;x.width+=4;r[0]-=2;r[1]-=4}t.left=(r[0])+"px";t.top=(r[1])+"px";t.width=(x.width)+"px";t.height=(x.height)+"px"}else{u.setSize(o,s);u.setLeftTop(v,h)}}}else{if(u){p=u.getStyle("z-index");if(p>q.zindex){q.shim.setStyle("z-index",q.zindex-2)}u.show();u.setSize(o,s);u.setLeftTop(v,h)}}}return q},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var o=Ext.Element.getViewWidth(),s=Ext.Element.getViewHeight(),h=Ext.getDoc().getScroll(),l=this.getXY(),n=l[0],p=l[1],t=this.shadowOffset,m=this.dom.offsetWidth+t,r=this.dom.offsetHeight+t,q=false;if((n+m)>o+h.left){n=o-m-t;q=true}if((p+r)>s+h.top){p=s-r-t;q=true}if(n<h.left){n=h.left;q=true}if(p<h.top){p=h.top;q=true}if(q){Ext.Layer.superclass.setXY.call(this,[n,p]);this.sync()}}return this},getConstrainOffset:function(){return this.shadowOffset},setVisible:function(l,h,m,j,k){var n=this,i;i=function(){if(l){n.sync(true)}if(j){j()}};if(!l){n.hideUnders(true)}n.callParent([l,h,m,j,k]);if(!h){i()}return n},beforeFx:function(){this.beforeAction();return this.callParent(arguments)},afterFx:function(){this.callParent(arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(b){this.callParent(arguments);return this.sync()},setTop:function(b){this.callParent(arguments);return this.sync()},setLeftTop:function(c,d){this.callParent(arguments);return this.sync()},setXY:function(k,h,l,i,j){var g=this;i=g.createCB(i);g.fixDisplay();g.beforeAction();g.callParent([k,h,l,i,j]);if(!h){i()}return g},createCB:function(f){var e=this,d=e.shadow&&e.shadow.isVisible();return function(){e.constrainXY();e.sync(d);if(f){f()}}},setX:function(g,f,j,h,i){this.setXY([g,this.getY()],f,j,h,i);return this},setY:function(h,g,f,i,j){this.setXY([this.getX(),h],g,f,i,j);return this},setSize:function(i,n,h,l,j,k){var m=this;j=m.createCB(j);m.beforeAction();m.callParent([i,n,h,l,j,k]);if(!h){j()}return m},setWidth:function(h,g,k,i,j){var l=this;i=l.createCB(i);l.beforeAction();l.callParent([h,g,k,i,j]);if(!g){i()}return l},setHeight:function(g,h,k,i,j){var l=this;i=l.createCB(i);l.beforeAction();l.callParent([g,h,k,i,j]);if(!h){i()}return l},setBounds:function(l,m,r,j,q,p,k,o){var n=this;k=n.createCB(k);n.beforeAction();if(!q){Ext.Layer.superclass.setXY.call(n,[l,m]);Ext.Layer.superclass.setSize.call(n,r,j);k()}else{n.callParent([l,m,r,j,q,p,k,o])}return n},setZIndex:function(d){var c=this;c.zindex=d;if(c.getShim()){c.shim.setStyle("z-index",d++)}if(c.shadow){c.shadow.setZIndex(d++)}return c.setStyle("z-index",d)},setOpacity:function(b){if(this.shadow){this.shadow.setOpacity(b)}return this.callParent(arguments)}});Ext.define("Ext.data.ArrayStore",{extend:"Ext.data.Store",alias:"store.array",uses:["Ext.data.reader.Array"],constructor:function(b){b=b||{};Ext.applyIf(b,{proxy:{type:"memory",reader:"array"}});this.callParent([b])},loadData:function(h,g){if(this.expandData===true){var i=[],f=0,j=h.length;for(;f<j;f++){i[i.length]=[h[f]]}h=i}this.callParent([h,g])}},function(){Ext.data.SimpleStore=Ext.data.ArrayStore});Ext.define("Ext.PluginManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.PluginMgr",singleton:true,typeName:"ptype",create:function(d,c){if(d.init){return d}else{return Ext.createByAlias("plugin."+(d.ptype||c),d)}},findByType:function(l,i){var j=[],g=this.types;for(var h in g){if(!g.hasOwnProperty(h)){continue}var k=g[h];if(k.type==l&&(!i||(i===true&&k.isDefault))){j.push(k)}}return j}},function(){Ext.preg=function(){return Ext.PluginManager.registerType.apply(Ext.PluginManager,arguments)}});Ext.define("Ext.layout.component.Auto",{alias:"layout.autocomponent",extend:"Ext.layout.component.Component",type:"autocomponent",onLayout:function(c,d){this.setTargetSize(c,d)}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(v){var p=this,q,i,m=p.handles,u,n,r,t=0,o;this.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(v)||Ext.isElement(v)||v.dom){q=v;v=arguments[1]||{};v.target=q}p.mixins.observable.constructor.call(p,v);q=p.target;if(q){if(q.isComponent){p.el=q.getEl();if(q.minWidth){p.minWidth=q.minWidth}if(q.minHeight){p.minHeight=q.minHeight}if(q.maxWidth){p.maxWidth=q.maxWidth}if(q.maxHeight){p.maxHeight=q.maxHeight}if(q.floating){if(!this.hasOwnProperty("handles")){this.handles="n ne e se s sw w nw"}}}else{p.el=p.target=Ext.get(q)}}else{p.target=p.el=Ext.get(p.el)}i=p.el.dom.tagName;if(i=="TEXTAREA"||i=="IMG"){p.originalTarget=p.target;p.target=p.el=p.el.wrap({cls:p.wrapCls,id:p.el.id+"-rzwrap"});p.el.setPositioning(p.originalTarget.getPositioning());p.originalTarget.clearPositioning();var s=p.originalTarget.getBox();p.el.setBox(s)}p.el.position();if(p.pinned){p.el.addCls(p.pinnedCls)}p.resizeTracker=Ext.create("Ext.resizer.ResizeTracker",{disabled:p.disabled,target:p.target,constrainTo:p.constrainTo,overCls:p.overCls,throttle:p.throttle,originalTarget:p.originalTarget,delegate:"."+p.handleCls,dynamic:p.dynamic,preserveRatio:p.preserveRatio,heightIncrement:p.heightIncrement,widthIncrement:p.widthIncrement,minHeight:p.minHeight,maxHeight:p.maxHeight,minWidth:p.minWidth,maxWidth:p.maxWidth});p.resizeTracker.on("mousedown",p.onBeforeResize,p);p.resizeTracker.on("drag",p.onResize,p);p.resizeTracker.on("dragend",p.onResizeEnd,p);if(p.handles=="all"){p.handles="n s e w ne nw se sw"}m=p.handles=p.handles.split(/ |\s*?[,;]\s*?/);n=p.possiblePositions;r=m.length;u=p.handleCls+" "+(this.target.isComponent?(p.target.baseCls+"-handle "):"")+p.handleCls+"-";for(;t<r;t++){if(m[t]&&n[m[t]]){o=n[m[t]];p[o]=Ext.create("Ext.Component",{owner:this,region:o,cls:u+o,renderTo:p.el});p[o].el.unselectable();if(p.transparent){p[o].el.setOpacity(0)}}}if(Ext.isNumber(p.width)){p.width=Ext.Number.constrain(p.width,p.minWidth,p.maxWidth)}if(Ext.isNumber(p.height)){p.height=Ext.Number.constrain(p.height,p.minHeight,p.maxHeight)}if(p.width!=null||p.height!=null){if(p.originalTarget){p.originalTarget.setWidth(p.width);p.originalTarget.setHeight(p.height)}p.resizeTo(p.width,p.height)}p.forceHandlesHeight()},disable:function(){this.resizeTracker.disable()},enable:function(){this.resizeTracker.enable()},onBeforeResize:function(f,e){var b=this.target.getBox();return this.fireEvent("beforeresize",this,b.width,b.height,e)},onResize:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resizedrag",h,b.width,b.height,e)},onResizeEnd:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resize",h,b.width,b.height,e)},resizeTo:function(c,d){this.target.setSize(c,d);this.fireEvent("resize",this,c,d,null)},getEl:function(){return this.el},getTarget:function(){return this.target},destroy:function(){var f;for(var d=0,e=this.handles.length;d<e;d++){f=this[this.possiblePositions[this.handles[d]]];delete f.owner;Ext.destroy(f)}},forceHandlesHeight:function(){var d=this,c;if(Ext.isIE6){c=d.east;if(c){c.setHeight(d.el.getHeight())}c=d.west;if(c){c.setHeight(d.el.getHeight())}d.el.repaint()}}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",renderTpl:['<img id="{id}-toolEl" src="{blank}" class="{baseCls}-{type}" role="presentation"/>'],tooltipType:"qtip",stopEvent:true,initComponent:function(){var c=this;c.addEvents("click");var d=["close","collapse","down","expand","gear","help","left","maximize","minimize","minus","move","next","pin","plus","prev","print","refresh","resize","restore","right","save","search","toggle","unpin","up"];if(c.id&&Ext.Array.indexOf(d,c.id)>-1&&Ext.global.console){Ext.global.console.warn("When specifying a tool you should use the type option, the id can conflict now that tool is a Component")}c.type=c.type||c.id;Ext.applyIf(c.renderData,{baseCls:c.baseCls,blank:Ext.BLANK_IMAGE_URL,type:c.type});c.addChildEls("toolEl");c.tooltip=c.tooltip||c.qtip;c.callParent()},afterRender:function(){var c=this,d;c.callParent(arguments);if(c.tooltip){if(Ext.isObject(c.tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:c.id},c.tooltip))}else{d=c.tooltipType=="qtip"?"data-qtip":"title";c.toolEl.dom.setAttribute(d,c.tooltip)}}c.mon(c.toolEl,{click:c.onClick,mousedown:c.onMouseDown,mouseover:c.onMouseOver,mouseout:c.onMouseOut,scope:c})},setType:function(d){var c=this;c.type=d;if(c.rendered){c.toolEl.dom.className=c.baseCls+"-"+d}return c},bindTo:function(b){this.owner=b},onClick:function(g,h){var e=this,f;if(e.disabled){return false}f=e.owner||e.ownerCt;e.el.removeCls(e.toolPressedCls);e.el.removeCls(e.toolOverCls);if(e.stopEvent!==false){g.stopEvent()}Ext.callback(e.handler,e.scope||e,[g,h,f,e]);e.fireEvent("click",e,g);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.util.CSS",function(){var g=null;var h=document;var e=/(-[a-z])/gi;var f=function(b,a){return a.charAt(1).toUpperCase()};return{singleton:true,constructor:function(){this.rules={};this.initialized=false},createStyleSheet:function(d,a){var l,m=h.getElementsByTagName("head")[0],b=h.createElement("style");b.setAttribute("type","text/css");if(a){b.setAttribute("id",a)}if(Ext.isIE){m.appendChild(b);l=b.styleSheet;l.cssText=d}else{try{b.appendChild(h.createTextNode(d))}catch(c){b.cssText=d}m.appendChild(b);l=b.styleSheet?b.styleSheet:(b.sheet||h.styleSheets[h.styleSheets.length-1])}this.cacheStyleSheet(l);return l},removeStyleSheet:function(a){var b=document.getElementById(a);if(b){b.parentNode.removeChild(b)}},swapStyleSheet:function(a,d){var b=document;this.removeStyleSheet(a);var c=b.createElement("link");c.setAttribute("rel","stylesheet");c.setAttribute("type","text/css");c.setAttribute("id",a);c.setAttribute("href",d);b.getElementsByTagName("head")[0].appendChild(c)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(c){if(!g){g={}}try{var o=c.cssRules||c.rules,b,d=o.length-1,j,i;for(;d>=0;--d){b=o[d].selectorText;if(b){b=b.split(",");i=b.length;for(j=0;j<i;j++){g[Ext.String.trim(b[j]).toLowerCase()]=o[d]}}}}catch(a){}},getRules:function(d){if(g===null||d){g={};var b=h.styleSheets,c=0,i=b.length;for(;c<i;c++){try{if(!b[c].disabled){this.cacheStyleSheet(b[c])}}catch(a){}}}return g},getRule:function(d,b){var c=this.getRules(b);if(!Ext.isArray(d)){return c[d.toLowerCase()]}for(var a=0;a<d.length;a++){if(c[d[a]]){return c[d[a].toLowerCase()]}}return null},updateRule:function(i,b,c){if(!Ext.isArray(i)){var a=this.getRule(i);if(a){a.style[b.replace(e,f)]=c;return true}}else{for(var d=0;d<i.length;d++){if(this.updateRule(i[d],b,c)){return true}}}return false}}}());Ext.define("Ext.grid.ColumnLayout",{extend:"Ext.layout.container.HBox",alias:"layout.gridcolumn",type:"column",reserveOffset:false,shrinkToFit:false,clearInnerCtOnLayout:true,beforeLayout:function(){var j=this,n=0,h=j.getLayoutItems(),i=h.length,k,l,m;if(!Ext.isDefined(j.availableSpaceOffset)){m=j.owner.up("tablepanel").verticalScroller;j.availableSpaceOffset=m?m.width-1:0}l=j.callParent(arguments);j.innerCt.setHeight(23);for(;n<i;n++){k=h[n];k.el.setStyle({height:"auto"});k.titleContainer.setStyle({height:"auto",paddingTop:"0"});if(k.componentLayout&&k.componentLayout.lastComponentSize){k.componentLayout.lastComponentSize.height=k.el.dom.offsetHeight}}return l},calculateChildBoxes:function(i,r){var m=this,s=m.callParent(arguments),o=s.boxes,t=s.meta,n=o.length,q=0,p,l;if(r.width&&!m.isHeader){if(m.owner.forceFit){for(;q<n;q++){p=o[q];l=p.component;l.minWidth=Ext.grid.plugin.HeaderResizer.prototype.minColWidth;l.flex=p.width}s=m.callParent(arguments)}else{if(t.tooNarrow){r.width=t.desiredSize}}}return s},afterLayout:function(){var n=this,x=n.owner,o,i,r,w,s,v,t=0,p,q,u;n.callParent(arguments);if(!n.owner.hideHeaders){if(x.lockableInjected){o=x.up("tablepanel").up("tablepanel");i=o.query("headercontainer:not([isHeader])");r=(i[0]===x)?i[1]:i[0];if(!r.rendered){return}s=r.layout.getRenderTarget().getViewSize().height;if(!s){return}w=this.getRenderTarget().getViewSize().height;if(!w){return}o.componentLayout.layoutBusy=true;u=w;if(w>s){r.layout.align="stretch";r.setCalculatedSize(r.getWidth(),x.getHeight(),r.ownerCt);delete r.layout.align;v=r.up("tablepanel")}else{if(s>w){u=s;this.align="stretch";x.setCalculatedSize(x.getWidth(),r.getHeight(),x.ownerCt);delete this.align;v=x.up("tablepanel")}}o.componentLayout.layoutBusy=false;p=i[0].layout.getLayoutItems().concat(i[1].layout.getLayoutItems())}else{u=this.getRenderTarget().getViewSize().height;p=n.getLayoutItems()}q=p.length;for(;t<q;t++){p[t].setPadding(u)}if(v){setTimeout(function(){v.doLayout()},1)}}},updateInnerCtSize:function(e,g){var h=this,f;if(!h.isHeader){h.tooNarrow=g.meta.tooNarrow;f=(h.reserveOffset?h.availableSpaceOffset:0);if(g.meta.tooNarrow){e.width=g.meta.desiredSize+f}else{e.width+=f}}return h.callParent(arguments)},doOwnerCtLayouts:function(){var b=this.owner.ownerCt;if(!b.componentLayout.layoutBusy){b.doComponentLayout()}}});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{[this.openTableWrap()]}",'<table class="'+Ext.baseCSSPrefix+"grid-table "+Ext.baseCSSPrefix+'grid-table-resizer" border="0" cellspacing="0" cellpadding="0" {[this.embedFullWidth()]}>',"<tbody>",'<tr class="'+Ext.baseCSSPrefix+'grid-header-row">','<tpl for="columns">','<th class="'+Ext.baseCSSPrefix+'grid-col-resizer-{id}" style="width: {width}px; height: 0px;"></th>',"</tpl>","</tr>","{[this.openRows()]}","{row}",'<tpl for="features">',"{[this.embedFeature(values, parent, xindex, xcount)]}","</tpl>","{[this.closeRows()]}","</tbody>","</table>","{[this.closeTableWrap()]}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(c,d){return this.apply(d?c[d]:c)}},embedFeature:function(f,i,g,h){var j="";if(!f.disabled){j=f.getFeatureTpl(f,i,g,h)}return j},embedFullWidth:function(){return'style="width: {fullWidth}px;"'},openRows:function(){return'<tpl for="rows">'},closeRows:function(){return"</tpl>"},metaRowTpl:['<tr class="'+Ext.baseCSSPrefix+'grid-row {addlSelector} {[this.embedRowCls()]}" {[this.embedRowAttr()]}>','<tpl for="columns">','<td class="{cls} '+Ext.baseCSSPrefix+"grid-cell "+Ext.baseCSSPrefix+'grid-cell-{columnId} {{id}-modified} {{id}-tdCls} {[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}><div unselectable="on" class="'+Ext.baseCSSPrefix+"grid-cell-inner "+Ext.baseCSSPrefix+'unselectable" style="{{id}-style}; text-align: {align};">{{id}}</div></td>',"</tpl>","</tr>"],firstOrLastCls:function(d,f){var e="";if(d===1){e=Ext.baseCSSPrefix+"grid-cell-first"}else{if(d===f){e=Ext.baseCSSPrefix+"grid-cell-last"}}return e},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:function(){return""},closeTableWrap:function(){return""},getTableTpl:function(n,u){var o,p={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},q={},t=n.features||[],i=t.length,r=0,m={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls},s=Array.prototype.slice.call(this.metaRowTpl,0),v;for(;r<i;r++){if(!t[r].disabled){t[r].mutateMetaRowTpl(s);Ext.apply(m,t[r].getMetaRowTplFragments());Ext.apply(q,t[r].getFragmentTpl());Ext.apply(p,t[r].getTableFragments())}}s=Ext.create("Ext.XTemplate",s.join(""),m);n.row=s.applyTemplate(n);v=Ext.create("Ext.XTemplate",this.metaTableTpl.join(""),p);o=v.applyTemplate(n);if(!u){o=Ext.create("Ext.XTemplate",o,q)}return o}});Ext.define("Ext.grid.Scroller",{extend:"Ext.Component",alias:"widget.gridscroller",weight:110,baseCls:Ext.baseCSSPrefix+"scroller",focusable:false,reservedSpace:0,renderTpl:['<div class="'+Ext.baseCSSPrefix+'scroller-ct" id="{baseId}_ct">','<div class="'+Ext.baseCSSPrefix+'stretcher" id="{baseId}_stretch"></div>',"</div>"],initComponent:function(){var f=this,d=f.dock,e=Ext.baseCSSPrefix+"scroller-vertical";f.offsets={bottom:0};f.scrollProp="scrollTop";f.vertical=true;f.sizeProp="width";if(d==="top"||d==="bottom"){e=Ext.baseCSSPrefix+"scroller-horizontal";f.sizeProp="height";f.scrollProp="scrollLeft";f.vertical=false;f.weight+=5}f.cls+=(" "+e);Ext.applyIf(f.renderSelectors,{stretchEl:"."+Ext.baseCSSPrefix+"stretcher",scrollEl:"."+Ext.baseCSSPrefix+"scroller-ct"});f.callParent()},ensureDimension:function(){var d=this,c=d.sizeProp;d[c]=d.scrollerSize=Ext.getScrollbarSize()[c]},initRenderData:function(){var c=this,d=c.callParent(arguments)||{};d.baseId=c.id;return d},afterRender:function(){var b=this;b.callParent();b.mon(b.scrollEl,"scroll",b.onElScroll,b);Ext.cache[b.el.id].skipGarbageCollection=true},onAdded:function(b){this.ownerGrid=b;this.callParent(arguments)},getSizeCalculation:function(){var l=this,p=l.getPanel(),m=1,i=1,o,k;if(!l.vertical){var n=p.query("tableview"),j=n[1]||n[0];if(!j){return false}m=j.headerCt.getFullWidth();if(Ext.isIEQuirks){m--}}else{o=p.down("tableview:not([lockableInjected])");if(!o||!o.el){return false}k=o.el.child("table",true);if(!k){return false}i=k.offsetHeight}if(isNaN(m)){m=1}if(isNaN(i)){i=1}return{width:m,height:i}},invalidate:function(o){var m=this,n=m.stretchEl;if(!n||!m.ownerCt){return}var j=m.getSizeCalculation(),k=m.scrollEl,q=k.dom,p=m.reservedSpace,l,r=5;if(j){n.setSize(j);j=m.el.getSize(true);if(m.vertical){j.width+=r;j.height-=p;l="left"}else{j.width-=p;j.height+=r;l="top"}k.setSize(j);q.style[l]=(-r)+"px";q.scrollTop=q.scrollTop}},afterComponentLayout:function(){this.callParent(arguments);this.invalidate()},restoreScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;if(f._scrollPos!==null&&e){e[f.scrollProp]=f._scrollPos;f._scrollPos=null}},setReservedSpace:function(c){var d=this;if(d.reservedSpace!==c){d.reservedSpace=c;d.invalidate()}},saveScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;f._scrollPos=e?e[f.scrollProp]:null},setScrollTop:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollTop=Ext.Number.constrain(f,0,e.scrollHeight-e.clientHeight)}},setScrollLeft:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollLeft=Ext.Number.constrain(f,0,e.scrollWidth-e.clientWidth)}},scrollByDeltaY:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollTop(e.scrollTop+f)}},scrollByDeltaX:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollLeft(e.scrollLeft+f)}},scrollToTop:function(){this.setScrollTop(0)},onElScroll:function(d,c){this.fireEvent("bodyscroll",d,c)},getPanel:function(){var b=this;if(!b.panel){b.panel=this.up("[scrollerOwner]")}return b.panel}});Ext.define("Ext.data.Batch",{mixins:{observable:"Ext.util.Observable"},autoStart:false,current:-1,total:0,isRunning:false,isComplete:false,hasException:false,pauseOnException:true,constructor:function(d){var c=this;c.addEvents("complete","exception","operationcomplete");c.mixins.observable.constructor.call(c,d);c.operations=[]},add:function(b){this.total++;b.setBatch(this);this.operations.push(b)},start:function(){this.hasException=false;this.isRunning=true;this.runNextOperation()},runNextOperation:function(){this.runOperation(this.current+1)},pause:function(){this.isRunning=false},runOperation:function(i){var h=this,j=h.operations,f=j[i],g;if(f===undefined){h.isRunning=false;h.isComplete=true;h.fireEvent("complete",h,j[j.length-1])}else{h.current=i;g=function(b){var a=b.hasException();if(a){h.hasException=true;h.fireEvent("exception",h,b)}else{h.fireEvent("operationcomplete",h,b)}if(a&&h.pauseOnException){h.pause()}else{b.setCompleted();h.runNextOperation()}};f.setStarted();h.proxy[f.action](f,g,h)}}});Ext.define("Ext.data.Request",{action:undefined,params:undefined,method:"GET",url:undefined,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",constructor:function(b){this.callParent([b]);this.setReader(this.reader)},read:function(l,i,k){var j=this,g=j.getReader(),h=g.read(j.data);Ext.apply(l,{resultSet:h});l.setCompleted();l.setSuccessful();Ext.callback(i,k||j,[l])},clear:Ext.emptyFn});Ext.define("Ext.util.History",{singleton:true,alternateClassName:"Ext.History",mixins:{observable:"Ext.util.Observable"},constructor:function(){var b=this;b.oldIEMode=Ext.isIE6||Ext.isIE7||!Ext.isStrict&&Ext.isIE8;b.iframe=null;b.hiddenField=null;b.ready=false;b.currentToken=null},getHash:function(){var d=window.location.href,c=d.indexOf("#");return c>=0?d.substr(c+1):null},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(b){this.currentToken=b;this.fireEvent("change",b)},updateIFrame:function(e){var f='<html><body><div id="state">'+Ext.util.Format.htmlEncode(e)+"</div></body></html>";try{var g=this.iframe.contentWindow.document;g.open();g.write(f);g.close();return true}catch(h){return false}},checkIFrame:function(){var k=this,g=k.iframe.contentWindow;if(!g||!g.document){Ext.Function.defer(this.checkIFrame,10,this);return}var j=g.document,l=j.getElementById("state"),h=l?l.innerText:null,i=k.getHash();Ext.TaskManager.start({run:function(){var a=g.document,b=a.getElementById("state"),d=b?b.innerText:null,c=k.getHash();if(d!==h){h=d;k.handleStateChange(d);window.top.location.hash=d;i=d;k.doSave()}else{if(c!==i){i=c;k.updateIFrame(c)}}},interval:50,scope:k});k.ready=true;k.fireEvent("ready",k)},startUp:function(){var d=this;d.currentToken=d.hiddenField.value||this.getHash();if(d.oldIEMode){d.checkIFrame()}else{var c=d.getHash();Ext.TaskManager.start({run:function(){var a=d.getHash();if(a!==c){c=a;d.handleStateChange(c);d.doSave()}},interval:50,scope:d});d.ready=true;d.fireEvent("ready",d)}},fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",init:function(f,e){var d=this;if(d.ready){Ext.callback(f,e,[d]);return}if(!Ext.isReady){Ext.onReady(function(){d.init(f,e)});return}d.hiddenField=Ext.getDom(d.fieldId);if(d.oldIEMode){d.iframe=Ext.getDom(d.iframeId)}d.addEvents("ready","change");if(f){d.on("ready",f,e,{single:true})}d.startUp()},add:function(e,f){var d=this;if(f!==false){if(d.getToken()===e){return true}}if(d.oldIEMode){return d.updateIFrame(e)}else{window.top.location.hash=e;return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.data.JsonP",{singleton:true,statics:{requestCount:0,requests:{}},timeout:30000,disableCaching:true,disableCachingParam:"_dc",callbackKey:"callback",request:function(n){n=Ext.apply({},n);if(!n.url){Ext.Error.raise("A url must be specified for a JSONP request.")}var r=this,w=Ext.isDefined(n.disableCaching)?n.disableCaching:r.disableCaching,t=n.disableCachingParam||r.disableCachingParam,x=++r.statics().requestCount,p=n.callbackName||"callback"+x,s=n.callbackKey||r.callbackKey,o=Ext.isDefined(n.timeout)?n.timeout:r.timeout,v=Ext.apply({},n.params),y=n.url,z=Ext.isSandboxed?Ext.getUniqueGlobalNamespace():"Ext",u,q;v[s]=z+".data.JsonP."+p;if(w){v[t]=new Date().getTime()}q=r.createScript(y,v);r.statics().requests[x]=u={url:y,params:v,script:q,id:x,scope:n.scope,success:n.success,failure:n.failure,callback:n.callback,callbackName:p};if(o>0){u.timeout=setTimeout(Ext.bind(r.handleTimeout,r,[u]),o)}r.setupErrorHandling(u);r[p]=Ext.bind(r.handleResponse,r,[u],true);Ext.getHead().appendChild(q);return u},abort:function(d){var f=this.statics().requests,e;if(d){if(!d.id){d=f[d]}this.abort(d)}else{for(e in f){if(f.hasOwnProperty(e)){this.abort(f[e])}}}},setupErrorHandling:function(b){b.script.onerror=Ext.bind(this.handleError,this,[b])},handleAbort:function(b){b.errorType="abort";this.handleResponse(null,b)},handleError:function(b){b.errorType="error";this.handleResponse(null,b)},cleanupErrorHandling:function(b){b.script.onerror=null},handleTimeout:function(b){b.errorType="timeout";this.handleResponse(null,b)},handleResponse:function(e,d){var f=true;if(d.timeout){clearTimeout(d.timeout)}delete this[d.callbackName];delete this.statics()[d.id];this.cleanupErrorHandling(d);Ext.fly(d.script).remove();if(d.errorType){f=false;Ext.callback(d.failure,d.scope,[d.errorType])}else{Ext.callback(d.success,d.scope,[e])}Ext.callback(d.callback,d.scope,[f,e,d.errorType])},createScript:function(d,f){var e=document.createElement("script");e.setAttribute("src",Ext.urlAppend(d,Ext.Object.toQueryString(f)));e.setAttribute("async",true);e.setAttribute("type","text/javascript");return e}});Ext.define("Ext.dd.DragZone",{extend:"Ext.dd.DragSource",constructor:function(c,d){this.callParent([c,d]);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}},getDragData:function(b){return Ext.dd.Registry.getHandleFromEvent(b)},onInitDrag:function(d,c){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(d,c);return true},afterRepair:function(){var b=this;if(Ext.enableFx){Ext.fly(b.dragData.ddel).highlight(b.repairHighlightColor)}b.dragging=false},getRepairXY:function(b){return Ext.Element.fly(this.dragData.ddel).getXY()},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.ElementLoader",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.data.Connection","Ext.Ajax"],statics:{Renderer:{Html:function(e,d,f){e.getTarget().update(d.responseText,f.scripts===true);return true}}},url:null,params:null,baseParams:null,autoLoad:false,target:null,loadMask:false,ajaxOptions:null,scripts:false,isLoader:true,constructor:function(d){var f=this,e;d=d||{};Ext.apply(f,d);f.setTarget(f.target);f.addEvents("beforeload","exception","load");f.mixins.observable.constructor.call(f);if(f.autoLoad){e=f.autoLoad;if(e===true){e={}}f.load(e)}},setTarget:function(c){var d=this;c=Ext.get(c);if(d.target&&d.target!=c){d.abort()}d.target=c},getTarget:function(){return this.target||null},abort:function(){var b=this.active;if(b!==undefined){Ext.Ajax.abort(b.request);if(b.mask){this.removeMask()}delete this.active}},removeMask:function(){this.target.unmask()},addMask:function(b){this.target.mask(b===true?null:b)},load:function(k){if(!this.target){Ext.Error.raise("A valid target is required when loading content")}k=Ext.apply({},k);var n=this,o=n.target,j=Ext.isDefined(k.loadMask)?k.loadMask:n.loadMask,q=Ext.apply({},k.params),r=Ext.apply({},k.ajaxOptions),m=k.callback||n.callback,l=k.scope||n.scope||n,p;Ext.applyIf(r,n.ajaxOptions);Ext.applyIf(k,r);Ext.applyIf(q,n.params);Ext.apply(q,n.baseParams);Ext.applyIf(k,{url:n.url});if(!k.url){Ext.Error.raise("You must specify the URL from which content should be loaded")}Ext.apply(k,{scope:n,params:q,callback:n.onComplete});if(n.fireEvent("beforeload",n,k)===false){return}if(j){n.addMask(j)}p=Ext.Ajax.request(k);n.active={request:p,options:k,mask:j,scope:l,callback:m,success:k.success||n.success,failure:k.failure||n.failure,renderer:k.renderer||n.renderer,scripts:Ext.isDefined(k.scripts)?k.scripts:n.scripts};n.setOptions(n.active,k)},setOptions:Ext.emptyFn,onComplete:function(h,j,i){var m=this,k=m.active,n=k.scope,l=m.getRenderer(k.renderer);if(j){j=l.call(m,m,i,k)}if(j){Ext.callback(k.success,n,[m,i,h]);m.fireEvent("load",m,i,h)}else{Ext.callback(k.failure,n,[m,i,h]);m.fireEvent("exception",m,i,h)}Ext.callback(k.callback,n,[m,j,i,h]);if(k.mask){m.removeMask()}delete m.active},getRenderer:function(b){if(Ext.isFunction(b)){return b}return this.statics().Renderer.Html},startAutoRefresh:function(e,d){var f=this;f.stopAutoRefresh();f.autoRefresh=setInterval(function(){f.load(d)},e)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var b=this;b.stopAutoRefresh();delete b.target;b.abort();b.clearListeners()}});Ext.define("Ext.dd.DragTracker",{uses:["Ext.util.Region"],mixins:{observable:"Ext.util.Observable"},active:false,trackOver:false,tolerance:5,autoStart:false,constructor:function(b){Ext.apply(this,b);this.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");this.dragRegion=Ext.create("Ext.util.Region",0,0,0,0);if(this.el){this.initEl(this.el)}this.mixins.observable.constructor.call(this);if(this.disabled){this.disable()}},initEl:function(b){this.el=Ext.get(b);this.handle=Ext.get(this.delegate);this.delegate=this.handle?undefined:this.delegate;if(!this.handle){this.handle=this.el}this.mon(this.handle,{mousedown:this.onMouseDown,delegate:this.delegate,scope:this});if(this.trackOver||this.overCls){this.mon(this.handle,{mouseover:this.onMouseOver,mouseout:this.onMouseOut,delegate:this.delegate,scope:this})}},disable:function(){this.disabled=true},enable:function(){this.disabled=false},destroy:function(){this.clearListeners();delete this.el},onMouseOver:function(f,d){var e=this;if(!e.disabled){if(Ext.EventManager.contains(f)||e.delegate){e.mouseIsOut=false;if(e.overCls){e.el.addCls(e.overCls)}e.fireEvent("mouseover",e,f,e.delegate?f.getTarget(e.delegate,d):e.handle)}}},onMouseOut:function(b){if(this.mouseIsDown){this.mouseIsOut=true}else{if(this.overCls){this.el.removeCls(this.overCls)}this.fireEvent("mouseout",this,b)}},onMouseDown:function(c,d){if(this.disabled||c.dragTracked){return}this.dragTarget=this.delegate?d:this.handle.dom;this.startXY=this.lastXY=c.getXY();this.startRegion=Ext.fly(this.dragTarget).getRegion();if(this.fireEvent("mousedown",this,c)===false||this.fireEvent("beforedragstart",this,c)===false||this.onBeforeStart(c)===false){return}this.mouseIsDown=true;c.dragTracked=true;if(this.preventDefault!==false){c.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=Ext.defer(this.triggerStart,this.autoStart===true?1000:this.autoStart,this,[c])}},onMouseMove:function(g,h){if(this.active&&Ext.isIE&&!g.browserEvent.button){g.preventDefault();this.onMouseUp(g);return}g.preventDefault();var e=g.getXY(),f=this.startXY;this.lastXY=e;if(!this.active){if(Math.max(Math.abs(f[0]-e[0]),Math.abs(f[1]-e[1]))>this.tolerance){this.triggerStart(g)}else{return}}if(this.fireEvent("mousemove",this,g)===false){this.onMouseUp(g)}else{this.onDrag(g);this.fireEvent("drag",this,g)}},onMouseUp:function(b){this.mouseIsDown=false;if(this.mouseIsOut){this.mouseIsOut=false;this.onMouseOut(b)}b.preventDefault();this.fireEvent("mouseup",this,b);this.endDrag(b)},endDrag:function(f){var d=Ext.getDoc(),e=this.active;d.un("mousemove",this.onMouseMove,this);d.un("mouseup",this.onMouseUp,this);d.un("selectstart",this.stopSelect,this);this.clearStart();this.active=false;if(e){this.onEnd(f);this.fireEvent("dragend",this,f)}delete this._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(b){this.clearStart();this.active=true;this.onStart(b);this.fireEvent("dragstart",this,b)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(b){b.stopEvent();return false},onBeforeStart:function(b){},onStart:function(b){},onDrag:function(b){},onEnd:function(b){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){if(this.constrainTo){if(this.constrainTo instanceof Ext.util.Region){return this.constrainTo}if(!this._constrainRegion){this._constrainRegion=Ext.fly(this.constrainTo).getViewRegion()}}else{if(!this._constrainRegion){this._constrainRegion=this.getDragCt().getViewRegion()}}return this._constrainRegion},getXY:function(b){return b?this.constrainModes[b](this,this.lastXY):this.lastXY},getOffset:function(f){var d=this.getXY(f),e=this.startXY;return[d[0]-e[0],d[1]-e[1]]},constrainModes:{point:function(e,g){var h=e.dragRegion,f=e.getConstrainRegion();if(!f){return g}h.x=h.left=h[0]=h.right=g[0];h.y=h.top=h[1]=h.bottom=g[1];h.constrainTo(f);return[h.left,h.top]},dragTarget:function(l,i){var g=l.startXY,j=l.startRegion.copy(),h=l.getConstrainRegion(),k;if(!h){return i}j.translateBy(i[0]-g[0],i[1]-g[1]);if(j.right>h.right){i[0]+=k=(h.right-j.right);j.left+=k}if(j.left<h.left){i[0]+=(h.left-j.left)}if(j.bottom>h.bottom){i[1]+=k=(h.bottom-j.bottom);j.top+=k}if(j.top<h.top){i[1]+=(h.top-j.top)}return i}}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",onLayout:function(c,d){this.owner.surface.setSize(c,d);this.callParent(arguments)}});Ext.define("Ext.grid.header.DragZone",{extend:"Ext.dd.DragZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",maxProxyWidth:120,constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(e){var g=e.getTarget("."+this.colHeaderCls),f;if(g){f=Ext.getCmp(g.id);if(!this.headerCt.dragging&&f.draggable&&!(f.isOnLeftEdge(e)||f.isOnRightEdge(e))){var h=document.createElement("div");h.innerHTML=Ext.getCmp(g.id).text;return{ddel:h,header:f}}}return false},onBeforeDrag:function(){return !(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=true;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=false;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=false},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=true},enable:function(){this.disabled=false}});Ext.define("Ext.grid.LockingView",{mixins:{observable:"Ext.util.Observable"},eventRelayRe:/^(beforeitem|beforecontainer|item|container|cell)/,constructor:function(p){var m=this,k=[],j=m.eventRelayRe,i=p.locked.getView(),l=p.normal.getView(),o,n;Ext.apply(m,{lockedView:i,normalView:l,lockedGrid:p.locked,normalGrid:p.normal,panel:p.panel});m.mixins.observable.constructor.call(m,p);o=i.events;for(n in o){if(o.hasOwnProperty(n)&&j.test(n)){k.push(n)}}m.relayEvents(i,k);m.relayEvents(l,k);l.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter});i.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter})},getGridColumns:function(){var b=this.lockedGrid.headerCt.getGridColumns();return b.concat(this.normalGrid.headerCt.getGridColumns())},getEl:function(b){return this.getViewForColumn(b).getEl()},getViewForColumn:function(d){var e=this.lockedView,f;e.headerCt.cascade(function(a){if(a===d){f=true;return false}});return f?e:this.normalView},onItemMouseEnter:function(l,g){var i=this,k=i.lockedView,h=i.normalView,j;if(l.trackOver){if(l!==k){h=k}j=h.getNode(g);h.highlightItem(j)}},onItemMouseLeave:function(j,f){var h=this,i=h.lockedView,g=h.normalView;if(j.trackOver){if(j!==i){g=i}g.clearHighlight()}},relayFn:function(f,d){d=d||[];var e=this.lockedView;e[f].apply(e,d||[]);e=this.normalView;e[f].apply(e,d||[])},getSelectionModel:function(){return this.panel.getSelectionModel()},getStore:function(){return this.panel.store},getNode:function(b){return this.normalView.getNode(b)},getCell:function(e,h){var f=this.getViewForColumn(h),g;g=f.getNode(e);return Ext.fly(g).down(h.getCellSelector())},getRecord:function(c){var d=this.lockedView.getRecord(c);if(!c){d=this.normalView.getRecord(c)}return d},addElListener:function(e,f,d){this.relayFn("addElListener",arguments)},refreshNode:function(){this.relayFn("refreshNode",arguments)},refresh:function(){this.relayFn("refresh",arguments)},bindStore:function(){this.relayFn("bindStore",arguments)},addRowCls:function(){this.relayFn("addRowCls",arguments)},removeRowCls:function(){this.relayFn("removeRowCls",arguments)}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},isCompositeSprite:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("mousedown","mouseup","mouseover","mouseout","click");c.id=Ext.id(null,"ext-sprite-group-");c.callParent()},onClick:function(b){this.fireEvent("click",b)},onMouseUp:function(b){this.fireEvent("mouseup",b)},onMouseDown:function(b){this.fireEvent("mousedown",b)},onMouseOver:function(b){this.fireEvent("mouseover",b)},onMouseOut:function(b){this.fireEvent("mouseout",b)},attachEvents:function(c){var d=this;c.on({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick})},add:function(d,f){var e=this.callParent(arguments);this.attachEvents(e);return e},insert:function(e,d,f){return this.callParent(arguments)},remove:function(c){var d=this;c.un({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick});return d.callParent(arguments)},getBBox:function(){var t=0,i,q,p=this.items,s=this.length,r=Infinity,v=r,n=-r,w=r,o=-r,u,x;for(;t<s;t++){i=p[t];if(i.el){q=i.getBBox();v=Math.min(v,q.x);w=Math.min(w,q.y);n=Math.max(n,q.height+q.y);o=Math.max(o,q.width+q.x)}}return{x:v,y:w,height:n-w,width:o-v}},setAttributes:function(j,h){var i=0,f=this.items,g=this.length;for(;i<g;i++){f[i].setAttributes(j,h)}return this},hide:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].hide(g)}return this},show:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].show(g)}return this},redraw:function(){var h=this,i=0,j=h.items,f=h.getSurface(),g=h.length;if(f){for(;i<g;i++){f.renderItem(j[i])}}return h},setStyle:function(i){var l=0,g=this.items,h=this.length,j,k;for(;l<h;l++){j=g[l];k=j.el;if(k){k.setStyle(i)}}},addCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.addCls(j[i],h)}}},removeCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.removeCls(j[i],h)}}},getSurface:function(){var b=this.first();if(b){return b.surface}return null},destroy:function(){var f=this,e=f.getSurface(),d;if(e){while(f.getCount()>0){d=f.first();f.remove(d);e.remove(d)}}f.clearListeners()}});Ext.define("Ext.dd.Registry",{singleton:true,constructor:function(){this.elements={};this.handles={};this.autoIdSeed=0},getId:function(d,e){if(typeof d=="string"){return d}var f=d.id;if(!f&&e!==false){f="extdd-"+(++this.autoIdSeed);d.id=f}return f},register:function(i,h){h=h||{};if(typeof i=="string"){i=document.getElementById(i)}h.ddel=i;this.elements[this.getId(i)]=h;if(h.isHandle!==false){this.handles[h.ddel.id]=h}if(h.handles){var j=h.handles;for(var f=0,g=j.length;f<g;f++){this.handles[this.getId(j[f])]=h}}},unregister:function(k){var i=this.getId(k,false);var j=this.elements[i];if(j){delete this.elements[i];if(j.handles){var l=j.handles;for(var g=0,h=l.length;g<h;g++){delete this.handles[this.getId(l[g],false)]}}}},getHandle:function(b){if(typeof b!="string"){b=b.id}return this.handles[b]},getHandleFromEvent:function(c){var d=c.getTarget();return d?this.handles[d.id]:null},getTarget:function(b){if(typeof b!="string"){b=b.id}return this.elements[b]},getTargetFromEvent:function(c){var d=c.getTarget();return d?this.elements[d.id]||this.handles[d.id]:null}});Ext.define("Ext.dd.DDTarget",{extend:"Ext.dd.DragDrop",constructor:function(f,e,d){if(f){this.initTarget(f,e,d)}},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.define("Ext.dd.ScrollManager",{singleton:true,requires:["Ext.dd.DragDropManager"],constructor:function(){var b=Ext.dd.DragDropManager;b.fireEvents=Ext.Function.createSequence(b.fireEvents,this.onFire,this);b.stopDrag=Ext.Function.createSequence(b.stopDrag,this.onStop,this);this.doScroll=Ext.Function.bind(this.doScroll,this);this.ddmInstance=b;this.els={};this.dragEl=null;this.proc={}},onStop:function(d){var c=Ext.dd.ScrollManager;c.dragEl=null;c.clearProc()},triggerRefresh:function(){if(this.ddmInstance.dragCurrent){this.ddmInstance.refreshCache(this.ddmInstance.dragCurrent.groups)}},doScroll:function(){if(this.ddmInstance.dragCurrent){var f=this.proc,e=f.el,h=f.el.ddScrollConfig,g=h?h.increment:this.increment;if(!this.animate){if(e.scroll(f.dir,g)){this.triggerRefresh()}}else{e.scroll(f.dir,g,true,this.animDuration,this.triggerRefresh)}}},clearProc:function(){var b=this.proc;if(b.id){clearInterval(b.id)}b.id=0;b.el=null;b.dir=""},startProc:function(e,f){this.clearProc();this.proc.el=e;this.proc.dir=f;var g=e.ddScrollConfig?e.ddScrollConfig.ddGroup:undefined,h=(e.ddScrollConfig&&e.ddScrollConfig.frequency)?e.ddScrollConfig.frequency:this.frequency;if(g===undefined||this.ddmInstance.dragCurrent.ddGroup==g){this.proc.id=setInterval(this.doScroll,h)}},onFire:function(p,m){if(m||!this.ddmInstance.dragCurrent){return}if(!this.dragEl||this.dragEl!=this.ddmInstance.dragCurrent){this.dragEl=this.ddmInstance.dragCurrent;this.refreshCache()}var e=p.getXY(),c=p.getPoint(),o=this.proc,q=this.els;for(var s in q){var r=q[s],t=r._region;var n=r.ddScrollConfig?r.ddScrollConfig:this;if(t&&t.contains(c)&&r.isScrollable()){if(t.bottom-c.y<=n.vthresh){if(o.el!=r){this.startProc(r,"down")}return}else{if(t.right-c.x<=n.hthresh){if(o.el!=r){this.startProc(r,"left")}return}else{if(c.y-t.top<=n.vthresh){if(o.el!=r){this.startProc(r,"up")}return}else{if(c.x-t.left<=n.hthresh){if(o.el!=r){this.startProc(r,"right")}return}}}}}}this.clearProc()},register:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.register(f[d])}}else{f=Ext.get(f);this.els[f.id]=f}},unregister:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.unregister(f[d])}}else{f=Ext.get(f);delete this.els[f.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,ddGroup:undefined,refreshCache:function(){var d=this.els,c;for(c in d){if(typeof d[c]=="object"){d[c]._region=d[c].getRegion()}}}});Ext.define("Ext.view.DragZone",{extend:"Ext.dd.DragZone",containerScroll:false,constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el.dom.parentNode]);c.ddel=Ext.get(document.createElement("div"));c.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(f,e,d){this.initTarget(f,e,d);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onItemMouseDown:function(e,g,i,j,h){if(!this.isPreventDrag(h,g,i,j)){this.handleMouseDown(h);if(e.getSelectionModel().selectionMode=="MULTI"&&!h.ctrlKey&&e.getSelectionModel().isSelected(g)){return false}}},isPreventDrag:function(b){return false},getDragData:function(i){var l=this.view,j=i.getTarget(l.getItemSelector()),e,h,k;if(j){e=l.getRecord(j);h=l.getSelectionModel();k=h.getSelection();return{copy:this.view.copy||(this.view.allowCopy&&i.ctrlKey),event:new Ext.EventObjectImpl(i),view:l,ddel:this.ddel,item:j,records:k,fromPosition:Ext.fly(j).getXY()}}},onInitDrag:function(e,k){var n=this,m=n.dragData,o=m.view,j=o.getSelectionModel(),p=o.getRecord(m.item),l=m.event;if(!j.isSelected(p)||l.hasModifier()){j.selectWithEvent(p,l,true)}m.records=j.getSelection();n.ddel.update(n.getDragText());n.proxy.update(n.ddel.dom);n.onStartDrag(e,k);return true},getDragText:function(){var b=this.dragData.records.length;return Ext.String.format(this.dragText,b,b==1?"":"s")},getRepairXY:function(c,d){return d?d.fromPosition:false}});Ext.define("Ext.ComponentLoader",{extend:"Ext.ElementLoader",statics:{Renderer:{Data:function(g,e,i){var h=true;try{g.getTarget().update(Ext.decode(e.responseText))}catch(j){h=false}return h},Component:function(i,n,k){var j=true,l=i.getTarget(),e=[];if(!l.isContainer){Ext.Error.raise({target:l,msg:"Components can only be loaded into a container"})}try{e=Ext.decode(n.responseText)}catch(m){j=false}if(j){if(k.removeAll){l.removeAll()}l.add(e)}return j}}},target:null,loadMask:false,renderer:"html",setTarget:function(c){var d=this;if(Ext.isString(c)){c=Ext.getCmp(c)}if(d.target&&d.target!=c){d.abort()}d.target=c},removeMask:function(){this.target.setLoading(false)},addMask:function(b){this.target.setLoading(b)},setOptions:function(c,d){c.removeAll=Ext.isDefined(d.removeAll)?d.removeAll:this.removeAll},getRenderer:function(c){if(Ext.isFunction(c)){return c}var d=this.statics().Renderer;switch(c){case"component":return d.Component;case"data":return d.Data;default:return Ext.ElementLoader.Renderer.Html}}});Ext.define("Ext.util.ComponentDragger",{extend:"Ext.dd.DragTracker",autoStart:500,constructor:function(d,c){this.comp=d;this.initialConstrainTo=c.constrainTo;this.callParent([c])},onStart:function(f){var d=this,e=d.comp;this.startPosition=e.getPosition();if(e.ghost&&!e.liveDrag){d.proxy=e.ghost();d.dragTarget=d.proxy.header.el}if(d.constrain||d.constrainDelegate){d.constrainTo=d.calculateConstrainRegion()}},calculateConstrainRegion:function(){var l=this,h=l.comp,i=l.initialConstrainTo,k,j,c=h.el.shadow?h.el.shadow.offset:0;if(!(i instanceof Ext.util.Region)){i=Ext.fly(i).getViewRegion()}if(c){i.adjust(0,-c,-c,c)}if(!l.constrainDelegate){k=Ext.fly(l.dragTarget).getRegion();j=l.proxy?l.proxy.el.getRegion():h.el.getRegion();i.adjust(k.top-j.top,k.right-j.right,k.bottom-j.bottom,k.left-j.left)}return i},onDrag:function(h){var e=this,f=(e.proxy&&!e.comp.liveDrag)?e.proxy:e.comp,g=e.getOffset(e.constrain||e.constrainDelegate?"dragTarget":null);f.setPosition(e.startPosition[0]+g[0],e.startPosition[1]+g[1])},onEnd:function(b){if(this.proxy&&!this.comp.liveDrag){this.comp.unghost()}}});Ext.define("Ext.window.Window",{extend:"Ext.panel.Panel",alternateClassName:"Ext.Window",requires:["Ext.util.ComponentDragger","Ext.util.Region","Ext.EventManager"],alias:"widget.window",baseCls:Ext.baseCSSPrefix+"window",resizable:true,draggable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,collapsible:false,closable:true,hidden:true,autoRender:true,hideMode:"visibility",floating:true,ariaRole:"alertdialog",itemCls:"x-window-item",overlapHeader:true,ignoreHeaderBorderManagement:true,initComponent:function(){var b=this;b.callParent();b.addEvents("resize","maximize","minimize","restore");if(b.plain){b.addClsWithUI("plain")}if(b.modal){b.ariaRole="dialog"}},initStateEvents:function(){var b=this.stateEvents;Ext.each(["maximize","restore","resize","dragend"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},getState:function(){var d=this,f=d.callParent()||{},e=!!d.maximized;f.maximized=e;Ext.apply(f,{size:e?d.restoreSize:d.getSize(),pos:e?d.restorePos:d.getPosition()});return f},applyState:function(c){var d=this;if(c){d.maximized=c.maximized;if(d.maximized){d.hasSavedRestore=true;d.restoreSize=c.size;d.restorePos=c.pos}else{Ext.apply(d,{width:c.size.width,height:c.size.height,x:c.pos[0],y:c.pos[1]})}}},onMouseDown:function(c){var d;if(this.floating){if(Ext.fly(c.getTarget()).focusable()){d=true}this.toFront(d)}},onRender:function(d,e){var f=this;f.callParent(arguments);f.focusEl=f.el;if(f.maximizable){f.header.on({dblclick:{fn:f.toggleMaximize,element:"el",scope:f}})}},afterRender:function(){var e=this,d=e.hidden,f;e.hidden=false;e.callParent();e.hidden=d;e.proxy=e.getProxy();e.mon(e.el,"mousedown",e.onMouseDown,e);e.el.set({tabIndex:-1});if(e.maximized){e.maximized=false;e.maximize()}if(e.closable){f=e.getKeyMap();f.on(27,e.onEsc,e);f.disable()}if(!d){e.syncMonitorWindowResize();e.doConstrain()}},initDraggable:function(){var c=this,d;if(!c.header){c.updateHeader(true)}if(c.header){d=Ext.applyIf({el:c.el,delegate:"#"+c.header.id},c.draggable);if(c.constrain||c.constrainHeader){d.constrain=c.constrain;d.constrainDelegate=c.constrainHeader;d.constrainTo=c.constrainTo||c.container}c.dd=Ext.create("Ext.util.ComponentDragger",this,d);c.relayEvents(c.dd,["dragstart","drag","dragend"])}},onEsc:function(d,c){c.stopEvent();this[this.closeAction]()},beforeDestroy:function(){var b=this;if(b.rendered){delete this.animateTarget;b.hide();Ext.destroy(b.keyMap)}b.callParent()},addTools:function(){var b=this;b.callParent();if(b.minimizable){b.addTool({type:"minimize",handler:Ext.Function.bind(b.minimize,b,[])})}if(b.maximizable){b.addTool({type:"maximize",handler:Ext.Function.bind(b.maximize,b,[])});b.addTool({type:"restore",handler:Ext.Function.bind(b.restore,b,[]),hidden:true})}},getFocusEl:function(){var k=this,i=k.focusEl,j=k.defaultButton||k.defaultFocus,f=typeof db,l,h;if(Ext.isDefined(j)){if(Ext.isNumber(j)){i=k.query("button")[j]}else{if(Ext.isString(j)){i=k.down("#"+j)}else{i=j}}}return i||k.focusEl},beforeShow:function(){this.callParent();if(this.expandOnShow){this.expand(false)}},afterShow:function(f){var d=this,e=f||d.animateTarget;d.callParent(arguments);if(d.maximized){d.fitContainer()}d.syncMonitorWindowResize();if(!e){d.doConstrain()}if(d.keyMap){d.keyMap.enable()}},doClose:function(){var b=this;if(b.hidden){b.fireEvent("close",b);if(b.closeAction=="destroy"){this.destroy()}}else{b.hide(b.animateTarget,b.doClose,b)}},afterHide:function(){var b=this;b.syncMonitorWindowResize();if(b.keyMap){b.keyMap.disable()}b.callParent(arguments)},onWindowResize:function(){if(this.maximized){this.fitContainer()}this.doConstrain()},minimize:function(){this.fireEvent("minimize",this);return this},afterCollapse:function(){var b=this;if(b.maximizable){b.tools.maximize.hide();b.tools.restore.hide()}if(b.resizer){b.resizer.disable()}b.callParent(arguments)},afterExpand:function(){var b=this;if(b.maximized){b.tools.restore.show()}else{if(b.maximizable){b.tools.maximize.show()}}if(b.resizer){b.resizer.enable()}b.callParent(arguments)},maximize:function(){var b=this;if(!b.maximized){b.expand(false);if(!b.hasSavedRestore){b.restoreSize=b.getSize();b.restorePos=b.getPosition(true)}if(b.maximizable){b.tools.maximize.hide();b.tools.restore.show()}b.maximized=true;b.el.disableShadow();if(b.dd){b.dd.disable()}if(b.collapseTool){b.collapseTool.hide()}b.el.addCls(Ext.baseCSSPrefix+"window-maximized");b.container.addCls(Ext.baseCSSPrefix+"window-maximized-ct");b.syncMonitorWindowResize();b.setPosition(0,0);b.fitContainer();b.fireEvent("maximize",b)}return b},restore:function(){var d=this,c=d.tools;if(d.maximized){delete d.hasSavedRestore;d.removeCls(Ext.baseCSSPrefix+"window-maximized");if(c.restore){c.restore.hide()}if(c.maximize){c.maximize.show()}if(d.collapseTool){d.collapseTool.show()}d.setPosition(d.restorePos);d.setSize(d.restoreSize);delete d.restorePos;delete d.restoreSize;d.maximized=false;d.el.enableShadow(true);if(d.dd){d.dd.enable()}d.container.removeCls(Ext.baseCSSPrefix+"window-maximized-ct");d.syncMonitorWindowResize();d.doConstrain();d.fireEvent("restore",d)}return d},syncMonitorWindowResize:function(){var e=this,h=e._monitoringResize,g=e.monitorResize||e.constrain||e.constrainHeader||e.maximized,f=e.hidden||e.destroying||e.isDestroyed;if(g&&!f){if(!h){Ext.EventManager.onWindowResize(e.onWindowResize,e);e._monitoringResize=true}}else{if(h){Ext.EventManager.removeResizeListener(e.onWindowResize,e);e._monitoringResize=false}}},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",getPrevCmp:function(){var b=this.getSplitter();return b.previousSibling()},getNextCmp:function(){var b=this.getSplitter();return b.nextSibling()},onBeforeStart:function(i){var k=this,j=k.getPrevCmp(),h=k.getNextCmp(),l=k.getSplitter().collapseEl,e;if(l&&(i.getTarget()===k.getSplitter().collapseEl.dom)){return false}if(h.collapsed||j.collapsed){return false}e=k.overlay=Ext.getBody().createChild({cls:k.overlayCls,html:"&#160;"});e.unselectable();e.setSize(Ext.Element.getViewWidth(true),Ext.Element.getViewHeight(true));e.show();k.prevBox=j.getEl().getBox();k.nextBox=h.getEl().getBox();k.constrainTo=k.calculateConstrainRegion()},onStart:function(c){var d=this.getSplitter();d.addCls(d.baseCls+"-active")},calculateConstrainRegion:function(){var q=this,v=q.getSplitter(),p=v.getWidth(),o=v.defaultSplitMin,u=v.orientation,s=q.prevBox,n=q.getPrevCmp(),t=q.nextBox,r=q.getNextCmp(),l,m;if(u==="vertical"){l=Ext.create("Ext.util.Region",s.y,(n.maxWidth?s.x+n.maxWidth:t.right-(r.minWidth||o))+p,s.bottom,s.x+(n.minWidth||o));m=Ext.create("Ext.util.Region",t.y,t.right-(r.minWidth||o),t.bottom,(r.maxWidth?t.right-r.maxWidth:s.x+(s.minWidth||o))-p)}else{l=Ext.create("Ext.util.Region",s.y+(n.minHeight||o),s.right,(n.maxHeight?s.y+n.maxHeight:t.bottom-(r.minHeight||o))+p,s.x);m=Ext.create("Ext.util.Region",(r.maxHeight?t.bottom-r.maxHeight:s.y+(n.minHeight||o))-p,t.right,t.bottom-(r.minHeight||o),t.x)}return l.intersect(m)},performResize:function(m){var k=this,p=k.getOffset("dragTarget"),r=k.getSplitter(),o=r.orientation,e=k.getPrevCmp(),l=k.getNextCmp(),q=r.ownerCt,n=q.getLayout();q.suspendLayout=true;if(o==="vertical"){if(e){if(!e.maintainFlex){delete e.flex;e.setSize(k.prevBox.width+p[0],e.getHeight())}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(k.nextBox.width-p[0],l.getHeight())}}}else{if(e){if(!e.maintainFlex){delete e.flex;e.setSize(e.getWidth(),k.prevBox.height+p[1])}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(e.getWidth(),k.nextBox.height-p[1])}}}delete q.suspendLayout;n.onLayout()},endDrag:function(){var b=this;if(b.overlay){b.overlay.remove();delete b.overlay}b.callParent(arguments)},onEnd:function(f){var e=this,d=e.getSplitter();d.removeCls(d.baseCls+"-active");e.performResize()},onDrag:function(j){var l=this,i=l.getOffset("dragTarget"),k=l.getSplitter(),e=k.getEl(),h=k.orientation;if(h==="vertical"){e.setX(l.startRegion.left+i[0])}else{e.setY(l.startRegion.top+i[1])}},getSplitter:function(){return Ext.getCmp(this.getDragCt().id)}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.util.Observable",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,configs:{dynamic:true},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(b){this.headerCt=b;b.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var c=this.headerCt,d=c.el;c.mon(d,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=Ext.create("Ext.dd.DragTracker",{disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:d})},onHeaderCtMouseMove:function(j,g){if(this.headerCt.dragging){if(this.activeHd){this.activeHd.el.dom.style.cursor="";delete this.activeHd}}else{var h=j.getTarget("."+this.colHeaderCls,3,true),e,i;if(h){e=Ext.getCmp(h.id);if(e.isOnLeftEdge(j)){i=e.previousNode("gridcolumn:not([hidden])")}else{if(e.isOnRightEdge(j)){i=e}else{i=null}}if(i){if(i.isGroupHeader){i=i.down(":not([isGroupHeader]):not([hidden]):last")}if(i&&!(i.fixed||(i.resizable===false)||this.disabled)){this.activeHd=i;e.el.dom.style.cursor=this.eResizeCursor}}else{e.el.dom.style.cursor="";delete this.activeHd}}}},onBeforeStart:function(c){var d=c.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(d).hasCls("x-column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var d=this.dragHd.el,c=Ext.util.Region.getRegion(d);return c.adjust(0,this.maxColWidth-d.getWidth(),0,this.minColWidth)},onStart:function(t){var e=this,G=e.dragHd,K=G.el,z=K.getWidth(),E=e.headerCt,C=t.getTarget();if(e.dragHd&&!Ext.fly(C).hasCls("x-column-header-trigger")){E.dragging=true}e.origWidth=z;if(!e.dynamic){var I=K.getXY(),w=E.up("[scrollerOwner]"),H=e.dragHd.up(":not([isGroupHeader])"),D=H.up(),J=w.getLhsMarker(),A=w.getRhsMarker(),L=A.parent(),F=L.getLeft(true),v=L.getTop(true),x=L.translatePoints(I),y=D.body.getHeight()+E.getHeight(),B=x.top-v;J.setTop(B);A.setTop(B);J.setHeight(y);A.setHeight(y);J.setLeft(x.left-F);A.setLeft(x.left+z-F)}},onDrag:function(k){if(!this.dynamic){var l=this.tracker.getXY("point"),i=this.headerCt.up("[scrollerOwner]"),j=i.getRhsMarker(),n=j.parent(),e=n.translatePoints(l),m=n.getLeft(true);j.setLeft(e.left-m)}else{this.doResize()}},onEnd:function(m){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var n=this.dragHd,p=this.headerCt.up("[scrollerOwner]"),o=p.getLhsMarker(),k=p.getRhsMarker(),j=n.getWidth(),l=this.tracker.getOffset("point"),e=-9999;o.setLeft(e);k.setLeft(e)}this.doResize()}},doResize:function(){if(this.dragHd){var d=this.dragHd,e,f=this.tracker.getOffset("point");if(d.flex){delete d.flex}this.headerCt.suspendLayout=true;d.setWidth(this.origWidth+f[0],false);if(this.headerCt.forceFit){e=d.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(e){delete e.flex;e.setWidth(e.getWidth()-f[0],false)}}this.headerCt.suspendLayout=false;this.headerCt.doComponentLayout(this.headerCt.getFullWidth())}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.Lockable",{requires:["Ext.grid.LockingView"],syncRowHeight:true,spacerHidden:true,headerCounter:0,unlockText:"Unlock",lockText:"Lock",determineXTypeToCreate:function(){var l=this,i;if(l.subGridXType){i=l.subGridXType}else{var k=this.getXTypes().split("/"),g=k.length,j=k[g-1],h=k[g-2];if(h!=="tablepanel"){i=h}else{i=j}}return i},injectLockable:function(){this.lockable=true;this.hasView=true;var i=this,r=i.determineXTypeToCreate(),l=i.getSelectionModel(),q={xtype:r,enableAnimations:false,scroll:false,scrollerOwner:false,selModel:l,border:false,cls:Ext.baseCSSPrefix+"grid-inner-locked"},k={xtype:r,enableAnimations:false,scrollerOwner:false,selModel:l,border:false},n=0,o,p,m;i.addCls(Ext.baseCSSPrefix+"grid-locked");Ext.copyTo(k,i,i.normalCfgCopy);Ext.copyTo(q,i,i.lockedCfgCopy);for(;n<i.normalCfgCopy.length;n++){delete i[i.normalCfgCopy[n]]}for(n=0;n<i.lockedCfgCopy.length;n++){delete i[i.lockedCfgCopy[n]]}i.addEvents("lockcolumn","unlockcolumn");i.addStateEvents(["lockcolumn","unlockcolumn"]);i.lockedHeights=[];i.normalHeights=[];o=i.processColumns(i.columns);q.width=o.lockedWidth+Ext.num(l.headerWidth,0);q.columns=o.locked;k.columns=o.normal;i.store=Ext.StoreManager.lookup(i.store);q.store=i.store;k.store=i.store;k.flex=1;q.viewConfig=i.lockedViewConfig||{};q.viewConfig.loadingUseMsg=false;k.viewConfig=i.normalViewConfig||{};Ext.applyIf(q.viewConfig,i.viewConfig);Ext.applyIf(k.viewConfig,i.viewConfig);i.normalGrid=Ext.ComponentManager.create(k);i.lockedGrid=Ext.ComponentManager.create(q);i.view=Ext.create("Ext.grid.LockingView",{locked:i.lockedGrid,normal:i.normalGrid,panel:i});if(i.syncRowHeight){i.lockedGrid.getView().on({refresh:i.onLockedGridAfterRefresh,itemupdate:i.onLockedGridAfterUpdate,scope:i});i.normalGrid.getView().on({refresh:i.onNormalGridAfterRefresh,itemupdate:i.onNormalGridAfterUpdate,scope:i})}p=i.lockedGrid.headerCt;m=i.normalGrid.headerCt;p.lockedCt=true;p.lockableInjected=true;m.lockableInjected=true;p.on({columnshow:i.onLockedHeaderShow,columnhide:i.onLockedHeaderHide,columnmove:i.onLockedHeaderMove,sortchange:i.onLockedHeaderSortChange,columnresize:i.onLockedHeaderResize,scope:i});m.on({columnmove:i.onNormalHeaderMove,sortchange:i.onNormalHeaderSortChange,scope:i});i.normalGrid.on({scrollershow:i.onScrollerShow,scrollerhide:i.onScrollerHide,scope:i});i.lockedGrid.on("afterlayout",i.onLockedGridAfterLayout,i,{single:true});i.modifyHeaderCt();i.items=[i.lockedGrid,i.normalGrid];i.relayHeaderCtEvents(p);i.relayHeaderCtEvents(m);i.layout={type:"hbox",align:"stretch"}},processColumns:function(k){var l=0,i=k.length,h=1,m=[],n=[],j;for(;l<i;++l){j=k[l];j.processed=true;if(j.locked){if(j.flex){Ext.Error.raise("Columns which are locked do NOT support a flex width. You must set a width on the "+k[l].text+"column.")}if(!j.hidden){h+=j.width||Ext.grid.header.Container.prototype.defaultWidth}m.push(j)}else{n.push(j)}if(!j.headerId){j.headerId=(j.initialConfig||j).id||("L"+(++this.headerCounter))}}return{lockedWidth:h,locked:m,normal:n}},onLockedGridAfterLayout:function(){var c=this,d=c.lockedGrid.getView();d.on({beforerefresh:c.destroySpacer,scope:c})},onLockedHeaderMove:function(){if(this.syncRowHeight){this.onNormalGridAfterRefresh()}},onNormalHeaderMove:function(){if(this.syncRowHeight){this.onLockedGridAfterRefresh()}},getSpacerEl:function(){var g=this,e,f,h;if(!g.spacerEl){e=Ext.getScrollBarWidth()+(Ext.isIE?2:0);f=g.lockedGrid.getView();h=f.el;g.spacerEl=Ext.DomHelper.append(h,{cls:g.spacerHidden?(Ext.baseCSSPrefix+"hidden"):"",style:"height: "+e+"px;"},true)}return g.spacerEl},destroySpacer:function(){var b=this;if(b.spacerEl){b.spacerEl.destroy();delete b.spacerEl}},onLockedGridAfterRefresh:function(){var j=this,h=j.lockedGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.lockedHeights=[];for(;g<k;g++){j.lockedHeights[g]=i[g].clientHeight}j.syncRowHeights()},onNormalGridAfterRefresh:function(){var j=this,h=j.normalGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.normalHeights=[];for(;g<k;g++){j.normalHeights[g]=i[g].clientHeight}j.syncRowHeights()},onLockedGridAfterUpdate:function(e,d,f){this.lockedHeights[d]=f.clientHeight;this.syncRowHeights()},onNormalGridAfterUpdate:function(e,d,f){this.normalHeights[d]=f.clientHeight;this.syncRowHeights()},syncRowHeights:function(){var o=this,w=o.lockedHeights,n=o.normalHeights,x=[],p=w.length,r=0,i,u,t,q,s=o.getVerticalScroller(),v;if(w.length&&n.length){i=o.lockedGrid.getView();u=o.normalGrid.getView();t=i.el.query(i.getItemSelector());q=u.el.query(u.getItemSelector());for(;r<p;r++){if(!isNaN(w[r])&&!isNaN(n[r])){if(w[r]>n[r]){Ext.fly(q[r]).setHeight(w[r])}else{if(w[r]<n[r]){Ext.fly(t[r]).setHeight(n[r])}}}}o.normalGrid.invalidateScroller();if(s&&s.setViewScrollTop){s.setViewScrollTop(o.virtualScrollTop)}else{v=u.el.dom.scrollTop;u.el.dom.scrollTop=v;i.el.dom.scrollTop=v}o.lockedHeights=[];o.normalHeights=[]}},onScrollerShow:function(d,c){if(c==="horizontal"){this.spacerHidden=false;this.getSpacerEl().removeCls(Ext.baseCSSPrefix+"hidden")}},onScrollerHide:function(d,c){if(c==="horizontal"){this.spacerHidden=true;if(this.spacerEl){this.spacerEl.addCls(Ext.baseCSSPrefix+"hidden")}}},modifyHeaderCt:function(){var b=this;b.lockedGrid.headerCt.getMenuItems=b.getMenuItems(true);b.normalGrid.headerCt.getMenuItems=b.getMenuItems(false)},onUnlockMenuClick:function(){this.unlock()},onLockMenuClick:function(){this.lock()},getMenuItems:function(i){var m=this,l=m.unlockText,k=m.lockText,p=Ext.baseCSSPrefix+"hmenu-unlock",n=Ext.baseCSSPrefix+"hmenu-lock",j=Ext.Function.bind(m.onUnlockMenuClick,m),o=Ext.Function.bind(m.onLockMenuClick,m);return function(){var a=Ext.grid.header.Container.prototype.getMenuItems.call(this);a.push("-",{cls:p,text:l,handler:j,disabled:!i});a.push({cls:n,text:k,handler:o,disabled:i});return a}},lock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;i=i||k.getMenu().activeHeader;if(i.flex){i.width=i.getWidth();delete i.flex}k.remove(i,false);h.suspendLayout=true;i.locked=true;if(Ext.isDefined(m)){h.insert(m,i)}else{h.add(i)}h.suspendLayout=false;n.syncLockedSection();n.fireEvent("lockcolumn",n,i)},syncLockedSection:function(){var b=this;b.syncLockedWidth();b.lockedGrid.getView().refresh();b.normalGrid.getView().refresh()},syncLockedWidth:function(){var c=this,d=c.lockedGrid.headerCt.getFullWidth(true);c.lockedGrid.setWidth(d+1);c.doComponentLayout()},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(d,f,e){if(e){this.normalGrid.headerCt.clearOtherSortStates(null,true)}},onNormalHeaderSortChange:function(d,f,e){if(e){this.lockedGrid.headerCt.clearOtherSortStates(null,true)}},unlock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;if(!Ext.isDefined(m)){m=0}i=i||h.getMenu().activeHeader;h.remove(i,false);n.syncLockedWidth();n.lockedGrid.getView().refresh();i.locked=false;k.insert(m,i);n.normalGrid.getView().refresh();n.fireEvent("unlockcolumn",n,i)},applyColumnsState:function(t){var n=this,v=n.lockedGrid,u=v.headerCt,p=n.normalGrid.headerCt,m=u.items,s=p.items,x,q=[],o=[],w,r=1;Ext.each(t,function(a){function b(c){return c.headerId==a.id}w=true;if(!(x=m.findBy(b))){x=s.findBy(b);w=false}if(x){if(x.applyColumnState){x.applyColumnState(a)}if(!Ext.isDefined(x.locked)){x.locked=w}if(x.locked){q.push(x);if(!x.hidden&&Ext.isNumber(x.width)){r+=x.width}}else{o.push(x)}}});if(q.length+o.length==m.getCount()+s.getCount()){u.removeAll(false);p.removeAll(false);u.add(q);p.add(o);v.setWidth(r)}},getColumnsState:function(){var d=this,e=d.lockedGrid.headerCt.getColumnsState(),f=d.normalGrid.headerCt.getColumnsState();return e.concat(f)},reconfigureLockable:function(g,f){var j=this,h=j.lockedGrid,i=j.normalGrid;if(f){h.headerCt.suspendLayout=true;i.headerCt.suspendLayout=true;h.headerCt.removeAll();i.headerCt.removeAll();f=j.processColumns(f);h.setWidth(f.lockedWidth);h.headerCt.add(f.locked);i.headerCt.add(f.normal)}if(g){g=Ext.data.StoreManager.lookup(g);j.store=g;h.bindStore(g);i.bindStore(g)}else{h.getView().refresh();i.getView().refresh()}if(f){h.headerCt.suspendLayout=false;i.headerCt.suspendLayout=false;h.headerCt.forceComponentLayout();i.headerCt.forceComponentLayout()}}});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml"],separatorRe:/[, ]+/,statics:{create:function(f,i){i=i||["Svg","Vml"];var j=0,g=i.length,h;for(;j<g;j++){if(Ext.supports[i[j]]){return Ext.create("Ext.draw.engine."+i[j],f)}}return false}},availableAttrs:{blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,"dominant-baseline":"auto",fill:"none","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:"",height:0,hidden:false,href:"http://sencha.com/",opacity:1,path:"M0,0",radius:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank",text:"","text-anchor":"middle",title:"Ext Draw",width:0,x:0,y:0,zIndex:0},container:undefined,height:352,width:512,x:0,y:0,orderSpritesByZIndex:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.domRef=Ext.getDoc().dom;c.customAttributes={};c.addEvents("mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","click");c.mixins.observable.constructor.call(c);c.getId();c.initGradients();c.initItems();if(c.renderTo){c.render(c.renderTo);delete c.renderTo}c.initBackground(d.background)},initSurface:Ext.emptyFn,renderItem:Ext.emptyFn,renderItems:Ext.emptyFn,setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()}},addCls:Ext.emptyFn,removeCls:Ext.emptyFn,setStyle:Ext.emptyFn,initGradients:function(){var b=this.gradients;if(b){Ext.each(b,this.addGradient,this)}},initItems:function(){var b=this.items;this.items=Ext.create("Ext.draw.CompositeSprite");this.groups=Ext.create("Ext.draw.CompositeSprite");if(b){this.add(b)}},initBackground:function(h){var l=this,m=l.width,i=l.height,k,j,n;if(h){if(h.gradient){j=h.gradient;k=j.id;l.addGradient(j);l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:"url(#"+k+")"})}else{if(h.fill){l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:h.fill})}else{if(h.image){l.background=l.add({type:"image",x:0,y:0,width:m,height:i,src:h.image})}}}}},setSize:function(d,c){if(this.background){this.background.setAttributes({width:d,height:c,hidden:false},true)}this.applyViewBox()},scrubAttrs:function(i){var j,f={},g={},h=i.attr;for(j in h){if(this.translateAttrs.hasOwnProperty(j)){f[this.translateAttrs[j]]=h[j];g[this.translateAttrs[j]]=true}else{if(this.availableAttrs.hasOwnProperty(j)&&!g[j]){f[j]=h[j]}}}return f},onClick:function(b){this.processEvent("click",b)},onMouseUp:function(b){this.processEvent("mouseup",b)},onMouseDown:function(b){this.processEvent("mousedown",b)},onMouseOver:function(b){this.processEvent("mouseover",b)},onMouseOut:function(b){this.processEvent("mouseout",b)},onMouseMove:function(b){this.fireEvent("mousemove",b)},onMouseEnter:Ext.emptyFn,onMouseLeave:Ext.emptyFn,addGradient:Ext.emptyFn,add:function(){var m=Array.prototype.slice.call(arguments),k,o;var r=m.length>1;if(r||Ext.isArray(m[0])){var l=r?m:m[0],q=[],p,n,i;for(p=0,n=l.length;p<n;p++){i=l[p];i=this.add(i);q.push(i)}return q}k=this.prepareItems(m[0],true)[0];this.insertByZIndex(k);this.onAdd(k);return k},insertByZIndex:function(l){var o=this,q=o.items.items,r=q.length,k=Math.ceil,n=l.attr.zIndex,m=r,s=m-1,p=0,t;if(o.orderSpritesByZIndex&&r&&n<q[s].attr.zIndex){while(p<=s){m=k((p+s)/2);t=q[m].attr.zIndex;if(t>n){s=m-1}else{if(t<n){p=m+1}else{break}}}while(m<r&&q[m].attr.zIndex<=n){m++}}o.items.insert(m,l);return m},onAdd:function(k){var i=k.group,g=k.draggable,h,j,l;if(i){h=[].concat(i);j=h.length;for(l=0;l<j;l++){i=h[l];this.getGroup(i).add(k)}delete k.group}if(g){k.initDraggable()}},remove:function(d,c){if(d){this.items.remove(d);this.groups.each(function(a){a.remove(d)});d.onRemove();if(c===true){d.destroy()}}},removeAll:function(g){var f=this.items.items,h=f.length,e;for(e=h-1;e>-1;e--){this.remove(f[e],g)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var s=this,l=s.viewBox,v=s.width,p=s.height,q,r,n,u,o,t,m;if(l&&(v||p)){q=l.x;r=l.y;n=l.width;u=l.height;o=p/u;t=v/n;if(n*o<v){q-=(v-n*o)/2/o}if(u*t<p){r-=(p-u*t)/2/t}m=1/Math.min(n,o);s.viewBoxShift={dx:-q,dy:-r,scale:m}}},transformToViewBox:function(f,g){if(this.viewBoxShift){var h=this,e=h.viewBoxShift;return[f*e.scale-e.dx,g*e.scale-e.dy]}else{return[f,g]}},applyTransformations:function(e){e.bbox.transform=0;this.transform(e);var g=this,h=false,f=e.attr;if(f.translation.x!=null||f.translation.y!=null){g.translate(e);h=true}if(f.scaling.x!=null||f.scaling.y!=null){g.scale(e);h=true}if(f.rotation.degrees!=null){g.rotate(e);h=true}if(h){e.bbox.transform=0;this.transform(e);e.transformations=[]}},rotate:function(g){var h,f=g.attr.rotation.degrees,i=g.attr.rotation.x,j=g.attr.rotation.y;if(!Ext.isNumber(i)||!Ext.isNumber(j)){h=this.getBBox(g);i=!Ext.isNumber(i)?h.x+h.width/2:i;j=!Ext.isNumber(j)?h.y+h.height/2:j}g.transformations.push({type:"rotate",degrees:f,x:i,y:j})},translate:function(d){var e=d.attr.translation.x||0,f=d.attr.translation.y||0;d.transformations.push({type:"translate",x:e,y:f})},scale:function(g){var j,h=g.attr.scaling.x||1,i=g.attr.scaling.y||1,k=g.attr.scaling.centerX,l=g.attr.scaling.centerY;if(!Ext.isNumber(k)||!Ext.isNumber(l)){j=this.getBBox(g);k=!Ext.isNumber(k)?j.x+j.width/2:k;l=!Ext.isNumber(l)?j.y+j.height/2:l}g.transformations.push({type:"scale",x:h,y:i,centerX:k,centerY:l})},rectPath:function(g,h,f,j,i){if(i){return[["M",g+i,h],["l",f-i*2,0],["a",i,i,0,0,1,i,i],["l",0,j-i*2],["a",i,i,0,0,1,-i,i],["l",i*2-f,0],["a",i,i,0,0,1,-i,-i],["l",0,i*2-j],["a",i,i,0,0,1,i,-i],["z"]]}return[["M",g,h],["l",f,0],["l",0,j],["l",-f,0],["z"]]},ellipsePath:function(f,g,h,e){if(e==null){e=h}return[["M",f,g],["m",0,-e],["a",h,e,0,1,1,0,2*e],["a",h,e,0,1,1,0,-2*e],["z"]]},getPathpath:function(b){return b.attr.path},getPathcircle:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radius,a.radius)},getPathellipse:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radiusX||(a.width/2)||0,a.radiusY||(a.height/2)||0)},getPathrect:function(d){var a=d.attr;return this.rectPath(a.x,a.y,a.width,a.height,a.r)},getPathimage:function(d){var a=d.attr;return this.rectPath(a.x||0,a.y||0,a.width,a.height)},getPathtext:function(d){var c=this.getBBoxText(d);return this.rectPath(c.x,c.y,c.width,c.height)},createGroup:function(c){var d=this.groups.get(c);if(!d){d=Ext.create("Ext.draw.CompositeSprite",{surface:this});d.id=c||Ext.id(null,"ext-surface-group-");this.groups.add(d)}return d},getGroup:function(c){if(typeof c=="string"){var d=this.groups.get(c);if(!d){d=this.createGroup(c)}}else{d=c}return d},prepareItems:function(g,j){g=[].concat(g);var h,f,i;for(f=0,i=g.length;f<i;f++){h=g[f];if(!(h instanceof Ext.draw.Sprite)){h.surface=this;g[f]=this.createItem(h)}else{h.surface=this}}return g},setText:Ext.emptyFn,createItem:Ext.emptyFn,getId:function(){return this.id||(this.id=Ext.id(null,"ext-surface-"))},destroy:function(){delete this.domRef;this.removeAll()}});Ext.define("Ext.draw.Component",{alias:"widget.draw",extend:"Ext.Component",requires:["Ext.draw.Surface","Ext.layout.component.Draw"],enginePriority:["Svg","Vml"],baseCls:Ext.baseCSSPrefix+"surface",componentLayout:"draw",viewBox:true,autoSize:false,initComponent:function(){this.callParent(arguments);this.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave","click")},onRender:function(){var o=this,j=o.viewBox,q=o.autoSize,l,p,r,k,m,n;o.callParent(arguments);if(o.createSurface()!==false){p=o.surface.items;if(j||q){l=p.getBBox();r=l.width;k=l.height;m=l.x;n=l.y;if(o.viewBox){o.surface.setViewBox(m,n,r,k)}else{o.autoSizeSurface()}}}},autoSizeSurface:function(){var i=this,f=i.surface.items,h=f.getBBox(),j=h.width,g=h.height;f.setAttributes({translate:{x:-h.x,y:-h.y+(+Ext.isOpera)}},true);if(i.rendered){i.setSize(j,g);i.surface.setSize(j,g)}else{i.surface.setSize(j,g)}i.el.setSize(j,g)},createSurface:function(){var d=Ext.draw.Surface.create(Ext.apply({},{width:this.width,height:this.height,renderTo:this.el},this.initialConfig));if(!d){return false}this.surface=d;function c(a){return function(b){this.fireEvent(a,b)}}d.on({scope:this,mouseup:c("mouseup"),mousedown:c("mousedown"),mousemove:c("mousemove"),mouseenter:c("mouseenter"),mouseleave:c("mouseleave"),click:c("click")})},onDestroy:function(){var b=this.surface;if(b){b.destroy()}this.callParent(arguments)}});Ext.define("Ext.dd.DropTarget",{extend:"Ext.dd.DDTarget",requires:["Ext.dd.ScrollManager"],constructor:function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}this.callParent([this.el.dom,this.ddGroup||this.group,{isTarget:true}])},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(e,f,d){if(this.overClass){this.el.addCls(this.overClass)}return this.dropAllowed},notifyOver:function(e,f,d){return this.dropAllowed},notifyOut:function(e,f,d){if(this.overClass){this.el.removeCls(this.overClass)}},notifyDrop:function(e,f,d){return false},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.dd.DropZone",{extend:"Ext.dd.DropTarget",requires:["Ext.dd.Registry"],getTargetFromEvent:function(b){return Ext.dd.Registry.getTargetFromEvent(b)},onNodeEnter:function(g,f,h,e){},onNodeOver:function(g,f,h,e){return this.dropAllowed},onNodeOut:function(g,f,h,e){},onNodeDrop:function(g,f,h,e){return false},onContainerOver:function(e,f,d){return this.dropNotAllowed},onContainerDrop:function(e,f,d){return false},notifyEnter:function(e,f,d){return this.dropNotAllowed},notifyOver:function(f,h,e){var g=this.getTargetFromEvent(h);if(!g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}return this.onContainerOver(f,h,e)}if(this.lastOverNode!=g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e)}this.onNodeEnter(g,f,h,e);this.lastOverNode=g}return this.onNodeOver(g,f,h,e)},notifyOut:function(e,f,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,e,f,d);this.lastOverNode=null}},notifyDrop:function(f,h,e){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}var g=this.getTargetFromEvent(h);return g?this.onNodeDrop(g,f,h,e):this.onContainerDrop(f,h,e)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.define("Ext.view.DropZone",{extend:"Ext.dd.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el])},fireViewEvent:function(){var c=this,d;c.lock();d=c.view.fireEvent.apply(c.view,arguments);c.unlock();return d},getTargetFromEvent:function(k){var l=k.getTarget(this.view.getItemSelector()),o,p,e,n,i,m;if(!l){o=k.getPageY();for(n=0,p=this.view.getNodes(),i=p.length;n<i;n++){e=p[n];m=Ext.fly(e).getBox();if(o<=m.bottom){return e}}}return l},getIndicator:function(){var b=this;if(!b.indicator){b.indicator=Ext.createWidget("component",{html:b.indicatorHtml,cls:b.indicatorCls,ownerCt:b.view,floating:true,shadow:false})}return b.indicator},getPosition:function(j,g){var h=j.getXY()[1],e=Ext.fly(g).getRegion(),i;if((e.bottom-h)>=(e.bottom-e.top)/2){i="before"}else{i="after"}return i},containsRecordAtOffset:function(m,h,k){if(!h){return false}var i=this.view,n=i.indexOf(h),l=i.getNode(n+k),j=l?i.getRecord(l):null;return j&&Ext.Array.contains(m,j)},positionIndicator:function(s,r,q){var p=this,n=p.view,o=p.getPosition(q,s),e=n.getRecord(s),t=r.records,m,l;if(!Ext.Array.contains(t,e)&&(o=="before"&&!p.containsRecordAtOffset(t,e,-1)||o=="after"&&!p.containsRecordAtOffset(t,e,1))){p.valid=true;if(p.overRecord!=e||p.currentPosition!=o){l=Ext.fly(s).getY()-n.el.getY()-1;if(o=="after"){l+=Ext.fly(s).getHeight()}p.getIndicator().setWidth(Ext.fly(n.el).getWidth()).showAt(0,l);p.overRecord=e;p.currentPosition=o}}else{p.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(j,g,h,i){var e=this;if(!Ext.Array.contains(i.records,e.view.getRecord(j))){e.positionIndicator(j,i,h)}return e.valid?e.dropAllowed:e.dropNotAllowed},notifyOut:function(j,g,h,i){var e=this;e.callParent(arguments);delete e.overRecord;delete e.currentPosition;if(e.indicator){e.indicator.hide()}},onContainerOver:function(h,i,j){var k=this,e=k.view,l=e.store.getCount();if(l){k.positionIndicator(e.getNode(l-1),j,i)}else{delete k.overRecord;delete k.currentPosition;k.getIndicator().setWidth(Ext.fly(e.el).getWidth()).showAt(0,0);k.valid=true}return k.dropAllowed},onContainerDrop:function(e,f,d){return this.onNodeDrop(e,null,f,d)},onNodeDrop:function(o,j,m,n){var p=this,k=false,e=function(){p.invalidateDrop();p.handleNodeDrop(n,p.overRecord,p.currentPosition);k=true;p.fireViewEvent("drop",o,n,p.overRecord,p.currentPosition)},l=false;if(p.valid){l=p.fireViewEvent("beforedrop",o,n,p.overRecord,p.currentPosition,e);if(l!==false){if(!k){e()}}}return l},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",handleNodeDrop:function(q,o,n){var k=this.view,i=k.getStore(),l,r,p,m;if(q.copy){r=q.records;q.records=[];for(p=0,m=r.length;p<m;p++){q.records.push(r[p].copy(r[p].getId()))}}else{q.view.store.remove(q.records,q.view===k)}l=i.indexOf(o);if(n!=="before"){l++}i.insert(l,q.records);k.getSelectionModel().select(q.records)}});Ext.define("Ext.grid.header.DropZone",{extend:"Ext.dd.DropZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(b){return b.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){if(!this.topIndicator){this.topIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:"&#160;"},true)}return this.topIndicator},getBottomIndicator:function(){if(!this.bottomIndicator){this.bottomIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:"&#160;"},true)}return this.bottomIndicator},getLocation:function(k,e){var h=k.getXY()[0],l=Ext.fly(e).getRegion(),i,j;if((l.right-h)<=(l.right-l.left)/2){i="after"}else{i="before"}return{pos:i,header:Ext.getCmp(e.id),node:e}},positionIndicator:function(i,F,z){var R=this.getLocation(z,F),D=R.header,M=R.pos,N=i.nextSibling("gridcolumn:not([hidden])"),A=i.previousSibling("gridcolumn:not([hidden])"),O,I,C,B,Q,P,J,H,e,y;if(!D.draggable&&D.getIndex()==0){return false}this.lastLocation=R;if((i!==D)&&((M==="before"&&N!==D)||(M==="after"&&A!==D))&&!D.isDescendantOf(i)){var G=Ext.dd.DragDropManager.getRelated(this),K=G.length,E=0,L;for(;E<K;E++){L=G[E];if(L!==this&&L.invalidateDrop){L.invalidateDrop()}}this.valid=true;I=this.getTopIndicator();C=this.getBottomIndicator();if(M==="before"){B="tl";Q="bl"}else{B="tr";Q="br"}P=D.el.getAnchorXY(B);J=D.el.getAnchorXY(Q);H=this.headerCt.el;e=H.getLeft();y=H.getRight();P[0]=Ext.Number.constrain(P[0],e,y);J[0]=Ext.Number.constrain(J[0],e,y);P[0]-=4;P[1]-=9;J[0]-=4;I.setXY(P);C.setXY(J);I.show();C.show()}else{this.invalidateDrop()}},invalidateDrop:function(){this.valid=false;this.hideIndicators()},onNodeOver:function(e,f,g,h){if(h.header.el.dom!==e){this.positionIndicator(h.header,e,g)}return this.valid?this.dropAllowed:this.dropNotAllowed},hideIndicators:function(){this.getTopIndicator().hide();this.getBottomIndicator().hide()},onNodeOut:function(){this.hideIndicators()},onNodeDrop:function(w,q,r,v){if(this.valid){this.invalidateDrop();var t=v.header,u=this.lastLocation,o=t.ownerCt,z=o.items.indexOf(t),s=u.header.ownerCt,e=s.items.indexOf(u.header),x=this.headerCt,p,y;if(u.pos==="after"){e++}if(o!==s&&o.lockableInjected&&s.lockableInjected&&s.lockedCt){y=o.up("[scrollerOwner]");y.lock(t,e)}else{if(o!==s&&o.lockableInjected&&s.lockableInjected&&o.lockedCt){y=o.up("[scrollerOwner]");y.unlock(t,e)}else{if((o===s)&&(e>o.items.indexOf(t))){e--}if(o!==s){o.suspendLayout=true;o.remove(t,false);o.suspendLayout=false}if(o.isGroupHeader){if(!o.items.getCount()){p=o.ownerCt;p.suspendLayout=true;p.remove(o,false);o.el.dom.parentNode.removeChild(o.el.dom);p.suspendLayout=false}else{o.minWidth=o.getWidth()-t.getWidth();o.setWidth(o.minWidth)}}s.suspendLayout=true;if(o===s){s.move(z,e)}else{s.insert(e,t)}s.suspendLayout=false;if(s.isGroupHeader){t.savedFlex=t.flex;delete t.flex;t.width=t.getWidth();s.minWidth=s.getWidth()+t.getWidth()-(t.savedFlex?1:0);s.setWidth(s.minWidth)}else{if(t.savedFlex){t.flex=t.savedFlex;delete t.width}}x.purgeCache();x.doLayout();x.onHeaderMoved(t,z,e);if(!o.items.getCount()){o.destroy()}}}}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.util.Observable",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(b){this.headerCt=b;b.on("render",this.onHeaderCtRender,this)},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){this.dragZone=Ext.create("Ext.grid.header.DragZone",this.headerCt);this.dropZone=Ext.create("Ext.grid.header.DropZone",this.headerCt);if(this.disabled){this.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.data.reader.Array",{extend:"Ext.data.reader.Json",alternateClassName:"Ext.data.ArrayReader",alias:"reader.array",buildExtractors:function(){this.callParent(arguments);var g=this.model.prototype.fields.items,f=0,j=g.length,h=[],i;for(;f<j;f++){i=g[f].mapping;h.push(function(a){return function(b){return b[a]}}(i!==null?i:f))}this.extractorFunctions=h}});Ext.define("Ext.resizer.ResizeTracker",{extend:"Ext.dd.DragTracker",dynamic:true,preserveRatio:false,constrainTo:null,proxyCls:Ext.baseCSSPrefix+"resizable-proxy",constructor:function(f){var i=this;if(!f.el){if(f.target.isComponent){i.el=f.target.getEl()}else{i.el=f.target}}this.callParent(arguments);if(i.preserveRatio&&i.minWidth&&i.minHeight){var j=i.minWidth/i.el.getWidth(),g=i.minHeight/i.el.getHeight();if(g>j){i.minWidth=i.el.getWidth()*g}else{i.minHeight=i.el.getHeight()*j}}if(i.throttle){var h=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)},i.throttle);i.resize=function(b,a,c){if(c){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)}else{h.apply(null,arguments)}}}},onBeforeStart:function(b){this.startBox=this.el.getBox()},getDynamicTarget:function(){var d=this,c=d.target;if(d.dynamic){return c}else{if(!d.proxy){d.proxy=d.createProxy(c)}}d.proxy.show();return d.proxy},createProxy:function(h){var e,f=this.proxyCls,g;if(h.isComponent){e=h.getProxy().addCls(f)}else{g=Ext.getBody();if(Ext.scopeResetCSS){g=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}e=h.createProxy({tag:"div",cls:f,id:h.id+"-rzproxy"},g)}e.removeCls(Ext.baseCSSPrefix+"proxy-el");return e},onStart:function(b){this.activeResizeHandle=Ext.getCmp(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(b){if(this.dynamic||this.proxy){this.updateDimensions(b)}},updateDimensions:function(z,F){var y=this,N=y.activeResizeHandle.region,L=y.getOffset(y.constrainTo?"dragTarget":null),H=y.startBox,K,C=0,x=0,I,B,P=0,e=0,w,E=L[0]<0?"right":"left",A=L[1]<0?"down":"up",J,O;switch(N){case"south":x=L[1];O=2;break;case"north":x=-L[1];e=-x;O=2;break;case"east":C=L[0];O=1;break;case"west":C=-L[0];P=-C;O=1;break;case"northeast":x=-L[1];e=-x;C=L[0];J=[H.x,H.y+H.height];O=3;break;case"southeast":x=L[1];C=L[0];J=[H.x,H.y];O=3;break;case"southwest":C=-L[0];P=-C;x=L[1];J=[H.x+H.width,H.y];O=3;break;case"northwest":x=-L[1];e=-x;C=-L[0];P=-C;J=[H.x+H.width,H.y+H.height];O=3;break}var M={width:H.width+C,height:H.height+x,x:H.x+P,y:H.y+e};I=Ext.Number.snap(M.width,y.widthIncrement);B=Ext.Number.snap(M.height,y.heightIncrement);if(I!=M.width||B!=M.height){switch(N){case"northeast":M.y-=B-M.height;break;case"north":M.y-=B-M.height;break;case"southwest":M.x-=I-M.width;break;case"west":M.x-=I-M.width;break;case"northwest":M.x-=I-M.width;M.y-=B-M.height}M.width=I;M.height=B}if(M.width<y.minWidth||M.width>y.maxWidth){M.width=Ext.Number.constrain(M.width,y.minWidth,y.maxWidth);if(P){M.x=H.x+(H.width-M.width)}}else{y.lastX=M.x}if(M.height<y.minHeight||M.height>y.maxHeight){M.height=Ext.Number.constrain(M.height,y.minHeight,y.maxHeight);if(e){M.y=H.y+(H.height-M.height)}}else{y.lastY=M.y}if(y.preserveRatio||z.shiftKey){var D,G;K=y.startBox.width/y.startBox.height;D=Math.min(Math.max(y.minHeight,M.width/K),y.maxHeight);G=Math.min(Math.max(y.minWidth,M.height*K),y.maxWidth);if(O==1){M.height=D}else{if(O==2){M.width=G}else{w=Math.abs(J[0]-this.lastXY[0])/Math.abs(J[1]-this.lastXY[1]);if(w>K){M.height=D}else{M.width=G}if(N=="northeast"){M.y=H.y-(M.height-H.height)}else{if(N=="northwest"){M.y=H.y-(M.height-H.height);M.x=H.x-(M.width-H.width)}else{if(N=="southwest"){M.x=H.x-(M.width-H.width)}}}}}}if(x===0){A="none"}if(C===0){E="none"}y.resize(M,{horizontal:E,vertical:A},F)},getResizeTarget:function(b){return b?this.target:this.getDynamicTarget()},resize:function(e,g,f){var h=this.getResizeTarget(f);if(h.isComponent){if(h.floating){h.setPagePosition(e.x,e.y)}h.setSize(e.width,e.height)}else{h.setBox(e);if(this.originalTarget){this.originalTarget.setBox(e)}}},onEnd:function(b){this.updateDimensions(b,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.DomHelper"],markup:function(){if(Ext.supports.CSS3BoxShadow){return'<div class="'+Ext.baseCSSPrefix+'css-shadow" role="presentation"></div>'}else{if(Ext.isIE){return'<div class="'+Ext.baseCSSPrefix+'ie-shadow" role="presentation"></div>'}else{return'<div class="'+Ext.baseCSSPrefix+'frame-shadow" role="presentation"><div class="xst" role="presentation"><div class="xstl" role="presentation"></div><div class="xstc" role="presentation"></div><div class="xstr" role="presentation"></div></div><div class="xsc" role="presentation"><div class="xsml" role="presentation"></div><div class="xsmc" role="presentation"></div><div class="xsmr" role="presentation"></div></div><div class="xsb" role="presentation"><div class="xsbl" role="presentation"></div><div class="xsbc" role="presentation"></div><div class="xsbr" role="presentation"></div></div></div>'}}}(),shadows:[],pull:function(){var b=this.shadows.shift();if(!b){b=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));b.autoBoxAdjust=false}return b},push:function(b){this.shadows.push(b)},reset:function(){Ext.Array.each(this.shadows,function(b){b.remove()});this.shadows=[]}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(e,f,a,b,c,d){if(e!=null){this.matrix=[[e,a,c],[f,b,d],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=e.matrix[b][t]*a[t][d]}y[b][d]=v}}e.matrix=y},prepend:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=a[b][t]*e.matrix[t][d]}y[b][d]=v}}e.matrix=y},invert:function(){var d=this.matrix,e=d[0][0],f=d[1][0],p=d[0][1],a=d[1][1],b=d[0][2],c=d[1][2],o=e*a-f*p;return new Ext.draw.Matrix(a/o,-f/o,-p/o,e/o,(p*c-a*b)/o,(f*b-e*c)/o)},clone:function(){var e=this.matrix,f=e[0][0],n=e[1][0],a=e[0][1],b=e[1][1],c=e[0][2],d=e[1][2];return new Ext.draw.Matrix(f,n,a,b,c,d)},translate:function(d,c){this.prepend(1,0,0,1,d,c)},scale:function(f,h,g,i){var j=this;if(h==null){h=f}j.add(1,0,0,1,g,i);j.add(f,0,0,h,0,0);j.add(1,0,0,1,-g,-i)},rotate:function(l,a,h){l=Ext.draw.Draw.rad(l);var j=this,i=+Math.cos(l).toFixed(9),k=+Math.sin(l).toFixed(9);j.add(i,k,-k,i,a,h);j.add(1,0,0,1,-a,-h)},x:function(e,f){var d=this.matrix;return e*d[0][0]+f*d[0][1]+d[0][2]},y:function(e,f){var d=this.matrix;return e*d[1][0]+f*d[1][1]+d[1][2]},get:function(c,d){return +this.matrix[c][d].toFixed(4)},toString:function(){var b=this;return[b.get(0,0),b.get(0,1),b.get(1,0),b.get(1,1),0,0].join()},toSvg:function(){var b=this;return"matrix("+[b.get(0,0),b.get(1,0),b.get(0,1),b.get(1,1),b.get(0,2),b.get(1,2)].join()+")"},toFilter:function(){var b=this;return"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',FilterType=bilinear,M11="+b.get(0,0)+", M12="+b.get(0,1)+", M21="+b.get(1,0)+", M22="+b.get(1,1)+", Dx="+b.get(0,2)+", Dy="+b.get(1,2)+")"},offset:function(){var b=this.matrix;return[(b[0][2]||0).toFixed(4),(b[1][2]||0).toFixed(4)]},split:function(){function i(a){return a[0]*a[0]+a[1]*a[1]}function f(b){var a=Math.sqrt(i(b));b[0]/=a;b[1]/=a}var g=this.matrix,j={translateX:g[0][2],translateY:g[1][2]},h;h=[[g[0][0],g[0][1]],[g[1][0],g[1][1]]];j.scaleX=Math.sqrt(i(h[0]));f(h[0]);j.shear=h[0][0]*h[1][0]+h[0][1]*h[1][1];h[1]=[h[1][0]-h[0][0]*j.shear,h[1][1]-h[0][1]*j.shear];j.scaleY=Math.sqrt(i(h[1]));f(h[1]);j.shear/=j.scaleY;j.rotate=Math.asin(-h[0][1]);j.isSimple=!+j.shear.toFixed(9)&&(j.scaleX.toFixed(9)==j.scaleY.toFixed(9)||!j.rotate);return j}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(e,f){var g=this,h=e.el;g.sprite=e;g.el=h;g.dragData={el:h,sprite:e};g.callParent([h,f]);g.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(b){return this.el},getRegion:function(){var v=this,y=v.el,t,z,A,r,s,b,B,u,x,e,l;l=v.sprite;e=l.getBBox();try{t=Ext.Element.getXY(y)}catch(w){}if(!t){return null}z=t[0];A=z+e.width;r=t[1];s=r+e.height;return Ext.create("Ext.util.Region",r,A,s,z)},startDrag:function(e,g){var h=this,f=h.sprite.attr;h.prev=h.sprite.surface.transformToViewBox(e,g)},onDrag:function(j){var k=j.getXY(),l=this,m=l.sprite,i=m.attr,n,e;k=l.sprite.surface.transformToViewBox(k[0],k[1]);n=k[0]-l.prev[0];e=k[1]-l.prev[1];m.setAttributes({translate:{x:i.translation.x+n,y:i.translation.y+e}},true);l.prev=k},setDragElPos:function(){return false}});Ext.define("Ext.Shadow",{requires:["Ext.ShadowPool"],constructor:function(f){var j=this,i={h:0},h,g;Ext.apply(j,f);if(!Ext.isString(j.mode)){j.mode=j.defaultMode}h=j.offset;g=Math.floor(h/2);j.opacity=50;switch(j.mode.toLowerCase()){case"drop":if(Ext.supports.CSS3BoxShadow){i.w=i.h=-h;i.l=i.t=h}else{i.w=0;i.l=i.t=h;i.t-=1;if(Ext.isIE){i.l-=h+g;i.t-=h+g;i.w-=g;i.h-=g;i.t+=1}}break;case"sides":if(Ext.supports.CSS3BoxShadow){i.h-=h;i.t=h;i.l=i.w=0}else{i.w=(h*2);i.l=-h;i.t=h-1;if(Ext.isIE){i.l-=(h-g);i.t-=h+g;i.l+=1;i.w-=(h-g)*2;i.w-=g+1;i.h-=1}}break;case"frame":if(Ext.supports.CSS3BoxShadow){i.l=i.w=i.t=0}else{i.w=i.h=(h*2);i.l=i.t=-h;i.t+=1;i.h-=2;if(Ext.isIE){i.l-=(h-g);i.t-=(h-g);i.l+=1;i.w-=(h+g+1);i.h-=(h+g);i.h+=1}break}}j.adjusts=i},offset:4,defaultMode:"drop",show:function(f){var d=this,e;f=Ext.get(f);if(!d.el){d.el=Ext.ShadowPool.pull();if(d.el.dom.nextSibling!=f.dom){d.el.insertBefore(f)}}e=(parseInt(f.getStyle("z-index"),10)-1)||0;d.el.setStyle("z-index",d.zIndex||e);if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){d.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+d.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(d.offset)+")"}d.realign(f.getLeft(true),f.getTop(true),f.dom.offsetWidth,f.dom.offsetHeight);d.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(y,d,q,u){if(!this.el){return}var z=this.adjusts,s=this.el.dom,r=s.style,x,v,p,w,t,l;r.left=(y+z.l)+"px";r.top=(d+z.t)+"px";x=Math.max(q+z.w,0);v=Math.max(u+z.h,0);t=x+"px";l=v+"px";if(r.width!=t||r.height!=l){r.width=t;r.height=l;if(Ext.supports.CSS3BoxShadow){r.boxShadow="0 0 "+this.offset+"px 0 #888"}else{if(!Ext.isIE){p=s.childNodes;w=Math.max(0,(x-12))+"px";p[0].childNodes[1].style.width=w;p[1].childNodes[1].style.width=w;p[2].childNodes[1].style.width=w;p[1].style.height=Math.max(0,(v-12))+"px"}}}},hide:function(){var b=this;if(b.el){b.el.dom.style.display="none";Ext.ShadowPool.push(b.el);delete b.el}},setZIndex:function(b){this.zIndex=b;if(this.el){this.el.setStyle("z-index",b)}},setOpacity:function(b){if(this.el){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){b=Math.floor(b*100/2)/100}this.opacity=b;this.el.setOpacity(b)}}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(d){var c=this;d=d||{};c.id=Ext.id(null,"ext-sprite-");c.transformations=[];Ext.copyTo(this,d,"surface,group,type,draggable");c.bbox={};c.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete d.surface;delete d.group;delete d.type;delete d.draggable;c.setAttributes(d);c.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");c.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var b=this;b.draggable=true;if(!b.el){b.surface.createSpriteElement(b)}b.dd=Ext.create("Ext.draw.SpriteDD",b,Ext.isBoolean(b.draggable)?null:b.draggable);b.on("beforedestroy",b.dd.destroy,b.dd)},setAttributes:function(B,y){var t=this,C=t.fontProperties,v=C.length,E=t.pathProperties,F=E.length,u=!!t.surface,J=u&&t.surface.customAttributes||{},I=t.attr,A,x,D,H,w,z,i,G;B=Ext.apply({},B);for(A in J){if(B.hasOwnProperty(A)&&typeof J[A]=="function"){Ext.apply(B,J[A].apply(t,[].concat(B[A])))}}if(!!B.hidden!==!!I.hidden){t.dirtyHidden=true}for(x=0;x<F;x++){A=E[x];if(A in B&&B[A]!==I[A]){t.dirtyPath=true;break}}if("zIndex" in B){t.zIndexDirty=true}for(x=0;x<v;x++){A=C[x];if(A in B&&B[A]!==I[A]){t.dirtyFont=true;break}}D=B.translate;H=I.translation;if(D){if((D.x&&D.x!==H.x)||(D.y&&D.y!==H.y)){Ext.apply(H,D);t.dirtyTransform=true}delete B.translate}w=B.rotate;z=I.rotation;if(w){if((w.x&&w.x!==z.x)||(w.y&&w.y!==z.y)||(w.degrees&&w.degrees!==z.degrees)){Ext.apply(z,w);t.dirtyTransform=true}delete B.rotate}i=B.scale;G=I.scaling;if(i){if((i.x&&i.x!==G.x)||(i.y&&i.y!==G.y)||(i.cx&&i.cx!==G.cx)||(i.cy&&i.cy!==G.cy)){Ext.apply(G,i);t.dirtyTransform=true}delete B.scale}Ext.apply(I,B);t.dirty=true;if(y===true&&u){t.redraw()}return this},getBBox:function(){return this.surface.getBBox(this)},setText:function(b){return this.surface.setText(this,b)},hide:function(b){this.setAttributes({hidden:true},b);return this},show:function(b){this.setAttributes({hidden:false},b);return this},remove:function(){if(this.surface){this.surface.remove(this);return true}return false},onRemove:function(){this.surface.onRemove(this)},destroy:function(){var b=this;if(b.fireEvent("beforedestroy",b)!==false){b.remove();b.surface.onDestroy(b);b.clearListeners();b.fireEvent("destroy")}},redraw:function(){this.surface.renderItem(this);return this},setStyle:function(){this.el.setStyle.apply(this.el,arguments);return this},addCls:function(b){this.surface.addCls(this,b);return this},removeCls:function(b){this.surface.removeCls(this,b);return this}});Ext.define("Ext.draw.engine.Svg",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Svg",trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,xlink:"http://www.w3.org/1999/xlink",translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",path:"d",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},parsers:{},minDefaults:{circle:{cx:0,cy:0,r:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start","font-family":null,"font-size":null,"font-weight":null,"font-style":null,fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},createSvgElement:function(g,f){var h=this.domRef.createElementNS("http://www.w3.org/2000/svg",g),e;if(f){for(e in f){h.setAttribute(e,String(f[e]))}}return h},createSpriteElement:function(d){var c=this.createSvgElement(d.type);c.id=d.id;if(c.style){c.style.webkitTapHighlightColor="rgba(0,0,0,0)"}d.el=Ext.get(c);this.applyZIndex(d);d.matrix=Ext.create("Ext.draw.Matrix");d.bbox={plain:0,transform:0};d.fireEvent("render",d);return c},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(l){var i={},n,e,r,p,m,q;if(l&&l.el){q=l.el.dom;try{i=q.getBBox();return i}catch(o){}i={x:i.x,y:Infinity,width:0,height:0};m=q.getNumberOfChars();for(p=0;p<m;p++){n=q.getExtentOfChar(p);i.y=Math.min(n.y,i.y);e=n.y+n.height-i.y;i.height=Math.max(i.height,e);r=n.x+n.width-i.x;i.width=Math.max(i.width,r)}return i}},hide:function(){Ext.get(this.el).hide()},show:function(){Ext.get(this.el).show()},hidePrim:function(b){this.addCls(b,Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){this.removeCls(b,Ext.baseCSSPrefix+"hide-visibility")},getDefs:function(){return this._defs||(this._defs=this.createSvgElement("defs"))},transform:function(o){var l=this,j=Ext.create("Ext.draw.Matrix"),m=o.transformations,k=m.length,p=0,i,n;for(;p<k;p++){i=m[p];n=i.type;if(n=="translate"){j.translate(i.x,i.y)}else{if(n=="rotate"){j.rotate(i.degrees,i.x,i.y)}else{if(n=="scale"){j.scale(i.x,i.y,i.centerX,i.centerY)}}}}o.matrix=j;o.el.set({transform:j.toSvg()})},setSize:function(f,h){var g=this,e=g.el;f=+f||g.width;h=+h||g.height;g.width=f;g.height=h;e.setSize(f,h);e.set({width:f,height:h});g.callParent([f,h])},getRegion:function(){var h=this.el.getXY(),j=this.bgRect.getXY(),f=Math.max,g=f(h[0],j[0]),i=f(h[1],j[1]);return{left:g,top:i,right:g+this.width,bottom:i+this.height}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.callParent(arguments);this.el.dom.setAttribute("viewBox",[e,g,h,f].join(" "))}},render:function(p){var m=this;if(!m.el){var n=m.width||10,i=m.height||10,o=m.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:n,height:i}),j=m.getDefs(),l=m.createSvgElement("rect",{width:"100%",height:"100%",fill:"#000",stroke:"none",opacity:0}),k;if(Ext.isSafari3){k=m.createSvgElement("rect",{x:-10,y:-10,width:"110%",height:"110%",fill:"none",stroke:"#000"})}o.appendChild(j);if(Ext.isSafari3){o.appendChild(k)}o.appendChild(l);p.appendChild(o);m.el=Ext.get(o);m.bgRect=Ext.get(l);if(Ext.isSafari3){m.webkitRect=Ext.get(k);m.webkitRect.hide()}m.el.on({scope:m,mouseup:m.onMouseUp,mousedown:m.onMouseDown,mouseover:m.onMouseOver,mouseout:m.onMouseOut,mousemove:m.onMouseMove,mouseenter:m.onMouseEnter,mouseleave:m.onMouseLeave,click:m.onClick})}m.renderAll()},onMouseEnter:function(b){if(this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseenter",b)}},onMouseLeave:function(b){if(!this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseleave",b)}},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);if(i.nodeName=="tspan"&&i.parentNode){i=i.parentNode}j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},tuneText:function(o,n){var v=o.el.dom,u=[],i,p,m,s,r,t,q;if(n.hasOwnProperty("text")){u=this.setText(o,n.text)}if(u.length){i=this.getBBoxText(o).height;for(s=0,r=u.length;s<r;s++){q=(Ext.isFF3_0||Ext.isFF3_5)?2:4;u[s].setAttribute("dy",s?i*1.2:i/q)}o.dirty=true}},setText:function(o,u){var r=this,x=o.el.dom,p=x.getAttribute("x"),w=[],i,q,n,t,s,v;while(x.firstChild){x.removeChild(x.firstChild)}v=String(u).split("\n");for(t=0,s=v.length;t<s;t++){n=v[t];if(n){q=r.createSvgElement("tspan");q.appendChild(document.createTextNode(Ext.htmlDecode(n)));q.setAttribute("x",p);x.appendChild(q);w[t]=q}}return w},renderAll:function(){this.items.each(this.renderItem,this)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.zIndexDirty){this.applyZIndex(b)}if(b.dirty){this.applyAttrs(b);this.applyTransformations(b)}},redraw:function(b){b.dirty=b.zIndexDirty=true;this.renderItem(b)},applyAttrs:function(s){var x=this,F=s.el,t=s.group,A=s.attr,i=x.parsers,C=x.gradientsMap||{},z=Ext.isSafari&&!Ext.isStrict,D,B,y,u,E,v,G,H,w;if(t){D=[].concat(t);y=D.length;for(B=0;B<y;B++){t=D[B];x.getGroup(t).add(s)}delete s.group}u=x.scrubAttrs(s)||{};s.bbox.plain=0;s.bbox.transform=0;if(s.type=="circle"||s.type=="ellipse"){u.cx=u.cx||u.x;u.cy=u.cy||u.y}else{if(s.type=="rect"){u.rx=u.ry=u.r}else{if(s.type=="path"&&u.d){u.d=Ext.draw.Draw.pathToString(Ext.draw.Draw.pathToAbsolute(u.d))}}}s.dirtyPath=false;if(u["clip-rect"]){x.setClip(s,u);delete u["clip-rect"]}if(s.type=="text"&&u.font&&s.dirtyFont){F.set({style:"font: "+u.font});s.dirtyFont=false}if(s.type=="image"){F.dom.setAttributeNS(x.xlink,"href",u.src)}Ext.applyIf(u,x.minDefaults[s.type]);if(s.dirtyHidden){(A.hidden)?x.hidePrim(s):x.showPrim(s);s.dirtyHidden=false}for(v in u){if(u.hasOwnProperty(v)&&u[v]!=null){if(z&&("color|stroke|fill".indexOf(v)>-1)&&(u[v] in C)){u[v]=C[u[v]]}if(v in i){F.dom.setAttribute(v,i[v](u[v],s,x))}else{F.dom.setAttribute(v,u[v])}}}if(s.type=="text"){x.tuneText(s,u)}G=A.style;if(G){F.setStyle(G)}s.dirty=false;if(Ext.isSafari3){x.webkitRect.show();setTimeout(function(){x.webkitRect.hide()})}},setClip:function(g,i){var j=this,k=i["clip-rect"],h,l;if(k){if(g.clip){g.clip.parentNode.parentNode.removeChild(g.clip.parentNode)}h=j.createSvgElement("clipPath");l=j.createSvgElement("rect");h.id=Ext.id(null,"ext-clip-");l.setAttribute("x",k.x);l.setAttribute("y",k.y);l.setAttribute("width",k.width);l.setAttribute("height",k.height);h.appendChild(l);j.getDefs().appendChild(h);g.el.dom.setAttribute("clip-path","url(#"+h.id+")");g.clip=l}},applyZIndex:function(k){var i=this,g=i.items,h=g.indexOf(k),j=k.el,l;if(i.el.dom.childNodes[h+2]!==j.dom){if(h>0){do{l=g.getAt(--h).el}while(!l&&h>0)}j.insertAfter(l||i.bgRect)}k.zIndexDirty=false},createItem:function(d){var c=Ext.create("Ext.draw.Sprite",d);c.surface=this;return c},addGradient:function(n){n=Ext.draw.Draw.parseGradient(n);var p=this,q=n.stops.length,t=n.vector,i=Ext.isSafari&&!Ext.isStrict,m,o,l,r,s;s=p.gradientsMap||{};if(!i){if(n.type=="linear"){m=p.createSvgElement("linearGradient");m.setAttribute("x1",t[0]);m.setAttribute("y1",t[1]);m.setAttribute("x2",t[2]);m.setAttribute("y2",t[3])}else{m=p.createSvgElement("radialGradient");m.setAttribute("cx",n.centerX);m.setAttribute("cy",n.centerY);m.setAttribute("r",n.radius);if(Ext.isNumber(n.focalX)&&Ext.isNumber(n.focalY)){m.setAttribute("fx",n.focalX);m.setAttribute("fy",n.focalY)}}m.id=n.id;p.getDefs().appendChild(m);for(r=0;r<q;r++){o=n.stops[r];l=p.createSvgElement("stop");l.setAttribute("offset",o.offset+"%");l.setAttribute("stop-color",o.color);l.setAttribute("stop-opacity",o.opacity);m.appendChild(l)}}else{s["url(#"+n.id+")"]=n.stops[0].color}p.gradientsMap=s},hasCls:function(d,c){return c&&(" "+(d.el.dom.getAttribute("class")||"")+" ").indexOf(" "+c+" ")!=-1},addCls:function(n,l){var m=n.el,o,j,p,i=[],k=m.getAttribute("class")||"";if(!Ext.isArray(l)){if(typeof l=="string"&&!this.hasCls(n,l)){m.set({"class":k+" "+l})}}else{for(o=0,j=l.length;o<j;o++){p=l[o];if(typeof p=="string"&&(" "+k+" ").indexOf(" "+p+" ")==-1){i.push(p)}}if(i.length){m.set({"class":" "+i.join(" ")})}}},removeCls:function(l,o){var n=this,s=l.el,q=s.getAttribute("class")||"",r,m,p,i,t;if(!Ext.isArray(o)){o=[o]}if(q){t=q.replace(n.trimRe," ").split(n.spacesRe);for(r=0,p=o.length;r<p;r++){i=o[r];if(typeof i=="string"){i=i.replace(n.trimRe,"");m=Ext.Array.indexOf(t,i);if(m!=-1){Ext.Array.erase(t,m,1)}}}s.set({"class":t.join(" ")})}},destroy:function(){var b=this;b.callParent();if(b.el){b.el.remove()}delete b.el}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1000,coordorigin:"0 0",orderSpritesByZIndex:false,path2vml:function(F){var r=this,E=r.NonVmlPathRe,C=r.map,z=r.valRe,i=r.zoom,A=r.bitesRe,y=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),u,p,B,D,w,j,x,v;if(String(F).match(E)){y=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw)}else{if(!String(F).match(r.partialPathRe)){u=String(F).replace(A,function(e,a,c){var b=[],d=a.toLowerCase()=="m",f=C[a];c.replace(z,function(g){if(d&&b[length]==2){f+=b+C[a=="m"?"l":"L"];b=[]}b.push(Math.round(g*i))});return f+b});return u}}p=y(F);u=[];for(w=0,j=p.length;w<j;w++){B=p[w];D=p[w][0].toLowerCase();if(D=="z"){D="x"}for(x=1,v=B.length;x<v;x++){D+=Math.round(B[x]*r.zoom)+(x!=v-1?",":"")}u.push(D)}return u.join(" ")},translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},minDefaults:{circle:{fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start",font:'10px "Arial"',fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},onMouseEnter:function(b){this.fireEvent("mouseenter",b)},onMouseLeave:function(b){this.fireEvent("mouseleave",b)},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},createSpriteElement:function(p){var r=this,s=p.attr,q=p.type,n=r.zoom,u=p.vml||(p.vml={}),m=Math.round,t=r.createNode("shape"),l,o,v;t.coordsize=n+" "+n;t.coordorigin=s.coordorigin||"0 0";Ext.get(t).addCls(r.spriteCls);if(q=="text"){u.path=l=r.createNode("path");l.textpathok=true;u.textpath=v=r.createNode("textpath");v.on=true;t.appendChild(v);t.appendChild(l)}t.id=p.id;p.el=Ext.get(t);r.el.appendChild(t);if(q!=="image"){o=r.createNode("skew");o.on=true;t.appendChild(o);p.skew=o}p.matrix=Ext.create("Ext.draw.Matrix");p.bbox={plain:null,transform:null};p.fireEvent("render",p);return p.el},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(c){var d=c.vml;return{x:d.X+(d.bbx||0)-d.W/2,y:d.Y-d.H/2,width:d.W,height:d.H}},applyAttrs:function(C){var w=this,K=C.vml,F=C.group,M=C.attr,L=C.el,A=L.dom,z,i,x,B,E,y,D,v,N;if(F){x=[].concat(F);E=x.length;for(B=0;B<E;B++){F=x[B];w.getGroup(F).add(C)}delete C.group}y=w.scrubAttrs(C)||{};if(C.zIndexDirty){w.setZIndex(C)}Ext.applyIf(y,w.minDefaults[C.type]);if(A.href){A.href=y.href}if(A.title){A.title=y.title}if(A.target){A.target=y.target}if(A.cursor){A.cursor=y.cursor}if(C.dirtyHidden){(y.hidden)?w.hidePrim(C):w.showPrim(C);C.dirtyHidden=false}if(C.dirtyPath){if(C.type=="circle"||C.type=="ellipse"){var I=y.x,J=y.y,G=y.rx||y.r||0,H=y.ry||y.r||0;A.path=Ext.String.format("ar{0},{1},{2},{3},{4},{1},{4},{1}",Math.round((I-G)*w.zoom),Math.round((J-H)*w.zoom),Math.round((I+G)*w.zoom),Math.round((J+H)*w.zoom),Math.round(I*w.zoom));C.dirtyPath=false}else{if(C.type!=="text"){C.attr.path=y.path=w.setPaths(C,y)||y.path;A.path=w.path2vml(y.path);C.dirtyPath=false}}}if("clip-rect" in y){w.setClip(C,y)}if(C.type=="text"){w.setTextAttributes(C,y)}if(C.type=="image"||y.opacity||y["fill-opacity"]||y.fill){w.setFill(C,y)}if(y.stroke||y["stroke-opacity"]||y.fill){w.setStroke(C,y)}z=M.style;if(z){L.setStyle(z)}C.dirty=false},setZIndex:function(b){if(b.el){if(b.attr.zIndex!=undefined){b.el.setStyle("zIndex",b.attr.zIndex)}b.zIndexDirty=false}},setPaths:function(d,f){var e=d.attr;d.bbox.plain=null;d.bbox.transform=null;if(d.type=="circle"){e.rx=e.ry=f.r;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="ellipse"){e.rx=f.rx;e.ry=f.ry;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="rect"||d.type=="image"){e.rx=e.ry=f.r;return Ext.draw.Draw.rectPath(d)}else{if(d.type=="path"&&e.path){return Ext.draw.Draw.pathToAbsolute(e.path)}}}}return false},setFill:function(m,s){var p=this,u=m.el,r=u.dom,n=r.getElementsByTagName("fill")[0],q,o,v,l,t;if(n){r.removeChild(n)}else{n=p.createNode("fill")}if(Ext.isArray(s.fill)){s.fill=s.fill[0]}if(m.type=="image"){n.on=true;n.src=s.src;n.type="tile";n.rotate=true}else{if(s.fill=="none"){n.on=false}else{if(typeof s.opacity=="number"){n.opacity=s.opacity}if(typeof s["fill-opacity"]=="number"){n.opacity=s["fill-opacity"]}n.on=true;if(typeof s.fill=="string"){v=s.fill.match(p.fillUrlRe);if(v){v=v[1];if(v.charAt(0)=="#"){o=p.gradientsColl.getByKey(v.substring(1))}if(o){l=s.rotation;t=-(o.angle+270+(l?l.degrees:0))%360;if(t===0){t=180}n.angle=t;n.type="gradient";n.method="sigma";n.colors=o.colors}else{n.src=v;n.type="tile";n.rotate=true}}else{n.color=Ext.draw.Color.toHex(s.fill)||s.fill;n.src="";n.type="solid"}}}}r.appendChild(n)},setStroke:function(i,l){var n=this,o=i.el.dom,k=i.strokeEl,m=false,p,j;if(!k){k=i.strokeEl=n.createNode("stroke");m=true}if(Ext.isArray(l.stroke)){l.stroke=l.stroke[0]}if(!l.stroke||l.stroke=="none"||l.stroke==0||l["stroke-width"]==0){k.on=false}else{k.on=true;if(l.stroke&&!l.stroke.match(n.fillUrlRe)){k.color=Ext.draw.Color.toHex(l.stroke)}k.joinstyle=l["stroke-linejoin"];k.endcap=l["stroke-linecap"]||"round";k.miterlimit=l["stroke-miterlimit"]||8;p=parseFloat(l["stroke-width"]||1)*0.75;j=l["stroke-opacity"]||1;if(Ext.isNumber(p)&&p<1){k.weight=1;k.opacity=j*p}else{k.weight=p;k.opacity=j}}if(m){o.appendChild(k)}},setClip:function(g,i){var j=this,l=g.el,h=g.clipEl,k=String(i["clip-rect"]).split(j.separatorRe);if(!h){h=g.clipEl=j.el.insertFirst(Ext.getDoc().dom.createElement("div"));h.addCls(Ext.baseCSSPrefix+"vml-sprite")}if(k.length==4){k[2]=+k[2]+(+k[0]);k[3]=+k[3]+(+k[1]);h.setStyle("clip",Ext.String.format("rect({1}px {2}px {3}px {0}px)",k[0],k[1],k[2],k[3]));h.setSize(j.el.width,j.el.height)}else{h.setStyle("clip","")}},setTextAttributes:function(o,t){var p=this,v=o.vml,r=v.textpath.style,q=p.span.style,n=p.zoom,m=Math.round,l={fontSize:"font-size",fontWeight:"font-weight",fontStyle:"font-style"},u,s;if(o.dirtyFont){if(t.font){r.font=q.font=t.font}if(t["font-family"]){r.fontFamily='"'+t["font-family"].split(",")[0].replace(p.fontFamilyRe,"")+'"';q.fontFamily=t["font-family"]}for(u in l){s=t[l[u]];if(s){r[u]=q[u]=s}}p.setText(o,t.text);if(v.textpath.string){p.span.innerHTML=String(v.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>")}v.W=p.span.offsetWidth;v.H=p.span.offsetHeight+2;if(t["text-anchor"]=="middle"){r["v-text-align"]="center"}else{if(t["text-anchor"]=="end"){r["v-text-align"]="right";v.bbx=-Math.round(v.W/2)}else{r["v-text-align"]="left";v.bbx=Math.round(v.W/2)}}}v.X=t.x;v.Y=t.y;v.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(v.X*n),Math.round(v.Y*n),Math.round(v.X*n)+1);o.bbox.plain=null;o.bbox.transform=null;o.dirtyFont=false},setText:function(d,c){d.vml.textpath.string=Ext.htmlDecode(c)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(b){b.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){b.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(d,e){var f=this;d=d||f.width;e=e||f.height;f.width=d;f.height=e;if(f.el){if(d!=undefined){f.el.setWidth(d)}if(e!=undefined){f.el.setHeight(e)}f.applyViewBox();f.callParent(arguments)}},setViewBox:function(e,g,h,f){this.callParent(arguments);this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()},applyViewBox:function(){var s=this,l=s.viewBox,v=s.width,p=s.height,q,r,n,u,o,t,m;if(l&&(v||p)){q=l.x;r=l.y;n=l.width;u=l.height;o=p/u;t=v/n;if(n*o<v){q-=(v-n*o)/2/o}if(u*t<p){r-=(p-u*t)/2/t}m=1/Math.max(n/v,u/p);s.viewBoxShift={dx:-q,dy:-r,scale:m};s.items.each(function(a){s.transform(a)})}},onAdd:function(b){this.callParent(arguments);if(this.el){this.renderItem(b)}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},createNode:(function(){try{var c=Ext.getDoc().dom;if(!c.namespaces.rvml){c.namespaces.add("rvml","urn:schemas-microsoft-com:vml")}return function(a){return c.createElement("<rvml:"+a+' class="rvml">')}}catch(d){return function(a){return c.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}})(),render:function(f){var h=this,g=Ext.getDoc().dom;if(!h.el){var e=g.createElement("div");h.el=Ext.get(e);h.el.addCls(h.baseVmlCls);h.span=g.createElement("span");Ext.get(h.span).addCls(h.measureSpanCls);e.appendChild(h.span);h.el.setSize(h.width||10,h.height||10);f.appendChild(e);h.el.on({scope:h,mouseup:h.onMouseUp,mousedown:h.onMouseDown,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousemove:h.onMouseMove,mouseenter:h.onMouseEnter,mouseleave:h.onMouseLeave,click:h.onClick})}h.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(b){b.dirty=true;this.renderItem(b)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.dirty){this.applyAttrs(b);if(b.dirtyTransform){this.applyTransformations(b)}}},rotationCompensation:function(g,h,f){var e=Ext.create("Ext.draw.Matrix");e.rotate(-g,0.5,0.5);return{x:e.x(h,f),y:e.y(h,f)}},extractTransform:function(i){var l=this,k=Ext.create("Ext.draw.Matrix"),n,p,r,o,m=0,q=l.viewBoxShift;for(p=i.transformations,r=p.length;m<r;m++){o=p[m];switch(o.type){case"translate":k.translate(o.x,o.y);break;case"rotate":k.rotate(o.degrees,o.x,o.y);break;case"scale":k.scale(o.x||o.scale,o.y||o.scale,o.centerX,o.centerY);break}}if(q){k.add(1,0,0,1,q.dx,q.dy);k.prepend(q.scale,0,0,q.scale,0,0)}return i.matrix=k},setSimpleCoords:function(t,v,w,q,r,B){var x=this,u=t.matrix,C=t.el.dom,F=C.style,D=1,A="",s=C.getElementsByTagName("fill")[0],y=x.zoom/v,z=x.zoom/w,E;if(!v||!w){return}C.coordsize=Math.abs(y)+" "+Math.abs(z);F.rotation=B*(v*w<0?-1:1);if(B){E=x.rotationCompensation(B,q,r);q=E.x;r=E.y}if(v<0){A+="x"}if(w<0){A+=" y";D=-1}F.flip=A;C.coordorigin=(q*-y)+" "+(r*-z);if(s){C.removeChild(s);E=x.rotationCompensation(B,u.x(t.x,t.y),u.y(t.x,t.y));s.position=E.x*D+" "+E.y*D;s.size=t.width*Math.abs(v)+" "+t.height*Math.abs(w);C.appendChild(s)}},transform:function(v){var y=this,E=v.el,r=v.skew,C=E.dom,B=C.style,w=y.extractTransform(v).clone(),x,s=y.zoom,t=C.getElementsByTagName("fill")[0],F=!String(v.fill).indexOf("url("),D,z;if(v.type!="image"&&r&&!F){r.matrix=w.toString();D=w.offset();if(D[0]>32767){D[0]=32767}else{if(D[0]<-32768){D[0]=-32768}}if(D[1]>32767){D[1]=32767}else{if(D[1]<-32768){D[1]=-32768}}r.offset=D}else{if(r){r.matrix="1 0 0 1";r.offset="0 0"}x=w.split();if(x.isSimple){B.filter="";y.setSimpleCoords(v,x.scaleX,x.scaleY,x.translateX,x.translateY,x.rotate/Math.PI*180)}else{B.filter=w.toFilter();var A=y.getBBox(v),c=A.x-v.x,u=A.y-v.y;C.coordorigin=(c*-s)+" "+(u*-s);if(t){C.removeChild(t);t.position=c+" "+u;t.size=v.width*v.scale.x+" "+v.height*1.1;C.appendChild(t)}}}},createItem:function(b){return Ext.create("Ext.draw.Sprite",b)},getRegion:function(){return this.el.getRegion()},addCls:function(d,c){if(d&&d.el){d.el.addCls(c)}},removeCls:function(d,c){if(d&&d.el){d.el.removeCls(c)}},addGradient:function(g){var f=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),e=[],h=Ext.create("Ext.util.MixedCollection");h.addAll(g.stops);h.sortByKey("ASC",function(a,b){a=parseInt(a,10);b=parseInt(b,10);return a>b?1:(a<b?-1:0)});h.eachKey(function(a,b){e.push(a+"% "+b.color)});f.add(g.id,{colors:e.join(","),angle:g.angle})},destroy:function(){var b=this;b.callParent(arguments);if(b.el){b.el.remove()}delete b.el}});Ext.define("Docs.controller.Tabs",{extend:"Ext.app.Controller",requires:["Docs.History","Docs.Settings"],refs:[{ref:"welcomeIndex",selector:"#welcomeindex"},{ref:"classIndex",selector:"#classindex"},{ref:"guideIndex",selector:"#guideindex"},{ref:"videoIndex",selector:"#videoindex"},{ref:"exampleIndex",selector:"#exampleindex"},{ref:"statsIndex",selector:"#statsindex"},{ref:"commentIndex",selector:"#commentindex"},{ref:"classTree",selector:"#classtree"},{ref:"guideTree",selector:"#guidetree"},{ref:"exampleTree",selector:"#exampletree"},{ref:"videoTree",selector:"#videotree"},{ref:"doctabs",selector:"#doctabs"}],scrollState:{},init:function(){this.getController("Classes").addListener({showClass:function(b){this.addTabFromTree("#!/api/"+b)},scope:this});this.getController("Guides").addListener({showGuide:function(b){this.addTabFromTree("#!/guide/"+b)},scope:this});this.getController("Examples").addListener({showExample:function(b){this.addTabFromTree(b)},scope:this});this.getController("Videos").addListener({showVideo:function(b){this.addTabFromTree("#!/video/"+b)},scope:this});this.control({"[componentCls=doctabs]":{tabClose:function(b){delete this.scrollState[b]},tabActivate:function(d,c){Docs.History.push(d,c)},scope:this}})},onLaunch:function(){this.getDoctabs().setStaticTabs(Ext.Array.filter([this.getWelcomeIndex().getTab(),this.getClassIndex().getTab(),this.getGuideIndex().getTab(),this.getVideoIndex().getTab(),this.getExampleIndex().getTab(),this.getStatsIndex().getTab()],function(a){return a}));this.commentsTab=this.getCommentIndex().getTab();var b=Docs.Settings.get("tabs");if(b){Ext.Array.forEach(b,function(a){this.addTabFromTree(a,{animate:false})},this)}Docs.History.notifyTabsLoaded()},showCommentsTab:function(){var b=this.getDoctabs().getStaticTabs();this.getDoctabs().setStaticTabs(b.concat(this.commentsTab))},hideCommentsTab:function(){var b=this.getDoctabs().getStaticTabs();this.getDoctabs().setStaticTabs(Ext.Array.remove(b,this.commentsTab))},addTabFromTree:function(h,g){var e=this.getTree(h);var f=e.findRecordByUrl(h);if(f){this.addTab(f,g)}},addTab:function(d,c){c=c||{animate:true,activate:true};if(!this.scrollState[d.url]){this.scrollState[d.url]=0}this.getDoctabs().addTab({href:d.url,text:d.text,iconCls:d.iconCls},c)},getTree:function(b){if(/#!?\/api/.test(b)){return this.getClassTree()}else{if(/#!?\/guide/.test(b)){return this.getGuideTree()}else{if(/#!?\/video/.test(b)){return this.getVideoTree()}else{if(/#!?\/example/.test(b)){return this.getExampleTree()}else{return this.getClassTree()}}}}},setScrollState:function(c,d){this.scrollState[c]=d},getScrollState:function(b){return this.scrollState[b]||0}});Ext.define("Ext.util.Cookies",{singleton:true,set:function(p,n){var j=arguments,k=arguments.length,i=(k>2)?j[2]:null,l=(k>3)?j[3]:"/",o=(k>4)?j[4]:null,m=(k>5)?j[5]:false;document.cookie=p+"="+escape(n)+((i===null)?"":("; expires="+i.toGMTString()))+((l===null)?"":("; path="+l))+((o===null)?"":("; domain="+o))+((m===true)?"; secure":"")},get:function(k){var g=k+"=",i=g.length,h=document.cookie.length,j=0,l=0;while(j<h){l=j+i;if(document.cookie.substring(j,l)==g){return this.getCookieVal(l)}j=document.cookie.indexOf(" ",j)+1;if(j===0){break}}return null},clear:function(d,c){if(this.get(d)){c=c||"/";document.cookie=d+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path="+c}},getCookieVal:function(c){var d=document.cookie.indexOf(";",c);if(d==-1){d=document.cookie.length}return unescape(document.cookie.substring(c,d))}});Ext.define("Docs.Tip",{singleton:true,show:function(g,e,f){f=f||"right";this.tips=this.tips||{};if(this.tips[f]){var h=this.tips[f];h.update(g);h.setTarget(e);h.show()}else{var h=this.tips[f]=Ext.create("Ext.tip.ToolTip",{anchor:f,target:e,html:g});h.show()}}});Ext.define("Docs.controller.Content",{extend:"Ext.app.Controller",MIDDLE:1,title:"",onLaunch:function(){var b=this.getIndex();if(b.rendered){this.initScrollListener()}else{b.on("afterrender",this.initScrollListener,this)}},initScrollListener:function(){this.getIndex().getEl().addListener("scroll",function(c,d){this.setScrollState(this.baseUrl,d.scrollTop)},this)},loadIndex:function(b){b||Docs.History.push(this.baseUrl);this.getViewport().setPageTitle(this.title);Ext.getCmp("doctabs").activateTab(this.baseUrl);Ext.getCmp("card-panel").layout.setActiveItem(this.getIndex());this.getIndex().getEl().scrollTo("top",this.getScrollState(this.baseUrl))},opensNewWindow:function(b){return b.button===this.MIDDLE||b.shiftKey||b.ctrlKey},getBaseUrl:function(){return document.location.href.replace(/\/?(index.html)?#.*/,"")},getScrollState:function(b){return Docs.App.getController("Tabs").getScrollState(b)},setScrollState:function(c,d){Docs.App.getController("Tabs").setScrollState(c,d)}});Ext.define("Docs.ClassRegistry",{singleton:true,canonicalName:function(b){if(!this.altNames){this.altNames={};Ext.each(Docs.data.search,function(a){if(a.type==="class"&&!/:/.test(a.cls)){this.altNames[a.cls]=a.id}},this)}return this.altNames[b]||b},search:function(i){var u=new Array(5*3*3);for(var t=0;t<u.length;t++){u[t]=[]}var q=/[.:]/.test(i);var o=Ext.escapeRe(i);var x=new RegExp("^"+o+"$","i");var s=new RegExp("^"+o,"i");var p=new RegExp(o,"i");var v=Docs.data.search;for(var t=0,r=v.length;t<r;t++){var z=v[t];var y=q?z.fullName:z.name;var w=z["private"]?4:(z.removed?8:0);if(x.test(y)){u[z.sort+w].push(this.highlightMatch(z,x))}else{if(s.test(y)){u[z.sort+w+12].push(this.highlightMatch(z,s))}else{if(p.test(y)){u[z.sort+w+24].push(this.highlightMatch(z,p))}}}}return Ext.Array.flatten(u)},highlightMatch:function(c,d){c=Ext.apply({},c);c.name=c.name.replace(d,"<strong>$&</strong>");c.fullName=c.fullName.replace(d,"<strong>$&</strong>");return c}});Ext.define("Docs.controller.AuthHelpers",{request:function(c,d){d.url=this.addSid(Docs.baseUrl+"/"+Docs.commentsDb+"/"+Docs.commentsVersion+d.url);if(c==="jsonp"){Ext.data.JsonP.request(d)}else{d.cors=true;Ext.Ajax.request(d)}},addSid:function(c){var d=this.getController("Auth").sid;return c+(c.match(/\?/)?"&":"?")+"sid="+d},isLoggedIn:function(){return this.getController("Auth").isLoggedIn()}});Ext.define("Docs.view.examples.InlineToolbar",{extend:"Ext.toolbar.Toolbar",componentCls:"inline-example-tb",height:30,initComponent:function(){this.addEvents("buttonclick");this.items=[{iconCls:"code",padding:"0 2 0 0",margin:"0 3 0 0",text:"Code Editor",handler:this.createEventFirerer("code")},{padding:0,margin:"0 3 0 0",iconCls:"preview",text:"Live Preview",handler:this.createEventFirerer("preview")},"->",{padding:0,margin:0,iconCls:"copy",text:"Select Code",handler:this.createEventFirerer("copy")}];this.callParent(arguments)},createEventFirerer:function(b){return Ext.Function.bind(function(){this.fireEvent("buttonclick",b)},this)},activateButton:function(b){Ext.Array.each(this.query("button"),function(a){a.removeCls("active")});Ext.Array.each(this.query("button[iconCls="+b+"]"),function(a){a.addCls("active")})}});Ext.define("Docs.controller.Auth",{extend:"Ext.app.Controller",requires:["Ext.util.Cookies","Docs.Tip"],refs:[{ref:"auth",selector:"authentication"}],init:function(){this.sid=Ext.util.Cookies.get("sid");this.addEvents("loggedIn","loggedOut","available");if(!Docs.enableComments){return}this.control({authentication:{afterrender:function(b){b.el.addListener("click",function(d,a){b.showLoginForm()},this,{preventDefault:true,delegate:".login"});b.el.addListener("click",function(d,a){this.logout()},this,{preventDefault:true,delegate:".logout"});this.retrieveSession()}}})},retrieveSession:function(){Ext.Ajax.request({url:Docs.baseUrl+"/session",params:{sid:this.sid},method:"GET",cors:true,callback:function(d,f,e){if(e&&e.responseText){this.currentUser=JSON.parse(e.responseText);this.fireEvent("available");if(this.currentUser){this.setLoggedIn()}else{this.setLoggedOut()}}},scope:this})},login:function(g,f,h,e){Ext.Ajax.request({url:Docs.baseUrl+"/login",method:"POST",cors:true,params:{username:g,password:f},callback:function(c,a,d){var b=JSON.parse(d.responseText);if(b.success){this.currentUser=b;this.setSid(b.sessionID,{remember:h});this.setLoggedIn()}else{Docs.Tip.show(b.reason,e,"bottom")}},scope:this})},logout:function(){Ext.Ajax.request({url:Docs.baseUrl+"/logout?sid="+this.sid,method:"POST",cors:true,callback:function(){this.setLoggedOut()},scope:this})},setLoggedIn:function(){if(this.currentUser){this.getAuth().showLoggedIn(this.currentUser.userName);this.fireEvent("loggedIn")}},setLoggedOut:function(b){this.currentUser={};this.setSid(null);this.getAuth().showLoggedOut();this.fireEvent("loggedOut")},isLoggedIn:function(){return Boolean(this.sid)},setSid:function(d,f){this.sid=d;if(d){var e=null;if(f&&f.remember){e=new Date();e.setTime(e.getTime()+(60*60*24*30*1000))}Ext.util.Cookies.set("sid",d,e)}else{Ext.util.Cookies.clear("sid")}}});Ext.define("Docs.controller.Welcome",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#welcomeindex"}],init:function(){this.addEvents("loadIndex")},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();this.callParent([true])},isActive:function(){return !!this.getIndex().getTab()}});Ext.define("Docs.controller.Failure",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#failure"}],show404:function(c){var d=new Ext.XTemplate("<h1>Oops...</h1>","<p>{msg}</p>","<p>Maybe it was renamed to something else? Or maybe it has passed away permanently to the 404 land? ","This would be sad. Hopefully it's just a bug in our side. ","Report it to <a href='http://www.sencha.com/forum/showthread.php?135036'>Sencha Forum</a> if you feel so.</p>","<p>Sorry for all this :(</p>");Ext.getCmp("failure").update(d.apply({msg:c}));Ext.getCmp("card-panel").layout.setActiveItem("failure")}});Ext.define("Docs.controller.Classes",{extend:"Docs.controller.Content",baseUrl:"#!/api",title:"API Documentation",requires:["Docs.History","Docs.Syntax","Docs.ClassRegistry"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#classindex"},{ref:"header",selector:"classheader"},{ref:"overview",selector:"classoverview"},{ref:"tabPanel",selector:"classtabpanel"},{ref:"tree",selector:"#classtree"},{ref:"favoritesGrid",selector:"#favorites-grid"}],cache:{},init:function(){this.addEvents("showIndex","showClass","showMember");Ext.getBody().addListener("click",function(c,d){this.handleUrlClick(decodeURI(d.href),c)},this,{preventDefault:true,delegate:".docClass"});this.control({classtree:{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},toolbar:{toggleExpanded:function(b){Ext.Array.forEach(Ext.query(".side.expandable"),function(a){Ext.get(a).parent()[b?"addCls":"removeCls"]("open")})}},classoverview:{afterrender:function(b){b.el.addListener("click",function(i,k){var h=Ext.get(k).up(".member"),l=h.down(".meta .defined-in"),j=l.getAttribute("rel"),a=h.getAttribute("id");if(h.hasCls("open")){this.setExpanded(a,false)}else{this.setExpanded(a,true);this.fireEvent("showMember",j,a)}h.toggleCls("open")},this,{preventDefault:true,delegate:".expandable"});b.el.addListener("click",Ext.emptyFn,this,{preventDefault:true,delegate:".not-expandable"});b.body.addListener("scroll",function(d,a){this.setScrollState("#!/api/"+this.currentCls.name,a.scrollTop)},this)}},treecontainer:{afterrender:function(b){b.el.addListener("dblclick",function(){if(b.getWidth()<30){b.setWidth(b.expandedWidth)}else{b.expandedWidth=b.getWidth();b.setWidth(20)}},this,{delegate:".x-resizable-handle"})}}})},setExpanded:function(f,d){var e=this.currentCls;if(!e.expanded){e.expanded={}}if(d){e.expanded[f]=d}else{delete e.expanded[f]}},applyExpanded:function(b){Ext.Object.each(b.expanded||{},function(a){Ext.get(a).addCls("open")},this)},handleUrlClick:function(d,f,e){d=Docs.History.cleanUrl(d);if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.currentCls?"#!/api/"+this.currentCls.name:"")}else{this.loadClass(d)}},loadIndex:function(b){Ext.getCmp("treecontainer").showTree("classtree");this.callParent(arguments);this.fireEvent("showIndex")},loadClass:function(f,i){Ext.getCmp("card-panel").layout.setActiveItem("classcontainer");Ext.getCmp("treecontainer").showTree("classtree");i||Docs.History.push(f);var j=f.match(/^#!\/api\/(.*?)(?:-(.*))?$/);var g=Docs.ClassRegistry.canonicalName(j[1]);var h=j[2];if(this.getOverview()){this.getOverview().setLoading(true)}if(this.cache[g]){this.showClass(this.cache[g],h)}else{this.cache[g]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/output/"+g+".js",callbackName:g.replace(/\./g,"_"),success:function(b,a){this.cache[g]=b;this.showClass(b,h)},failure:function(b,a){this.cache[g]=false;this.getOverview().setLoading(false);this.getController("Failure").show404("Class <b>"+g+"</b> was not found.")},scope:this})}},showClass:function(e,f){var d=false;if(e==="in-progress"){return}this.getOverview().setLoading(false);this.getViewport().setPageTitle(e.name);if(this.currentCls!==e){this.currentCls=e;this.getHeader().load(e);this.getOverview().load(e);this.applyExpanded(e);d=true}this.currentCls=e;if(f){this.getOverview().scrollToEl("#"+f);this.fireEvent("showMember",e.name,f)}else{this.scrollContent()}this.getTree().selectUrl("#!/api/"+e.name);this.fireEvent("showClass",e.name,{reRendered:d})},scrollContent:function(){if(this.currentCls){var b="#!/api/"+this.currentCls.name;this.getOverview().getEl().down(".x-panel-body").scrollTo("top",this.getScrollState(b))}}});Ext.define("Docs.controller.Comments",{extend:"Docs.controller.Content",baseUrl:"#!/comment",title:"Comments",mixins:{authMixin:"Docs.controller.AuthHelpers"},requires:["Docs.Syntax","Docs.Tip"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"overview",selector:"classoverview"},{ref:"index",selector:"#commentindex"}],init:function(){this.addEvents("add","remove","changeSubscription");if(!Docs.enableComments){return}this.getController("Auth").on({available:function(){this.enableComments()},loggedIn:function(){Docs.view.Comments.renderNewCommentForms();this.isMod()&&this.getController("Tabs").showCommentsTab()},loggedOut:function(){Docs.view.Comments.renderNewCommentForms();this.getController("Tabs").hideCommentsTab()},scope:this});this.getController("Classes").on({showClass:function(d,c){if(c.reRendered){this.renderClassCommentContainers(d)}},scope:this});this.getController("Guides").on({showGuide:function(d,c){if(c.reRendered){this.renderGuideCommentContainers(d)}},scope:this});this.getController("Videos").on({showVideo:function(c,d){if(d.reRendered){this.renderVideoCommentContainers(c)}},scope:this});this.control({viewport:{afterrender:function(b){Ext.Array.each([[".toggleComments","click",this.toggleComments],[".toggleMemberComments","click",this.showMemberComments],[".toggleNewComment","click",this.toggleNewComment],[".toggleCommentGuide","click",this.toggleCommentGuide],[".postComment","click",this.postComment],[".updateComment","click",this.updateComment],[".cancelUpdateComment","click",this.cancelUpdateComment],[".deleteComment","click",this.deleteComment],[".undoDeleteComment","click",this.undoDeleteComment],[".editComment","click",this.editComment],[".readComment","click",this.readComment],[".fetchMoreComments","click",this.fetchMoreComments],[".voteCommentUp","click",this.voteUp],[".voteCommentDown","click",this.voteDown],["#hideRead","change",function(){this.fetchRecentComments()}]],function(a){b.el.addListener(a[1],a[2],this,{preventDefault:true,delegate:a[0]})},this);b.el.addListener("click",this.updateSubscription,this,{delegate:".subscriptionCheckbox"})}},"classoverview toolbar":{afterrender:function(b){b.el.addListener("click",function(){var a=Ext.get(Ext.query(".comments-section .comments-div")[0]);this.getOverview().scrollToEl(".comments-section",-20);this.openComments(a)},this,{delegate:".comment-btn"})}}})},isMod:function(){return this.getController("Auth").currentUser.mod},enableComments:function(){if(!this.commentsEnabled){this.commentsEnabled=true}},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();if(!this.recentComments){this.fetchRecentComments();this.recentComments=true}this.callParent([true])},fetchComments:function(i,j,k){var l=Ext.JSON.encode(this.commentId(i)),g=Ext.JSON.encode(this.commentId(i).concat([{}])),h=this.getController("Auth").currentUser;this.request("jsonp",{url:"/comments",method:"GET",params:{reduce:false,startkey:l,endkey:g,user:h&&h.userName},success:function(a){j.call(this,a,i,k)},scope:this})},postComment:function(t,A){if(!this.isLoggedIn()){return false}var q=Ext.get(A),v=q.up(".comments-div"),B=v.getAttribute("id"),u=this.commentId(B),D=Ext.JSON.encode(u),r=v.down("textarea").dom,w=r.editor.getValue(),y=v.down(".commentAction").getValue(),p=v.select("[name=feedback]");var x=null;if(p){p.each(function(a){if(a.dom.checked){x=a.dom.value}})}if(w.replace(/( |\n|\t)+/g,"")==""){return false}if(this.lastCommentPost&&((Math.ceil(Number(new Date())/1000))-this.lastCommentPost)<10){Ext.Msg.alert("Please wait","Please wait 10 seconds between posting comments.");return false}if(q.hasCls("disabled")){return false}q.addCls("disabled");var C=u[1],s=u[1],z="#!/api/";if(u[0]=="video"){s="Video "+s;z="#!/video/"}else{if(u[0]=="guide"){s="Guide "+s;z="#!/guide/"}else{if(u[2]!=""){C+="-"+u[2];s+=" "+u[2]}}}this.request("ajax",{url:"/comments",method:"POST",params:{target:D,comment:w,rating:x,action:y,title:s,url:"http://"+window.location.host+window.location.pathname+z+C},callback:function(c,a,d){if(d&&d.responseText){var b=Ext.JSON.decode(d.responseText);this.fireEvent("add",B);r.editor.setValue("");q.removeCls("disabled");this.toggleNewComment(null,A);this.lastCommentPost=Math.ceil(Number(new Date())/1000);if(b.success&&b.id){this.fetchComments(B,this.appendNewComment,{id:b.id})}else{Ext.Msg.alert("Error",b.reason||"There was an error submitting your request")}}},scope:this})},fetchRecentComments:function(c){var d={offset:c||0,limit:100};if(this.isHideReadChecked()){d.hideRead=1}this.request("jsonp",{url:"/comments_recent",method:"GET",params:d,success:function(a){this.renderComments(a,"recentcomments",{hideCommentForm:true,append:!!c,showCls:true})},scope:this})},isHideReadChecked:function(){var b=Ext.get("hideRead");return b&&b.dom.checked},fetchMoreComments:function(c,d){this.fetchRecentComments(Ext.get(d).getAttribute("rel"))},deleteComment:function(f,g){if(!this.isLoggedIn()){return}var h=Ext.get(g).up(".comment").getAttribute("id"),i=Ext.get(g).up(".comments-div"),j=i&&i.getAttribute("id");this.request("ajax",{url:"/comments/"+h+"/delete",method:"POST",callback:function(c,a,d){var b=Ext.JSON.decode(d.responseText);if(b.success){if(j){this.fireEvent("remove",j)}Ext.get(h).update('<div class="deleted-comment">Comment was deleted. <a href="#" class="undoDeleteComment">Undo</a>.</div>')}else{Ext.Msg.alert("Error",b.reason||"There was an error submitting your request")}},scope:this})},readComment:function(f,g){if(!this.isLoggedIn()){return}var h=Ext.get(g).up(".comment").getAttribute("id"),i=Ext.get(g).up(".comments-div"),j=i&&i.getAttribute("id");this.request("ajax",{url:"/comments/"+h+"/read",method:"POST",callback:function(c,a,d){var b=Ext.JSON.decode(d.responseText);if(b.success){Ext.get(g).addCls("read")}else{Ext.Msg.alert("Error",b.reason||"There was an error submitting your request")}},scope:this})},undoDeleteComment:function(g,h){if(!this.isLoggedIn()){return}var i=Ext.get(h).up(".comment");var j=i.getAttribute("id");var k=i.up(".comments-div");var l=k&&k.getAttribute("id");this.request("ajax",{url:"/comments/"+j+"/undo_delete",method:"POST",callback:function(c,a,d){var b=Ext.JSON.decode(d.responseText);if(b.success){if(l){this.fireEvent("add",l)}b.comment.id=b.comment._id;Docs.view.Comments.commentTpl.insertBefore(i,b.comment);i.remove()}else{Ext.Msg.alert("Error",b.reason||"There was an error submitting your request")}},scope:this})},editComment:function(j,k){var i=Ext.get(k).up(".comment"),g=i.getAttribute("id"),l=i.down(".content"),h=this.getController("Auth").currentUser;this.request("ajax",{url:"/comments/"+g,method:"GET",callback:function(e,a,f){var b=Ext.JSON.decode(f.responseText);if(b.success){l.dom.origContent=l.dom.innerHTML;var c=Ext.merge(Ext.clone(h),{content:b.content,updateComment:true});var d=Docs.view.Comments.editCommentTpl.overwrite(l,c,true);var n=d.down("textarea").dom;Docs.view.Comments.makeCodeMirror(n,d)}},scope:this})},updateComment:function(k,g){if(!this.isLoggedIn()){return false}var h=Ext.get(g),i=h.up(".comment"),j=i.getAttribute("id");var l=i.down("textarea").dom.editor.getValue();if(h.hasCls("disabled")){return false}h.addCls("disabled");this.request("ajax",{url:"/comments/"+j,method:"POST",params:{content:l},callback:function(d,a,e){var b=Ext.JSON.decode(e.responseText);if(b.success){var c=i.down(".content");c.update(b.content)}},scope:this})},cancelUpdateComment:function(j,g){var i=Ext.get(g),h=i.up(".comment"),f=h.down(".content");if(f&&f.dom.origContent){f.update(f.dom.origContent)}},voteUp:function(c,d){this.vote("up",d)},voteDown:function(c,d){this.vote("down",d)},updateSubscription:function(k,l){var i=Ext.get(l).up(".comments-div"),h=Ext.get(l).up("label"),g=i.getAttribute("id"),j=l.checked;this.request("ajax",{url:"/subscribe",method:"POST",params:{target:Ext.JSON.encode(this.commentId(g)),subscribed:j},success:function(){if(j){Docs.Tip.show("Updates to this thread will be e-mailed to you.",h,"bottom")}else{Docs.Tip.show("You have unsubscribed from this thread.",h,"bottom")}},failure:function(){Docs.Tip.show("Subscription change failed.",h,"bottom");l.checked=!l.checked},scope:this})},vote:function(i,f){if(!this.isLoggedIn()){Docs.Tip.show("Please login to vote on this comment",f);return false}else{if(Ext.get(f).hasCls("selected")){Docs.Tip.show("You have already voted on this comment",f);return false}}var h=Ext.get(f).up(".comment").getAttribute("id"),j=Ext.get(f).up(".com-meta"),g=j.down(".score");this.request("ajax",{url:"/comments/"+h,method:"POST",params:{vote:i},callback:function(c,a,d){var b=Ext.JSON.decode(d.responseText);if(b.success){Ext.Array.each(j.query(".vote a"),function(e){Ext.get(e).removeCls("selected")});if(b.direction==="up"||b.direction==="down"){Ext.get(j.query(".vote a.voteComment"+(b.direction=="up"?"Up":"Down"))[0]).addCls("selected")}g.update(String(b.total))}else{Docs.Tip.show(b.reason,f);return false}},scope:this})},toggleComments:function(f,d){var e=Ext.get(d).up(".comments-div");if(e.hasCls("open")){this.closeComments(e)}else{this.openComments(e)}},openComments:function(e){if(e.hasCls("open")){return}var f=e.down(".name"),h=e.down(".comment-list");e.addCls("open");f.setStyle("display","none");if(h){h.setStyle("display","block")}else{var g=e.getAttribute("id");Docs.view.Comments.loadingTpl.append(e);this.fetchComments(g,this.renderComments)}},closeComments:function(d){if(!d.hasCls("open")){return}var e=d.down(".name"),f=d.down(".comment-list");d.removeCls("open");e.setStyle("display","block");if(f){f.setStyle("display","none")}},showMemberComments:function(g,e){var h=Ext.get(e).up(".member");if(h){var f=h.down(".comments-div");h.addCls("open");this.openComments(f);this.getOverview().scrollToEl(f,-20)}},renderClassCommentContainers:function(){var b=this.getController("Classes").currentCls;Docs.view.Comments.renderClassCommentContainers(b)},renderGuideCommentContainers:function(b){Docs.view.Comments.classCommentsTpl.append(Ext.get("guide"),{num:0,id:"guide-"+b})},renderVideoCommentContainers:function(b){Docs.view.Comments.classCommentsTpl.append(Ext.get("video"),{num:0,id:"video-"+b})},renderComments:function(l,s,v){v=v||{};var p=Ext.get(s),m=p.down(".loading");var q=Ext.Array.map(l,function(a){a.id=a._id;a.key=a.target;if(v.showCls){a.showCls=true}return a});if(m){m.remove()}if(v.append){var o=p.down(".comment-list");Docs.view.Comments.appendCommentsTpl.append(o,q);this.updateCommentsPager(p,q)}else{var o=p.down(".comment-list");if(o){Docs.view.Comments.appendCommentsTpl.overwrite(o,q);this.updateCommentsPager(p,q)}else{Docs.view.Comments.commentsTpl.append(p,q)}Docs.Syntax.highlight(p)}if(v.hideCommentForm){p.addCls("hideCommentForm")}else{if(!p.hasCls("hideCommentForm")){var u=p.down(".new-comment-wrap");if(this.isLoggedIn()){var r=Ext.apply(this.getController("Auth").currentUser,{userSubscribed:Docs.commentSubscriptions[s]});var t=Docs.view.Comments.loggedInCommentTpl.overwrite(u,r,true);if(t){var n=t.down("textarea");if(n){Docs.view.Comments.makeCodeMirror(n.dom,t)}}}else{Docs.view.Comments.loggedOutCommentTpl.overwrite(u,{})}}}},updateCommentsPager:function(f,d){var e=d[d.length-1]||{};f.down(".recent-comments-pager").update(Docs.view.Comments.getPagerHtml(e))},toggleNewComment:function(f,d){if(!this.isLoggedIn()){return}var e=Ext.get(d).up(".new-comment");if(e.hasCls("open")){e.removeCls("open")}else{e.addCls("open")}},appendNewComment:function(i,h,f){var g=Ext.get(h).down(".new-comment-wrap"),j;if(f.id){Ext.Array.each(i,function(a){if(a._id==f.id){j=a;j.id=f.id}})}else{j=i[i.length-1];j.id=i[i.length-1]._id}Docs.view.Comments.commentTpl.insertBefore(g,j);Docs.Syntax.highlight(g.up(".comment-list"))},commentId:function(b){return Docs.commentMeta.idMap[b]||["unknown"]},toggleCommentGuide:function(h,j){var g=Ext.get(j).up("form"),e=g.down(".commentGuideTxt"),i=e.getStyle("display");e.setStyle("display",(i=="none")?"block":"none")},closeCodeEditor:function(b){b.removeCls("selected");if(b.editor){b.editor.toTextArea()}}});Ext.define("Docs.controller.CommentsMeta",{extend:"Ext.app.Controller",mixins:{authMixin:"Docs.controller.AuthHelpers"},refs:[{ref:"toolbar",selector:"classoverview toolbar"},{ref:"authentication",selector:"authentication"},{ref:"overview",selector:"classoverview"}],init:function(){Docs.commentMeta={idMap:{},"class":{},guide:{},video:{}};Docs.commentSubscriptions={};this.addEvents("afterLoad");if(!Docs.enableComments){return}this.getController("Auth").on({available:function(){this.fetchCommentMeta()},loggedIn:function(){this.fetchSubscriptionMeta()},scope:this});this.getController("Comments").on({add:function(b){this.updateCommentMeta(b,1)},remove:function(b){this.updateCommentMeta(b,-1)},scope:this});this.getController("Classes").on({showIndex:function(){this.updateClassIndex()},showClass:function(d,c){if(c.reRendered){this.createCommentIdMap(this.getController("Classes").currentCls);this.renderClassCommentMeta(d)}},scope:this});this.getController("Guides").on({showGuide:function(d,c){Docs.commentMeta.idMap["comments-guide-"+d]=["guide",d,""];this.renderGuideCommentMeta(d)},scope:this});this.getController("Videos").on({showVideo:function(c,d){Docs.commentMeta.idMap["comments-video-"+c]=["video",c,""];this.renderVideoCommentMeta(c)},scope:this});this.control({hovermenu:{refresh:this.refreshHoverMenu}})},fetchCommentMeta:function(){this.request("jsonp",{url:"/comments_meta",method:"GET",success:function(b){Ext.Array.each(b.comments,function(a){this.updateMeta(a._id.split("__"),a.value)},this);Ext.Array.each(b.subscriptions,function(d){var a="comments-"+d.join("-").replace(/\./g,"-").replace(/-$/,"");Docs.commentSubscriptions[a]=true},this);this.metaLoaded=true;this.fireEvent("afterLoad");this.updateClassIndex()},scope:this})},fetchSubscriptionMeta:function(){this.request("jsonp",{url:"/subscriptions",method:"GET",success:function(b){Ext.Array.each(b.subscriptions,function(d){var a="comments-"+d.join("-").replace(/\./g,"-").replace(/-$/,"");Docs.commentSubscriptions[a]=true},this)},scope:this})},updateCommentMeta:function(f,d){var e=Docs.commentMeta.idMap[f];this.updateMeta(e,d);if(e[0]=="guide"){Docs.view.Comments.updateGuideCommentMeta(e[1])}else{if(e[0]=="video"){Docs.view.Comments.updateVideoCommentMeta(e[1])}else{Docs.view.Comments.updateClassCommentMeta(e[1])}}},updateMeta:function(d,c){Docs.commentMeta[d[0]]=Docs.commentMeta[d[0]]||{};Docs.commentMeta[d[0]][d[1]]=Docs.commentMeta[d[0]][d[1]]||{total:0};Docs.commentMeta[d[0]][d[1]][d[2]]=Docs.commentMeta[d[0]][d[1]][d[2]]||0;Docs.commentMeta[d[0]][d[1]][d[2]]+=c;Docs.commentMeta[d[0]][d[1]]["total"]+=c},createCommentIdMap:function(b){Docs.commentMeta.idMap[("comments-class-"+b.name).replace(/\./g,"-")]=["class",b.name,""];b.members&&this.createMembersCommentIdMap(b,b.members);b.statics&&this.createMembersCommentIdMap(b,b.statics)},createMembersCommentIdMap:function(e,d){for(var f in d){Ext.Array.each(d[f],function(h){var a=["class",e.name,h.id];var b=["class",h.owner,h.id];var c="comments-"+a.join("-").replace(/\./g,"-");Docs.commentMeta.idMap[c]=b},this)}},refreshHoverMenu:function(b){this.afterMetaLoaded(function(){Docs.view.Comments.renderHoverMenuMeta(b.el)},this)},updateClassIndex:function(){if(this.getController("Comments").commentsEnabled){this.afterMetaLoaded(function(){Docs.view.Comments.updateClassIndex()},this)}},renderClassCommentMeta:function(b){this.afterMetaLoaded(function(){Docs.view.Comments.updateClassCommentMeta(b)},this)},renderGuideCommentMeta:function(b){this.afterMetaLoaded(function(){Docs.view.Comments.updateGuideCommentMeta(b)},this)},renderVideoCommentMeta:function(b){this.afterMetaLoaded(function(){Docs.view.Comments.updateVideoCommentMeta(b)},this)},afterMetaLoaded:function(c,d){if(this.metaLoaded){c.call(d)}else{this.addListener("afterLoad",c,d,{single:true})}}});Ext.define("Docs.controller.Examples",{extend:"Docs.controller.Content",baseUrl:"#!/example",title:"Examples",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#exampleindex"},{ref:"tree",selector:"#exampletree"},{ref:"page",selector:"#example"}],init:function(){this.addEvents("showExample");this.control({"#exampletree":{urlclick:function(d,c){this.loadExample(d)}},"exampleindex > thumblist":{urlclick:function(b){this.loadExample(b)}},touchexamplecontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.changeDevice("tablet")},this,{delegate:"button.tablet"});b.el.addListener("click",function(d,a){this.changeDevice("phone")},this,{delegate:"button.phone"});b.el.addListener("click",function(d,a){this.changeOrientation("portrait")},this,{delegate:"button.portrait"});b.el.addListener("click",function(d,a){this.changeOrientation("landscape")},this,{delegate:"button.landscape"});b.el.addListener("click",function(d,a){this.openInNewWindow()},this,{delegate:"button.new-window"})}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("exampletree");this.callParent()},loadExample:function(d,f){var e=this.getExample(d);if(!e){this.getController("Failure").show404("Example <b>"+d+"</b> was not found.");return}this.getViewport().setPageTitle(e.text);if(this.activeUrl!==d){this.getPage().clear();this.activateExampleCard();this.getPage().load(e)}else{this.activateExampleCard()}f||Docs.History.push(d);this.fireEvent("showExample",d);this.getTree().selectUrl(d);this.activeUrl=d},activateExampleCard:function(){Ext.getCmp("card-panel").layout.setActiveItem("example");Ext.getCmp("treecontainer").showTree("exampletree")},getExample:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.examples,function(a){Ext.Array.forEach(a.items,function(d){this.map["#!/example/"+d.name]=d},this)},this)}return this.map[b]},changeOrientation:function(b){this.getPage().setOrientation(b)},changeDevice:function(b){this.getPage().setDevice(b)},openInNewWindow:function(){window.open(this.getExample(this.activeUrl).url)}});Ext.define("Docs.controller.Guides",{extend:"Docs.controller.Content",baseUrl:"#!/guide",title:"Guides",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#guideindex"},{ref:"tree",selector:"#guidetree"},{ref:"guide",selector:"#guide"}],cache:{},init:function(){this.addEvents("showGuide");this.control({"#guidetree":{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},"guideindex > thumblist":{urlclick:function(b){this.loadGuide(b)}},indexcontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.handleUrlClick(a.href,d)},this,{preventDefault:true,delegate:".guide"})}},"#guide":{afterrender:function(b){b.el.addListener("click",function(d,a){this.setScrollState(this.activeUrl,a.scrollTop)},this);b.el.addListener("click",function(d,a){this.handleUrlClick(a.href,d)},this,{preventDefault:true,delegate:".toc a"})}}})},handleUrlClick:function(d,f,e){d=d.replace(/.*#!?/,"#!");if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.activeUrl?this.activeUrl:"")}else{this.loadGuide(d)}},loadIndex:function(){Ext.getCmp("treecontainer").showTree("guidetree");this.callParent()},loadGuide:function(j,h){Ext.getCmp("card-panel").layout.setActiveItem("guide");Ext.getCmp("treecontainer").showTree("guidetree");var g=j.match(/^#!\/guide\/(.*?)(-section-[0-9]+)?$/);var f=g[1];var i=g[2];j="#!/guide/"+f;h||Docs.History.push(j);if(this.cache[f]){this.showGuide(this.cache[f],j,f,i)}else{this.cache[f]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/guides/"+f+"/README.js",callbackName:f,success:function(a){this.cache[f]=a;this.showGuide(a,j,f,i)},failure:function(b,a){this.cache[f]=false;this.getController("Failure").show404("Guide <b>"+f+"</b> was not found.")},scope:this})}},showGuide:function(i,j,f,h){var g=false;if(i==="in-progress"){return}this.getViewport().setPageTitle(i.title);if(this.activeUrl!==j){Ext.getCmp("guide").load({name:f,content:i.guide});g=true}this.activeUrl=j;h?this.getGuide().scrollToEl(f+h):this.getGuide().scrollToTop();this.fireEvent("showGuide",f,{reRendered:g});this.getTree().selectUrl(j)}});Ext.define("Docs.controller.Videos",{extend:"Docs.controller.Content",baseUrl:"#!/video",title:"Videos",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#videoindex"},{ref:"tree",selector:"#videotree"}],init:function(){this.addEvents("showVideo");this.control({"#videotree":{urlclick:function(b){this.loadVideo(b)}},"videoindex > thumblist":{urlclick:function(b){this.loadVideo(b)}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("videotree");this.callParent()},loadVideo:function(j,h){var f=false;Ext.getCmp("card-panel").layout.setActiveItem("video");Ext.getCmp("treecontainer").showTree("videotree");var g=j.match(/^#!\/video\/(.*)$/)[1];var i=this.getVideo(g);if(!i){this.getController("Failure").show404("Video <b>"+g+"</b> was not found.");return}this.getViewport().setPageTitle(i.title);if(this.activeUrl!==j){Ext.getCmp("video").load(i);f=true}h||Docs.History.push(j);this.fireEvent("showVideo",g,{reRendered:f});this.getTree().selectUrl(j);this.activeUrl=j},getVideo:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.videos,function(a){Ext.Array.forEach(a.items,function(d){this.map[d.name]=d},this)},this)}return this.map[b]}});Ext.define("Docs.controller.Stats",{extend:"Docs.controller.Content",baseUrl:"#!/stats",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#statsindex"}],init:function(){this.addEvents("loadIndex")},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();this.callParent([true])},isActive:function(){return !!this.getIndex().getTab()}});Ext.define("Docs.view.examples.InlineWrap",{alias:"widget.inlineexample",requires:["Docs.view.examples.Inline","Docs.view.examples.InlineToolbar"],constructor:function(c){this.pre=c;var d=this.parseOptions(c.className);this.initToolbar();if(d.preview){this.replacePre(d)}else{this.tb.on("buttonclick",function(a){d.preview=(a==="preview");this.replacePre(d)},this,{single:true})}},parseOptions:function(c){var d={};Ext.Array.forEach(c.split(/ +/),function(a){if(a==="phone"||a==="miniphone"||a==="tablet"){d.device=a}else{if(a==="ladscape"||a==="portrait"){d.orientation=a}else{d[a]=true}}});return d},initToolbar:function(){var b=document.createElement("div");this.pre.parentNode.insertBefore(b,this.pre);this.tb=Ext.create("Docs.view.examples.InlineToolbar",{renderTo:b})},replacePre:function(d){var c=document.createElement("div");this.pre.parentNode.replaceChild(c,this.pre);Ext.create("Docs.view.examples.Inline",{height:200,renderTo:c,value:Ext.String.htmlDecode(Ext.util.Format.stripTags(this.pre.innerHTML)),options:d,toolbar:this.tb})}});Ext.define("Docs.controller.InlineExamples",{extend:"Ext.app.Controller",requires:["Docs.view.examples.InlineWrap"],init:function(){this.control({classoverview:{resize:this.createResizer(".class-overview"),afterload:this.replaceExampleDivs},guidecontainer:{resize:this.createResizer(".guide-container"),afterload:this.replaceExampleDivs}})},createResizer:function(b){return function(){Ext.Array.each(Ext.ComponentQuery.query(b+" .inlineexample"),function(a){if(a.editor&&a.isVisible()){a.doLayout();a.editor.refresh()}})}},replaceExampleDivs:function(){Ext.Array.each(Ext.query(".inline-example"),function(b){Ext.create("Docs.view.examples.InlineWrap",b)},this)}});Ext.define("Docs.store.Search",{extend:"Ext.data.Store",fields:["name","fullName","icon","url","meta","sort"],proxy:{type:"memory",reader:{type:"json"}}});Ext.define("Docs.controller.Search",{extend:"Ext.app.Controller",requires:["Docs.ClassRegistry","Docs.History"],stores:["Search"],refs:[{ref:"field",selector:"#search-field"}],pageIndex:0,pageSize:10,init:function(){this.control({"#search-dropdown":{itemclick:function(c,d){this.loadRecord(d)},changePage:function(c,d){this.pageIndex+=d;this.search(this.getField().getValue());this.keepDropdown()},footerClick:function(b){this.keepDropdown()}},"#search-field":{keyup:function(m,l){var j=this.getDropdown();m.setHideTrigger(m.getValue().length===0);if(l.keyCode===Ext.EventObject.ESC||!m.value){j.hide();m.setValue("");return}else{j.show()}var h=j.getSelectionModel();var i=h.getLastSelected();var n=j.store.indexOf(i);var k=j.store.getCount()-1;if(l.keyCode===Ext.EventObject.UP){if(n===undefined){h.select(0)}else{h.select(n===0?k:(n-1))}}else{if(l.keyCode===Ext.EventObject.DOWN){if(n===undefined){h.select(0)}else{h.select(n===k?0:n+1)}}else{if(l.keyCode===Ext.EventObject.ENTER){l.preventDefault();i&&this.loadRecord(i)}else{this.pageIndex=0;clearTimeout(this.searchTimeout);this.searchTimeout=Ext.Function.defer(function(){this.search(m.value)},50,this)}}}},focus:function(b){if(b.value&&this.getDropdown().store.getCount()>0){this.getDropdown().show()}},blur:function(){var b=this.getDropdown();this.hideTimeout=Ext.Function.defer(b.hide,500,b)}}})},getDropdown:function(){return this.dropdown||(this.dropdown=Ext.getCmp("search-dropdown"))},keepDropdown:function(){clearTimeout(this.hideTimeout);this.getField().focus()},loadRecord:function(b){Docs.History.navigate(b.get("url"));this.getDropdown().hide()},search:function(h){var e=Docs.ClassRegistry.search(h);if(this.pageIndex<0){this.pageIndex=0}else{if(this.pageIndex>Math.floor(e.length/this.pageSize)){this.pageIndex=Math.floor(e.length/this.pageSize)}}var g=this.pageIndex*this.pageSize;var f=g+this.pageSize;this.getDropdown().setTotal(e.length);this.getDropdown().setStart(g);this.getDropdown().getStore().loadData(e.slice(g,f));this.getDropdown().alignTo("search-field","bl",[-12,-2]);if(e.length===0){this.getDropdown().hide()}else{this.getDropdown().getSelectionModel().select(0)}}});Ext.ns("Docs");Ext.isIe=Ext.isIE;Ext.Loader.setConfig({enabled:true,paths:{Docs:"app"}});Ext.require("Docs.view.Viewport");Ext.require("Ext.form.field.Trigger");Ext.require("Ext.tab.Panel");Ext.require("Ext.grid.column.Action");Ext.require("Ext.grid.plugin.DragDrop");Ext.require("Ext.layout.container.Border");Ext.require("Ext.data.TreeStore");Ext.require("Ext.toolbar.Spacer");Ext.require("Docs.Application");Ext.onReady(function(){Ext.create("Docs.Application")}); \ No newline at end of file