]> git.proxmox.com Git - extjs.git/blame - extjs/build/ext-modern-all-sandbox.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / ext-modern-all-sandbox.js
CommitLineData
6527f429
DM
1
2(function(Ext) {
3Ext.sandboxName = 'Ext6';
4Ext.isSandboxed = true;
5Ext.buildSettings = { baseCSSPrefix: "x6-", scopeResetCSS: true };
6/*\r
7This file is part of Ext JS 6.0.1.250\r
8\r
9Copyright (c) 2011-2015 Sencha Inc\r
10\r
11Contact: http://www.sencha.com/contact\r
12\r
13GNU General Public License Usage\r
14This file may be used under the terms of the GNU General Public License version 3.0 as\r
15published by the Free Software Foundation and appearing in the file LICENSE included in the\r
16packaging of this file.\r
17\r
18Please review the following information to ensure the GNU General Public License version 3.0\r
19requirements will be met: http://www.gnu.org/copyleft/gpl.html.\r
20\r
21If you are unsure which license is appropriate for your use, please contact the sales department\r
22at http://www.sencha.com/contact.\r
23\r
24Version: 6.0.1.250 Build date: 2015-09-02 17:27:43 (22ef9ff0ebf584ff525541be37e753a703cc044b)\r
25\r
26*/\r
27var Ext=Ext||{};Ext.Boot=Ext.Boot||(function(h){var o=document,e=[],k={disableCaching:(/[?&](?:cache|disableCacheBuster)\b/i.test(location.search)||!(/http[s]?\:/i.test(location.href))||/(^|[ ;])ext-cache=1/.test(o.cookie))?false:true,disableCachingParam:"_dc",loadDelay:false,preserveScripts:true,charset:"UTF-8"},q={},g=/\.css(?:\?|$)/i,n=o.createElement("a"),l=typeof window!=="undefined",i={browser:l,node:!l&&(typeof require==="function"),phantom:(window&&(window._phantom||window.callPhantom))||/PhantomJS/.test(window.navigator.userAgent)},m=(Ext.platformTags={}),a=function(s,r,u){if(u){a(s,u)}if(s&&r&&typeof r==="object"){for(var t in r){s[t]=r[t]}}return s},p=function(){var t=false,w=Array.prototype.shift.call(arguments),s,u,r,v;if(typeof arguments[arguments.length-1]==="boolean"){t=Array.prototype.pop.call(arguments)}r=arguments.length;for(s=0;s<r;s++){v=arguments[s];if(typeof v==="object"){for(u in v){w[t?u.toLowerCase():u]=v[u]}}}return w},c=(typeof Object.keys=="function")?function(r){if(!r){return[]}return Object.keys(r)}:function(r){var s=[],t;for(t in r){if(r.hasOwnProperty(t)){s.push(t)}}return s},d={loading:0,loaded:0,apply:a,env:i,config:k,assetConfig:q,scripts:{},currentFile:null,suspendedQueue:[],currentRequest:null,syncMode:false,useElements:true,listeners:[],Request:b,Entry:j,allowMultipleBrowsers:false,browserNames:{ie:"IE",firefox:"Firefox",safari:"Safari",chrome:"Chrome",opera:"Opera",dolfin:"Dolfin",edge:"Edge",webosbrowser:"webOSBrowser",chromeMobile:"ChromeMobile",chromeiOS:"ChromeiOS",silk:"Silk",other:"Other"},osNames:{ios:"iOS",android:"Android",windowsPhone:"WindowsPhone",webos:"webOS",blackberry:"BlackBerry",rimTablet:"RIMTablet",mac:"MacOS",win:"Windows",tizen:"Tizen",linux:"Linux",bada:"Bada",chromeOS:"ChromeOS",other:"Other"},browserPrefixes:{ie:"MSIE ",edge:"Edge/",firefox:"Firefox/",chrome:"Chrome/",safari:"Version/",opera:"OPR/",dolfin:"Dolfin/",webosbrowser:"wOSBrowser/",chromeMobile:"CrMo/",chromeiOS:"CriOS/",silk:"Silk/"},browserPriority:["edge","opera","dolfin","webosbrowser","silk","chromeiOS","chromeMobile","ie","firefox","safari","chrome"],osPrefixes:{tizen:"(Tizen )",ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",windowsPhone:"Windows Phone ",blackberry:"(?:BlackBerry|BB)(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/",chromeOS:"CrOS "},fallbackOSPrefixes:{windows:"win",mac:"mac",linux:"linux"},devicePrefixes:{iPhone:"iPhone",iPod:"iPod",iPad:"iPad"},maxIEVersion:12,detectPlatformTags:function(){var w=this,r=navigator.userAgent,x=/Mobile(\/|\s)/.test(r),v=document.createElement("div"),A=function(F,D){if(D===undefined){D=window}var E="on"+F.toLowerCase(),G=(E in v);if(!G){if(v.setAttribute&&v.removeAttribute){v.setAttribute(E,"");G=typeof v[E]==="function";if(typeof v[E]!=="undefined"){v[E]=undefined}v.removeAttribute(E)}}return G},z=function(){var E={},L,H,M,N,I,J,F,K,D;J=w.browserPriority.length;for(I=0;I<J;I++){N=w.browserPriority[I];if(!D){M=w.browserPrefixes[N];F=r.match(new RegExp("("+M+")([\\w\\._]+)"));K=F&&F.length>1?parseInt(F[2]):0;if(K){D=true}}else{K=0}E[N]=K}if(E.ie){var G=document.documentMode;if(G>=8){E.ie=G}}K=E.ie||false;L=Math.max(K,w.maxIEVersion);for(I=8;I<=L;++I){H="ie"+I;E[H+"m"]=K?K<=I:0;E[H]=K?K===I:0;E[H+"p"]=K?K>=I:0}return E},y=function(){var E={},J,K,M,G,H,F,D,I,L;M=c(w.osPrefixes);H=M.length;for(G=0,L=0;G<H;G++){K=M[G];J=w.osPrefixes[K];F=r.match(new RegExp("("+J+")([^\\s;]+)"));D=F?F[1]:null;if(D&&(D==="HTC_"||D==="Silk/")){I=2.3}else{I=F&&F.length>1?parseFloat(F[F.length-1]):0}if(I){L++}E[K]=I}M=c(w.fallbackOSPrefixes);H=M.length;for(G=0;G<H;G++){K=M[G];if(L===0){J=w.fallbackOSPrefixes[K];F=r.toLowerCase().match(new RegExp(J));E[K]=F?true:0}else{E[K]=0}}return E},B=function(){var E={},J,H,I,G,D,F;I=c(w.devicePrefixes);D=I.length;for(G=0;G<D;G++){H=I[G];J=w.devicePrefixes[H];F=r.match(new RegExp(J));E[H]=F?true:0}return E},t=z(),u=y(),C=B(),s=d.loadPlatformsParam();p(m,t,u,C,s,true);m.phone=(m.iphone||m.ipod)||(!m.silk&&(m.android&&(m.android<3||x)))||(m.blackberry&&x)||(m.windowsphone);m.tablet=!m.phone&&(m.ipad||m.android||m.silk||m.rimtablet||(m.ie10&&/; Touch/.test(r)));m.touch=A("touchend")||navigator.maxTouchPoints||navigator.msMaxTouchPoints;m.desktop=!m.phone&&!m.tablet;m.cordova=m.phonegap=!!(window.PhoneGap||window.Cordova||window.cordova);m.webview=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(r);m.androidstock=(m.android<=4.3)&&(m.safari||m.silk);p(m,s,true)},loadPlatformsParam:function(){var r=window.location.search.substr(1),t=r.split("&"),v={},x,y={},A,w,u,s,z;for(x=0;x<t.length;x++){A=t[x].split("=");v[A[0]]=A[1]}if(v.platformTags){A=v.platformTags.split(",");for(w=A.length,x=0;x<w;x++){u=A[x].split(":");s=u[0];z=true;if(u.length>1){z=u[1];if(z==="false"||z==="0"){z=false}}y[s]=z}}return y},filterPlatform:function(t,x){t=e.concat(t||e);x=e.concat(x||e);var w=t.length,v=x.length,s=(!w&&v),u,r;for(u=0;u<w&&!s;u++){r=t[u];s=!!m[r]}for(u=0;u<v&&s;u++){r=x[u];s=!m[r]}return s},init:function(){var u=o.getElementsByTagName("script"),v=u.length,B=/\/ext(\-[a-z\-]+)?\.js$/,z,x,r,s,w,A,t,y;for(t=0;t<v;t++){r=(x=u[t]).src;if(!r){continue}s=x.readyState||null;if(!w){if(B.test(r)){d.hasReadyState=("readyState" in x);d.hasAsync=("async" in x)||!d.hasReadyState;w=r}}if(!d.scripts[A=d.canonicalUrl(r)]){z=new j({key:A,url:r,done:s===null||s==="loaded"||s==="complete",el:x,prop:"src"})}}if(!w){x=u[u.length-1];w=x.src;d.hasReadyState=("readyState" in x);d.hasAsync=("async" in x)||!d.hasReadyState}d.baseUrl=w.substring(0,w.lastIndexOf("/")+1);y=window.location.origin||window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"");d.origin=y;d.detectPlatformTags();Ext.filterPlatform=d.filterPlatform},canonicalUrl:function(u){n.href=u;var t=n.href,s=k.disableCachingParam,w=s?t.indexOf(s+"="):-1,v,r;if(w>0&&((v=t.charAt(w-1))==="?"||v==="&")){r=t.indexOf("&",w);r=(r<0)?"":t.substring(r);if(r&&v==="?"){++w;r=r.substring(1)}t=t.substring(0,w-1)+r}return t},getConfig:function(r){return r?d.config[r]:d.config},setConfig:function(r,u){if(typeof r==="string"){d.config[r]=u}else{for(var t in r){d.setConfig(t,r[t])}}return d},getHead:function(){return d.docHead||(d.docHead=o.head||o.getElementsByTagName("head")[0])},create:function(t,u,r){var s=r||{};s.url=t;s.key=u;return d.scripts[u]=new j(s)},getEntry:function(s,r){var t=d.canonicalUrl(s),u=d.scripts[t];if(!u){u=d.create(s,t,r)}return u},registerContent:function(s,t,u){var r={content:u,loaded:true,css:t==="css"};return d.getEntry(s,r)},processRequest:function(s,r){s.loadEntries(r)},load:function(r){var r=new b(r);if(r.sync||d.syncMode){return d.loadSync(r)}if(d.currentRequest){r.getEntries();d.suspendedQueue.push(r)}else{d.currentRequest=r;d.processRequest(r,false)}return d},loadSync:function(r){var r=new b(r);d.syncMode++;d.processRequest(r,true);d.syncMode--;return d},loadBasePrefix:function(r){r=new b(r);r.prependBaseUrl=true;return d.load(r)},loadSyncBasePrefix:function(r){r=new b(r);r.prependBaseUrl=true;return d.loadSync(r)},requestComplete:function(s){var r;if(d.currentRequest===s){d.currentRequest=null;while(d.suspendedQueue.length>0){r=d.suspendedQueue.shift();if(!r.done){d.load(r);break}}}if(!d.currentRequest&&d.suspendedQueue.length==0){d.fireListeners()}},isLoading:function(){return !d.currentRequest&&d.suspendedQueue.length==0},fireListeners:function(){var r;while(d.isLoading()&&(r=d.listeners.shift())){r()}},onBootReady:function(r){if(!d.isLoading()){r()}else{d.listeners.push(r)}},getPathsFromIndexes:function(s,r){return b.prototype.getPathsFromIndexes(s,r)},createLoadOrderMap:function(r){return b.prototype.createLoadOrderMap(r)},fetch:function(r,s,A,u){u=(u===undefined)?!!s:u;var z=new XMLHttpRequest(),B,w,x,t=false,y=function(){if(z&&z.readyState==4){w=(z.status===1223)?204:(z.status===0&&((self.location||{}).protocol==="file:"||(self.location||{}).protocol==="ionp:"))?200:z.status;x=z.responseText;B={content:x,status:w,exception:t};if(s){s.call(A,B)}z=null}};if(u){z.onreadystatechange=y}try{z.open("GET",r,u);z.send(null)}catch(v){t=v;y();return B}if(!u){y()}return B},notifyAll:function(r){r.notifyRequests()}};function b(r){if(r.$isRequest){return r}var r=r.url?r:{url:r},s=r.url,t=s.charAt?[s]:s,u=r.charset||d.config.charset;a(r,{urls:t,charset:u});a(this,r)}b.prototype={$isRequest:true,createLoadOrderMap:function(s){var r=s.length,t={},v,u;for(v=0;v<r;v++){u=s[v];t[u.path]=u}return t},getLoadIndexes:function(w,y,t,u,E){var F=t[w],x,v,D,C,A,z,B,s,r;if(y[w]){return y}y[w]=true;A=false;while(!A){z=false;for(B in y){if(y.hasOwnProperty(B)){F=t[B];if(!F){continue}r=this.prepareUrl(F.path);C=d.getEntry(r);if(!E||!C||!C.done){D=F.requires;if(u&&F.uses){D=D.concat(F.uses)}for(x=D.length,v=0;v<x;v++){s=D[v];if(!y[s]){y[s]=true;z=true}}}}}if(!z){A=true}}return y},getPathsFromIndexes:function(w,s){var u=[],x=[],t,r,v;for(t in w){if(w.hasOwnProperty(t)&&w[t]){u.push(t)}}u.sort(function(z,y){return z-y});for(r=u.length,v=0;v<r;v++){x.push(s[u[v]].path)}return x},expandUrl:function(r,x,u,A){if(typeof r=="string"){r=[r]}var y=this,s=y.loadOrder,z=y.loadOrderMap;if(s){z=z||y.createLoadOrderMap(s);y.loadOrderMap=z;x=x||{};var w=r.length,t=[],v,B;for(v=0;v<w;v++){B=z[r[v]];if(B){y.getLoadIndexes(B.idx,x,s,u,A)}else{t.push(r[v])}}return y.getPathsFromIndexes(x,s).concat(t)}return r},expandUrls:function(y,u){if(typeof y=="string"){y=[y]}var w=[],r={},B,x=y.length,v,A,s,z;for(v=0;v<x;v++){B=this.expandUrl(y[v],{},u,true);for(A=0,s=B.length;A<s;A++){z=B[A];if(!r[z]){r[z]=true;w.push(z)}}}if(w.length==0){w=y}return w},expandLoadOrder:function(){var s=this,t=s.urls,r;if(!s.expanded){r=this.expandUrls(t,true);s.expanded=true}else{r=t}s.urls=r;if(t.length!=r.length){s.sequential=true}return s},getUrls:function(){this.expandLoadOrder();return this.urls},prepareUrl:function(r){if(this.prependBaseUrl){return d.baseUrl+r}return r},getEntries:function(){var v=this,r=v.entries,t,u,w,s;if(!r){r=[];w=v.getUrls();for(t=0;t<w.length;t++){s=v.prepareUrl(w[t]);u=d.getEntry(s,{buster:v.buster,charset:v.charset});u.requests.push(v);r.push(u)}v.entries=r}return r},loadEntries:function(x){var w=this,s=w.getEntries(),r=s.length,y=w.loadStart||0,t,v,u;if(x!==undefined){w.sync=x}w.loaded=w.loaded||0;w.loading=w.loading||r;for(u=y;u<r;u++){v=s[u];if(!v.loaded){t=s[u].load(w.sync)}else{t=true}if(!t){w.loadStart=u;v.onDone(function(){w.loadEntries(x)});break}}w.processLoadedEntries()},processLoadedEntries:function(){var v=this,s=v.getEntries(),r=s.length,w=v.startIndex||0,t,u;if(!v.done){for(t=w;t<r;t++){u=s[t];if(!u.loaded){v.startIndex=t;return}if(!u.evaluated){u.evaluate()}if(u.error){v.error=true}}v.notify()}},notify:function(){var v=this;if(!v.done){var s=v.error,u=v[s?"failure":"success"],r=("delay" in v)?v.delay:(s?1:d.config.chainDelay),t=v.scope||v;v.done=true;if(u){if(r===0||r>0){setTimeout(function(){u.call(t,v)},r)}else{u.call(t,v)}}v.fireListeners();d.requestComplete(v)}},onDone:function(t){var s=this,r=s.listeners||(s.listeners=[]);if(s.done){t(s)}else{r.push(t)}},fireListeners:function(){var r=this.listeners,s;if(r){while((s=r.shift())){s(this)}}}};function j(s){if(s.$isEntry){return s}var x=s.charset||d.config.charset,w=Ext.manifest,r=w&&w.loader,t=(s.cache!==undefined)?s.cache:(r&&r.cache),v,u;if(d.config.disableCaching){if(t===undefined){t=!d.config.disableCaching}if(t===false){v=+new Date()}else{if(t!==true){v=t}}if(v){u=(r&&r.cacheParam)||d.config.disableCachingParam;v=u+"="+v}}a(s,{charset:x,buster:v,requests:[]});a(this,s)}j.prototype={$isEntry:true,done:false,evaluated:false,loaded:false,isCrossDomain:function(){var r=this;if(r.crossDomain===undefined){r.crossDomain=(r.getLoadUrl().indexOf(d.origin)!==0)}return r.crossDomain},isCss:function(){var s=this;if(s.css===undefined){if(s.url){var r=d.assetConfig[s.url];s.css=r?r.type==="css":g.test(s.url)}else{s.css=false}}return this.css},getElement:function(r){var t=this,s=t.el;if(!s){if(t.isCss()){r=r||"link";s=o.createElement(r);if(r=="link"){s.rel="stylesheet";t.prop="href"}else{t.prop="textContent"}s.type="text/css"}else{r=r||"script";s=o.createElement(r);s.type="text/javascript";t.prop="src";if(t.charset){s.charset=t.charset}if(d.hasAsync){s.async=false}}t.el=s}return s},getLoadUrl:function(){var s=this,r=d.canonicalUrl(s.url);if(!s.loadUrl){s.loadUrl=!!s.buster?(r+(r.indexOf("?")===-1?"?":"&")+s.buster):r}return s.loadUrl},fetch:function(u){var s=this.getLoadUrl(),t=!!u.async,r=u.complete;d.fetch(s,r,this,t)},onContentLoaded:function(s){var w=this,r=s.status,v=s.content,u=s.exception,t=this.getLoadUrl();w.loaded=true;if((u||r===0)&&!i.phantom){w.error=true;w.evaluated=true}else{if((r>=200&&r<300)||r===304||i.phantom||(r===0&&v.length>0)){w.content=v}else{w.error=true;w.evaluated=true}}},createLoadElement:function(v){var t=this,s=t.getElement(),r=function(){if(this.readyState==="loaded"||this.readyState==="complete"){if(v){v()}}},u=function(){t.error=true;if(v){v()}};t.preserve=true;s.onerror=u;if(d.hasReadyState){s.onreadystatechange=r}else{s.onload=v}s[t.prop]=t.getLoadUrl()},onLoadElementReady:function(){d.getHead().appendChild(this.getElement());this.evaluated=true},inject:function(w,v){var x=this,y=d.getHead(),r=x.url,z=x.key,s,t,u,A;if(x.isCss()){x.preserve=true;A=z.substring(0,z.lastIndexOf("/")+1);s=o.createElement("base");s.href=A;if(y.firstChild){y.insertBefore(s,y.firstChild)}else{y.appendChild(s)}s.href=s.href;if(r){w+="\n/*# sourceURL="+z+" */"}t=x.getElement("style");u=("styleSheet" in t);y.appendChild(s);if(u){y.appendChild(t);t.styleSheet.cssText=w}else{t.textContent=w;y.appendChild(t)}y.removeChild(s)}else{if(r){w+="\n//# sourceURL="+z}Ext.globalEval(w)}return x},loadCrossDomain:function(){var s=this,r=function(){s.loaded=s.evaluated=s.done=true;s.notifyRequests()};s.createLoadElement(function(){r()});s.evaluateLoadElement();return false},loadElement:function(){var s=this,r=function(){s.loaded=s.evaluated=s.done=true;s.notifyRequests()};s.createLoadElement(function(){r()});s.evaluateLoadElement();return true},loadSync:function(){var r=this;r.fetch({async:false,complete:function(s){r.onContentLoaded(s)}});r.evaluate();r.notifyRequests()},load:function(s){var r=this;if(!r.loaded){if(r.loading){return false}r.loading=true;if(!s){if(r.isCrossDomain()){return r.loadCrossDomain()}else{if(!r.isCss()&&d.hasReadyState){r.createLoadElement(function(){r.loaded=true;r.notifyRequests()})}else{if(d.useElements&&!(r.isCss()&&i.phantom)){return r.loadElement()}else{r.fetch({async:!s,complete:function(t){r.onContentLoaded(t);r.notifyRequests()}})}}}}else{r.loadSync()}}return true},evaluateContent:function(){this.inject(this.content);this.content=null},evaluateLoadElement:function(){d.getHead().appendChild(this.getElement())},evaluate:function(){var r=this;if(!r.evaluated){if(r.evaluating){return}r.evaluating=true;if(r.content!==undefined){r.evaluateContent()}else{if(!r.error){r.evaluateLoadElement()}}r.evaluated=r.done=true;r.cleanup()}},cleanup:function(){var t=this,s=t.el,u;if(!s){return}if(!t.preserve){t.el=null;s.parentNode.removeChild(s);for(u in s){try{if(u!==t.prop){s[u]=null}delete s[u]}catch(r){}}}s.onload=s.onerror=s.onreadystatechange=h},notifyRequests:function(){var u=this.requests,r=u.length,s,t;for(s=0;s<r;s++){t=u[s];t.processLoadedEntries()}if(this.done){this.fireListeners()}},onDone:function(t){var s=this,r=s.listeners||(s.listeners=[]);if(s.done){t(s)}else{r.push(t)}},fireListeners:function(){var r=this.listeners,s;if(r&&r.length>0){while((s=r.shift())){s(this)}}}};Ext.disableCacheBuster=function(s,t){var r=new Date();r.setTime(r.getTime()+(s?10*365:-1)*24*60*60*1000);r=r.toGMTString();o.cookie="ext-cache=1; expires="+r+"; path="+(t||"/")};d.init();return d}(function(){}));Ext.globalEval=Ext.globalEval||(this.execScript?function(a){execScript(a)}:function($$code){eval.call(window,$$code)});if(!Function.prototype.bind){(function(){var a=Array.prototype.slice,b=function(d){var c=a.call(arguments,1),e=this;if(c.length){return function(){var g=arguments;return e.apply(d,g.length?c.concat(a.call(g)):c)}}c=null;return function(){return e.apply(d,arguments)}};Function.prototype.bind=b;b.$extjs=true}())}Ext.setResourcePath=function(c,b){var a=Ext.manifest||(Ext.manifest={}),d=a.resources||(a.resources={});if(a){if(typeof c!=="string"){Ext.apply(d,c)}else{d[c]=b}a.resources=d}};Ext.getResourcePath=function(g,e,a){if(typeof g!=="string"){e=g.pool;a=g.packageName;g=g.path}var d=Ext.manifest,h=d&&d.resources,c=h[e],b=[];if(c==null){c=h.path;if(c==null){c="resources"}}if(c){b.push(c)}if(a){b.push(a)}b.push(g);return b.join("/")};var Ext=Ext||{};(function(){var b=this,h=Object.prototype,c=h.toString,o=["valueOf","toLocaleString","toString","constructor"],l=function(){},g=function(){},j=function(i){return i},n=function(){var i=n.caller.caller;return i.$owner.prototype[i.$name].apply(this,arguments)},a=Ext.manifest||{},k,d=/\[object\s*(?:Array|Arguments|\w*Collection|\w*List|HTML\s+document\.all\s+class)\]/,e=/^\\?\/Date\(([-+])?(\d+)(?:[+-]\d{4})?\)\\?\/$/;Ext.global=b;Ext.now=Date.now||(Date.now=function(){return +new Date()});Ext.ticks=(b.performance&&b.performance.now)?function(){return performance.now()}:Ext.now;Ext._startTime=Ext.ticks();l.$nullFn=j.$nullFn=l.$emptyFn=j.$identityFn=g.$nullFn=true;g.$privacy="framework";Ext.suspendLayouts=Ext.resumeLayouts=l;for(k in {toString:1}){o=null}Ext.enumerables=o;Ext.apply=function(s,r,u){if(u){Ext.apply(s,u)}if(s&&r&&typeof r==="object"){var t,q,p;for(t in r){s[t]=r[t]}if(o){for(q=o.length;q--;){p=o[q];if(r.hasOwnProperty(p)){s[p]=r[p]}}}}return s};function m(r,i,s){var p,q;for(p in s){if(s.hasOwnProperty(p)){q=s[p];if(typeof q==="function"){q.$name=p;q.$owner=i;q.$previous=r.hasOwnProperty(p)?r[p]:n}r[p]=q}}}Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-"},Ext.buildSettings||{});Ext.apply(Ext,{idSeed:0,idPrefix:"ext-",isSecure:/^https/i.test(window.location.protocol),enableGarbageCollector:false,enableListenerCollection:true,name:Ext.sandboxName||"Ext",privateFn:g,emptyFn:l,identityFn:j,frameStartTime:Ext.now(),manifest:a,enableAria:true,enableAriaButtons:true,enableAriaPanels:true,startsWithHashRe:/^#/,validIdRe:/^[a-z_][a-z0-9\-_]*$/i,BLANK_IMAGE_URL:"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",makeIdSelector:function(i){return"#"+i},id:function(p,i){if(p&&p.id){return p.id}var q=(i||Ext.idPrefix)+(++Ext.idSeed);if(p){p.id=q}return q},returnId:function(i){return i.getId()},returnTrue:function(){return true},emptyString:new String(),baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,$eventNameMap:{},$vendorEventRe:/^(Moz.+|MS.+|webkit.+)/,canonicalEventName:function(i){return Ext.$eventNameMap[i]||(Ext.$eventNameMap[i]=(Ext.$vendorEventRe.test(i)?i:i.toLowerCase()))},applyIf:function(p,i){var q;if(p){for(q in i){if(p[q]===undefined){p[q]=i[q]}}}return p},destroy:function(){var r=arguments.length,q,p;for(q=0;q<r;q++){p=arguments[q];if(p){if(Ext.isArray(p)){this.destroy.apply(this,p)}else{if(Ext.isFunction(p.destroy)){p.destroy()}}}}return null},destroyMembers:function(s){for(var u,r,t=1,q=arguments,p=q.length;t<p;t++){u=s[r=q[t]];if(u!=null){s[r]=Ext.destroy(u)}}},override:function(q,r){if(q.$isClass){q.override(r)}else{if(typeof q==="function"){Ext.apply(q.prototype,r)}else{var i=q.self,p;if(i&&i.$isClass){p=r.privates;if(p){r=Ext.apply({},r);delete r.privates;m(q,i,p)}m(q,i,r)}else{Ext.apply(q,r)}}}return q},valueFrom:function(q,i,p){return Ext.isEmpty(q,p)?i:q},isEmpty:function(i,p){return(i==null)||(!p?i==="":false)||(Ext.isArray(i)&&i.length===0)},isArray:("isArray" in Array)?Array.isArray:function(i){return c.call(i)==="[object Array]"},isDate:function(i){return c.call(i)==="[object Date]"},isMSDate:function(i){if(!Ext.isString(i)){return false}return e.test(i)},isObject:(c.call(null)==="[object Object]")?function(i){return i!==null&&i!==undefined&&c.call(i)==="[object Object]"&&i.ownerDocument===undefined}:function(i){return c.call(i)==="[object Object]"},isSimpleObject:function(i){return i instanceof Object&&i.constructor===Object},isPrimitive:function(p){var i=typeof p;return i==="string"||i==="number"||i==="boolean"},isFunction:(typeof document!=="undefined"&&typeof document.getElementsByTagName("body")==="function")?function(i){return !!i&&c.call(i)==="[object Function]"}:function(i){return !!i&&typeof i==="function"},isNumber:function(i){return typeof i==="number"&&isFinite(i)},isNumeric:function(i){return !isNaN(parseFloat(i))&&isFinite(i)},isString:function(i){return typeof i==="string"},isBoolean:function(i){return typeof i==="boolean"},isElement:function(i){return i?i.nodeType===1:false},isTextNode:function(i){return i?i.nodeName==="#text":false},isDefined:function(i){return typeof i!=="undefined"},isIterable:function(i){if(!i||typeof i.length!=="number"||typeof i==="string"||Ext.isFunction(i)){return false}if(!i.propertyIsEnumerable){return !!i.item}if(i.hasOwnProperty("length")&&!i.propertyIsEnumerable("length")){return true}return d.test(c.call(i))},isDebugEnabled:l,clone:function(u){if(u===null||u===undefined){return u}if(u.nodeType&&u.cloneNode){return u.cloneNode(true)}var t=c.call(u),s,q,p,v,r;if(t==="[object Date]"){return new Date(u.getTime())}if(t==="[object Array]"){s=u.length;v=[];while(s--){v[s]=Ext.clone(u[s])}}else{if(t==="[object Object]"&&u.constructor===Object){v={};for(r in u){v[r]=Ext.clone(u[r])}if(o){for(q=o.length;q--;){p=o[q];if(u.hasOwnProperty(p)){v[p]=u[p]}}}}}return v||u},getUniqueGlobalNamespace:function(){var q=this.uniqueGlobalNamespace,p;if(q===undefined){p=0;do{q="ExtBox"+(++p)}while(b[q]!==undefined);b[q]=Ext;this.uniqueGlobalNamespace=q}return q},functionFactoryCache:{},cacheableFunctionFactory:function(){var t=this,q=Array.prototype.slice.call(arguments),p=t.functionFactoryCache,i,r,s;if(Ext.isSandboxed){s=q.length;if(s>0){s--;q[s]="var Ext=window."+Ext.name+";"+q[s]}}i=q.join("");r=p[i];if(!r){r=Function.prototype.constructor.apply(Function.prototype,q);p[i]=r}return r},functionFactory:function(){var i=Array.prototype.slice.call(arguments),p;if(Ext.isSandboxed){p=i.length;if(p>0){p--;i[p]="var Ext=window."+Ext.name+";"+i[p]}}return Function.prototype.constructor.apply(Function.prototype,i)},Logger:{verbose:l,log:l,info:l,warn:l,error:function(i){throw new Error(i)},deprecate:l},getElementById:function(i){return document.getElementById(i)},splitAndUnescape:(function(){var i={};return function(r,q){if(!r){return[]}else{if(!q){return[r]}}var t=i[q]||(i[q]=new RegExp("\\\\"+q,"g")),p=[],u,s;u=r.split(q);while((s=u.shift())!==undefined){while(s.charAt(s.length-1)==="\\"&&u.length>0){s=s+q+u.shift()}s=s.replace(t,q);p.push(s)}return p}})()});Ext.returnTrue.$nullFn=Ext.returnId.$nullFn=true}());Ext.platformTags.classic=!(Ext.platformTags.modern=Ext.isModern=true);(function(){function a(){var c=this,b=c.sourceClass,e=c.sourceMethod,d=c.msg;if(e){if(d){e+="(): ";e+=d}else{e+="()"}}if(b){e=e?(b+"."+e):b}return e||d||""}Ext.Error=function(c){if(Ext.isString(c)){c={msg:c}}var b=new Error();Ext.apply(b,c);b.message=b.message||b.msg;b.toString=a;return b};Ext.apply(Ext.Error,{ignore:false,raise:function(d){d=d||{};if(Ext.isString(d)){d={msg:d}}var c=this,g=c.raise.caller,e,b;if(g===Ext.raise){g=g.caller}if(g){if(!d.sourceMethod&&(b=g.$name)){d.sourceMethod=b}if(!d.sourceClass&&(b=g.$owner)&&(b=b.$className)){d.sourceClass=b}}if(c.handle(d)!==true){e=a.call(d);throw new Ext.Error(d)}},handle:function(){return this.ignore}})})();Ext.deprecated=function(a){return Ext.emptyFn};Ext.raise=function(){Ext.Error.raise.apply(Ext.Error,arguments)};Ext.Array=(function(){var c=Array.prototype,l=c.slice,n=(function(){var v=[],e,u=20;if(!v.splice){return false}while(u--){v.push("A")}v.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F");e=v.length;v.splice(13,0,"XXX");if(e+1!==v.length){return false}return true}()),m="indexOf" in c,h=true;function k(x,u){var e=x.length,w=new Array(e),v;for(v=0;v<e;v++){w[v]=v}w.sort(function(z,y){return u(x[z],x[y])||(z-y)});for(v=0;v<e;v++){w[v]=x[w[v]]}for(v=0;v<e;v++){x[v]=w[v]}return x}try{if(typeof document!=="undefined"){l.call(document.getElementsByTagName("body"))}}catch(p){h=false}var j=function(u,e){return(e<0)?Math.max(0,u.length+e):Math.min(u.length,e)},t=function(B,A,u,E){var F=E?E.length:0,w=B.length,C=j(B,A);if(C===w){if(F){B.push.apply(B,E)}}else{var z=Math.min(u,w-C),D=C+z,v=D+F-z,e=w-D,x=w-z,y;if(v<D){for(y=0;y<e;++y){B[v+y]=B[D+y]}}else{if(v>D){for(y=e;y--;){B[v+y]=B[D+y]}}}if(F&&C===x){B.length=x;B.push.apply(B,E)}else{B.length=x+F;for(y=0;y<F;++y){B[C+y]=E[y]}}}return B},g=function(w,e,v,u){if(u&&u.length){if(e===0&&!v){w.unshift.apply(w,u)}else{if(e<w.length){w.splice.apply(w,[e,v].concat(u))}else{w.push.apply(w,u)}}}else{w.splice(e,v)}return w},b=function(v,e,u){return t(v,e,u)},o=function(v,e,u){v.splice(e,u);return v},i=function(x,e,v){var w=j(x,e),u=x.slice(e,j(x,w+v));if(arguments.length<4){t(x,w,v)}else{t(x,w,v,l.call(arguments,3))}return u},d=function(e){return e.splice.apply(e,l.call(arguments,1))},s=n?o:b,q=n?g:t,r=n?d:i,a={binarySearch:function(A,x,v,e,z){var w=A.length,u,y;if(v instanceof Function){z=v;v=0;e=w}else{if(e instanceof Function){z=e;e=w}else{if(v===undefined){v=0}if(e===undefined){e=w}z=z||a.lexicalCompare}}--e;while(v<=e){u=(v+e)>>1;y=z(x,A[u]);if(y>=0){v=u+1}else{if(y<0){e=u-1}}}return v},defaultCompare:function(e,u){return(e<u)?-1:((e>u)?1:0)},lexicalCompare:function(e,u){e=String(e);u=String(u);return(e<u)?-1:((e>u)?1:0)},each:function(y,w,v,e){y=a.from(y);var u,x=y.length;if(e!==true){for(u=0;u<x;u++){if(w.call(v||y[u],y[u],u,y)===false){return u}}}else{for(u=x-1;u>-1;u--){if(w.call(v||y[u],y[u],u,y)===false){return u}}}return true},forEach:("forEach" in c)?function(v,u,e){return v.forEach(u,e)}:function(x,v,u){for(var e=0,w=x.length;e<w;e++){v.call(u,x[e],e,x)}},indexOf:m?function(v,e,u){return c.indexOf.call(v,e,u)}:function(x,v,w){var e,u=x.length;for(e=(w<0)?Math.max(0,u+w):w||0;e<u;e++){if(x[e]===v){return e}}return -1},contains:m?function(u,e){return c.indexOf.call(u,e)!==-1}:function(w,v){var e,u;for(e=0,u=w.length;e<u;e++){if(w[e]===v){return true}}return false},toArray:function(v,x,e){if(!v||!v.length){return[]}if(typeof v==="string"){v=v.split("")}if(h){return l.call(v,x||0,e||v.length)}var w=[],u;x=x||0;e=e?((e<0)?v.length+e:e):v.length;for(u=x;u<e;u++){w.push(v[u])}return w},pluck:function(y,e){var u=[],v,x,w;for(v=0,x=y.length;v<x;v++){w=y[v];u.push(w[e])}return u},map:("map" in c)?function(v,u,e){return v.map(u,e)}:function(y,x,w){var v=[],e=y.length,u;for(u=0;u<e;u++){v[u]=x.call(w,y[u],u,y)}return v},every:("every" in c)?function(v,u,e){return v.every(u,e)}:function(x,v,u){var e=0,w=x.length;for(;e<w;++e){if(!v.call(u,x[e],e,x)){return false}}return true},some:("some" in c)?function(v,u,e){return v.some(u,e)}:function(x,v,u){var e=0,w=x.length;for(;e<w;++e){if(v.call(u,x[e],e,x)){return true}}return false},equals:function(x,w){var u=x.length,e=w.length,v;if(x===w){return true}if(u!==e){return false}for(v=0;v<u;++v){if(x[v]!==w[v]){return false}}return true},clean:function(x){var u=[],e=0,w=x.length,v;for(;e<w;e++){v=x[e];if(!Ext.isEmpty(v)){u.push(v)}}return u},unique:function(x){var w=[],e=0,v=x.length,u;for(;e<v;e++){u=x[e];if(a.indexOf(w,u)===-1){w.push(u)}}return w},filter:("filter" in c)?function(v,u,e){return v.filter(u,e)}:function(y,w,v){var u=[],e=0,x=y.length;for(;e<x;e++){if(w.call(v,y[e],e,y)){u.push(y[e])}}return u},findBy:function(x,w,v){var u=0,e=x.length;for(;u<e;u++){if(w.call(v||x,x[u],u)){return x[u]}}return null},from:function(v,u){if(v===undefined||v===null){return[]}if(Ext.isArray(v)){return(u)?l.call(v):v}var e=typeof v;if(v&&v.length!==undefined&&e!=="string"&&(e!=="function"||!v.apply)){return a.toArray(v)}return[v]},remove:function(v,u){var e=a.indexOf(v,u);if(e!==-1){s(v,e,1)}return v},removeAt:function(w,u,v){var e=w.length;if(u>=0&&u<e){v=v||1;v=Math.min(v,e-u);s(w,u,v)}return w},include:function(u,e){if(!a.contains(u,e)){u.push(e)}},clone:function(e){return l.call(e)},merge:function(){var e=l.call(arguments),w=[],u,v;for(u=0,v=e.length;u<v;u++){w=w.concat(e[u])}return a.unique(w)},intersect:function(){var e=[],v=l.call(arguments),G,E,A,D,H,w,u,C,F,x,B,z,y;if(!v.length){return e}G=v.length;for(B=H=0;B<G;B++){w=v[B];if(!D||w.length<D.length){D=w;H=B}}D=a.unique(D);s(v,H,1);u=D.length;G=v.length;for(B=0;B<u;B++){C=D[B];x=0;for(z=0;z<G;z++){E=v[z];A=E.length;for(y=0;y<A;y++){F=E[y];if(C===F){x++;break}}}if(x===G){e.push(C)}}return e},difference:function(u,e){var z=l.call(u),x=z.length,w,v,y;for(w=0,y=e.length;w<y;w++){for(v=0;v<x;v++){if(z[v]===e[w]){s(z,v,1);v--;x--}}}return z},reduce:Array.prototype.reduce?function(v,u,e){if(arguments.length===3){return Array.prototype.reduce.call(v,u,e)}return Array.prototype.reduce.call(v,u)}:function(y,x,e){y=Object(y);var v=0,w=y.length>>>0,u=e;if(arguments.length<3){while(true){if(v in y){u=y[v++];break}if(++v>=w){throw new TypeError("Reduce of empty array with no initial value")}}}for(;v<w;++v){if(v in y){u=x(u,y[v],v,y)}}return u},slice:([1,2].slice(1,undefined).length?function(v,u,e){return l.call(v,u,e)}:function(v,u,e){if(typeof u==="undefined"){return l.call(v)}if(typeof e==="undefined"){return l.call(v,u)}return l.call(v,u,e)}),sort:function(u,e){return k(u,e||a.lexicalCompare)},flatten:function(v){var u=[];function e(w){var y,z,x;for(y=0,z=w.length;y<z;y++){x=w[y];if(Ext.isArray(x)){e(x)}else{u.push(x)}}return u}return e(v)},min:function(y,x){var u=y[0],e,w,v;for(e=0,w=y.length;e<w;e++){v=y[e];if(x){if(x(u,v)===1){u=v}}else{if(v<u){u=v}}}return u},max:function(y,x){var e=y[0],u,w,v;for(u=0,w=y.length;u<w;u++){v=y[u];if(x){if(x(e,v)===-1){e=v}}else{if(v>e){e=v}}}return e},mean:function(e){return e.length>0?a.sum(e)/e.length:undefined},sum:function(x){var u=0,e,w,v;for(e=0,w=x.length;e<w;e++){v=x[e];u+=v}return u},toMap:function(x,e,v){var w={},u=x.length;if(!e){while(u--){w[x[u]]=u+1}}else{if(typeof e==="string"){while(u--){w[x[u][e]]=u+1}}else{while(u--){w[e.call(v,x[u])]=u+1}}}return w},toValueMap:function(z,w,E,y){var e={},v=z.length,u,x,C,A,D,B;if(!w){while(v--){B=z[v];e[B]=B}}else{if(!(A=(typeof w!=="string"))){y=E}x=y===1;u=y===2;while(v--){B=z[v];D=A?w.call(E,B):B[w];if(x){if(D in e){e[D].push(B)}else{e[D]=[B]}}else{if(u&&(D in e)){if((C=e[D]) instanceof Array){C.push(B)}else{e[D]=[C,B]}}else{e[D]=B}}}}return e},erase:s,insert:function(v,u,e){return q(v,u,0,e)},move:function(y,u,w){if(w===u){return}var v=y[u],x=w>u?1:-1,e;for(e=u;e!=w;e+=x){y[e]=y[e+x]}y[w]=v},replace:q,splice:r,push:function(w){var e=arguments.length,v=1,u;if(w===undefined){w=[]}else{if(!Ext.isArray(w)){w=[w]}}for(;v<e;v++){u=arguments[v];Array.prototype.push[Ext.isIterable(u)?"apply":"call"](w,u)}return w},numericSortFn:function(u,e){return u-e}};Ext.each=a.each;a.union=a.merge;Ext.min=a.min;Ext.max=a.max;Ext.sum=a.sum;Ext.mean=a.mean;Ext.flatten=a.flatten;Ext.clean=a.clean;Ext.unique=a.unique;Ext.pluck=a.pluck;Ext.toArray=function(){return a.toArray.apply(a,arguments)};return a}());Ext.String=(function(){var i=/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,m=/('|\\)/g,b=/([-.*+?\^${}()|\[\]\/\\])/g,o=/^\s+|\s+$/g,j=/\s+/,l=/(^[^a-z]*|[^\w])/gi,e,a,h,d,g=function(q,p){return e[p]},k=function(q,p){return(p in a)?a[p]:String.fromCharCode(parseInt(p.substr(2),10))},c=function(q,p){if(q===null||q===undefined||p===null||p===undefined){return false}return p.length<=q.length},n;return n={insert:function(r,t,q){if(!r){return t}if(!t){return r}var p=r.length;if(!q&&q!==0){q=p}if(q<0){q*=-1;if(q>=p){q=0}else{q=p-q}}if(q===0){r=t+r}else{if(q>=r.length){r+=t}else{r=r.substr(0,q)+t+r.substr(q)}}return r},startsWith:function(r,t,q){var p=c(r,t);if(p){if(q){r=r.toLowerCase();t=t.toLowerCase()}p=r.lastIndexOf(t,0)===0}return p},endsWith:function(t,q,r){var p=c(t,q);if(p){if(r){t=t.toLowerCase();q=q.toLowerCase()}p=t.indexOf(q,t.length-q.length)!==-1}return p},createVarName:function(p){return p.replace(l,"")},htmlEncode:function(p){return(!p)?p:String(p).replace(h,g)},htmlDecode:function(p){return(!p)?p:String(p).replace(d,k)},hasHtmlCharacters:function(p){return h.test(p)},addCharacterEntities:function(q){var p=[],t=[],r,s;for(r in q){s=q[r];a[r]=s;e[s]=r;p.push(s);t.push(r)}h=new RegExp("("+p.join("|")+")","g");d=new RegExp("("+t.join("|")+"|&#[0-9]{1,5};)","g")},resetCharacterEntities:function(){e={};a={};this.addCharacterEntities({"&amp;":"&","&gt;":">","&lt;":"<","&quot;":'"',"&#39;":"'"})},urlAppend:function(q,p){if(!Ext.isEmpty(p)){return q+(q.indexOf("?")===-1?"?":"&")+p}return q},trim:function(p){if(p){p=p.replace(i,"")}return p||""},capitalize:function(p){if(p){p=p.charAt(0).toUpperCase()+p.substr(1)}return p||""},uncapitalize:function(p){if(p){p=p.charAt(0).toLowerCase()+p.substr(1)}return p||""},ellipsis:function(r,q,s){if(r&&r.length>q){if(s){var t=r.substr(0,q-2),p=Math.max(t.lastIndexOf(" "),t.lastIndexOf("."),t.lastIndexOf("!"),t.lastIndexOf("?"));if(p!==-1&&p>=(q-15)){return t.substr(0,p)+"..."}}return r.substr(0,q-3)+"..."}return r},escapeRegex:function(p){return p.replace(b,"\\$1")},createRegex:function(t,s,q,p){var r=t;if(t!=null&&!t.exec){r=n.escapeRegex(String(t));if(s!==false){r="^"+r}if(q!==false){r+="$"}r=new RegExp(r,(p!==false)?"i":"")}return r},escape:function(p){return p.replace(m,"\\$1")},toggle:function(q,r,p){return q===r?p:r},leftPad:function(q,r,s){var p=String(q);s=s||" ";while(p.length<r){p=s+p}return p},repeat:function(t,s,q){if(s<1){s=0}for(var p=[],r=s;r--;){p.push(t)}return p.join(q||"")},splitWords:function(p){if(p&&typeof p=="string"){return p.replace(o,"").split(j)}return p||[]}}}());Ext.String.resetCharacterEntities();Ext.htmlEncode=Ext.String.htmlEncode;Ext.htmlDecode=Ext.String.htmlDecode;Ext.urlAppend=Ext.String.urlAppend;Ext.Date=(function(){var g,e=Date,l=/(\\.)/g,a=/([gGhHisucUOPZ]|MS)/,h=/([djzmnYycU]|MS)/,k=/\\/gi,c=/\{(\d+)\}/g,i=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/"),d=Ext.String.leftPad,b=["var me = this, dt, y, m, d, h, i, s, ms, o, O, z, zz, u, v, W, year, jan4, week1monday, daysInMonth, dayMatched,","def = me.defaults,","from = Ext.Number.from,","results = String(input).match(me.parseRegexes[{0}]);","if(results){","{1}","if(u != null){","v = new Date(u * 1000);","}else{","dt = me.clearTime(new Date);","y = from(y, from(def.y, dt.getFullYear()));","m = from(m, from(def.m - 1, dt.getMonth()));","dayMatched = d !== undefined;","d = from(d, from(def.d, dt.getDate()));","if (!dayMatched) {","dt.setDate(1);","dt.setMonth(m);","dt.setFullYear(y);","daysInMonth = me.getDaysInMonth(dt);","if (d > daysInMonth) {","d = daysInMonth;","}","}","h = from(h, from(def.h, dt.getHours()));","i = from(i, from(def.i, dt.getMinutes()));","s = from(s, from(def.s, dt.getSeconds()));","ms = from(ms, from(def.ms, dt.getMilliseconds()));","if(z >= 0 && y >= 0){","v = me.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (me.isLeapYear(v) && z <= 365))? me.add(v, me.DAY, z) : null);","}else if(strict === true && !me.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","if (W) {","year = y || (new Date()).getFullYear();","jan4 = new Date(year, 0, 4, 0, 0, 0);","d = jan4.getDay();","week1monday = new Date(jan4.getTime() - ((d === 0 ? 6 : d - 1) * 86400000));","v = Ext.Date.clearTime(new Date(week1monday.getTime() + ((W - 1) * 604800000 + 43200000)));","} else {","v = me.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);","}","}","}","}","if(v){","if(zz != null){","v = me.add(v, me.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = me.add(v, me.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return (v != null) ? v : null;"].join("\n");if(!Date.prototype.toISOString){Date.prototype.toISOString=function(){var m=this;return d(m.getUTCFullYear(),4,"0")+"-"+d(m.getUTCMonth()+1,2,"0")+"-"+d(m.getUTCDate(),2,"0")+"T"+d(m.getUTCHours(),2,"0")+":"+d(m.getUTCMinutes(),2,"0")+":"+d(m.getUTCSeconds(),2,"0")+"."+d(m.getUTCMilliseconds(),3,"0")+"Z"}}function j(n){var m=Array.prototype.slice.call(arguments,1);return n.replace(c,function(o,p){return m[p]})}return g={now:e.now,toString:function(m){if(!m){m=new e()}return m.getFullYear()+"-"+d(m.getMonth()+1,2,"0")+"-"+d(m.getDate(),2,"0")+"T"+d(m.getHours(),2,"0")+":"+d(m.getMinutes(),2,"0")+":"+d(m.getSeconds(),2,"0")},getElapsed:function(n,m){return Math.abs(n-(m||g.now()))},useStrict:false,formatCodeToRegex:function(n,m){var o=g.parseCodes[n];if(o){o=typeof o==="function"?o():o;g.parseCodes[n]=o}return o?Ext.applyIf({c:o.c?j(o.c,m||"{0}"):o.c},o):{g:0,c:null,s:Ext.String.escapeRegex(n)}},parseFunctions:{MS:function(n,m){var o=(n||"").match(i);return o?new e(((o[1]||"")+o[2])*1):null},time:function(n,m){var o=parseInt(n,10);if(o||o===0){return new e(o)}return null},timestamp:function(n,m){var o=parseInt(n,10);if(o||o===0){return new e(o*1000)}return null}},parseRegexes:[],formatFunctions:{MS:function(){return"\\/Date("+this.getTime()+")\\/"},time:function(){return this.getTime().toString()},timestamp:function(){return g.format(this,"U")}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{January:0,Jan:0,February:1,Feb:1,March:2,Mar:2,April:3,Apr:3,May:4,June:5,Jun:5,July:6,Jul:6,August:7,Aug:7,September:8,Sep:8,October:9,Oct:9,November:10,Nov:10,December:11,Dec:11},defaultFormat:"m/d/Y",getShortMonthName:function(m){return g.monthNames[m].substring(0,3)},getShortDayName:function(m){return g.dayNames[m].substring(0,3)},getMonthNumber:function(m){return g.monthNumbers[m.substring(0,1).toUpperCase()+m.substring(1,3).toLowerCase()]},formatContainsHourInfo:function(m){return a.test(m.replace(l,""))},formatContainsDateInfo:function(m){return h.test(m.replace(l,""))},unescapeFormat:function(m){return m.replace(k,"")},formatCodes:{d:"Ext.String.leftPad(m.getDate(), 2, '0')",D:"Ext.Date.getShortDayName(m.getDay())",j:"m.getDate()",l:"Ext.Date.dayNames[m.getDay()]",N:"(m.getDay() ? m.getDay() : 7)",S:"Ext.Date.getSuffix(m)",w:"m.getDay()",z:"Ext.Date.getDayOfYear(m)",W:"Ext.String.leftPad(Ext.Date.getWeekOfYear(m), 2, '0')",F:"Ext.Date.monthNames[m.getMonth()]",m:"Ext.String.leftPad(m.getMonth() + 1, 2, '0')",M:"Ext.Date.getShortMonthName(m.getMonth())",n:"(m.getMonth() + 1)",t:"Ext.Date.getDaysInMonth(m)",L:"(Ext.Date.isLeapYear(m) ? 1 : 0)",o:"(m.getFullYear() + (Ext.Date.getWeekOfYear(m) == 1 && m.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(m) >= 52 && m.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(m.getFullYear(), 4, '0')",y:"('' + m.getFullYear()).substring(2, 4)",a:"(m.getHours() < 12 ? 'am' : 'pm')",A:"(m.getHours() < 12 ? 'AM' : 'PM')",g:"((m.getHours() % 12) ? m.getHours() % 12 : 12)",G:"m.getHours()",h:"Ext.String.leftPad((m.getHours() % 12) ? m.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(m.getHours(), 2, '0')",i:"Ext.String.leftPad(m.getMinutes(), 2, '0')",s:"Ext.String.leftPad(m.getSeconds(), 2, '0')",u:"Ext.String.leftPad(m.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(m)",P:"Ext.Date.getGMTOffset(m, true)",T:"Ext.Date.getTimezone(m)",Z:"(m.getTimezoneOffset() * -60)",c:function(){var q="Y-m-dTH:i:sP",o=[],n,m=q.length,p;for(n=0;n<m;++n){p=q.charAt(n);o.push(p==="T"?"'T'":g.getFormatCode(p))}return o.join(" + ")},C:function(){return"m.toISOString()"},U:"Math.round(m.getTime() / 1000)"},isValid:function(v,n,u,r,p,q,o){r=r||0;p=p||0;q=q||0;o=o||0;var t=g.add(new e(v<100?100:v,n-1,u,r,p,q,o),g.YEAR,v<100?v-100:0);return v===t.getFullYear()&&n===t.getMonth()+1&&u===t.getDate()&&r===t.getHours()&&p===t.getMinutes()&&q===t.getSeconds()&&o===t.getMilliseconds()},parse:function(n,q,m){var o=g.parseFunctions;if(o[q]==null){g.createParser(q)}return o[q].call(g,n,Ext.isDefined(m)?m:g.useStrict)},parseDate:function(n,o,m){return g.parse(n,o,m)},getFormatCode:function(n){var m=g.formatCodes[n];if(m){m=typeof m==="function"?m():m;g.formatCodes[n]=m}return m||("'"+Ext.String.escape(n)+"'")},createFormat:function(q){var p=[],m=false,o="",n;for(n=0;n<q.length;++n){o=q.charAt(n);if(!m&&o==="\\"){m=true}else{if(m){m=false;p.push("'"+Ext.String.escape(o)+"'")}else{if(o==="\n"){p.push("'\\n'")}else{p.push(g.getFormatCode(o))}}}}g.formatFunctions[q]=Ext.functionFactory("var m=this;return "+p.join("+"))},createParser:function(v){var n=g.parseRegexes.length,w=1,o=[],u=[],s=false,m="",q=0,r=v.length,t=[],p;for(;q<r;++q){m=v.charAt(q);if(!s&&m==="\\"){s=true}else{if(s){s=false;u.push(Ext.String.escape(m))}else{p=g.formatCodeToRegex(m,w);w+=p.g;u.push(p.s);if(p.g&&p.c){if(p.calcAtEnd){t.push(p.c)}else{o.push(p.c)}}}}}o=o.concat(t);g.parseRegexes[n]=new RegExp("^"+u.join("")+"$","i");g.parseFunctions[v]=Ext.functionFactory("input","strict",j(b,n,o.join("")))},parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(3[0-1]|[1-2][0-9]|0[1-9])"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(3[0-1]|[1-2][0-9]|[1-9])"},D:function(){for(var m=[],n=0;n<7;m.push(g.getShortDayName(n)),++n){}return{g:0,c:null,s:"(?:"+m.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+g.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:1,c:"z = parseInt(results[{0}], 10);\n",s:"(\\d{1,3})"},W:{g:1,c:"W = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},F:function(){return{g:1,c:"m = parseInt(me.getMonthNumber(results[{0}]), 10);\n",s:"("+g.monthNames.join("|")+")"}},M:function(){for(var m=[],n=0;n<12;m.push(g.getShortMonthName(n)),++n){}return Ext.applyIf({s:"("+m.join("|")+")"},g.formatCodeToRegex("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(1[0-2]|0[1-9])"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(1[0-2]|[1-9])"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},Y:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},y:{g:1,c:"var ty = parseInt(results[{0}], 10);\ny = ty > me.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)",calcAtEnd:true},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)",calcAtEnd:true},g:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|[0-9])"},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|1[0-9]|[0-9])"},h:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|0[1-9])"},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|[0-1][0-9])"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,5}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var o=[],m=[g.formatCodeToRegex("Y",1),g.formatCodeToRegex("m",2),g.formatCodeToRegex("d",3),g.formatCodeToRegex("H",4),g.formatCodeToRegex("i",5),g.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",g.formatCodeToRegex("P",8).c,"}else{",g.formatCodeToRegex("O",8).c,"}","}"].join("\n")}],p,n;for(p=0,n=m.length;p<n;++p){o.push(m[p].c)}return{g:1,c:o.join(""),s:[m[0].s,"(?:","-",m[1].s,"(?:","-",m[2].s,"(?:","(?:T| )?",m[3].s,":",m[4].s,"(?::",m[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}},dateFormat:function(m,n){return g.format(m,n)},isEqual:function(n,m){if(n&&m){return(n.getTime()===m.getTime())}return !(n||m)},format:function(n,o){var m=g.formatFunctions;if(!Ext.isDate(n)){return""}if(m[o]==null){g.createFormat(o)}return m[o].call(n)+""},getTimezone:function(m){return m.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,5})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(m,n){var o=m.getTimezoneOffset();return(o>0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(o)/60),2,"0")+(n?":":"")+Ext.String.leftPad(Math.abs(o%60),2,"0")},getDayOfYear:function(p){var o=0,r=g.clone(p),n=p.getMonth(),q;for(q=0,r.setDate(1),r.setMonth(0);q<n;r.setMonth(++q)){o+=g.getDaysInMonth(r)}return o+p.getDate()-1},getWeekOfYear:(function(){var m=86400000,n=7*m;return function(p){var q=e.UTC(p.getFullYear(),p.getMonth(),p.getDate()+3)/m,o=Math.floor(q/7),r=new e(o*n).getUTCFullYear();return o-Math.floor(e.UTC(r,0,7)/n)+1}}()),isLeapYear:function(m){var n=m.getFullYear();return !!((n&3)===0&&(n%100||(n%400===0&&n)))},getFirstDayOfMonth:function(n){var m=(n.getDay()-(n.getDate()-1))%7;return(m<0)?(m+7):m},getLastDayOfMonth:function(m){return g.getLastDateOfMonth(m).getDay()},getFirstDateOfMonth:function(m){return new e(m.getFullYear(),m.getMonth(),1)},getLastDateOfMonth:function(m){return new e(m.getFullYear(),m.getMonth(),g.getDaysInMonth(m))},getDaysInMonth:(function(){var m=[31,28,31,30,31,30,31,31,30,31,30,31];return function(o){var n=o.getMonth();return n===1&&g.isLeapYear(o)?29:m[n]}}()),getSuffix:function(m){switch(m.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},clone:function(m){return new e(m.getTime())},isDST:function(m){return new e(m.getFullYear(),0,1).getTimezoneOffset()!==m.getTimezoneOffset()},clearTime:function(m,q){if(isNaN(m.getTime())){return m}if(q){return g.clearTime(g.clone(m))}var o=m.getDate(),n,p;m.setHours(0);m.setMinutes(0);m.setSeconds(0);m.setMilliseconds(0);if(m.getDate()!==o){for(n=1,p=g.add(m,g.HOUR,n);p.getDate()!==o;n++,p=g.add(m,g.HOUR,n)){}m.setDate(o);m.setHours(p.getHours())}return m},add:function(o,n,r){var s=g.clone(o),m,q,p=0;if(!n||r===0){return s}q=r-parseInt(r,10);r=parseInt(r,10);if(r){switch(n.toLowerCase()){case g.MILLI:s.setTime(s.getTime()+r);break;case g.SECOND:s.setTime(s.getTime()+r*1000);break;case g.MINUTE:s.setTime(s.getTime()+r*60*1000);break;case g.HOUR:s.setTime(s.getTime()+r*60*60*1000);break;case g.DAY:s.setDate(s.getDate()+r);break;case g.MONTH:m=o.getDate();if(m>28){m=Math.min(m,g.getLastDateOfMonth(g.add(g.getFirstDateOfMonth(o),g.MONTH,r)).getDate())}s.setDate(m);s.setMonth(o.getMonth()+r);break;case g.YEAR:m=o.getDate();if(m>28){m=Math.min(m,g.getLastDateOfMonth(g.add(g.getFirstDateOfMonth(o),g.YEAR,r)).getDate())}s.setDate(m);s.setFullYear(o.getFullYear()+r);break}}if(q){switch(n.toLowerCase()){case g.MILLI:p=1;break;case g.SECOND:p=1000;break;case g.MINUTE:p=1000*60;break;case g.HOUR:p=1000*60*60;break;case g.DAY:p=1000*60*60*24;break;case g.MONTH:m=g.getDaysInMonth(s);p=1000*60*60*24*m;break;case g.YEAR:m=(g.isLeapYear(s)?366:365);p=1000*60*60*24*m;break}if(p){s.setTime(s.getTime()+p*q)}}return s},subtract:function(n,m,o){return g.add(n,m,-o)},between:function(n,p,m){var o=n.getTime();return p.getTime()<=o&&o<=m.getTime()},compat:function(){var u,v=["useStrict","formatCodeToRegex","parseFunctions","parseRegexes","formatFunctions","y2kYear","MILLI","SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","defaults","dayNames","monthNames","monthNumbers","getShortMonthName","getShortDayName","getMonthNumber","formatCodes","isValid","parseDate","getFormatCode","createFormat","createParser","parseCodes"],t=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"],n=v.length,m=t.length,q,r,o;for(o=0;o<n;o++){q=v[o];e[q]=g[q]}for(u=0;u<m;u++){r=t[u];e.prototype[r]=function(){var p=Array.prototype.slice.call(arguments);p.unshift(this);return g[r].apply(g,p)}}},diff:function(n,m,p){var o,q=+m-n;switch(p){case g.MILLI:return q;case g.SECOND:return Math.floor(q/1000);case g.MINUTE:return Math.floor(q/60000);case g.HOUR:return Math.floor(q/3600000);case g.DAY:return Math.floor(q/86400000);case"w":return Math.floor(q/604800000);case g.MONTH:o=(m.getFullYear()*12+m.getMonth())-(n.getFullYear()*12+n.getMonth());if(g.add(n,p,o)>m){return o-1}return o;case g.YEAR:o=m.getFullYear()-n.getFullYear();if(g.add(n,p,o)>m){return o-1}else{return o}}},align:function(n,p,o){var m=new e(+n);switch(p.toLowerCase()){case g.MILLI:return m;case g.SECOND:m.setUTCSeconds(m.getUTCSeconds()-m.getUTCSeconds()%o);m.setUTCMilliseconds(0);return m;case g.MINUTE:m.setUTCMinutes(m.getUTCMinutes()-m.getUTCMinutes()%o);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return m;case g.HOUR:m.setUTCHours(m.getUTCHours()-m.getUTCHours()%o);m.setUTCMinutes(0);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return m;case g.DAY:if(o===7||o===14){m.setUTCDate(m.getUTCDate()-m.getUTCDay()+1)}m.setUTCHours(0);m.setUTCMinutes(0);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return m;case g.MONTH:m.setUTCMonth(m.getUTCMonth()-(m.getUTCMonth()-1)%o,1);m.setUTCHours(0);m.setUTCMinutes(0);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return m;case g.YEAR:m.setUTCFullYear(m.getUTCFullYear()-m.getUTCFullYear()%o,1,1);m.setUTCHours(0);m.setUTCMinutes(0);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return n}}}}());Ext.Function=(function(){var b=0,m,e=[],n=[],i=0,j={},h=window,d=Ext.global,g=!!(d.setImmediate&&d.clearImmediate),l=h.requestAnimationFrame||h.webkitRequestAnimationFrame||h.mozRequestAnimationFrame||h.oRequestAnimationFrame||function(r){var o=Ext.now(),p=Math.max(0,16-(o-b)),q=h.setTimeout(function(){r(o+p)},p);b=o+p;return q},c=function(){var o=e.length,r,p,q;m=null;for(p=0;p<o;p++){q=e[p];r=q[3];if(j[r]){q[0].apply(q[1]||d,q[2]||n);delete j[r]}}e=e.slice(o)},a=function(){Ext.elevateFunction(c)},k={flexSetter:function(o){return function(q,s){var p,r;if(q!==null){if(typeof q!=="string"){for(p in q){if(q.hasOwnProperty(p)){o.call(this,p,q[p])}}if(Ext.enumerables){for(r=Ext.enumerables.length;r--;){p=Ext.enumerables[r];if(q.hasOwnProperty(p)){o.call(this,p,q[p])}}}}else{o.call(this,q,s)}}return this}},bind:function(r,q,p,o){if(arguments.length===2){return function(){return r.apply(q,arguments)}}var t=r,s=Array.prototype.slice;return function(){var u=p||arguments;if(o===true){u=s.call(arguments,0);u=u.concat(p)}else{if(typeof o==="number"){u=s.call(arguments,0);Ext.Array.insert(u,o,p)}}return t.apply(q||d,u)}},bindCallback:function(s,r,q,p,o){return function(){var t=Ext.Array.slice(arguments);return Ext.callback(s,r,q?q.concat(t):t,p,o)}},pass:function(q,o,p){if(!Ext.isArray(o)){if(Ext.isIterable(o)){o=Ext.Array.clone(o)}else{o=o!==undefined?[o]:[]}}return function(){var r=o.slice();r.push.apply(r,arguments);return q.apply(p||this,r)}},alias:function(p,o){return function(){return p[o].apply(p,arguments)}},clone:function(o){return function(){return o.apply(this,arguments)}},createInterceptor:function(r,q,p,o){if(!Ext.isFunction(q)){return r}else{o=Ext.isDefined(o)?o:null;return function(){var t=this,s=arguments;return(q.apply(p||t||d,s)!==false)?r.apply(t||d,s):o}}},createDelayed:function(s,q,r,p,o){if(r||p){s=Ext.Function.bind(s,r,p,o)}return function(){var u=this,t=Array.prototype.slice.call(arguments);setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(s,u,t)}else{s.apply(u,t)}},q)}},defer:function(s,q,r,p,o){s=Ext.Function.bind(s,r,p,o);if(q>0){return setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(s)}else{s()}},q)}s();return 0},interval:function(s,q,r,p,o){s=Ext.Function.bind(s,r,p,o);return setInterval(function(){if(Ext.elevateFunction){Ext.elevateFunction(s)}else{s()}},q)},createSequence:function(p,q,o){if(!q){return p}else{return function(){var r=p.apply(this,arguments);q.apply(o||this,arguments);return r}}},createBuffered:function(s,p,r,q){var o;return function(){var u=q||Array.prototype.slice.call(arguments,0),t=r||this;if(o){clearTimeout(o)}o=setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(s,t,u)}else{s.apply(t,u)}},p)}},createAnimationFrame:function(r,q,p,s){var o;s=s||3;return function(){var t=p||Array.prototype.slice.call(arguments,0);q=q||this;if(s===3&&o){k.cancelAnimationFrame(o)}if((s&1)||!o){o=k.requestAnimationFrame(function(){o=null;r.apply(q,t)})}}},requestAnimationFrame:function(r,q,o){var s=++i,p=Array.prototype.slice.call(arguments,0);p[3]=s;j[s]=1;e.push(p);if(!m){m=l(Ext.elevateFunction?a:c)}return s},cancelAnimationFrame:function(o){delete j[o]},createThrottled:function(s,p,r){var t=0,o,q,v,u=function(){if(Ext.elevateFunction){Ext.elevateFunction(s,r,q)}else{s.apply(r,q)}t=Ext.now();v=null};return function(){if(!r){r=this}o=Ext.now()-t;q=arguments;if(o>=p){clearTimeout(v);u()}else{if(!v){v=Ext.defer(u,p-o)}}}},createBarrier:function(q,p,o){return function(){if(!--q){p.apply(o,arguments)}}},interceptBefore:function(p,o,r,q){var s=p[o]||Ext.emptyFn;return(p[o]=function(){var t=r.apply(q||this,arguments);s.apply(this,arguments);return t})},interceptAfter:function(p,o,r,q){var s=p[o]||Ext.emptyFn;return(p[o]=function(){s.apply(this,arguments);return r.apply(q||this,arguments)})},makeCallback:function(p,o){return function(){return o[p].apply(o,arguments)}},memoize:function(r,q,o){var p={},s=o&&Ext.isFunction(o);return function(u){var t=s?o.apply(q,arguments):u;if(!(t in p)){p[t]=r.apply(q,arguments)}return p[t]}}};Ext.asap=g?function(p,o,q){if(o!=null||q!=null){p=k.bind(p,o,q)}return setImmediate(function(){if(Ext.elevateFunction){Ext.elevateFunction(p)}else{p()}})}:function(p,o,q){if(o!=null||q!=null){p=k.bind(p,o,q)}return setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(p)}else{p()}},0,true)},Ext.asapCancel=g?function(o){clearImmediate(o)}:function(o){clearTimeout(o)};Ext.defer=k.defer;Ext.interval=k.interval;Ext.pass=k.pass;Ext.bind=k.bind;Ext.deferCallback=k.requestAnimationFrame;return k})();Ext.Number=(new function(){var d=this,c=(0.9).toFixed()!=="1",b=Math,a={count:false,inclusive:false,wrap:true};Ext.apply(d,{Clip:{DEFAULT:a,COUNT:Ext.applyIf({count:true},a),INCLUSIVE:Ext.applyIf({inclusive:true},a),NOWRAP:Ext.applyIf({wrap:false},a)},clipIndices:function(m,n,h){h=h||a;var g=0,l=h.wrap,k,e,j;n=n||[];for(j=0;j<2;++j){k=e;e=n[j];if(e==null){e=g}else{if(j&&h.count){e+=k;e=(e>m)?m:e}else{if(l){e=(e<0)?(m+e):e}if(j&&h.inclusive){++e}e=(e<0)?0:((e>m)?m:e)}}g=m}n[0]=k;n[1]=(e<k)?k:e;return n},constrain:function(i,h,g){var e=parseFloat(i);if(h===null){h=i}if(g===null){g=i}return(e<h)?h:((e>g)?g:e)},snap:function(i,g,h,j){var e;if(i===undefined||i<h){return h||0}if(g){e=i%g;if(e!==0){i-=e;if(e*2>=g){i+=g}else{if(e*2<-g){i-=g}}}}return d.constrain(i,h,j)},snapInRange:function(i,e,h,j){var g;h=(h||0);if(i===undefined||i<h){return h}if(e&&(g=((i-h)%e))){i-=g;g*=2;if(g>=e){i+=e}}if(j!==undefined){if(i>(j=d.snapInRange(j,e,h))){i=j}}return i},sign:function(e){e=+e;if(e===0||isNaN(e)){return e}return(e>0)?1:-1},toFixed:c?function(h,e){e=e||0;var g=b.pow(10,e);return(b.round(h*g)/g).toFixed(e)}:function(g,e){return g.toFixed(e)},from:function(g,e){if(isFinite(g)){g=parseFloat(g)}return !isNaN(g)?g:e},randomInt:function(g,e){return b.floor(b.random()*(e-g+1)+g)},correctFloat:function(e){return parseFloat(e.toPrecision(14))}});Ext.num=function(){return d.from.apply(this,arguments)}}());(function(){var d=function(){},b=/^\?/,c=/(\[):?([^\]]*)\]/g,a=/^([^\[]+)/,g=/\+/g,e=Ext.Object={chain:Object.create||function(i){d.prototype=i;var h=new d();d.prototype=null;return h},clear:function(h){for(var i in h){delete h[i]}return h},freeze:Object.freeze?function(j,h){if(j&&typeof j==="object"&&!Object.isFrozen(j)){Object.freeze(j);if(h){for(var i in j){e.freeze(j[i],h)}}}return j}:Ext.identityFn,toQueryObjects:function(k,o,j){var h=e.toQueryObjects,n=[],l,m;if(Ext.isArray(o)){for(l=0,m=o.length;l<m;l++){if(j){n=n.concat(h(k+"["+l+"]",o[l],true))}else{n.push({name:k,value:o[l]})}}}else{if(Ext.isObject(o)){for(l in o){if(o.hasOwnProperty(l)){if(j){n=n.concat(h(k+"["+l+"]",o[l],true))}else{n.push({name:k,value:o[l]})}}}}else{n.push({name:k,value:o})}}return n},toQueryString:function(m,k){var n=[],l=[],p,o,q,h,r;for(p in m){if(m.hasOwnProperty(p)){n=n.concat(e.toQueryObjects(p,m[p],k))}}for(o=0,q=n.length;o<q;o++){h=n[o];r=h.value;if(Ext.isEmpty(r)){r=""}else{if(Ext.isDate(r)){r=Ext.Date.toString(r)}}l.push(encodeURIComponent(h.name)+"="+encodeURIComponent(String(r)))}return l.join("&")},fromQueryString:function(k,v){var q=k.replace(b,"").split("&"),y={},w,o,A,r,u,m,s,t,h,n,x,p,z,l;for(u=0,m=q.length;u<m;u++){s=q[u];if(s.length>0){o=s.split("=");A=o[0];A=A.replace(g,"%20");A=decodeURIComponent(A);r=o[1];if(r!==undefined){r=r.replace(g,"%20");r=decodeURIComponent(r)}else{r=""}if(!v){if(y.hasOwnProperty(A)){if(!Ext.isArray(y[A])){y[A]=[y[A]]}y[A].push(r)}else{y[A]=r}}else{n=A.match(c);x=A.match(a);A=x[0];p=[];if(n===null){y[A]=r;continue}for(t=0,h=n.length;t<h;t++){z=n[t];z=(z.length===2)?"":z.substring(1,z.length-1);p.push(z)}p.unshift(A);w=y;for(t=0,h=p.length;t<h;t++){z=p[t];if(t===h-1){if(Ext.isArray(w)&&z===""){w.push(r)}else{w[z]=r}}else{if(w[z]===undefined||typeof w[z]==="string"){l=p[t+1];w[z]=(Ext.isNumeric(l)||l==="")?[]:{}}w=w[z]}}}}}return y},each:function(j,m,l){var h=Ext.enumerables,k,n;if(j){l=l||j;for(n in j){if(j.hasOwnProperty(n)){if(m.call(l,n,j[n],j)===false){return}}}if(h){for(k=h.length;k--;){if(j.hasOwnProperty(n=h[k])){if(m.call(l,n,j[n],j)===false){return}}}}}},eachValue:function(j,m,l){var h=Ext.enumerables,k,n;l=l||j;for(n in j){if(j.hasOwnProperty(n)){if(m.call(l,j[n])===false){return}}}if(h){for(k=h.length;k--;){if(j.hasOwnProperty(n=h[k])){if(m.call(l,j[n])===false){return}}}}},merge:function(o){var m=1,n=arguments.length,h=e.merge,k=Ext.clone,l,q,p,j;for(;m<n;m++){l=arguments[m];for(q in l){p=l[q];if(p&&p.constructor===Object){j=o[q];if(j&&j.constructor===Object){h(j,p)}else{o[q]=k(p)}}else{o[q]=p}}}return o},mergeIf:function(h){var m=1,n=arguments.length,k=Ext.clone,j,l,o;for(;m<n;m++){j=arguments[m];for(l in j){if(!(l in h)){o=j[l];if(o&&o.constructor===Object){h[l]=k(o)}else{h[l]=o}}}}return h},getAllKeys:function(h){var i=[],j;for(j in h){i.push(j)}return i},getKey:function(h,j){for(var i in h){if(h.hasOwnProperty(i)&&h[i]===j){return i}}return null},getValues:function(i){var h=[],j;for(j in i){if(i.hasOwnProperty(j)){h.push(i[j])}}return h},getKeys:(typeof Object.keys=="function")?function(h){if(!h){return[]}return Object.keys(h)}:function(h){var i=[],j;for(j in h){if(h.hasOwnProperty(j)){i.push(j)}}return i},getSize:function(h){var i=0,j;for(j in h){if(h.hasOwnProperty(j)){i++}}return i},isEmpty:function(h){for(var i in h){if(h.hasOwnProperty(i)){return false}}return true},equals:(function(){var h=function(k,j){var i;for(i in k){if(k.hasOwnProperty(i)){if(k[i]!==j[i]){return false}}}return true};return function(j,i){if(j===i){return true}if(j&&i){return h(j,i)&&h(i,j)}else{if(!j&&!i){return j===i}else{return false}}}})(),fork:function(k){var h,i,j;if(k&&k.constructor===Object){h=e.chain(k);for(i in k){j=k[i];if(j){if(j.constructor===Object){h[i]=e.fork(j)}else{if(j instanceof Array){h[i]=Ext.Array.clone(j)}}}}}else{h=k}return h},defineProperty:("defineProperty" in Object)?Object.defineProperty:function(i,h,j){if(!Object.prototype.__defineGetter__){return}if(j.get){i.__defineGetter__(h,j.get)}if(j.set){i.__defineSetter__(h,j.set)}},classify:function(k){var j=k,m=[],i={},h=function(){var o=0,p=m.length,q;for(;o<p;o++){q=m[o];this[q]=new i[q]()}},l,n;for(l in k){if(k.hasOwnProperty(l)){n=k[l];if(n&&n.constructor===Object){m.push(l);i[l]=e.classify(n)}}}h.prototype=j;return h}};Ext.merge=Ext.Object.merge;Ext.mergeIf=Ext.Object.mergeIf}());Ext.apply(Ext,{_namedScopes:{"this":{isThis:1},controller:{isController:1},self:{isSelf:1},"self.controller":{isSelf:1,isController:1}},escapeId:(function(){var c=/^[a-zA-Z_][a-zA-Z0-9_\-]*$/i,d=/([\W]{1})/g,b=/^(\d)/g,a=function(h,g){return"\\"+g},e=function(h,g){return"\\00"+g.charCodeAt(0).toString(16)+" "};return function(g){return c.test(g)?g:g.replace(d,a).replace(b,e)}}()),callback:function(i,g,d,c,b,h){if(!i){return}var e=(g in Ext._namedScopes);if(i.charAt){if((!g||e)&&b){g=b.resolveListenerScope(e?g:h)}i=g[i]}else{if(e){g=h||b}else{if(!g){g=b}}}var a;if(i&&Ext.isFunction(i)){g=g||Ext.global;if(c){Ext.defer(i,c,g,d)}else{if(Ext.elevateFunction){a=Ext.elevateFunction(i,g,d)}else{if(d){a=i.apply(g,d)}else{a=i.call(g)}}}}return a},coerce:function(e,d){var c=Ext.typeOf(e),b=Ext.typeOf(d),a=typeof e==="string";if(c!==b){switch(b){case"string":return String(e);case"number":return Number(e);case"boolean":return a&&(!e||e==="false")?false:Boolean(e);case"null":return a&&(!e||e==="null")?null:e;case"undefined":return a&&(!e||e==="undefined")?undefined:e;case"date":return a&&isNaN(e)?Ext.Date.parse(e,Ext.Date.defaultFormat):Date(Number(e))}}return e},copyTo:function(b,d,g,e){if(typeof g==="string"){g=g.split(Ext.propertyNameSplitRe)}for(var a,c=0,h=g?g.length:0;c<h;c++){a=g[c];if(e||d.hasOwnProperty(a)){b[a]=d[a]}}return b},copy:function(b,d,g,e){if(typeof g==="string"){g=g.split(Ext.propertyNameSplitRe)}for(var a,c=0,h=g?g.length:0;c<h;c++){a=g[c];if(d.hasOwnProperty(a)||(e&&a in d)){b[a]=d[a]}}return b},propertyNameSplitRe:/[,;\s]+/,copyToIf:function(a,d,e){if(typeof e==="string"){e=e.split(Ext.propertyNameSplitRe)}for(var b,c=0,g=e?e.length:0;c<g;c++){b=e[c];if(a[b]===undefined){a[b]=d[b]}}return a},copyIf:function(a,d,e){if(typeof e==="string"){e=e.split(Ext.propertyNameSplitRe)}for(var b,c=0,g=e?e.length:0;c<g;c++){b=e[c];if(!(b in a)&&(b in d)){a[b]=d[b]}}return a},extend:(function(){var a=Object.prototype.constructor,b=function(d){for(var c in d){if(!d.hasOwnProperty(c)){continue}this[c]=d[c]}};return function(c,i,g){if(Ext.isObject(i)){g=i;i=c;c=g.constructor!==a?g.constructor:function(){i.apply(this,arguments)}}var e=function(){},d,h=i.prototype;e.prototype=h;d=c.prototype=new e();d.constructor=c;c.superclass=h;if(h.constructor===a){h.constructor=i}c.override=function(j){Ext.override(c,j)};d.override=b;d.proto=d;c.override(g);c.extend=function(j){return Ext.extend(c,j)};return c}}()),iterate:function(a,c,b){if(Ext.isEmpty(a)){return}if(b===undefined){b=a}if(Ext.isIterable(a)){Ext.Array.each.call(Ext.Array,a,c,b)}else{Ext.Object.each.call(Ext.Object,a,c,b)}},_resourcePoolRe:/^[<]([^<>@:]*)(?:[@]([^<>@:]+))?[>](.+)$/,resolveResource:function(c){var b=c,a;if(c&&c.charAt(0)==="<"){a=Ext._resourcePoolRe.exec(c);if(a){b=Ext.getResourcePath(a[3],a[1],a[2])}}return b},urlEncode:function(){var a=Ext.Array.from(arguments),b="";if(Ext.isString(a[1])){b=a[1]+"&";a[1]=false}return b+Ext.Object.toQueryString.apply(Ext.Object,a)},urlDecode:function(){return Ext.Object.fromQueryString.apply(Ext.Object,arguments)},getScrollbarSize:function(c){var b=Ext._scrollbarSize;if(c||!b){var a=document.body,d=document.createElement("div");d.style.width=d.style.height="100px";d.style.overflow="scroll";d.style.position="absolute";a.appendChild(d);Ext._scrollbarSize=b={width:d.offsetWidth-d.clientWidth,height:d.offsetHeight-d.clientHeight};a.removeChild(d)}return b},typeOf:(function(){var a=/\S/,c=Object.prototype.toString,d={number:1,string:1,"boolean":1,"undefined":1},b={"[object Array]":"array","[object Date]":"date","[object Boolean]":"boolean","[object Number]":"number","[object RegExp]":"regexp"};return function(h){if(h===null){return"null"}var g=typeof h,e,i;if(d[g]){return g}e=b[i=c.call(h)];if(e){return e}if(g==="function"){return"function"}if(g==="object"){if(h.nodeType!==undefined){if(h.nodeType===3){return a.test(h.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}return i}}()),factory:function(b,e,a,g){var d=Ext.ClassManager,c;if(!b||b.isInstance){if(a&&a!==b){a.destroy()}return b}if(g){if(typeof b==="string"){return d.instantiateByAlias(g+"."+b)}else{if(Ext.isObject(b)&&"type" in b){return d.instantiateByAlias(g+"."+b.type,b)}}}if(b===true){return a||Ext.create(e)}if("xtype" in b){c=d.instantiateByAlias("widget."+b.xtype,b)}else{if("xclass" in b){c=Ext.create(b.xclass,b)}}if(c){if(a){a.destroy()}return c}if(a){return a.setConfig(b)}return Ext.create(e,b)},log:(function(){var a=function(){};a.info=a.warn=a.error=Ext.emptyFn;return a}())});(function(){var d=[""],i=/([^\d\.])/,b=/[^\d]/g,a=/[\-+]/g,h=/\s/g,c=/_/g,g={classic:1,modern:1},e;Ext.Version=e=function(r,n){var s=this,l=s.padModes,j,p,m,o,t,k,q;if(r.isVersion){r=r.version}s.version=q=String(r).toLowerCase().replace(c,".").replace(a,"");j=q.charAt(0);if(j in l){q=q.substring(1);m=l[j]}else{m=n?l[n]:0}s.pad=m;k=q.search(i);s.shortVersion=q;if(k!==-1){s.release=t=q.substr(k,r.length);s.shortVersion=q.substr(0,k);t=e.releaseValueMap[t]||t}s.releaseValue=t||m;s.shortVersion=s.shortVersion.replace(b,"");s.parts=o=q.split(".");for(p=o.length;p--;){o[p]=parseInt(o[p],10)}if(m===Infinity){o.push(m)}s.major=o[0]||m;s.minor=o[1]||m;s.patch=o[2]||m;s.build=o[3]||m;return s};e.prototype={isVersion:true,padModes:{"~":NaN,"^":Infinity},release:"",compareTo:function(t){var u=this,n=u.pad,r=u.parts,v=r.length,m=t.isVersion?t:new e(t),k=m.pad,q=m.parts,p=q.length,j=Math.max(v,p),o,l,s;for(o=0;o<j;o++){l=(o<v)?r[o]:n;s=(o<p)?q[o]:k;if(l<s){return -1}if(l>s){return 1}}l=u.releaseValue;s=m.releaseValue;if(l<s){return -1}if(l>s){return 1}return 0},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major},getMinor:function(){return this.minor},getPatch:function(){return this.patch},getBuild:function(){return this.build},getRelease:function(){return this.release},getReleaseValue:function(){return this.releaseValue},isGreaterThan:function(j){return this.compareTo(j)>0},isGreaterThanOrEqual:function(j){return this.compareTo(j)>=0},isLessThan:function(j){return this.compareTo(j)<0},isLessThanOrEqual:function(j){return this.compareTo(j)<=0},equals:function(j){return this.compareTo(j)===0},match:function(j){j=String(j);return this.version.substr(0,j.length)===j},toArray:function(){var j=this;return[j.getMajor(),j.getMinor(),j.getPatch(),j.getBuild(),j.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(j){return this.compareTo(j)>0},lt:function(j){return this.compareTo(j)<0},gtEq:function(j){return this.compareTo(j)>=0},ltEq:function(j){return this.compareTo(j)<=0}};Ext.apply(e,{aliases:{from:{extjs:"ext",core:"core",touch:"modern"},to:{ext:["extjs"],core:["core"],modern:["touch"]}},releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(j){return !j?0:(isNaN(j)?this.releaseValueMap[j]||j:parseInt(j,10))},compare:function(l,k){var j=l.isVersion?l:new e(l);return j.compareTo(k)},set:function(o,m,l){var k=e.aliases.to[m],j=l.isVersion?l:new e(l),n;o[m]=j;if(k){for(n=k.length;n-->0;){o[k[n]]=j}}return j}});Ext.apply(Ext,{compatVersions:{},versions:{},lastRegisteredVersion:null,getCompatVersion:function(k){var j=Ext.compatVersions,l;if(!k){l=j.ext||j.touch||j.core}else{l=j[e.aliases.from[k]||k]}return l||Ext.getVersion(k)},setCompatVersion:function(k,j){e.set(Ext.compatVersions,k,j)},setVersion:function(k,j){if(k in g){Ext.toolkit=k}Ext.lastRegisteredVersion=e.set(Ext.versions,k,j);return this},getVersion:function(k){var j=Ext.versions;if(!k){return j.ext||j.touch||j.core}return j[e.aliases.from[k]||k]},checkVersion:function(p,x){var t=Ext.isArray(p),l=e.aliases.from,y=t?p:d,k=y.length,m=Ext.versions,w=m.ext||m.touch,q,v,s,n,o,j,z,r,u;if(!t){d[0]=p}for(q=0;q<k;++q){if(!Ext.isString(z=y[q])){s=Ext.checkVersion(z.and||z.or,!z.or);if(z.not){s=!s}}else{if(z.indexOf(" ")>=0){z=z.replace(h,"")}v=z.indexOf("@");if(v<0){r=z;u=w}else{j=z.substring(0,v);if(!(u=m[l[j]||j])){if(x){return false}continue}r=z.substring(v+1)}v=r.indexOf("-");if(v<0){if(r.charAt(v=r.length-1)==="+"){n=r.substring(0,v);o=null}else{n=o=r}}else{if(v>0){n=r.substring(0,v);o=r.substring(v+1)}else{n=null;o=r.substring(v+1)}}s=true;if(n){n=new e(n,"~");s=n.ltEq(u)}if(s&&o){o=new e(o,"~");s=o.gtEq(u)}}if(s){if(!x){return true}}else{if(x){return false}}}return !!x},deprecate:function(j,l,m,k){if(e.compare(Ext.getVersion(j),l)<1){m.call(k)}}})}());(function(d){var e=(d&&d.packages)||{},c=d&&d.compatibility,b,a;for(b in e){a=e[b];Ext.setVersion(b,a.version)}if(c){if(Ext.isString(c)){Ext.setCompatVersion("core",c)}else{for(b in c){Ext.setCompatVersion(b,c[b])}}}if(!e.ext&&!e.touch){Ext.setVersion("ext","6.0.1.250");Ext.setVersion("core","6.0.1.250")}})(Ext.manifest);Ext.Config=function(b){var c=this,a=b.charAt(0).toUpperCase()+b.substr(1);c.name=b;c.names={internal:"_"+b,initializing:"is"+a+"Initializing",apply:"apply"+a,update:"update"+a,get:"get"+a,set:"set"+a,initGet:"initGet"+a,changeEvent:b.toLowerCase()+"change"};c.root=c};Ext.Config.map={};Ext.Config.get=function(b){var c=Ext.Config.map,a=c[b]||(c[b]=new Ext.Config(b));return a};Ext.Config.prototype={self:Ext.Config,isConfig:true,getGetter:function(){return this.getter||(this.root.getter=this.makeGetter())},getInitGetter:function(){return this.initGetter||(this.root.initGetter=this.makeInitGetter())},getSetter:function(){return this.setter||(this.root.setter=this.makeSetter())},getEventedSetter:function(){return this.eventedSetter||(this.root.eventedSetter=this.makeEventedSetter())},getInternalName:function(a){return a.$configPrefixed?this.names.internal:this.name},mergeNew:function(g,b,e,d){var a,c;if(!b){a=g}else{if(!g){a=b}else{a=Ext.Object.chain(b);for(c in g){if(!d||!(c in a)){a[c]=g[c]}}}}return a},mergeSets:function(e,c,a){var b=c?Ext.Object.chain(c):{},d,g;if(e instanceof Array){for(d=e.length;d--;){g=e[d];if(!a||!(g in b)){b[g]=true}}}else{if(e){if(e.constructor===Object){for(d in e){g=e[d];if(!a||!(d in b)){b[d]=g}}}else{if(!a||!(e in b)){b[e]=true}}}}return b},makeGetter:function(){var a=this.name,b=this.names.internal;return function(){var c=this.$configPrefixed?b:a;return this[c]}},makeInitGetter:function(){var a=this.name,e=this.names,d=e.set,b=e.get,c=e.initializing;return function(){var g=this;g[c]=true;delete g[b];g[d](g.config[a]);delete g[c];return g[b].apply(g,arguments)}},makeSetter:function(){var a=this.name,e=this.names,c=e.internal,d=e.get,b=e.apply,h=e.update,g;g=function(l){var k=this,j=k.$configPrefixed?c:a,i=k[j];delete k[d];if(!k[b]||(l=k[b](l,i))!==undefined){if(l!==(i=k[j])){k[j]=l;if(k[h]){k[h](l,i)}}}return k};g.$isDefault=true;return g},makeEventedSetter:function(){var b=this.name,h=this.names,j=h.internal,a=h.get,i=h.apply,d=h.update,g=h.changeEvent,e=function(m,n,k,l){m[l]=n;if(m[d]){m[d](n,k)}},c;c=function(n){var m=this,l=m.$configPrefixed?j:b,k=m[l];delete m[a];if(!m[i]||(n=m[i](n,k))!==undefined){if(n!==(k=m[l])){if(m.isConfiguring){m[l]=n;if(m[d]){m[d](n,k)}}else{m.fireEventedAction(g,[m,n,k],e,m,[m,n,k,l])}}}return m};c.$isDefault=true;return c}};(function(){var b=Ext.Config,c=b.map,a=Ext.Object;Ext.Configurator=function(d){var g=this,e=d.prototype,h=d.superclass?d.superclass.self.$config:null;g.cls=d;g.superCfg=h;if(h){g.configs=a.chain(h.configs);g.cachedConfigs=a.chain(h.cachedConfigs);g.initMap=a.chain(h.initMap);g.values=a.chain(h.values);g.needsFork=h.needsFork}else{g.configs={};g.cachedConfigs={};g.initMap={};g.values={}}e.config=e.defaultConfig=g.values;d.$config=g};Ext.Configurator.prototype={self:Ext.Configurator,needsFork:false,initList:null,add:function(u,d){var v=this,i=v.cls,l=v.configs,w=v.cachedConfigs,n=v.initMap,q=i.prototype,x=d&&d.$config.configs,e=v.values,k,m,t,g,h,j,y,p,o,r;for(y in u){r=u[y];k=r&&r.constructor===Object;m=k&&"$value" in r?r:null;if(m){t=!!m.cached;r=m.$value;k=r&&r.constructor===Object}g=m&&m.merge;h=l[y];if(h){if(d){g=h.merge;if(!g){continue}m=null}else{g=g||h.merge}j=e[y];if(g){r=g.call(h,r,j,i,d)}else{if(k){if(j&&j.constructor===Object){r=a.merge({},j,r)}}}}else{if(x){h=x[y];m=null}else{h=b.get(y)}l[y]=h;if(h.cached||t){w[y]=true}p=h.names;if(!q[o=p.get]){q[o]=h.getter||h.getGetter()}if(!q[o=p.set]){q[o]=(m&&m.evented)?(h.eventedSetter||h.getEventedSetter()):(h.setter||h.getSetter())}}if(m){if(h.owner!==i){l[y]=h=Ext.Object.chain(h);h.owner=i}Ext.apply(h,m);delete h.$value}if(!v.needsFork&&r&&(r.constructor===Object||r instanceof Array)){v.needsFork=true}if(r!==null){n[y]=true}else{if(q.$configPrefixed){q[l[y].names.internal]=null}else{q[l[y].name]=null}if(y in n){n[y]=false}}e[y]=r}},configure:function(y,m){var A=this,l=A.configs,n=A.initMap,p=A.initListMap,w=A.initList,q=A.cls.prototype,e=A.values,r=0,t=!w,g,h,j,C,v,u,k,o,B,s,z,x,d;e=A.needsFork?a.fork(e):a.chain(e);y.isConfiguring=true;if(t){A.initList=w=[];A.initListMap=p={};y.isFirstInstance=true;for(B in n){C=n[B];h=l[B];z=h.cached;if(C){o=h.names;s=e[B];if(!q[o.set].$isDefault||q[o.apply]||q[o.update]||typeof s==="object"){if(z){(g||(g=[])).push(h)}else{w.push(h);p[B]=true}y[o.get]=h.initGetter||h.getInitGetter()}else{q[h.getInternalName(q)]=s}}else{if(z){q[h.getInternalName(q)]=undefined}}}}k=g&&g.length;if(k){for(v=0;v<k;++v){u=g[v].getInternalName(q);y[u]=null}for(v=0;v<k;++v){o=(h=g[v]).names;j=o.get;if(y.hasOwnProperty(j)){y[o.set](e[h.name]);delete y[j]}}for(v=0;v<k;++v){u=g[v].getInternalName(q);q[u]=y[u];delete y[u]}}if(m&&m.platformConfig){m=A.resolvePlatformConfig(y,m)}if(t){if(y.afterCachedConfig&&!y.afterCachedConfig.$nullFn){y.afterCachedConfig(m)}}y.config=e;for(v=0,k=w.length;v<k;++v){h=w[v];y[h.names.get]=h.initGetter||h.getInitGetter()}if(y.transformInstanceConfig){m=y.transformInstanceConfig(m)}if(m){for(B in m){s=m[B];h=l[B];if(!h){y[B]=s}else{if(!h.lazy){++r}if(!p[B]){y[h.names.get]=h.initGetter||h.getInitGetter()}if(h.merge){s=h.merge(s,e[B],y)}else{if(s&&s.constructor===Object){x=e[B];if(x&&x.constructor===Object){s=a.merge(e[B],s)}else{s=Ext.clone(s)}}}}e[B]=s}}if(y.beforeInitConfig&&!y.beforeInitConfig.$nullFn){if(y.beforeInitConfig(m)===false){return}}if(m){for(B in m){if(!r){break}h=l[B];if(h&&!h.lazy){--r;o=h.names;j=o.get;if(y.hasOwnProperty(j)){y[o.set](e[B]);delete y[o.get]}}}}for(v=0,k=w.length;v<k;++v){h=w[v];o=h.names;j=o.get;if(!h.lazy&&y.hasOwnProperty(j)){y[o.set](e[h.name]);delete y[j]}}delete y.isConfiguring},getCurrentConfig:function(e){var d=e.defaultConfig,h={},g;for(g in d){h[g]=e[c[g].names.get]()}return h},merge:function(d,j,h){var l=this.configs,g,k,i,e;for(g in h){k=h[g];e=l[g];if(e){if(e.merge){k=e.merge(k,j[g],d)}else{if(k&&k.constructor===Object){i=j[g];if(i&&i.constructor===Object){k=Ext.Object.merge(i,k)}else{k=Ext.clone(k)}}}}j[g]=k}return j},reconfigure:function(s,n,t){var j=s.config,k=[],r=s.$configStrict&&!(t&&t.strict===false),o=this.configs,g=t&&t.defaults,m,q,h,l,e,p,d;for(e in n){if(g&&s.hasOwnProperty(e)){continue}j[e]=n[e];m=o[e];if(m){s[m.names.get]=m.initGetter||m.getInitGetter()}else{d=s.self.prototype[e];if(r){if((typeof d==="function")&&!d.$nullFn){continue}}}k.push(e)}for(h=0,l=k.length;h<l;h++){e=k[h];m=o[e];if(m){p=m.names;q=p.get;if(s.hasOwnProperty(q)){s[p.set](n[e]);delete s[q]}}else{m=c[e]||Ext.Config.get(e);p=m.names;if(s[p.set]){s[p.set](n[e])}else{s[e]=n[e]}}}},resolvePlatformConfig:function(d,l){var j=l&&l.platformConfig,e=l,g,h,k;if(j){h=Ext.getPlatformConfigKeys(j);k=h.length;if(k){e=Ext.merge({},e);for(g=0,k=h.length;g<k;++g){this.merge(d,e,j[h[g]])}}}return e}}}());Ext.Base=(function(c){var b=[],j,l=[],m=function(q,p){var s=this,o,n,r;if(q){n=Ext.Config.map[q];r=n.names.get;if(p&&s.hasOwnProperty(r)){o=s.config[q]}else{o=s[r]()}}else{o=s.getCurrentConfig()}return o},g=function(n){return function(){return this[n].apply(this,arguments)}},a=Ext.Version,i=/^\d/,k={},e={},h=function(){},d=h.prototype;Ext.apply(h,{$className:"Ext.Base",$isClass:true,create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},addDeprecations:function(t){var C=this,o=[],q=Ext.getCompatVersion(t.name),B,x,s,y,D,v,A,u,z,E,w,n,r,p;for(x in t){if(i.test(x)){p=new Ext.Version(x);p.deprecations=t[x];o.push(p)}}o.sort(a.compare);for(s=o.length;s--;){B=(p=o[s]).deprecations;D=C.prototype;r=B.statics;v=q&&q.lt(p);if(!v){break}while(B){z=B.methods;if(z){for(E in z){n=z[E];u=null;if(!n){}else{if(Ext.isString(n)){if(v){u=g(n)}}else{y="";if(n.message||n.fn){n=n.fn}A=D.hasOwnProperty(E)&&D[E];if(v&&n){n.$owner=C;n.$name=E;if(A){n.$previous=A}u=n}}}if(u){D[E]=u}}}B=r;r=null;D=C}}},extend:function(r){var t=this,n=r.prototype,p,q,s,o,u;p=t.prototype=Ext.Object.chain(n);p.self=t;t.superclass=p.superclass=n;if(!r.$isClass){for(q in d){if(q in p){p[q]=d[q]}}}u=n.$inheritableStatics;if(u){for(q=0,s=u.length;q<s;q++){o=u[q];if(!t.hasOwnProperty(o)){t[o]=r[o]}}}if(r.$onExtended){t.$onExtended=r.$onExtended.slice()}t.getConfigurator()},$onExtended:[],triggerExtended:function(){var p=this.$onExtended,o=p.length,n,q;if(o>0){for(n=0;n<o;n++){q=p[n];q.fn.apply(q.scope||this,arguments)}}},onExtended:function(o,n){this.$onExtended.push({fn:o,scope:n});return this},addStatics:function(n){this.addMembers(n,true);return this},addInheritableStatics:function(o){var r,n,q=this.prototype,p,s;r=q.$inheritableStatics;n=q.$hasInheritableStatics;if(!r){r=q.$inheritableStatics=[];n=q.$hasInheritableStatics={}}for(p in o){if(o.hasOwnProperty(p)){s=o[p];this[p]=s;if(!n[p]){n[p]=true;r.push(p)}}}return this},addMembers:function(r,C,o){var A=this,v=Ext.Function.clone,y=C?A:A.prototype,s=!C&&y.defaultConfig,B=Ext.enumerables,w=r.privates,x,u,z,t,n,p,q;if(w){delete r.privates;if(!C){q=w.statics;delete w.statics}A.addMembers(w,C,p);if(q){A.addMembers(q,true,p)}}for(n in r){if(r.hasOwnProperty(n)){t=r[n];if(typeof t==="function"&&!t.$isClass&&!t.$nullFn){if(t.$owner){t=v(t)}if(y.hasOwnProperty(n)){t.$previous=y[n]}t.$owner=A;t.$name=n}else{if(s&&(n in s)&&!y.config.hasOwnProperty(n)){(x||(x={}))[n]=t;continue}}y[n]=t}}if(x){A.addConfig(x)}if(B){for(u=0,z=B.length;u<z;++u){if(r.hasOwnProperty(n=B[u])){t=r[n];if(t&&!t.$nullFn){if(t.$owner){t=v(t)}t.$owner=A;t.$name=n;if(y.hasOwnProperty(n)){t.$previous=y[n]}}y[n]=t}}}return this},addMember:function(n,o){k[n]=o;this.addMembers(k);delete k[n];return this},borrow:function(t,n){var p=t.prototype,r={},q,s,o;n=Ext.Array.from(n);for(q=0,s=n.length;q<s;q++){o=n[q];r[o]=p[o]}return this.addMembers(r)},override:function(o){var q=this,t=o.statics,s=o.inheritableStatics,p=o.config,n=o.mixins,r=o.cachedConfig;if(t||s||p){o=Ext.apply({},o)}if(t){q.addMembers(t,true);delete o.statics}if(s){q.addInheritableStatics(s);delete o.inheritableStatics}if(p){q.addConfig(p);delete o.config}if(r){q.addCachedConfig(r);delete o.cachedConfig}delete o.mixins;q.addMembers(o);if(n){q.mixin(n)}return q},callParent:function(n){var o;return(o=this.callParent.caller)&&(o.$previous||((o=o.$owner?o:o.caller)&&o.$owner.superclass.self[o.$name])).apply(this,n||b)},callSuper:function(n){var o;return(o=this.callSuper.caller)&&((o=o.$owner?o:o.caller)&&o.$owner.superclass.self[o.$name]).apply(this,n||b)},mixin:function(n,o){var t=this,z,v,y,u,p,s,x,w,r;if(typeof n!=="string"){r=n;if(r instanceof Array){for(p=0,s=r.length;p<s;p++){z=r[p];t.mixin(z.prototype.mixinId||z.$className,z)}}else{for(var q in r){t.mixin(q,r[q])}}return}z=o.prototype;v=t.prototype;if(z.onClassMixedIn){z.onClassMixedIn.call(o,t)}if(!v.hasOwnProperty("mixins")){if("mixins" in v){v.mixins=Ext.Object.chain(v.mixins)}else{v.mixins={}}}for(y in z){w=z[y];if(y==="mixins"){Ext.applyIf(v.mixins,w)}else{if(!(y==="mixinId"||y==="config")&&(v[y]===undefined)){v[y]=w}}}u=z.$inheritableStatics;if(u){for(p=0,s=u.length;p<s;p++){x=u[p];if(!t.hasOwnProperty(x)){t[x]=o[x]}}}if("config" in z){t.addConfig(z.config,o)}v.mixins[n]=z;if(z.afterClassMixedIn){z.afterClassMixedIn.call(o,t)}return t},addConfig:function(o,p){var n=this.$config||this.getConfigurator();n.add(o,p)},addCachedConfig:function(n,p){var q={},o;for(o in n){q[o]={cached:true,$value:n[o]}}this.addConfig(q,p)},getConfigurator:function(){return this.$config||new Ext.Configurator(this)},getName:function(){return Ext.getClassName(this)},createAlias:c(function(o,n){e[o]=function(){return this[n].apply(this,arguments)};this.override(e);delete e[o]})});for(j in h){if(h.hasOwnProperty(j)){l.push(j)}}h.$staticMembers=l;h.getConfigurator();h.addMembers({$className:"Ext.Base",isInstance:true,$configPrefixed:true,$configStrict:true,isConfiguring:false,isFirstInstance:false,destroyed:false,statics:function(){var o=this.statics.caller,n=this.self;if(!o){return n}return o.$owner},callParent:function(o){var p,n=(p=this.callParent.caller)&&(p.$previous||((p=p.$owner?p:p.caller)&&p.$owner.superclass[p.$name]));return n.apply(this,o||b)},callSuper:function(o){var p,n=(p=this.callSuper.caller)&&((p=p.$owner?p:p.caller)&&p.$owner.superclass[p.$name]);return n.apply(this,o||b)},self:h,constructor:function(){return this},getConfigurator:function(){return this.$config||this.self.getConfigurator()},initConfig:function(p){var o=this,n=o.getConfigurator();o.initConfig=Ext.emptyFn;o.initialConfig=p||{};n.configure(o,p);return o},beforeInitConfig:Ext.emptyFn,getConfig:m,setConfig:function(p,r,o){var q=this,n;if(p){if(typeof p==="string"){n={};n[p]=r}else{n=p}q.getConfigurator().reconfigure(q,n,o)}return q},getCurrentConfig:function(){var n=this.getConfigurator();return n.getCurrentConfig(this)},hasConfig:function(n){return n in this.defaultConfig},getInitialConfig:function(o){var n=this.config;if(!o){return n}return n[o]},$links:null,link:function(o,q){var p=this,n=p.$links||(p.$links={});n[o]=true;p[o]=q;return q},unlink:function(s){var q=this,n,p,o,r;for(n=0,p=s.length;n<p;n++){o=s[n];r=q[o];if(r){if(r.isInstance&&!r.destroyed){r.destroy()}else{if(r.parentNode&&"nodeType" in r){r.parentNode.removeChild(r)}}}q[o]=null}return q},destroy:function(){var o=this,n=o.$links;o.initialConfig=o.config=null;o.destroy=Ext.emptyFn;o.isDestroyed=o.destroyed=true;if(n){o.$links=null;o.unlink(Ext.Object.getKeys(n))}}});d.callOverridden=d.callParent;return h}(Ext.Function.flexSetter));(function(b,a){(Ext.util||(Ext.util={})).Cache=b=function(c){var e=this,d;if(c){Ext.apply(e,c)}e.head=d={key:null,value:null};e.map={};d.next=d.prev=d};b.prototype=a={maxSize:100,count:0,clear:function(){var e=this,c=e.head,d=c.next;c.next=c.prev=c;if(!e.evict.$nullFn){for(;d!==c;d=d.next){e.evict(d.key,d.value)}}e.count=0},each:function(e,d){d=d||this;for(var c=this.head,g=c.next;g!==c;g=g.next){if(e.call(d,g.key,g.value)){break}}},get:function(d){var g=this,c=g.head,h=g.map,e=h[d];if(e){if(e.prev!==c){g.unlinkEntry(e);g.linkEntry(e)}}else{h[d]=e={key:d,value:g.miss.apply(g,arguments)};g.linkEntry(e);++g.count;while(g.count>g.maxSize){g.unlinkEntry(c.prev,true);--g.count}}return e.value},evict:Ext.emptyFn,linkEntry:function(d){var c=this.head,e=c.next;d.next=e;d.prev=c;c.next=d;e.prev=d},unlinkEntry:function(e,g){var c=e.next,d=e.prev;d.next=c;c.prev=d;if(g){this.evict(e.key,e.value)}}};a.destroy=a.clear}());(function(){var d,c=Ext.Base,e=c.$staticMembers,b=function(h,g){return(h.length-g.length)||((h<g)?-1:((h>g)?1:0))};function a(h){function g(){return this.constructor.apply(this,arguments)||null}return g}Ext.Class=d=function(h,i,g){if(typeof h!="function"){g=i;i=h;h=null}if(!i){i={}}h=d.create(h,i);d.process(h,i,g);return h};Ext.apply(d,{makeCtor:a,onBeforeCreated:function(h,i,g){h.addMembers(i);g.onCreated.call(h,h)},create:function(g,k){var j=e.length,h;if(!g){g=a()}while(j--){h=e[j];g[h]=c[h]}return g},process:function(g,o,k){var h=o.preprocessors||d.defaultPreprocessors,r=this.preprocessors,u={onBeforeCreated:this.onBeforeCreated},t=[],v,n,m,s,l,q,p;delete o.preprocessors;g._classHooks=u;for(m=0,s=h.length;m<s;m++){v=h[m];if(typeof v=="string"){v=r[v];n=v.properties;if(n===true){t.push(v.fn)}else{if(n){for(l=0,q=n.length;l<q;l++){p=n[l];if(o.hasOwnProperty(p)){t.push(v.fn);break}}}}}else{t.push(v)}}u.onCreated=k?k:Ext.emptyFn;u.preprocessors=t;this.doProcess(g,o,u)},doProcess:function(h,l,g){var k=this,m=g.preprocessors,i=m.shift(),j=k.doProcess;for(;i;i=m.shift()){if(i.call(k,h,l,g,j)===false){return}}g.onBeforeCreated.apply(k,arguments)},preprocessors:{},registerPreprocessor:function(h,k,i,g,j){if(!g){g="last"}if(!i){i=[h]}this.preprocessors[h]={name:h,properties:i||false,fn:k};this.setDefaultPreprocessorPosition(h,g,j);return this},getPreprocessor:function(g){return this.preprocessors[g]},getPreprocessors:function(){return this.preprocessors},defaultPreprocessors:[],getDefaultPreprocessors:function(){return this.defaultPreprocessors},setDefaultPreprocessors:function(g){this.defaultPreprocessors=Ext.Array.from(g);return this},setDefaultPreprocessorPosition:function(i,k,j){var g=this.defaultPreprocessors,h;if(typeof k=="string"){if(k==="first"){g.unshift(i);return this}else{if(k==="last"){g.push(i);return this}}k=(k==="after")?1:-1}h=Ext.Array.indexOf(g,j);if(h!==-1){Ext.Array.splice(g,Math.max(0,h+k),0,i)}return this}});d.registerPreprocessor("extend",function(h,k,p){var l=Ext.Base,m=l.prototype,n=k.extend,g,o,j;delete k.extend;if(n&&n!==Object){g=n}else{g=l}o=g.prototype;if(!g.$isClass){for(j in m){if(!o[j]){o[j]=m[j]}}}h.extend(g);h.triggerExtended.apply(h,arguments);if(k.onClassExtended){h.onExtended(k.onClassExtended,h);delete k.onClassExtended}},true);d.registerPreprocessor("privates",function(g,j){var i=j.privates,k=i.statics,h=i.privacy||true;delete j.privates;delete i.statics;g.addMembers(i,false,h);if(k){g.addMembers(k,true,h)}});d.registerPreprocessor("statics",function(g,h){g.addStatics(h.statics);delete h.statics});d.registerPreprocessor("inheritableStatics",function(g,h){g.addInheritableStatics(h.inheritableStatics);delete h.inheritableStatics});Ext.createRuleFn=function(g){return new Function("$c","with($c) { return ("+g+"); }")};Ext.expressionCache=new Ext.util.Cache({miss:Ext.createRuleFn});Ext.ruleKeySortFn=b;Ext.getPlatformConfigKeys=function(i){var h=[],g,j;for(g in i){j=Ext.expressionCache.get(g);if(j(Ext.platformTags)){h.push(g)}}h.sort(b);return h};d.registerPreprocessor("platformConfig",function(j,n,u){var o=n.platformConfig,k=n.config,s,p,q,l,h,v,g,t,m,r;delete n.platformConfig;l=j.getConfigurator();p=l.configs;v=Ext.getPlatformConfigKeys(o);for(m=0,r=v.length;m<r;++m){q=o[v[m]];h=s=null;for(g in q){t=q[g];if(k&&g in k){(s||(s={}))[g]=t;(h||(h={}))[g]=k[g];delete k[g]}else{if(g in p){(s||(s={}))[g]=t}else{n[g]=t}}}if(h){l.add(h)}if(s){l.add(s)}}});d.registerPreprocessor("config",function(g,h){if(h.hasOwnProperty("$configPrefixed")){g.prototype.$configPrefixed=h.$configPrefixed}g.addConfig(h.config);delete h.config});d.registerPreprocessor("cachedConfig",function(g,h){if(h.hasOwnProperty("$configPrefixed")){g.prototype.$configPrefixed=h.$configPrefixed}g.addCachedConfig(h.cachedConfig);delete h.cachedConfig});d.registerPreprocessor("mixins",function(j,k,g){var i=k.mixins,h=g.onCreated;delete k.mixins;g.onCreated=function(){g.onCreated=h;j.mixin(i);return g.onCreated.apply(this,arguments)}});Ext.extend=function(i,j,h){if(arguments.length===2&&Ext.isObject(j)){h=j;j=i;i=null}var g;if(!j){throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page.")}h.extend=j;h.preprocessors=["extend","statics","inheritableStatics","mixins","platformConfig","config"];if(i){g=new d(i,h);g.prototype.constructor=i}else{g=new d(h)}g.prototype.override=function(l){for(var k in l){if(l.hasOwnProperty(k)){this[k]=l[k]}}};return g}}());Ext.Inventory=function(){var a=this;a.names=[];a.paths={};a.alternateToName={};a.aliasToName={};a.nameToAliases={};a.nameToAlternates={}};Ext.Inventory.prototype={_array1:[0],prefixes:null,dotRe:/\./g,wildcardRe:/\*/g,addAlias:function(b,a,c){return this.addMapping(b,a,this.aliasToName,this.nameToAliases,c)},addAlternate:function(a,b){return this.addMapping(a,b,this.alternateToName,this.nameToAlternates)},addMapping:function(m,e,g,p,h){var b=m.$className||m,k=b,l=this._array1,o,d,q,j,c,n;if(Ext.isString(b)){k={};k[b]=e}for(q in k){d=k[q];if(Ext.isString(d)){l[0]=d;d=l}c=d.length;n=p[q]||(p[q]=[]);for(j=0;j<c;++j){if(!(o=d[j])){continue}if(g[o]!==q){g[o]=q;n.push(o)}}}},getAliasesByName:function(a){return this.nameToAliases[a]||null},getAlternatesByName:function(a){return this.nameToAlternates[a]||null},getNameByAlias:function(a){return this.aliasToName[a]||""},getNameByAlternate:function(a){return this.alternateToName[a]||""},getNamesByExpression:function(m,a,j){var v=this,s=v.aliasToName,p=v.alternateToName,b=v.nameToAliases,d=v.nameToAlternates,u=j?a:{},l=[],t=Ext.isString(m)?[m]:m,h=t.length,e=v.wildcardRe,c,q,r,k,o,w,g;for(q=0;q<h;++q){if((c=t[q]).indexOf("*")<0){if(!(w=s[c])){if(!(w=p[c])){w=c}}if(!(w in u)&&!(a&&(w in a))){u[w]=1;l.push(w)}}else{g=new RegExp("^"+c.replace(e,"(.*?)")+"$");for(w in b){if(!(w in u)&&!(a&&(w in a))){if(!(k=g.test(w))){o=(r=b[w]).length;while(!k&&o-->0){k=g.test(r[o])}r=d[w];if(r&&!k){o=r.length;while(!k&&o-->0){k=g.test(r[o])}}}if(k){u[w]=1;l.push(w)}}}}}return l},getPath:function(b){var c=this,e=c.paths,a="",d;if(b in e){a=e[b]}else{d=c.getPrefix(b);if(d){b=b.substring(d.length+1);a=e[d];if(a){a+="/"}}a+=b.replace(c.dotRe,"/")+".js"}return a},getPrefix:function(b){if(b in this.paths){return b}var e=this.getPrefixes(),a=e.length,c,d;while(a-->0){c=(d=e[a]).length;if(c<b.length&&b.charAt(c)==="."&&d===b.substring(0,c)){return d}}return""},getPrefixes:function(){var a=this,b=a.prefixes;if(!b){a.prefixes=b=a.names.slice(0);b.sort(a._compareNames)}return b},removeName:function(b){var g=this,k=g.aliasToName,m=g.alternateToName,l=g.nameToAliases,e=g.nameToAlternates,c=l[b],h=e[b],d,j;delete l[b];delete e[b];if(c){for(d=c.length;d--;){if(b===(j=c[d])){delete k[j]}}}if(h){for(d=h.length;d--;){if(b===(j=h[d])){delete m[j]}}}},resolveName:function(a){var b=this,c;if(!(a in b.nameToAliases)){if(!(c=b.aliasToName[a])){c=b.alternateToName[a]}}return c||a},select:function(e,c){var d=this,g={},b={excludes:g,exclude:function(){d.getNamesByExpression(arguments,g,true);return this}},a;for(a in e){b[a]=d.selectMethod(g,e[a],c||e)}return b},selectMethod:function(d,b,a){var c=this;return function(e){var g=Ext.Array.slice(arguments,1);g.unshift(c.getNamesByExpression(e,d));return b.apply(a,g)}},setPath:Ext.Function.flexSetter(function(a,c){var b=this;b.paths[a]=c;b.names.push(a);b.prefixes=null;return b}),_compareNames:function(a,c){var b=a.length-c.length;if(!b){b=(a<c)?-1:1}return b}};Ext.ClassManager=(function(q,l,s,e,o){var b=Ext.Class.makeCtor,h=[],i={Ext:{name:"Ext",value:Ext}},c=Ext.apply(new Ext.Inventory(),{classes:{},classState:{},existCache:{},instantiators:[],isCreated:function(u){if(c.classes[u]||c.existCache[u]){return true}if(!c.lookupName(u,false)){return false}c.triggerCreated(u);return true},createdListeners:[],nameCreatedListeners:{},existsListeners:[],nameExistsListeners:{},overrideMap:{},triggerCreated:function(u,v){c.existCache[u]=v||1;c.classState[u]+=40;c.notify(u,c.createdListeners,c.nameCreatedListeners)},onCreated:function(w,v,u){c.addListener(w,v,u,c.createdListeners,c.nameCreatedListeners)},notify:function(C,E,w){var x=c.getAlternatesByName(C),D=[C],z,B,y,A,v,u;for(z=0,B=E.length;z<B;z++){v=E[z];v.fn.call(v.scope,C)}while(D){for(z=0,B=D.length;z<B;z++){u=D[z];E=w[u];if(E){for(y=0,A=E.length;y<A;y++){v=E[y];v.fn.call(v.scope,u)}delete w[u]}}D=x;x=null}},addListener:function(z,y,x,w,v){if(Ext.isArray(x)){z=Ext.Function.createBarrier(x.length,z,y);for(u=0;u<x.length;u++){this.addListener(z,null,x[u],w,v)}return}var u,A={fn:z,scope:y};if(x){if(this.isCreated(x)){z.call(y,x);return}if(!v[x]){v[x]=[]}v[x].push(A)}else{w.push(A)}},$namespaceCache:i,addRootNamespaces:function(v){for(var u in v){i[u]={name:u,value:v[u]}}},clearNamespaceCache:function(){h.length=0;for(var u in i){if(!i[u].value){delete i[u]}}},getNamespaceEntry:function(v){if(typeof v!=="string"){return v}var w=i[v],u;if(!w){u=v.lastIndexOf(".");if(u<0){w={name:v}}else{w={name:v.substring(u+1),parent:c.getNamespaceEntry(v.substring(0,u))}}i[v]=w}return w},lookupName:function(x,z){var y=c.getNamespaceEntry(x),w=Ext.global,u=0,A,v;for(A=y;A;A=A.parent){h[u++]=A}while(w&&u-->0){A=h[u];v=w;w=A.value||w[A.name];if(!w&&z){v[A.name]=w={}}}return w},setNamespace:function(v,x){var w=c.getNamespaceEntry(v),u=Ext.global;if(w.parent){u=c.lookupName(w.parent,true)}u[w.name]=x;return x},setXType:function(u,B){var w=u.$className,A=w?u:c.get(w=u),x=A.prototype,y=x.xtypes,v=x.xtypesChain,z=x.xtypesMap;if(!x.hasOwnProperty("xtypes")){x.xtypes=y=[];x.xtypesChain=v=v?v.slice(0):[];x.xtypesMap=z=Ext.apply({},z)}c.addAlias(w,"widget."+B,true);y.push(B);v.push(B);z[B]=true},set:function(u,w){var v=c.getName(w);c.classes[u]=c.setNamespace(u,w);if(v&&v!==u){c.addAlternate(v,u)}return c},get:function(u){return c.classes[u]||c.lookupName(u,false)},addNameAliasMappings:function(u){c.addAlias(u)},addNameAlternateMappings:function(u){c.addAlternate(u)},getByAlias:function(u){return c.get(c.getNameByAlias(u))},getByConfig:function(v,w){var x=v.xclass,u;if(x){u=x}else{u=v.xtype;if(u){w="widget."}else{u=v.type}u=c.getNameByAlias(w+u)}return c.get(u)},getName:function(u){return u&&u.$className||""},getClass:function(u){return u&&u.self||null},create:function(v,x,u){var w=b(v);if(typeof x==="function"){x=x(w)}x.$className=v;return new q(w,x,function(){var y=x.postprocessors||c.defaultPostprocessors,F=c.postprocessors,G=[],E,A,D,z,C,B,H;delete x.postprocessors;for(A=0,D=y.length;A<D;A++){E=y[A];if(typeof E==="string"){E=F[E];B=E.properties;if(B===true){G.push(E.fn)}else{if(B){for(z=0,C=B.length;z<C;z++){H=B[z];if(x.hasOwnProperty(H)){G.push(E.fn);break}}}}}else{G.push(E)}}x.postprocessors=G;x.createdFn=u;c.processCreate(v,this,x)})},processCreate:function(x,v,z){var y=this,u=z.postprocessors.shift(),w=z.createdFn;if(!u){if(x){y.set(x,v)}delete v._classHooks;if(w){w.call(v,v)}if(x){y.triggerCreated(x)}return}if(u.call(y,x,v,z,y.processCreate)!==false){y.processCreate(x,v,z)}},createOverride:function(A,y,w){var C=this,D=y.override,F=y.requires,x=y.uses,z=y.mixins,u,E=1,B,v=function(){var G,K,J,I,H;if(!B){K=F?F.slice(0):[];if(z){if(!(u=z instanceof Array)){for(I in z){if(Ext.isString(G=z[I])){K.push(G)}}}else{for(J=0,H=z.length;J<H;++J){if(Ext.isString(G=z[J])){K.push(G)}}}}B=true;if(K.length){Ext.require(K,v);return}}if(u){for(J=0,H=z.length;J<H;++J){if(Ext.isString(G=z[J])){z[J]=Ext.ClassManager.get(G)}}}else{if(z){for(I in z){if(Ext.isString(G=z[I])){z[I]=Ext.ClassManager.get(G)}}}}G=C.get(D);delete y.override;delete y.compatibility;delete y.requires;delete y.uses;Ext.override(G,y);Ext.Loader.history.push(A);if(x){Ext.Loader.addUsedClasses(x)}if(w){w.call(G,G)}};c.overrideMap[A]=true;if("compatibility" in y&&Ext.isString(E=y.compatibility)){E=Ext.checkVersion(E)}if(E){C.onCreated(v,C,D)}C.triggerCreated(A,2);return C},instantiateByAlias:function(){var v=arguments[0],u=s.call(arguments),w=this.getNameByAlias(v);u[0]=w;return Ext.create.apply(Ext,u)},dynInstantiate:function(v,u){u=e(u,true);u.unshift(v);return Ext.create.apply(Ext,u)},getInstantiator:function(x){var w=this.instantiators,y,v,u;y=w[x];if(!y){v=x;u=[];for(v=0;v<x;v++){u.push("a["+v+"]")}y=w[x]=new Function("c","a","return new c("+u.join(",")+")")}return y},postprocessors:{},defaultPostprocessors:[],registerPostprocessor:function(v,y,w,u,x){if(!u){u="last"}if(!w){w=[v]}this.postprocessors[v]={name:v,properties:w||false,fn:y};this.setDefaultPostprocessorPosition(v,u,x);return this},setDefaultPostprocessors:function(u){this.defaultPostprocessors=e(u);return this},setDefaultPostprocessorPosition:function(v,y,x){var w=this.defaultPostprocessors,u;if(typeof y==="string"){if(y==="first"){w.unshift(v);return this}else{if(y==="last"){w.push(v);return this}}y=(y==="after")?1:-1}u=Ext.Array.indexOf(w,x);if(u!==-1){Ext.Array.splice(w,Math.max(0,u+y),0,v)}return this}});c.registerPostprocessor("alias",function(w,v,z){var u=Ext.Array.from(z.alias),x,y;for(x=0,y=u.length;x<y;x++){l=u[x];this.addAlias(v,l)}},["xtype","alias"]);c.registerPostprocessor("singleton",function(v,u,x,w){if(x.singleton){w.call(this,v,new u(),x)}else{return true}return false});c.registerPostprocessor("alternateClassName",function(v,u,z){var x=z.alternateClassName,w,y,A;if(!(x instanceof Array)){x=[x]}for(w=0,y=x.length;w<y;w++){A=x[w];this.set(A,u)}});c.registerPostprocessor("debugHooks",function(v,u,w){var x=u.isInstance?u.self:u;delete x.prototype.debugHooks});c.registerPostprocessor("deprecated",function(v,u,w){var x=u.isInstance?u.self:u;x.addDeprecations(w.deprecated);delete x.prototype.deprecated});Ext.apply(Ext,{create:function(){var w=arguments[0],x=typeof w,v=s.call(arguments,1),u;if(x==="function"){u=w}else{if(x!=="string"&&v.length===0){v=[w];if(!(w=w.xclass)){w=v[0].xtype;if(w){w="widget."+w}}}w=c.resolveName(w);u=c.get(w)}if(!u){Ext.syncRequire(w);u=c.get(w)}return c.getInstantiator(v.length)(u,v)},widget:function(w,v){var z=w,x,y,u;if(typeof z!=="string"){v=w;z=v.xtype;y=v.xclass}else{v=v||{}}if(v.isComponent){return v}if(!y){x="widget."+z;y=c.getNameByAlias(x)}if(y){u=c.get(y)}if(!u){return Ext.create(y||x,v)}return new u(v)},createByAlias:l(c,"instantiateByAlias"),define:function(v,w,u){if(w.override){c.classState[v]=20;return c.createOverride.apply(c,arguments)}c.classState[v]=10;return c.create.apply(c,arguments)},undefine:function(w){var u=c.classes;delete u[w];delete c.existCache[w];delete c.classState[w];c.removeName(w);var x=c.getNamespaceEntry(w),v=x.parent?c.lookupName(x.parent,false):Ext.global;if(v){try{delete v[x.name]}catch(y){v[x.name]=undefined}}},getClassName:l(c,"getName"),getDisplayName:function(u){if(u){if(u.displayName){return u.displayName}if(u.$name&&u.$class){return Ext.getClassName(u.$class)+"#"+u.$name}if(u.$className){return u.$className}}return"Anonymous"},getClass:l(c,"getClass"),namespace:function(){var u=o,v;for(v=arguments.length;v-->0;){u=c.lookupName(arguments[v],true)}return u}});Ext.addRootNamespaces=c.addRootNamespaces;Ext.createWidget=Ext.widget;Ext.ns=Ext.namespace;q.registerPreprocessor("className",function(u,v){if("$className" in v){u.$className=v.$className}},true,"first");q.registerPreprocessor("alias",function(F,z){var D=F.prototype,w=e(z.xtype),u=e(z.alias),G="widget.",E=G.length,A=Array.prototype.slice.call(D.xtypesChain||[]),x=Ext.merge({},D.xtypesMap||{}),y,C,B,v;for(y=0,C=u.length;y<C;y++){B=u[y];if(B.substring(0,E)===G){v=B.substring(E);Ext.Array.include(w,v)}}F.xtype=z.xtype=w[0];z.xtypes=w;for(y=0,C=w.length;y<C;y++){v=w[y];if(!x[v]){x[v]=true;A.push(v)}}z.xtypesChain=A;z.xtypesMap=x;Ext.Function.interceptAfter(z,"onClassCreated",function(){var H=D.mixins,J,I;for(J in H){if(H.hasOwnProperty(J)){I=H[J];w=I.xtypes;if(w){for(y=0,C=w.length;y<C;y++){v=w[y];if(!x[v]){x[v]=true;A.push(v)}}}}}});for(y=0,C=w.length;y<C;y++){v=w[y];Ext.Array.include(u,G+v)}z.alias=u},["xtype","alias"]);if(Ext.manifest){var g=Ext.manifest,r=g.classes,n=g.paths,p={},j={},d,k,t,m,a;if(n){if(g.bootRelative){a=Ext.Boot.baseUrl;for(m in n){if(n.hasOwnProperty(m)){n[m]=a+n[m]}}}c.setPath(n)}if(r){for(d in r){j[d]=[];p[d]=[];k=r[d];if(k.alias){p[d]=k.alias}if(k.alternates){j[d]=k.alternates}}}c.addAlias(p);c.addAlternate(j)}return c}(Ext.Class,Ext.Function.alias,Array.prototype.slice,Ext.Array.from,Ext.global));(Ext.env||(Ext.env={})).Browser=function(u,o){var v=this,a=Ext.Boot.browserPrefixes,c=Ext.Boot.browserNames,b=v.enginePrefixes,k=v.engineNames,r=u.match(new RegExp("((?:"+Ext.Object.getValues(a).join(")|(?:")+"))([\\w\\._]+)")),h=u.match(new RegExp("((?:"+Ext.Object.getValues(b).join(")|(?:")+"))([\\w\\._]+)")),q=c.other,t=k.other,m="",g="",d="",j=false,p,n,l,w,s;v.userAgent=u;if(/Edge\//.test(u)){r=u.match(/(Edge\/)([\w.]+)/)}if(r){q=c[Ext.Object.getKey(a,r[1])];if(q==="Safari"&&/^Opera/.test(u)){q="Opera"}m=new Ext.Version(r[2])}if(h){t=k[Ext.Object.getKey(b,h[1])];g=new Ext.Version(h[2])}if(t==="Trident"&&q!=="IE"){q="IE";var e=u.match(/.*rv:(\d+.\d+)/);if(e&&e.length){e=e[1];m=new Ext.Version(e)}}if(q&&m){Ext.setVersion(q,m)}if(u.match(/FB/)&&q==="Other"){q=c.safari;t=k.webkit}if(u.match(/Android.*Chrome/g)){q="ChromeMobile"}if(u.match(/OPR/)){q="Opera";r=u.match(/OPR\/(\d+.\d+)/);m=new Ext.Version(r[1])}Ext.apply(this,{engineName:t,engineVersion:g,name:q,version:m});this.setFlag(q,true,o);if(m){d=m.getMajor()||"";if(v.is.IE){d=parseInt(d,10);l=document.documentMode;if(l===7||(d===7&&l!==8&&l!==9&&l!==10)){d=7}else{if(l===8||(d===8&&l!==8&&l!==9&&l!==10)){d=8}else{if(l===9||(d===9&&l!==7&&l!==8&&l!==10)){d=9}else{if(l===10||(d===10&&l!==7&&l!==8&&l!==9)){d=10}else{if(l===11||(d===11&&l!==7&&l!==8&&l!==9&&l!==10)){d=11}}}}}s=Math.max(d,Ext.Boot.maxIEVersion);for(p=7;p<=s;++p){n="isIE"+p;if(d<=p){Ext[n+"m"]=true}if(d===p){Ext[n]=true}if(d>=p){Ext[n+"p"]=true}}}if(v.is.Opera&&parseInt(d,10)<=12){Ext.isOpera12m=true}Ext.chromeVersion=Ext.isChrome?d:0;Ext.firefoxVersion=Ext.isFirefox?d:0;Ext.ieVersion=Ext.isIE?d:0;Ext.operaVersion=Ext.isOpera?d:0;Ext.safariVersion=Ext.isSafari?d:0;Ext.webKitVersion=Ext.isWebKit?d:0;this.setFlag(q+d,true,o);this.setFlag(q+m.getShortVersion())}for(p in c){if(c.hasOwnProperty(p)){w=c[p];this.setFlag(w,q===w)}}this.setFlag(w);if(g){this.setFlag(t+(g.getMajor()||""));this.setFlag(t+g.getShortVersion())}for(p in k){if(k.hasOwnProperty(p)){w=k[p];this.setFlag(w,t===w,o)}}this.setFlag("Standalone",!!navigator.standalone);this.setFlag("Ripple",!!document.getElementById("tinyhippos-injected")&&!Ext.isEmpty(window.top.ripple));this.setFlag("WebWorks",!!window.blackberry);if(window.PhoneGap!==undefined||window.Cordova!==undefined||window.cordova!==undefined){j=true;this.setFlag("PhoneGap");this.setFlag("Cordova")}if(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(u)){j=true}this.setFlag("WebView",j);this.isStrict=Ext.isStrict=document.compatMode==="CSS1Compat";this.isSecure=Ext.isSecure;this.identity=q+d+(this.isStrict?"Strict":"Quirks")};Ext.env.Browser.prototype={constructor:Ext.env.Browser,engineNames:{webkit:"WebKit",gecko:"Gecko",presto:"Presto",trident:"Trident",other:"Other"},enginePrefixes:{webkit:"AppleWebKit/",gecko:"Gecko/",presto:"Presto/",trident:"Trident/"},styleDashPrefixes:{WebKit:"-webkit-",Gecko:"-moz-",Trident:"-ms-",Presto:"-o-",Other:""},stylePrefixes:{WebKit:"Webkit",Gecko:"Moz",Trident:"ms",Presto:"O",Other:""},propertyPrefixes:{WebKit:"webkit",Gecko:"moz",Trident:"ms",Presto:"o",Other:""},is:function(a){return !!this.is[a]},name:null,version:null,engineName:null,engineVersion:null,setFlag:function(a,c,b){if(c===undefined){c=true}this.is[a]=c;this.is[a.toLowerCase()]=c;if(b){Ext["is"+a]=c}return this},getStyleDashPrefix:function(){return this.styleDashPrefixes[this.engineName]},getStylePrefix:function(){return this.stylePrefixes[this.engineName]},getVendorProperyName:function(a){var b=this.propertyPrefixes[this.engineName];if(b.length>0){return b+Ext.String.capitalize(a)}return a},getPreferredTranslationMethod:function(a){if(typeof a==="object"&&"translationMethod" in a&&a.translationMethod!=="auto"){return a.translationMethod}else{return"csstransform"}}};(function(a){Ext.browser=new Ext.env.Browser(a,true);Ext.userAgent=a.toLowerCase();Ext.SSL_SECURE_URL=Ext.isSecure&&Ext.isIE?"javascript:''":"about:blank"}(Ext.global.navigator.userAgent));Ext.env.OS=function(p,b,m){var l=this,k=Ext.Boot.osNames,d=Ext.Boot.osPrefixes,a,j="",g=l.is,c,h,e,o,n;m=m||Ext.browser;for(c in d){if(d.hasOwnProperty(c)){h=d[c];e=p.match(new RegExp("(?:"+h+")([^\\s;]+)"));if(e){a=k[c];n=e[1];if(n&&n==="HTC_"){j=new Ext.Version("2.3")}else{if(n&&n==="Silk/"){j=new Ext.Version("2.3")}else{j=new Ext.Version(e[e.length-1])}}break}}}if(!a){a=k[(p.toLowerCase().match(/mac|win|linux/)||["other"])[0]];j=new Ext.Version("")}this.name=a;this.version=j;if(b){this.setFlag(b.replace(/ simulator$/i,""))}this.setFlag(a);if(j){this.setFlag(a+(j.getMajor()||""));this.setFlag(a+j.getShortVersion())}for(c in k){if(k.hasOwnProperty(c)){o=k[c];if(!g.hasOwnProperty(a)){this.setFlag(o,(a===o))}}}if(this.name==="iOS"&&window.screen.height===568){this.setFlag("iPhone5")}if(m.is.Safari||m.is.Silk){if(this.is.Android2||this.is.Android3||m.version.shortVersion===501){m.setFlag("AndroidStock")}if(this.is.Android4){m.setFlag("AndroidStock");m.setFlag("AndroidStock4")}}};Ext.env.OS.prototype={constructor:Ext.env.OS,is:function(a){return !!this[a]},name:null,version:null,setFlag:function(a,b){if(b===undefined){b=true}if(this.flags){this.flags[a]=b}this.is[a]=b;this.is[a.toLowerCase()]=b;return this}};(function(){var a=Ext.global.navigator,h=a.userAgent,g=Ext.env.OS,e=(Ext.is||(Ext.is={})),i,d,b;g.prototype.flags=e;Ext.os=i=new g(h,a.platform);d=i.name;Ext["is"+d]=true;Ext.isMac=e.Mac=e.MacOS;var j=window.location.search.match(/deviceType=(Tablet|Phone)/),c=window.deviceType;if(j&&j[1]){b=j[1]}else{if(c==="iPhone"){b="Phone"}else{if(c==="iPad"){b="Tablet"}else{if(!i.is.Android&&!i.is.iOS&&!i.is.WindowsPhone&&/Windows|Linux|MacOS/.test(d)){b="Desktop";Ext.browser.is.WebView=!!Ext.browser.is.Ripple}else{if(i.is.iPad||i.is.RIMTablet||i.is.Android3||Ext.browser.is.Silk||(i.is.Android&&h.search(/mobile/i)===-1)){b="Tablet"}else{b="Phone"}}}}}i.setFlag(b,true);i.deviceType=b;delete g.prototype.flags}());Ext.feature={has:function(a){return !!this.has[a]},testElements:{},getTestElement:function(a,b){if(a===undefined){a="div"}else{if(typeof a!=="string"){return a}}if(b){return document.createElement(a)}if(!this.testElements[a]){this.testElements[a]=document.createElement(a)}return this.testElements[a]},isStyleSupported:function(c,b){var d=this.getTestElement(b).style,a=Ext.String.capitalize(c);if(typeof d[c]!=="undefined"||typeof d[Ext.browser.getStylePrefix(c)+a]!=="undefined"){return true}return false},isStyleSupportedWithoutPrefix:function(b,a){var c=this.getTestElement(a).style;if(typeof c[b]!=="undefined"){return true}return false},isEventSupported:function(c,a){if(a===undefined){a=window}var e=this.getTestElement(a),b="on"+c.toLowerCase(),d=(b in e);if(!d){if(e.setAttribute&&e.removeAttribute){e.setAttribute(b,"");d=typeof e[b]==="function";if(typeof e[b]!=="undefined"){e[b]=undefined}e.removeAttribute(b)}}return d},getStyle:function(c,b){var a=c.ownerDocument.defaultView,d=(a?a.getComputedStyle(c,null):c.currentStyle);return(d||c.style)[b]},getSupportedPropertyName:function(b,a){var c=Ext.browser.getVendorProperyName(a);if(c in b){return c}else{if(a in b){return a}}return null},detect:function(j){var k=this,m=document,g=k.toRun||k.tests,e=g.length,b=m.createElement("div"),c=[],p=Ext.supports,o=k.has,a,i,h,d,l;b.innerHTML='<div style="height:30px;width:50px;"><div style="height:20px;width:20px;"></div></div><div style="width: 200px; height: 200px; position: relative; padding: 5px;"><div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></div></div><div style="position: absolute; left: 10%; top: 10%;"></div><div style="float:left; background-color:transparent;"></div>';if(j){m.body.appendChild(b)}d=k.preDetected[Ext.browser.identity]||[];while(e--){h=g[e];l=d[e];a=h.name;i=h.names;if(l===undefined){if(!j&&h.ready){c.push(h);continue}l=h.fn.call(k,m,b)}if(a){p[a]=o[a]=l}else{if(i){while(i.length){a=i.pop();p[a]=o[a]=l}}}}if(j){m.body.removeChild(b)}k.toRun=c},report:function(){var b=[],a=this.tests.length,c;for(c=0;c<a;++c){b.push(this.has[this.tests[c].name]?1:0)}Ext.log(Ext.browser.identity+": ["+b.join(",")+"]")},preDetected:{},tests:[{name:"CloneNodeCopiesExpando",fn:function(){var a=document.createElement("div");a.expandoProp={};return a.cloneNode().expandoProp===a.expandoProp}},{name:"CSSPointerEvents",fn:function(a){return"pointerEvents" in a.documentElement.style}},{name:"CSS3BoxShadow",fn:function(a){return"boxShadow" in a.documentElement.style||"WebkitBoxShadow" in a.documentElement.style||"MozBoxShadow" in a.documentElement.style}},{name:"CSS3NegationSelector",fn:function(b){try{b.querySelectorAll("foo:not(bar)")}catch(a){return false}return true}},{name:"ClassList",fn:function(a){return !!a.documentElement.classList}},{name:"Canvas",fn:function(){var a=this.getTestElement("canvas");return !!(a&&a.getContext&&a.getContext("2d"))}},{name:"Svg",fn:function(a){return !!(a.createElementNS&&!!a.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect)}},{name:"Vml",fn:function(){var b=this.getTestElement(),a=false;b.innerHTML="<!--[if vml]><br><![endif]-->";a=(b.childNodes.length===1);b.innerHTML="";return a}},{name:"touchScroll",fn:function(){var a=0;if(Ext.os.is.Desktop&&(navigator.maxTouchPoints||navigator.msMaxTouchPoints)){a=1}else{if(Ext.supports.Touch){a=2}}return a}},{name:"Touch",fn:function(){var a=navigator.msMaxTouchPoints||navigator.maxTouchPoints;if(Ext.browser.is.Chrome&&Ext.browser.version.isLessThanOrEqual(39)){return(Ext.supports.TouchEvents&&a!==1)||a>1}else{return Ext.supports.TouchEvents||a>0}}},{name:"TouchEvents",fn:function(){return this.isEventSupported("touchend")}},{name:"PointerEvents",fn:function(){return navigator.pointerEnabled}},{name:"MSPointerEvents",fn:function(){return navigator.msPointerEnabled}},{name:"Orientation",fn:function(){return("orientation" in window)&&this.isEventSupported("orientationchange")}},{name:"OrientationChange",fn:function(){return this.isEventSupported("orientationchange")}},{name:"DeviceMotion",fn:function(){return this.isEventSupported("devicemotion")}},{names:["Geolocation","GeoLocation"],fn:function(){return"geolocation" in window.navigator}},{name:"SqlDatabase",fn:function(){return"openDatabase" in window}},{name:"WebSockets",fn:function(){return"WebSocket" in window}},{name:"Range",fn:function(){return !!document.createRange}},{name:"CreateContextualFragment",fn:function(){var a=!!document.createRange?document.createRange():false;return a&&!!a.createContextualFragment}},{name:"History",fn:function(){return("history" in window&&"pushState" in window.history)}},{name:"Css3dTransforms",fn:function(){return this.has("CssTransforms")&&this.isStyleSupported("perspective")}},{name:"CssTransforms",fn:function(){return this.isStyleSupported("transform")}},{name:"CssTransformNoPrefix",fn:function(){return this.isStyleSupportedWithoutPrefix("transform")}},{name:"CssAnimations",fn:function(){return this.isStyleSupported("animationName")}},{names:["CssTransitions","Transitions"],fn:function(){return this.isStyleSupported("transitionProperty")}},{names:["Audio","AudioTag"],fn:function(){return !!this.getTestElement("audio").canPlayType}},{name:"Video",fn:function(){return !!this.getTestElement("video").canPlayType}},{name:"LocalStorage",fn:function(){try{if("localStorage" in window&&window.localStorage!==null){localStorage.setItem("sencha-localstorage-test","test success");localStorage.removeItem("sencha-localstorage-test");return true}}catch(a){}return false}},{name:"XHR2",fn:function(){return window.ProgressEvent&&window.FormData&&window.XMLHttpRequest&&("withCredentials" in new XMLHttpRequest())}},{name:"XHRUploadProgress",fn:function(){if(window.XMLHttpRequest&&!Ext.browser.is.AndroidStock){var a=new XMLHttpRequest();return a&&("upload" in a)&&("onprogress" in a.upload)}return false}},{name:"NumericInputPlaceHolder",fn:function(){return !(Ext.browser.is.AndroidStock4&&Ext.os.version.getMinor()<2)}},{name:"matchesSelector",fn:function(){var b=document.documentElement,e="matches",d="webkitMatchesSelector",a="msMatchesSelector",c="mozMatchesSelector";return b[e]?e:b[d]?d:b[a]?a:b[c]?c:null}},{name:"RightMargin",ready:true,fn:function(b,c){var a=b.defaultView;return !(a&&a.getComputedStyle(c.firstChild.firstChild,null).marginRight!=="0px")}},{name:"DisplayChangeInputSelectionBug",fn:function(){var a=Ext.webKitVersion;return 0<a&&a<533}},{name:"DisplayChangeTextAreaSelectionBug",fn:function(){var a=Ext.webKitVersion;return 0<a&&a<534.24}},{name:"TransparentColor",ready:true,fn:function(b,c,a){a=b.defaultView;return !(a&&a.getComputedStyle(c.lastChild,null).backgroundColor!=="transparent")}},{name:"ComputedStyle",ready:true,fn:function(b,c,a){a=b.defaultView;return a&&a.getComputedStyle}},{name:"Float",fn:function(a){return"cssFloat" in a.documentElement.style}},{name:"CSS3BorderRadius",ready:true,fn:function(d){var b=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],c=false,a;for(a=0;a<b.length;a++){if(d.documentElement.style[b[a]]!==undefined){c=true}}return c&&!Ext.isIE9}},{name:"CSS3LinearGradient",fn:function(g,a){var i="background-image:",h="-webkit-gradient(linear, left top, right bottom, from(black), to(white))",e="linear-gradient(left top, black, white)",d="-moz-"+e,b="-ms-"+e,c="-o-"+e,j=[i+h,i+e,i+d,i+b,i+c];a.style.cssText=j.join(";");return((""+a.style.backgroundImage).indexOf("gradient")!==-1)&&!Ext.isIE9}},{name:"MouseEnterLeave",fn:function(a){return("onmouseenter" in a.documentElement&&"onmouseleave" in a.documentElement)}},{name:"MouseWheel",fn:function(a){return("onmousewheel" in a.documentElement)}},{name:"Opacity",fn:function(a,b){if(Ext.isIE8){return false}b.firstChild.style.cssText="opacity:0.73";return b.firstChild.style.opacity=="0.73"}},{name:"Placeholder",fn:function(a){return"placeholder" in a.createElement("input")}},{name:"Direct2DBug",fn:function(a){return Ext.isString(a.documentElement.style.msTransformOrigin)&&Ext.isIE9m}},{name:"BoundingClientRect",fn:function(a){return"getBoundingClientRect" in a.documentElement}},{name:"RotatedBoundingClientRect",ready:true,fn:function(e){var a=e.body,b=false,d=e.createElement("div"),c=d.style;if(d.getBoundingClientRect){c.position="absolute";c.top="0";c.WebkitTransform=c.MozTransform=c.msTransform=c.OTransform=c.transform="rotate(90deg)";c.width="100px";c.height="30px";a.appendChild(d);b=d.getBoundingClientRect().height!==100;a.removeChild(d)}return b}},{name:"ChildContentClearedWhenSettingInnerHTML",ready:true,fn:function(){var a=this.getTestElement(),b;a.innerHTML="<div>a</div>";b=a.firstChild;a.innerHTML="<div>b</div>";return b.innerHTML!=="a"}},{name:"IncludePaddingInWidthCalculation",ready:true,fn:function(a,b){return b.childNodes[1].firstChild.offsetWidth===210}},{name:"IncludePaddingInHeightCalculation",ready:true,fn:function(a,b){return b.childNodes[1].firstChild.offsetHeight===210}},{name:"TextAreaMaxLength",fn:function(a){return("maxlength" in a.createElement("textarea"))}},{name:"GetPositionPercentage",ready:true,fn:function(a,b){return Ext.feature.getStyle(b.childNodes[2],"left")==="10%"}},{name:"PercentageHeightOverflowBug",ready:true,fn:function(d){var a=false,c,b;if(Ext.getScrollbarSize().height){b=this.getTestElement();c=b.style;c.height="50px";c.width="50px";c.overflow="auto";c.position="absolute";b.innerHTML=['<div style="display:table;height:100%;">','<div style="width:51px;"></div>',"</div>"].join("");d.body.appendChild(b);if(b.firstChild.offsetHeight===50){a=true}d.body.removeChild(b)}return a}},{name:"xOriginBug",ready:true,fn:function(d,e){e.innerHTML='<div id="b1" style="height:100px;width:100px;direction:rtl;position:relative;overflow:scroll"><div id="b2" style="position:relative;width:100%;height:20px;"></div><div id="b3" style="position:absolute;width:20px;height:20px;top:0px;right:0px"></div></div>';var c=document.getElementById("b1").getBoundingClientRect(),b=document.getElementById("b2").getBoundingClientRect(),a=document.getElementById("b3").getBoundingClientRect();return(b.left!==c.left&&a.right!==c.right)}},{name:"ScrollWidthInlinePaddingBug",ready:true,fn:function(d){var a=false,c,b;b=d.createElement("div");c=b.style;c.height="50px";c.width="50px";c.padding="10px";c.overflow="hidden";c.position="absolute";b.innerHTML='<span style="display:inline-block;zoom:1;height:60px;width:60px;"></span>';d.body.appendChild(b);if(b.scrollWidth===70){a=true}d.body.removeChild(b);return a}},{name:"rtlVertScrollbarOnRight",ready:true,fn:function(c,d){d.innerHTML='<div style="height:100px;width:100px;direction:rtl;overflow:scroll"><div style="width:20px;height:200px;"></div></div>';var b=d.firstChild,a=b.firstChild;return(a.offsetLeft+a.offsetWidth!==b.offsetLeft+b.offsetWidth)}},{name:"rtlVertScrollbarOverflowBug",ready:true,fn:function(b,c){c.innerHTML='<div style="height:100px;width:100px;direction:rtl;overflow:auto"><div style="width:95px;height:200px;"></div></div>';var a=c.firstChild;return a.clientHeight===a.offsetHeight}},{identity:"defineProperty",fn:function(){if(Ext.isIE8m){Ext.Object.defineProperty=Ext.emptyFn;return false}return true}},{identify:"nativeXhr",fn:function(){if(typeof XMLHttpRequest!=="undefined"){return true}XMLHttpRequest=function(){try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(a){return null}};return false}},{name:"SpecialKeyDownRepeat",fn:function(){return Ext.isWebKit?parseInt(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1],10)>=525:!((Ext.isGecko&&!Ext.isWindows)||(Ext.isOpera&&Ext.operaVersion<12))}},{name:"EmulatedMouseOver",fn:function(){return Ext.os.is.iOS}},{name:"Hashchange",fn:function(){var a=document.documentMode;return"onhashchange" in window&&(a===undefined||a>7)}},{name:"FixedTableWidthBug",ready:true,fn:function(){if(Ext.isIE8){return false}var b=document.createElement("div"),a=document.createElement("div"),c;b.setAttribute("style","display:table;table-layout:fixed;");a.setAttribute("style","display:table-cell;min-width:50px;");b.appendChild(a);document.body.appendChild(b);b.offsetWidth;b.style.width="25px";c=b.offsetWidth;document.body.removeChild(b);return c===50}},{name:"FocusinFocusoutEvents",fn:function(){return !Ext.isGecko}},{name:"AsyncFocusEvents",fn:function(){return Ext.asyncFocus=!!Ext.isIE}},{name:"accessibility",ready:true,fn:function(h){var a=h.body,i,d,e,b,c;function g(o){var j=[],l=0,n,k;if(o.indexOf("rgb(")!==-1){j=o.replace("rgb(","").replace(")","").split(", ")}else{if(o.indexOf("#")!==-1){n=o.length===7?/^#(\S\S)(\S\S)(\S\S)$/:/^#(\S)(\S)(\S)$/;k=o.match(n);if(k){j=["0x"+k[1],"0x"+k[2],"0x"+k[3]]}}}for(var m=0;m<j.length;m++){l+=parseInt(j[m])}return l}i=h.createElement("div");d=h.createElement("img");e=i.style;Ext.apply(e,{width:"2px",position:"absolute",clip:"rect(1px,1px,1px,1px)",borderWidth:"1px",borderStyle:"solid",borderTopTolor:"#f00",borderRightColor:"#ff0",backgroundColor:"#fff",backgroundImage:"url("+Ext.BLANK_IMAGE_URL+")"});d.alt="";d.src=Ext.BLANK_IMAGE_URL;i.appendChild(d);a.appendChild(i);e=i.currentStyle||i.style;c=e.backgroundImage;b={Images:d.offsetWidth===1&&d.readyState!=="uninitialized",BackgroundImages:!(c!==null&&(c==="none"||c==="url(invalid-url:)")),BorderColors:e.borderTopColor!==e.borderRightColor,LightOnDark:g(e.color)-g(e.backgroundColor)>0};Ext.supports.HighContrastMode=!b.BackgroundImages;a.removeChild(i);i=d=null;return b}},0]};Ext.feature.tests.pop();Ext.supports={};Ext.feature.detect();Ext.env.Ready={blocks:(location.search||"").indexOf("ext-pauseReadyFire")>0?1:0,bound:0,delay:1,firing:false,generation:0,listeners:[],nextId:0,sortGeneration:0,state:0,timer:null,bind:function(){var a=Ext.env.Ready,b=document;if(!a.bound){if(b.readyState==="complete"){a.onReadyEvent({type:b.readyState||"body"})}else{a.bound=1;if(Ext.browser.is.PhoneGap&&!Ext.os.is.Desktop){a.bound=2;b.addEventListener("deviceready",a.onReadyEvent,false)}b.addEventListener("DOMContentLoaded",a.onReadyEvent,false);window.addEventListener("load",a.onReadyEvent,false)}}},block:function(){++this.blocks;Ext.isReady=false},fireReady:function(){var a=Ext.env.Ready;if(!a.state){Ext._readyTime=Ext.ticks();Ext.isDomReady=true;a.state=1;Ext.feature.detect(true);if(!a.delay){a.handleReady()}else{if(navigator.standalone){a.timer=Ext.defer(function(){a.timer=null;a.handleReadySoon()},1)}else{a.handleReadySoon()}}}},handleReady:function(){var a=this;if(a.state===1){a.state=2;Ext._beforeReadyTime=Ext.ticks();a.invokeAll();Ext._afterReadyTime=Ext.ticks()}},handleReadySoon:function(a){var b=this;if(!b.timer){b.timer=Ext.defer(function(){b.timer=null;b.handleReady()},a||b.delay)}},invoke:function(b){var a=b.delay;if(a){Ext.defer(b.fn,a,b.scope)}else{if(Ext.elevateFunction){Ext.elevateFunction(b.fn,b.scope)}else{b.fn.call(b.scope)}}},invokeAll:function(){if(Ext.elevateFunction){Ext.elevateFunction(this.doInvokeAll,this)}else{this.doInvokeAll()}},doInvokeAll:function(){var b=this,a=b.listeners,c;if(!b.blocks){Ext.isReady=true}b.firing=true;while(a.length){if(b.sortGeneration!==b.generation){b.sortGeneration=b.generation;a.sort(b.sortFn)}c=a.pop();if(b.blocks&&!c.dom){a.push(c);break}b.invoke(c)}b.firing=false},makeListener:function(d,c,b){var a={fn:d,id:++this.nextId,scope:c,dom:false,priority:0};if(b){Ext.apply(a,b)}a.phase=a.dom?0:1;return a},on:function(c,b,a){var d=Ext.env.Ready,e=d.makeListener(c,b,a);if(d.state===2&&!d.firing&&(e.dom||!d.blocks)){d.invoke(e)}else{d.listeners.push(e);++d.generation;if(!d.bound){d.bind()}}},onReadyEvent:function(b){var a=Ext.env.Ready;if(Ext.elevateFunction){Ext.elevateFunction(a.doReadyEvent,a,arguments)}else{a.doReadyEvent(b)}},doReadyEvent:function(b){var a=this;if(a.bound>0){a.unbind();a.bound=-1}if(!a.state){a.fireReady()}},sortFn:function(d,c){return -((d.phase-c.phase)||(c.priority-d.priority)||(d.id-c.id))},unblock:function(){var a=this;if(a.blocks){if(!--a.blocks){if(a.state===2&&!a.firing){a.invokeAll()}}}},unbind:function(){var a=this,b=document;if(a.bound>1){b.removeEventListener("deviceready",a.onReadyEvent,false)}b.removeEventListener("DOMContentLoaded",a.onReadyEvent,false);window.removeEventListener("load",a.onReadyEvent,false)}};(function(){var a=Ext.env.Ready;if(Ext.isIE9m){Ext.apply(a,{scrollTimer:null,readyStatesRe:/complete/i,pollScroll:function(){var b=true;try{document.documentElement.doScroll("left")}catch(c){b=false}if(b&&document.body){a.onReadyEvent({type:"doScroll"})}else{a.scrollTimer=Ext.defer(a.pollScroll,20)}return b},bind:function(){if(a.bound){return}var d=document,b;try{b=window.frameElement===undefined}catch(c){}if(!b||!d.documentElement.doScroll){a.pollScroll=Ext.emptyFn}else{if(a.pollScroll()){return}}if(d.readyState==="complete"){a.onReadyEvent({type:"already "+(d.readyState||"body")})}else{d.attachEvent("onreadystatechange",a.onReadyStateChange);window.attachEvent("onload",a.onReadyEvent);a.bound=1}},unbind:function(){document.detachEvent("onreadystatechange",a.onReadyStateChange);window.detachEvent("onload",a.onReadyEvent);if(Ext.isNumber(a.scrollTimer)){clearTimeout(a.scrollTimer);a.scrollTimer=null}},onReadyStateChange:function(){var b=document.readyState;if(a.readyStatesRe.test(b)){a.onReadyEvent({type:b})}}})}Ext.onDocumentReady=function(e,d,b){var c={dom:true};if(b){Ext.apply(c,b)}a.on(e,d,c)};Ext.onReady=function(d,c,b){a.on(d,c,b)};Ext.onInternalReady=function(d,c,b){a.on(d,c,Ext.apply({priority:1000},b))};a.bind()}());Ext.Loader=(new function(){var c=this,a=Ext.ClassManager,h=Ext.Boot,d=Ext.Class,j=Ext.env.Ready,i=Ext.Function.alias,g=["extend","mixins","requires"],n={},k=[],b=[],e=[],o={},m={},l={enabled:true,scriptChainDelay:false,disableCaching:true,disableCachingParam:"_dc",paths:a.paths,preserveScripts:true,scriptCharset:undefined},p={disableCaching:true,disableCachingParam:true,preserveScripts:true,scriptChainDelay:"loadDelay"};Ext.apply(c,{isInHistory:n,isLoading:false,history:k,config:l,readyListeners:b,optionalRequires:e,requiresMap:o,hasFileLoadError:false,scriptsLoading:0,syncModeEnabled:false,missingQueue:m,init:function(){var v=document.getElementsByTagName("script"),q=v[v.length-1].src,A=q.substring(0,q.lastIndexOf("/")+1),y=Ext._classPathMetadata,z=Ext.Microloader,s=Ext.manifest,t,w,x,u,r;if(!a.getPath("Ext")){a.setPath("Ext",A+"src")}if(y){Ext._classPathMetadata=null;c.addClassPathMappings(y)}if(s){t=s.loadOrder;w=Ext.Boot.baseUrl;if(t&&s.bootRelative){for(x=t.length,u=0;u<x;u++){r=t[u];r.path=w+r.path}}}if(z){j.block();z.onMicroloaderReady(function(){j.unblock()})}},setConfig:Ext.Function.flexSetter(function(q,r){if(q==="paths"){c.setPath(r)}else{l[q]=r;var s=p[q];if(s){h.setConfig((s===true)?q:s,r)}}return c}),getConfig:function(q){return q?l[q]:l},setPath:function(){a.setPath.apply(a,arguments);return c},addClassPathMappings:function(q){a.setPath(q);return c},addBaseUrlClassPathMappings:function(q){for(var r in q){q[r]=h.baseUrl+q[r]}Ext.Loader.addClassPathMappings(q)},getPath:function(q){return a.getPath(q)},require:function(s,r,q,u){if(u){return c.exclude(u).require(s,r,q)}var t=a.getNamesByExpression(s);return c.load(t,r,q)},syncRequire:function(){var r=c.syncModeEnabled;c.syncModeEnabled=true;var q=c.require.apply(c,arguments);c.syncModeEnabled=r;return q},exclude:function(r){var q=a.select({require:function(u,t,s){return c.load(u,t,s)},syncRequire:function(w,u,t){var v=c.syncModeEnabled;c.syncModeEnabled=true;var s=c.load(w,u,t);c.syncModeEnabled=v;return s}});q.exclude(r);return q},load:function(q,y,z){if(y){if(y.length){y=c.makeLoadCallback(q,y)}y=y.bind(z||Ext.global)}var t=[],s=q.length,w,v,u,x=[],r=a.classState;for(v=0;v<s;++v){w=a.resolveName(q[v]);if(!a.isCreated(w)){t.push(w);m[w]=c.getPath(w);if(!r[w]){x.push(m[w])}}}u=t.length;if(u){c.missingCount+=u;a.onCreated(function(){if(y){Ext.callback(y,z,arguments)}c.checkReady()},c,t);if(!l.enabled){Ext.raise("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((t.length>1)?"es":"")+": "+t.join(", "))}if(x.length){c.loadScripts({url:x,_classNames:t})}else{c.checkReady()}}else{if(y){y.call(z)}c.checkReady()}if(c.syncModeEnabled){if(s===1){return a.get(q[0])}}return c},makeLoadCallback:function(q,r){return function(){var t=[],s=q.length;while(s-->0){t[s]=a.get(q[s])}return r.apply(this,t)}},onLoadFailure:function(){var q=this,r=q.onError;c.hasFileLoadError=true;--c.scriptsLoading;if(r){r.call(q.userScope,q)}c.checkReady()},onLoadSuccess:function(){var q=this,r=q.onLoad;--c.scriptsLoading;if(r){r.call(q.userScope,q)}c.checkReady()},onReady:function(s,r,u,q){if(u){j.on(s,r,q)}else{var t=j.makeListener(s,r,q);if(c.isLoading){b.push(t)}else{j.invoke(t)}}},addUsedClasses:function(s){var q,r,t;if(s){s=(typeof s==="string")?[s]:s;for(r=0,t=s.length;r<t;r++){q=s[r];if(typeof q==="string"&&!Ext.Array.contains(e,q)){e.push(q)}}}return c},triggerReady:function(){var q,r=e;if(c.isLoading&&r.length){e=[];c.require(r)}else{c.isLoading=false;b.sort(j.sortFn);while(b.length&&!c.isLoading){q=b.pop();j.invoke(q)}j.unblock()}},historyPush:function(q){if(q&&!n[q]&&!a.overrideMap[q]){n[q]=true;k.push(q)}return c},loadScripts:function(u){var t=Ext.manifest,q=t&&t.loadOrder,r=t&&t.loadOrderMap,s;++c.scriptsLoading;if(q&&!r){t.loadOrderMap=r=h.createLoadOrderMap(q)}c.checkReady();s=Ext.apply({loadOrder:q,loadOrderMap:r,charset:l.scriptCharset,success:c.onLoadSuccess,failure:c.onLoadFailure,sync:c.syncModeEnabled,_classNames:[]},u);s.userScope=s.scope;s.scope=s;h.load(s)},loadScriptsSync:function(r){var q=c.syncModeEnabled;c.syncModeEnabled=true;c.loadScripts({url:r});c.syncModeEnabled=q},loadScriptsSyncBasePrefix:function(r){var q=c.syncModeEnabled;c.syncModeEnabled=true;c.loadScripts({url:r,prependBaseUrl:true});c.syncModeEnabled=q},loadScript:function(y){var r=typeof y==="string",u=y instanceof Array,x=!u&&!r,q=x?y.url:y,t=x&&y.onError,v=x&&y.onLoad,w=x&&y.scope,s={url:q,scope:w,onLoad:v,onError:t,_classNames:[]};c.loadScripts(s)},flushMissingQueue:function(){var q,t,s=0,r=0;for(q in m){s++;t=m[q];if(a.isCreated(q)){delete m[q]}else{if(a.existCache[q]===2){delete m[q]}else{++r}}}this.missingCount=r},checkReady:function(){var r=c.isLoading,q;c.flushMissingQueue();q=c.missingCount+c.scriptsLoading;if(q&&!r){j.block();c.isLoading=!!q}else{if(!q&&r){c.triggerReady()}}}});Ext.require=i(c,"require");Ext.syncRequire=i(c,"syncRequire");Ext.exclude=i(c,"exclude");d.registerPreprocessor("loader",function(F,u,E,D){var A=this,y=[],q,z=a.getName(F),t,s,x,w,C,v,r,B;for(t=0,x=g.length;t<x;t++){v=g[t];if(u.hasOwnProperty(v)){r=u[v];if(typeof r==="string"){y.push(r)}else{if(r instanceof Array){for(s=0,w=r.length;s<w;s++){C=r[s];if(typeof C==="string"){y.push(C)}}}else{if(typeof r!=="function"){for(s in r){if(r.hasOwnProperty(s)){C=r[s];if(typeof C==="string"){y.push(C)}}}}}}}}if(y.length===0){return}if(z){o[z]=y}(z?c.exclude(z):c).require(y,function(){for(t=0,x=g.length;t<x;t++){v=g[t];if(u.hasOwnProperty(v)){r=u[v];if(typeof r==="string"){u[v]=a.get(r)}else{if(r instanceof Array){for(s=0,w=r.length;s<w;s++){C=r[s];if(typeof C==="string"){u[v][s]=a.get(C)}}}else{if(typeof r!=="function"){for(var G in r){if(r.hasOwnProperty(G)){C=r[G];if(typeof C==="string"){u[v][G]=a.get(C)}}}}}}}}D.call(A,F,u,E)});return false},true,"after","className");a.registerPostprocessor("uses",function(r,B,w){var q=Ext.manifest,s=q&&q.loadOrder,t=q&&q.classes,u,y,A,x,v,z;if(s){y=t[r];if(y&&!isNaN(v=y.idx)){A=s[v];u=A.uses;z={};for(x=u.length,v=0;v<x;v++){z[u[v]]=true}u=Ext.Boot.getPathsFromIndexes(z,s,true);if(u.length>0){c.loadScripts({url:u,sequential:true})}}}if(w.uses){u=w.uses;c.addUsedClasses(u)}});a.onCreated(c.historyPush);c.init()}());Ext._endTime=Ext.ticks();if(Ext._beforereadyhandler){Ext._beforereadyhandler()}Ext.define("Ext.Mixin",function(a){return{statics:{addHook:function(i,e,c,d){var h=Ext.isFunction(i),g=function(){var k=arguments,l=h?i:d[i],j=this.callParent(k);l.apply(this,k);return j},b=e.hasOwnProperty(c)&&e[c];if(h){i.$previous=Ext.emptyFn}g.$name=c;g.$owner=e.self;if(b){g.$previous=b.$previous;b.$previous=g}else{e[c]=g}}},onClassExtended:function(l,d){var g=d.mixinConfig,j=d.xhooks,i=l.superclass,e=d.onClassMixedIn,b,h,k,c;if(j){delete d.xhooks;(g||(d.mixinConfig=g={})).on=j}if(g){b=i.mixinConfig;if(b){d.mixinConfig=g=Ext.merge({},b,g)}d.mixinId=g.id;h=g.before;k=g.after;j=g.on;c=g.extended}if(h||k||j||c){d.onClassMixedIn=function(p){var m=this.prototype,o=p.prototype,n;if(h){Ext.Object.each(h,function(q,r){p.addMember(q,function(){if(m[r].apply(this,arguments)!==false){return this.callParent(arguments)}})})}if(k){Ext.Object.each(k,function(q,r){p.addMember(q,function(){var s=this.callParent(arguments);m[r].apply(this,arguments);return s})})}if(j){for(n in j){a.addHook(j[n],o,n,m)}}if(c){p.onExtended(function(){var q=Ext.Array.slice(arguments,0);q.unshift(p);return c.apply(this,q)},this)}if(e){e.apply(this,arguments)}}}}}});Ext.util=Ext.util||{};Ext.util.DelayedTask=function(e,d,b,i,h){var g=this,a,c=function(){var j=Ext.GlobalEvents;clearInterval(g.id);g.id=null;e.apply(d,b||[]);if(h!==false&&j.hasListeners.idle){j.fireEvent("idle")}};i=typeof i==="boolean"?i:true;g.id=null;g.delay=function(k,m,l,j){if(i){g.cancel()}if(typeof k==="number"){a=k}e=m||e;d=l||d;b=j||b;if(!g.id){g.id=Ext.interval(c,a)}};g.cancel=function(){if(g.id){clearInterval(g.id);g.id=null}}};Ext.define("Ext.util.Event",function(){var d=Array.prototype.slice,a=Ext.Array.insert,c=Ext.Array.toArray,b={};return{isEvent:true,suspended:0,noOptions:{},constructor:function(g,e){this.name=e;this.observable=g;this.listeners=[]},addListener:function(n,e,g,u,q){var x=this,l=false,p=x.observable,k=x.name,r,j,w,t,y,s,h,m,v,o;if(x.findListener(n,e)===-1){j=x.createListener(n,e,g,u,q);if(x.firing){x.listeners=x.listeners.slice(0)}r=x.listeners;m=h=r.length;w=g&&g.priority;y=x._highestNegativePriorityIndex;s=y!==undefined;if(w){t=(w<0);if(!t||s){for(v=(t?y:0);v<h;v++){o=r[v].o?r[v].o.priority||0:0;if(o<w){m=v;break}}}else{x._highestNegativePriorityIndex=m}}else{if(s){m=y}}if(!t&&m<=y){x._highestNegativePriorityIndex++}if(m===h){r[h]=j}else{a(r,m,[j])}if(p.isElement){p._getPublisher(k).subscribe(p,k,g.delegated!==false,g.capture)}l=true}return l},createListener:function(n,q,e,g,i){var l=this,m=Ext._namedScopes[q],h={fn:n,scope:q,ev:l,caller:g,manager:i,namedScope:m,defaultScope:m?(q||l.observable):undefined,lateBound:typeof n==="string"},p=n,k=false,j;if(e){h.o=e;if(e.single){p=l.createSingle(p,h,e,q);k=true}if(e.target){p=l.createTargeted(p,h,e,q,k);k=true}if(e.delay){p=l.createDelayed(p,h,e,q,k);k=true}if(e.buffer){p=l.createBuffered(p,h,e,q,k);k=true}if(l.observable.isElement){j=e.type;if(j){h.type=j}}}h.fireFn=p;h.wrapped=k;return h},findListener:function(j,h){var g=this.listeners,e=g.length,k;while(e--){k=g[e];if(k){if(k.fn===j&&k.scope==h){return e}}}return -1},removeListener:function(r,t,p){var q=this,o=false,e=q.observable,n=q.name,h,v,u,l,j,s,g,m;p=p||q.findListener(r,t);if(p!=-1){h=q.listeners[p];u=h.o;v=q._highestNegativePriorityIndex;if(q.firing){q.listeners=q.listeners.slice(0)}if(h.task){h.task.cancel();delete h.task}l=h.tasks&&h.tasks.length;if(l){while(l--){h.tasks[l].cancel()}delete h.tasks}q.listeners.splice(p,1);j=h.manager;if(j){s=j.managedListeners;if(s){for(m=s.length;m--;){g=s[m];if(g.item===q.observable&&g.ename===n&&g.fn===r&&g.scope===t){s.splice(m,1)}}}}if(v){if(p<v){q._highestNegativePriorityIndex--}else{if(p===v&&p===q.listeners.length){delete q._highestNegativePriorityIndex}}}if(e.isElement){e._getPublisher(n).unsubscribe(e,n,u.delegated!==false,u.capture)}o=true}return o},clearListeners:function(){var g=this.listeners,e=g.length,h;while(e--){h=g[e];this.removeListener(h.fn,h.scope)}},suspend:function(){++this.suspended},resume:function(){if(this.suspended){--this.suspended}},isSuspended:function(){return this.suspended>0},fireDelegated:function(g,e){this.firingObservable=g;return this.fire.apply(this,e)},fire:function(){var B=this,s=B.listeners,m=s.length,p=B.observable,t=p.isElement,A=p.isComponent,y=B.firingObservable,h,x,q,v,g,k,w,u,C,j,o,l,z,r,n;if(!B.suspended&&m>0){B.firing=true;g=arguments.length?d.call(arguments,0):[];w=g.length;if(t){z=g[0]}for(v=0;v<m;v++){k=s[v];h=k.o;if(t){if(C){z.setCurrentTarget(C)}j=k.type;if(j){o=z;z=g[0]=o.chain({type:j})}Ext.EventObject=z}l=g;if(h){x=h.delegate;if(x){if(t){u=z.getTarget("#"+z.currentTarget.id+" "+x);if(u){g[1]=u;C=z.currentTarget;z.setCurrentTarget(u)}else{continue}}else{if(A&&!y.is("#"+p.id+" "+h.delegate)){continue}}}if(t){if(h.preventDefault){z.preventDefault()}if(h.stopPropagation){z.stopPropagation()}if(h.stopEvent){z.stopEvent()}}g[w]=h;if(h.args){l=h.args.concat(g)}}q=B.getFireInfo(k);r=q.fn;n=q.scope;q.fn=q.scope=null;if(r.apply(n,l)===false){Ext.EventObject=null;return(B.firing=false)}if(o){z=g[0]=o;o=null}Ext.EventObject=null}}B.firing=false;return true},getFireInfo:function(k,j){var l=this.observable,e=k.fireFn,i=k.scope,g=k.namedScope,h;if(!j&&k.wrapped){b.fn=e;return b}h=j?k.fn:e;if(k.lateBound){if(!i||g){i=(k.caller||l).resolveListenerScope(k.defaultScope)}h=i[h]}else{if(g&&g.isController){i=(k.caller||l).resolveListenerScope(k.defaultScope)}else{if(!i||g){i=l}}}b.fn=h;b.scope=i;return b},createTargeted:function(h,i,j,g,e){return function(){if(j.target===arguments[0]){var k;if(!e){k=i.ev.getFireInfo(i,true);h=k.fn;g=k.scope;k.fn=k.scope=null}return h.apply(g,arguments)}}},createBuffered:function(h,i,j,g,e){i.task=new Ext.util.DelayedTask();return function(){var k;if(!e){k=i.ev.getFireInfo(i,true);h=k.fn;g=k.scope;k.fn=k.scope=null}i.task.delay(j.buffer,h,g,c(arguments))}},createDelayed:function(h,i,j,g,e){return function(){var k=new Ext.util.DelayedTask(),l;if(!e){l=i.ev.getFireInfo(i,true);h=l.fn;g=l.scope;l.fn=l.scope=null}if(!i.tasks){i.tasks=[]}i.tasks.push(k);k.delay(j.delay||10,h,g,c(arguments))}},createSingle:function(h,i,j,g,e){return function(){var k=i.ev,l;if(k.removeListener(i.fn,g)&&k.observable){k.observable.hasListeners[k.name]--}if(!e){l=k.getFireInfo(i,true);h=l.fn;g=l.scope;l.fn=l.scope=null}return h.apply(g,arguments)}}}});Ext.define("Ext.mixin.Identifiable",{statics:{uniqueIds:{}},isIdentifiable:true,mixinId:"identifiable",idCleanRegex:/\.|[^\w\-]/g,defaultIdPrefix:"ext-",defaultIdSeparator:"-",getOptimizedId:function(){return this.id},getUniqueId:function(){var g=this.id,b,d,e,a,c;if(!(g||g===0)){b=this.self.prototype;d=this.defaultIdSeparator;a=Ext.mixin.Identifiable.uniqueIds;if(!b.hasOwnProperty("identifiablePrefix")){e=this.xtype;if(e){c=this.defaultIdPrefix+e.replace(this.idCleanRegex,d)+d}else{if(!(c=b.$className)){c=this.defaultIdPrefix+"anonymous"+d}else{c=c.replace(this.idCleanRegex,d).toLowerCase()+d}}b.identifiablePrefix=c}c=this.identifiablePrefix;if(!a.hasOwnProperty(c)){a[c]=0}g=this.id=this.id=c+(++a[c])}this.getUniqueId=this.getOptimizedId;return g},setId:function(a){this.id=this.id=a},getId:function(){var a=this.id;if(!a){a=this.getUniqueId()}this.getId=this.getOptimizedId;return a}});Ext.define("Ext.mixin.Observable",function(a){var d=Ext.emptyFn,c=[],e=Array.prototype,g=e.slice,b=function(h){if(h instanceof b){return h}this.observable=h;if(arguments[1].isObservable){this.managedListeners=true}this.args=g.call(arguments,1)};b.prototype.destroy=function(){this.destroy=Ext.emptyFn;var h=this.observable;h[this.managedListeners?"mun":"un"].apply(h,this.args)};return{extend:Ext.Mixin,mixinConfig:{id:"observable",after:{destroy:"clearListeners"}},mixins:[Ext.mixin.Identifiable],statics:{releaseCapture:function(h){h.fireEventArgs=this.prototype.fireEventArgs},capture:function(k,i,h){var j=function(l,m){return i.apply(h,[l].concat(m))};this.captureArgs(k,j,h)},captureArgs:function(j,i,h){j.fireEventArgs=Ext.Function.createInterceptor(j.fireEventArgs,i,h)},observe:function(h,i){if(h){if(!h.isObservable){Ext.applyIf(h,new this());this.captureArgs(h.prototype,h.fireEventArgs,h)}if(Ext.isObject(i)){h.on(i)}}return h},prepareClass:function(l,r,m){var q=l.listeners=[],o=m||l.prototype,h=o.listeners,k=r?r.listeners:l.superclass.self.listeners,i,s,p;if(k){q.push(k)}if(h){s=h.scope;if(!s){h.scope="self"}else{p=Ext._namedScopes[s];if(p&&p.isController){h.scope="self.controller"}}q.push(h);o.listeners=null}if(!l.HasListeners){var n=function(){},j=l.superclass.HasListeners||(r&&r.HasListeners)||a.HasListeners;l.prototype.HasListeners=l.HasListeners=n;n.prototype=l.hasListeners=new j()}}},isObservable:true,eventsSuspended:0,constructor:function(l){var o=this,k=o.self,j,n,p,h,m;if(o.$observableInitialized){return}o.$observableInitialized=true;o.hasListeners=new o.HasListeners();o.eventedBeforeEventNames={};o.events=o.events||{};j=k.listeners;if(j&&!o._addDeclaredListeners(j)){k.listeners=null}n=(l&&l.listeners)||o.listeners;if(n){if(n instanceof Array){for(m=0,h=n.length;m<h;++m){o.addListener(n[m])}}else{o.addListener(n)}}p=(l&&l.bubbleEvents)||o.bubbleEvents;if(p){o.enableBubble(p)}if(o.$applyConfigs){if(l){Ext.apply(o,l)}}else{o.initConfig(l)}if(n){o.listeners=null}},onClassExtended:function(h,i){if(!h.HasListeners){a.prepareClass(h,h.prototype.$observableMixedIn?undefined:i)}},$eventOptions:{scope:1,delay:1,buffer:1,onFrame:1,single:1,args:1,destroyable:1,priority:1,order:1},$orderToPriority:{before:100,current:0,after:-100},_addDeclaredListeners:function(h){var i=this;if(h instanceof Array){Ext.each(h,i._addDeclaredListeners,i)}else{i._addedDeclaredListeners=true;i.addListener(h)}return i._addedDeclaredListeners},addManagedListener:function(o,k,m,p,q,j){var l=this,n=l.managedListeners=l.managedListeners||[],i,h;if(typeof k!=="string"){h=arguments.length>4?q:k;q=k;for(k in q){if(q.hasOwnProperty(k)){i=q[k];if(!o.$eventOptions[k]){l.addManagedListener(o,k,i.fn||i,i.scope||q.scope||p,i.fn?i:h,true)}}}if(q&&q.destroyable){return new b(l,o,q)}}else{if(m!==d){o.doAddListener(k,m,p,q,null,l,l);if(!j&&q&&q.destroyable){return new b(l,o,k,m,p)}}}},removeManagedListener:function(p,k,n,q){var m=this,r,j,o,h,l;if(typeof k!=="string"){r=k;for(k in r){if(r.hasOwnProperty(k)){j=r[k];if(!p.$eventOptions[k]){m.removeManagedListener(p,k,j.fn||j,j.scope||r.scope||q)}}}}else{o=m.managedListeners?m.managedListeners.slice():[];k=Ext.canonicalEventName(k);for(l=0,h=o.length;l<h;l++){m.removeManagedListenerItem(false,o[l],p,k,n,q)}}},fireEvent:function(h){return this.fireEventArgs(h,g.call(arguments,1))},resolveListenerScope:function(i){var h=Ext._namedScopes[i];if(h){if(h.isSelf||h.isThis){i=null}}return i||this},fireEventArgs:function(h,j){h=Ext.canonicalEventName(h);var m=this,k=m.events,l=k&&k[h],i=true;if(m.hasListeners[h]){i=m.doFireEvent(h,j||c,l?l.bubble:false)}return i},fireAction:function(i,k,m,l,j,h){if(typeof m==="string"&&!l){m=this[m]}j=j?Ext.Object.chain(j):{};j.single=true;j.priority=((h==="after")?-99.5:99.5);this.doAddListener(i,m,l,j);this.fireEventArgs(i,k)},$eventedController:{_paused:1,pause:function(){++this._paused},resume:function(){var m=this,l=m.fn,k=m.scope,n=m.fnArgs,h=m.owner,j,i;if(!--m._paused){if(l){j=Ext.Array.slice(n||m.args);if(n===false){j.shift()}m.fn=null;j.push(m);if(Ext.isFunction(l)){i=l.apply(k,j)}else{if(k&&Ext.isString(l)&&Ext.isFunction(k[l])){i=k[l].apply(k,j)}}if(i===false){return false}}if(!m._paused){return m.owner.fireEventArgs(m.eventName,m.args)}}}},fireEventedAction:function(i,k,n,q,m){var l=this,p=l.eventedBeforeEventNames,j=p[i]||(p[i]="before"+i),h=Ext.apply({owner:l,eventName:i,fn:n,scope:q,fnArgs:m,args:k},l.$eventedController),o;k.push(h);o=l.fireEventArgs(j,k);k.pop();if(o===false){return false}return h.resume()},doFireEvent:function(j,l,i){var n=this,h,m,k=true;do{if(n.eventsSuspended){if((h=n.eventQueue)){h.push([j,l])}return k}else{m=n.events&&n.events[j];if(m&&m!==true){if((k=m.fire.apply(m,l))===false){break}}}}while(i&&(n=n.getBubbleParent()));return k},getBubbleParent:function(){var i=this,h=i.getBubbleTarget&&i.getBubbleTarget();if(h&&h.isObservable){return h}return null},addListener:function(l,r,s,t,j,h){var q=this,m=Ext._namedScopes,i,p,n,o,k;if(typeof l!=="string"){t=l;s=t.scope;p=s&&m[s];n=p&&p.isSelf;k=((q.isComponent||q.isWidget)&&t.element)?q.$elementEventOptions:q.$eventOptions;for(l in t){i=t[l];if(!k[l]){o=i.scope;if(o&&n){p=m[o];if(p&&p.isController){o="self.controller"}}q.doAddListener(l,i.fn||i,o||s,i.fn?i:t,j,h)}}if(t&&t.destroyable){return new b(q,t)}}else{q.doAddListener(l,r,s,t,j,h);if(t&&t.destroyable){return new b(q,l,r,s,t)}}return q},removeListener:function(k,m,l,h){var n=this,j,i;if(typeof k!=="string"){i=k;h=h||n.$eventOptions;for(k in i){if(i.hasOwnProperty(k)){j=i[k];if(!n.$eventOptions[k]){n.doRemoveListener(k,j.fn||j,j.scope||i.scope)}}}}else{n.doRemoveListener(k,m,l)}return n},onBefore:function(h,k,j,i){return this.addListener(h,k,j,i,"before")},onAfter:function(h,k,j,i){return this.addListener(h,k,j,i,"after")},unBefore:function(h,k,j,i){return this.removeListener(h,k,j,i,"before")},unAfter:function(h,k,j,i){return this.removeListener(h,k,j,i,"after")},addBeforeListener:function(){return this.onBefore.apply(this,arguments)},addAfterListener:function(){return this.onAfter.apply(this,arguments)},removeBeforeListener:function(){return this.unBefore.apply(this,arguments)},removeAfterListener:function(){return this.unAfter.apply(this,arguments)},clearListeners:function(){var l=this,j=l.events,h=l.hasListeners,k,i;if(j){for(i in j){if(j.hasOwnProperty(i)){k=j[i];if(k.isEvent){delete h[i];k.clearListeners()}}}l.events=null}l.clearManagedListeners()},clearManagedListeners:function(){var l=this,j=l.managedListeners?l.managedListeners.slice():[],k=0,h=j.length;for(;k<h;k++){l.removeManagedListenerItem(true,j[k])}l.managedListeners=[]},removeManagedListenerItem:function(i,h,m,j,l,k){if(i||(h.item===m&&h.ename===j&&(!l||h.fn===l)&&(!k||h.scope===k))){h.item.doRemoveListener(h.ename,h.fn,h.scope,h.options);if(!i){Ext.Array.remove(this.managedListeners,h)}}},hasListener:function(h){h=Ext.canonicalEventName(h);return !!this.hasListeners[h]},isSuspended:function(j){var i=this.eventsSuspended>0,h=this.events;if(!i&&j&&h){j=h[j];if(j&&j.isEvent){return j.isSuspended()}}return i},suspendEvents:function(h){++this.eventsSuspended;if(h&&!this.eventQueue){this.eventQueue=[]}},suspendEvent:function(){var n=this,l=n.events,h=arguments.length,k,m,j;for(k=0;k<h;k++){j=arguments[k];j=Ext.canonicalEventName(j);m=l[j];if(!m||!m.isEvent){m=n._initEvent(j)}m.suspend()}},resumeEvent:function(){var k=this.events||0,h=k&&arguments.length,j,l;for(j=0;j<h;j++){l=k[arguments[j]];if(l&&l.resume){l.resume()}}},resumeEvents:function(h){var i=this,l=i.eventQueue,k,j;if(i.eventsSuspended&&!--i.eventsSuspended){delete i.eventQueue;if(!h&&l){k=l.length;for(j=0;j<k;j++){i.fireEventArgs.apply(i,l[j])}}}},relayEvents:function(p,q,k){var o=this,l=q.length,j=0,h,m,n={};if(Ext.isObject(q)){for(j in q){m=q[j];n[j]=o.createRelayer(m)}}else{for(;j<l;j++){h=q[j];n[h]=o.createRelayer(k?k+h:h)}}o.mon(p,n,null,null,undefined);return new b(o,p,n)},createRelayer:function(h,i){var j=this;return function(){return j.fireEventArgs.call(j,h,i?g.apply(arguments,i):arguments)}},enableBubble:function(p){if(p){var n=this,o=(typeof p=="string")?arguments:p,k=n.events,m=k&&o.length,j,l,h;for(h=0;h<m;++h){j=o[h];j=Ext.canonicalEventName(j);l=k[j];if(!l||!l.isEvent){l=n._initEvent(j)}n.hasListeners._incr_(j);l.bubble=true}}},destroy:function(){this.clearListeners();this.callParent()},privates:{doAddListener:function(k,n,q,r,j,i,l){var m=this,h,p,o;j=j||(r&&r.order);if(j){o=(r&&r.priority);if(!o){r=r?Ext.Object.chain(r):{};r.priority=m.$orderToPriority[j]}}k=Ext.canonicalEventName(k);if(!l&&(q&&q.isObservable&&(q!==m))){l=q}if(l){p=l.managedListeners=l.managedListeners||[];p.push({item:m,ename:k,fn:n,scope:q,options:r})}h=(m.events||(m.events={}))[k];if(!h||!h.isEvent){h=m._initEvent(k)}if(n!==d){if(h.addListener(n,q,r,i,l)){m.hasListeners._incr_(k)}}},doRemoveListener:function(i,k,j){var m=this,h=m.events,l;i=Ext.canonicalEventName(i);l=h&&h[i];if(l&&l.isEvent){if(l.removeListener(k,j)){m.hasListeners._decr_(i)}}},_initEvent:function(h){return(this.events[h]=new Ext.util.Event(this,h))}},deprecated:{"5.0":{methods:{addEvents:null}}}}},function(){var b=this,e=b.prototype,c=function(){},g=function(h){if(!h.HasListeners){var i=h.prototype;i.$observableMixedIn=1;b.prepareClass(h,this);h.onExtended(function(j,k){b.prepareClass(j,null,k)});if(i.onClassMixedIn){Ext.override(h,{onClassMixedIn:function(j){g.call(this,j);this.callParent(arguments)}})}else{i.onClassMixedIn=function(j){g.call(this,j)}}}a.call(this,h)},a=e.onClassMixedIn;c.prototype={_decr_:function(i,h){if(h==null){h=1}if(!(this[i]-=h)){delete this[i]}},_incr_:function(h){if(this.hasOwnProperty(h)){++this[h]}else{this[h]=1}}};e.HasListeners=b.HasListeners=c;b.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener",setListeners:"addListener"});b.observeClass=b.observe;function d(n){var m=(this.methodEvents=this.methodEvents||{})[n],j,i,k,l=this,h;if(!m){this.methodEvents[n]=m={};m.originalFn=this[n];m.methodName=n;m.before=[];m.after=[];h=function(q,p,o){if((i=q.apply(p||l,o))!==undefined){if(typeof i=="object"){if(i.returnValue!==undefined){j=i.returnValue}else{j=i}k=!!i.cancel}else{if(i===false){k=true}else{j=i}}}};this[n]=function(){var q=Array.prototype.slice.call(arguments,0),p,r,o;j=i=undefined;k=false;for(r=0,o=m.before.length;r<o;r++){p=m.before[r];h(p.fn,p.scope,q);if(k){return j}}if((i=m.originalFn.apply(l,q))!==undefined){j=i}for(r=0,o=m.after.length;r<o;r++){p=m.after[r];h(p.fn,p.scope,q);if(k){return j}}return j}}return m}Ext.apply(e,{onClassMixedIn:g,beforeMethod:function(j,i,h){d.call(this,j).before.push({fn:i,scope:h})},afterMethod:function(j,i,h){d.call(this,j).after.push({fn:i,scope:h})},removeMethodListener:function(n,l,k){var m=this.getMethodEvent(n),j,h;for(j=0,h=m.before.length;j<h;j++){if(m.before[j].fn==l&&m.before[j].scope==k){Ext.Array.erase(m.before,j,1);return}}for(j=0,h=m.after.length;j<h;j++){if(m.after[j].fn==l&&m.after[j].scope==k){Ext.Array.erase(m.after,j,1);return}}},toggleEventLogging:function(h){Ext.util.Observable[h?"capture":"releaseCapture"](this,function(i){if(Ext.isDefined(Ext.global.console)){Ext.global.console.log(i,arguments)}})}})});Ext.define("Ext.util.HashMap",{mixins:[Ext.mixin.Observable],generation:0,config:{keyFn:null},constructor:function(a){var c=this,b;c.mixins.observable.constructor.call(c,a);c.clear(true);b=c.getKeyFn();if(b){c.getKey=b}},getCount:function(){return this.length},getData:function(a,b){if(b===undefined){b=a;a=this.getKey(b)}return[a,b]},getKey:function(a){return a.id},add:function(a,c){var b=this;if(arguments.length===1){c=a;a=b.getKey(c)}if(b.containsKey(a)){return b.replace(a,c)}b.map[a]=c;++b.length;b.generation++;if(b.hasListeners.add){b.fireEvent("add",b,a,c)}return c},replace:function(b,d){var c=this,e=c.map,a;if(arguments.length===1){d=b;b=c.getKey(d)}if(!c.containsKey(b)){c.add(b,d)}a=e[b];e[b]=d;c.generation++;if(c.hasListeners.replace){c.fireEvent("replace",c,b,d,a)}return d},remove:function(b){var a=this.findKey(b);if(a!==undefined){return this.removeAtKey(a)}return false},removeAtKey:function(a){var b=this,c;if(b.containsKey(a)){c=b.map[a];delete b.map[a];--b.length;b.generation++;if(b.hasListeners.remove){b.fireEvent("remove",b,a,c)}return true}return false},get:function(a){var b=this.map;return b.hasOwnProperty(a)?b[a]:undefined},clear:function(a){var b=this;if(a||b.generation){b.map={};b.length=0;b.generation=a?0:b.generation+1}if(a!==true&&b.hasListeners.clear){b.fireEvent("clear",b)}return b},containsKey:function(a){var b=this.map;return b.hasOwnProperty(a)&&b[a]!==undefined},contains:function(a){return this.containsKey(this.findKey(a))},getKeys:function(){return this.getArray(true)},getValues:function(){return this.getArray(false)},getArray:function(d){var a=[],b,c=this.map;for(b in c){if(c.hasOwnProperty(b)){a.push(d?b:c[b])}}return a},each:function(d,c){var a=Ext.apply({},this.map),b,e=this.length;c=c||this;for(b in a){if(a.hasOwnProperty(b)){if(d.call(c,b,a[b],e)===false){break}}}return this},clone:function(){var c=new this.self(this.initialConfig),b=this.map,a;c.suspendEvents();for(a in b){if(b.hasOwnProperty(a)){c.add(a,b[a])}}c.resumeEvents();return c},findKey:function(b){var a,c=this.map;for(a in c){if(c.hasOwnProperty(a)&&c[a]===b){return a}}return undefined},destroy:function(){this.callParent();this.map=null}},function(b){var a=b.prototype;a.removeByKey=a.removeAtKey});Ext.define("Ext.AbstractManager",{typeName:"type",constructor:function(a){Ext.apply(this,a||{});this.all=new Ext.util.HashMap();this.types={}},get:function(a){return this.all.get(a)},register:function(a){this.all.add(a)},unregister:function(a){this.all.remove(a)},registerType:function(b,a){this.types[b]=a;a[this.typeName]=b},isRegistered:function(a){return this.types[a]!==undefined},create:function(a,d){var b=a[this.typeName]||a.type||d,c=this.types[b];return new c(a)},onAvailable:function(g,c,b){var a=this.all,d,e;if(a.containsKey(g)){d=a.get(g);c.call(b||d,d)}else{e=function(j,h,i){if(h==g){c.call(b||i,i);a.un("add",e)}};a.on("add",e)}},each:function(b,a){this.all.each(b,a||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.promise.Consequence",function(a){return{promise:null,deferred:null,onFulfilled:null,onRejected:null,onProgress:null,constructor:function(e,b,d){var c=this;c.onFulfilled=e;c.onRejected=b;c.onProgress=d;c.deferred=new Ext.promise.Deferred();c.promise=c.deferred.promise},trigger:function(e,d){var c=this,b=c.deferred;switch(e){case"fulfill":c.propagate(d,c.onFulfilled,b,b.resolve);break;case"reject":c.propagate(d,c.onRejected,b,b.reject);break}},update:function(b){if(Ext.isFunction(this.onProgress)){b=this.onProgress(b)}this.deferred.update(b)},propagate:function(d,e,b,c){if(Ext.isFunction(e)){this.schedule(function(){try{b.resolve(e(d))}catch(g){b.reject(g)}})}else{c.call(this.deferred,d)}},schedule:function(c){var b=a.queueSize++;a.queue[b]=c;if(!b){Ext.asap(a.dispatch)}},statics:{queue:new Array(10000),queueSize:0,dispatch:function(){var b=a.queue,d,c;for(c=0;c<a.queueSize;++c){d=b[c];b[c]=null;d()}a.queueSize=0}}}});Ext.define("Ext.promise.Deferred",{promise:null,consequences:[],completed:false,completionAction:null,completionValue:null,constructor:function(){var a=this;a.promise=new Ext.promise.Promise(a);a.consequences=[];a.completed=false;a.completionAction=null;a.completionValue=null},then:function(e,a,d){var c=this,b=new Ext.promise.Consequence(e,a,d);if(c.completed){b.trigger(c.completionAction,c.completionValue)}else{c.consequences.push(b)}return b.promise},resolve:function(d){var c=this,a,b;if(c.completed){return}try{if(d===c.promise){throw new TypeError("A Promise cannot be resolved with itself.")}if((Ext.isObject(d)||Ext.isFunction(d))&&Ext.isFunction(b=d.then)){a=false;try{b.call(d,function(e){if(!a){a=true;c.resolve(e)}},function(e){if(!a){a=true;c.reject(e)}})}catch(g){if(!a){c.reject(g)}}}else{c.complete("fulfill",d)}}catch(g){c.reject(g)}},reject:function(a){if(this.completed){return}this.complete("reject",a)},update:function(b){var e=this.consequences,d,c,a;if(this.completed){return}for(c=0,a=e.length;c<a;c++){d=e[c];d.update(b)}},complete:function(g,e){var d=this,h=d.consequences,c,b,a;d.completionAction=g;d.completionValue=e;d.completed=true;for(b=0,a=h.length;b<a;b++){c=h[b];c.trigger(d.completionAction,d.completionValue)}d.consequences=null}});Ext.define("Ext.promise.Promise",function(b){var a;return{statics:{CancellationError:Ext.global.CancellationError||Error,_ready:function(){a=Ext.promise.Deferred},all:function(c){return b.when(c).then(function(e){var n=new a(),j=e.length,g=new Array(j),l,d,m,h,k;if(!j){n.resolve(g)}else{m=function(o,i){return b.when(o).then(function(p){g[i]=p;if(!--j){n.resolve(g)}return p},function(p){return n.reject(p)})};for(l=h=0,k=e.length;h<k;l=++h){d=e[l];if(l in e){m(d,l)}else{j--}}}return n.promise})},is:function(c){return(Ext.isObject(c)||Ext.isFunction(c))&&Ext.isFunction(c.then)},rethrowError:function(c){Ext.asap(function(){throw c})},when:function(d){var c=new Ext.promise.Deferred();c.resolve(d);return c.promise}},owner:null,constructor:function(c){this.owner=c},then:function(h,c,g,d){var e;if(arguments.length===1&&Ext.isObject(arguments[0])){e=arguments[0];h=e.success;c=e.failure;g=e.progress;d=e.scope}if(d){if(h){h=Ext.Function.bind(h,d)}if(c){c=Ext.Function.bind(c,d)}if(g){g=Ext.Function.bind(g,d)}}return this.owner.then(h,c,g)},otherwise:function(c,d){var e;if(arguments.length===1&&Ext.isObject(arguments[0])){e=arguments[0];c=e.fn;d=e.scope}if(d!=null){c=Ext.Function.bind(c,d)}return this.owner.then(null,c)},always:function(c,d){var e;if(arguments.length===1&&Ext.isObject(arguments[0])){e=arguments[0];c=e.fn;d=e.scope}if(d!=null){c=Ext.Function.bind(c,d)}return this.owner.then(function(g){try{c()}catch(h){b.rethrowError(h)}return g},function(h){try{c()}catch(g){b.rethrowError(g)}throw h})},done:function(){this.owner.then(null,b.rethrowError)},cancel:function(c){if(c==null){c=null}this.owner.reject(new this.self.CancellationError(c))},log:function(c){if(c==null){c=""}return this._owner.then(function(d){Ext.log(""+(c||"Promise")+" resolved with value: "+d);return d},function(d){Ext.log(""+(c||"Promise")+" rejected with reason: "+d);throw d})}}},function(a){a._ready()});Ext.define("Ext.Promise",function(){var a;return{statics:{_ready:function(){a=Ext.promise.Promise},all:function(){return a.all.apply(a,arguments)},race:function(){},reject:function(c){var b=new Ext.promise.Deferred();b.reject(c);return b.promise},resolve:function(c){var b=new Ext.promise.Deferred();b.resolve(c);return b.promise}},constructor:function(c){var b=new Ext.promise.Deferred();c(b.resolve.bind(b),b.reject.bind(b));return b.promise}}},function(a){var b=Ext.global.Promise;if(b&&b.resolve){Ext.Promise=b}else{a._ready()}});Ext.define("Ext.Deferred",function(b){var c,a;return{extend:Ext.promise.Deferred,statics:{_ready:function(){c=Ext.promise.Promise;a=Ext.Promise.resolve},all:function(){return c.all.apply(c,arguments)},any:function(d){return b.some(d,1).then(function(e){return e[0]},function(e){if(e instanceof Error&&e.message==="Too few Promises were resolved."){Ext.raise("No Promises were resolved.")}else{throw e}})},delay:function(d,g){var e;if(arguments.length===1){g=d;d=undefined}g=Math.max(g,0);e=new b();setTimeout(function(){e.resolve(d)},g);return e.promise},map:function(d,e){return b.resolved(d).then(function(h){var p,n,g,l,o,j,k,m;l=h.length;j=new Array(h.length);p=new b();if(!l){p.resolve(j)}else{o=function(q,i){return b.resolved(q).then(function(r){return e(r,i,j)}).then(function(r){j[i]=r;if(!--l){p.resolve(j)}return r},function(r){return p.reject(r)})};for(n=k=0,m=h.length;k<m;n=++k){g=h[n];if(n in h){o(g,n)}else{l--}}}return p.promise})},memoize:function(h,g,d){var e=Ext.Function.memoize(h,g,d);return function(){return b.all(Ext.Array.slice(arguments)).then(function(i){return e.apply(g,i)})}},parallel:function(e,g){if(g==null){g=null}var d=Ext.Array.slice(arguments,2);return b.map(e,function(h){if(!Ext.isFunction(h)){throw new Error("Invalid parameter: expected a function.")}return h.apply(g,d)})},pipeline:function(e,d,g){if(g==null){g=null}return b.reduce(e,function(i,h){if(!Ext.isFunction(h)){throw new Error("Invalid parameter: expected a function.")}return h.call(g,i)},d)},reduce:function(e,g,d){var h=arguments.length===3;return b.resolved(e).then(function(j){var i=[j,function(l,m,k){return b.resolved(l).then(function(n){return b.resolved(m).then(function(o){return g(n,o,k,j)})})}];if(h){i.push(d)}return Ext.Array.reduce.apply(Ext.Array,i)})},rejected:function(e){var d=new Ext.Deferred();d.reject(e);return d.promise},resolved:function(e){var d=new Ext.Deferred();d.resolve(e);return d.promise},sequence:function(e,g){if(g==null){g=null}var d=Ext.Array.slice(arguments,2);return b.reduce(e,function(h,i){if(!Ext.isFunction(i)){throw new Error("Invalid parameter: expected a function.")}return b.resolved(i.apply(g,d)).then(function(j){h.push(j);return h})},[])},some:function(e,d){return b.resolved(e).then(function(j){var r,n,p,q,h,g,l,o,k,m;o=[];l=d;g=(j.length-l)+1;r=new b();if(j.length<d){r.reject(new Error("Too few Promises were resolved."))}else{q=function(i){if(l>0){o.push(i)}l--;if(l===0){r.resolve(o)}return i};p=function(i){g--;if(g===0){r.reject(new Error("Too few Promises were resolved."))}return i};for(n=k=0,m=j.length;k<m;n=++k){h=j[n];if(n in j){b.resolved(h).then(q,p)}}}return r.promise})},timeout:function(d,g){var e=new b(),h;h=setTimeout(function(){if(h){e.reject(new Error("Promise timed out."))}},g);b.resolved(d).then(function(i){clearTimeout(h);h=null;e.resolve(i)},function(i){clearTimeout(h);h=null;e.reject(i)});return e.promise}}}},function(a){a._ready()});Ext.Factory=function(a){var b=this;b.aliasPrefix=a+".";b.cache={};b.name=a.replace(b.fixNameRe,b.fixNameFn);b.type=a};Ext.Factory.prototype={defaultProperty:"type",instanceProp:"isInstance",create:function(c,e){var i=this,a=Ext.ClassManager,b=i.cache,d,h,g,j;if(c){if(c[i.instanceProp]){return c}if(typeof c==="string"){j=c;c={};c[i.defaultProperty]=j}h=c.xclass;j=c.type}if(h){if(!(g=a.get(h))){return a.instantiate(h,c)}}else{if(!(j=j||e||i.defaultType)){g=i.defaultClass}if(!g&&!(g=b[j])){d=i.aliasPrefix+j;h=a.getNameByAlias(d);if(!(g=h&&a.get(h))){return a.instantiateByAlias(d,c)}b[j]=g}}return g.isInstance?g:new g(c)},fixNameRe:/\.[a-z]/ig,fixNameFn:function(a){return a.substring(1).toUpperCase()},clearCache:function(){this.cache={}}};Ext.Factory.define=function(g,d){var a=Ext.Factory,b,c,e;if(g.constructor===Object){Ext.Object.each(g,a.define,a)}else{c=new Ext.Factory(g);if(d){if(d.constructor===Object){Ext.apply(c,d);if(typeof(b=c.xclass)==="string"){c.defaultClass=Ext.ClassManager.get(b)}}else{c.defaultType=d}}a[c.name]=e=c.create.bind(c);e.instance=c}return e};Ext.define("Ext.mixin.Factoryable",{mixinId:"factoryable",onClassMixedIn:function(g){var e=g.prototype,h=e.factoryConfig,d=e.alias,c={},b,a;d=d&&d.length&&d[0];if(d&&(b=d.lastIndexOf("."))>0){c.type=d.substring(0,b);c.defaultType=d.substring(b+1)}if(h){delete e.factoryConfig;Ext.apply(c,h)}a=Ext.Factory.define(c.type,c);if(g.create===Ext.Base.create){g.create=a}}});Ext.define("Ext.data.request.Base",{mixins:[Ext.mixin.Factoryable],factoryConfig:{type:"request",defaultType:"ajax"},result:null,success:null,timer:null,constructor:function(a){var b=this;Ext.apply(b,a.options||{},a.ownerConfig);b.id=++Ext.data.Connection.requestId;b.owner=a.owner;b.options=a.options;b.requestOptions=a.requestOptions},start:function(){var a=this,b=a.getTimeout();if(b&&a.async){a.timer=Ext.defer(a.onTimeout,b,a)}},abort:function(){var a=this;a.clearTimer();if(!a.timedout){a.aborted=true}a.abort=Ext.emptyFn},createDeferred:function(){return(this.deferred=new Ext.Deferred())},getDeferred:function(){return this.deferred||this.createDeferred()},getPromise:function(){return this.getDeferred().promise},then:function(){var a=this.getPromise();return a.then.apply(a,arguments)},onComplete:function(){var c=this,b=c.deferred,a=c.result;c.clearTimer();if(b){if(c.success){b.resolve(a)}else{b.reject(a)}}},onTimeout:function(){var a=this;a.timedout=true;a.timer=null;a.abort(true)},getTimeout:function(){return this.timeout},clearTimer:function(){var a=this.timer;if(a){clearTimeout(a);this.timer=null}},destroy:function(){var a=this;a.abort();a.owner=a.options=a.requestOptions=a.result=null;a.callParent()},privates:{createException:function(){var b=this,a;a={request:b,requestId:b.id,status:b.aborted?-1:0,statusText:b.aborted?"transaction aborted":"communication failure",getResponseHeader:b._getHeader,getAllResponseHeaders:b._getHeaders};if(b.aborted){a.aborted=true}if(b.timedout){a.timedout=true}return a},_getHeader:function(a){var b=this.headers;return b&&b[a.toLowerCase()]},_getHeaders:function(){return this.headers}}});Ext.define("Ext.data.flash.BinaryXhr",{statics:{flashPluginActivated:function(){Ext.data.flash.BinaryXhr.flashPluginActive=true;Ext.data.flash.BinaryXhr.flashPlugin=document.getElementById("ext-flash-polyfill");Ext.GlobalEvents.fireEvent("flashready")},flashPluginActive:false,flashPluginInjected:false,connectionIndex:1,liveConnections:{},flashPlugin:null,onFlashStateChange:function(d,c,b){var a;a=this.liveConnections[Number(d)];if(a){a.onFlashStateChange(c,b)}},registerConnection:function(b){var a=this.connectionIndex;this.conectionIndex=this.connectionIndex+1;this.liveConnections[a]=b;return a},injectFlashPlugin:function(){var b=this,a,c;b.flashPolyfillEl=Ext.getBody().appendChild({id:"ext-flash-polyfill",cn:[{tag:"p",html:"To view this page ensure that Adobe Flash Player version 11.1.0 or greater is installed."},{tag:"a",href:"http://www.adobe.com/go/getflashplayer",cn:[{tag:"img",src:window.location.protocol+"//www.adobe.com/images/shared/download_buttons/get_flash_player.gif",alt:"Get Adobe Flash player"}]}]});a=[Ext.Loader.getPath("Ext.data.Connection"),"../../../plugins/flash/swfobject.js"].join("/");c="/plugins/flash/FlashPlugin.swf";if(Ext.flashPluginPath){c=Ext.flashPluginPath}Ext.Loader.loadScript({url:a,onLoad:function(){var e="11.4.0";var h="playerProductInstall.swf";var d={};var i={};i.quality="high";i.bgcolor="#ffffff";i.allowscriptaccess="sameDomain";i.allowfullscreen="true";var g={};g.id="ext-flash-polyfill";g.name="polyfill";g.align="middle";swfobject.embedSWF(c,"ext-flash-polyfill","0","0",e,h,d,i,g)},onError:function(){},scope:b});Ext.data.flash.BinaryXhr.flashPluginInjected=true}},readyState:0,status:0,statusText:"",responseBytes:null,javascriptId:null,constructor:function(a){if(!Ext.data.flash.BinaryXhr.flashPluginInjected){Ext.data.flash.BinaryXhr.injectFlashPlugin()}var b=this;Ext.apply(b,a);b.requestHeaders={}},abort:function(){var a=this;if(a.readyState==4){return}a.aborted=true;if(!Ext.data.flash.BinaryXhr.flashPluginActive){Ext.GlobalEvents.removeListener("flashready",a.onFlashReady,a);return}Ext.data.flash.BinaryXhr.flashPlugin.abortRequest(a.javascriptId);delete Ext.data.flash.BinaryXhr.liveConnections[a.javascriptId]},getAllResponseHeaders:function(){var a=[];Ext.Object.each(this.responseHeaders,function(b,c){a.push(b+": "+c)});return a.join("\r\n")},getResponseHeader:function(b){var a=this.responseHeaders;return(a&&a[b])||null},open:function(g,c,d,a,b){var e=this;e.method=g;e.url=c;e.async=d!==false;e.user=a;e.password=b},overrideMimeType:function(a){this.mimeType=a},send:function(a){var b=this;b.body=a;if(!Ext.data.flash.BinaryXhr.flashPluginActive){Ext.GlobalEvents.addListener("flashready",b.onFlashReady,b)}else{this.onFlashReady()}},onFlashReady:function(){var c=this,b,a;c.javascriptId=Ext.data.flash.BinaryXhr.registerConnection(c);b={method:c.method,url:c.url,user:c.user,password:c.password,mimeType:c.mimeType,requestHeaders:c.requestHeaders,body:c.body,javascriptId:c.javascriptId};a=Ext.data.flash.BinaryXhr.flashPlugin.postBinary(b)},setReadyState:function(b){var a=this;if(a.readyState!=b){a.readyState=b;a.onreadystatechange()}},setRequestHeader:function(b,a){this.requestHeaders[b]=a},onreadystatechange:Ext.emptyFn,parseData:function(b){var a=this;this.status=b.status||0;a.responseHeaders={};if(a.mimeType){a.responseHeaders["content-type"]=a.mimeType}if(b.reason=="complete"){this.responseBytes=b.data;a.responseHeaders["content-length"]=b.data.length}else{if(b.reason=="error"||b.reason=="securityError"){this.statusText=b.text;a.responseHeaders["content-length"]=0}}},onFlashStateChange:function(c,b){var a=this;if(c==4){a.parseData(b);delete Ext.data.flash.BinaryXhr.liveConnections[a.javascriptId]}a.setReadyState(c)}});Ext.define("Ext.data.request.Ajax",{extend:Ext.data.request.Base,alias:"request.ajax",statics:{parseStatus:function(a){a=a==1223?204:a;var c=(a>=200&&a<300)||a==304,b=false;if(!c){switch(a){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:b=true;break}}return{success:c,isException:b}}},start:function(e){var c=this,b=c.options,a=c.requestOptions,d=c.isXdr,h,g;h=c.xhr=c.openRequest(b,a,c.async,c.username,c.password);if(!d){g=c.setupHeaders(h,b,a.data,a.params)}if(c.async){if(!d){h.onreadystatechange=Ext.Function.bind(c.onStateChange,c)}}if(d){c.processXdrRequest(c,h)}c.callParent([e]);h.send(e);if(!c.async){return c.onComplete()}return c},abort:function(b){var a=this,d=a.xhr;if(b||a.isLoading()){try{d.onreadystatechange=null}catch(c){d.onreadystatechange=Ext.emptyFn}d.abort();a.callParent([b]);a.onComplete();a.cleanup()}},cleanup:function(){this.xhr=null;delete this.xhr},isLoading:function(){var a=this,d=a.xhr,b=d&&d.readyState,c=Ext.data.flash&&Ext.data.flash.BinaryXhr;if(!d||a.aborted||a.timedout){return false}if(c&&d instanceof c){return b!==4}return b!==0&&b!==4},openRequest:function(c,a,d,h,b){var e=this,g=e.newRequest(c);if(h){g.open(a.method,a.url,d,h,b)}else{if(e.isXdr){g.open(a.method,a.url)}else{g.open(a.method,a.url,d)}}if(c.binary||e.binary){if(window.Uint8Array){g.responseType="arraybuffer"}else{if(g.overrideMimeType){g.overrideMimeType("text/plain; charset=x-user-defined")}}}if(c.withCredentials||e.withCredentials){g.withCredentials=true}return g},newRequest:function(a){var b=this,c;if(a.binaryData){if(window.Uint8Array){c=b.getXhrInstance()}else{c=new Ext.data.flash.BinaryXhr()}}else{if(b.cors&&Ext.isIE9m){c=b.getXdrInstance();b.isXdr=true}else{c=b.getXhrInstance();b.isXdr=false}}return c},setupHeaders:function(o,p,g,d){var k=this,b=Ext.apply({},p.headers||{},k.defaultHeaders),n=k.defaultPostHeader,l=p.jsonData,a=p.xmlData,j="Content-Type",c=k.useDefaultXhrHeader,m,h;if(!b.hasOwnProperty(j)&&(g||d)){if(g){if(p.rawData){n="text/plain"}else{if(a&&Ext.isDefined(a)){n="text/xml"}else{if(l&&Ext.isDefined(l)){n="application/json"}}}}b[j]=n}if(c&&!b["X-Requested-With"]){b["X-Requested-With"]=k.defaultXhrHeader}if(b[j]===undefined||b[j]===null){delete b[j]}try{for(m in b){if(b.hasOwnProperty(m)){h=b[m];o.setRequestHeader(m,h)}}}catch(i){k.owner.fireEvent("exception",m,h)}return b},getXdrInstance:function(){var a;if(Ext.ieVersion>=8){a=new XDomainRequest()}else{Ext.raise({msg:"Your browser does not support CORS"})}return a},getXhrInstance:(function(){var b=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],c=0,a=b.length,g;for(;c<a;++c){try{g=b[c];g();break}catch(d){}}return g}()),processXdrRequest:function(b,c){var a=this;delete b.headers;b.contentType=b.options.contentType||a.defaultXdrContentType;c.onload=Ext.Function.bind(a.onStateChange,a,[true]);c.onerror=c.ontimeout=Ext.Function.bind(a.onStateChange,a,[false])},processXdrResponse:function(a,b){a.getAllResponseHeaders=function(){return[]};a.getResponseHeader=function(){return""};a.contentType=b.contentType||this.defaultXdrContentType},onStateChange:function(b){var c=this,d=c.xhr,a=Ext.GlobalEvents;if((d&&d.readyState==4)||c.isXdr){c.clearTimer();c.onComplete(b);c.cleanup();if(a.hasListeners.idle){a.fireEvent("idle")}}},onComplete:function(j){var g=this,a=g.owner,k=g.options,i=g.xhr,b={success:false,isException:false},l,h,c;if(!i||g.destroyed){return g.result=b}try{l=Ext.data.request.Ajax.parseStatus(i.status);if(l.success){l.success=i.readyState===4}}catch(d){l=b}h=g.success=g.isXdr?j:l.success;if(h){c=g.createResponse(i);a.fireEvent("requestcomplete",a,c,k);Ext.callback(k.success,k.scope,[c,k])}else{if(l.isException||g.aborted||g.timedout){c=g.createException(i)}else{c=g.createResponse(i)}a.fireEvent("requestexception",a,c,k);Ext.callback(k.failure,k.scope,[c,k])}g.result=c;Ext.callback(k.callback,k.scope,[k,h,c]);a.onRequestComplete(g);g.callParent([j]);return c},createResponse:function(j){var h=this,c=h.isXdr,b={},k=c?[]:j.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),e=k.length,l,g,i,d,a;while(e--){l=k[e];g=l.indexOf(":");if(g>=0){i=l.substr(0,g).toLowerCase();if(l.charAt(g+1)==" "){++g}b[i]=l.substr(g+1)}}d={request:h,requestId:h.id,status:j.status,statusText:j.statusText,getResponseHeader:function(m){return b[m.toLowerCase()]},getAllResponseHeaders:function(){return b}};if(c){h.processXdrResponse(d,j)}if(h.binary){d.responseBytes=h.getByteArray(j)}else{d.responseText=j.responseText;d.responseXML=j.responseXML}return d},destroy:function(){this.xhr=null;this.callParent()},privates:{getByteArray:function(k){var c=k.response,b=k.responseBody,l=Ext.data.flash&&Ext.data.flash.BinaryXhr,a,j,g,d;if(k instanceof l){a=k.responseBytes}else{if(window.Uint8Array){a=c?new Uint8Array(c):[]}else{if(Ext.isIE9p){try{a=new VBArray(b).toArray()}catch(h){a=[]}}else{if(Ext.isIE){if(!this.self.vbScriptInjected){this.injectVBScript()}getIEByteArray(k.responseBody,a=[])}else{a=[];j=k.responseText;g=j.length;for(d=0;d<g;d++){a.push(j.charCodeAt(d)&255)}}}}}return a},injectVBScript:function(){var a=document.createElement("script");a.type="text/vbscript";a.text=["Function getIEByteArray(byteArray, out)","Dim len, i","len = LenB(byteArray)","For i = 1 to len","out.push(AscB(MidB(byteArray, i, 1)))","Next","End Function"].join("\n");Ext.getHead().dom.appendChild(a);this.self.vbScriptInjected=true}}});Ext.define("Ext.data.request.Form",{extend:Ext.data.request.Base,alias:"request.form",start:function(d){var c=this,b=c.options,a=c.requestOptions;c.callParent([d]);c.form=c.upload(b.form,a.url,a.data,b);return c},abort:function(b){var a=this,d;if(a.isLoading()){try{d=a.frame.dom;if(d.stop){d.stop()}else{d.document.execCommand("Stop")}}catch(c){}}a.callParent([b]);a.onComplete();a.cleanup()},cleanup:function(){var a=this,b=a.frame;if(b){b.un("load",a.onComplete,a);Ext.removeNode(b)}a.frame=a.form=null},isLoading:function(){return !!this.frame},upload:function(b,i,u,g){b=Ext.getDom(b);g=g||{};var s=document.createElement("iframe"),m=Ext.get(s),o=m.id,c=[],d="multipart/form-data",t={target:b.target,method:b.method,encoding:b.encoding,enctype:b.enctype,action:b.action},a=function(h,v){j=document.createElement("input");Ext.fly(j).set({type:"hidden",value:v,name:h});b.appendChild(j);c.push(j)},j,l,q,w,p,k,n,r,e;m.set({name:o,cls:Ext.baseCSSPrefix+"hidden-display",src:Ext.SSL_SECURE_URL,tabIndex:-1});document.body.appendChild(s);if(document.frames){document.frames[o].name=o}Ext.fly(b).set({target:o,method:"POST",enctype:d,encoding:d,action:i||t.action});if(u){l=Ext.Object.fromQueryString(u)||{};for(w in l){if(l.hasOwnProperty(w)){q=l[w];if(Ext.isArray(q)){p=q.length;for(k=0;k<p;k++){a(w,q[k])}}else{a(w,q)}}}}this.frame=m;m.on({load:this.onComplete,scope:this,single:!Ext.isOpera});b.submit();Ext.fly(b).set(t);for(n=c.length,r=0;r<n;r++){Ext.removeNode(c[r])}return b},getDoc:function(){var a=this.frame.dom;return(a&&(a.contentWindow.document||a.contentDocument))||(window.frames[a.id]||{}).document},getTimeout:function(){return this.options.timeout},onComplete:function(){var h=this,b=h.frame,a=h.owner,l=h.options,j,i,k,d,c;if(!b){return}if(h.aborted||h.timedout){h.result=c=h.createException();c.responseXML=null;c.responseText='{success:false,message:"'+Ext.String.trim(c.statusText)+'"}';j=l.failure;k=false}else{try{i=h.getDoc();h.result=c={responseText:"",responseXML:null};if(i){if(Ext.isOpera&&i.location==Ext.SSL_SECURE_URL){return}if(i.body){if((d=i.body.firstChild)&&/pre/i.test(d.tagName)){c.responseText=d.textContent||d.innerText}else{if((d=i.getElementsByTagName("textarea")[0])){c.responseText=d.value}else{c.responseText=i.body.textContent||i.body.innerText}}}c.responseXML=i.XMLDocument||i;j=l.success;k=true;c.status=200}else{Ext.raise("Could not acquire a suitable connection for the file upload service.")}}catch(g){h.result=c=h.createException();c.status=400;c.statusText=(g.message||g.description)+"";c.responseText='{success:false,message:"'+Ext.String.trim(c.statusText)+'"}';c.responseXML=null;j=l.failure;k=false}}h.frame=null;h.success=k;a.fireEvent(k?"requestcomplete":"requestexception",a,c,l);Ext.callback(j,l.scope,[c,l]);Ext.callback(l.callback,l.scope,[l,k,c]);a.onRequestComplete(h);Ext.asap(b.destroy,b);h.callParent()},destroy:function(){this.cleanup();this.callParent()}});Ext.define("Ext.data.Connection",{mixins:{observable:Ext.mixin.Observable},statics:{requestId:0},enctypeRe:/multipart\/form-data/i,config:{url:null,async:true,username:"",password:"",disableCaching:true,withCredentials:false,binary:false,cors:false,isXdr:false,defaultXdrContentType:"text/plain",disableCachingParam:"_dc",timeout:30000,extraParams:null,autoAbort:false,method:null,defaultHeaders:null,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest"},constructor:function(a){this.mixins.observable.constructor.call(this,a);this.requests={}},request:function(b){b=b||{};var d=this,a,c;if(d.fireEvent("beforerequest",d,b)!==false){a=d.setOptions(b,b.scope||Ext.global);c=d.createRequest(b,a);return c.start(a.data)}Ext.callback(b.callback,b.scope,[b,undefined,undefined]);return Ext.Deferred.rejected([b,undefined,undefined])},createRequest:function(b,a){var e=this,c=b.type||a.type,d;if(!c){c=e.isFormUpload(b)?"form":"ajax"}if(b.autoAbort||e.getAutoAbort()){e.abort()}d=Ext.Factory.request({type:c,owner:e,options:b,requestOptions:a,ownerConfig:e.getConfig()});e.requests[d.id]=d;e.latestId=d.id;return d},isFormUpload:function(a){var b=this.getForm(a);if(b){return a.isUpload||this.enctypeRe.test(b.getAttribute("enctype"))}return false},getForm:function(a){return Ext.getDom(a.form)},setOptions:function(m,l){var j=this,e=m.params||{},i=j.getExtraParams(),d=m.urlParams,c=m.url||j.getUrl(),h=m.cors,k=m.jsonData,b,a,g;if(h!==undefined){j.setCors(h)}if(Ext.isFunction(e)){e=e.call(l,m)}if(Ext.isFunction(c)){c=c.call(l,m)}c=this.setupUrl(m,c);g=m.rawData||m.binaryData||m.xmlData||k||null;if(k&&!Ext.isPrimitive(k)){g=Ext.encode(g)}if(m.binaryData){if(j.nativeBinaryPostSupport()){g=(new Uint8Array(m.binaryData));if((Ext.isChrome&&Ext.chromeVersion<22)||Ext.isSafari||Ext.isGecko){g=g.buffer}}}if(Ext.isObject(e)){e=Ext.Object.toQueryString(e)}if(Ext.isObject(i)){i=Ext.Object.toQueryString(i)}e=e+((i)?((e)?"&":"")+i:"");d=Ext.isObject(d)?Ext.Object.toQueryString(d):d;e=this.setupParams(m,e);b=(m.method||j.getMethod()||((e||g)?"POST":"GET")).toUpperCase();this.setupMethod(m,b);a=m.disableCaching!==false?(m.disableCaching||j.getDisableCaching()):false;if(b==="GET"&&a){c=Ext.urlAppend(c,(m.disableCachingParam||j.getDisableCachingParam())+"="+(new Date().getTime()))}if((b=="GET"||g)&&e){c=Ext.urlAppend(c,e);e=null}if(d){c=Ext.urlAppend(c,d)}return{url:c,method:b,data:g||e||null}},setupUrl:function(b,a){var c=this.getForm(b);if(c){a=a||c.action}return a},setupParams:function(a,d){var c=this.getForm(a),b;if(c&&!this.isFormUpload(a)){b=Ext.Element.serializeForm(c);d=d?(d+"&"+b):b}return d},setupMethod:function(a,b){if(this.isFormUpload(a)){return"POST"}return b},isLoading:function(a){if(!a){a=this.getLatest()}return a?a.isLoading():false},abort:function(a){if(!a){a=this.getLatest()}if(a&&a.isLoading()){a.abort()}},abortAll:function(){var b=this.requests,a;for(a in b){this.abort(b[a])}},getLatest:function(){var b=this.latestId,a;if(b){a=this.requests[b]}return a||null},clearTimeout:function(a){if(!a){a=this.getLatest()}if(a){a.clearTimer()}},onRequestComplete:function(a){delete this.requests[a.id]},nativeBinaryPostSupport:function(){return Ext.isChrome||(Ext.isSafari&&Ext.isDefined(window.Uint8Array))||(Ext.isGecko&&Ext.isDefined(window.Uint8Array))}});Ext.define("Ext.Ajax",{extend:Ext.data.Connection,singleton:true,autoAbort:false});Ext.define("Ext.AnimationQueue",{singleton:true,constructor:function(){var a=this;a.queue=[];a.taskQueue=[];a.runningQueue=[];a.idleQueue=[];a.isRunning=false;a.isIdle=true;a.run=Ext.Function.bind(a.run,a);if(Ext.os.is.iOS){Ext.interval(a.watch,500,a)}},start:function(c,b,a){var d=this;d.queue.push(arguments);if(!d.isRunning){if(d.hasOwnProperty("idleTimer")){clearTimeout(d.idleTimer);delete d.idleTimer}if(d.hasOwnProperty("idleQueueTimer")){clearTimeout(d.idleQueueTimer);delete d.idleQueueTimer}d.isIdle=false;d.isRunning=true;d.doStart()}},watch:function(){if(this.isRunning&&Ext.now()-this.lastRunTime>=500){this.run()}},run:function(){var e=this;if(!e.isRunning){return}var a=e.runningQueue,b=Ext.now(),c,d;e.lastRunTime=b;e.frameStartTime=b;a.push.apply(a,e.queue);for(c=0,d=a.length;c<d;c++){e.invoke(a[c])}a.length=0;e.doIterate()},doStart:function(){this.animationFrameId=Ext.Function.requestAnimationFrame(this.run);this.lastRunTime=Ext.now()},doIterate:function(){this.animationFrameId=Ext.Function.requestAnimationFrame(this.run)},doStop:function(){Ext.Function.cancelAnimationFrame(this.animationFrameId)},stop:function(e,d,b){var j=this;if(!j.isRunning){return}var a=j.queue,h=a.length,c,g;for(c=0;c<h;c++){g=a[c];if(g[0]===e&&g[1]===d&&g[2]===b){a.splice(c,1);c--;h--}}if(h===0){j.doStop();j.isRunning=false;j.idleTimer=Ext.defer(j.whenIdle,100,j)}},onIdle:function(e,d,a){var c=this.idleQueue,b,g,h;for(b=0,g=c.length;b<g;b++){h=c[b];if(e===h[0]&&d===h[1]&&a===h[2]){return}}c.push(arguments);if(this.isIdle){this.processIdleQueue()}},unIdle:function(e,d,a){var c=this.idleQueue,b,g,h;for(b=0,g=c.length;b<g;b++){h=c[b];if(e===h[0]&&d===h[1]&&a===h[2]){c.splice(b,1);return true}}return false},queueTask:function(c,b,a){this.taskQueue.push(arguments);this.processTaskQueue()},dequeueTask:function(e,d,a){var c=this.taskQueue,b,g,h;for(b=0,g=c.length;b<g;b++){h=c[b];if(e===h[0]&&d===h[1]&&a===h[2]){c.splice(b,1);b--;g--}}},invoke:function(d){var c=d[0],b=d[1],a=d[2];c=(typeof c=="string"?b[c]:c);if(Ext.isArray(a)){c.apply(b,a)}else{c.call(b,a)}},whenIdle:function(){this.isIdle=true;this.processIdleQueue()},processIdleQueue:function(){if(!this.hasOwnProperty("idleQueueTimer")){this.idleQueueTimer=Ext.defer(this.processIdleQueueItem,1,this)}},processIdleQueueItem:function(){delete this.idleQueueTimer;if(!this.isIdle){return}var a=this.idleQueue,b;if(a.length>0){b=a.shift();this.invoke(b);this.processIdleQueue()}},processTaskQueue:function(){if(!this.hasOwnProperty("taskQueueTimer")){this.taskQueueTimer=Ext.defer(this.processTaskQueueItem,15,this)}},processTaskQueueItem:function(){delete this.taskQueueTimer;var a=this.taskQueue,b;if(a.length>0){b=a.shift();this.invoke(b);this.processTaskQueue()}}});Ext.define("Ext.ComponentManager",{alternateClassName:"Ext.ComponentMgr",singleton:true,count:0,typeName:"xtype",constructor:function(a){var b=this;Ext.apply(b,a||{});b.all={};b.references={};b.onAvailableCallbacks={}},create:function(a,b){if(typeof a==="string"){return Ext.widget(a)}if(a.isComponent){return a}if("xclass" in a){return Ext.create(a.xclass,a)}return Ext.widget(a.xtype||b,a)},get:function(a){return this.all[a]},register:function(a){var e=this,d=e.all,c=a.getId(),b=e.onAvailableCallbacks;d[c]=a;if(a.getReference&&a.getReference()){e.references[c]=a}++e.count;if(!e.hasFocusListener){Ext.on("focus",e.onGlobalFocus,e);e.hasFocusListener=true}b=b&&b[c];if(b&&b.length){e.notifyAvailable(a)}},unregister:function(a){var b=a.getId();if(a.getReference&&a.getReference()){this.references[b]=null;delete this.references[b]}this.all[b]=null;delete this.all[b];this.count--},markReferencesDirty:function(){this.referencesDirty=true},fixReferences:function(){var c=this,b=c.references,a;if(c.referencesDirty){for(a in b){if(b.hasOwnProperty(a)){b[a].fixReference()}}c.referencesDirty=false}},onAvailable:function(h,c,b){var g=this,e=g.onAvailableCallbacks,a=g.all,d;if(h in a){d=a[h];c.call(b||d,d)}else{if(h){if(!Ext.isArray(e[h])){e[h]=[]}e[h].push(function(i){c.call(b||i,i)})}}},notifyAvailable:function(b){var a=this.onAvailableCallbacks[b&&b.getId()]||[];while(a.length){(a.shift())(b)}},each:function(b,a){return Ext.Object.each(this.all,b,a)},getCount:function(){return this.count},getAll:function(){return Ext.Object.getValues(this.all)},getActiveComponent:function(){return Ext.Component.fromElement(Ext.dom.Element.getActiveElement())},onGlobalFocus:function(i){var d=this,b=i.toElement,j=i.fromElement,h=Ext.Component.fromElement(b),a=Ext.Component.fromElement(j),c,g;if(h===a){return}c=d.getCommonAncestor(a,h);if(a&&!(a.destroyed||a.destroying)){if(a.handleBlurEvent){a.handleBlurEvent(i)}for(g=a;g&&g!==c;g=g.getRefOwner()){if(!(g.destroyed||g.destroying)){g.onFocusLeave({event:i.event,type:"focusleave",target:j,relatedTarget:b,fromComponent:a,toComponent:h})}}}if(h&&!h.destroyed){if(h.handleFocusEvent){h.handleFocusEvent(i)}for(g=h;g&&g!==c;g=g.getRefOwner()){g.onFocusEnter({event:i.event,type:"focusenter",relatedTarget:j,target:b,fromComponent:a,toComponent:h})}}},getCommonAncestor:function(b,a){if(b===a){return b}while(b&&!(b.isAncestor(a)||b===a)){b=b.getRefOwner()}return b},privates:{clearAll:function(){this.all={};this.references={};this.onAvailableCallbacks={}},fromElement:function(b,d,c){var h=Ext.getDom(b),a=this.all,e=0,j,g,i;if(typeof d!=="number"){j=Ext.getDom(d);d=Number.MAX_VALUE}while(h&&h.nodeType===1&&e<d&&h!==j){g=h.getAttribute("data-componentid")||h.id;if(g){i=a[g];if(i&&(!c||Ext.ComponentQuery.is(i,c))){return i}e++}h=h.parentNode}return null}},deprecated:{5:{methods:{isRegistered:null,registerType:null}}}},function(){Ext.getCmp=function(a){return Ext.ComponentManager.get(a)}});Ext.ns("Ext.util").Operators={"=":function(b,c){return b==c},"!=":function(b,c){return b!=c},"^=":function(b,c){return b&&b.substr(0,c.length)==c},"$=":function(b,c){return b&&b.substr(b.length-c.length)==c},"*=":function(b,c){return b&&b.indexOf(c)!==-1},"%=":function(b,c){return(b%c)===0},"|=":function(b,c){return b&&(b==c||b.substr(0,c.length+1)==c+"-")},"~=":function(b,c){return b&&(" "+b+" ").indexOf(" "+c+" ")!=-1}};Ext.define("Ext.util.LruCache",{extend:Ext.util.HashMap,config:{maxSize:null},add:function(a,e){var d=this,c,b;d.removeAtKey(a);b=d.last;c={prev:b,next:null,key:a,value:e};if(b){b.next=c}else{d.first=c}d.last=c;d.callParent([a,c]);d.prune();return e},insertBefore:function(b,g,c){var e=this,a,d;if(c=this.map[this.findKey(c)]){a=e.findKey(g);if(a){e.unlinkEntry(d=e.map[a])}else{d={prev:c.prev,next:c,key:b,value:g}}if(c.prev){d.prev.next=d}else{e.first=d}d.next=c;c.prev=d;e.prune();return g}else{return e.add(b,g)}},get:function(a){var b=this.map[a];if(b){if(b.next){this.moveToEnd(b)}return b.value}},removeAtKey:function(a){this.unlinkEntry(this.map[a]);return this.callParent(arguments)},clear:function(a){this.first=this.last=null;return this.callParent([a])},unlinkEntry:function(a){if(a){if(a.next){a.next.prev=a.prev}else{this.last=a.prev}if(a.prev){a.prev.next=a.next}else{this.first=a.next}a.prev=a.next=null}},moveToEnd:function(a){this.unlinkEntry(a);if(a.prev=this.last){this.last.next=a}else{this.first=a}this.last=a},getArray:function(c){var a=[],b=this.first;while(b){a.push(c?b.key:b.value);b=b.next}return a},each:function(c,b,a){var g=this,e=a?g.last:g.first,d=g.length;b=b||g;while(e){if(c.call(b,e.key,e.value,d)===false){break}e=a?e.prev:e.next}return g},findKey:function(b){var a,c=this.map;for(a in c){if(c.hasOwnProperty(a)&&c[a].value===b){return a}}return undefined},clone:function(){var a=new this.self(this.initialConfig),c=this.map,b;a.suspendEvents();for(b in c){if(c.hasOwnProperty(b)){a.add(b,c[b].value)}}a.resumeEvents();return a},prune:function(){var b=this,a=b.getMaxSize(),c=a?(b.length-a):0;if(c>0){for(;b.first&&c;c--){b.removeAtKey(b.first.key)}}},destroy:function(){this.first=this.last=null;this.callParent()}});Ext.define("Ext.ComponentQuery",{singleton:true},function(){var g=this,s=Ext.util.Operators,k=/(\d*)n\+?(\d*)/,e=/\D/,m=/^(\s)+/,l=/\\(.)/g,n=new Ext.util.LruCache({maxSize:100}),o=["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(""),p=function(u,t){return t.method.apply(this,[u].concat(t.args))},a=function(v,z){var t=[],w=0,y=v.length,x,u=z!==">";for(;w<y;w++){x=v[w];if(x.getRefItems){t=t.concat(x.getRefItems(u))}}return t},h=function(u){var t=[],v=0,x=u.length,w;for(;v<x;v++){w=u[v];while(!!(w=w.getRefOwner())){t.push(w)}}return t},d=function(u,z,y){if(z==="*"){return u.slice()}else{var t=[],v=0,x=u.length,w;for(;v<x;v++){w=u[v];if(w.isXType(z,y)){t.push(w)}}return t}},b=function(C,D,w,v){var G=[],B=0,u=C.length,F,y,E,t,A,z,x;if(D.charAt(0)==="@"){F=true;D=D.substr(1)}if(D.charAt(0)==="?"){F=true;y=true;D=D.substr(1)}for(;B<u;B++){E=C[B];x=E.getConfigurator&&E.self.$config.configs[D];if(x){t=E[x.names.get]()}else{if(F&&!E.hasOwnProperty(D)){continue}else{t=E[D]}}if(y){G.push(E)}else{if(w==="~="){if(t){if(!Ext.isArray(t)){t=t.split(" ")}for(A=0,z=t.length;A<z;A++){if(s[w](Ext.coerce(t[A],v),v)){G.push(E);break}}}}else{if(w==="/="){if(t!=null&&v.test(t)){G.push(E)}}else{if(!v?!!E[D]:s[w](Ext.coerce(t,v),v)){G.push(E)}}}}}return G},i=function(u,y){var t=[],v=0,x=u.length,w;for(;v<x;v++){w=u[v];if(w.getItemId()===y){t.push(w)}}return t},r=function(t,u,v){return g.pseudos[u](t,v)},j=/^(\s?([>\^])\s?|\s|$)/,q=/^(#)?((?:\\\.|[\w\-])+|\*)(?:\((true|false)\))?/,c=[{re:/^\.((?:\\\.|[\w\-])+)(?:\((true|false)\))?/,method:d,argTransform:function(t){if(t[1]!==undefined){t[1]=t[1].replace(l,"$1")}return t.slice(1)}},{re:/^(?:\[((?:[@?$])?[\w\-]*)\s*(?:([\^$*~%!\/]?=)\s*(['"])?((?:\\\]|.)*?)\3)?(?!\\)\])/,method:b,argTransform:function(w){var t=w[0],x=w[1],u=w[2],v=w[4],y;if(v!==undefined){v=v.replace(l,"$1")}if(u==="/="){y=n.get(v);if(y){v=y}else{v=n.add(v,new RegExp(v))}}return[x,u,v]}},{re:/^#((?:\\\.|[\w\-])+)/,method:i},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:r,argTransform:function(t){if(t[2]!==undefined){t[2]=t[2].replace(l,"$1")}return t.slice(1)}},{re:/^(?:\{([^\}]+)\})/,method:o}];g.Query=Ext.extend(Object,{constructor:function(t){t=t||{};Ext.apply(this,t)},execute:function(v){var w=this.operations,u=[],y,x,t;for(x=0,t=w.length;x<t;x++){y=w[x];u=u.concat(this._execute(v,y))}return u},_execute:function(u,w){var x=0,y=w.length,v,t;if(!u){t=Ext.ComponentManager.getAll()}else{if(Ext.isIterable(u)){t=u}else{if(u.isMixedCollection){t=u.items}}}for(;x<y;x++){v=w[x];if(v.mode==="^"){t=h(t||[u])}else{if(v.mode){t=a(t||[u],v.mode)}else{t=p(t||a([u]),v)}}if(x===y-1){return t}}return[]},is:function(w){var v=this.operations,u=false,t=v.length,y,x;if(t===0){return true}for(x=0;x<t;x++){y=v[x];u=this._is(w,y);if(u){return u}}return false},_is:function(B,t){var z=t.length,u=[B],v,x,w,y,A,C;for(x=z-1;x>=0;--x){v=t[x];y=v.mode;if(y){if(y==="^"){u=a(u," ")}else{if(y===">"){A=[];for(w=0,z=u.length;w<z;++w){C=u[w].getRefOwner();if(C){A.push(C)}}u=A}else{u=h(u)}}if(u.length===0){return false}}else{u=p(u,v);if(u.length===0){return false}}}return true},getMatches:function(w,u){var t=u.length,v;for(v=0;v<t;++v){w=p(w,u[v]);if(w.length===0){break}}return w},isMultiMatch:function(){return this.operations.length>1}});Ext.apply(g,{cache:new Ext.util.LruCache({maxSize:100}),pseudos:{not:function(z,t){var x=0,y=z.length,w=[],v=-1,u;for(;x<y;++x){u=z[x];if(!g.is(u,t)){w[++v]=u}}return w},first:function(u){var t=[];if(u.length>0){t.push(u[0])}return t},last:function(v){var t=v.length,u=[];if(t>0){u.push(v[t-1])}return u},focusable:function(u){var t=u.length,w=[],v=0,x;for(;v<t;v++){x=u[v];if(x.isFocusable&&x.isFocusable()){w.push(x)}}return w},"nth-child":function(z,A){var B=[],u=k.exec(A==="even"&&"2n"||A==="odd"&&"2n+1"||!e.test(A)&&"n+"+A||A),x=(u[1]||1)-0,y=u[2]-0,w,t,v;for(w=0;t=z[w];w++){v=w+1;if(x===1){if(y===0||v===y){B.push(t)}}else{if((v+y)%x===0){B.push(t)}}}return B},scrollable:function(u){var t=u.length,w=[],v=0,x;for(;v<t;v++){x=u[v];if(x.scrollable||x._scrollable){w.push(x)}}return w}},query:function(t,A){if(!t){return Ext.ComponentManager.all.getArray()}var v=[],B=[],y={},x=g.cache.get(t),w,z,u;if(!x){x=g.cache.add(t,g.parse(t))}v=x.execute(A);if(x.isMultiMatch()){w=v.length;for(u=0;u<w;u++){z=v[u];if(!y[z.id]){B.push(z);y[z.id]=true}}v=B}return v},visitPreOrder:function(t,v,x,w,u){g._visit(true,t,v,x,w,u)},visitPostOrder:function(t,v,x,w,u){g._visit(false,t,v,x,w,u)},_visit:function(D,u,C,B,E,y){var A=g.cache.get(u),x=[C],t,z=0,w,v;if(!A){A=g.cache.add(u,g.parse(u))}v=A.is(C);if(C.getRefItems){t=C.getRefItems();z=t.length}if(y){Ext.Array.push(x,y)}if(D){if(v){if(B.apply(E||C,x)===false){return false}}}for(w=0;w<z;w++){if(g._visit.call(g,D,u,t[w],B,E,y)===false){return false}}if(!D){if(v){if(B.apply(E||C,x)===false){return false}}}},is:function(u,t){if(!t){return true}var v=g.cache.get(t);if(!v){v=g.cache.add(t,g.parse(t))}return v.is(u)},parse:function(u){var v=[],x,y,w,t;x=Ext.splitAndUnescape(u,",");for(w=0,t=x.length;w<t;w++){y=Ext.String.trim(x[w]);v.push(g._parse(y))}return new g.Query({operations:v})},_parse:function(z){var u=[],x=Ext.String.trim,v=c.length,E,A,y,F,G,H,w,B,C,t,D;while(z&&E!==z){E=z;A=z.match(q);if(A){F=A[1];y=x(A[2]).replace(l,"$1");if(F==="#"){u.push({method:i,args:[y]})}else{u.push({method:d,args:[y,Boolean(A[3])]})}z=z.replace(A[0],"").replace(m,"$1")}while(!(G=z.match(j))){for(B=0;z&&B<v;B++){C=c[B];H=z.match(C.re);t=C.method;w=C.argTransform;if(H){if(w){D=w(H)}else{D=H.slice(1)}u.push({method:Ext.isString(C.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[t].concat(H.slice(1)))):C.method,args:D});z=z.replace(H[0],"").replace(m,"$1");break}if(B===(v-1)){Ext.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(G[1]){u.push({mode:G[2]||G[1]});z=z.replace(G[0],"").replace(m,"")}}return u}});Ext.all=function(){return g.query.apply(g,arguments)};Ext.first=function(){var t=g.query.apply(g,arguments);return(t&&t[0])||null}});Ext.define("Ext.Evented",{alternateClassName:"Ext.EventedBase",mixins:[Ext.mixin.Observable],initialized:false,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.initialized=true},onClassExtended:function(b,e){if(!e.hasOwnProperty("eventedConfig")){return}var d=e.config,g=e.eventedConfig,c,a;if(d){Ext.applyIf(d,g)}else{b.addConfig(g)}for(c in g){if(g.hasOwnProperty(c)){a=Ext.Config.get(c);e[a.names.set]=a.eventedSetter||a.getEventedSetter()}}}});Ext.define("Ext.util.Positionable",{mixinId:"positionable",_positionTopLeft:["position","top","left"],_alignRe:/^([a-z]+)-([a-z]+)([?!])?$/,afterSetPosition:Ext.emptyFn,adjustForConstraints:function(c,b){var a=this.getConstrainVector(b,c);if(a){c[0]+=a[0];c[1]+=a[1]}return c},alignTo:function(c,a,g,b){var e=this,d=e.el;return e.setXY(e.getAlignToXY(c,a,g),d.anim&&!!b?d.anim(b):false)},calculateAnchorXY:function(g,i,h,d){var j=this,c=j.el,k=document,e=(c.dom===k.body||c.dom===k),l=Math.round,m,b,a;g=(g||"tl").toLowerCase();d=d||{};b=d.width||(e?Ext.Element.getViewportWidth():j.getWidth());a=d.height||(e?Ext.Element.getViewportHeight():j.getHeight());switch(g){case"tl":m=[0,0];break;case"bl":m=[0,a];break;case"tr":m=[b,0];break;case"c":m=[l(b*0.5),l(a*0.5)];break;case"t":m=[l(b*0.5),0];break;case"l":m=[0,l(a*0.5)];break;case"r":m=[b,l(a*0.5)];break;case"b":m=[l(b*0.5),a];break;case"tc":m=[l(b*0.5),0];break;case"bc":m=[l(b*0.5),a];break;case"br":m=[b,a]}return[m[0]+i,m[1]+h]},convertPositionSpec:Ext.identityFn,getAlignToXY:function(j,w,e){var z=this,d,v,a,h,r,g,s,t,p,q,u,o,n,b,c,i,l,m,k;j=Ext.get(j.el||j);if(!j||!j.dom){}e=e||[0,0];w=(!w||w==="?"?"tl-bl?":(!(/-/).test(w)&&w!==""?"tl-"+w:w||"tl-bl")).toLowerCase();w=z.convertPositionSpec(w);a=w.match(z._alignRe);o=a[1];n=a[2];u=!!a[3];h=z.getAnchorXY(o,true);r=z.getAnchorToXY(j,n,false);m=r[0]-h[0]+e[0];k=r[1]-h[1]+e[1];if(u){if(a[3]==="!"){d=j}else{d=z.constrainTo||z.container||z.el.parent()}d=Ext.get(d.el||d);v=d.getConstrainRegion();v.right=v.left+d.el.dom.clientWidth;g=z.getWidth();s=z.getHeight();t=j.getRegion();b=o.charAt(0);c=o.charAt(o.length-1);i=n.charAt(0);l=n.charAt(n.length-1);p=(m<t.right&&m+g>=t.left)&&((b=="t"&&i=="b")||(b=="b"&&i=="t"));q=(k<t.bottom&&k+s>=t.top)&&((c=="r"&&l=="l")||(c=="l"&&l=="r"));if(m+g>v.right){if(q){m=t.left-g;q=false}else{m=v.right-g}}if(m<v.left){m=q?t.right:v.left}if(k+s>v.bottom){if(p){k=t.top-s;p=false}else{k=v.bottom-s}}if(k<v.top){k=p?t.bottom:v.top}}return[m,k]},getAnchorXY:function(d,i,b){var h=this,j=h.getXY(),a=h.el,l=document,c=a.dom==l.body||a.dom==l,k=a.getScroll(),g=c?k.left:i?0:j[0],e=c?k.top:i?0:j[1];return h.calculateAnchorXY(d,g,e,b)},getBox:function(d,i){var e=this,m=i?e.getLocalXY():e.getXY(),j=m[0],g=m[1],k=e.getWidth(),b=e.getHeight(),c,a,l;if(d){c=e.getBorderPadding();a=c.beforeX;l=c.beforeY;j+=a;g+=l;k-=(a+c.afterX);b-=(l+c.afterY)}return{x:j,left:j,0:j,y:g,top:g,1:g,width:k,height:b,right:j+k,bottom:g+b}},calculateConstrainedPosition:function(h,b,l,d){var k=this,c,i=k.floatParent,e=i?i.getTargetEl():null,a,g,j,n=false,m;if(l&&i){a=e.getXY();g=e.getBorderPadding();a[0]+=g.beforeX;a[1]+=g.beforeY;if(b){j=[b[0]+a[0],b[1]+a[1]]}}else{j=b}h=h||k.constrainTo||e||k.container||k.el.parent();if(l&&j){j=k.reverseTranslateXY(j)}c=((k.constrainHeader&&k.header.rendered)?k.header:k).getConstrainVector(h,j,d);if(c){n=b||k.getPosition(l);n[0]+=c[0];n[1]+=c[1]}return n},getConstrainRegion:function(){var h=this,c=h.el,a=c.dom.nodeName==="BODY",e=c.dom,g=c.getBorders(),i=c.getXY(),d=i[0]+g.beforeX,j=i[1]+g.beforeY,k,b,l;if(a){k=c.getScroll();d=k.left;j=k.top;b=Ext.Element.getViewportWidth();l=Ext.Element.getViewportHeight()}else{b=e.clientWidth;l=e.clientHeight}return new Ext.util.Region(j,d+b,j+l,d)},getConstrainVector:function(h,c,e){var a=this.getRegion(),d=[0,0],b=(this.shadow&&this.constrainShadow&&!this.shadowDisabled)?this.shadow.getShadowSize():undefined,j=false,i,g=this.constraintInsets;if(!(h instanceof Ext.util.Region)){h=Ext.get(h.el||h);i=h.getViewSize();h=h.getConstrainRegion();h.right=h.left+i.width;h.bottom=h.top+i.height}if(g){g=Ext.isObject(g)?g:Ext.Element.parseBox(g);h.adjust(g.top,g.right,g.bottom,g.left)}if(c){a.translateBy(c[0]-a.x,c[1]-a.y)}if(e){a.right=a.left+e[0];a.bottom=a.top+e[1]}if(b){h.adjust(b[0],-b[1],-b[2],b[3])}if(a.right>h.right){j=true;d[0]=(h.right-a.right)}if(a.left+d[0]<h.left){j=true;d[0]=(h.left-a.left)}if(a.bottom>h.bottom){j=true;d[1]=(h.bottom-a.bottom)}if(a.top+d[1]<h.top){j=true;d[1]=(h.top-a.top)}return j?d:false},getOffsetsTo:function(a){var c=this.getXY(),b=Ext.fly(a.el||a).getXY();return[c[0]-b[0],c[1]-b[1]]},getRegion:function(){var a=this.getBox();return new Ext.util.Region(a.top,a.right,a.bottom,a.left)},getClientRegion:function(){var b=this,a,c=b.getBox(),d=b.dom;a=d.offsetWidth-d.clientWidth;if(a){if(b.getStyle("direction")==="rtl"){c.left+=a}else{c.right-=a}}a=d.offsetHeight-d.clientHeight;if(a){c.bottom-=a}return new Ext.util.Region(c.top,c.right,c.bottom,c.left)},getViewRegion:function(){var g=this,c=g.el,a=c.dom.nodeName==="BODY",e,j,h,i,d,b,k;if(a){j=c.getScroll();d=j.left;i=j.top;b=Ext.Element.getViewportWidth();k=Ext.Element.getViewportHeight()}else{e=g.getBorderPadding();h=g.getXY();d=h[0]+e.beforeX;i=h[1]+e.beforeY;b=g.getWidth(true);k=g.getHeight(true)}return new Ext.util.Region(i,d+b,i+k,d)},move:function(j,b,c){var g=this,m=g.getXY(),k=m[0],i=m[1],d=[k-b,i],l=[k+b,i],h=[k,i-b],a=[k,i+b],e={l:d,left:d,r:l,right:l,t:h,top:h,up:h,b:a,bottom:a,down:a};j=j.toLowerCase();g.setXY([e[j][0],e[j][1]],c)},setBox:function(c){var b=this,a,d;if(c.isRegion){c={x:c.left,y:c.top,width:c.right-c.left,height:c.bottom-c.top}}b.constrainBox(c);a=c.x;d=c.y;b.setXY([a,d]);b.setSize(c.width,c.height);b.afterSetPosition(a,d);return b},constrainBox:function(d){var c=this,b,a,e;if(c.constrain||c.constrainHeader){a=("x" in d)?d.x:d.left;e=("y" in d)?d.y:d.top;b=c.calculateConstrainedPosition(null,[a,e],false,[d.width,d.height]);if(b){d.x=b[0];d.y=b[1]}}},translatePoints:function(a,c){var b=this.translateXY(a,c);return{left:b.x,top:b.y}},translateXY:function(h,e){var d=this,b=d.el,i=b.getStyle(d._positionTopLeft),a=i.position==="relative",c=parseFloat(i.left),g=parseFloat(i.top),j=d.getXY();if(Ext.isArray(h)){e=h[1];h=h[0]}if(isNaN(c)){c=a?0:b.dom.offsetLeft}if(isNaN(g)){g=a?0:b.dom.offsetTop}c=(typeof h==="number")?h-j[0]+c:undefined;g=(typeof e==="number")?e-j[1]+g:undefined;return{x:c,y:g}},reverseTranslateXY:function(k){var i=k,c=this.el,j=[],d=c.dom,b=d.offsetParent,a,e,h,g;if(b){a=c.isStyle("position","relative"),e=Ext.fly(b).getXY(),h=k[0]+e[0]+b.clientLeft;g=k[1]+e[1]+b.clientTop;if(a){h+=c.getPadding("l");g+=c.getPadding("t")}i=[h,g]}return i}});Ext.define("Ext.dom.UnderlayPool",{constructor:function(a){this.elementConfig=a;this.cache=[]},checkOut:function(){var a=this.cache.shift();if(!a){a=Ext.Element.create(this.elementConfig);a.setVisibilityMode(2)}return a},checkIn:function(a){this.cache.push(a)},reset:function(){var a=this.cache,b=a.length;while(b--){a[b].destroy()}this.cache=[]}});Ext.define("Ext.dom.Underlay",{constructor:function(a){Ext.apply(this,a)},beforeShow:Ext.emptyFn,getInsertionTarget:function(){return this.target},getPool:function(){return this.pool||(this.self.prototype.pool=new Ext.dom.UnderlayPool(this.elementConfig))},hide:function(){var b=this,a=b.el;if(a){a.hide();b.getPool().checkIn(a);b.el=null;b.hidden=true}},realign:function(i,h,a,j){var e=this,b=e.el,d=e.target,c=e.offsets,g=Math.max;if(b){if(i==null){i=d.getX()}if(h==null){h=d.getY()}if(a==null){a=d.getWidth()}if(j==null){j=d.getHeight()}if(c){i=i+c.x;h=h+c.y;a=g(a+c.w,0);j=g(j+c.h,0)}b.setXY([i,h]);b.setSize(a,j)}},setZIndex:function(a){this.zIndex=a;if(this.el){this.el.setStyle("z-index",a)}},show:function(){var b=this,d=b.target,g=b.zIndex,a=b.el,c=b.getInsertionTarget().dom,e;if(!a){a=b.el=b.getPool().checkOut()}b.beforeShow();if(g==null){g=(parseInt(d.getStyle("z-index"),10))}if(g){a.setStyle("z-index",g)}a.setStyle("position",b.fixed?"fixed":"");e=a.dom;if(e.nextSibling!==c){d.dom.parentNode.insertBefore(e,c)}a.show();b.realign();b.hidden=false}});Ext.define("Ext.dom.Shadow",{extend:Ext.dom.Underlay,alternateClassName:"Ext.Shadow",mode:"drop",offset:4,cls:Ext.baseCSSPrefix+(!Ext.supports.CSS3BoxShadow?"ie":"css")+"-shadow",constructor:function(b){var d=this,e,c,g,a;d.callParent([b]);d.elementConfig={cls:d.cls,role:"presentation"};g=d.offset;a=Math.floor(g/2);d.opacity=50;switch(d.mode.toLowerCase()){case"drop":e={x:0,y:0,w:g,h:g};if(Ext.supports.CSS3BoxShadow){c={x:g,y:g,h:-g,w:-g}}else{c={x:-a,y:-a,h:-a,w:-a}}break;case"sides":e={x:-g,y:0,w:g*2,h:g};if(Ext.supports.CSS3BoxShadow){c={x:0,y:g,h:-g,w:0}}else{c={x:1+a-2*g,y:-(1+a),h:-1,w:a-1}}break;case"frame":e={x:-g,y:-g,w:g*2,h:g*2};if(Ext.supports.CSS3BoxShadow){c={x:0,y:0,h:0,w:0}}else{c={x:1+a-2*g,y:1+a-2*g,h:g-a-1,w:g-a-1}}break;case"bottom":e={x:-g,y:0,w:g*2,h:g};if(Ext.supports.CSS3BoxShadow){c={x:0,y:g,h:-g,w:0}}else{c={x:0,y:g,h:0,w:0}}break}d.offsets=c;d.outerOffsets=e},getShadowSize:function(){var b=this,d=b.el?b.offset:0,a=[d,d,d,d],c=b.mode.toLowerCase();if(b.el&&c!=="frame"){a[0]=0;if(c=="drop"){a[3]=0}}return a},boxShadowProperty:(function(){var b="boxShadow",a=document.documentElement.style;if(!("boxShadow" in a)){if("WebkitBoxShadow" in a){b="WebkitBoxShadow"}else{if("MozBoxShadow" in a){b="MozBoxShadow"}}}return b}()),beforeShow:function(){var b=this,a=b.el.dom.style,c=b.shim;if(Ext.supports.CSS3BoxShadow){a[b.boxShadowProperty]="0 0 "+(b.offset+2)+"px #888"}else{a.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+b.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(b.offset)+")"}if(c){c.realign()}},setOpacity:function(a){var b=this.el;if(b){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){a=Math.floor(a*100/2)/100}this.opacity=a;b.setOpacity(a)}}});Ext.define("Ext.dom.Shim",{extend:Ext.dom.Underlay,cls:Ext.baseCSSPrefix+"shim",constructor:function(a){this.callParent([a]);this.elementConfig={tag:"iframe",cls:this.cls,role:"presentation",frameBorder:"0",src:Ext.SSL_SECURE_URL,tabindex:"-1"}},getInsertionTarget:function(){var a=this.shadow;return(a&&a.el)||this.target}});Ext.define("Ext.dom.ElementEvent",{extend:Ext.util.Event,addListener:function(h,k,l,c,e){var g=this,i=false,a=g.name,b,d,j;l=l||{};if(l.delegated===false||Ext.event.publisher.Dom.instance.directEvents[a]){if(l.capture){j=g.directCaptures||(g.directCaptures=new Ext.util.Event(g.observable,a));i=j.addListener(h,k,l,c,e)}else{d=g.directs||(g.directs=new Ext.util.Event(g.observable,a));i=d.addListener(h,k,l,c,e)}}else{if(l.capture){b=g.captures||(g.captures=new Ext.util.Event(g.observable,a));i=b.addListener(h,k,l,c,e)}else{i=g.callParent([h,k,l,c,e])}}return i},removeListener:function(e,d){var g=this,a=g.captures,c=g.directs,h=g.directCaptures,i=false,b=g.findListener(e,d);if(b!==-1){i=g.callParent([e,d,b])}else{if(c){b=c.findListener(e,d)}if(b!==-1){i=c.removeListener(e,d,b)}else{if(a){b=a.findListener(e,d)}if(b!==-1){i=a.removeListener(e,d,b)}else{if(h){b=h.findListener(e,d);if(b!==-1){i=h.removeListener(e,d,b)}}}}}return i},clearListeners:function(){var c=this,d=c.directCaptures,b=c.directs,a=c.captures;if(d){d.clearListeners()}if(b){b.clearListeners()}if(a){a.clearListeners()}c.callParent()},suspend:function(){var c=this,d=c.directCaptures,b=c.directs,a=c.captures;if(d){d.suspend()}if(b){b.suspend()}if(a){a.suspend()}c.callParent()},resume:function(){var c=this,d=c.directCaptures,b=c.directs,a=c.captures;if(d){d.resume()}if(b){b.resume()}if(a){a.resume()}c.callParent()}});Ext.define("Ext.event.publisher.Publisher",{handledEvents:[],statics:{publishers:{},publishersByEvent:{}},constructor:function(){var b=this,a=b.type;b.handles={};b.registerEvents();Ext.event.publisher.Publisher.publishers[a]=b},registerEvents:function(e){var h=this,d=Ext.event.publisher.Publisher.publishersByEvent,b=e||h.handledEvents,g=b.length,a,c;for(c=0;c<g;c++){a=b[c];h.handles[a]=1;d[a]=h}},fire:function(c,a,b){var d;if(c.hasListeners[a]){d=c.events[a];if(d){d.fire.apply(d,b)}}}});Ext.define("Ext.util.Offset",{statics:{fromObject:function(a){return new this(a.x,a.y)}},constructor:function(a,b){this.x=(a!=null&&!isNaN(a))?a:0;this.y=(b!=null&&!isNaN(b))?b:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(a){this.x=a.x;this.y=a.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(a){return(this.x==a.x&&this.y==a.y)},round:function(b){if(!isNaN(b)){var a=Math.pow(10,b);this.x=Math.round(this.x*a)/a;this.y=Math.round(this.y*a)/a}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.util.Region",{isRegion:true,statics:{getRegion:function(a){return Ext.fly(a).getRegion()},from:function(a){return new this(a.top,a.right,a.bottom,a.left)}},constructor:function(e,b,a,d){var c=this;c.y=c.top=c[1]=e;c.right=b;c.bottom=a;c.x=c.left=c[0]=d},contains:function(b){var a=this;return(b.x>=a.x&&b.right<=a.right&&b.y>=a.y&&b.bottom<=a.bottom)},intersect:function(h){var g=this,d=Math.max(g.y,h.y),e=Math.min(g.right,h.right),a=Math.min(g.bottom,h.bottom),c=Math.max(g.x,h.x);if(a>d&&e>c){return new this.self(d,e,a,c)}else{return false}},union:function(h){var g=this,d=Math.min(g.y,h.y),e=Math.max(g.right,h.right),a=Math.max(g.bottom,h.bottom),c=Math.min(g.x,h.x);return new this.self(d,e,a,c)},constrainTo:function(b){var a=this,c=Ext.Number.constrain;a.top=a.y=c(a.top,b.y,b.bottom);a.bottom=c(a.bottom,b.y,b.bottom);a.left=a.x=c(a.left,b.x,b.right);a.right=c(a.right,b.x,b.right);return a},adjust:function(e,b,a,d){var c=this;c.top=c.y+=e;c.left=c.x+=d;c.right+=b;c.bottom+=a;return c},getOutOfBoundOffset:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.getOutOfBoundOffsetX(b)}else{return this.getOutOfBoundOffsetY(b)}}else{b=a;var c=new Ext.util.Offset();c.x=this.getOutOfBoundOffsetX(b.x);c.y=this.getOutOfBoundOffsetY(b.y);return c}},getOutOfBoundOffsetX:function(a){if(a<=this.x){return this.x-a}else{if(a>=this.right){return this.right-a}}return 0},getOutOfBoundOffsetY:function(a){if(a<=this.y){return this.y-a}else{if(a>=this.bottom){return this.bottom-a}}return 0},isOutOfBound:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.isOutOfBoundX(b)}else{return this.isOutOfBoundY(b)}}else{b=a;return(this.isOutOfBoundX(b.x)||this.isOutOfBoundY(b.y))}},isOutOfBoundX:function(a){return(a<this.x||a>this.right)},isOutOfBoundY:function(a){return(a<this.y||a>this.bottom)},restrict:function(b,d,a){if(Ext.isObject(b)){var c;a=d;d=b;if(d.copy){c=d.copy()}else{c={x:d.x,y:d.y}}c.x=this.restrictX(d.x,a);c.y=this.restrictY(d.y,a);return c}else{if(b=="x"){return this.restrictX(d,a)}else{return this.restrictY(d,a)}}},restrictX:function(b,a){if(!a){a=1}if(b<=this.x){b-=(b-this.x)*a}else{if(b>=this.right){b-=(b-this.right)*a}}return b},restrictY:function(b,a){if(!a){a=1}if(b<=this.y){b-=(b-this.y)*a}else{if(b>=this.bottom){b-=(b-this.bottom)*a}}return b},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(b){var a=this;a.top=a.y=a[1]=b.y;a.right=b.right;a.bottom=b.bottom;a.left=a.x=a[0]=b.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(a,c){if(arguments.length==1){c=a.y;a=a.x}var b=this;b.top=b.y+=c;b.right+=a;b.bottom+=c;b.left=b.x+=a;return b},round:function(){var a=this;a.top=a.y=Math.round(a.y);a.right=Math.round(a.right);a.bottom=Math.round(a.bottom);a.left=a.x=Math.round(a.x);return a},equals:function(a){return(this.top===a.top&&this.right===a.right&&this.bottom===a.bottom&&this.left===a.left)}});Ext.define("Ext.util.Point",{extend:Ext.util.Region,radianToDegreeConstant:180/Math.PI,origin:{x:0,y:0},statics:{fromEvent:function(b){var a=b.changedTouches,c=(a&&a.length>0)?a[0]:b;return this.fromTouch(c)},fromTouch:function(a){return new this(a.pageX,a.pageY)},from:function(a){if(!a){return new this(0,0)}if(!(a instanceof this)){return new this(a.x,a.y)}return a}},constructor:function(a,b){if(a==null){a=0}if(b==null){b=0}this.callParent([b,a,b,a])},clone:function(){return new this.self(this.x,this.y)},copy:function(){return this.clone.apply(this,arguments)},copyFrom:function(a){this.x=a.x;this.y=a.y;return this},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(a){return(this.x===a.x&&this.y===a.y)},isCloseTo:function(c,b){if(typeof b=="number"){return this.getDistanceTo(c)<=b}var a=c.x,g=c.y,e=b.x,d=b.y;return(this.x<=a+e&&this.x>=a-e&&this.y<=g+d&&this.y>=g-d)},isWithin:function(){return this.isCloseTo.apply(this,arguments)},isContainedBy:function(a){if(!(a instanceof Ext.util.Region)){a=Ext.get(a.el||a).getRegion()}return a.contains(this)},roundedEquals:function(a){if(!a||typeof a!=="object"){a=this.origin}return(Math.round(this.x)===Math.round(a.x)&&Math.round(this.y)===Math.round(a.y))},getDistanceTo:function(b){if(!b||typeof b!=="object"){b=this.origin}var c=this.x-b.x,a=this.y-b.y;return Math.sqrt(c*c+a*a)},getAngleTo:function(b){if(!b||typeof b!=="object"){b=this.origin}var c=this.x-b.x,a=this.y-b.y;return Math.atan2(a,c)*this.radianToDegreeConstant}},function(){this.prototype.translate=this.prototype.translateBy});Ext.define("Ext.event.Event",{alternateClassName:"Ext.EventObjectImpl",isStopped:false,defaultPrevented:false,isEvent:true,statics:{resolveTextNode:function(a){return(a&&a.nodeType===3)?a.parentNode:a},pointerEvents:{pointerdown:1,pointermove:1,pointerup:1,pointercancel:1,pointerover:1,pointerout:1,pointerenter:1,pointerleave:1,MSPointerDown:1,MSPointerMove:1,MSPointerUp:1,MSPointerOver:1,MSPointerOut:1,MSPointerCancel:1,MSPointerEnter:1,MSPointerLeave:1},mouseEvents:{mousedown:1,mousemove:1,mouseup:1,mouseover:1,mouseout:1,mouseenter:1,mouseleave:1},clickEvents:{click:1,dblclick:1},touchEvents:{touchstart:1,touchmove:1,touchend:1,touchcancel:1},focusEvents:{focus:1,blur:1,focusin:1,focusout:1,focusenter:1,focusleave:1},pointerTypes:{2:"touch",3:"pen",4:"mouse",touch:"touch",pen:"pen",mouse:"mouse"}},constructor:function(b){var g=this,j=g.self,e=g.self.resolveTextNode,i=b.changedTouches,c=i?i[0]:b,h=b.type,a,d;g.pageX=c.pageX;g.pageY=c.pageY;g.target=g.delegatedTarget=e(b.target);d=b.relatedTarget;if(d){g.relatedTarget=e(d)}g.browserEvent=g.event=b;g.type=h;g.button=b.button||0;g.shiftKey=b.shiftKey;g.ctrlKey=b.ctrlKey||b.metaKey||false;g.altKey=b.altKey;g.charCode=b.charCode;g.keyCode=b.keyCode;g.buttons=b.buttons;if(g.button===0&&g.buttons===0){g.buttons=1}if(j.forwardTab!==undefined&&j.focusEvents[h]){g.forwardTab=j.forwardTab}if(j.mouseEvents[h]||j.clickEvents[h]){a="mouse"}else{if(j.pointerEvents[h]){a=j.pointerTypes[b.pointerType]}else{if(j.touchEvents[h]){a="touch"}}}if(a){g.pointerType=a}g.timeStamp=g.time=+(b.timeStamp||new Date())},chain:function(a){var b=Ext.Object.chain(this);b.parentEvent=this;return Ext.apply(b,a)},correctWheelDelta:function(c){var b=this.WHEEL_SCALE,a=Math.round(c/b);if(!a&&c){a=(c<0)?-1:1}return a},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.keyCode||this.charCode},getKeyName:function(){return this.keyCodes[this.keyCode]},getPoint:function(){var a=this.getXY();return new Ext.util.Point(a[0],a[1])},getRelatedTarget:function(b,e,a){var c=this.relatedTarget,d=null;if(c){if(b){d=Ext.fly(c).findParent(b,e,a)}else{d=a?Ext.get(c):c}}return d},getTarget:function(b,c,a){return b?Ext.fly(this.target).findParent(b,c,a):(a?Ext.get(this.target):this.target)},getTime:function(){return this.time},getWheelDelta:function(){var a=this.getWheelDeltas();return a.y},getWheelDeltas:function(){var d=this,c=d.browserEvent,b=0,a=0;if(Ext.isDefined(c.wheelDeltaX)){b=c.wheelDeltaX;a=c.wheelDeltaY}else{if(c.wheelDelta){a=c.wheelDelta}else{if(c.detail){a=-c.detail;if(a>100){a=3}else{if(a<-100){a=-3}}if(Ext.isDefined(c.axis)&&c.axis===c.HORIZONTAL_AXIS){b=a;a=0}}}}return{x:d.correctWheelDelta(b),y:d.correctWheelDelta(a)}},getX:function(){return this.getXY()[0]},getXY:function(){var c=this,e=c.xy;if(!e){e=c.xy=[c.pageX,c.pageY];var b=e[0],h,d,g,a;if(!b&&b!==0){h=c.browserEvent;d=document;g=d.documentElement;a=d.body;e[0]=h.clientX+(g&&g.scrollLeft||a&&a.scrollLeft||0)-(g&&g.clientLeft||a&&a.clientLeft||0);e[1]=h.clientY+(g&&g.scrollTop||a&&a.scrollTop||0)-(g&&g.clientTop||a&&a.clientTop||0)}}return e},getY:function(){return this.getXY()[1]},hasModifier:function(){var a=this;return !!(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey)},isNavKeyPress:function(d){var c=this,a=c.keyCode,b=c.type==="keypress";return((!b||Ext.isGecko)&&a>=33&&a<=40)||(!d&&(a===c.RETURN||a===c.TAB||a===c.ESC))},isSpecialKey:function(){var d=this,b=d.keyCode,a=Ext.isGecko,c=d.type==="keypress";return(a&&c&&d.charCode===0)||(this.isNavKeyPress())||(b===d.BACKSPACE)||(b===d.ENTER)||(b>=16&&b<=20)||((!c||a)&&b>=44&&b<=46)},makeUnpreventable:function(){this.browserEvent.preventDefault=Ext.emptyFn},preventDefault:function(){var b=this,a=b.parentEvent;b.defaultPrevented=true;if(a){a.defaultPrevented=true}b.browserEvent.preventDefault();return b},setCurrentTarget:function(a){this.currentTarget=this.delegatedTarget=a},stopEvent:function(){return this.preventDefault().stopPropagation()},stopPropagation:function(){var b=this,c=b.browserEvent,a=b.parentEvent;b.isStopped=true;if(a){a.isStopped=true}if(!c.stopPropagation){c.cancelBubble=true;return b}c.stopPropagation();return b},within:function(c,d,a){var b;if(c){b=d?this.getRelatedTarget():this.getTarget()}return b?Ext.fly(c).contains(b)||!!(a&&b===Ext.getDom(c)):false},deprecated:{"4.0":{methods:{getPageX:"getX",getPageY:"getY"}}}},function(a){var c=a.prototype,d={BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,WHEEL_SCALE:(function(){var h;if(Ext.isGecko){h=3}else{if(Ext.isMac){if(Ext.isSafari&&Ext.webKitVersion>=532){h=120}else{h=12}h*=3}else{h=120}}return h}())},b={},e,g;Ext.apply(a,d);Ext.apply(c,d);delete d.WHEEL_SCALE;delete d.RETURN;for(e in d){g=d[e];b[g]=e}c.keyCodes=b;c.getTrueXY=c.getXY});Ext.define("Ext.event.publisher.Dom",{extend:Ext.event.publisher.Publisher,type:"dom",handledDomEvents:[],reEnterCount:0,captureEvents:{animationstart:1,animationend:1,resize:1,focus:1,blur:1,scroll:1},directEvents:{mouseenter:1,mouseleave:1,pointerenter:1,pointerleave:1,MSPointerEnter:1,MSPointerLeave:1,load:1,unload:1,beforeunload:1,error:1,DOMContentLoaded:1,DOMFrameContentLoaded:1,hashchange:1},blockedPointerEvents:{pointerover:1,pointerout:1,pointerenter:1,pointerleave:1,MSPointerOver:1,MSPointerOut:1,MSPointerEnter:1,MSPointerLeave:1},blockedCompatibilityMouseEvents:{mouseenter:1,mouseleave:1},constructor:function(){var a=this;a.bubbleSubscribers={};a.captureSubscribers={};a.directSubscribers={};a.directCaptureSubscribers={};a.delegatedListeners={};a.initHandlers();Ext.onInternalReady(a.onReady,a);a.callParent()},registerEvents:function(){var g=this,d=Ext.event.publisher.Publisher.publishersByEvent,a=g.handledDomEvents,e=a.length,c=0,b;for(;c<e;c++){b=a[c];g.handles[b]=1;d[b]=g}this.callParent()},onReady:function(){var d=this,a=d.handledDomEvents,c,b;if(a){for(b=0,c=a.length;b<c;b++){d.addDelegatedListener(a[b])}}Ext.getWin().on("unload",d.destroy,d)},initHandlers:function(){var a=this;a.onDelegatedEvent=Ext.bind(a.onDelegatedEvent,a);a.onDirectEvent=Ext.bind(a.onDirectEvent,a);a.onDirectCaptureEvent=Ext.bind(a.onDirectCaptureEvent,a)},addDelegatedListener:function(a){this.delegatedListeners[a]=1;this.target.addEventListener(a,this.onDelegatedEvent,!!this.captureEvents[a])},removeDelegatedListener:function(a){delete this.delegatedListeners[a];this.target.removeEventListener(a,this.onDelegatedEvent,!!this.captureEvents[a])},addDirectListener:function(b,c,a){c.dom.addEventListener(b,a?this.onDirectCaptureEvent:this.onDirectEvent,a)},removeDirectListener:function(b,c,a){c.dom.removeEventListener(b,a?this.onDirectCaptureEvent:this.onDirectEvent,a)},subscribe:function(c,b,g,a){var d=this,e,h;if(g&&!d.directEvents[b]){e=a?d.captureSubscribers:d.bubbleSubscribers;if(!d.handles[b]&&!d.delegatedListeners[b]){d.addDelegatedListener(b)}if(e[b]){++e[b]}else{e[b]=1}}else{e=a?d.directCaptureSubscribers:d.directSubscribers;h=c.id;e=e[b]||(e[b]={});if(e[h]){++e[h]}else{e[h]=1;d.addDirectListener(b,c,a)}}},unsubscribe:function(e,g,b,j){var i=this,h,d,a,c;if(b&&!i.directEvents[g]){h=i.captureSubscribers;d=i.bubbleSubscribers;a=j?h:d;if(a[g]){--a[g]}if(!i.handles[g]&&!d[g]&&!h[g]){this.removeDelegatedListener(g)}}else{a=j?i.directCaptureSubscribers:i.directSubscribers;c=e.id;a=a[g];if(a[c]){--a[c]}if(!a[c]){delete a[c];i.removeDirectListener(g,e,j)}}},getPropagatingTargets:function(d){var c=d,b=[],a;while(c){b.push(c);a=c.parentNode;if(!a){a=c.defaultView}c=a}return b},publish:function(b,k,j){var h=this,a,d,c,g;if(Ext.isArray(k)){a=k}else{if(h.captureEvents[b]){d=Ext.cache[k.id];a=d?[d]:[]}else{a=h.getPropagatingTargets(k)}}g=a.length;if(h.captureSubscribers[b]){for(c=g;c--;){d=Ext.cache[a[c].id];if(d){h.fire(d,b,j,false,true);if(j.isStopped){break}}}}if(!j.isStopped&&h.bubbleSubscribers[b]){for(c=0;c<g;c++){d=Ext.cache[a[c].id];if(d){h.fire(d,b,j,false,false);if(j.isStopped){break}}}}},fire:function(c,b,g,h,a){var d;if(c.hasListeners[b]){d=c.events[b];if(d){if(a&&h){d=d.directCaptures}else{if(a){d=d.captures}else{if(h){d=d.directs}}}if(d){g.setCurrentTarget(c.dom);d.fire(g,g.target)}}}},onDelegatedEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDelegatedEvent,this,[a])}else{this.doDelegatedEvent(a)}},doDelegatedEvent:function(d,c){var b=this,a=d.timeStamp;d=new Ext.event.Event(d);if(b.isEventBlocked(d)){return false}b.beforeEvent(d);Ext.frameStartTime=a;b.reEnterCount++;b.publish(d.type,d.target,d);b.reEnterCount--;if(c!==false){b.afterEvent(d)}return d},onDirectEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDirectEvent,this,[a,false])}else{this.doDirectEvent(a,false)}},onDirectCaptureEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDirectEvent,this,[a,true])}else{this.doDirectEvent(a,true)}},doDirectEvent:function(h,b){var d=this,g=h.currentTarget,a=h.timeStamp,c;h=new Ext.event.Event(h);if(d.isEventBlocked(h)){return}d.beforeEvent(h);Ext.frameStartTime=a;c=Ext.cache[g.id];if(c){d.reEnterCount++;d.fire(c,h.type,h,true,b);d.reEnterCount--}d.afterEvent(h)},beforeEvent:function(c){var g=c.browserEvent,a=Ext.event.publisher.Dom,b,d;if(g.type==="touchstart"){b=g.touches;if(b.length===1){d=b[0];a.lastTouchStartX=d.pageX;a.lastTouchStartY=d.pageY}}},afterEvent:function(d){var g=d.browserEvent,c=g.type,b=Ext.event.publisher.Dom,a=Ext.GlobalEvents;if(d.self.pointerEvents[c]&&d.pointerType!=="mouse"){b.lastScreenPointerEventTime=Ext.now()}if(c==="touchend"){b.lastTouchEndTime=Ext.now()}if(!this.reEnterCount&&a.hasListeners.idle&&!a.idleEventMask[c]){a.fireEvent("idle")}},isEventBlocked:function(g){var d=this,c=g.type,a=Ext.event.publisher.Dom,b=Ext.now();if(Ext.isGecko&&g.type==="click"&&g.button===2){return true}return(d.blockedPointerEvents[c]&&g.pointerType!=="mouse")||(d.blockedCompatibilityMouseEvents[c]&&(b-a.lastScreenPointerEventTime<1000))||(Ext.supports.TouchEvents&&g.self.mouseEvents[g.type]&&Math.abs(g.pageX-a.lastTouchStartX)<15&&Math.abs(g.pageY-a.lastTouchStartY)<15&&(Ext.now()-a.lastTouchEndTime)<1000)},destroy:function(){var a;for(a in this.delegatedListeners){this.removeDelegatedListener(a)}this.callParent()},reset:function(){var a=Ext.event.publisher.Dom;a.lastScreenPointerEventTime=a.lastTouchEndTime=a.lastTouchStartX=a.lastTouchStartY=undefined}},function(b){var d=document,c=d.defaultView,a=b.prototype;if((Ext.os.is.iOS&&Ext.os.version.getMajor()<5)||Ext.browser.is.AndroidStock||!(c&&c.addEventListener)){a.target=d}else{a.target=c}b.instance=new b()});Ext.define("Ext.event.publisher.Gesture",{extend:Ext.event.publisher.Dom,type:"gesture",config:{async:true},isCancelEvent:{touchcancel:1,pointercancel:1,MSPointerCancel:1},handledEvents:[],handledDomEvents:[],constructor:function(b){var h=this,c=h.handledDomEvents,m=Ext.supports,k=m.TouchEvents,l=Ext.Function,d=h.onTouchStart,a=h.onTouchMove,j=h.onTouchEnd,g=l.createAnimationFrame(h.onTouchStart,h,null,1),e=l.createAnimationFrame(h.onTouchMove,h),i=l.createAnimationFrame(h.onTouchEnd,h,null,1);h._handlers={touchstart:d,touchmove:a,touchend:j,touchcancel:j,pointerdown:d,pointermove:a,pointerup:j,pointercancel:j,MSPointerDown:d,MSPointerMove:a,MSPointerUp:j,MSPointerCancel:j,mousedown:d,mousemove:a,mouseup:j};h._asyncHandlers={touchstart:g,touchmove:e,touchend:i,touchcancel:i,pointerdown:g,pointermove:e,pointerup:i,pointercancel:i,MSPointerDown:g,MSPointerMove:e,MSPointerUp:i,MSPointerCancel:i,mousedown:g,mousemove:e,mouseup:i};h.activeTouchesMap={};h.activeTouches=[];h.changedTouches=[];h.recognizers=[];if(k){h.onTargetTouchMove=h.onTargetTouchMove.bind(h);h.onTargetTouchEnd=h.onTargetTouchEnd.bind(h)}if(m.PointerEvents){c.push("pointerdown","pointermove","pointerup","pointercancel");h.mousePointerType="mouse"}else{if(m.MSPointerEvents){c.push("MSPointerDown","MSPointerMove","MSPointerUp","MSPointerCancel");h.mousePointerType=4}else{if(k){c.push("touchstart","touchmove","touchend","touchcancel")}}}if(!c.length||(k&&Ext.isWebKit&&Ext.os.is.Desktop)){c.push("mousedown","mousemove","mouseup")}h.initConfig(b);return h.callParent()},onReady:function(){this.callParent();Ext.Array.sort(this.recognizers,function(g,e){var d=g.priority,c=e.priority;return(d>c)?1:(d<c)?-1:0})},registerRecognizer:function(a){var e=this,b=a.handledEvents,d=b.length,c;a.setOnRecognized(e.onRecognized);a.setCallbackScope(e);for(c=0;c<d;c++){e.handledEvents.push(b[c])}e.registerEvents(b);e.recognizers.push(a)},onRecognized:function(d,h,a){var k=this,l=h.changedTouches,j=l.length,m,g,c,b;a=a||{};a.type=d;a.target=l[0].target;a.isStopped=false;h=h.chain(a);if(j>1){m=[];for(c=0;c<j;c++){b=l[c];m.push(b.targets)}g=k.getCommonTargets(m)}else{g=l[0].targets}k.publish(d,g,h)},getCommonTargets:function(a){var k=a[0],g=a.length;if(g===1){return k}var d=[],e=1,h,b,c;while(true){h=k[k.length-e];if(!h){return d}for(c=1;c<g;c++){b=a[c];if(b[b.length-e]!==h){return d}}d.unshift(h);e++}return d},invokeRecognizers:function(c,h){var b=this.recognizers,g=b.length,d,a;if(c==="onStart"){for(d=0;d<g;d++){b[d].isActive=true}}for(d=0;d<g;d++){a=b[d];if(a.isActive&&a[c].call(a,h)===false){a.isActive=false}}},updateTouches:function(k,b){var o=this,s=k.browserEvent,g=s.changedTouches||[s],a=o.activeTouches,l=o.activeTouchesMap,q=[],n,j,d,h,c,m,r,p;for(c=0,m=g.length;c<m;c++){n=g[c];if("identifier" in n){j=n.identifier}else{if("pointerId" in n){j=n.pointerId}else{j=1}}d=l[j];if(!d){h=Ext.event.Event.resolveTextNode(n.target);d=l[j]={identifier:j,target:h,targets:o.getPropagatingTargets(h)};a.push(d)}if(b){delete l[j];Ext.Array.remove(a,d)}r=n.pageX;p=n.pageY;d.pageX=r;d.pageY=p;d.point=new Ext.util.Point(r,p);q.push(d)}k.touches=Ext.Array.clone(a);k.changedTouches=q},doDelegatedEvent:function(b){var a=this;b=a.callParent([b,false]);if(b){if(!b.button||b.button<1){a.handlers[b.type].call(a,b)}a.afterEvent(b)}},onTouchStart:function(d){var a=this,c=d.target,b=d.browserEvent.touches;if(d.browserEvent.type==="touchstart"){c.addEventListener("touchmove",a.onTargetTouchMove);c.addEventListener("touchend",a.onTargetTouchEnd);c.addEventListener("touchcancel",a.onTargetTouchEnd)}if(b&&b.length<=a.activeTouches.length){a.removeGhostTouches(b)}a.updateTouches(d);if(!a.isStarted){a.isStarted=true;a.invokeRecognizers("onStart",d);if(Ext.enableGarbageCollector){Ext.dom.GarbageCollector.pause()}}a.invokeRecognizers("onTouchStart",d)},onTouchMove:function(c){var b=this,a=b.mousePointerType;if(b.isStarted){if(a&&c.browserEvent.pointerType===a&&c.buttons===0){c.type=Ext.dom.Element.prototype.eventMap.touchend;c.button=0;b.onTouchEnd(c);return}b.updateTouches(c);if(c.changedTouches.length>0){b.invokeRecognizers("onTouchMove",c)}}},onTouchEnd:function(b){var a=this;if(!a.isStarted){return}a.updateTouches(b,true);a.invokeRecognizers(a.isCancelEvent[b.type]?"onTouchCancel":"onTouchEnd",b);if(!a.activeTouches.length){a.isStarted=false;a.invokeRecognizers("onEnd",b);if(Ext.enableGarbageCollector){Ext.dom.GarbageCollector.resume()}}},onTargetTouchMove:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doTargetTouchMove,this,[a])}else{this.doTargetTouchMove(a)}},doTargetTouchMove:function(a){if(!Ext.getBody().contains(a.target)){this.onTouchMove(new Ext.event.Event(a))}},onTargetTouchEnd:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doTargetTouchEnd,this,[a])}else{this.doTargetTouchEnd(a)}},doTargetTouchEnd:function(c){var a=this,b=c.target;b.removeEventListener("touchmove",a.onTargetTouchMove);b.removeEventListener("touchend",a.onTargetTouchEnd);b.removeEventListener("touchcancel",a.onTargetTouchEnd);if(!Ext.getBody().contains(b)){a.onTouchEnd(new Ext.event.Event(c))}},updateAsync:function(a){this.handlers=a?this._asyncHandlers:this._handlers},reset:function(){var e=this,b=e.recognizers,d=b.length,c,a;e.activeTouchesMap={};e.activeTouches=[];e.changedTouches=[];e.isStarted=false;for(c=0;c<d;c++){a=b[c];a.reset();a.isActive=false}this.callParent()},privates:{removeGhostTouches:function(e){var c={},a=e.length,j=this.activeTouches,d=this.activeTouchesMap,b,h,g;for(b=0;b<a;++b){c[e[b].identifier]=true}b=j.length;while(b--){g=j[b];h=g.identifier;if(!e[h]){Ext.Array.remove(j,g);delete d[h]}}}}},function(a){a.instance=new a()});Ext.define("Ext.mixin.Templatable",{extend:Ext.Mixin,mixinConfig:{id:"templatable"},referenceAttributeName:"reference",referenceSelector:"[reference]",getElementConfig:function(){return{reference:"element"}},getElementTemplate:function(){var a=document.createDocumentFragment();a.appendChild(Ext.Element.create(this.getElementConfig(),true));return a},initElement:function(){var a=this.self.prototype;a.elementTemplate=this.getElementTemplate();a.initElement=a.doInitElement;this.initElement.apply(this,arguments)},linkElement:function(a,b){this.link(a,b)},doInitElement:function(){var h=this.referenceAttributeName,c,d,e,g,b,a;c=this.elementTemplate.cloneNode(true);d=c.querySelectorAll(this.referenceSelector);for(e=0,g=d.length;e<g;e++){b=d[e];a=b.getAttribute(h);b.removeAttribute(h);this.linkElement(a,b)}}});Ext.define("Ext.TaskQueue",{singleton:true,pending:false,mode:true,constructor:function(){this.readQueue=[];this.writeQueue=[];this.run=Ext.Function.bind(this.run,this);if(Ext.os.is.iOS){Ext.interval(this.watch,500,this)}},requestRead:function(c,b,a){this.request(true);this.readQueue.push(arguments)},requestWrite:function(c,b,a){this.request(false);this.writeQueue.push(arguments)},request:function(a){if(!this.pending){this.pendingTime=Date.now();this.pending=true;this.mode=a;if(a){Ext.defer(this.run,1,this)}else{Ext.Function.requestAnimationFrame(this.run)}}},watch:function(){if(this.pending&&Date.now()-this.pendingTime>=500){this.run()}},run:function(){this.pending=false;var k=this.readQueue,e=this.writeQueue,c=null,g;if(this.mode){g=k;if(e.length>0){c=false}}else{g=e;if(k.length>0){c=true}}var b=g.slice(),d,h,a,j,l;g.length=0;for(d=0,h=b.length;d<h;d++){a=b[d];j=a[0];l=a[1];if(typeof j==="string"){j=l[j]}if(a.length>2){j.apply(l,a[2])}else{j.call(l)}}b.length=0;if(c!==null){this.request(c)}}});Ext.define("Ext.util.sizemonitor.Abstract",{mixins:[Ext.mixin.Templatable],config:{element:null,callback:Ext.emptyFn,scope:null,args:[]},width:0,height:0,contentWidth:0,contentHeight:0,constructor:function(a){this.refresh=Ext.Function.bind(this.refresh,this);this.info={width:0,height:0,contentWidth:0,contentHeight:0,flag:0};this.initElement();this.initConfig(a);this.bindListeners(true)},bindListeners:Ext.emptyFn,applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){a.append(this.detectorsContainer);a.addCls(Ext.baseCSSPrefix+"size-monitored")},applyArgs:function(a){return a.concat([this.info])},refreshMonitors:Ext.emptyFn,forceRefresh:function(){Ext.TaskQueue.requestRead("refresh",this)},getContentBounds:function(){return this.detectorsContainer.getBoundingClientRect()},getContentWidth:function(){return this.detectorsContainer.offsetWidth},getContentHeight:function(){return this.detectorsContainer.offsetHeight},refreshSize:function(){var d=this.getElement();if(!d||d.destroyed){return false}var b=d.getWidth(),k=d.getHeight(),a=this.getContentWidth(),j=this.getContentHeight(),i=this.contentWidth,g=this.contentHeight,c=this.info,e=false,h;this.width=b;this.height=k;this.contentWidth=a;this.contentHeight=j;h=((i!==a?1:0)+(g!==j?2:0));if(h>0){c.width=b;c.height=k;c.contentWidth=a;c.contentHeight=j;c.flag=h;e=true;this.getCallback().apply(this.getScope(),this.getArgs())}return e},refresh:function(a){if(this.refreshSize()||a){Ext.TaskQueue.requestWrite("refreshMonitors",this)}},destroy:function(){var b=this,a=b.getElement();b.bindListeners(false);if(a&&!a.destroyed){a.removeCls(Ext.baseCSSPrefix+"size-monitored")}delete b._element;b.callParent()}});Ext.define("Ext.util.sizemonitor.Scroll",{extend:Ext.util.sizemonitor.Abstract,getElementConfig:function(){return{reference:"detectorsContainer",classList:[Ext.baseCSSPrefix+"size-monitors","scroll"],children:[{reference:"expandMonitor",className:"expand"},{reference:"shrinkMonitor",className:"shrink"}]}},constructor:function(a){this.onScroll=Ext.Function.bind(this.onScroll,this);this.callParent(arguments)},bindListeners:function(b){var a=b?"addEventListener":"removeEventListener";this.expandMonitor[a]("scroll",this.onScroll,true);this.shrinkMonitor[a]("scroll",this.onScroll,true)},forceRefresh:function(){Ext.TaskQueue.requestRead("refresh",this,[true])},onScroll:function(){Ext.TaskQueue.requestRead("refresh",this)},refreshMonitors:function(){var b=this.expandMonitor,c=this.shrinkMonitor,a=1000000;if(b&&!b.destroyed){b.scrollLeft=a;b.scrollTop=a}if(c&&!c.destroyed){c.scrollLeft=a;c.scrollTop=a}}});Ext.define("Ext.util.sizemonitor.OverflowChange",{extend:Ext.util.sizemonitor.Abstract,constructor:function(a){this.onExpand=Ext.Function.bind(this.onExpand,this);this.onShrink=Ext.Function.bind(this.onShrink,this);this.callParent(arguments)},getElementConfig:function(){return{reference:"detectorsContainer",classList:[Ext.baseCSSPrefix+"size-monitors","overflowchanged"],children:[{reference:"expandMonitor",className:"expand",children:[{reference:"expandHelper"}]},{reference:"shrinkMonitor",className:"shrink",children:[{reference:"shrinkHelper"}]}]}},bindListeners:function(b){var a=b?"addEventListener":"removeEventListener";this.expandMonitor[a](Ext.browser.is.Firefox?"underflow":"overflowchanged",this.onExpand,true);this.shrinkMonitor[a](Ext.browser.is.Firefox?"overflow":"overflowchanged",this.onShrink,true)},onExpand:function(a){if(Ext.browser.is.Webkit&&a.horizontalOverflow&&a.verticalOverflow){return}Ext.TaskQueue.requestRead("refresh",this)},onShrink:function(a){if(Ext.browser.is.Webkit&&!a.horizontalOverflow&&!a.verticalOverflow){return}Ext.TaskQueue.requestRead("refresh",this)},refreshMonitors:function(){if(this.destroyed){return}var g=this.expandHelper,e=this.shrinkHelper,b=this.getContentBounds(),d=b.width,a=b.height,c;if(g&&!g.destroyed){c=g.style;c.width=(d+1)+"px";c.height=(a+1)+"px"}if(e&&!e.destroyed){c=e.style;c.width=d+"px";c.height=a+"px"}Ext.TaskQueue.requestRead("refresh",this)}});Ext.define("Ext.util.SizeMonitor",{constructor:function(a){var b=Ext.util.sizemonitor;if(Ext.browser.is.Firefox){return new b.OverflowChange(a)}else{return new b.Scroll(a)}}});Ext.define("Ext.event.publisher.ElementSize",{extend:Ext.event.publisher.Publisher,type:"size",handledEvents:["resize"],constructor:function(){this.monitors={};this.subscribers={};this.callParent(arguments)},subscribe:function(b){var d=b.id,c=this.subscribers,a=this.monitors;if(c[d]){++c[d]}else{c[d]=1;a[d]=new Ext.util.SizeMonitor({element:b,callback:this.onElementResize,scope:this,args:[b]})}b.on("painted","forceRefresh",a[d]);return true},unsubscribe:function(c){var e=c.id,d=this.subscribers,b=this.monitors,a;if(d[e]&&!--d[e]){delete d[e];a=b[e];c.un("painted","forceRefresh",a);a.destroy();delete b[e]}},onElementResize:function(a,b){Ext.TaskQueue.requestRead("fire",this,[a,"resize",[a,b]])}},function(a){a.instance=new a()});Ext.define("Ext.util.paintmonitor.Abstract",{config:{element:null,callback:Ext.emptyFn,scope:null,args:[]},eventName:"",monitorClass:"",constructor:function(a){this.onElementPainted=Ext.Function.bind(this.onElementPainted,this);this.initConfig(a)},bindListeners:function(a){this.monitorElement[a?"addEventListener":"removeEventListener"](this.eventName,this.onElementPainted,true)},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){this.monitorElement=Ext.Element.create({classList:[Ext.baseCSSPrefix+"paint-monitor",this.monitorClass]},true);a.appendChild(this.monitorElement);a.addCls(Ext.baseCSSPrefix+"paint-monitored");this.bindListeners(true)},onElementPainted:function(){},destroy:function(){var d=this,b=d.monitorElement,a=b.parentNode,c=d.getElement();d.bindListeners(false);delete d.monitorElement;if(c&&!c.destroyed){c.removeCls(Ext.baseCSSPrefix+"paint-monitored");delete d._element}if(a){a.removeChild(b)}d.callParent()}});Ext.define("Ext.util.paintmonitor.CssAnimation",{extend:Ext.util.paintmonitor.Abstract,eventName:Ext.browser.is.WebKit?"webkitAnimationEnd":"animationend",monitorClass:"cssanimation",onElementPainted:function(a){if(a.animationName===Ext.baseCSSPrefix+"paint-monitor-helper"){this.getCallback().apply(this.getScope(),this.getArgs())}}});Ext.define("Ext.util.PaintMonitor",{constructor:function(a){return new Ext.util.paintmonitor.CssAnimation(a)}});Ext.define("Ext.event.publisher.ElementPaint",{extend:Ext.event.publisher.Publisher,type:"paint",handledEvents:["painted"],constructor:function(){this.monitors={};this.subscribers={};this.callParent(arguments)},subscribe:function(a){var b=this,d=a.id,c=b.subscribers;if(c[d]){++c[d]}else{c[d]=1;b.monitors[d]=new Ext.util.PaintMonitor({element:a,callback:b.onElementPainted,scope:b,args:[a]})}},unsubscribe:function(b){var d=b.id,c=this.subscribers,a=this.monitors;if(c[d]&&!--c[d]){delete c[d];a[d].destroy();delete a[d]}},onElementPainted:function(a){Ext.TaskQueue.requestRead("fire",this,[a,"painted",[a]])}},function(a){a.instance=new a()});Ext.define("Ext.dom.Element",function(q){var v=window,T=document,ah="ext-window",N="ext-document",j="width",R="height",ae="min-width",e="min-height",r="max-width",E="max-height",U="top",ai="right",O="bottom",I="left",l="visibility",af="hidden",d="display",W="none",o="z-index",Y="position",t="relative",u="static",A="-",y=/\w/g,M=/\s+/,ag=/[\s]+/,b=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,K=/table-row|table-.*-group/,c=/top/i,x={t:"border-top-width",r:"border-right-width",b:"border-bottom-width",l:"border-left-width"},ad={t:"padding-top",r:"padding-right",b:"padding-bottom",l:"padding-left"},n={t:"margin-top",r:"margin-right",b:"margin-bottom",l:"margin-left"},H=[ad.l,ad.r,ad.t,ad.b],h=[x.l,x.r,x.t,x.b],ab=/\d+$/,k=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,S="px",Q=/(-[a-z])/gi,aj=/([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,s=/^\d+(?:\.\d*)?px$/i,z={},w="originalDisplay",X=function(ak,al){return al.charAt(1).toUpperCase()},L=function(an,al){var ao,am,ak;if(an.nodeType===1){an._extData=null;if(al){ao=an.childNodes;for(am=0,ak=ao.length;am<ak;++am){L(ao[am],al)}}}},F=Ext.baseCSSPrefix+"hidden-visibility",D=Ext.baseCSSPrefix+"hidden-display",m=Ext.baseCSSPrefix+"hidden-offsets",a=Ext.baseCSSPrefix+"hidden-clip",C=Ext.baseCSSPrefix+"sized",P=Ext.baseCSSPrefix+"unsized",J=Ext.baseCSSPrefix+"stretched",aa=Ext.baseCSSPrefix+"no-touch-scroll",p={style:"style",className:"className",cls:"cls",classList:"classList",text:"text",hidden:"hidden",html:"html",children:"children"},V=0,ac=0,B=false,g=false,Z,G,i;return{alternateClassName:["Ext.Element"],mixins:[Ext.util.Positionable,Ext.mixin.Observable],observableType:"element",isElement:true,skipGarbageCollection:true,$applyConfigs:true,identifiablePrefix:"ext-element-",styleHooks:{},validIdRe:Ext.validIdRe,blockedEvents:Ext.supports.EmulatedMouseOver?{mouseover:1}:{},longpressEvents:{longpress:1,taphold:1},constructor:function(al){var ak=this,am;if(typeof al==="string"){al=T.getElementById(al)}if(!al){return null}ak.dom=al;am=al.id;if(am){ak.id=am}else{am=al.id=ak.getUniqueId()}ak.el=ak;Ext.cache[am]=ak;ak.mixins.observable.constructor.call(ak)},inheritableStatics:{cache:Ext.cache={},editableSelector:'input,textarea,[contenteditable="true"]',VISIBILITY:1,DISPLAY:2,OFFSETS:3,CLIP:4,minKeyboardHeight:100,unitRe:k,useDelegatedEvents:true,validNodeTypes:{1:1,9:1},addUnits:function(al,ak){if(typeof al==="number"){return al+(ak||S)}if(al===""||al==="auto"||al==null){return al||""}if(ab.test(al)){return al+(ak||S)}if(!k.test(al)){return al||""}return al},create:function(am,al){var at=this,ap=p.hidden,ao,au,aw,av,ak,an,ar,aq;if(!am){am={}}if(am.isElement){return al?am.dom:am}else{if("nodeType" in am){return al?am:Ext.get(am)}}if(typeof am==="string"){return T.createTextNode(am)}aw=am.tag;if(!aw){aw="div"}if(am.namespace){ao=T.createElementNS(am.namespace,aw)}else{ao=T.createElement(aw)}au=ao.style;if(am[ap]){aq=am.className;aq=(aq==null)?"":aq+" ";am.className=aq+D;delete am[ap]}for(ak in am){if(ak!=="tag"){av=am[ak];switch(ak){case p.style:if(typeof av==="string"){ao.setAttribute(ak,av)}else{for(an in av){if(av.hasOwnProperty(an)){au[an]=av[an]}}}break;case p.className:case p.cls:ao.className=av;break;case p.classList:ao.className=av.join(" ");break;case p.text:ao.textContent=av;break;case p.html:ao.innerHTML=av;break;case p.children:for(an=0,ar=av.length;an<ar;an++){ao.appendChild(at.create(av[an],true))}break;default:if(av!=null){ao.setAttribute(ak,av)}}}}if(al){return ao}else{return at.get(ao)}},detach:function(){var ak=this.dom;if(ak&&ak.parentNode&&ak.tagName!=="BODY"){ak.parentNode.removeChild(ak)}return this},fly:function(al,ak){return Ext.fly(al,ak)},fromPoint:function(ak,al){return Ext.get(T.elementFromPoint(ak,al))},get:function(am){var aq=this,ak=Ext.cache,ao,an,al,au,at,ap,ar;if(!am){return null}if(am.isFly){am=am.dom}if(typeof am==="string"){al=am;if(ak.hasOwnProperty(al)){au=ak[al];if(au.skipGarbageCollection||!Ext.isGarbage(au.dom)){return au}else{au.destroy()}}if(al===ah){return q.get(v)}else{if(al===N){return q.get(T)}}an=Ext.getElementById?Ext.getElementById(al):T.getElementById(al);if(an){return new q(an)}}ao=am.nodeType;if(ao){at=(ao===9);ar=aq.validNodeTypes[ao]}else{ap=(am.window==am)}if(ar||ap){al=am.id;if(ak.hasOwnProperty(al)){au=ak[al];if(au.skipGarbageCollection||am===au.dom||!Ext.isGarbage(au.dom)){return au}else{au.destroy()}}if(am===T){am.id=N}if(am==v){am.id=ah}am=new q(am);if(ap||at){am.skipGarbageCollection=true}return am}if(am.isElement){return am}if(am.isComposite){return am}if(Ext.isIterable(am)){return aq.select(am)}return null},getActiveElement:function(ak){var al=T.activeElement;if(!al||!al.focus){al=T.body}return ak?Ext.get(al):al},getDocumentHeight:function(){return Math.max(!Ext.isStrict?T.body.scrollHeight:T.documentElement.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return Math.max(!Ext.isStrict?T.body.scrollWidth:T.documentElement.scrollWidth,this.getViewportWidth())},getOrientation:function(){if(Ext.supports.OrientationChange){return(v.orientation==0)?"portrait":"landscape"}return(v.innerHeight>v.innerWidth)?"portrait":"landscape"},getViewportHeight:function(){var ak=q._viewportHeight;if(Ext.isIE9m){return T.documentElement.clientHeight}return(ak!=null)?ak:v.innerHeight},getViewportWidth:function(){var ak=q._viewportWidth;if(Ext.isIE9m){return T.documentElement.clientWidth}return(ak!=null)?ak:v.innerWidth},getViewSize:function(){return{width:q.getViewportWidth(),height:q.getViewportHeight()}},normalize:function(ak){return z[ak]||(z[ak]=ak.replace(Q,X))},_onWindowFocusChange:function(ak){if(Ext.fly(ak.target).is(q.editableSelector)){V=new Date();B=(ak.type==="focusin"||ak.type==="pointerup")}},_onWindowResize:function(){var ao=window.innerWidth,ap=window.innerHeight,an=new Date(),al=1000,am,ak;am=ao-q._windowWidth;ak=ap-q._windowHeight;q._windowWidth=ao;q._windowHeight=ap;if(((an-V)<al)||((an-ac)<al)){if(am===0&&(B&&(ak<=-q.minKeyboardHeight))){g=true;return}}if(g&&(am===0)&&(ak>=q.minKeyboardHeight)){g=false;ac=new Date()}if(g){return}q._viewportWidth=ao;q._viewportHeight=ap},parseBox:function(am){am=am||0;var ak=typeof am,an,al;if(ak==="number"){return{top:am,right:am,bottom:am,left:am}}else{if(ak!=="string"){return am}}an=am.split(" ");al=an.length;if(al===1){an[1]=an[2]=an[3]=an[0]}else{if(al===2){an[2]=an[0];an[3]=an[1]}else{if(al===3){an[3]=an[1]}}}return{top:parseFloat(an[0])||0,right:parseFloat(an[1])||0,bottom:parseFloat(an[2])||0,left:parseFloat(an[3])||0}},parseStyles:function(al){var ak={},am;if(al){aj.lastIndex=0;while((am=aj.exec(al))){ak[am[1]]=am[2]||""}}return ak},select:function(ak,am,al){return Ext.fly(al||T).select(ak,am)},query:function(al,ak,am){return Ext.fly(am||T).query(al,ak)},unitizeBox:function(am,ak){var al=this;am=al.parseBox(am);return al.addUnits(am.top,ak)+" "+al.addUnits(am.right,ak)+" "+al.addUnits(am.bottom,ak)+" "+al.addUnits(am.left,ak)},serializeForm:function(am){var an=am.elements||(T.forms[am]||Ext.getDom(am)).elements,ax=false,aw=encodeURIComponent,aq="",ap=an.length,ar,ak,av,az,ay,at,ao,au,al;for(at=0;at<ap;at++){ar=an[at];ak=ar.name;av=ar.type;az=ar.options;if(!ar.disabled&&ak){if(/select-(one|multiple)/i.test(av)){au=az.length;for(ao=0;ao<au;ao++){al=az[ao];if(al.selected){ay=al.hasAttribute("value");aq+=Ext.String.format("{0}={1}&",aw(ak),aw(ay?al.value:al.text))}}}else{if(!(/file|undefined|reset|button/i.test(av))){if(!(/radio|checkbox/i.test(av)&&!ar.checked)&&!(av=="submit"&&ax)){aq+=aw(ak)+"="+aw(ar.value)+"&";ax=/submit/i.test(av)}}}}}return aq.substr(0,aq.length-1)},getCommonAncestor:function(am,al,ak){i=i||new Ext.dom.Fly();i.attach(Ext.getDom(am));while(!i.isAncestor(al)){if(i.dom.parentNode){i.attach(i.dom.parentNode)}else{i.attach(document.body);break}}return ak?i.dom:Ext.get(i)}},addCls:function(at,aq,av){var au=this,an=au.getData(),aw,ao,al,am,ap,ar,ak;if(!at){return au}if(!an.isSynchronized){au.synchronize()}ao=au.dom;al=an.classMap;am=an.classList;aq=aq?aq+A:"";av=av?A+av:"";if(typeof at==="string"){at=at.split(M)}for(ap=0,ar=at.length;ap<ar;ap++){ak=at[ap];if(ak){ak=aq+ak+av;if(!al[ak]){al[ak]=true;am.push(ak);aw=true}}}if(aw){ao.className=am.join(" ")}return au},addStyles:function(ar,aq){var am=0,ap=(ar||"").match(y),ao,ak=ap.length,an,al=[];if(ak===1){am=Math.abs(parseFloat(this.getStyle(aq[ap[0]]))||0)}else{if(ak){for(ao=0;ao<ak;ao++){an=ap[ao];al.push(aq[an])}al=this.getStyle(al);for(ao=0;ao<ak;ao++){an=ap[ao];am+=parseFloat(al[aq[an]])||0}}}return am},addUnits:function(al,ak){return q.addUnits(al,ak)},adjustDirect2DDimension:function(am){var ar=this,al=ar.dom,ap=ar.getStyle("display"),ao=al.style.display,at=al.style.position,aq=am===j?0:1,ak=al.currentStyle,an;if(ap==="inline"){al.style.display="inline-block"}al.style.position=ap.match(K)?"absolute":"static";an=(parseFloat(ak[am])||parseFloat(ak.msTransformOrigin.split(" ")[aq])*2)%1;al.style.position=at;if(ap==="inline"){al.style.display=ao}return an},animate:function(ak){ak=new Ext.fx.Animation(ak);ak.setElement(this);this._activeAnimation=ak;ak.on({animationend:this._onAnimationEnd});Ext.Animator.run(ak);return ak},_onAnimationEnd:function(){this._activeAnimation=null},getActiveAnimation:function(){return this._activeAnimation},append:function(){this.appendChild.apply(this,arguments)},appendChild:function(am,al){var an=this,ap,ak,ao;if(am.nodeType||am.dom||typeof am==="string"){am=Ext.getDom(am);an.dom.appendChild(am);return !al?Ext.get(am):am}else{if(am.length){ap=Ext.fly(document.createDocumentFragment());ak=am.length;for(ao=0;ao<ak;ao++){ap.appendChild(am[ao],al)}an.dom.appendChild(ap.dom);return al?ap.dom:ap}else{return an.createChild(am,null,al)}}},appendTo:function(ak){Ext.getDom(ak).appendChild(this.dom);return this},applyStyles:function(ak){if(ak){if(typeof ak==="function"){ak=ak.call()}if(typeof ak==="string"){ak=q.parseStyles(ak)}if(typeof ak==="object"){this.setStyle(ak)}}return this},blur:function(){var ak=this,am=ak.dom;if(am!==T.body){try{am.blur()}catch(al){}return ak}else{return ak.focus(undefined,am)}},cacheScrollValues:function(){var ao=this,ap=[],an=[],aq,am,al,ak;G=G||new Ext.dom.Fly();aq=ao.query("*");for(al=0,ak=aq.length;al<ak;al++){am=aq[al];if(am.scrollTop>0||am.scrollLeft!==0){an.push(am);ap.push(G.attach(am).getScroll())}}return function(){var at,au,ar;for(au=0,ar=an.length;au<ar;au++){at=ap[au];G.attach(an[au]);G.setScrollLeft(at.left);G.setScrollTop(at.top)}}},center:function(ak){return this.alignTo(ak||T,"c-c")},child:function(ak,al){var am=this,an=Ext.get(am).id;return am.selectNode(Ext.makeIdSelector(an)+" > "+ak,!!al)},clone:function(ak,al){var am=this.dom.cloneNode(ak);if(Ext.supports.CloneNodeCopiesExpando){L(am,ak)}return al?am:Ext.get(am)},constrainScrollLeft:function(ak){var al=this.dom;return Math.max(Math.min(ak,al.scrollWidth-al.clientWidth),0)},constrainScrollTop:function(ak){var al=this.dom;return Math.max(Math.min(ak,al.scrollHeight-al.clientHeight),0)},createChild:function(al,ak,am){al=al||{tag:"div"};if(ak){return Ext.DomHelper.insertBefore(ak,al,am!==true)}else{return Ext.DomHelper.append(this.dom,al,am!==true)}},contains:function(ak){if(!ak){return false}var al=this,am=Ext.getDom(ak);return(am===al.dom)||al.isAncestor(am)},destroy:function(){var ak=this,al=ak.dom;if(al&&al.parentNode){al.parentNode.removeChild(al)}ak.collect();if(!ak.isFly){ak.callParent()}},detach:function(){var ak=this.dom;if(ak&&ak.parentNode&&ak.tagName!=="BODY"){ak.parentNode.removeChild(ak)}return this},disableShadow:function(){var ak=this.shadow;if(ak){ak.hide();ak.disabled=true}},disableShim:function(){var ak=this.shim;if(ak){ak.hide();ak.disabled=true}},disableTouchContextMenu:function(){this._contextMenuListenerRemover=this.on({MSHoldVisual:function(ak){ak.preventDefault()},destroyable:true,delegated:false})},disableTouchScroll:function(){this.addCls(aa);this.on({touchmove:function(ak){ak.preventDefault()},translate:false})},doReplaceWith:function(ak){var al=this.dom;al.parentNode.replaceChild(Ext.getDom(ak),al)},doScrollIntoView:function(ak,ao,al,ap,aw,at){G=G||new Ext.dom.Fly();var au=this,aq=au.dom,ax=G.attach(ak)[aw](),av=ak.scrollTop,ar=au.getScrollIntoViewXY(ak,ax,av),an=ar.x,am=ar.y;if(ap){if(al){al=Ext.apply({listeners:{afteranimate:function(){G.attach(aq).highlight()}}},al)}else{G.attach(aq).highlight()}}if(am!==av){G.attach(ak).scrollTo("top",am,al)}if(ao!==false&&(an!==ax)){G.attach(ak)[at]("left",an,al)}return au},down:function(ak,al){return this.selectNode(ak,!!al)},enableShadow:function(al,ak){var am=this,ao=am.shadow||(am.shadow=new Ext.dom.Shadow(Ext.apply({target:am},al))),an=am.shim;if(an){an.offsets=ao.outerOffsets;an.shadow=ao;ao.shim=an}if(ak===true||(ak!==false&&am.isVisible())){ao.show()}else{ao.hide()}ao.disabled=false},enableShim:function(al,ak){var am=this,ao=am.shim||(am.shim=new Ext.dom.Shim(Ext.apply({target:am},al))),an=am.shadow;if(an){ao.offsets=an.outerOffsets;ao.shadow=an;an.shim=ao}if(ak===true||(ak!==false&&am.isVisible())){ao.show()}else{ao.hide()}ao.disabled=false},findParent:function(aq,al,ak){var an=this,ao=an.dom,am=T.documentElement,ap=0;if(al||al===0){if(typeof al!=="number"){am=Ext.getDom(al);al=Number.MAX_VALUE}}else{al=50}while(ao&&ao.nodeType===1&&ap<al&&ao!==am){if(Ext.fly(ao).is(aq)){return ak?Ext.get(ao):ao}ap++;ao=ao.parentNode}return null},findParentNode:function(an,al,ak){var am=Ext.fly(this.dom.parentNode);return am?am.findParent(an,al,ak):null},first:function(ak,al){return this.matchNode("nextSibling","firstChild",ak,al)},focus:function(am,al){var ak=this;al=al||ak.dom;if(Number(am)){Ext.defer(ak.focus,am,ak,[null,al])}else{Ext.GlobalEvents.fireEvent("beforefocus",al);al.focus()}return ak},collect:function(){var ak=this,al=ak.dom,an=ak.shadow,am=ak.shim;if(!ak.isFly){ak.mixins.observable.destroy.call(ak);delete Ext.cache[ak.id];ak.destroyed=true;ak.el=null}if(al){al._extData=ak.dom=null}if(an){an.hide();ak.shadow=null}if(am){am.hide();ak.shim=null}},getAnchorToXY:function(an,ak,am,al){return an.getAnchorXY(ak,am,al)},getAttribute:function(ak,al){var am=this.dom;return al?(am.getAttributeNS(al,ak)||am.getAttribute(al+":"+ak)):(am.getAttribute(ak)||am[ak]||null)},getAttributes:function(){var an=this.dom.attributes,am={},al,ao,ak;for(ao=0,ak=an.length;ao<ak;ao++){al=an[ao];am[al.name]=al.value}return am},getBottom:function(ak){return(ak?this.getLocalY():this.getY())+this.getHeight()},getById:function(am,ak){var al=T.getElementById(am)||this.dom.querySelector(Ext.makeIdSelector(am));return ak?al:(al?Ext.get(al):null)},getBorderPadding:function(){var ak=this.getStyle(H),al=this.getStyle(h);return{beforeX:(parseFloat(al[x.l])||0)+(parseFloat(ak[ad.l])||0),afterX:(parseFloat(al[x.r])||0)+(parseFloat(ak[ad.r])||0),beforeY:(parseFloat(al[x.t])||0)+(parseFloat(ak[ad.t])||0),afterY:(parseFloat(al[x.b])||0)+(parseFloat(ak[ad.b])||0)}},getBorders:function(){var ak=this.getStyle(h);return{beforeX:(parseFloat(ak[x.l])||0),afterX:(parseFloat(ak[x.r])||0),beforeY:(parseFloat(ak[x.t])||0),afterY:(parseFloat(ak[x.b])||0)}},getBorderWidth:function(ak){return this.addStyles(ak,x)},getData:function(ak){var am=this.dom,al;if(am){al=am._extData;if(!al&&!ak){am._extData=al={}}}return al},getFirstChild:function(){return Ext.get(this.dom.firstElementChild)},getHeight:function(an,al){var am=this,ao=am.isStyle("display","none"),ak,ap;if(ao){return 0}ak=am.dom.offsetHeight;if(Ext.supports.Direct2DBug){ap=am.adjustDirect2DDimension(R);if(al){ak+=ap}else{if(ap>0&&ap<0.5){ak++}}}if(an){ak-=am.getBorderWidth("tb")+am.getPadding("tb")}return(ak<0)?0:ak},getHtml:function(){return this.dom?this.dom.innerHTML:""},getLeft:function(ak){return ak?this.getLocalX():this.getX()},getLocalX:function(){var am=this,al,ak=am.getStyle("left");if(!ak||ak==="auto"){ak=0}else{if(s.test(ak)){ak=parseFloat(ak)}else{ak=am.getX();al=am.dom.offsetParent;if(al){ak-=Ext.fly(al).getX()}}}return ak},getLocalXY:function(){var an=this,am,al=an.getStyle(["left","top"]),ak=al.left,ao=al.top;if(!ak||ak==="auto"){ak=0}else{if(s.test(ak)){ak=parseFloat(ak)}else{ak=an.getX();am=an.dom.offsetParent;if(am){ak-=Ext.fly(am).getX()}}}if(!ao||ao==="auto"){ao=0}else{if(s.test(ao)){ao=parseFloat(ao)}else{ao=an.getY();am=an.dom.offsetParent;if(am){ao-=Ext.fly(am).getY()}}}return[ak,ao]},getLocalY:function(){var al=this,ak,am=al.getStyle("top");if(!am||am==="auto"){am=0}else{if(s.test(am)){am=parseFloat(am)}else{am=al.getY();ak=al.dom.offsetParent;if(ak){am-=Ext.fly(ak).getY()}}}return am},getMargin:(function(){var al={t:"top",l:"left",r:"right",b:"bottom"},ak=["margin-top","margin-left","margin-right","margin-bottom"];return function(an){var ap=this,ao,am,aq;if(!an){ao=ap.getStyle(ak);aq={};if(ao&&typeof ao==="object"){aq={};for(am in n){aq[am]=aq[al[am]]=parseFloat(ao[n[am]])||0}}}else{aq=ap.addStyles(an,n)}return aq}})(),getPadding:function(ak){return this.addStyles(ak,ad)},getParent:function(){return Ext.get(this.dom.parentNode)},getRight:function(ak){return(ak?this.getLocalX():this.getX())+this.getWidth()},getScroll:function(){var am=this,ap=am.dom,al=T.documentElement,ao,an,ak=document.body;if(ap===T||ap===ak){ao=al.scrollLeft||(ak?ak.scrollLeft:0);an=al.scrollTop||(ak?ak.scrollTop:0)}else{ao=ap.scrollLeft;an=ap.scrollTop}return{left:ao,top:an}},getScrollIntoViewXY:function(ap,ax,aw){var az=this.dom,al=Ext.getDom(ap),am=this.getOffsetsTo(al),av=az.offsetWidth,ar=az.offsetHeight,ak=am[0]+ax,aq=am[1]+aw,ao=aq+ar,aB=ak+av,at=al.clientHeight,ay=al.clientWidth,aA=ax,au=aw,an=au+at,aC=aA+ay;if(ar>at||aq<au){aw=aq}else{if(ao>an){aw=ao-at}}if(av>ay||ak<aA){ax=ak}else{if(aB>aC){ax=aB-ay}}return{x:ax,y:aw}},getScrollLeft:function(){var ak=this.dom;if(ak===T||ak===document.body){return this.getScroll().left}else{return ak.scrollLeft}},getScrollTop:function(){var ak=this.dom;if(ak===T||ak===document.body){return this.getScroll().top}else{return ak.scrollTop}},getSize:function(ak){return{width:this.getWidth(ak),height:this.getHeight(ak)}},getStyle:function(ax,ar){var at=this,an=at.dom,aA=typeof ax!=="string",ay=at.styleHooks,al=ax,au=al,aq=1,ap,az,aw,av,am,ak,ao;if(aA){aw={};al=au[0];ao=0;if(!(aq=au.length)){return aw}}if(!an||an.documentElement){return aw||""}ap=an.style;if(ar){ak=ap}else{ak=an.ownerDocument.defaultView.getComputedStyle(an,null);if(!ak){ar=true;ak=ap}}do{av=ay[al];if(!av){ay[al]=av={name:q.normalize(al)}}if(av.get){am=av.get(an,at,ar,ak)}else{az=av.name;am=ak[az]}if(!aA){return am}aw[al]=am;al=au[++ao]}while(ao<aq);return aw},getStyleValue:function(ak){return this.dom.style.getPropertyValue(ak)},getTop:function(ak){return ak?this.getLocalY():this.getY()},getValue:function(al){var ak=this.dom.value;return al?parseInt(ak,10):ak},getViewSize:function(){var ak=this.dom;if(ak===T||ak===T.body){return{width:q.getViewportWidth(),height:q.getViewportHeight()}}else{return{width:ak.clientWidth,height:ak.clientHeight}}},getVisibilityMode:function(){var ak=this,al=ak.getData(),am=al.visibilityMode;if(am===undefined){al.visibilityMode=am=q.DISPLAY}return am},getWidth:function(ak,ap){var an=this,aq=an.dom,ao=an.isStyle("display","none"),am,al,ar;if(ao){return 0}if(Ext.supports.BoundingClientRect){am=aq.getBoundingClientRect();al=(an.vertical&&!Ext.supports.RotatedBoundingClientRect)?(am.bottom-am.top):(am.right-am.left);al=ap?al:Math.ceil(al)}else{al=aq.offsetWidth}if(Ext.supports.Direct2DBug&&!an.vertical){ar=an.adjustDirect2DDimension(j);if(ap){al+=ar}else{if(ar>0&&ar<0.5){al++}}}if(ak){al-=an.getBorderWidth("lr")+an.getPadding("lr")}return(al<0)?0:al},getX:function(){return this.getXY()[0]},getXY:function(){var am=Math.round,ap=this.dom,al=0,aq=0,ao,ak;if(ap!==T&&ap!==T.body){try{ao=ap.getBoundingClientRect()}catch(an){ao={left:0,top:0}}al=am(ao.left);aq=am(ao.top);ak=Ext.getDoc().getScroll();al+=ak.left;aq+=ak.top}return[al,aq]},getY:function(){return this.getXY()[1]},getZIndex:function(){return parseInt(this.getStyle("z-index"),10)},hasCls:function(ak){var al=this.getData();if(!al.isSynchronized){this.synchronize()}return al.classMap.hasOwnProperty(ak)},hide:function(){this.setVisible(false);return this},insertAfter:function(ak){ak=Ext.getDom(ak);ak.parentNode.insertBefore(this.dom,ak.nextSibling);return this},insertBefore:function(ak){ak=Ext.getDom(ak);ak.parentNode.insertBefore(this.dom,ak);return this},insertFirst:function(al,ak){al=al||{};if(al.nodeType||al.dom||typeof al==="string"){al=Ext.getDom(al);this.dom.insertBefore(al,this.dom.firstChild);return !ak?Ext.get(al):al}else{return this.createChild(al,this.dom.firstChild,ak)}},insertHtml:function(al,am,ak){var an=Ext.DomHelper.insertHtml(al,this.dom,am);return ak?Ext.get(an):an},insertSibling:function(al,ao,ar){var aq=this,at=Ext.DomHelper,au=(ao||"before").toLowerCase()==="after",an,ak,am,ap;if(Ext.isIterable(al)){am=al.length;ak=Ext.fly(document.createDocumentFragment());if(Ext.isArray(al)){for(ap=0;ap<am;ap++){an=ak.appendChild(al[ap],ar)}}else{for(ap=0;ap<am;ap++){ak.dom.appendChild(an=al[0])}if(ar===false){an=Ext.get(an)}}aq.dom.parentNode.insertBefore(ak.dom,au?aq.dom.nextSibling:aq.dom);return an}al=al||{};if(al.nodeType||al.dom){an=aq.dom.parentNode.insertBefore(Ext.getDom(al),au?aq.dom.nextSibling:aq.dom);if(!ar){an=Ext.get(an)}}else{if(au&&!aq.dom.nextSibling){an=at.append(aq.dom.parentNode,al,!ar)}else{an=at[au?"insertAfter":"insertBefore"](aq.dom,al,!ar)}}return an},is:function(ak){var am=this.dom,al;if(!ak){al=true}else{if(!am.tagName){al=false}else{if(Ext.isFunction(ak)){al=ak(am)}else{al=am[Ext.supports.matchesSelector](ak)}}}return al},isAncestor:function(al){var ak=false,am=this.dom,an=Ext.getDom(al);if(am&&an){if(am.contains){return am.contains(an)}else{if(am.compareDocumentPosition){return !!(am.compareDocumentPosition(an)&16)}else{while((an=an.parentNode)){ak=an===am||ak}}}}return ak},isPainted:(function(){return !Ext.browser.is.IE?function(){var ak=this.dom;return Boolean(ak&&ak.offsetParent)}:function(){var ak=this.dom;return Boolean(ak&&(ak.offsetHeight!==0&&ak.offsetWidth!==0))}})(),isScrollable:function(){var ak=this.dom;return ak.scrollHeight>ak.clientHeight||ak.scrollWidth>ak.clientWidth},isStyle:function(ak,al){return this.getStyle(ak)===al},isVisible:function(al){var am=this.dom,ak;if(!am){return false}if(!Z){Z=new Ext.dom.Fly()}for(ak=am.ownerDocument.documentElement;am!==ak;am=am.parentNode){if(!am||am.nodeType===11||(Z.attach(am)).isStyle(l,af)||Z.isStyle(d,W)){return false}if(!al){break}}return true},last:function(ak,al){return this.matchNode("previousSibling","lastChild",ak,al)},maskIframes:function(){var ak=document.getElementsByTagName("iframe");Ext.each(ak,function(an){var am=Ext.fly(an.parentNode),al=am.mask();al.setStyle("background-color","transparent")})},matchNode:function(al,ap,ak,am){var an=this.dom,ao;if(!an){return null}ao=an[ap];while(ao){if(ao.nodeType===1&&(!ak||Ext.fly(ao,"_matchNode").is(ak))){return !am?Ext.get(ao):ao}ao=ao[al]}return null},next:function(ak,al){return this.matchNode("nextSibling","nextSibling",ak,al)},parent:function(ak,al){return this.matchNode("parentNode","parentNode",ak,al)},position:function(ao,an,ak,am){var al=this;if(al.dom.tagName!=="BODY"){if(!ao&&al.isStyle(Y,u)){al.setStyle(Y,t)}else{if(ao){al.setStyle(Y,ao)}}if(an){al.setStyle(o,an)}if(ak||am){al.setXY([ak||false,am||false])}}},prev:function(ak,al){return this.matchNode("previousSibling","previousSibling",ak,al)},query:function(am,av,at){var ao=this.dom,aq,ar,au,al,ak,ap,an;if(!ao){return null}av=(av!==false);am=am.split(",");if(!at){aq=[]}for(ap=0,ar=am.length;ap<ar;ap++){if(typeof am[ap]==="string"){if(at){al=ao.querySelector(am[ap]);return av?al:Ext.get(al)}ak=ao.querySelectorAll(am[ap]);for(an=0,au=ak.length;an<au;an++){aq.push(av?ak[an]:Ext.get(ak[an]))}}}return aq},radioCls:function(an){var ao=this.dom.parentNode.childNodes,al;an=Ext.isArray(an)?an:[an];for(var am=0,ak=ao.length;am<ak;am++){al=ao[am];if(al&&al.nodeType===1){Ext.fly(al).removeCls(an)}}return this.addCls(an)},redraw:function(){var al=this.dom,ak=al.style;ak.display="none";al.offsetHeight;ak.display=""},remove:function(){this.destroy()},removeChild:function(ak){this.dom.removeChild(Ext.getDom(ak));return this},removeCls:function(at,aq,av){var au=this,an=au.getData(),aw,ao,al,am,ap,ar,ak;if(!at){return au}if(!an.isSynchronized){au.synchronize()}ao=au.dom;al=an.classMap;am=an.classList;aq=aq?aq+A:"";av=av?A+av:"";if(typeof at==="string"){at=at.split(M)}for(ap=0,ar=at.length;ap<ar;ap++){ak=at[ap];if(ak){ak=aq+ak+av;if(al[ak]){delete al[ak];Ext.Array.remove(am,ak);aw=true}}}if(aw){ao.className=am.join(" ")}return au},repaint:function(){var ak=this;ak.addCls(Ext.baseCSSPrefix+"repaint");Ext.defer(function(){if(ak.dom){Ext.fly(ak.dom).removeCls(Ext.baseCSSPrefix+"repaint")}},1);return ak},replace:function(am,al){am=Ext.getDom(am);var ak=am.parentNode,ao=am.id,an=this.dom;if(al!==false&&ao&&Ext.cache[ao]){ak.insertBefore(an,am);Ext.get(am).destroy()}else{ak.replaceChild(an,am)}return this},replaceCls:function(am,au,ar,ax){var av=this,ap,al,an,aq,at,ak,ao=av.getData(),aw;if(!am&&!au){return av}am=am||[];au=au||[];if(!ao.isSynchronized){av.synchronize()}if(!ax){ax=""}ap=av.dom;al=ao.classMap;an=ao.classList;ar=ar?ar+A:"";ax=ax?A+ax:"";if(typeof am==="string"){am=am.split(M)}if(typeof au==="string"){au=au.split(M)}for(aq=0,at=am.length;aq<at;aq++){ak=ar+am[aq]+ax;if(al[ak]){delete al[ak];aw=true}}for(aq=0,at=au.length;aq<at;aq++){ak=ar+au[aq]+ax;if(!al[ak]){al[ak]=true;aw=true}}if(aw){ao.classList=an=Ext.Object.getKeys(al);ap.className=an.join(" ")}return av},replaceWith:function(an){var ao=this,ap=ao.dom,am=ap.parentNode,ak=Ext.cache,al;ao.clearListeners();if(an.nodeType||an.dom||typeof an==="string"){an=Ext.get(an);al=am.insertBefore(an.dom,ap)}else{al=Ext.DomHelper.insertBefore(ap,an)}am.removeChild(ap);ao.dom=al;if(!ao.isFly){delete ak[ao.id];ak[ao.id=Ext.id(al)]=ao}return ao},resolveListenerScope:function(al){var ak=this.component;return ak?ak.resolveListenerScope(al):this},scroll:function(at,ak,am){if(!this.isScrollable()){return false}at=at.charAt(0);var ar=this,ao=ar.dom,aq=at==="r"||at==="l"?"left":"top",al=false,an,ap;if(at==="l"||at==="t"||at==="u"){ak=-ak}if(aq==="left"){an=ao.scrollLeft;ap=ar.constrainScrollLeft(an+ak)}else{an=ao.scrollTop;ap=ar.constrainScrollTop(an+ak)}if(ap!==an){this.scrollTo(aq,ap,am);al=true}return al},scrollBy:function(al,ak,am){var an=this,ao=an.dom;if(al.length){am=ak;ak=al[1];al=al[0]}else{if(typeof al!="number"){am=ak;ak=al.y;al=al.x}}if(al){an.scrollTo("left",an.constrainScrollLeft(ao.scrollLeft+al),am)}if(ak){an.scrollTo("top",an.constrainScrollTop(ao.scrollTop+ak),am)}return an},scrollChildIntoView:function(al,ak){Ext.fly(al).scrollIntoView(this,ak)},scrollIntoView:function(ak,an,am,al){ak=Ext.getDom(ak)||Ext.getBody().dom;return this.doScrollIntoView(ak,an,am,al,"getScrollLeft","scrollTo")},scrollTo:function(am,ao,ak){var ap=c.test(am),an=this,ar=ap?"scrollTop":"scrollLeft",aq=an.dom,al;if(!ak||!an.anim){aq[ar]=ao;aq[ar]=ao}else{al={to:{}};al.to[ar]=ao;if(Ext.isObject(ak)){Ext.applyIf(al,ak)}an.animate(al)}return an},select:function(al,an){var ak,am;if(typeof al==="string"){am=this.query(al,!an)}else{am=al;ak=true}return an?new Ext.CompositeElement(am,!ak):new Ext.CompositeElementLite(am,true)},selectNode:function(al,ak){return this.query(al,ak,true)},set:function(ak,al){var an=this,ap=an.dom,am,ao;for(am in ak){if(ak.hasOwnProperty(am)){ao=ak[am];if(am==="style"){an.applyStyles(ao)}else{if(am==="cls"){ap.className=ao}else{if(al!==false){if(ao===undefined){ap.removeAttribute(am)}else{ap.setAttribute(am,ao)}}else{ap[am]=ao}}}}}return an},setBottom:function(ak){this.dom.style[O]=q.addUnits(ak);return this},setCls:function(an){var ap=this,am=ap.getData(),al,ao,ak,aq,ar;if(!am.isSynchronized){ap.synchronize()}if(typeof an==="string"){an=an.split(M)}am.classList=ar=an.slice();am.classMap=aq={};for(al=0,ao=ar.length;al<ao;al++){aq[ar[al]]=true}ap.dom.className=ar.join(" ")},setDisplayed:function(al){var ak=this;if(typeof al==="boolean"){al=al?ak._getDisplay():W}ak.setStyle(d,al);if(ak.shadow||ak.shim){ak.setUnderlaysVisible(al!==W)}return ak},setHeight:function(ak){var al=this;al.dom.style[R]=q.addUnits(ak);if(al.shadow||al.shim){al.syncUnderlays()}return al},setHtml:function(ak){if(this.dom){this.dom.innerHTML=ak}return this},setId:function(an){var am=this,ak=am.id,al=Ext.cache;if(ak){delete al[ak]}am.dom.id=an;am.id=an;al[an]=am;return am},setLeft:function(al){var ak=this;ak.dom.style[I]=q.addUnits(al);if(ak.shadow||ak.shim){ak.syncUnderlays()}return ak},setLocalX:function(ak){var am=this,al=am.dom.style;al.right="auto";al.left=(ak===null)?"auto":ak+"px";if(am.shadow||am.shim){am.syncUnderlays()}return am},setLocalXY:function(ak,an){var am=this,al=am.dom.style;al.right="auto";if(ak&&ak.length){an=ak[1];ak=ak[0]}if(ak===null){al.left="auto"}else{if(ak!==undefined){al.left=ak+"px"}}if(an===null){al.top="auto"}else{if(an!==undefined){al.top=an+"px"}}if(am.shadow||am.shim){am.syncUnderlays()}return am},setLocalY:function(al){var ak=this;ak.dom.style.top=(al===null)?"auto":al+"px";if(ak.shadow||ak.shim){ak.syncUnderlays()}return ak},setMargin:function(am){var al=this,ak=al.dom.style;if(am||am===0){am=al.self.unitizeBox((am===true)?5:am);ak.setProperty("margin",am,"important")}else{ak.removeProperty("margin-top");ak.removeProperty("margin-right");ak.removeProperty("margin-bottom");ak.removeProperty("margin-left")}},setMaxHeight:function(ak){this.dom.style[E]=q.addUnits(ak);return this},setMaxWidth:function(ak){this.dom.style[r]=q.addUnits(ak);return this},setMinHeight:function(ak){this.dom.style[e]=q.addUnits(ak);return this},setMinWidth:function(ak){this.dom.style[ae]=q.addUnits(ak);return this},setOpacity:function(ak){var al=this;if(al.dom){al.setStyle("opacity",ak)}return al},setPadding:function(am){var al=this,ak=al.dom.style;if(am||am===0){am=al.self.unitizeBox((am===true)?5:am);ak.setProperty("padding",am,"important")}else{ak.removeProperty("padding-top");ak.removeProperty("padding-right");ak.removeProperty("padding-bottom");ak.removeProperty("padding-left")}},setRight:function(ak){this.dom.style[ai]=q.addUnits(ak);return this},setScrollLeft:function(ak){this.dom.scrollLeft=ak;return this},setScrollTop:function(ak){this.dom.scrollTop=ak;return this},setSize:function(am,ak){var an=this,al=an.dom.style;if(Ext.isObject(am)){ak=am.height;am=am.width}al.width=q.addUnits(am);al.height=q.addUnits(ak);if(an.shadow||an.shim){an.syncUnderlays()}return an},setSizeState:function(am){var al=this,an,ak;if(am===true){an=C;ak=[P,J]}else{if(am===false){an=P;ak=[C,J]}else{if(am===null){an=J;ak=[C,P]}else{ak=[C,P,J]}}}if(an){al.addCls(an)}al.removeCls(ak);return al},setStyle:function(ar,ap){var an=this,aq=an.dom,ak=an.styleHooks,am=aq.style,al=ar,ao;if(typeof al==="string"){ao=ak[al];if(!ao){ak[al]=ao={name:q.normalize(al)}}ap=(ap==null)?"":ap;if(ao.set){ao.set(aq,ap,an)}else{am[ao.name]=ap}if(ao.afterSet){ao.afterSet(aq,ap,an)}}else{for(al in ar){if(ar.hasOwnProperty(al)){ao=ak[al];if(!ao){ak[al]=ao={name:q.normalize(al)}}ap=ar[al];ap=(ap==null)?"":ap;if(ao.set){ao.set(aq,ap,an)}else{am[ao.name]=ap}if(ao.afterSet){ao.afterSet(aq,ap,an)}}}}return an},setText:function(ak){this.dom.textContent=ak},setTop:function(al){var ak=this;ak.dom.style[U]=q.addUnits(al);if(ak.shadow||ak.shim){ak.syncUnderlays()}return ak},setUnderlaysVisible:function(ak){var am=this.shadow,al=this.shim;if(am&&!am.disabled){if(ak){am.show()}else{am.hide()}}if(al&&!al.disabled){if(ak){al.show()}else{al.hide()}}},setVisibility:function(ak){var al=this.dom.style;if(ak){al.removeProperty("visibility")}else{al.setProperty("visibility","hidden","important")}},setVisibilityMode:function(ak){this.getData().visibilityMode=ak;return this},setVisible:function(am){var ak=this,al=ak.getVisibilityMode(),an=am?"removeCls":"addCls";switch(al){case q.DISPLAY:ak.removeCls([F,m,a]);ak[an](D);break;case q.VISIBILITY:ak.removeCls([D,m,a]);ak[an](F);break;case q.OFFSETS:ak.removeCls([F,D,a]);ak[an](m);break;case q.CLIP:ak.removeCls([F,D,m]);ak[an](a);break}if(ak.shadow||ak.shim){ak.setUnderlaysVisible(am)}return ak},setWidth:function(ak){var al=this;al.dom.style[j]=q.addUnits(ak);if(al.shadow||al.shim){al.syncUnderlays()}return al},setX:function(ak){return this.setXY([ak,false])},setXY:function(am){var al=this,an=al.translatePoints(am),ak=al.dom.style,ao;al.position();ak.right="auto";for(ao in an){if(!isNaN(an[ao])){ak[ao]=an[ao]+"px"}}if(al.shadow||al.shim){al.syncUnderlays()}return al},setY:function(ak){return this.setXY([false,ak])},setZIndex:function(ak){var al=this;if(al.shadow){al.shadow.setZIndex(ak)}if(al.shim){al.shim.setZIndex(ak)}return al.setStyle("z-index",ak)},show:function(){this.setVisible(true);return this},swapCls:function(al,aq,ak,ao){if(ak===undefined){ak=true}var an=this,ap=ak?al:aq,am=ak?aq:al;if(am){an.removeCls(ao?ao+"-"+am:am)}if(ap){an.addCls(ao?ao+"-"+ap:ap)}return an},synchronize:function(){var ar=this,an=ar.dom,at={},aq=an.className,al,ao,ap,ak,am=ar.getData();if(aq&&aq.length>0){al=an.className.split(ag);for(ao=0,ap=al.length;ao<ap;ao++){ak=al[ao];at[ak]=true}}else{al=[]}am.classList=al;am.classMap=at;am.isSynchronized=true;return ar},syncUnderlays:function(){var an=this,ar=an.shadow,ak=an.shim,al=an.dom,at,ap,ao,aq,am;if(an.isVisible()){at=an.getXY();ap=at[0];ao=at[1];aq=al.offsetWidth;am=al.offsetHeight;if(ar&&!ar.hidden){ar.realign(ap,ao,aq,am)}if(ak&&!ak.hidden){ak.realign(ap,ao,aq,am)}}},toggleCls:function(ak,al){if(typeof al!=="boolean"){al=!this.hasCls(ak)}return al?this.addCls(ak):this.removeCls(ak)},toggle:function(){this.setVisible(!this.isVisible());return this},translate:function(){var ak="webkitTransform" in T.createElement("div").style?"webkitTransform":"transform";return function(al,an,am){this.dom.style[ak]="translate3d("+(al||0)+"px, "+(an||0)+"px, "+(am||0)+"px)"}}(),unmaskIframes:function(){var ak=document.getElementsByTagName("iframe");Ext.each(ak,function(am){var al=Ext.fly(am.parentNode);al.unmask()})},unwrap:function(){var aq=this.dom,al=aq.parentNode,an,ap=Ext.fly(Ext.Element.getActiveElement()),ao,am,ar,ak;ao=Ext.cache[ap.id];if(ao){ap=ao}if(this.contains(ap)){if(ao){ao.suspendFocusEvents()}am=true}if(al){an=al.parentNode;if(am){ak=an.getAttribute("tabIndex");ar=Ext.fly(an);ar.set({tabIndex:-1});ar.suspendFocusEvents();ar.focus()}an.insertBefore(aq,al);an.removeChild(al)}else{an=document.createDocumentFragment();an.appendChild(aq)}if(am){if(ao){ao.focus();ao.resumeFocusEvents()}else{Ext.fly(ap).focus()}if(ar){ar.resumeFocusEvents();ar.set({tabIndex:ak})}}return this},up:function(am,ak,al){return this.findParentNode(am,ak,!al)},update:function(ak){return this.setHtml(ak)},wrap:function(an,av,aq){var au=this,ar=au.dom,ap=Ext.DomHelper.insertBefore(ar,an||{tag:"div"},!av),at=ap,am=Ext.Element.getActiveElement(),ao,al,ak;ao=Ext.cache[am.id];if(ao){am=ao}if(aq){at=ap.selectNode(aq,av)}if(au.contains(am)){if(ao){ao.suspendFocusEvents()}ak=ap.dom.getAttribute("tabIndex");ap.set({tabIndex:-1});ap.suspendFocusEvents();ap.focus();al=true}at.appendChild(ar);if(al){if(ao){ao.focus();ao.resumeFocusEvents()}else{Ext.fly(am).focus()}ap.resumeFocusEvents();ap.set({tabIndex:ak})}return ap},privates:{doAddListener:function(ap,at,au,av,al,ak,am){var ar=this,an,ao,aq;ap=Ext.canonicalEventName(ap);if(!ar.blockedEvents[ap]){an=ar.mixins.observable.doAddListener;av=av||{};if(ar.longpressEvents[ap]){ar.disableTouchContextMenu()}if(q.useDelegatedEvents===false){av.delegated=av.delegated||false}if(av.translate!==false){ao=ar.additiveEvents[ap];if(ao){av.type=ap;ap=ao;an.call(ar,ap,at,au,av,al,ak,am)}aq=ar.eventMap[ap];if(aq){av.type=av.type||ap;ap=aq}}an.call(ar,ap,at,au,av,al,ak,am);delete av.type}},doRemoveListener:function(ak,ao,an){var ap=this,am,ar,aq,al;if(!ap.blockedEvents[ak]){am=ap.mixins.observable.doRemoveListener;if(ap.longpressEvents[ak]){al=this._contextMenuListenerRemover;if(al){al.destroy()}}aq=ap.additiveEvents[ak];if(aq){ak=aq;am.call(ap,ak,ao,an)}ar=ap.eventMap[ak];if(ar){am.call(ap,ar,ao,an)}am.call(ap,ak,ao,an)}},_initEvent:function(ak){return(this.events[ak]=new Ext.dom.ElementEvent(this,ak))},_getDisplay:function(){var ak=this.getData(),al=ak[w];if(al===undefined){ak[w]=al=""}return al},_getPublisher:function(ak){var am=Ext.event.publisher.Publisher,al=am.publishersByEvent[ak];if(!al||(this.dom===window&&ak==="resize")){al=am.publishers.dom}return al},isFocusSuspended:function(){return !!this.getData().suspendFocusEvents},suspendFocusEvents:function(){if(!this.isFly){this.suspendEvent("focus","blur")}this.getData().suspendFocusEvents=true},resumeFocusEvents:function(){function ak(){var al;if(!this.destroyed){al=this.getData();if(al){al.suspendFocusEvents=false}if(!this.isFly){this.resumeEvent("focus","blur")}}}if(!this.destroyed&&this.getData().suspendFocusEvents){if(Ext.isIE){Ext.asap(ak,this)}else{ak.call(this)}}}},deprecated:{"5.0":{methods:{cssTranslate:null,getHTML:"getHtml",getOuterHeight:null,getOuterWidth:null,getPageBox:function(am){var ap=this,an=ap.dom,ar=an.nodeName==="BODY",at=ar?q.getViewportWidth():an.offsetWidth,ao=ar?q.getViewportHeight():an.offsetHeight,av=ap.getXY(),au=av[1],ak=av[0]+at,aq=av[1]+ao,al=av[0];if(am){return new Ext.util.Region(au,ak,aq,al)}else{return{left:al,top:au,width:at,height:ao,right:ak,bottom:aq}}},getScrollParent:null,isDescendent:null,isTransparent:function(al){var ak=this.getStyle(al);return ak?b.test(ak):false},purgeAllListeners:"clearListeners",removeAllListeners:"clearListeners",setHTML:"setHtml",setTopLeft:null}}}}},function(q){var b=document,m=q.prototype,x=Ext.supports,E="pointerdown",e="pointermove",c="pointerup",d="pointercancel",i="MSPointerDown",n="MSPointerMove",A="MSPointerUp",a="MSPointerCancel",t="mousedown",z="mousemove",u="mouseup",F="mouseover",D="mouseout",p="mouseenter",g="mouseleave",w="touchstart",l="touchmove",B="touchend",h="touchcancel",r="click",j="dblclick",v="tap",C="doubletap",k=m.eventMap={},s=m.additiveEvents={},o=Ext.id,y;Ext.id=function(I,H){var G=Ext.getDom(I,true),J,K;if(!G){K=o(I,H)}else{if(!(K=G.id)){K=o(null,H||q.prototype.identifiablePrefix);if(Ext.isSandboxed){J=Ext.sandboxPrefix||(Ext.sandboxPrefix=Ext.sandboxName.toLowerCase()+"-");K=J+K}G.id=K}}return K};if(x.PointerEvents){k[t]=E;k[z]=e;k[u]=c;k[w]=E;k[l]=e;k[B]=c;k[h]=d;k[r]=v;k[j]=C;k[F]="pointerover";k[D]="pointerout";k[p]="pointerenter";k[g]="pointerleave"}else{if(x.MSPointerEvents){k[E]=i;k[e]=n;k[c]=A;k[d]=a;k[t]=i;k[z]=n;k[u]=A;k[w]=i;k[l]=n;k[B]=A;k[h]=a;k[r]=v;k[j]=C;k[F]="MSPointerOver";k[D]="MSPointerOut"}else{if(x.TouchEvents){k[E]=w;k[e]=l;k[c]=B;k[d]=h;k[t]=w;k[z]=l;k[u]=B;k[r]=v;k[j]=C;if(Ext.isWebKit&&Ext.os.is.Desktop){k[w]=t;k[l]=z;k[B]=u;k[h]=u;s[t]=t;s[z]=z;s[u]=u;s[w]=w;s[l]=l;s[B]=B;s[h]=h;s[E]=t;s[e]=z;s[c]=u;s[d]=u}}else{k[E]=t;k[e]=z;k[c]=u;k[d]=u;k[w]=t;k[l]=z;k[B]=u;k[h]=u}}}if(Ext.isWebKit){k.transitionend=Ext.browser.getVendorProperyName("transitionEnd");k.animationstart=Ext.browser.getVendorProperyName("animationStart");k.animationend=Ext.browser.getVendorProperyName("animationEnd")}if(!Ext.supports.MouseWheel&&!Ext.isOpera){k.mousewheel="DOMMouseScroll"}y=m.$eventOptions=Ext.Object.chain(m.$eventOptions);y.translate=y.capture=y.delegate=y.delegated=y.stopEvent=y.preventDefault=y.stopPropagation=y.element=1;m.styleHooks.opacity={name:"opacity",afterSet:function(I,H,G){var J=G.shadow;if(J){J.setOpacity(H)}}};m.getTrueXY=m.getXY;Ext.select=q.select;Ext.query=q.query;Ext.apply(Ext,{get:function(G){return q.get(G)},getDom:function(G){if(!G||!b){return null}return typeof G==="string"?Ext.getElementById(G):"dom" in G?G.dom:G},getBody:function(){if(!Ext._bodyEl){if(!b.body){throw new Error("[Ext.getBody] document.body does not yet exist")}Ext._bodyEl=Ext.get(b.body)}return Ext._bodyEl},getHead:function(){if(!Ext._headEl){Ext._headEl=Ext.get(b.head||b.getElementsByTagName("head")[0])}return Ext._headEl},getDoc:function(){if(!Ext._docEl){Ext._docEl=Ext.get(b)}return Ext._docEl},getWin:function(){if(!Ext._winEl){Ext._winEl=Ext.get(window)}return Ext._winEl},removeNode:function(I){I=I.dom||I;var J=I&&I.id,H=Ext.cache[J],G;if(H){H.destroy()}else{if(I&&(I.nodeType===3||I.tagName.toUpperCase()!=="BODY")){G=I.parentNode;if(G){G.removeChild(I)}}}}});Ext.isGarbage=function(G){return G&&G.nodeType===1&&G.tagName!=="BODY"&&G.tagName!=="HTML"&&(!G.parentNode||(!G.offsetParent&&((Ext.isIE8?b.all[G.id]:b.getElementById(G.id))!==G)&&!(Ext.detachedBodyEl&&Ext.detachedBodyEl.isAncestor(G))))};if(Ext.os.is.Android||(Ext.os.is.Windows&&Ext.supports.Touch)){Ext.onReady(function(){var G=Ext.getWin();q._windowWidth=q._viewportWidth=window.innerWidth;q._windowHeight=q._viewportHeight=window.innerHeight;G.on({focusin:"_onWindowFocusChange",focusout:"_onWindowFocusChange",pointerup:"_onWindowFocusChange",capture:true,delegated:false,delay:1,scope:q});G.on({resize:"_onWindowResize",priority:2000,scope:q})})}});Ext.define("Ext.GlobalEvents",{extend:Ext.mixin.Observable,alternateClassName:"Ext.globalEvents",observableType:"global",singleton:true,resizeBuffer:100,idleEventMask:{mousemove:1,touchmove:1,pointermove:1,MSPointerMove:1,unload:1},constructor:function(){var a=this;a.callParent();Ext.onInternalReady(function(){a.attachListeners()})},attachListeners:function(){Ext.get(window).on("resize",this.fireResize,this,{buffer:this.resizeBuffer});Ext.getDoc().on("mousedown",this.fireMouseDown,this)},fireMouseDown:function(a){this.fireEvent("mousedown",a)},fireResize:function(){var d=this,b=Ext.Element,a=b.getViewportWidth(),c=b.getViewportHeight();if(d.curHeight!==c||d.curWidth!==a){d.curHeight=c;d.curWidth=a;d.fireEvent("resize",a,c)}}},function(a){Ext.on=function(){return a.addListener.apply(a,arguments)};Ext.un=function(){return a.removeListener.apply(a,arguments)}});Ext.USE_NATIVE_JSON=false;Ext.JSON=(new (function(){var me=this,hasNative=window.JSON&&JSON.toString()==="[object JSON]",useHasOwn=!!{}.hasOwnProperty,pad=function(n){return n<10?"0"+n:n},doDecode=function(json){return eval("("+json+")")},doEncode=function(o,newline){if(o===null||o===undefined){return"null"}else{if(Ext.isDate(o)){return me.encodeDate(o)}else{if(Ext.isString(o)){if(Ext.isMSDate(o)){return me.encodeMSDate(o)}else{return me.encodeString(o)}}else{if(typeof o==="number"){return isFinite(o)?String(o):"null"}else{if(Ext.isBoolean(o)){return String(o)}else{if(o.toJSON){return o.toJSON()}else{if(Ext.isArray(o)){return encodeArray(o,newline)}else{if(Ext.isObject(o)){return encodeObject(o,newline)}else{if(typeof o==="function"){return"null"}}}}}}}}}return"undefined"},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\","\v":"\\u000b"},charToReplace=/[\\\"\x00-\x1f\x7f-\uffff]/g,encodeString=function(s){return'"'+s.replace(charToReplace,function(a){var c=m[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"'},encodeMSDate=function(o){return'"'+o+'"'},encodeArrayPretty=function(o,newline){var len=o.length,cnewline=newline+" ",sep=","+cnewline,a=["[",cnewline],i;for(i=0;i<len;i+=1){a.push(me.encodeValue(o[i],cnewline),sep)}a[a.length-1]=newline+"]";return a.join("")},encodeObjectPretty=function(o,newline){var cnewline=newline+" ",sep=","+cnewline,a=["{",cnewline],i,val;for(i in o){val=o[i];if(!useHasOwn||o.hasOwnProperty(i)){if(typeof val==="function"||val===undefined){continue}a.push(me.encodeValue(i)+": "+me.encodeValue(val,cnewline),sep)}}a[a.length-1]=newline+"}";return a.join("")},encodeArray=function(o,newline){if(newline){return encodeArrayPretty(o,newline)}var a=["[",""],len=o.length,i;for(i=0;i<len;i+=1){a.push(me.encodeValue(o[i]),",")}a[a.length-1]="]";return a.join("")},encodeObject=function(o,newline){if(newline){return encodeObjectPretty(o,newline)}var a=["{",""],i,val;for(i in o){val=o[i];if(!useHasOwn||o.hasOwnProperty(i)){if(typeof val==="function"||val===undefined){continue}a.push(me.encodeValue(i),":",me.encodeValue(val),",")}}a[a.length-1]="}";return a.join("")};me.encodeString=encodeString;me.encodeValue=doEncode;me.encodeDate=function(o){return'"'+o.getFullYear()+"-"+pad(o.getMonth()+1)+"-"+pad(o.getDate())+"T"+pad(o.getHours())+":"+pad(o.getMinutes())+":"+pad(o.getSeconds())+'"'};me.encode=function(o){if(hasNative&&Ext.USE_NATIVE_JSON){return JSON.stringify(o)}return me.encodeValue(o)};me.decode=function(json,safe){try{if(hasNative&&Ext.USE_NATIVE_JSON){return JSON.parse(json)}return doDecode(json)}catch(e){if(safe){return null}Ext.raise({sourceClass:"Ext.JSON",sourceMethod:"decode",msg:"You're trying to decode an invalid JSON String: "+json})}};me.encodeMSDate=encodeMSDate;if(!Ext.util){Ext.util={}}Ext.util.JSON=me;Ext.encode=me.encode;Ext.decode=me.decode})());Ext.define("Ext.mixin.Inheritable",{extend:Ext.Mixin,mixinConfig:{id:"inheritable"},getInherited:function(j){var e=this,h=(j&&e.inheritedStateInner)||e.inheritedState,b=e.getRefOwner(),a=e.isContainer,i,c,d,g;if(!h||h.invalid){i=e.getRefOwner();g=e.ownerLayout;if(b){d=g?g===b.layout:true}e.inheritedState=h=Ext.Object.chain(i?i.getInherited(d):Ext.rootInheritedState);if(a){e.inheritedStateInner=c=Ext.Object.chain(h)}e.initInheritedState(h,c);h=(a&&j)?e.inheritedStateInner:e.inheritedState}return h},getInheritedConfig:function(e,a){var d=this.inheritedState,b,c;if(!d||d.invalid){d=this.getInherited()}c=d[e];if(a&&d.hasOwnProperty(e)){b=c;delete d[e];c=d[e];d[e]=b}return c},resolveListenerScope:function(g,a){var d=this,e=(typeof a==="boolean"),c=Ext._namedScopes[g],b;if(!c){b=d.getInheritedConfig("defaultListenerScope",e?a:true)||g||d}else{if(c.isController){b=d.getInheritedConfig("controller",e?a:!c.isSelf)}else{if(c.isSelf){b=d.getInheritedConfig("defaultListenerScope",e&&a)||d}else{if(c.isThis){b=d}}}}return b||null},resolveSatelliteListenerScope:function(c,e){var d=this,b=Ext._namedScopes[e],a;if(!b){a=d.getInheritedConfig("defaultListenerScope")||e||d}else{if(b.isController){a=d.getInheritedConfig("controller")}else{if(b.isSelf){a=d.getInheritedConfig("defaultListenerScope")||c}else{if(b.isThis){a=c}}}}return a||null},lookupReferenceHolder:function(a){return this.getInheritedConfig("referenceHolder",a!==false)||null},getRefOwner:function(){var a=this;return a.ownerCt||a.parent||a.$initParent||a.ownerCmp||a.floatParent},invalidateInheritedState:function(){var a=this.inheritedState;if(a){a.invalid=true;delete this.inheritedState}},privates:{fixReference:function(){var a=this,b;if(a.getReference()){b=a.lookupReferenceHolder();if(b){b.attachReference(a)}}},onInheritedAdd:function(b,a){var c=this;if(c.inheritedState&&a){c.invalidateInheritedState()}if(c.getReference()){Ext.ComponentManager.markReferencesDirty()}},onInheritedRemove:function(b){var a=this,c;if(a.getReference()){c=a.lookupReferenceHolder();if(c){c.clearReference(a)}}if(a.inheritedState&&!b){a.invalidateInheritedState()}}}},function(){Ext.rootInheritedState={}});Ext.define("Ext.mixin.Bindable",{mixinId:"bindable",config:{bind:{$value:null,lazy:true},controller:null,defaultListenerScope:false,publishes:{$value:null,lazy:true,merge:function(b,a){return this.mergeSets(b,a)}},reference:null,session:{$value:null,lazy:true},twoWayBindable:{$value:null,lazy:true,merge:function(b,a){return this.mergeSets(b,a)}},viewModel:{$value:null,lazy:true}},defaultBindProperty:null,validRefRe:/^[a-z_][a-z0-9_]*$/i,initInheritedState:function(d){var e=this,a=e.getReference(),b=e.getController(),c=e.getConfig("viewModel",true),h=e.getConfig("session",true),g=e.getDefaultListenerScope();if(b){d.controller=b}if(g){d.defaultListenerScope=e}else{if(b){d.defaultListenerScope=b}}if(c){if(!c.isViewModel){c=e}d.viewModel=c}if(h){if(!h.isSession){h=e}d.session=h}if(a){e.referenceKey=(d.referencePath||"")+a;e.viewModelKey=(d.viewModelPath||"")+a}},lookupController:function(a){return this.getInheritedConfig("controller",a)||null},lookupSession:function(a){var b=a?null:this.getSession();if(!b){b=this.getInheritedConfig("session",a);if(b&&!b.isSession){b=b.getInherited().session=b.getSession()}}return b||null},lookupViewModel:function(a){var b=a?null:this.getViewModel();if(!b){b=this.getInheritedConfig("viewModel",a);if(b&&!b.isViewModel){b=b.getInherited().viewModel=b.getViewModel()}}return b||null},publishState:function(k,j){var i=this,b=i.publishedState,e=i.getBind(),h=e&&k&&e[k],g=0,c,a,d,l;if(h&&!h.syncing&&!h.isReadOnly()){if(!(h.calls===0&&(j==null||j===i.getInitialConfig()[k]))){h.setValue(j)}}if(!(a=i.getPublishes())){return}if(!(d=i.lookupViewModel())){return}if(!(l=i.viewModelKey)){return}if(k&&b){if(!a[k]){return}if(!(j&&j.constructor===Object)&&!(j instanceof Array)){if(b[k]===j){return}}l+=".";l+=k}else{b=b||(i.publishedState={});for(c in a){++g;if(c===k){b[c]=j}else{b[c]=i[c]}}if(!g){return}j=b}d.set(l,j)},privates:{addBindableUpdater:function(c){var b=this,d=b.self.$config.configs,a=d[c],e;if(a&&!b.hasOwnProperty(e=a.names.update)){b[e]=a.bindableUpdater||(a.root.bindableUpdater=b.makeBindableUpdater(a))}},applyBind:function(d,k){if(!d){return d}var g=this,i=g.lookupViewModel(),e=g.getTwoWayBindable(),a=g._getBindTemplateScope,h,j,c;if(!k||typeof k==="string"){k={}}if(Ext.isString(d)){h=d;d={};d[g.defaultBindProperty]=h}for(j in d){c=d[j];h=k[j];if(h&&typeof h!=="string"){h.destroy();h=null}if(c){h=i.bind(c,g.onBindNotify,g);h._config=Ext.Config.get(j);h.getTemplateScope=a}k[j]=h;if(e&&e[j]&&!h.isReadOnly()){g.addBindableUpdater(j)}}return k},applyController:function(a){if(a){a=Ext.Factory.controller(a);a.setView(this)}return a},applyPublishes:function(a){if(this.lookupViewModel()){for(var b in a){this.addBindableUpdater(b)}}return a},applySession:function(c){if(!c){return null}if(!c.isSession){var b=this.lookupSession(true),a=(c===true)?{}:c;if(b){c=b.spawn(a)}else{c=new Ext.data.Session(a)}}return c},applyViewModel:function(b){var c=this,a,d;if(!b){return null}if(!b.isViewModel){a={parent:c.lookupViewModel(true)};a.session=c.getSession();if(!d&&!a.parent){a.session=c.lookupSession()}if(b){if(b.constructor===Object){Ext.apply(a,b)}else{if(typeof b==="string"){a.type=b}}}b=Ext.Factory.viewModel(a)}return b},_getBindTemplateScope:function(){return this.scope.resolveListenerScope()},destroyBindable:function(){var c=this,b=c.getConfig("viewModel",true),d=c.getConfig("session",true),a=c.getController();if(b&&b.isViewModel){b.destroy();c.setViewModel(null)}if(d&&d.isSession){if(d.getAutoDestroy()){d.destroy()}c.setSession(null)}if(a){c.setController(null);a.destroy()}},initBindable:function(){this.initBindable=Ext.emptyFn;this.getBind();this.getPublishes()},makeBindableUpdater:function(a){var b=a.names.update;return function(e,c){var d=this,g=d.self.prototype[b];if(g){g.call(d,e,c)}d.publishState(a.name,e)}},isSyncing:function(b){var d=this.getBind(),a=false,c;if(d){c=d[b];if(c){a=c.syncing>0}}return a},onBindNotify:function(b,a,c){c.syncing=(c.syncing+1)||1;this[c._config.names.set](b);--c.syncing},removeBindings:function(){var b=this,d,a,c;if(!b.destroying){d=b.getBind();if(d&&typeof d!=="string"){for(a in d){c=d[a];c.destroy();c._config=c.getTemplateScope=null}}}b.setBind(null)},updateSession:function(b){var a=this.getInherited();if(b){a.session=b}else{delete a.session}},updateViewModel:function(b){var c=this.getInherited(),a=this.getController();if(b){c.viewModel=b;b.setView(this);if(a){a.initViewModel(b)}}else{delete c.viewModel}}}});Ext.define("Ext.mixin.ComponentDelegation",{extend:Ext.Mixin,mixinConfig:{id:"componentDelegation"},privates:{addDelegatedListener:function(g,i,k,l,d,c,e){var h=this,b,a,j;d=d||l.order;if(d){j=(l&&l.priority);if(!j){l=l?Ext.Object.chain(l):{};l.priority=h.$orderToPriority[d]}}b=h.$delegatedEvents||(h.$delegatedEvents={});a=b[g]||(b[g]=new Ext.util.Event(h,g));if(a.addListener(i,k,l,c,e)){h.$hasDelegatedListeners._incr_(g)}},clearDelegatedListeners:function(){var d=this,b=d.$delegatedEvents,a,c,e;if(b){for(a in b){c=b[a];e=c.listeners.length;c.clearListeners();d.$hasDelegatedListeners._decr_(a,e);delete b[a]}}},doFireDelegatedEvent:function(b,d){var h=this,c=true,a,e,g;if(h.$hasDelegatedListeners[b]){a=h.getRefOwner();while(a){e=a.$delegatedEvents;if(e){g=e[b];if(g){c=g.fireDelegated(h,d);if(c===false){break}}}a=a.getRefOwner()}}return c},removeDelegatedListener:function(a,d,c){var g=this,b=g.$delegatedEvents,e;if(b){e=b[a];if(e&&e.removeListener(d,c)){g.$hasDelegatedListeners._decr_(a);if(e.listeners.length===0){delete b[a]}}}}},onClassMixedIn:function(a){function b(){}a.prototype.HasListeners=a.HasListeners=b;b.prototype=a.hasListeners=new Ext.mixin.ComponentDelegation.HasDelegatedListeners()}},function(b){function a(){}b.HasDelegatedListeners=a;a.prototype=b.prototype.$hasDelegatedListeners=new Ext.mixin.Observable.HasListeners()});Ext.define("Ext.Widget",{extend:Ext.Evented,xtype:"widget",mixins:[Ext.mixin.Inheritable,Ext.mixin.Bindable,Ext.mixin.ComponentDelegation],isWidget:true,element:{reference:"element"},observableType:"component",cachedConfig:{style:null},config:{userCls:null},eventedConfig:{width:null,height:null},template:[],constructor:function(b){var c=this,a;c.initId(b);c.initElement();c.mixins.observable.constructor.call(c,b);Ext.ComponentManager.register(c);a=c.getController();if(a){a.init(c)}},afterCachedConfig:function(){var j=this,k=j.self.prototype,l=j.referenceList,c=j.renderElement,g,d,e,h,b,a;k.renderTemplate=g=document.createDocumentFragment();g.appendChild(c.clone(true,true));a=g.querySelectorAll("[id]");for(e=0,h=a.length;e<h;e++){d=a[e];d.removeAttribute("id")}for(e=0,h=l.length;e<h;e++){b=l[e];j[b].dom.removeAttribute("reference")}},addCls:function(a){this.el.addCls(a)},applyWidth:function(a){return this.filterLengthValue(a)},applyHeight:function(a){return this.filterLengthValue(a)},clearListeners:function(){var a=this;a.mixins.observable.clearListeners.call(a);a.mixins.componentDelegation.clearDelegatedListeners.call(a)},destroy:function(){var e=this,b=e.referenceList,c,d,a;for(c=0,d=b.length;c<d;c++){a=b[c];if(e.hasOwnProperty(a)){e[a].destroy();e[a]=null}}e.destroyBindable();e.callParent();Ext.ComponentManager.unregister(e)},doFireEvent:function(b,d,a){var e=this,c=e.mixins.observable.doFireEvent.call(e,b,d,a);if(c!==false){c=e.mixins.componentDelegation.doFireDelegatedEvent.call(e,b,d)}return c},getElementConfig:function(){var b=this,a=b.element;if(!("children" in a)){a=Ext.apply({children:b.getTemplate()},a)}return a},getSize:function(){return{width:this.getWidth(),height:this.getHeight()}},getTemplate:function(){return this.template},initElement:function(){var m=this,n=m.self.prototype,a=m.getId(),o=m.referenceList=m.referenceList=[],c=true,j,e,h,b,g,l,k,d;if(n.hasOwnProperty("renderTemplate")){j=m.renderTemplate.cloneNode(true);e=j.firstChild}else{c=false;j=document.createDocumentFragment();e=Ext.Element.create(m.processElementConfig.call(n),true);j.appendChild(e)}b=j.querySelectorAll("[reference]");for(g=0,l=b.length;g<l;g++){k=b[g];d=k.getAttribute("reference");if(c){k.removeAttribute("reference")}if(d==="element"){k.id=a;h=m.el=m.addElementReference(d,k);h.dom.setAttribute("data-componentid",a)}else{m.addElementReferenceOnDemand(d,k)}o.push(d)}if(e===h.dom){m.renderElement=h}else{m.addElementReferenceOnDemand("renderElement",e)}},is:function(a){return Ext.ComponentQuery.is(this,a)},isXType:function(b,a){return a?(Ext.Array.indexOf(this.xtypes,b)!==-1):!!this.xtypesMap[b]},removeCls:function(a){this.el.removeCls(a)},toggleCls:function(a,b){this.element.toggleCls(a,b)},resolveListenerScope:function(b,a){return this.mixins.inheritable.resolveListenerScope.call(this,b,a)},setSize:function(b,a){if(b!==undefined){this.setWidth(b)}if(a!==undefined){this.setHeight(a)}},applyStyle:function(b,a){if(a&&b===a&&Ext.isObject(a)){b=Ext.apply({},b)}return b},updateStyle:function(a){this.element.applyStyles(a)},updateWidth:function(a){this.element.setWidth(a)},updateHeight:function(a){this.element.setHeight(a)},onFocusEnter:Ext.emptyFn,onFocusLeave:Ext.emptyFn,isAncestor:function(){return false},privates:{addElementReferenceOnDemand:function(a,b){if(this._elementListeners[a]){this.addElementReference(a,b)}else{Ext.Object.defineProperty(this,a,{get:function(){delete this[a];return this.addElementReference(a,b)},configurable:true})}},addElementReference:function(c,e){var g=this,b=g[c]=Ext.get(e),d=g._elementListeners[c],a,h;b.skipGarbageCollection=true;b.component=g;if(d){d=Ext.clone(d);for(a in d){h=d[a];if(typeof h==="object"){h.scope=g}}d.scope=g;b.on(d)}return b},detachFromBody:function(){Ext.getDetachedBody().appendChild(this.element);this.isDetached=true},doAddListener:function(a,h,i,j,c,b,d){var g=this,e;if(j&&"element" in j){g[j.element].doAddListener(a,h,i||g,j,c)}if(j){e=j.delegate;if(e){g.mixins.componentDelegation.addDelegatedListener.call(g,a,h,i,j,c,b,d);return}}g.callParent([a,h,i,j,c,b,d])},doRemoveListener:function(a,c,b){var d=this;d.mixins.observable.doRemoveListener.call(d,a,c,b);d.mixins.componentDelegation.removeDelegatedListener.call(d,a,c,b)},filterLengthValue:function(a){if(a==="auto"||(!a&&a!==0)){return null}return a},getFocusEl:function(){return this.element},initElementListeners:function(m){var l=this,d=l.self.superclass,c=d._elementListeners,e=m.reference,a=m.children,h,k,b,j,g;if(l.hasOwnProperty("_elementListeners")){h=l._elementListeners}else{h=l._elementListeners=(c?Ext.Object.chain(c):{})}if(e){k=m.listeners;if(k){if(c){b=c[e];if(b){k=Ext.Object.chain(b);Ext.apply(k,m.listeners)}}h[e]=k;m.listeners=null}}if(a){for(g=0,j=a.length;g<j;g++){l.initElementListeners(a[g])}}},initId:function(b){var c=this,a=c.config,d=(b&&b.id)||(a&&a.id);if(d){c.setId(d);c.id=d}else{c.getId()}},processElementConfig:function(){var a=this,c=a.self.superclass,b;if(a.hasOwnProperty("_elementConfig")){b=a._elementConfig}else{b=a._elementConfig=a.getElementConfig();if(c.isWidget){a.processElementConfig.call(c)}a.initElementListeners(b)}return b},reattachToBody:function(){this.isDetached=false},updateUserCls:function(b,a){this.element.replaceCls(a,b)}}},function(b){var a=b.prototype;(a.$elementEventOptions=Ext.Object.chain(Ext.Element.prototype.$eventOptions)).element=1;(a.$eventOptions=Ext.Object.chain(a.$eventOptions)).delegate=1});Ext.define("Ext.mixin.Traversable",{extend:Ext.Mixin,mixinConfig:{id:"traversable"},setParent:function(a){this.parent=a;return this},hasParent:function(){return Boolean(this.parent)},getParent:function(){return this.parent},getAncestors:function(){var b=[],a=this.getParent();while(a){b.push(a);a=a.getParent()}return b},getAncestorIds:function(){var b=[],a=this.getParent();while(a){b.push(a.getId());a=a.getParent()}return b}});Ext.define("Ext.overrides.Widget",{override:"Ext.Widget",mixins:[Ext.mixin.Traversable],config:{flex:{evented:true,$value:null},itemId:undefined},constructor:function(a){this.callParent([a]);this.initBindable()},applyFlex:function(a){if(a){a=Number(a);if(isNaN(a)){a=null}}else{a=null}return a},applyItemId:function(a){return a||this.getId()},render:function(a,b){this.renderTo(a,b)},renderTo:function(a,c){var e=this.renderElement.dom,d=Ext.getDom(a),b;if(Ext.isNumber(b)){c=d.childNodes[c]}b=Ext.getDom(c);if(d){if(b){d.insertBefore(e,b)}else{d.appendChild(e)}this.setRendered(Boolean(e.offsetParent))}},destroy:function(){var b=this,a=b.getParent();if(a&&a.remove){a.remove(b,false)}b.callParent()},isInnerItem:function(){return true},isCentered:function(){return false},isDocked:function(){return Boolean(this.getDocked())},isFloating:function(){return false},getDocked:function(){return this._docked},onAdded:function(d,a){var e=this,c=e.inheritedState,b=e.parent;if(b&&b!==d){b.remove(e,false)}e.parent=d;e.onInheritedAdd(d,a)},onRemoved:function(a){if(!a){this.removeBindings()}this.onInheritedRemove(a);this.parent=null},setLayoutSizeFlags:Ext.emptyFn,setRendered:function(b){var a=this.rendered;if(b!==a){this.rendered=b;return true}return false},updateLayout:function(){var a=this.getParent(),b;if(a){b=a.getScrollable();if(b){b.refresh()}}}});Ext.define("Ext.ProgressBase",{mixinId:"progressbase",config:{value:0,textTpl:null},applyTextTpl:function(a){if(!a.isTemplate){a=new Ext.XTemplate(a)}return a},applyValue:function(a){return a||0}});Ext.define("Ext.Progress",{extend:Ext.Widget,xtype:["progress","progressbarwidget"],alternateClassName:"Ext.ProgressBarWidget",mixins:[Ext.ProgressBase],config:{text:null,animate:false},cachedConfig:{baseCls:Ext.baseCSSPrefix+"progress",textCls:Ext.baseCSSPrefix+"progress-text",cls:null,ui:null},template:[{reference:"backgroundEl"},{reference:"barEl",children:[{reference:"textEl"}]}],defaultBindProperty:"value",updateWidth:function(b,a){var c=this;c.callParent([b,a]);b-=c.element.getBorderWidth("lr");c.backgroundEl.setWidth(b);c.textEl.setWidth(b)},updateCls:function(a,c){var b=this.element;if(c){b.removeCls(c)}if(a){b.addCls(a)}},updateUi:function(e,d){var c=this.element,a=this.barEl,b=this.getBaseCls()+"-";if(d){c.removeCls(b+d);a.removeCls(b+"bar-"+d)}c.addCls(b+e);a.addCls(b+"bar-"+e)},updateBaseCls:function(b,a){this.element.addCls(b);this.barEl.addCls(b+"-bar")},updateTextCls:function(a){this.backgroundEl.addCls(a+" "+a+"-back");this.textEl.addCls(a)},updateValue:function(e,b){var d=this,a=d.barEl,c=d.getTextTpl();if(c){d.setText(c.apply({value:e,percent:Math.round(e*100)}))}if(d.getAnimate()){a.stopAnimation();a.animate(Ext.apply({from:{width:(b*100)+"%"},to:{width:(e*100)+"%"}},d.animate))}else{a.setStyle("width",(e*100)+"%")}},updateText:function(a){this.backgroundEl.setHtml(a);this.textEl.setHtml(a)}});Ext.define("Ext.util.Format",function(){var a;return{singleton:true,defaultDateFormat:"m/d/Y",thousandSeparator:",",decimalSeparator:".",currencyPrecision:2,currencySign:"$",percentSign:"%",currencyAtEnd:false,stripTagsRe:/<\/?[^>]+>/gi,stripScriptsRe:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe:/\r?\n/g,hashRe:/#+$/,allHashes:/^#+$/,formatPattern:/[\d,\.#]+/,formatCleanRe:/[^\d\.#]/g,I18NFormatCleanRe:null,formatFns:{},constructor:function(){a=this},undef:function(b){return b!==undefined?b:""},defaultValue:function(c,b){return c!==undefined&&c!==""?c:b},substr:"ab".substr(-1)!="b"?function(c,e,b){var d=String(c);return(e<0)?d.substr(Math.max(d.length+e,0),b):d.substr(e,b)}:function(c,d,b){return String(c).substr(d,b)},lowercase:function(b){return String(b).toLowerCase()},uppercase:function(b){return String(b).toUpperCase()},usMoney:function(b){return a.currency(b,"$",2)},currency:function(d,g,c,b){var j="",h=",0",e=0;d=d-0;if(d<0){d=-d;j="-"}c=Ext.isDefined(c)?c:a.currencyPrecision;h+=(c>0?".":"");for(;e<c;e++){h+="0"}d=a.number(d,h);if((b||a.currencyAtEnd)===true){return Ext.String.format("{0}{1}{2}",j,d,g||a.currencySign)}else{return Ext.String.format("{0}{1}{2}",j,g||a.currencySign,d)}},date:function(b,c){if(!b){return""}if(!Ext.isDate(b)){b=new Date(Date.parse(b))}return Ext.Date.dateFormat(b,c||Ext.Date.defaultFormat)},dateRenderer:function(b){return function(c){return a.date(c,b)}},hex:function(d,c){var b=parseInt(d||0,10).toString(16);if(c){if(c<0){c=-c;if(b.length>c){b=b.substring(b.length-c)}}while(b.length<c){b="0"+b}}return b},or:function(c,b){return c||b},pick:function(d,c,e){if(Ext.isNumber(d)){var b=arguments[d+1];if(b){return b}}return d?e:c},stripTags:function(b){return !b?b:String(b).replace(a.stripTagsRe,"")},stripScripts:function(b){return !b?b:String(b).replace(a.stripScriptsRe,"")},fileSize:(function(){var b=1024,c=1048576,d=1073741824;return function(g){var e;if(g<b){if(g===1){e="1 byte"}else{e=g+" bytes"}}else{if(g<c){e=(Math.round(((g*10)/b))/10)+" KB"}else{if(g<d){e=(Math.round(((g*10)/c))/10)+" MB"}else{e=(Math.round(((g*10)/d))/10)+" GB"}}}return e}})(),math:(function(){var b={};return function(d,c){if(!b[c]){b[c]=Ext.functionFactory("v","return v "+c+";")}return b[c](d)}}()),round:function(d,c){var b=Number(d);if(typeof c==="number"){c=Math.pow(10,c);b=Math.round(d*c)/c}else{if(c===undefined){b=Math.round(b)}}return b},number:function(m,g){if(!g){return m}if(isNaN(m)){return""}var e=a.formatFns[g];if(!e){var j=g,p=a.thousandSeparator,n=a.decimalSeparator,h=0,d="",c,k,l,o,b,i;if(g.substr(g.length-2)==="/i"){if(!a.I18NFormatCleanRe||a.lastDecimalSeparator!==n){a.I18NFormatCleanRe=new RegExp("[^\\d\\"+n+"#]","g");a.lastDecimalSeparator=n}g=g.substr(0,g.length-2);c=g.indexOf(p)!==-1;k=g.replace(a.I18NFormatCleanRe,"").split(n)}else{c=g.indexOf(",")!==-1;k=g.replace(a.formatCleanRe,"").split(".")}l=g.replace(a.formatPattern,"");if(k.length>2){}else{if(k.length===2){h=k[1].length;o=k[1].match(a.hashRe);if(o){i=o[0].length;d='trailingZeroes=new RegExp(Ext.String.escapeRegex(utilFormat.decimalSeparator) + "*0{0,'+i+'}$")'}}}b=["var utilFormat=Ext.util.Format,extNumber=Ext.Number,neg,absVal,fnum,parts"+(c?",thousandSeparator,thousands=[],j,n,i":"")+(l?',formatString="'+g+'",formatPattern=/[\\d,\\.#]+/':"")+',trailingZeroes;return function(v){if(typeof v!=="number"&&isNaN(v=extNumber.from(v,NaN)))return"";neg=v<0;',"absVal=Math.abs(v);","fnum=Ext.Number.toFixed(absVal, "+h+");",d,";"];if(c){if(h){b[b.length]='parts=fnum.split(".");';b[b.length]="fnum=parts[0];"}b[b.length]="if(absVal>=1000) {";b[b.length]="thousandSeparator=utilFormat.thousandSeparator;thousands.length=0;j=fnum.length;n=fnum.length%3||3;for(i=0;i<j;i+=n){if(i!==0){n=3;}thousands[thousands.length]=fnum.substr(i,n);}fnum=thousands.join(thousandSeparator);}";if(h){b[b.length]="fnum += utilFormat.decimalSeparator+parts[1];"}}else{if(h){b[b.length]='if(utilFormat.decimalSeparator!=="."){parts=fnum.split(".");fnum=parts[0]+utilFormat.decimalSeparator+parts[1];}'}}b[b.length]='if(neg&&fnum!=="'+(h?"0."+Ext.String.repeat("0",h):"0")+'") { fnum="-"+fnum; }';if(o){b[b.length]='fnum=fnum.replace(trailingZeroes,"");'}b[b.length]="return ";if(l){b[b.length]="formatString.replace(formatPattern, fnum);"}else{b[b.length]="fnum;"}b[b.length]="};";e=a.formatFns[j]=Ext.functionFactory("Ext",b.join(""))(Ext)}return e(m)},numberRenderer:function(b){return function(c){return a.number(c,b)}},percent:function(c,b){return a.number(c*100,b||"0")+a.percentSign},attributes:function(c){if(typeof c==="object"){var b=[],d;for(d in c){if(c.hasOwnProperty(d)){b.push(d,'="',d==="style"?Ext.DomHelper.generateStyles(c[d],null,true):Ext.htmlEncode(c[d]),'" ')}}c=b.join("")}return c||""},plural:function(b,c,d){return b+" "+(b===1?c:(d?d:c+"s"))},nl2br:function(b){return Ext.isEmpty(b)?"":b.replace(a.nl2brRe,"<br/>")},capitalize:Ext.String.capitalize,uncapitalize:Ext.String.uncapitalize,ellipsis:Ext.String.ellipsis,escape:Ext.String.escape,escapeRegex:Ext.String.escapeRegex,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,toggle:Ext.String.toggle,trim:Ext.String.trim,parseBox:function(c){c=c||0;if(typeof c==="number"){return{top:c,right:c,bottom:c,left:c}}var d=c.split(" "),b=d.length;if(b===1){d[1]=d[2]=d[3]=d[0]}else{if(b===2){d[2]=d[0];d[3]=d[1]}else{if(b===3){d[3]=d[1]}}}return{top:parseInt(d[0],10)||0,right:parseInt(d[1],10)||0,bottom:parseInt(d[2],10)||0,left:parseInt(d[3],10)||0}}}});Ext.define("Ext.Template",{inheritableStatics:{from:function(b,a){b=Ext.getDom(b);return new this(b.value||b.innerHTML,a||"")}},useEval:Ext.isGecko,constructor:function(d){var g=this,b=arguments,a=[],c,e=b.length,h;g.initialConfig={};if(e===1&&Ext.isArray(d)){b=d;e=b.length}if(e>1){for(c=0;c<e;c++){h=b[c];if(typeof h==="object"){Ext.apply(g.initialConfig,h);Ext.apply(g,h)}else{a.push(h)}}}else{a.push(d)}g.html=a.join("")},isTemplate:true,disableFormats:false,tokenRe:/\{(?:(?:(\d+)|([a-z_][\w\-]*))(?::([a-z_\.]+)(?:\(([^\)]*?)?\))?)?)\}/gi,apply:function(a){var b=this;if(b.compiled){if(!b.fn){b.compile()}return b.fn(a).join("")}return b.evaluate(a)},evaluate:function(a){var g=this,c=!g.disableFormats,e=Ext.util.Format,b=g;function d(k,j,i,l,h){if(i==null||i===""){i=j}if(l&&c){if(h){h=[a[i]].concat(Ext.functionFactory("return ["+h+"];")())}else{h=[a[i]]}if(l.substr(0,5)==="this."){return b[l.substr(5)].apply(b,h)}else{if(e[l]){return e[l].apply(e,h)}else{return k}}}else{return a[i]!==undefined?a[i]:""}}return g.html.replace(g.tokenRe,d)},applyOut:function(a,b){var c=this;if(c.compiled){if(!c.fn){c.compile()}b.push.apply(b,c.fn(a))}else{b.push(c.apply(a))}return b},applyTemplate:function(){return this.apply.apply(this,arguments)},set:function(a,c){var b=this;b.html=a;b.compiled=!!c;b.fn=null;return b},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){var b=this,a;a=b.html.replace(b.compileARe,"\\\\").replace(b.compileBRe,"\\n").replace(b.compileCRe,"\\'").replace(b.tokenRe,b.regexReplaceFn.bind(b));a=(this.disableFormats!==true?"var fm=Ext.util.Format;":"")+(b.useEval?"$=":"return")+" function(v){return ['"+a+"'];};";b.fn=b.useEval?b.evalCompiled(a):(new Function("Ext",a))(Ext);b.compiled=true;return b},evalCompiled:function($){eval($);return $},regexReplaceFn:function(d,c,b,e,a){if(c==null||c===""){c='"'+b+'"'}else{if(this.stringFormat){c=parseInt(c)+1}}if(e&&this.disableFormats!==true){a=a?","+a:"";if(e.substr(0,5)==="this."){e=e+"("}else{if(Ext.util.Format[e]){e="fm."+e+"("}else{return d}}return"',"+e+"v["+c+"]"+a+"),'"}else{return"',v["+c+"] == undefined ? '' : v["+c+"],'"}},insertFirst:function(b,a,c){return this.doInsert("afterBegin",b,a,c)},insertBefore:function(b,a,c){return this.doInsert("beforeBegin",b,a,c)},insertAfter:function(b,a,c){return this.doInsert("afterEnd",b,a,c)},append:function(b,a,c){return this.doInsert("beforeEnd",b,a,c)},doInsert:function(b,d,a,e){var c=Ext.DomHelper.insertHtml(b,Ext.getDom(d),this.apply(a));return e?Ext.get(c):c},overwrite:function(c,a,d){var b=Ext.DomHelper.overwrite(Ext.getDom(c),this.apply(a));return d?Ext.get(b):b}},function(d){var c=/\{\d+\}/,a=function(g){if(c.test(g)){g=new d(g,b);return function(){return g.apply(arguments)}}else{return function(){return g}}},b={useFormat:false,compiled:true,stringFormat:true},e={};Ext.String.format=Ext.util.Format.format=function(h){var g=e[h]||(e[h]=a(h));return g.apply(this,arguments)};Ext.String.formatEncode=function(){return Ext.String.htmlEncode(Ext.String.format.apply(this,arguments))}});Ext.define("Ext.util.XTemplateParser",{constructor:function(a){Ext.apply(this,a)},doTpl:Ext.emptyFn,parse:function(n){var w=this,q=n.length,p={elseif:"elif"},r=w.topRe,c=w.actionsRe,e,d,j,o,h,k,i,v,u,b,g,a,l;w.level=0;w.stack=d=[];for(e=0;e<q;e=b){r.lastIndex=e;o=r.exec(n);if(!o){w.doText(n.substring(e,q));break}u=o.index;b=r.lastIndex;if(e<u){j=n.substring(e,u);if(!(l&&Ext.String.trim(j)==="")){w.doText(j)}}l=false;if(o[1]){b=n.indexOf("%}",u+2);w.doEval(n.substring(u+2,b));b+=2}else{if(o[2]){b=n.indexOf("]}",u+2);w.doExpr(n.substring(u+2,b));b+=2}else{if(o[3]){w.doTag(o[3])}else{if(o[4]){g=null;while((v=c.exec(o[4]))!==null){j=v[2]||v[3];if(j){j=Ext.String.htmlDecode(j);h=v[1];h=p[h]||h;g=g||{};k=g[h];if(typeof k=="string"){g[h]=[k,j]}else{if(k){g[h].push(j)}else{g[h]=j}}}}if(!g){if(w.elseRe.test(o[4])){w.doElse()}else{if(w.defaultRe.test(o[4])){w.doDefault()}else{w.doTpl();d.push({type:"tpl"})}}}else{if(g["if"]){w.doIf(g["if"],g);d.push({type:"if"})}else{if(g["switch"]){w.doSwitch(g["switch"],g);d.push({type:"switch"});l=true}else{if(g["case"]){w.doCase(g["case"],g)}else{if(g.elif){w.doElseIf(g.elif,g)}else{if(g["for"]){++w.level;if(a=w.propRe.exec(o[4])){g.propName=a[1]||a[2]}w.doFor(g["for"],g);d.push({type:"for",actions:g})}else{if(g.foreach){++w.level;if(a=w.propRe.exec(o[4])){g.propName=a[1]||a[2]}w.doForEach(g.foreach,g);d.push({type:"foreach",actions:g})}else{if(g.exec){w.doExec(g.exec,g);d.push({type:"exec",actions:g})}}}}}}}}}else{if(o[0].length===5){d.push({type:"tpl"})}else{i=d.pop();w.doEnd(i.type,i.actions);if(i.type=="for"||i.type=="foreach"){--w.level}}}}}}}},topRe:/(?:(\{\%)|(\{\[)|\{([^{}]+)\})|(?:<tpl([^>]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|foreach|exec|switch|case|eval|between)\s*\=\s*(?:(?:"([^"]*)")|(?:'([^']*)'))\s*/g,propRe:/prop=(?:(?:"([^"]*)")|(?:'([^']*)'))/,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/});Ext.define("Ext.util.XTemplateCompiler",{extend:Ext.util.XTemplateParser,useEval:Ext.isGecko,useIndex:Ext.isIE8m,useFormat:true,propNameRe:/^[\w\d\$]*$/,compile:function(a){var c=this,b=c.generate(a);return c.useEval?c.evalTpl(b):(new Function("Ext",b))(Ext)},generate:function(a){var d=this,b="var fm=Ext.util.Format,ts=Object.prototype.toString;",c;d.maxLevel=0;d.body=["var c0=values, a0="+d.createArrayTest(0)+", p0=parent, n0=xcount, i0=xindex, k0, v;\n"];if(d.definitions){if(typeof d.definitions==="string"){d.definitions=[d.definitions,b]}else{d.definitions.push(b)}}else{d.definitions=[b]}d.switches=[];d.parse(a);d.definitions.push((d.useEval?"$=":"return")+" function ("+d.fnArgs+") {",d.body.join(""),"}");c=d.definitions.join("\n");d.definitions.length=d.body.length=d.switches.length=0;delete d.definitions;delete d.body;delete d.switches;return c},doText:function(c){var b=this,a=b.body;c=c.replace(b.aposRe,"\\'").replace(b.newLineRe,"\\n");if(b.useIndex){a.push("out[out.length]='",c,"'\n")}else{a.push("out.push('",c,"')\n")}},doExpr:function(b){var a=this.body;a.push("if ((v="+b+") != null) out");if(this.useIndex){a.push("[out.length]=v+''\n")}else{a.push(".push(v+'')\n")}},doTag:function(a){var b=this.parseTag(a);if(b){this.doExpr(b)}else{this.doText("{"+a+"}")}},doElse:function(){this.body.push("} else {\n")},doEval:function(a){this.body.push(a,"\n")},doIf:function(b,c){var a=this;if(b==="."){a.body.push("if (values) {\n")}else{if(a.propNameRe.test(b)){a.body.push("if (",a.parseTag(b),") {\n")}else{a.body.push("if (",a.addFn(b),a.callFn,") {\n")}}if(c.exec){a.doExec(c.exec)}},doElseIf:function(b,c){var a=this;if(b==="."){a.body.push("else if (values) {\n")}else{if(a.propNameRe.test(b)){a.body.push("} else if (",a.parseTag(b),") {\n")}else{a.body.push("} else if (",a.addFn(b),a.callFn,") {\n")}}if(c.exec){a.doExec(c.exec)}},doSwitch:function(c){var b=this,a;if(c==="."||c==="#"){a=c==="."?"values":"xindex";b.body.push("switch (",a,") {\n")}else{if(b.propNameRe.test(c)){b.body.push("switch (",b.parseTag(c),") {\n")}else{b.body.push("switch (",b.addFn(c),b.callFn,") {\n")}}b.switches.push(0)},doCase:function(e){var d=this,c=Ext.isArray(e)?e:[e],g=d.switches.length-1,a,b;if(d.switches[g]){d.body.push("break;\n")}else{d.switches[g]++}for(b=0,g=c.length;b<g;++b){a=d.intRe.exec(c[b]);c[b]=a?a[1]:("'"+c[b].replace(d.aposRe,"\\'")+"'")}d.body.push("case ",c.join(": case "),":\n")},doDefault:function(){var a=this,b=a.switches.length-1;if(a.switches[b]){a.body.push("break;\n")}else{a.switches[b]++}a.body.push("default:\n")},doEnd:function(b,d){var c=this,a=c.level-1;if(b=="for"||b=="foreach"){if(d.exec){c.doExec(d.exec)}c.body.push("}\n");c.body.push("parent=p",a,";values=r",a+1,";xcount=n"+a+";xindex=i",a,"+1;xkey=k",a,";\n")}else{if(b=="if"||b=="switch"){c.body.push("}\n")}}},doFor:function(e,h){var d=this,c,b=d.level,a=b-1,g;if(e==="."){c="values"}else{if(d.propNameRe.test(e)){c=d.parseTag(e)}else{c=d.addFn(e)+d.callFn}}if(d.maxLevel<b){d.maxLevel=b;d.body.push("var ")}if(e=="."){g="c"+b}else{g="a"+a+"?c"+a+"[i"+a+"]:c"+a}d.body.push("i",b,"=0,n",b,"=0,c",b,"=",c,",a",b,"=",d.createArrayTest(b),",r",b,"=values,p",b,",k",b,";\n","p",b,"=parent=",g,"\n","if (c",b,"){if(a",b,"){n",b,"=c",b,".length;}else if (c",b,".isMixedCollection){c",b,"=c",b,".items;n",b,"=c",b,".length;}else if(c",b,".isStore){c",b,"=c",b,".data.items;n",b,"=c",b,".length;}else{c",b,"=[c",b,"];n",b,"=1;}}\n","for (xcount=n",b,";i",b,"<n"+b+";++i",b,"){\n","values=c",b,"[i",b,"]");if(h.propName){d.body.push(".",h.propName)}d.body.push("\n","xindex=i",b,"+1\n");if(h.between){d.body.push('if(xindex>1){ out.push("',h.between,'"); } \n')}},doForEach:function(e,h){var d=this,c,b=d.level,a=b-1,g;if(e==="."){c="values"}else{if(d.propNameRe.test(e)){c=d.parseTag(e)}else{c=d.addFn(e)+d.callFn}}if(d.maxLevel<b){d.maxLevel=b;d.body.push("var ")}if(e=="."){g="c"+b}else{g="a"+a+"?c"+a+"[i"+a+"]:c"+a}d.body.push("i",b,"=-1,n",b,"=0,c",b,"=",c,",a",b,"=",d.createArrayTest(b),",r",b,"=values,p",b,",k",b,";\n","p",b,"=parent=",g,"\n","for(k",b," in c",b,"){\n","xindex=++i",b,"+1;\n","xkey=k",b,";\n","values=c",b,"[k",b,"];");if(h.propName){d.body.push(".",h.propName)}if(h.between){d.body.push('if(xindex>1){ out.push("',h.between,'"); } \n')}},createArrayTest:("isArray" in Array)?function(a){return"Array.isArray(c"+a+")"}:function(a){return"ts.call(c"+a+')==="[object Array]"'},doExec:function(d,e){var c=this,a="f"+c.definitions.length,b=c.guards[c.strict?0:1];c.definitions.push("function "+a+"("+c.fnArgs+") {",b.doTry," var $v = values; with($v) {"," "+d," }",b.doCatch,"}");c.body.push(a+c.callFn+"\n")},guards:[{doTry:"",doCatch:""},{doTry:"try { ",doCatch:" } catch(e) {\n}"}],addFn:function(a){var d=this,b="f"+d.definitions.length,c=d.guards[d.strict?0:1];if(a==="."){d.definitions.push("function "+b+"("+d.fnArgs+") {"," return values","}")}else{if(a===".."){d.definitions.push("function "+b+"("+d.fnArgs+") {"," return parent","}")}else{d.definitions.push("function "+b+"("+d.fnArgs+") {",c.doTry," var $v = values; with($v) {"," return("+a+")"," }",c.doCatch,"}")}}return b},parseTag:function(b){var h=this,a=h.tagRe.exec(b),e,i,d,g,c;if(!a){return null}e=a[1];i=a[2];d=a[3];g=a[4];if(e=="."){if(!h.validTypes){h.definitions.push("var validTypes={string:1,number:1,boolean:1};");h.validTypes=true}c='validTypes[typeof values] || ts.call(values) === "[object Date]" ? values : ""'}else{if(e=="#"){c="xindex"}else{if(e=="$"){c="xkey"}else{if(e.substr(0,7)=="parent."){c=e}else{if(isNaN(e)&&e.indexOf("-")==-1&&e.indexOf(".")!=-1){c="values."+e}else{c="values['"+e+"']"}}}}}if(g){c="("+c+g+")"}if(i&&h.useFormat){d=d?","+d:"";if(i.substr(0,5)!="this."){i="fm."+i+"("}else{i+="("}}else{return c}return i+c+d+")"},evalTpl:function($){eval($);return $},newLineRe:/\r\n|\r|\n/g,aposRe:/[']/g,intRe:/^\s*(\d+)\s*$/,tagRe:/^([\w-\.\#\$]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?$/},function(){var a=this.prototype;a.fnArgs="out,values,parent,xindex,xcount,xkey";a.callFn=".call(this,"+a.fnArgs+")"});Ext.define("Ext.XTemplate",{extend:Ext.Template,isXTemplate:true,emptyObj:{},fn:null,strict:false,apply:function(a,b,c,d){return this.applyOut(a,[],b,c,d).join("")},applyOut:function(a,b,d,h,j){var g=this,c;if(!g.fn){c=new Ext.util.XTemplateCompiler({useFormat:g.disableFormats!==true,definitions:g.definitions,strict:g.strict});g.fn=c.compile(g.html)}h=h||1;j=j||1;if(g.strict){g.fn(b,a,d||g.emptyObj,h,j)}else{try{g.fn(b,a,d||g.emptyObj,h,j)}catch(i){}}return b},compile:function(){return this},statics:{getTpl:function(b,d){var c=b[d],a;if(c&&!c.isTemplate){c=Ext.ClassManager.dynInstantiate("Ext.XTemplate",c);if(b.hasOwnProperty(d)){a=b}else{for(a=b.self.prototype;a&&!a.hasOwnProperty(d);a=a.superclass){}}a[d]=c;c.owner=a}return c||null}}});Ext.define("Ext.app.EventDomain",{statics:{instances:{}},isEventDomain:true,isInstance:false,constructor:function(){var a=this;if(!a.isInstance){Ext.app.EventDomain.instances[a.type]=a}a.bus={};a.monitoredClasses=[]},dispatch:function(j,n,l){n=Ext.canonicalEventName(n);var m=this,k=m.bus,o=k[n],e,c,b,d,p,h,g,a;if(!o){return true}for(e in o){if(o.hasOwnProperty(e)&&m.match(j,e,m.controller)){c=o[e];for(b in c){if(c.hasOwnProperty(b)){d=c[b];if(d.controller.isActive()){p=d.list;h=p.length;for(g=0;g<h;g++){a=p[g];if(a.fire.apply(a,l)===false){return false}}}}}}}return true},listen:function(d,n){var w=this,m=w.bus,h=w.idProperty,j=w.monitoredClasses,e=j.length,l=n.getId(),v=(w.type==="component"),q=v?n.getRefMap():null,s,k,t,r,b,c,a,p,o,u,g;for(r in d){o=d[r];if(v){r=q[r]||r}if(o){if(h){r=r==="*"?r:r.substring(1)}for(u in o){b=null;c=o[u];a=n;u=Ext.canonicalEventName(u);p=new Ext.util.Event(n,u);if(Ext.isObject(c)){b=c;c=b.fn;a=b.scope||n;delete b.fn;delete b.scope}if(typeof c==="string"){c=a[c]}p.addListener(c,a,b);for(s=0;s<e;++s){g=j[s].hasListeners;if(g){g._incr_(u)}}k=m[u]||(m[u]={});k=k[r]||(k[r]={});t=k[l]||(k[l]={controller:n,list:[]});t.list.push(p)}}}},match:function(c,a){var b=this.idProperty;if(b){return a==="*"||c[b]===a}return false},monitor:function(c){var b=this,a=c.isInstance?c:c.prototype,d=a.doFireEvent;b.monitoredClasses.push(c);a.doFireEvent=function(h,g){var e=d.apply(this,arguments);if(e!==false&&!this.isSuspended(h)){e=b.dispatch(this,h,g)}return e}},unlisten:function(d){var n=this.bus,a=d,r=this.monitoredClasses,l=r.length,b,o,s,m,q,e,p,k,h,c,g;if(d.isController){a=d.getId()}for(o in n){o=Ext.canonicalEventName(o);if(n.hasOwnProperty(o)&&(p=n[o])){for(e in p){b=p[e];c=b[a];if(c){s=c.list;if(s){for(k=0,m=s.length;k<m;++k){q=s[k];q.clearListeners();for(h=0;h<l;++h){g=r[h].hasListeners;if(g){g._decr_(q.name)}}}delete b[a]}}}}}},destroy:function(){this.monitoredClasses=this.bus=null;this.callParent()}});Ext.define("Ext.app.domain.Component",{extend:Ext.app.EventDomain,singleton:true,type:"component",constructor:function(){this.callParent();this.monitor(Ext.Widget)},dispatch:function(g,d,c){var b=g.lookupController(false),e,a;while(b){e=b.compDomain;if(e){if(e.dispatch(g,d,c)===false){return false}}a=b.getView();b=a?a.lookupController(true):null}return this.callParent(arguments)},match:function(b,a){return b.is(a)}});Ext.define("Ext.app.EventBus",{singleton:true,constructor:function(){var b=this,a=Ext.app.EventDomain.instances;b.callParent();b.domains=a;b.bus=a.component.bus},control:function(b,a){return this.domains.component.listen(b,a)},listen:function(d,b){var a=this.domains,c;for(c in d){if(d.hasOwnProperty(c)){a[c].listen(d[c],b)}}},unlisten:function(c){var a=Ext.app.EventDomain.instances,b;for(b in a){a[b].unlisten(c)}}});Ext.define("Ext.app.domain.Global",{extend:Ext.app.EventDomain,singleton:true,type:"global",constructor:function(){var a=this;a.callParent();a.monitor(Ext.GlobalEvents)},listen:function(b,a){this.callParent([{global:b},a])},match:Ext.returnTrue});Ext.define("Ext.app.BaseController",{mixins:[Ext.mixin.Observable],isController:true,config:{id:null,control:null,listen:null,routes:null,before:null},constructor:function(a){var b=this;Ext.apply(b,a);delete b.control;delete b.listen;b.eventbus=Ext.app.EventBus;b.mixins.observable.constructor.call(b,a);b.ensureId()},applyListen:function(a){if(Ext.isObject(a)){a=Ext.clone(a)}return a},applyControl:function(a){if(Ext.isObject(a)){a=Ext.clone(a)}return a},updateControl:function(a){this.ensureId();if(a){this.control(a)}},updateListen:function(a){this.ensureId();if(a){this.listen(a)}},updateRoutes:function(b){if(b){var e=this,g=e.getBefore()||{},a=Ext.app.route.Router,d,c,h;for(d in b){c=b[d];if(Ext.isString(c)){c={action:c}}h=c.action;if(!c.before){c.before=g[h]}a.connect(d,c,e)}}},isActive:function(){return true},control:function(b,c,a){var d=this,e=a,g;if(Ext.isString(b)){g={};g[b]=c}else{g=b;e=c}d.eventbus.control(g,e||d)},listen:function(b,a){this.eventbus.listen(b,a||this)},destroy:function(){var b=this,a=b.eventbus;Ext.app.route.Router.disconnectAll(b);if(a){a.unlisten(b);b.eventbus=null}b.callParent()},redirectTo:function(b,c){if(b.isModel){b=b.toUrl()}if(!c){var a=Ext.util.History.getToken();if(a===b){return false}}else{Ext.app.route.Router.onStateChange(b)}Ext.util.History.add(b);return true}});Ext.define("Ext.app.Util",{},function(){Ext.apply(Ext.app,{namespaces:{Ext:{}},addNamespaces:function(c){var d=Ext.app.namespaces,b,a;if(!Ext.isArray(c)){c=[c]}for(b=0,a=c.length;b<a;b++){d[c[b]]=true}},clearNamespaces:function(){Ext.app.namespaces={}},getNamespace:function(b){var d=Ext.apply({},Ext.ClassManager.paths,Ext.app.namespaces),a="",c;for(c in d){if(d.hasOwnProperty(c)&&c.length>a.length&&(c+"."===b.substring(0,c.length+1))){a=c}}return a===""?undefined:a},setupPaths:function(a,b,e){var d=Ext.manifest,c;if(a&&b!==null){d=d&&d.paths;if(!d||b!==undefined){Ext.Loader.setPath(a,(b===undefined)?"app":b)}}if(e){for(c in e){if(e.hasOwnProperty(c)){Ext.Loader.setPath(c,e[c])}}}}});Ext.getNamespace=Ext.app.getNamespace});Ext.define("Ext.util.Filter",{isFilter:true,config:{property:null,value:null,filterFn:null,id:null,anyMatch:false,exactMatch:false,caseSensitive:false,disabled:false,disableOnEmpty:false,operator:null,root:null,serializer:null,convert:null},scope:null,$configStrict:false,statics:{createFilterFn:function(a){if(!a){return Ext.returnTrue}return function(g){var b=a.isCollection?a.items:a,h=b.length,c=true,d,e;for(d=0;c&&d<h;d++){e=b[d];if(!e.getDisabled()){c=e.filter(g)}}return c}},isInvalid:function(a){if(!a.filterFn){if(!a.property){return"A Filter requires either a property or a filterFn to be set"}if(!a.hasOwnProperty("value")&&!a.operator){return"A Filter requires either a property and value, or a filterFn to be set"}}return false}},constructor:function(a){this.initConfig(a)},preventConvert:{"in":1,notin:1},filter:function(b){var a=this,e=a._filterFn||a.getFilterFn(),d=a.getConvert(),c=a._value;a._filterValue=c;a.isDateValue=Ext.isDate(c);if(a.isDateValue){a.dateValue=c.getTime()}if(d&&!a.preventConvert[a.getOperator()]){a._filterValue=d.call(a.scope||a,c)}return e.call(a.scope||a,b)},getId:function(){var a=this._id;if(!a){a=this.getProperty();if(!a){a=Ext.id(null,"ext-filter-")}this._id=a}return a},getFilterFn:function(){var b=this,c=b._filterFn,a;if(!c){a=b.getOperator();if(a){c=b.operatorFns[a]}else{c=b.createRegexFilter()}b._filterFn=c}return c},createRegexFilter:function(){var b=this,e=!!b.getAnyMatch(),a=!!b.getExactMatch(),c=b.getValue(),d=Ext.String.createRegex(c,!e,!e&&a,!b.getCaseSensitive());return function(g){var h=b.getPropertyValue(g);return d?d.test(h):(h==null)}},getPropertyValue:function(b){var a=this._root,c=(a==null)?b:b[a];return c[this._property]},getState:function(){var c=this.getInitialConfig(),a={},b;for(b in c){if(c.hasOwnProperty(b)){a[b]=c[b]}}delete a.root;a.value=this.getValue();return a},getScope:function(){return this.scope},serialize:function(){var a=this.getState(),b=this.getSerializer();delete a.id;delete a.serializer;if(b){b.call(this,a)}return a},updateOperator:function(){this._filterFn=null},updateValue:function(a){this._filterFn=null;if(this.getDisableOnEmpty()){this.setDisabled(Ext.isEmpty(a))}},updateDisableOnEmpty:function(a){var b=false;if(a){b=Ext.isEmpty(this.getValue())}this.setDisabled(b)},privates:{getCandidateValue:function(c,b,e){var d=this,g=d._convert,a=d.getPropertyValue(c);if(g){a=g.call(d.scope||d,a)}else{if(!e){a=Ext.coerce(a,b)}}return a}}},function(){var a=this.prototype,b=(a.operatorFns={"<":function(d){var c=this._filterValue;return this.getCandidateValue(d,c)<c},"<=":function(d){var c=this._filterValue;return this.getCandidateValue(d,c)<=c},"=":function(d){var e=this,c=e._filterValue;d=e.getCandidateValue(d,c);if(e.isDateValue&&d instanceof Date){d=d.getTime();c=e.dateValue}return d==c},"===":function(d){var e=this,c=e._filterValue;d=e.getCandidateValue(d,c,true);if(e.isDateValue&&d instanceof Date){d=d.getTime();c=e.dateValue}return d===c},">=":function(d){var c=this._filterValue;return this.getCandidateValue(d,c)>=c},">":function(d){var c=this._filterValue;return this.getCandidateValue(d,c)>c},"!=":function(d){var e=this,c=e._filterValue;d=e.getCandidateValue(d,c);if(e.isDateValue&&d instanceof Date){d=d.getTime();c=e.dateValue}return d!=c},"!==":function(d){var e=this,c=e._filterValue;d=e.getCandidateValue(d,c,true);if(e.isDateValue&&d instanceof Date){d=d.getTime();c=e.dateValue}return d!==c},"in":function(d){var c=this._filterValue;return Ext.Array.contains(c,this.getCandidateValue(d,c))},notin:function(d){var c=this._filterValue;return !Ext.Array.contains(c,this.getCandidateValue(d,c))},like:function(d){var c=this._filterValue;return c&&this.getCandidateValue(d,c).toLowerCase().indexOf(c.toLowerCase())>-1}});b["=="]=b["="];b.gt=b[">"];b.ge=b[">="];b.lt=b["<"];b.le=b["<="];b.eq=b["="];b.ne=b["!="]});Ext.define("Ext.util.Observable",{extend:Ext.mixin.Observable,$applyConfigs:true},function(a){var b=Ext.mixin.Observable;a.releaseCapture=b.releaseCapture;a.capture=b.capture;a.captureArgs=b.captureArgs;a.observe=a.observeClass=b.observe});Ext.define("Ext.util.AbstractMixedCollection",{mixins:{observable:Ext.util.Observable},isMixedCollection:true,generation:0,indexGeneration:0,constructor:function(b,a){var c=this;if(arguments.length===1&&Ext.isObject(b)){c.initialConfig=b;Ext.apply(c,b)}else{c.allowFunctions=b===true;if(a){c.getKey=a}c.initialConfig={allowFunctions:c.allowFunctions,getKey:c.getKey}}c.items=[];c.map={};c.keys=[];c.indexMap={};c.length=0;c.mixins.observable.constructor.call(c)},destroy:function(){var a=this;a.items=a.map=a.keys=a.indexMap=null;a.callParent()},allowFunctions:false,add:function(c,d){var a=this.length,b;if(arguments.length===1){b=this.insert(a,c)}else{b=this.insert(a,c,d)}return b},getKey:function(a){return a.id},replace:function(c,e){var d=this,a,b;if(arguments.length==1){e=arguments[0];c=d.getKey(e)}a=d.map[c];if(typeof c=="undefined"||c===null||typeof a=="undefined"){return d.add(c,e)}d.generation++;b=d.indexOfKey(c);d.items[b]=e;d.map[c]=e;if(d.hasListeners.replace){d.fireEvent("replace",c,a,e)}return e},reorder:function(d){var h=this,b=h.items,c=0,g=b.length,a=[],e=[],i;h.suspendEvents();for(i in d){a[d[i]]=b[i]}for(c=0;c<g;c++){if(d[c]==undefined){e.push(b[c])}}for(c=0;c<g;c++){if(a[c]==undefined){a[c]=e.shift()}}h.clear();h.addAll(a);h.resumeEvents()},updateKey:function(g,h){var d=this,e=d.map,a=d.indexOfKey(g),c=d.indexMap,b;if(a>-1){b=e[g];delete e[g];delete c[g];e[h]=b;c[h]=a;d.keys[a]=h;d.indexGeneration=++d.generation}},addAll:function(c){var b=this,a;if(arguments.length>1||Ext.isArray(c)){b.insert(b.length,arguments.length>1?arguments:c)}else{for(a in c){if(c.hasOwnProperty(a)){if(b.allowFunctions||typeof c[a]!="function"){b.add(a,c[a])}}}}},each:function(e,d){var b=Ext.Array.push([],this.items),c=0,a=b.length,g;for(;c<a;c++){g=b[c];if(e.call(d||g,g,c,a)===false){break}}},eachKey:function(e,d){var g=this.keys,b=this.items,c=0,a=g.length;for(;c<a;c++){e.call(d||window,g[c],b[c],c,a)}},findBy:function(e,d){var g=this.keys,b=this.items,c=0,a=b.length;for(;c<a;c++){if(e.call(d||window,b[c],g[c])){return b[c]}}return null},insert:function(b,c,d){var a;if(Ext.isIterable(c)){a=this.doInsert(b,c,d)}else{if(arguments.length>2){a=this.doInsert(b,[c],[d])}else{a=this.doInsert(b,[c])}a=a[0]}return a},doInsert:function(j,o,n){var l=this,b,c,g,k=o.length,a=k,e=l.hasListeners.add,d,h={},m,q,p;if(n!=null){l.useLinearSearch=true}else{n=o;o=new Array(k);for(g=0;g<k;g++){o[g]=this.getKey(n[g])}}l.suspendEvents();for(g=0;g<k;g++){b=o[g];c=l.indexOfKey(b);if(c!==-1){if(c<j){j--}l.removeAt(c)}if(b!=null){if(h[b]!=null){m=true;a--}h[b]=g}}l.resumeEvents();if(m){q=o;p=n;o=new Array(a);n=new Array(a);g=0;for(b in h){o[g]=q[h[b]];n[g]=p[h[b]];g++}k=a}d=j===l.length&&l.indexGeneration===l.generation;Ext.Array.insert(l.items,j,n);Ext.Array.insert(l.keys,j,o);l.length+=k;l.generation++;if(d){l.indexGeneration=l.generation}for(g=0;g<k;g++,j++){b=o[g];if(b!=null){l.map[b]=n[g];if(d){l.indexMap[b]=j}}if(e){l.fireEvent("add",j,n[g],b)}}return n},remove:function(d){var c=this,b,a;if(!c.useLinearSearch&&(b=c.getKey(d))){a=c.indexOfKey(b)}else{a=Ext.Array.indexOf(c.items,d)}return(a===-1)?false:c.removeAt(a)},removeAll:function(a){var c=this,b;if(a||c.hasListeners.remove){if(a){for(b=a.length-1;b>=0;--b){c.remove(a[b])}}else{while(c.length){c.removeAt(0)}}}else{c.length=c.items.length=c.keys.length=0;c.map={};c.indexMap={};c.generation++;c.indexGeneration=c.generation}},removeAt:function(a){var c=this,d,b;if(a<c.length&&a>=0){c.length--;d=c.items[a];Ext.Array.erase(c.items,a,1);b=c.keys[a];if(typeof b!="undefined"){delete c.map[b]}Ext.Array.erase(c.keys,a,1);if(c.hasListeners.remove){c.fireEvent("remove",d,b)}c.generation++;return d}return false},removeRange:function(h,a){var j=this,b,k,g,e,c,d;if(h<j.length&&h>=0){if(!a){a=1}e=Math.min(h+a,j.length);a=e-h;d=e===j.length;c=d&&j.indexGeneration===j.generation;for(g=h;g<e;g++){k=j.keys[g];if(k!=null){delete j.map[k];if(c){delete j.indexMap[k]}}}b=j.items[g-1];j.length-=a;j.generation++;if(c){j.indexGeneration=j.generation}if(d){j.items.length=j.keys.length=j.length}else{j.items.splice(h,a);j.keys.splice(h,a)}return b}return false},removeAtKey:function(b){var d=this,c=d.keys,a;if(b==null){for(a=c.length-1;a>=0;a--){if(c[a]==null){d.removeAt(a)}}}else{return d.removeAt(d.indexOfKey(b))}},getCount:function(){return this.length},indexOf:function(c){var b=this,a;if(c!=null){if(!b.useLinearSearch&&(a=b.getKey(c))){return this.indexOfKey(a)}return Ext.Array.indexOf(b.items,c)}return -1},indexOfKey:function(a){if(!this.map.hasOwnProperty(a)){return -1}if(this.indexGeneration!==this.generation){this.rebuildIndexMap()}return this.indexMap[a]},rebuildIndexMap:function(){var e=this,d=e.indexMap={},c=e.keys,a=c.length,b;for(b=0;b<a;b++){d[c[b]]=b}e.indexGeneration=e.generation},get:function(b){var d=this,a=d.map[b],c=a!==undefined?a:(typeof b=="number")?d.items[b]:undefined;return typeof c!="function"||d.allowFunctions?c:null},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},contains:function(c){var b=this,a;if(c!=null){if(!b.useLinearSearch&&(a=b.getKey(c))){return this.map[a]!=null}return Ext.Array.indexOf(this.items,c)!==-1}return false},containsKey:function(a){return this.map.hasOwnProperty(a)},clear:function(){var a=this;if(a.generation){a.length=0;a.items=[];a.keys=[];a.map={};a.indexMap={};a.generation++;a.indexGeneration=a.generation}if(a.hasListeners.clear){a.fireEvent("clear")}},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(h,b,j,a){var c=this.extractValues(h,b),g=c.length,e=0,d;j=j||0;a=(a||a===0)?a:g-1;for(d=j;d<=a;d++){e+=c[d]}return e},collect:function(k,e,h){var l=this.extractValues(k,e),a=l.length,b={},c=[],j,g,d;for(d=0;d<a;d++){j=l[d];g=String(j);if((h||!Ext.isEmpty(j))&&!b[g]){b[g]=true;c.push(j)}}return c},extractValues:function(c,a){var b=this.items;if(a){b=Ext.Array.pluck(b,a)}return Ext.Array.pluck(b,c)},hasRange:function(b,a){return(a<this.length)},getRange:function(i,b){var h=this,d=h.items,c=[],a=d.length,g,e;if(a<1){return c}if(i>b){e=true;g=i;i=b;b=g}if(i<0){i=0}if(b==null||b>=a){b=a-1}c=d.slice(i,b+1);if(e&&c.length){c.reverse()}return c},filter:function(d,c,e,a){var b=[];if(Ext.isString(d)){b.push(new Ext.util.Filter({property:d,value:c,anyMatch:e,caseSensitive:a}))}else{if(Ext.isArray(d)||d instanceof Ext.util.Filter){b=b.concat(d)}}return this.filterBy(Ext.util.Filter.createFilterFn(b))},filterBy:function(e,d){var j=this,a=new j.self(j.initialConfig),h=j.keys,b=j.items,g=b.length,c;a.getKey=j.getKey;for(c=0;c<g;c++){if(e.call(d||j,b[c],h[c])){a.add(h[c],b[c])}}a.useLinearSearch=j.useLinearSearch;return a},findIndex:function(c,b,e,d,a){if(Ext.isEmpty(b,false)){return -1}b=this.createValueMatcher(b,d,a);return this.findIndexBy(function(g){return g&&b.test(g[c])},null,e)},findIndexBy:function(e,d,j){var h=this,g=h.keys,b=h.items,c=j||0,a=b.length;for(;c<a;c++){if(e.call(d||h,b[c],g[c])){return c}}return -1},createValueMatcher:function(c,e,a,b){if(!c.exec){var d=Ext.String.escapeRegex;c=String(c);if(e===true){c=d(c)}else{c="^"+d(c);if(b===true){c+="$"}}c=new RegExp(c,a?"":"i")}return c},clone:function(){var a=this,b=new a.self(a.initialConfig);b.add(a.keys,a.items);b.useLinearSearch=a.useLinearSearch;return b}});Ext.define("Ext.util.Sorter",{isSorter:true,config:{property:null,sorterFn:null,root:null,transform:null,direction:"ASC",id:undefined},statics:{createComparator:function(b,a){a=a||0;return function(c,j){var e=b.isCollection?b.items:b,h=e.length,d,g;for(g=0;g<h;++g){d=e[g].sort(c,j);if(d){return d}}return a&&a(c,j)}}},multiplier:1,constructor:function(a){this.initConfig(a)},getId:function(){var a=this._id;if(!a){a=this.getProperty();if(!a){a=Ext.id(null,"ext-sorter-")}this._id=a}return a},sort:function(a,b){return this.multiplier*this.sortFn(a,b)},sortFn:function(d,c){var g=this,e=g._transform,b=g._root,h=g._property,a,i;if(b){d=d[b];c=c[b]}a=d[h];i=c[h];if(e){a=e(a);i=e(i)}return(a>i)?1:(a<i?-1:0)},applyDirection:function(a){return a?a:"ASC"},updateDirection:function(a){this.multiplier=(a.toUpperCase()==="DESC")?-1:1},updateProperty:function(a){if(a){delete this.sortFn}},updateSorterFn:function(a){this.sortFn=a},toggle:function(){this.setDirection(Ext.String.toggle(this.getDirection(),"ASC","DESC"))},getState:function(){var b=this,a={root:b.getRoot(),property:b.getProperty(),direction:b.getDirection()};if(b._id){a.id=b._id}return a},serialize:function(){return{property:this.getProperty(),direction:this.getDirection()}}});Ext.define("Ext.util.Sortable",{isSortable:true,$configPrefixed:false,$configStrict:false,config:{sorters:null},defaultSortDirection:"ASC",multiSortLimit:3,statics:{createComparator:function(a){return a&&a.length?function(d,c){var b=a[0].sort(d,c),g=a.length,e=1;for(;!b&&e<g;e++){b=a[e].sort.call(a[e],d,c)}return b}:function(){return 0}}},applySorters:function(c){var b=this,a=b.getSorters()||new Ext.util.MixedCollection(false,Ext.returnId);if(c){a.addAll(b.decodeSorters(c))}return a},sort:function(h,g,a,e){var b=this,i,d,c=b.getSorters();if(!c){b.setSorters(null);c=b.getSorters()}if(Ext.isArray(h)){e=a;a=g}else{if(Ext.isObject(h)){h=[h];e=a;a=g}else{if(Ext.isString(h)){i=c.get(h);if(!i){i={property:h,direction:g}}else{if(g==null){i.toggle()}else{i.setDirection(g)}}h=[i]}}}if(h&&h.length){h=b.decodeSorters(h);switch(a){case"multi":c.insert(0,h[0]);d=c.getCount()-b.multiSortLimit;if(d>0){c.removeRange(b.multiSortLimit,d)}break;case"prepend":c.insert(0,h);break;case"append":c.addAll(h);break;case undefined:case null:case"replace":c.clear();c.addAll(h);break;default:}}if(e!==false){b.fireEvent("beforesort",b,h);b.onBeforeSort(h);if(b.getSorterCount()){b.doSort(b.generateComparator())}}return h},getSorterCount:function(){return this.getSorters().items.length},generateComparator:function(){var a=this.getSorters().getRange();return a.length?this.createComparator(a):this.emptyComparator},emptyComparator:function(){return 0},onBeforeSort:Ext.emptyFn,decodeSorters:function(g){if(!Ext.isArray(g)){if(g===undefined){g=[]}else{g=[g]}}var d=g.length,h=Ext.util.Sorter,b=this.getModel?this.getModel():this.model,e,a,c;for(c=0;c<d;c++){a=g[c];if(!(a instanceof h)){if(Ext.isString(a)){a={property:a}}Ext.applyIf(a,{root:this.sortRoot,direction:"ASC"});if(a.fn){a.sorterFn=a.fn}if(typeof a=="function"){a={sorterFn:a}}if(b&&!a.transform){e=b.getField(a.property);a.transform=e&&e.sortType!==Ext.identityFn?e.sortType:undefined}g[c]=new Ext.util.Sorter(a)}}return g},getFirstSorter:function(){var c=this.getSorters().items,a=c.length,b=0,d;for(;b<a;++b){d=c[b];if(!d.isGrouper){return d}}return null}},function(){this.prototype.createComparator=this.createComparator});Ext.define("Ext.util.MixedCollection",{extend:Ext.util.AbstractMixedCollection,mixins:{sortable:Ext.util.Sortable},constructor:function(){this.initConfig();this.callParent(arguments)},doSort:function(a){this.sortBy(a)},_sort:function(m,b,l){var k=this,e,g,d=String(b).toUpperCase()=="DESC"?-1:1,j=[],n=k.keys,h=k.items,a;l=l||function(i,c){return i-c};for(e=0,g=h.length;e<g;e++){j[j.length]={key:n[e],value:h[e],index:e}}Ext.Array.sort(j,function(i,c){return l(i[m],c[m])*d||(i.index<c.index?-1:1)});for(e=0,g=j.length;e<g;e++){a=j[e];h[e]=a.value;n[e]=a.key;k.indexMap[a.key]=e}k.generation++;k.indexGeneration=k.generation;k.fireEvent("sort",k)},sortBy:function(b){var j=this,a=j.items,h,g=j.keys,d,e=a.length,c;for(c=0;c<e;c++){a[c].$extCollectionIndex=c}Ext.Array.sort(a,function(k,i){return b(k,i)||(k.$extCollectionIndex<i.$extCollectionIndex?-1:1)});for(c=0;c<e;c++){h=a[c];d=j.getKey(h);g[c]=d;j.indexMap[d]=c;delete a.$extCollectionIndex}j.generation++;j.indexGeneration=j.generation;j.fireEvent("sort",j,a,g)},findInsertionIndex:function(e,d){var g=this,b=g.items,i=0,a=b.length-1,c,h;if(!d){d=g.generateComparator()}while(i<=a){c=(i+a)>>1;h=d(e,b[c]);if(h>=0){i=c+1}else{if(h<0){a=c-1}}}return i},reorder:function(a){this.callParent([a]);this.fireEvent("sort",this)},sortByKey:function(a,b){this._sort("key",a,b||function(d,c){var g=String(d).toUpperCase(),e=String(c).toUpperCase();return g>e?1:(g<e?-1:0)})}});Ext.define("Ext.util.CollectionKey",{mixins:[Ext.mixin.Identifiable],isCollectionKey:true,observerPriority:-200,config:{collection:null,keyFn:null,property:null,rootProperty:null,unique:true},generation:0,map:null,mapRebuilds:0,constructor:function(a){this.initConfig(a)},get:function(a){var b=this.map||this.getMap();return b[a]||null},clear:function(){this.map=null},getRootProperty:function(){var b=this,a=this.callParent();return a!==null?a:b.getCollection().getRootProperty()},indexOf:function(k,e){var a=this.map||this.getMap(),l=a[k],g=this.getCollection(),b=g.length,d,h,j,c;if(!l){return -1}if(e===undefined){e=-1}if(l instanceof Array){j=l;h=b;for(c=j.length;c-->0;){d=g.indexOf(j[c]);if(d<h&&d>e){h=d}}if(h===b){return -1}}else{h=g.indexOf(l)}return(h>e)?h:-1},updateKey:function(c,e){var b=this,d=b.map,g,a;if(d){g=d[e];if(g instanceof Array){a=Ext.Array.indexOf(g,c);if(a>=0){if(g.length>2){g.splice(a,1)}else{d[e]=g[1-a]}}}else{if(g){delete d[e]}}b.add([c])}},onCollectionAdd:function(b,a){if(this.map){this.add(a.items)}},onCollectionItemChange:function(b,a){this.map=null},onCollectionRefresh:function(){this.map=null},onCollectionRemove:function(e,d){var h=this,a=h.map,g=d.items,b=g.length,c,k,j;if(a){if(h.getUnique()&&b<e.length/2){for(c=0;c<b;++c){j=h.getKey(k=g[c]);delete a[j]}}else{h.map=null}}},add:function(g){var h=this,a=h.map,b,e,k,j,c,d;c=g.length;d=h.getUnique();for(e=0;e<c;++e){j=h.getKey(k=g[e]);if(d||!(j in a)){a[j]=k}else{if(!((b=a[j]) instanceof Array)){a[j]=b=[b]}b.push(k)}}},applyKeyFn:function(a){if(Ext.isString(a)){this.getKey=function(b){return b[a]()}}else{this.getKey=a}},updateProperty:function(b){var a=this.getRootProperty();this.getKey=function(c){return(a?c[a]:c)[b]}},getMap:function(){var a=this,b=a.map;if(!b){a.map=b={};a.keysByItemKey={};++a.mapRebuilds;a.add(a.getCollection().items)}return b},updateCollection:function(a){a.addObserver(this)},clone:function(){return new Ext.util.CollectionKey(this.getCurrentConfig())}});Ext.define("Ext.util.Grouper",{extend:Ext.util.Sorter,isGrouper:true,config:{groupFn:null,sortProperty:null},constructor:function(a){this.callParent(arguments)},getGroupString:function(a){var b=this._groupFn(a);return(b!=null)?String(b):""},sortFn:function(d,c){var g=this,b=g._groupFn(d),e=g._groupFn(c),j=g._sortProperty,i=g._root,h=g._sorterFn,a=g._transform;if(b===e){return 0}if(j||h){if(h){return h.call(this,d,c)}if(i){d=d[i];c=c[i]}b=d[j];e=c[j];if(a){b=a(b);e=a(e)}}return(b>e)?1:(b<e?-1:0)},standardGroupFn:function(b){var a=this._root;return(a?b[a]:b)[this._property]},updateSorterFn:function(){},updateProperty:function(){if(!this.getGroupFn()){this.setGroupFn(this.standardGroupFn)}}});Ext.define("Ext.util.Collection",{mixins:[Ext.mixin.Observable],isCollection:true,config:{autoFilter:true,autoSort:true,autoGroup:true,decoder:null,extraKeys:null,filters:null,grouper:null,groups:null,rootProperty:null,sorters:null,multiSortLimit:3,defaultSortDirection:"ASC",source:null,trackGroups:true},generation:0,indices:null,indexRebuilds:0,updating:0,grouped:false,sorted:false,filtered:false,$endUpdatePriority:1001,constructor:function(a){var b=this;b.items=[];b.map={};b.length=0;if(a&&a.keyFn){b.getKey=a.keyFn}b.mixins.observable.constructor.call(b,a)},destroy:function(){var c=this,b=c._filters,d=c._sorters,a=c._groups;if(b){b.destroy();c._filters=null}if(d){d.destroy();c._sorters=null}if(a){a.destroy();c._groups=null}c.setSource(null);c.observers=c.items=c.map=null;c.callParent()},add:function(d){var c=this,a=c.decodeItems(arguments,0),b=a;if(a.length){c.requestedIndex=c.length;c.splice(c.length,0,a);delete c.requestedIndex;b=(a.length===1)?a[0]:a}return b},replaceAll:function(){var c=this,b,a;a=c.decodeItems(arguments,0);b=a;if(a.length){c.splice(0,c.length,a);b=(a.length===1)?a[0]:a}else{c.removeAll()}return b},aggregate:function(h,b,e,a,d){var g=this,c=Ext.Array.slice(arguments);c.unshift(g.items);return g.aggregateItems.apply(g,c)},aggregateByGroup:function(d,b,c){var a=this.getGroups();return this.aggregateGroups(a,d,b,c)},aggregateItems:function(l,r,d,a,e,s){var m=this,k=Ext.Number.clipIndices(l.length,[a,e]),b=(a!==0&&e!==l.length),h,g,c,n,p,q,o;a=k[0];e=k[1];if(!Ext.isFunction(d)){d=m._aggregators[d];return d.call(m,l,a,e,r,m.getRootProperty())}n=m.getRootProperty();q=new Array(c);o=b?new Array(c):l;for(h=a,g=0;h<e;++h,g++){if(b){o[g]=p=l[h]}q[g]=(n?p[n]:p)[r]}return d.call(s||m,l,q,0)},aggregateGroups:function(a,k,c,l){var h=a.items,g=h.length,b=!Ext.isFunction(c),d={},e,j,m;for(e=0;e<g;++e){j=h[e];if(!b){m=this.aggregateItems(j.items,k,c,null,null,l)}else{m=j[c](k)}d[j.getGroupKey()]=m}return d},beginUpdate:function(){if(!this.updating++){this.notify("beginupdate")}},clear:function(){var c=this,d=c.generation,a=d?c.items:[],b,e;if(d){c.items=[];c.length=0;c.map={};c.indices={};c.generation++;b=c.getExtraKeys();if(b){for(e in b){b[e].clear()}}}return a},clone:function(){var a=this,b=new a.self(a.initialConfig);b.add(a.items);return b},collect:function(l,g,j){var e=this.items,b=e.length,a={},d=[],c,h,k;for(c=0;c<b;++c){k=e[c];k=(g?k[g]:k)[l];h=String(k);if((j||!Ext.isEmpty(k))&&!a[h]){a[h]=1;d.push(k)}}return d},contains:function(c){var a=false,b;if(c!=null){b=this.getKey(c);a=this.map[b]===c}return a},containsKey:function(a){return a in this.map},createFiltered:function(o,n,e,k,d){var j=this,g=new j.self(j.initialConfig),m=j.getRootProperty(),h=j.items,b,c,a,l,p;if(Ext.isFunction(o)){l=o;p=n}else{if(Ext.isString(o)){a=[new Ext.util.Filter({property:o,value:n,root:m,anyMatch:e,caseSensitive:k,exactMatch:d})]}else{if(o instanceof Ext.util.Filter){a=[o];o.setRoot(m)}else{if(Ext.isArray(o)){a=o.slice(0);for(c=0,b=a.length;c<b;++c){a[c].setRoot(m)}}}}l=Ext.util.Filter.createFilterFn(a)}p=p||j;for(c=0,b=h.length;c<b;c++){if(l.call(p,h[c])){g.add(h[c])}}return g},filterBy:function(b,a){return this.createFiltered(b,a)},each:function(g,e){var b=this.items,a=b.length,d,c;if(a){e=e||this;b=b.slice(0);for(d=0;d<a;d++){c=g.call(e,b[d],d,a);if(c===false){break}}}return c},eachKey:function(g,k){var e=this,d=e.items,b=d.length,a,j,h,c;if(b){k=k||e;d=d.slice(0);for(a=0;a<b;a++){h=e.getKey(j=d[a]);c=g.call(k,h,j,a,b);if(c===false){break}}}return c},endUpdate:function(){if(!--this.updating){this.notify("endupdate")}},find:function(h,g,i,d,c,b){if(Ext.isEmpty(g,false)){return null}var e=Ext.String.createRegex(g,d,c,b),a=this.getRootProperty();return this.findBy(function(j){return j&&e.test((a?j[a]:j)[h])},null,i)},findBy:function(g,k,a){var e=this,d=e.items,c=d.length,b,j,h;k=k||e;for(b=a||0;b<c;b++){h=e.getKey(j=d[b]);if(g.call(k,j,h)){return d[b]}}return null},findIndex:function(g,e,h,c,b,a){var d=this.find(g,e,h,c,b,a);return d?this.indexOf(d):-1},findIndexBy:function(b,a,d){var c=this.findBy(b,a,d);return c?this.indexOf(c):-1},first:function(b){var a=b?this.getGroups():undefined;return a?this.aggregateGroups(a,null,"first"):this.items[0]},last:function(b){var a=b?this.getGroups():undefined;return a?this.aggregateGroups(a,null,"last"):this.items[this.length-1]},get:function(a){return this.map[a]},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},getCount:function(){return this.length},getKey:function(a){var b=a.id;return(b===0||b)?b:((b=a._id)===0||b)?b:a.getId()},getRange:function(d,a){var c=this.items,e=c.length,b;if(!e){b=[]}else{b=Ext.Number.clipIndices(e,[d,a]);b=c.slice(b[0],b[1])}return b},getValues:function(k,h,a,b){var g=this.items,d=Ext.Number.clipIndices(g.length,[a,b]),e=[],c,j;for(c=d[0],b=d[1];c<b;++c){j=g[c];j=(h?j[h]:j)[k];e.push(j)}return e},indexOf:function(b){if(!b){return -1}var a=this.getKey(b);return this.indexOfKey(a)},indexOfKey:function(a){var b=this,c=b.indices;if(a in b.map){if(!c){c=b.getIndices()}return c[a]}return -1},insert:function(c,e){var d=this,a=d.decodeItems(arguments,1),b=a;if(a.length){d.requestedIndex=c;d.splice(c,0,a);delete d.requestedIndex;b=(a.length===1)?a[0]:a}return b},itemChanged:function(u,i,m,n){var v=this,c=m===0||!!m,j=v.filtered&&v.getAutoFilter(),e=false,d=0,p=v.items,l=v.length-1,a=v.sorted&&l>0&&v.getAutoSort(),r=v.getSource(),q=0,k=false,o=false,t,s,g,w,h,b;if(r&&!r.updating){r.itemChanged(u,i,m,n)}else{s=v.getKey(u);if(j){h=v.indexOfKey(c?m:s);o=(h<0);k=v.isItemFiltered(u);e=(o!==k)}if(e){if(k){q=[u];b=-1}else{w=[u];b=v.length}}else{if(a&&!k){if(!j){h=v.indexOfKey(c?m:s)}g=v.getSortFn();if(h!==-1){if(h&&g(p[h-1],p[h])>0){d=-1;b=Ext.Array.binarySearch(p,u,0,h,g)}else{if(h<l&&g(p[h],p[h+1])>0){d=1;b=Ext.Array.binarySearch(p,u,h+1,g)}}if(d){w=[u]}}}}t={item:u,key:s,index:b,filterChanged:e,keyChanged:c,indexChanged:!!d,filtered:k,oldIndex:h,newIndex:b,wasFiltered:o,meta:n};if(c){t.oldKey=m}if(i){t.modified=i}v.beginUpdate();v.notify("beforeitemchange",[t]);if(c){v.updateKey(u,m)}if(w||q){v.splice(b,q,w)}if(d>0){t.newIndex--}else{if(d<0){t.oldIndex++}}v.notify(k?"filtereditemchange":"itemchange",[t]);v.endUpdate()}},remove:function(d){var c=this,a=c.decodeRemoveItems(arguments,0),b=c.length;c.splice(0,a);return b-c.length},removeAll:function(){var b=this,a=b.length;if(b.generation&&a){b.splice(0,a)}return b},removeAt:function(i,h){var j=this,b=j.length,e=Ext.Number,d=e.clipIndices(b,[i,(h===undefined)?1:h],e.Clip.COUNT),c=d[0],a=d[1]-c,k=(a===1)&&j.getAt(c),g;j.splice(c,a);g=j.length-b;return(k&&g)?k:g},removeByKey:function(a){var b=this.getByKey(a);if(!b||!this.remove(b)){return false}return b},replace:function(b){var a=this.indexOf(b);if(a===-1){this.add(b)}else{this.insert(a,b)}},splice:function(E,o,C){var m=this,d=m.sorted&&m.getAutoSort(),A=m.map,s=m.items,q=m.length,w=(o instanceof Array)?m.decodeRemoveItems(o):null,x=!w,F=Ext.Number,e=F.clipIndices(q,[E,x?o:0],F.Clip.COUNT),h=e[0],l=e[1],L=l-h,u=m.decodeItems(arguments,2),K=u?u.length:0,D,y,v,c=h,b=m.indices||((K||w)?m.getIndices():null),r=null,j=L?[h]:null,g=null,t=m.getSource(),a,H,I,N,B,G,M,p,z,J,P,O,l;if(t&&!t.updating){if(x){w=[];for(N=0;N<L;++N){w.push(s[h+N])}}if(h<q){N=t.indexOf(s[h])}else{N=t.length}t.splice(N,w,u);return m}if(K){D=u;g=[];y={};if(d){O=m.getSorters();if(K>1){if(!D.$cloned){u=D=D.slice(0)}m.sortData(D)}}for(N=0;N<K;++N){p=m.getKey(B=u[N]);if((M=y[p])!==undefined){(P||(P={}))[M]=1}else{G=b[p];if(G<h||l<=G){(j||(j=[])).push(G)}}y[p]=N;g.push(p)}if(P){z=g;D=[];g=[];D.$cloned=true;for(N=0;N<K;++N){if(!P[N]){B=u[N];D.push(B);g.push(z[N])}}K=D.length}r={items:D,keys:g}}for(N=w?w.length:0;N-->0;){p=m.getKey(w[N]);if((G=b[p])!==undefined){(j||(j=[])).push(G)}}if(!r&&!j){return m}m.beginUpdate();if(j){a=null;I=[];v={};if(j.length>1){j.sort(Ext.Array.numericSortFn)}for(N=0,J=j.length;N<J;++N){p=m.getKey(B=s[G=j[N]]);if(!(p in A)){continue}delete A[p];if(!a||G>(a.at+H.length)){I.push(a={at:G,items:(H=[]),keys:(z=[]),map:v,next:a,replacement:r});if(r){r.replaced=a}}H.push(v[p]=B);z.push(p);if(G<c){--c}if(L>1&&G===h){--L;j[N--]=++h}}if(r){r.at=c}for(M=I.length;M-->0;){a=I[M];N=a.at;J=a.items.length;if(N+J<q){m.indices=b=null}m.length=q-=J;s.splice(N,J);if(b){z=a.keys;for(N=0;N<J;++N){delete b[z[N]]}}++m.generation;m.notify("remove",[a])}}if(r){if(d&&K>1&&q){m.spliceMerge(D,g)}else{if(d){if(K>1){c=0;m.indices=b=null}else{c=O.findInsertionIndex(r.items[0],s,m.getSortFn())}}if(c===q){l=c;for(N=D.length-1;N>=0;--N){s[l+N]=D[N]}b=m.indices;if(b){for(N=0;N<K;++N){b[g[N]]=c+N}}}else{m.indices=null;Ext.Array.insert(s,c,D)}for(N=0;N<K;++N){A[g[N]]=D[N]}m.length+=K;r.at=c;r.atItem=c===0?null:s[c-1];++m.generation;m.notify("add",[r])}}m.endUpdate();return m},update:function(b,a){var c=this;c.beginUpdate();try{return b.call(a||c,c)}catch(d){throw d}finally{c.endUpdate()}},updateKey:function(b,e){var a=this,d=a.map,h=a.indices,c=a.getSource(),g;if(c&&!c.updating){c.updateKey(b,e)}else{if((g=a.getKey(b))!==e){if(d[e]===b&&!(g in d)){delete d[e];a.updating++;a.generation++;d[g]=b;if(h){h[g]=h[e];delete h[e]}a.notify("updatekey",[{item:b,newKey:g,oldKey:e}]);a.updating--}}}},findInsertIndex:function(d){var e=this.getSource(),g=e.items,b=e.indexOf(d)-1,c,a;while(b>-1){c=g[b];a=this.indexOf(c);if(a>-1){return a+1}--b}return 0},onCollectionAdd:function(a,b){var l=this,o=b.atItem,k=b.items,g=l.requestedIndex,j,h,c,e,m,d;if(!l.sorted){if(g!==undefined){h=g}else{if(o){h=l.indexOf(o);if(h===-1){h=l.findInsertIndex(k[0])}else{++h}}else{h=0}}}if(l.getAutoFilter()&&l.filtered){for(e=0,d=k.length;e<d;++e){m=k[e];if(l.isItemFiltered(m)){if(!c){c=k.slice(0,e)}if(!j){j=[]}j.push(m)}else{if(c){c.push(m)}}}}l.splice((h<0)?l.length:h,0,c||k);if(j){l.notify("filteradd",[j])}},onCollectionBeforeItemChange:function(b,a){this.onCollectionUpdateKey=null},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},onCollectionItemChange:function(b,a){delete this.onCollectionUpdateKey;this.itemChanged(a.item,a.modified,a.oldKey,a.meta)},onCollectionFilteredItemChange:null,onCollectionRefresh:function(a){var g=this,b={},j={},d,k,e,h,c;e=a.items;e=g.filtered&&g.getAutoFilter()?Ext.Array.filter(e,g.getFilterFn()):e.slice(0);if(g.sorted){g.sortData(e)}g.items=e;g.length=c=e.length;g.map=b;g.indices=j;for(d=0;d<c;++d){h=g.getKey(k=e[d]);b[h]=k;j[h]=d}g.notify("refresh")},onCollectionRemove:function(b,a){this.splice(0,a.items)},onCollectionUpdateKey:function(b,a){this.updateKey(a.item,a.oldKey)},_aggregators:{average:function(c,d,b,e,a){var g=b-d;return g&&this._aggregators.sum.call(this,c,d,b,e,a)/g},bounds:function(e,a,b,k,g){for(var j,h,c,d=a;d<b;++d){j=e[d];j=(g?j[g]:j)[k];if(!(j<h)){h=j}if(!(j>c)){c=j}}return[c,h]},count:function(a){return a.length},extremes:function(g,a,c,m,k){var h=null,b=null,e,n,j,d,l;for(e=a;e<c;++e){n=g[e];l=(k?n[k]:n)[m];if(!(l<j)){j=l;h=n}if(!(l>d)){d=l;b=n}}return[b,h]},max:function(e,g,d,h,c){var a=this._aggregators.bounds.call(this,e,g,d,h,c);return a[1]},maxItem:function(e,g,d,h,c){var a=this._aggregators.extremes.call(this,e,g,d,h,c);return a[1]},min:function(e,g,d,h,c){var a=this._aggregators.bounds.call(this,e,g,d,h,c);return a[0]},minItem:function(e,g,d,h,c){var a=this._aggregators.extremes.call(this,e,g,d,h,c);return a[0]},sum:function(c,g,b,j,a){for(var h,e=0,d=g;d<b;++d){h=c[d];h=(a?h[a]:h)[j];e+=h}return e}},_eventToMethodMap:{add:"onCollectionAdd",beforeitemchange:"onCollectionBeforeItemChange",beginupdate:"onCollectionBeginUpdate",endupdate:"onCollectionEndUpdate",itemchange:"onCollectionItemChange",filtereditemchange:"onCollectionFilteredItemChange",refresh:"onCollectionRefresh",remove:"onCollectionRemove",beforesort:"beforeCollectionSort",sort:"onCollectionSort",filter:"onCollectionFilter",filteradd:"onCollectionFilterAdd",updatekey:"onCollectionUpdateKey"},addObserver:function(a){var b=this,c=b.observers;if(!c){b.observers=c=[]}c.push(a);if(c.length>1){Ext.Array.sort(c,b.prioritySortFn)}},prioritySortFn:function(g,e){var d=g.observerPriority||0,c=e.observerPriority||0;return d-c},applyExtraKeys:function(e,a){var g=this,d=a||{},c,b,h;for(b in e){h=e[b];if(!h.isCollectionKey){c={collection:g};if(Ext.isString(h)){c.property=h}else{c=Ext.apply(c,h)}h=new Ext.util.CollectionKey(c)}else{h.setCollection(g)}d[b]=g[b]=h;h.name=b}return d},applyGrouper:function(a){if(a){a=this.getSorters().decodeSorter(a,"Ext.util.Grouper")}return a},decodeItems:function(d,c){var g=this,b=(c===undefined)?d:d[c],a,h,e;if(!b||!b.$cloned){a=d.length>c+1||!Ext.isIterable(b);if(a){b=Ext.Array.slice(d,c);if(b.length===1&&b[0]===undefined){b.length=0}}h=g.getDecoder();if(h){if(!a){b=b.slice(0);a=true}for(e=b.length;e-->0;){if((b[e]=h.call(g,b[e]))===false){b.splice(e,1)}}}if(a){b.$cloned=true}}return b},getIndices:function(){var d=this,e=d.indices,a=d.items,g=a.length,c,b;if(!e){d.indices=e={};++d.indexRebuilds;for(c=0;c<g;++c){b=d.getKey(a[c]);e[b]=c}}return e},notify:function(d,h){var i=this,c=i.observers,k=i._eventToMethodMap[d],j=0,e,b,a,g;h=h||[];if(c&&k){for(e=0,b=c.length;e<b;++e){a=(g=c[e])[k];if(a){if(!j++){h.unshift(i)}a.apply(g,h)}}}if(!i.hasListeners){return}if(i.hasListeners[d]){if(!j){h.unshift(i)}i.fireEventArgs(d,h)}},getFilterFn:function(){return this.getFilters().getFilterFn()},getFilters:function(b){var a=this._filters;if(!a&&b!==false){a=new Ext.util.FilterCollection();this.setFilters(a)}return a},isItemFiltered:function(a){return !this.getFilters().filterFn(a)},onFilterChange:function(e){var d=this,g=d.getSource(),c,b,a;if(!g){c=d.getExtraKeys();if(c){b={};for(a in c){b[a]=c[a].clone(d)}}g=new Ext.util.Collection({keyFn:d.getKey,extraKeys:b,rootProperty:d.getRootProperty()});if(d.length){g.add(d.items)}d.setSource(g);d.autoSource=g}else{if(g.length||d.length){d.onCollectionRefresh(g)}}d.notify("filter")},applyFilters:function(a,b){if(a==null||(a&&a.isFilterCollection)){return a}if(a){if(!b){b=this.getFilters()}b.splice(0,b.length,a)}return b},updateFilters:function(a,b){var c=this;if(b){b.un("endupdate","onEndUpdateFilters",c)}if(a){a.on({endupdate:"onEndUpdateFilters",scope:c,priority:c.$endUpdatePriority});a.$filterable=c}c.onEndUpdateFilters(a)},onEndUpdateFilters:function(c){var b=this,d=b.filtered,a=!!c&&(c.length>0);if(d||a){b.filtered=a;b.onFilterChange(c)}},getSortFn:function(){return this._sortFn||this.createSortFn()},getSorters:function(b){var a=this._sorters;if(!a&&b!==false){a=new Ext.util.SorterCollection();this.setSorters(a)}return a},onSortChange:function(){if(this.sorted){this.sortItems()}},sort:function(a,c,d){var b=this.getSorters();b.addSort.apply(b,arguments);return this},sortData:function(a){Ext.Array.sort(a,this.getSortFn());return a},sortItems:function(b){var a=this;if(a.sorted){b=a.getSortFn()}a.indices=null;a.notify("beforesort",[a.getSorters(false)]);if(a.length){Ext.Array.sort(a.items,b)}a.notify("sort")},sortBy:function(a){return this.sortItems(a)},findInsertionIndex:function(c,a,b){if(!a){a=this.items}if(!b){b=this.getSortFn()}return Ext.Array.binarySearch(a,c,b)},applySorters:function(a,b){if(a==null||(a&&a.isSorterCollection)){return a}if(a){if(!b){b=this.getSorters()}b.splice(0,b.length,a)}return b},createSortFn:function(){var c=this,a=c.getGrouper(),d=c.getSorters(false),b=d?d.getSortFn():null;if(!a){return b}return function(e,h){var g=a.sort(e,h);if(!g&&b){g=b(e,h)}return g}},updateGrouper:function(b){var c=this,a=c.getGroups(),e=c.getSorters(),d;c.onSorterChange();c.grouped=!!b;if(b){if(c.getTrackGroups()){if(!a){a=new Ext.util.GroupCollection({itemRoot:c.getRootProperty()});a.$groupable=c;c.setGroups(a)}a.setGrouper(b);d=true}}else{if(a){c.removeObserver(a);a.destroy()}c.setGroups(null)}if(!e.updating){c.onEndUpdateSorters(e)}if(d){a.onCollectionRefresh(c)}},updateSorters:function(a,b){var c=this;if(b){b.un("endupdate","onEndUpdateSorters",c)}if(a){a.on({endupdate:"onEndUpdateSorters",scope:c,priority:c.$endUpdatePriority});a.$sortable=c}c.onSorterChange();c.onEndUpdateSorters(a)},onSorterChange:function(){this._sortFn=null},onEndUpdateSorters:function(c){var b=this,d=b.sorted,a=(b.grouped&&b.getAutoGroup())||(c&&c.length>0);if(d||a){b.sorted=!!a;b.onSortChange(c)}},removeObserver:function(a){var b=this.observers;if(b){Ext.Array.remove(b,a)}},spliceMerge:function(k,s){var r=this,q=r.map,g=k.length,c=0,l=r.items,t=l.length,j=[],h=0,n=[],d=r.getSortFn(),m,b,o,e,p,a;r.items=n;for(a=0;a<g;a=b){e=k[a];for(;c<t;++c){if(d(e,p=l[c])<0){break}n.push(p)}if(c===t){j[h++]={at:n.length,itemAt:n[n.length-1],items:(m=[])};if(h>1){j[h-2].next=j[h-1]}for(;a<g;++a){m.push(e=k[a]);n.push(e)}break}j[h++]={at:n.length,itemAt:n[n.length-1],items:(m=[e])};if(h>1){j[h-2].next=j[h-1]}n.push(e);for(b=a+1;b<g;++b){if(d(e=k[b],p)>=0){break}n.push(e);m.push(e)}}for(;c<t;++c){n.push(l[c])}for(o=0;o<g;++o){q[s[o]]=k[o]}r.length=n.length;++r.generation;r.indices=null;for(o=0;o<h;++o){r.notify("add",[j[o]])}},getGroups:function(){return this.callParent()||null},updateAutoGroup:function(b){var a=this.getGroups();if(a){a.setAutoGroup(b)}this.onEndUpdateSorters(this._sorters)},updateGroups:function(a,b){if(b){this.removeObserver(b)}if(a){this.addObserver(a)}},updateSource:function(b,a){var c=this.autoSource;if(a){a.removeObserver(this);if(a===c){c.destroy();this.autoSource=null}}if(b){b.addObserver(this);if(b.length||this.length){this.onCollectionRefresh(b)}}}},function(){var a=this.prototype;a.removeAtKey=a.removeByKey;a.decodeRemoveItems=a.decodeItems;Ext.Object.each(a._aggregators,function(b){a[b]=function(e,d,c){return this.aggregate(e,b,d,c)};a[b+"ByGroup"]=function(c){return this.aggregateByGroup(c,b)}})});Ext.define("Ext.util.ObjectTemplate",{isObjectTemplate:true,excludeProperties:{},valueRe:/^[{][a-z\.]+[}]$/i,statics:{create:function(b,a){return b.isObjectTemplate?b:new Ext.util.ObjectTemplate(b,a)}},constructor:function(b,a){Ext.apply(this,a);this.template=b},apply:function(a){var b=this;delete b.apply;b.apply=b.compile(b.template);return b.apply(a)},privates:{compile:function(e){var g=this,b=g.excludeProperties,h,c,a,d;if(Ext.isString(e)){if(e.indexOf("{")<0){d=function(){return e}}else{if(g.valueRe.test(e)){e=e.substring(1,e.length-1).split(".");d=function(l){for(var j=l,k=0;j&&k<e.length;++k){j=j[e[k]]}return j}}else{e=new Ext.XTemplate(e);d=function(i){return e.apply(i)}}}}else{if(!e||Ext.isPrimitive(e)||Ext.isFunction(e)){d=function(){return e}}else{if(e instanceof Array){h=[];for(c=0,a=e.length;c<a;++c){h[c]=g.compile(e[c])}d=function(l){var j=[],k;for(k=0;k<a;++k){j[k]=h[k](l)}return j}}else{h={};for(c in e){if(!b[c]){h[c]=g.compile(e[c])}}d=function(m){var k={},l,j;for(l in e){j=b[l]?e[l]:h[l](m);if(j!==undefined){k[l]=j}}return k}}}}return d}}});Ext.define("Ext.data.schema.Role",{isRole:true,left:true,owner:false,side:"left",isMany:false,defaultReaderType:"json",_internalReadOptions:{recordsOnly:true,asRoot:true},constructor:function(b,c){var d=this,a=c.extra;Ext.apply(d,c);if(a){delete a.type;Ext.apply(d,a);delete d.extra}d.association=b;if(b.owner===d.side){b.owner=d;d.owner=true}},processUpdate:function(){Ext.raise('Only the "many" for an association may be processed. "'+this.role+'" is not valid.')},processLoad:function(b,c,a,d){return a},checkMembership:Ext.emptyFn,adoptAssociated:function(b,c){var a=this.getAssociatedItem(b);if(a){c.adopt(a)}},createAssociationStore:function(g,l,e,m){var i=this,d=i.association,h=d.getFieldName(),j=d.isManyToMany,b=i.storeConfig,a=l.getId(),c={asynchronousLoad:false,model:i.cls,role:i,session:g,associatedEntity:l,disableMetaChangeEvent:true,pageSize:null,remoteFilter:true,trackRemoved:!g},k;if(j){c.filters=[{property:i.inverse.field,value:a,exactMatch:true}]}else{if(h){c.filters=[{property:h,value:a,exactMatch:true}];c.foreignKeyName=h}}if(b){Ext.apply(c,b)}k=Ext.Factory.store(c);i.onStoreCreate(k,g,a);if(h||(j&&g)){k.on({scope:i,add:"onAddToMany",remove:"onRemoveFromMany",clear:"onRemoveFromMany"})}if(e){k.loadData(e);k.complete=!!m}return k},onStoreCreate:Ext.emptyFn,getAssociatedStore:function(p,g,b,r,t){var v=this,n=v.getStoreName(),h=p[n],a=p.session,l=g&&g.reload,o=p.$source,j=false,c,d,q,s,m,k,e,u;if(!h){if(a){if(!r&&o){o=o[n];if(o&&!o.isLoading()){e=o;r=[];m=o.getData().items;for(q=0,s=m.length;q<s;++q){k=m[q];r.push(a.getRecord(k.self,k.id))}j=!!o.complete;c=true}}if(!c){u=!!r;r=v.findRecords(a,p,r,t);if(!u&&(!r||!r.length)){r=null}j=u}}else{j=!!(r&&r.length>0)}h=v.createAssociationStore(a,p,r,j);h.$source=e;if(!r&&(v.autoLoad||g)){l=true}p[n]=h}if(g){if(l||h.isLoading()){h.on("load",function(x,w,y,i){d=[x,i];b=b||g.scope||p;if(y){Ext.callback(g.success,b,d)}else{Ext.callback(g.failure,b,d)}d.push(y);Ext.callback(g,b,d);Ext.callback(g.callback,b,d)},null,{single:true})}else{d=[h,null];b=b||g.scope||p;Ext.callback(g.success,b,d);d.push(true);Ext.callback(g,b,d);Ext.callback(g.callback,b,d)}}if(l&&!h.isLoading()){h.load()}return h},getAssociatedItem:function(b){var a=this.isMany?this.getStoreName():this.getInstanceName();return b[a]||null},onDrop:Ext.emptyFn,getReaderRoot:function(){var a=this;return a.associationKey||(a.associationKey=a.association.schema.getNamer().readerRoot(a.role))},getReader:function(){var c=this,a=c.reader,d=c.cls,e=!c.associationKey,b=this.getReaderRoot();if(a&&!a.isReader){if(Ext.isString(a)){a={type:a}}Ext.applyIf(a,{model:d,rootProperty:b,useSimpleAccessors:e,type:c.defaultReaderType});a=c.reader=Ext.createByAlias("reader."+a.type,a)}return a},getInstanceName:function(){var a=this;return a.instanceName||(a.instanceName=a.association.schema.getNamer().instanceName(a.role))},getOldInstanceName:function(){return this.oldInstanceName||(this.oldInstanceName="$old"+this.getInstanceName())},getStoreName:function(){var a=this;return a.storeName||(a.storeName=a.association.schema.getNamer().storeName(a.role))},constructReader:function(e){var g=this,a=g.getReader(),h=g.cls,i=!g.associationKey,b=g.getReaderRoot(),c,d;if(!a){d=h.getProxy();if(d){c=d.getReader();a=new c.self();a.copyFrom(c);a.setRootProperty(b)}else{a=new e.self({model:h,useSimpleAccessors:i,rootProperty:b})}g.reader=a}return a},read:function(c,g,d,e){var a=this.constructReader(d),b=a.getRoot(g);if(b){return a.readRecords(b,e,this._internalReadOptions)}},getCallbackOptions:function(a,b,c){if(typeof a==="function"){a={callback:a,scope:b||c}}else{if(a){a=Ext.apply({},a);a.scope=b||a.scope||c}}return a},doGetFK:function(b,n,l){var i=this,m=i.cls,e=i.association.getFieldName(),k=i.getInstanceName(),j=b[k],a=n&&n.reload,d=j!==undefined&&!a,h=b.session,c,g;if(!d){if(h){c=b.get(e);if(c||c===0){d=h.peekRecord(m,c,true)&&!a;j=h.getRecord(m,c,false)}else{d=true;b[k]=j=null}}else{if(e){c=b.get(e);if(!c&&c!==0){d=true;b[k]=j=null}else{if(!j){j=m.createWithId(c)}}}else{d=true}}}else{if(j){d=!j.isLoading()}}if(d){if(n){g=[j,null];l=l||n.scope||b;Ext.callback(n.success,l,g);g.push(true);Ext.callback(n,l,g);Ext.callback(n.callback,l,g)}}else{b[k]=j;n=i.getCallbackOptions(n,l,b);j.load(n)}return j},doSetFK:function(a,j,n,m){var i=this,g=i.association.getFieldName(),k=i.getInstanceName(),e=a[k],c=i.inverse,d=c.setterName,h=a.session,l,b;if(j&&j.isEntity){if(e!==j){b=i.getOldInstanceName();a[b]=e;a[k]=j;if(e&&e.isEntity){e[c.getInstanceName()]=undefined}if(g){a.set(g,j.getId())}delete a[b];if(d){j[d](a)}}}else{l=(a.changingKey&&!c.isMany)||a.set(g,j);if(l&&e&&e.isEntity&&!e.isEqual(e.getId(),j)){a[k]=undefined;if(!c.isMany){e[c.getInstanceName()]=undefined}}}if(n){if(Ext.isFunction(n)){n={callback:n,scope:m||a}}return a.save(n)}}});Ext.define("Ext.data.schema.Association",{isOneToOne:false,isManyToOne:false,isManyToMany:false,owner:null,field:null,constructor:function(a){var c=this,d,b;Ext.apply(c,a);c.left=d=new c.Left(c,c.left);c.right=b=new c.Right(c,c.right);d.inverse=b;b.inverse=d},hasField:function(){return !!this.field},getFieldName:function(){var a=this.field;return a?a.name:""}});Ext.define("Ext.data.schema.OneToOne",{extend:Ext.data.schema.Association,isOneToOne:true,isToOne:true,kind:"one-to-one",Left:Ext.define(null,{extend:"Ext.data.schema.Role",onDrop:function(a,b){var c=this.getAssociatedItem(a);a[this.getInstanceName()]=null;if(c){c[this.inverse.getInstanceName()]=null}},createGetter:function(){var a=this;return function(){return a.doGet(this)}},createSetter:function(){var a=this;return function(b){return a.doSet(this,b)}},doGet:function(a){var b=this.getInstanceName(),c=a[b],d=a.session;if(!c&&d){}return c||null},doSet:function(a,e){var b=this.getInstanceName(),d=a[b],c=this.inverse.setterName;if(d!==e){a[b]=e;if(c){e[c](a)}}return d},read:function(a,d,b,e){var c=this,g=c.callParent([a,d,b,e]),h;if(g){h=g[0];if(h){h[c.inverse.getInstanceName()]=a;a[c.getInstanceName()]=h;delete a.data[c.role]}}}}),Right:Ext.define(null,{extend:"Ext.data.schema.Role",left:false,side:"right",createGetter:function(){var a=this;return function(b,c){return a.doGetFK(this,b,c)}},createSetter:function(){var a=this;return function(d,b,c){return a.doSetFK(this,d,b,c)}},onDrop:function(g,d){var b=this,c=b.association.field,a=b.getAssociatedItem(g),e;if(b.inverse.owner){if(d){e=g.get(c.name);if(e||e===0){a=d.getEntry(b.cls,e).record;if(a){a.drop()}}}else{if(a){a.drop()}}}if(c){g.set(c.name,null)}g[b.getInstanceName()]=null;if(a){a[b.inverse.getInstanceName()]=null}},onValueChange:function(i,h,g){var e=this,a=i[e.getOldInstanceName()]||e.getAssociatedItem(i),d=g||g===0,c=e.getInstanceName(),b=e.cls;i.changingKey=true;e.doSetFK(i,g);if(!d){i[c]=null}else{if(h&&b){i[c]=h.peekRecord(b,g)||undefined}}if(e.inverse.owner&&a){e.association.schema.queueKeyCheck(a,e)}i.changingKey=false},checkKeyForDrop:function(a){var b=this.inverse.getAssociatedItem(a);if(!b){a.drop()}},read:function(d,e,p,g){var j=this,n=j.callParent([d,e,p,g]),k,m,o,i,l,b,c,a,h;if(n){k=n[0];m=j.association.field;if(m){o=m.name}i=d.session;h=d.data;if(k){if(i){l=i.getRefs(k,this.inverse,true);a=(l&&l[d.id])||(h[o]===undefined)}else{a=true}if(a){if(m){c=h[o];b=k.id;if(c!==b){h[o]=b;if(i){i.updateReference(d,m,b,c)}}}k[j.inverse.getInstanceName()]=d;d[j.getInstanceName()]=k}delete h[j.role]}}}})});Ext.define("Ext.data.schema.ManyToOne",{extend:Ext.data.schema.Association,isManyToOne:true,isToOne:true,kind:"many-to-one",Left:Ext.define(null,{extend:"Ext.data.schema.Role",isMany:true,onDrop:function(h,e){var g=this,k=g.getAssociatedItem(h),b,d,c,j,a;if(k){b=k.removeAll();if(b&&g.inverse.owner){for(c=0,d=b.length;c<d;++c){b[c].drop()}}k.destroy();h[g.getStoreName()]=null}else{if(e){b=e.getRefs(h,g);if(b){for(a in b){b[a].drop()}}}}},processUpdate:function(g,b){var h=this,d=h.inverse.cls,e=b.R,a,i,j,c;if(e){for(a in e){i=g.peekRecord(d,a);if(i){c=g.getEntityList(h.cls,e[a]);j=h.getAssociatedItem(i);if(j){j.loadData(c);j.complete=true}else{i[h.getterName](null,null,c)}}else{g.onInvalidAssociationEntity(d,a)}}}},findRecords:function(j,k,d,o){var h=d,l=j.getRefs(k,this,true),m=this.association.field,n=m.name,c,b,e,g,a;if(!k.phantom){h=[];if(l||o){if(d){a={};for(e=0,g=d.length;e<g;++e){c=d[e];b=c.id;if(l&&l[b]){h.push(c)}else{if(o&&c.data[n]===undefined){h.push(c);c.data[n]=k.id;j.updateReference(c,m,k.id,undefined)}}a[b]=true}}if(l){for(b in l){if(!a||!a[b]){h.push(l[b])}}}}}return h},processLoad:function(b,a,e,d){var c=e;if(d){c=this.findRecords(d,a,e,true)}this.onLoadMany(a,c,d);return c},adoptAssociated:function(b,g){var c=this.getAssociatedItem(b),e,d,a;if(c){c.setSession(g);e=c.getData().items;for(d=0,a=e.length;d<a;++d){g.adopt(e[d])}}},createGetter:function(){var a=this;return function(b,c,d){return a.getAssociatedStore(this,b,c,d,a,true)}},createSetter:null,onAddToMany:function(a,b){this.syncFK(b,a.getAssociatedEntity(),false)},onLoadMany:function(l,e,k){var n=this.inverse.getInstanceName(),b=l.getId(),m=this.association.field,h,j,d,c,g,a;if(m){for(h=0,j=e.length;h<j;++h){d=e[h];d[n]=l;if(m){a=m.name;g=d.data;c=g[a];if(c!==b){g[a]=b;if(k){k.updateReference(d,m,b,c)}}}}}},onRemoveFromMany:function(a,b){this.syncFK(b,a.getAssociatedEntity(),true)},read:function(h,a,l,c){var g=this,k=g.inverse.getInstanceName(),b=g.callParent([h,a,l,c]),j,e,d;if(b){j=h[g.getterName](null,null,b);delete h.data[g.role];b=j.getData().items;for(d=0,e=b.length;d<e;++d){b[d][k]=h}}},syncFK:function(e,l,m){var k=this.association.getFieldName(),h=this.inverse,g=h.setterName,n=h.getInstanceName(),j=e.length,b=l.getId(),a,d,c;while(j-->0){d=e[j];a=!d.isEqual(b,d.get(k));c=m?null:l;if(a!==m){d.changingKey=true;d[g](c);d.changingKey=false}else{d[n]=c}}}}),Right:Ext.define(null,{extend:"Ext.data.schema.Role",left:false,side:"right",onDrop:function(c,b){var a=this.association.field;if(a){c.set(a.name,null)}c[this.getInstanceName()]=null},createGetter:function(){var a=this;return function(b,c){return a.doGetFK(this,b,c)}},createSetter:function(){var a=this;return function(b,c,d){return a.doSetFK(this,b,c,d)}},checkMembership:function(c,d){var b=this.association.field,a;a=this.getSessionStore(c,d.get(b.name));if(a&&!a.contains(d)){a.add(d)}},onValueChange:function(d,j,b,a){var k=this,n=k.getInstanceName(),p=k.cls,c,o,m,e,g,l,h;if(!d.changingKey){c=b||b===0;if(!c){d[n]=null}if(j){m=k.getSessionStore(j,a);if(m){m.remove(d)}if(c){m=k.getSessionStore(j,b);if(m&&!m.isLoading()){m.add(d)}if(p){h=j.peekRecord(p,b)}d[n]=h||undefined}}else{o=d.joined;if(o){for(e=0,g=o.length;e<g;++e){m=o[e];if(m.isStore){l=m.getAssociatedEntity();if(l&&l.self===k.cls&&l.getId()===a){m.remove(d)}}}}}}if(k.owner&&b===null){k.association.schema.queueKeyCheck(d,k)}},checkKeyForDrop:function(b){var a=this.association.field;if(b.get(a.name)===null){b.drop()}},getSessionStore:function(c,b){var a=this.cls,d;if(a){d=c.peekRecord(a,b);if(d){return this.inverse.getAssociatedItem(d)}}},read:function(g,c,b,e){var d=this.callParent([g,c,b,e]),a;if(d){a=d[0];if(a){g[this.getInstanceName()]=a;delete g.data[this.role]}}}})});Ext.define("Ext.data.schema.ManyToMany",{extend:Ext.data.schema.Association,isManyToMany:true,isToMany:true,kind:"many-to-many",Left:Ext.define(null,{extend:"Ext.data.schema.Role",isMany:true,digitRe:/^\d+$/,findRecords:function(l,m,d){var n=l.getMatrixSlice(this.inverse,m.id),e=n.members,k=[],o=this.cls,a,h,j,b,g,c;if(d){a={};for(h=0,j=d.length;h<j;++h){c=d[h];b=c.id;g=e[b];if(!(g&&g[2]===-1)){k.push(c)}a[b]=true}}for(b in e){g=e[b];if(!a||!a[b]&&(g&&g[2]!==-1)){c=l.peekRecord(o,b);if(c){k.push(c)}}}return k},processLoad:function(b,a,e,d){var c=e;if(d){c=this.findRecords(d,a,e);this.onAddToMany(b,c,true)}return c},processUpdate:function(g,b){var h=this,d=h.inverse.cls,e=b.R,a,i,j,c;if(e){for(a in e){i=g.peekRecord(d,a);if(i){c=g.getEntityList(h.cls,e[a]);j=h.getAssociatedItem(i);if(j){j.loadData(c);j.complete=true}else{i[h.getterName](null,null,c)}}else{g.onInvalidAssociationEntity(d,a)}}}h.processMatrixBlock(g,b.C,1);h.processMatrixBlock(g,b.D,-1)},checkMembership:function(i,j){var k=i.getMatrix(this.association,true),h,d,e,m,n,a,c,g,b,l;if(!k){return}h=this.left?k.right:k.left;d=h.inverse.role.cls;e=this.inverse;n=h.slices;if(n){m=n[j.id];if(m){c=m.members;for(a in c){g=c[a];if(g[2]!==-1){b=i.peekRecord(d,a);if(b){l=e.getAssociatedItem(b);if(l){l.matrixUpdate=1;l.add(j);l.matrixUpdate=0}}}}}}},onStoreCreate:function(b,d,e){var c=this,a;if(d){a=d.getMatrixSlice(c.inverse,e);a.attach(b);a.notify=c.onMatrixUpdate;a.scope=c}},processMatrixBlock:function(e,d,c){var a=this.inverse,b=this.digitRe,g,h;if(d){for(h in d){if(b.test(h)){h=parseInt(h,10)}g=e.getMatrixSlice(a,h);g.update(d[h],c)}}},createGetter:function(){var a=this;return function(b,c,d){return a.getAssociatedStore(this,b,c,d,false)}},onAddToMany:function(a,c,b){if(!a.matrixUpdate){a.matrixUpdate=1;a.matrix.update(c,b===true?0:1);a.matrixUpdate=0}},onRemoveFromMany:function(b,a){if(!b.matrixUpdate){b.matrixUpdate=1;b.matrix.update(a,-1);b.matrixUpdate=0}},read:function(a,d,b,e){var c=this,g=c.callParent([a,d,b,e]);if(g){a[c.getterName](null,null,g);delete a.data[c.role]}},onMatrixUpdate:function(e,h,d){var a=e.store,b,g,c;if(a&&!a.loading&&!a.matrixUpdate){a.matrixUpdate=1;b=a.indexOfId(h);if(d<0){if(b>=0){a.remove([b])}}else{if(b<0){c=a.getSession().getEntry(this.type,h);g=c&&c.record;if(g){a.add(g)}}}a.matrixUpdate=0}},adoptAssociated:function(b,g){var d=this.getAssociatedItem(b),c,e,a;if(d){d.setSession(g);this.onStoreCreate(d,g,b.getId());c=d.getData().items;for(e=0,a=c.length;e<a;++e){g.adopt(c[e])}}}},function(){var a=this;Ext.ClassManager.onCreated(function(){Ext.data.schema.ManyToMany.prototype.Right=Ext.define(null,{extend:a,left:false,side:"right"})},null,"Ext.data.schema.ManyToMany")})});Ext.define("Ext.util.Inflector",{singleton:true,plurals:[[(/(quiz)$/i),"$1zes"],[(/^(ox)$/i),"$1en"],[(/([m|l])ouse$/i),"$1ice"],[(/(matr|vert|ind)ix|ex$/i),"$1ices"],[(/(x|ch|ss|sh)$/i),"$1es"],[(/([^aeiouy]|qu)y$/i),"$1ies"],[(/(hive)$/i),"$1s"],[(/(?:([^f])fe|([lr])f)$/i),"$1$2ves"],[(/sis$/i),"ses"],[(/([ti])um$/i),"$1a"],[(/(buffal|tomat|potat)o$/i),"$1oes"],[(/(bu)s$/i),"$1ses"],[(/(alias|status|sex)$/i),"$1es"],[(/(octop|vir)us$/i),"$1i"],[(/(ax|test)is$/i),"$1es"],[(/^(p)erson$/i),"$1eople"],[(/^(m)an$/i),"$1en"],[(/(.*)(child)(ren)?$/i),"$1$2ren"],[(/s$/i),"s"],[(/$/),"s"]],singulars:[[(/(address)$/i),"$1"],[(/(quiz)zes$/i),"$1"],[(/(matr)ices$/i),"$1ix"],[(/(vert|ind)ices$/i),"$1ex"],[(/^(ox)en/i),"$1"],[(/(alias|status)es$/i),"$1"],[(/(octop|vir)i$/i),"$1us"],[(/(cris|ax|test)es$/i),"$1is"],[(/(shoe)s$/i),"$1"],[(/(o)es$/i),"$1"],[(/(bus)es$/i),"$1"],[(/([m|l])ice$/i),"$1ouse"],[(/(x|ch|ss|sh)es$/i),"$1"],[(/(m)ovies$/i),"$1ovie"],[(/(s)eries$/i),"$1eries"],[(/([^aeiouy]|qu)ies$/i),"$1y"],[(/([lr])ves$/i),"$1f"],[(/(tive)s$/i),"$1"],[(/(hive)s$/i),"$1"],[(/([^f])ves$/i),"$1fe"],[(/(^analy)ses$/i),"$1sis"],[(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i),"$1$2sis"],[(/([ti])a$/i),"$1um"],[(/(n)ews$/i),"$1ews"],[(/(p)eople$/i),"$1erson"],[(/s$/i),""]],uncountable:["sheep","fish","series","species","money","rice","information","equipment","grass","mud","offspring","deer","means"],singular:function(b,a){this.singulars.unshift([b,a])},plural:function(b,a){this.plurals.unshift([b,a])},clearSingulars:function(){this.singulars=[]},clearPlurals:function(){this.plurals=[]},isTransnumeral:function(a){return Ext.Array.indexOf(this.uncountable,a)!=-1},pluralize:function(g){if(this.isTransnumeral(g)){return g}var e=this.plurals,d=e.length,a,c,b;for(b=0;b<d;b++){a=e[b];c=a[0];if(c==g||(c.test&&c.test(g))){return g.replace(c,a[1])}}return g},singularize:function(g){if(this.isTransnumeral(g)){return g}var e=this.singulars,d=e.length,a,c,b;for(b=0;b<d;b++){a=e[b];c=a[0];if(c==g||(c.test&&c.test(g))){return g.replace(c,a[1])}}return g},classify:function(a){return Ext.String.capitalize(this.singularize(a))},ordinalize:function(d){var b=parseInt(d,10),c=b%10,a=b%100;if(11<=a&&a<=13){return d+"th"}else{switch(c){case 1:return d+"st";case 2:return d+"nd";case 3:return d+"rd";default:return d+"th"}}}},function(){var b={alumnus:"alumni",cactus:"cacti",focus:"foci",nucleus:"nuclei",radius:"radii",stimulus:"stimuli",ellipsis:"ellipses",paralysis:"paralyses",oasis:"oases",appendix:"appendices",index:"indexes",beau:"beaux",bureau:"bureaux",tableau:"tableaux",woman:"women",child:"children",man:"men",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",phenomenon:"phenomena",foot:"feet",goose:"geese",tooth:"teeth",antenna:"antennae",formula:"formulae",nebula:"nebulae",vertebra:"vertebrae",vita:"vitae"},a;for(a in b){if(b.hasOwnProperty(a)){this.plural(a,b[a]);this.singular(b[a],a)}}});Ext.define("Ext.data.schema.Namer",{mixins:[Ext.mixin.Factoryable],alias:"namer.default",isNamer:true,capitalize:function(a){return Ext.String.capitalize(a)},fieldRole:function(b){var a=b.match(this.endsWithIdRe,"");if(a){b=b.substr(0,b.length-(a[1]||a[2]).length)}return this.apply("uncapitalize",b)},idField:function(a){return this.apply("uncapitalize,singularize",a)+"Id"},instanceName:function(a){return this.apply("underscore",a)},multiRole:function(a){return this.apply("undotted,uncapitalize,pluralize",a)},pluralize:function(a){return Ext.util.Inflector.pluralize(a)},readerRoot:function(a){return this.apply("uncapitalize",a)},singularize:function(a){return Ext.util.Inflector.singularize(a)},storeName:function(a){return this.apply("underscore",a)},uncapitalize:function(a){return Ext.String.uncapitalize(a)},underscore:function(a){return"_"+a},uniRole:function(a){return this.apply("undotted,uncapitalize,singularize",a)},undotted:function(b){if(b.indexOf(".")<0){return b}var c=b.split("."),a=c.length;while(a-->1){c[a]=this.apply("capitalize",c[a])}return c.join("")},getterName:function(b){var a=b.role;if(b&&b.isMany){return a}return"get"+this.apply("capitalize",a)},inverseFieldRole:function(h,i,e,b){var g=this,a=g.apply(i?"uniRole":"multiRole",h),d=g.apply("pluralize",e),c=g.apply("undotted,pluralize",b);if(d.toLowerCase()!==c.toLowerCase()){a=e+g.apply("capitalize",a)}return a},manyToMany:function(e,d,a){var c=this,b=c.apply("undotted,capitalize,singularize",d)+c.apply("undotted,capitalize,pluralize",a);if(e){b=c.apply("capitalize",e+b)}return b},manyToOne:function(d,b,a,c){return this.apply("capitalize,singularize",a)+this.apply("capitalize",b)},matrixRole:function(c,b){var a=this.apply(c?"multiRole,capitalize":"multiRole",b);return c?c+a:a},oneToOne:function(d,b,a,c){return this.apply("undotted,capitalize,singularize",a)+this.apply("capitalize",b)},setterName:function(a){return"set"+this.apply("capitalize",a.role)},endsWithIdRe:/(?:(_id)|[^A-Z](Id))$/,cache:{},apply:function(e,c){var j=this,b=j.cache,k=b[c]||(b[c]={}),h=k[e],g,d,a;if(!h){if(e.indexOf(",")<0){h=j[e](c)}else{d=(a=e.split(",")).length;h=c;for(g=0;g<d;++g){h=j.apply(a[g],h)}}k[e]=h}return h}});Ext.define("Ext.data.schema.Schema",{mixins:[Ext.mixin.Factoryable],alias:"schema.default",aliasPrefix:"schema.",isSchema:true,type:"default",statics:{instances:{},get:function(d){var g=this,c=g.instances,h="default",b=d&&Ext.isString(d),a,e;if(d){if(d.isSchema){return d}h=b?d:(d.id||h)}if(!(a=c[h])){c[h]=a=g.create(d);a.id=h}else{if(d&&!b){e=Ext.merge({},a.config);Ext.merge(e,d);a.setConfig(e);a.config=e}}return a},lookupEntity:function(a){var d=null,g=this.instances,c,b,e;if(a){if(a.isEntity){d=a.self}else{if(Ext.isFunction(a)){d=a}else{if(Ext.isString(a)){d=Ext.ClassManager.get(a);if(d&&(!d.prototype||!d.prototype.isEntity)){d=null}if(!d){for(b in g){e=g[b];c=e.getEntity(a);if(c){if(d){Ext.raise('Ambiguous entity name "'+a+'". Defined by schema "'+d.schema.type+'" and "'+b+'"')}d=c}}}if(!d){Ext.raise('No such Entity "'+a+'".')}}}}}return d}},assocCount:0,entityCount:0,config:{defaultIdentifier:null,keyCheckDelay:10,namer:"default",namespace:null,proxy:{type:"ajax",url:"{prefix}/{entityName}"},urlPrefix:""},onClassExtended:function(a,c){var b=c.alias;if(b&&!c.type){if(!Ext.isString(b)){b=b[0]}a.prototype.type=b.substring(this.prototype.aliasPrefix.length)}},constructor:function(a){this.initConfig(a);this.clear()},applyDefaultIdentifier:function(a){return a&&Ext.Factory.dataIdentifier(a)},applyNamer:function(b){var a=Ext.data.schema.Namer.create(b);a.schema=this;return a},applyNamespace:function(b){if(b){var a=b.length-1;if(b.charAt(a)!=="."){b+="."}}return b},applyProxy:function(a){return Ext.util.ObjectTemplate.create(a)},eachAssociation:function(d,c){var b=this.associations,a;for(a in b){if(b.hasOwnProperty(a)){if(d.call(c,a,b[a])===false){break}}}},eachEntity:function(c,b){var d=this.entities,a;for(a in d){if(d.hasOwnProperty(a)){if(c.call(b,a,d[a].cls)===false){break}}}},getAssociation:function(a){var b=this.associations[a];return b||null},getEntity:function(a){var b=this.entityClasses[a]||this.entities[a];return(b&&b.cls)||null},getEntityName:function(a){var d=this.getNamespace(),c,b;if(typeof a==="string"){b=a}else{b=a.$className||null}if(b){if(d){c=d.length;if(b.substring(0,c)!==d){return b}}if(c){b=b.substring(c)}}return b},hasAssociations:function(a){a=a.entityName||a;return !!this.associationEntityMap[a]},hasEntity:function(a){var b=this.getEntityName(a);return !!(this.entities[b]||this.entityClasses[b])},addMatrix:function(n,h,d,c,r){var s=this,l=s.getNamer(),p=s.associations,a=s.entities,g=c.type,q=r.type,e=c.field||l.apply("idField",g),j=r.field||l.apply("idField",q),b=c.role||l.matrixRole(d,g),m=r.role||l.matrixRole(d,q),o,i,k;i=a[g]||(a[g]={cls:null,name:g,associations:{}});k=a[q]||(a[q]={cls:null,name:q,associations:{}});++s.assocCount;p[h]=o=new Ext.data.schema.ManyToMany({name:h,schema:s,definedBy:n,left:{cls:i.cls,type:g,role:b,field:e,associationKey:c.associationKey},right:{cls:k.cls,type:q,role:m,field:j,associationKey:r.associationKey}});i.associations[o.right.role]=o.right;k.associations[o.left.role]=o.left;if(i.cls){s.associationEntityMap[i.cls.entityName]=true}if(k.cls){s.associationEntityMap[k.cls.entityName]=true}s.decorateModel(o)},addReference:function(r,a,p,b){var u=this,n=u.getNamer(),d=u.entities,s=u.associations,m=r.entityName,e=p.association,q=!!p.legacy,j=p.child,l=p.parent,o=p.role,t=p.type||l||j,k=p.inverse,i=Ext.isString(k)?{role:k}:k,h=i&&i.role,c,g;if(!o){if(q){o=n.apply("uncapitalize",t)}else{o=n.apply("fieldRole",a.name)}}if(!h){h=n.inverseFieldRole(m,b,o,t)}if(!e){if(b){e=n.oneToOne(r,h,t,o)}else{e=n.manyToOne(r,h,t,o)}}c=d[t]||(d[t]={cls:null,name:t,associations:{}});g=b?Ext.data.schema.OneToOne:Ext.data.schema.ManyToOne;e=new g({name:e,owner:j?"left":(l?"right":null),definedBy:r,schema:u,field:a,nullable:a?!!a.allowBlank:true,legacy:p.legacy,left:{cls:r,type:m,role:h,extra:i},right:{cls:c.cls,type:t,role:o,extra:p}});r.associations[o]=e.right;c.associations[h]=e.left;if(a){a.reference=e.right;r.references.push(a)}++u.assocCount;u.associationEntityMap[m]=true;if(c.cls){u.associationEntityMap[c.cls.entityName]=true}s[e.name]=e;if(e.right.cls){u.decorateModel(e)}},privates:{addEntity:function(d){var j=this,h=j.entities,l=d.entityName,m=h[l],g=d.fields,c,k,e,b,a;if(!m){h[l]=m={name:l,associations:{}}}else{c=m.associations;for(a in c){c[a].inverse.cls=d;j.associationEntityMap[l]=true;j.decorateModel(c[a].association)}}m.cls=d;d.prototype.associations=d.associations=m.associations;j.entityClasses[d.$className]=m;++j.entityCount;for(e=0,b=g.length;e<b;++e){k=g[e];if(k.reference){j.addReferenceDescr(d,k)}}},addMatrices:function(g,a){var e=this,b,d,c;if(Ext.isString(a)){e.addMatrixDescr(g,null,a)}else{if(a[0]){for(b=0,d=a.length;b<d;++b){e.addMatrixDescr(g,null,a[b])}}else{for(c in a){e.addMatrixDescr(g,c,a[c])}}}},addMatrixDescr:function(e,a,g){var h=this,j=e.entityName,d=h.associations,i=h.getNamer(),c=g.left,l=g.right,k,b;if(Ext.isString(g)){if(g.charAt(0)==="#"){c={type:j};l={type:g.substring(1)}}else{if(g.charAt(k=g.length-1)==="#"){c={type:g.substring(0,k)};l={type:j}}else{if(i.apply("multiRole",j)<i.apply("multiRole",g)){c={type:j};l={type:g}}else{c={type:g};l={type:j}}}}}else{b=g.relation;if(c||(!l&&i.apply("multiRole",j)<i.apply("multiRole",g.type))){if(!c||c===true){c={type:j}}else{c=Ext.apply({type:j},c)}l=g}else{if(!l||l===true){l={type:j}}else{l=Ext.apply({type:j},l)}c=g}}if(!a){a=i.manyToMany(b,c.type,l.type)}if(!(a in d)){h.addMatrix(e,a,b,c,l)}},addReferenceDescr:function(b,d){var a=this,c=d.$reference;if(Ext.isString(c)){c={type:c}}else{c=Ext.apply({},c)}if(c.legacy){if(c.single){a.addLegacySingle(b,c)}else{a.addLegacyHasMany(b,c)}}else{a.addReference(b,d,c,d.unique)}},addPending:function(a,c,e,b){var d=this.pending;if(!d[a]){d[a]=[]}d[a].push([c,e,b])},addLegacyBelongsTo:function(a,b){this.addLegacySingle(a,b)},addLegacyHasOne:function(a,b){this.addLegacySingle(a,b)},addLegacySingle:function(c,e){var b,a,d;e=this.constructLegacyAssociation(c,e);e.single=true;a=e.type;b=e.foreignKey||(a.toLowerCase()+"_id");d=c.getField(b);if(d){d.$reference=e}this.addReference(c,d,e,true)},addLegacyHasMany:function(d,j){var k=this,g=k.entities,c=k.pending,a=j.associationKey,m,b,l,i,h,e;j=this.constructLegacyAssociation(d,j);b=j.type;i=g[b];if(i&&i.cls){j.type=d.entityName;h=j.foreignKey||(j.type.toLowerCase()+"_id");m=i.cls;l=m.getField(h);j.inverse=j||{};e=j.name;if(e||a){if(e){j.inverse.role=e}if(a){j.inverse.associationKey=a}}if(l){l.$reference=j}k.addReference(m,l,j,false)}else{if(!c[b]){c[b]=[]}c[b].push([d,j])}},constructLegacyAssociation:function(b,c){if(Ext.isString(c)){c={model:c}}c.legacy=true;c.type=this.getEntityName(c.model);var a=c.associatedName||c.name;if(a){c.role=a}return c},afterLegacyAssociations:function(b){var g=this.pending,c=b.entityName,e=g[c],d,a;if(e){for(d=0,a=e.length;d<a;++d){this.addLegacyHasMany.apply(this,e[d])}delete g[c]}},clear:function(b){var a=this,c=a.timer;delete a.setConfig;if(c){window.clearTimeout(c);a.timer=null}a.associations={};a.associationEntityMap={};a.entities={};a.entityClasses={};a.pending={};a.assocCount=a.entityCount=0;if(b){a.setNamespace(null)}},constructProxy:function(d){var b=this,c=Ext.Object.chain(d),a=b.getProxy();c.schema=b;c.prefix=b.getUrlPrefix();return a.apply(c)},applyDecoration:function(h){var e=this,a=h.inverse.cls,g=e.getNamer(),c,b,d;if(a&&!h.decorated){h.decorated=true;d=a.prototype;if(!(c=h.getterName)){h.getterName=c=g.getterName(h)}d[c]=h.createGetter();if(h.createSetter){if(!(b=h.setterName)){h.setterName=b=g.setterName(h)}d[b]=h.createSetter()}}},decorateModel:function(a){this.applyDecoration(a.left);this.applyDecoration(a.right)},processKeyChecks:function(d){var g=this,b=g.keyCheckQueue,h=g.timer,a,c,e;if(h){window.clearTimeout(h);g.timer=null}if(!b){return}do{b=g.keyCheckQueue;g.keyCheckQueue=[];for(c=0,a=b.length;c<a;++c){e=b[c];e.role.checkKeyForDrop(e.record)}}while(d&&g.keyCheckQueue.length)},queueKeyCheck:function(a,e){var c=this,b=c.keyCheckQueue,d=c.timer;if(!b){c.keyCheckQueue=b=[]}b.push({record:a,role:e});if(!d){c.timer=d=Ext.Function.defer(c.processKeyChecks,c.getKeyCheckDelay(),c)}},rankEntities:function(){var e=this,g=e.entities,a=Ext.Object.getKeys(g),d=a.length,c,b;e.nextRank=1;a.sort();for(b=0;b<d;++b){c=g[a[b]].cls;if(!c.rank){e.rankEntity(c)}}},rankEntity:function(c){var b=c.associations,e,d,a;for(a in b){d=b[a];if(!d.left&&d.association.field){e=d.cls;if(!e.rank){this.rankEntity(e)}}}c.rank=this.nextRank++}}});Ext.define("Ext.data.AbstractStore",{mixins:[Ext.mixin.Observable,Ext.mixin.Factoryable],factoryConfig:{defaultType:"store",type:"store"},$configPrefixed:false,$configStrict:false,config:{filters:null,autoDestroy:undefined,storeId:null,statefulFilters:false,sorters:null,remoteSort:{lazy:true,$value:false},remoteFilter:{lazy:true,$value:false},groupField:undefined,groupDir:"ASC",grouper:null,pageSize:25},currentPage:1,loading:false,isStore:true,updating:0,constructor:function(b){var c=this,a;c.isInitializing=true;c.mixins.observable.constructor.call(c,b);c.isInitializing=false;a=c.getStoreId();if(!a&&(b&&b.id)){c.setStoreId(a=b.id)}if(a){Ext.data.StoreManager.register(c)}},getCount:function(){return this.getData().getCount()},rangeCached:function(b,a){return this.getData().getCount()>=Math.max(b,a)},find:function(g,e,h,i,a,d){var c=!i,b=!!(c&&d);return this.getData().findIndex(g,e,h,c,b,!a)},findRecord:function(){var b=this,a=b.find.apply(b,arguments);return a!==-1?b.getAt(a):null},findExact:function(b,a,c){return this.getData().findIndexBy(function(d){return d.isEqual(d.get(b),a)},this,c)},findBy:function(b,a,c){return this.getData().findIndexBy(b,a,c)},getAt:function(a){return this.getData().getAt(a)||null},getRange:function(d,b,c){var a=this.getData().getRange(d,Ext.isNumber(b)?b+1:b);if(c&&c.callback){c.callback.call(c.scope||this,a,d,b,c)}return a},getFilters:function(b){var a=this.callParent();if(!a&&b!==false){this.setFilters([]);a=this.callParent()}return a},applyFilters:function(b,a){var c;if(!a){a=this.createFiltersCollection();c=true}a.add(b);if(c){this.onRemoteFilterSet(a,this.getRemoteFilter())}return a},getSorters:function(b){var a=this.callParent();if(!a&&b!==false){this.setSorters([]);a=this.callParent()}return a},applySorters:function(b,a){var c;if(!a){a=this.createSortersCollection();c=true}a.add(b);if(c){this.onRemoteSortSet(a,this.getRemoteSort())}return a},filter:function(b,c,a){if(Ext.isString(b)){b={property:b,value:c}}this.suppressNextFilter=!!a;this.getFilters().add(b);this.suppressNextFilter=false},removeFilter:function(a,d){var c=this,b=c.getFilters();c.suppressNextFilter=!!d;if(a instanceof Ext.util.Filter){b.remove(a)}else{b.removeByKey(a)}c.suppressNextFilter=false},updateRemoteSort:function(a){this.onRemoteSortSet(this.getSorters(false),a)},updateRemoteFilter:function(a){this.onRemoteFilterSet(this.getFilters(false),a)},addFilter:function(b,a){this.suppressNextFilter=!!a;this.getFilters().add(b);this.suppressNextFilter=false},filterBy:function(b,a){this.getFilters().add({filterFn:b,scope:a||this})},clearFilter:function(c){var b=this,a=b.getFilters(false);if(!a||a.getCount()===0){return}b.suppressNextFilter=!!c;a.removeAll();b.suppressNextFilter=false},isFiltered:function(){return this.getFilters().getCount()>0},isSorted:function(){var a=this.getSorters(false);return !!(a&&a.length>0)||this.isGrouped()},addFieldTransform:function(e){if(e.getTransform()){return}var d=e.getProperty(),c=this.getModel(),a,b;if(c){a=c.getField(d);b=a?a.getSortType():null}if(b&&b!==Ext.identityFn){e.setTransform(b)}},beginUpdate:function(){if(!this.updating++){this.fireEvent("beginupdate")}},endUpdate:function(){if(this.updating&&!--this.updating){this.fireEvent("endupdate");this.onEndUpdate()}},getState:function(){var e=this,g=[],d=e.getFilters(),b=e.getGrouper(),h,c,a;e.getSorters().each(function(i){g[g.length]=i.getState();c=true});if(e.statefulFilters&&e.saveStatefulFilters){c=true;h=[];d.each(function(i){h[h.length]=i.getState()})}if(b){c=true}if(c){a={};if(g.length){a.sorters=g}if(h){a.filters=h}if(b){a.grouper=b.getState()}}return a},applyState:function(e){var c=this,b=e.sorters,a=e.filters,d=e.grouper;if(b){c.getSorters().replaceAll(b)}if(a){c.saveStatefulFilters=true;c.getFilters().replaceAll(a)}if(d){c.setGrouper(d)}},hasPendingLoad:Ext.emptyFn,isLoaded:Ext.emptyFn,isLoading:Ext.emptyFn,destroy:function(){var a=this;if(a.getStoreId()){Ext.data.StoreManager.unregister(a)}a.callParent();a.onDestroy()},sort:function(c,b,d){var a=this;if(arguments.length===0){if(a.getRemoteSort()){a.load()}else{a.forceLocalSort()}}else{a.getSorters().addSort(c,b,d)}},onBeforeCollectionSort:function(a,b){if(b){this.fireEvent("beforesort",this,b.getRange())}},onSorterEndUpdate:function(){var a=this,b;b=a.getSorters(false);if(a.settingGroups||!b){return}b=b.getRange();if(b.length){if(a.getRemoteSort()){a.load({callback:function(){a.fireEvent("sort",a,b)}})}else{a.fireEvent("datachanged",a);a.fireEvent("refresh",a);a.fireEvent("sort",a,b)}}else{a.fireEvent("sort",a,b)}},onFilterEndUpdate:function(){var b=this,a=b.suppressNextFilter;if(b.getRemoteFilter()){b.currentPage=1;if(!a){b.load()}}else{if(!a){b.fireEvent("datachanged",b);b.fireEvent("refresh",b)}}if(b.trackStateChanges){b.saveStatefulFilters=true}b.fireEvent("filterchange",b,b.getFilters().getRange())},updateGroupField:function(a){if(a){this.setGrouper({property:a,direction:this.getGroupDir()})}else{this.setGrouper(null)}},getGrouper:function(){return this.getData().getGrouper()},group:function(a,d){var b=this,c=b.getSorters(false),e=a||(c&&c.length);if(a&&typeof a==="string"){a={property:a,direction:d||b.getGroupDir()}}b.settingGroups=true;b.getData().setGrouper(a);delete b.settingGroups;if(e){if(b.getRemoteSort()){b.load({scope:b,callback:b.fireGroupChange})}else{b.fireEvent("datachanged",b);b.fireEvent("refresh",b);b.fireGroupChange()}}else{b.fireGroupChange()}},fireGroupChange:function(){if(!this.destroyed){this.fireEvent("groupchange",this,this.getGrouper())}},clearGrouping:function(){this.group(null)},getGroupField:function(){var a=this.getGrouper(),b="";if(a){b=a.getProperty()}return b},isGrouped:function(){return !!this.getGrouper()},applyGrouper:function(a){this.group(a);return this.getData().getGrouper()},getGroups:function(){return this.getData().getGroups()},onEndUpdate:Ext.emptyFn,privates:{loadsSynchronously:Ext.privateFn,onRemoteFilterSet:function(a,b){if(a){a[b?"on":"un"]("endupdate",this.onFilterEndUpdate,this)}},onRemoteSortSet:function(b,c){var a=this;if(b){b[c?"on":"un"]("endupdate",a.onSorterEndUpdate,a);a.getData()[c?"un":"on"]("beforesort",a.onBeforeCollectionSort,a)}}},deprecated:{5:{methods:{destroyStore:function(){this.destroy()}}}}});Ext.define("Ext.data.Error",{isError:true,$configPrefixed:false,config:{field:null,message:""},constructor:function(a){this.initConfig(a);this.msg=this.message}});Ext.define("Ext.data.ErrorCollection",{extend:Ext.util.MixedCollection,alternateClassName:"Ext.data.Errors",init:function(g){var k=this,h=g.fields,d=g.data,m,l,n,e,j,c,b,a;for(e=0,j=h.length;e<j;++e){l=h[e];a=l.name;b=d[a];if(l.validate&&!l.validate.$nullFn){m=k.length;c=l.validate(b,null,k,g);if(m===k.length&&c!==true){k.add(a,c)}}}return k},add:function(b,d){var c=this,a=Ext.data.field.Field.defaultInvalidMessage,g=b,e;if(Ext.isString(b)){g=new Ext.data.Error({field:b,message:d||a})}else{if(!(g.isError)){g=new Ext.data.Error({field:g.field||g.name,message:g.error||g.message||g.msg||a})}b=g.field}e=c.get(b);if(e){if(Ext.isArray(e)){e.push(g);return e}c.removeAtKey(b);g=[e,g];g.field=b;g=[g]}return c.callParent([g])},getKey:function(a){return a.field},isValid:function(){return this.length===0},getByField:function(b){var a=this.get(b);if(a&&!Ext.isArray(a)){a=[a]}return a||[]}});Ext.define("Ext.data.operation.Operation",{alternateClassName:"Ext.data.Operation",isOperation:true,config:{synchronous:false,url:"",params:undefined,callback:undefined,scope:undefined,resultSet:null,response:null,request:null,records:null,id:undefined,proxy:null,batch:null,recordCreator:null,internalCallback:null,internalScope:null},order:0,foreignKeyDirection:1,started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,idPrefix:"ext-operation-",constructor:function(a){var b=a&&a.scope;this.initConfig(a);if(a){a.scope=b}if(b){this.setScope(b);this.initialConfig.scope=b}this._internalId=Ext.id(this,this.idPrefix)},getAction:function(){return this.action},execute:function(){var b=this,a;delete b.error;delete b.success;b.complete=b.exception=false;b.setStarted();b.request=a=b.doExecute();if(a){a.setOperation(b)}return a},doExecute:Ext.emptyFn,abort:function(){var b=this,a=b.request;if(b.running&&a){b.getProxy().abort(a);b.request=null}},process:function(b,d,a,e){var c=this;e=e!==false;c.setResponse(a);c.setResultSet(b);if(b.getSuccess()){c.doProcess(b,d,a);c.setSuccessful(e)}else{if(e){c.setException(b.getMessage())}}},_commitSetOptions:{convert:true,commit:true},doProcess:function(n,g,e){var l=this,d=l._commitSetOptions,a=l.getRecords(),c=a.length,o=a[0].clientIdProperty,p=n.getRecords(),k=p?p.length:0,m,j,b,h;if(k&&o){m=Ext.Array.toValueMap(a,"id");for(h=0;h<k;++h){j=p[h];b=m[j[o]];if(b){delete m[b.id];delete j[o];b.set(j,d)}}for(h in m){m[h].commit()}}else{for(h=0;h<c;++h){b=a[h];if(k===0||!(j=p[h])){b.commit()}else{b.set(j,d)}}}},setStarted:function(){this.started=this.running=true},setCompleted:function(){var b=this,a=b.getProxy();b.complete=true;b.running=false;b.triggerCallbacks();if(a){a.completeOperation(b)}},setSuccessful:function(a){this.success=true;if(a){this.setCompleted()}},setException:function(a){var b=this;b.exception=true;b.success=b.running=false;b.error=a;b.setCompleted()},triggerCallbacks:function(){var a=this,b=a.getInternalCallback();if(b){b.call(a.getInternalScope()||a,a);a.setInternalCallback(null);a.setInternalScope(null)}if(b=a.getCallback()){b.call(a.getScope()||a,a.getRecords(),a,a.wasSuccessful());a.setCallback(null);a.setScope(null)}},hasException:function(){return this.exception},getError:function(){return this.error},getRecords:function(){var a;return this._records||((a=this.getResultSet())?a.getRecords():null)},isStarted:function(){return this.started},isRunning:function(){return this.running},isComplete:function(){return this.complete},wasSuccessful:function(){return this.isComplete()&&this.success===true},allowWrite:function(){return true}});Ext.define("Ext.data.operation.Create",{extend:Ext.data.operation.Operation,alias:"data.operation.create",action:"create",isCreateOperation:true,order:10,config:{recordCreator:Ext.identityFn},doExecute:function(){return this.getProxy().create(this)}});Ext.define("Ext.data.operation.Destroy",{extend:Ext.data.operation.Operation,alias:"data.operation.destroy",action:"destroy",isDestroyOperation:true,order:30,foreignKeyDirection:-1,doProcess:function(){var c=this.getRecords(),a=c.length,b;for(b=0;b<a;++b){c[b].setErased()}},doExecute:function(){return this.getProxy().erase(this)},getRecordData:function(a,c){var e={},d=a.idField,b=this.getNameProperty()||"name";e[d[b]]=a.id;return e}});Ext.define("Ext.data.operation.Read",{extend:Ext.data.operation.Operation,alias:"data.operation.read",action:"read",isReadOperation:true,config:{filters:undefined,sorters:undefined,grouper:undefined,start:undefined,limit:undefined,page:undefined,addRecords:false},doExecute:function(){return this.getProxy().read(this)},doProcess:Ext.emptyFn,allowWrite:function(){return false}});Ext.define("Ext.data.operation.Update",{extend:Ext.data.operation.Operation,alias:"data.operation.update",action:"update",isUpdateOperation:true,order:20,config:{recordCreator:Ext.identityFn},doExecute:function(){return this.getProxy().update(this)}});Ext.define("Ext.data.SortTypes",{singleton:true,none:Ext.identityFn,stripCommasRe:/,/g,stripTagsRE:/<\/?[^>]+>/gi,asText:function(a){return(a!=null)?String(a).replace(this.stripTagsRe,""):"\x00"},asUCText:function(a){return(a!=null)?String(a).toUpperCase().replace(this.stripTagsRe,""):"\x00"},asUCString:function(a){return(a!=null)?String(a).toUpperCase():"\x00"},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){var b=parseFloat(String(a).replace(this.stripCommasRe,""));return isNaN(b)?0:b},asInt:function(a){var b=parseInt(String(a).replace(this.stripCommasRe,""),10);return isNaN(b)?0:b}});Ext.define("Ext.data.validator.Validator",{mixins:[Ext.mixin.Factoryable],alias:"data.validator.base",isValidator:true,type:"base",statics:{all:{},register:function(b,a){var c=this.all;c[b.toUpperCase()]=c[b.toLowerCase()]=c[b]=a.prototype}},onClassExtended:function(a,b){if(b.type){Ext.data.validator.Validator.register(b.type,a)}},constructor:function(a){if(typeof a==="function"){this.fnOnly=true;this.validate=a}else{this.initConfig(a)}},validate:function(){return true},clone:function(){var a=this;if(a.fnOnly){return new Ext.data.validator.Validator(a.validate)}return new a.self(a.getCurrentConfig())}},function(){this.register(this.prototype.type,this)});Ext.define("Ext.data.field.Field",{mixins:[Ext.mixin.Factoryable],alternateClassName:"Ext.data.Field",alias:"data.field.auto",aliasPrefix:"data.field.",type:"auto",factoryConfig:{defaultProperty:"name"},isDataField:true,isField:true,allowBlank:true,allowNull:false,critical:false,defaultInvalidMessage:"This field is invalid",defaultValue:undefined,definedBy:null,depends:null,dependents:null,mapping:null,name:null,ordinal:undefined,persist:null,reference:null,unique:false,rank:null,stripRe:/[\$,%]/g,calculated:false,evil:false,identifier:false,onClassExtended:function(c,e){var g=e.sortType,d=c.prototype,a=d.validators,b=e.validators;if(g&&Ext.isString(g)){d.sortType=Ext.data.SortTypes[g]}if(b){if(!Ext.isArray(b)){b=[b]}delete e.validators;if(a){b=a.concat(b)}d.validators=b}},argumentNamesRe:/^function\s*\(\s*([^,\)\s]+)/,calculateRe:/[^\.a-z0-9_]([a-z_][a-z_0-9]*)\.([a-z_][a-z_0-9]*)/gi,constructor:function(d){var l=this,n=l.calculateRe,h,o,m,i,c,a,j,b,k,e,g;if(d){if(Ext.isString(d)){l.name=d}else{g=d.validators;if(g){delete d.validators;l.instanceValidators=g}Ext.apply(l,d)}}if(!l.allowNull){l.allowNull=!!l.reference}h=l.calculate;c=l.depends;if(h){l.convert=l.doCalculate;if(!c){if(!(c=h.$depends)){a={};k=h.toString();h.$depends=c=[];j=l.argumentNamesRe.exec(k);b=j?j[1]:"data";while((j=n.exec(k))){if(b===j[1]&&!a[e=j[2]]){a[e]=1;c.push(e)}}}l.depends=c}}m=l.defaultValue;if(l.convert){l.calculated=o=l.convert.length>1;l.evil=o&&!c}if(l.persist===null){l.persist=!h}i=l.sortType;if(!l.sortType){l.sortType=Ext.data.SortTypes.none}else{if(Ext.isString(i)){l.sortType=Ext.data.SortTypes[i]}}if(c&&typeof c==="string"){l.depends=[c]}l.cloneDefaultValue=m!==undefined&&(Ext.isDate(m)||Ext.isArray(m)||Ext.isObject(m))},setModelValidators:function(a){this._validators=null;this.modelValidators=a},compileValidators:function(){var a=this;a._validators=[];a.constructValidators(a.validators);a.constructValidators(a.modelValidators);a.constructValidators(a.instanceValidators)},constructValidators:function(a){if(a){if(!(a instanceof Array)){a=[a]}var e=a.length,c=this._validators,b,d;for(b=0;b<e;++b){d=a[b];if(d.fn){d=d.fn}c.push(Ext.Factory.dataValidator(d))}}},collate:function(c,b){var d=this,a=c,e=b;if(d.sortType){a=d.sortType(a);e=d.sortType(e)}return(a===e)?0:((a<e)?-1:1)},compare:function(b,a){return(b===a)?0:((b<a)?-1:1)},isEqual:function(b,a){return this.compare(b,a)===0},convert:null,serialize:null,validate:function(l,e,k,g){var j=this,h="",m,a,c,b,d;if(!j._validators){j.compileValidators()}c=j._validators;for(d=0,b=c.length;d<b;++d){a=c[d];m=a.validate(l,g);if(m!==true){m=m||j.defaultInvalidMessage;if(k){k.add(j.name,m);h=h||m}else{if(e){if(h){h+=e}h+=m}else{h=m;break}}}}return h||true},doCalculate:function(a,b){return b?this.calculate(b.data):a},getName:function(){return this.name},getAllowBlank:function(){return this.allowBlank},getAllowNull:function(){return this.allowNull},getConvert:function(){return this.convert},getDefaultValue:function(){return this.defaultValue},getDepends:function(){return this.depends},getMapping:function(){return this.mapping},hasMapping:function(){var a=this.mapping;return !!(a||a===0)},getPersist:function(){return this.persist},getSortType:function(){return this.sortType},getType:function(){return"auto"},deprecated:{5.1:{methods:{getSortDir:function(){return this.sortDir}}}}});Ext.define("Ext.data.field.Boolean",{extend:Ext.data.field.Field,alias:["data.field.bool","data.field.boolean"],isBooleanField:true,trueRe:/^\s*(?:true|yes|on|1)\s*$/i,convert:function(a){if(typeof a==="boolean"){return a}if(this.allowNull&&(a===undefined||a===null||a==="")){return null}return this.trueRe.test(String(a))},getType:function(){return"bool"}});Ext.define("Ext.data.field.Date",{extend:Ext.data.field.Field,alias:"data.field.date",sortType:"asDate",isDateField:true,dateFormat:null,dateReadFormat:null,dateWriteFormat:null,compare:function(b,e){var d=b instanceof Date,c=e instanceof Date,a;if(c&&d){a=b.getTime()-e.getTime();if(a===0){a=0}else{a=a<0?-1:1}}else{if(d===c){a=0}else{a=d?1:-1}}return a},convert:function(c){if(!c){return null}if(c instanceof Date){return c}var a=this.dateReadFormat||this.dateFormat,b;if(a){return Ext.Date.parse(c,a)}b=Date.parse(c);return b?new Date(b):null},serialize:function(b){var a=null,c;if(Ext.isDate(b)){c=this.getDateWriteFormat();a=c?Ext.Date.format(b,c):b}return a},getDateFormat:function(){return this.dateFormat},getDateReadFormat:function(){return this.dateReadFormat},getDateWriteFormat:function(){var a=this;if(a.hasOwnProperty("dateWriteFormat")){return a.dateWriteFormat}if(a.hasOwnProperty("dateFormat")){return a.dateFormat}return a.dateWriteFormat||a.dateFormat||"timestamp"},getType:function(){return"date"}});Ext.define("Ext.data.field.Integer",{extend:Ext.data.field.Field,alias:["data.field.int","data.field.integer"],isNumeric:true,isIntegerField:true,numericType:"int",convert:function(b){if(typeof b==="number"){return this.getNumber(b)}var d=b===undefined||b===null||b==="",a=this.allowNull,c;if(d){c=a?null:0}else{c=this.parse(b);if(a&&isNaN(c)){c=null}}return c},getNumber:function(a){return parseInt(a,10)},getType:function(){return this.numericType},parse:function(a){return parseInt(String(a).replace(this.stripRe,""),10)},sortType:function(a){if(a==null){a=Infinity}return a}});Ext.define("Ext.data.field.Number",{extend:Ext.data.field.Integer,alias:["data.field.float","data.field.number"],isIntegerField:false,isNumberField:true,numericType:"float",getNumber:Ext.identityFn,parse:function(a){return parseFloat(String(a).replace(this.stripRe,""))}});Ext.define("Ext.data.field.String",{extend:Ext.data.field.Field,alias:"data.field.string",sortType:"asUCString",isStringField:true,convert:function(b){var a=this.allowNull?null:"";return(b===undefined||b===null)?a:String(b)},getType:function(){return"string"}});Ext.define("Ext.data.identifier.Generator",{"abstract":true,mixins:[Ext.mixin.Factoryable],alias:"data.identifier.default",factoryConfig:{defaultType:"sequential"},isGenerator:true,config:{id:null},constructor:function(b){var c=this,a,d;c.initConfig(b);d=c.getId();if(d){a=(b&&b.cache)||Ext.data.identifier.Generator.all;a[d]=c}},privates:{clone:function(b){var a=this.getInitialConfig();a=b?Ext.apply({},b,a):a;return new this.self(a)},statics:{all:{}}}},function(){var c=this,a=Ext.Factory,b=a.dataIdentifier;a.dataIdentifier=function(d){var g=Ext.isString(d)?d:(d&&d.id),e=g&&((d&&d.cache)||c.all)[g];return e||b(d)}});Ext.define("Ext.data.identifier.Sequential",{extend:Ext.data.identifier.Generator,alias:"data.identifier.sequential",config:{increment:1,prefix:null,seed:1},generate:function(){var b=this,a=b._seed,c=b._prefix;b._seed+=b._increment;return(c!==null)?c+a:a}});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",isEntity:true,isModel:true,validIdRe:null,erasing:false,observableType:"record",constructor:function(e,m){var n=this,q=n.self,l=q.identifier,c=Ext.data.Model,o=c.identifier,p=n.idField.name,k,a,b,j,h,d,g;n.data=n.data=e||(e={});n.session=m||null;n.internalId=j=o.generate();if((k=e) instanceof Array){n.data=e={};g=n.getFields();h=Math.min(g.length,k.length);for(d=0;d<h;++d){e[g[d].name]=k[d]}}if(!(b=q.initializeFn)){q.initializeFn=b=c.makeInitializeFn(q)}if(!b.$nullFn){q.initializeFn(n)}if(!(n.id=a=e[p])&&a!==0){if(m){l=m.getIdentifier(q);a=l.generate()}else{if(o===l){a=j}else{a=l.generate()}}e[p]=n.id=a;n.phantom=true}if(m){m.add(n)}if(n.init&&Ext.isFunction(n.init)){n.init()}},editing:false,dirty:false,session:null,dropped:false,erased:false,clientIdProperty:null,evented:false,phantom:false,idProperty:"id",manyToMany:null,identifier:null,previousValues:undefined,proxy:undefined,schema:"default",versionProperty:null,generation:1,validationSeparator:null,convertOnSet:true,beginEdit:function(){var c=this,b=c.modified,a=c.previousValues;if(!c.editing){c.editing=true;c.editMemento={dirty:c.dirty,data:Ext.apply({},c.data),generation:c.generation,modified:b&&Ext.apply({},b),previousValues:a&&Ext.apply({},a)}}},cancelEdit:function(){var b=this,a=b.editMemento;if(a){b.editing=false;Ext.apply(b,a);b.editMemento=null}},endEdit:function(b,d){var c=this,a=c.editMemento;if(a){c.editing=false;c.editMemento=null;c.previousValues=a.previousValues;if(!b){if(!d){d=c.getModifiedFieldNames(a.data)}if(c.dirty||(d&&d.length)){c.callJoined("afterEdit",[d])}}}},getField:function(a){return this.self.getField(a)},getFields:function(){return this.self.getFields()},getFieldsMap:function(){return this.fieldsMap},getIdProperty:function(){return this.idProperty},getId:function(){return this.id},getObservableId:function(){return this.internalId},setId:function(b,a){this.set(this.idProperty,b,a)},getPrevious:function(b){var a=this.previousValues;return a&&a[b]},isModified:function(b){var a=this.modified;return !!(a&&a.hasOwnProperty(b))},getModified:function(b){var a;if(this.isModified(b)){a=this.modified[b]}return a},get:function(a){return this.data[a]},_singleProp:{},_rejectOptions:{convert:false,silent:true},set:function(g,v,h){var H=this,d=H.self,I=H.data,o=H.modified,w=H.previousValues,a=H.session,G=Ext.isString(g),b=(G?h:v),r=b?b.convert!==false:H.convertOnSet,k=H.fieldsMap,E=b&&b.silent,s=b&&b.commit,q=!(b&&b.refs===false)&&a,p=!(b&&b.dirty===false&&!s),B=null,t,c,D,K,J,y,j,n,x,C,z=0,F,u,m,l,A,e;if(G){e=H._singleProp;e[g]=v}else{e=g}if(!(m=d.rankedFields)){m=d.rankFields()}F=m.length;do{for(J in e){A=e[J];t=I[J];j=H;c=k[J];if(c){if(r&&c.convert){A=c.convert(A,H)}j=c;l=c.reference}else{l=null}if(j.isEqual(t,A)){continue}I[J]=A;(B||(B=[])).push(J);(w||(H.previousValues=w={}))[J]=t;if(l&&l.cls){if(q){a.updateReference(H,c,A,t)}l.onValueChange(H,a,A,t)}C=(x=c&&c.dependents)&&x.length;while(C-->0){(n=x[C]).dirty=true;z=z?Math.min(z,n.rank):n.rank}if(!c||c.persist){if(o&&o.hasOwnProperty(J)){if(!p||j.isEqual(o[J],A)){delete o[J];H.dirty=-1}}else{if(p){if(!o){H.modified=o={}}H.dirty=true;o[J]=t}}}if(J===H.idField.name){D=true;y=t;u=A}}if(!z){break}c=m[z-1];c.dirty=false;if(G){delete e[g]}else{e=H._singleProp;G=true}g=c.name;e[g]=I[g];r=true;for(;z<F;++z){if(m[z].dirty){break}}if(z<F){++z}else{z=0}}while(1);if(H.dirty<0){H.dirty=false;for(K in o){if(o.hasOwnProperty(K)){H.dirty=true;break}}}if(G){delete e[g]}++H.generation;if(D){H.id=u;H.callJoined("onIdChanged",[y,u])}if(s){H.commit(E,B)}else{if(!E&&!H.editing&&B){H.callJoined("afterEdit",[B])}}return B},reject:function(a){var c=this,b=c.modified;if(b){c.set(b,c._rejectOptions)}c.dropped=false;c.clearState();if(!a){c.callJoined("afterReject")}},commit:function(b,d){var c=this,g=c.versionProperty,e=c.data,a;c.clearState();if(g&&!c.phantom&&!isNaN(e[g])){++e[g]}c.phantom=false;if(c.dropped){c.erased=a=true}if(!b){if(a){c.callJoined("afterErase")}else{c.callJoined("afterCommit",[d])}}},clearState:function(){var a=this;a.dirty=a.editing=false;a.editMemento=a.modified=null},drop:function(b){var d=this,c=d.associations,e=d.session,a;if(d.erased||d.dropped){return}d.dropped=true;if(c&&b!==false){for(a in c){c[a].onDrop(d,e)}}d.callJoined("afterDrop");if(d.phantom){d.setErased()}},join:function(b){var a=this,c=a.joined;if(!c){c=a.joined=[b]}else{if(!c.length){c[0]=b}else{Ext.Array.include(c,b)}}if(b.isStore&&!a.store){a.store=b}},unjoin:function(e){var d=this,g=d.joined,a=g&&g.length,b=d.store,c;if(a===1&&g[0]===e){g.length=0}else{if(a){Ext.Array.remove(g,e)}}if(b===e){b=null;if(g){for(c=0,a=g.length;c<a;++c){e=g[c];if(e.isStore){b=e;break}}}d.store=b}},clone:function(d){var c=this,b=c.modified,a=c.copy(c.id,d);if(b){a.modified=Ext.apply({},b)}a.dirty=c.dirty;a.dropped=c.dropped;a.phantom=c.phantom;return a},copy:function(c,g){var d=this,e=Ext.apply({},d.data),b=d.idProperty,a=d.self;if(c||c===0){e[b]=c}else{if(c===null){delete e[b]}}return new a(e,g)},getProxy:function(){return this.self.getProxy()},getValidation:function(b){var c=this,a=c.validation;if(!a){c.validation=a=new Ext.data.Validation();a.attach(c)}if(b===true||(b!==false&&a.syncGeneration!==c.generation)){a.refresh(b)}return a},validate:function(){return new Ext.data.ErrorCollection().init(this)},isValid:function(){return this.getValidation().isValid()},toUrl:function(){var b=this.$className.split("."),a=b[b.length-1].toLowerCase();return a+"/"+this.getId()},erase:function(a){var b=this;b.erasing=true;b.drop();b.erasing=false;return b.save(a)},setErased:function(){this.erased=true;this.callJoined("afterErase")},getChanges:function(){return this.getData(this._getChangesOptions)},getCriticalFields:function(){var a=this.self,b=a.criticalFields;if(!b){a.rankFields();b=a.criticalFields}return b},getAssociatedData:function(r,q){var m=this,c=m.associations,o,h,p,l,d,b,k,g,e,a,j,n;r=r||{};m.$gathering=1;if(q){q=Ext.Object.chain(q)}for(e in c){g=c[e];p=g.getAssociatedItem(m);if(!p||p.$gathering){continue}if(p.isStore){p.$gathering=1;l=p.getData().items;b=l.length;d=[];for(h=0;h<b;++h){k=l[h];o=!k.$gathering;k.$gathering=1;if(q){n=q.associated;if(n===undefined){q.associated=o;j=true}else{if(!o){q.associated=false;j=true}}a=q}else{a=o?m._getAssociatedOptions:m._getNotAssociatedOptions}d.push(k.getData(a));if(j){q.associated=n;j=false}delete k.$gathering}delete p.$gathering}else{a=q||m._getAssociatedOptions;if(q&&q.associated===undefined){a.associated=true}d=p.getData(a)}r[e]=d}delete m.$gathering;return r},getData:function(s){var k=this,j={},a=(s===true)?k._getAssociatedOptions:(s||j),e=k.data,l=a.associated,p=a.changes,o=p&&a.critical,i=p?k.modified:e,h=k.fieldsMap,g=a.persist,r=a.serialize,c,m,d,b,q;if(i){for(b in i){q=e[b];m=h[b];if(m){if(g&&!m.persist){continue}if(r&&m.serialize){q=m.serialize(q,k)}}j[b]=q}}if(o){c=k.self.criticalFields||k.getCriticalFields();for(d=c.length;d-->0;){b=(m=c[d]).name;if(!(b in j)){q=e[b];if(r&&m.serialize){q=m.serialize(q,k)}j[b]=q}}}if(l){k.getAssociatedData(j,a)}return j},getTransientFields:function(){var a=this.self,b=a.transientFields;if(!b){a.rankFields();b=a.transientFields}return b},isLoading:function(){return !!this.loadOperation},abort:function(){var a=this.loadOperation;if(a){a.abort()}},load:function(b){b=Ext.apply({},b);var g=this,e=b.scope||g,c=g.getProxy(),i=b.callback,a=g.loadOperation,h=g.getId(),d;if(a){d=a.extraCalls;if(!d){d=a.extraCalls=[]}d.push(b);return a}b.id=h;b.recordCreator=function(l,j,k){var m=g.session;if(k){k.recordCreator=m?m.recordCreator:null}g.set(l,g._commitOptions);return g};b.internalCallback=function(l){var p=l.wasSuccessful()&&l.getRecords().length>0,q=g.loadOperation,n=q.extraCalls,k=[g,l],o=[g,l,p],m,j;g.loadOperation=null;if(p){Ext.callback(b.success,e,k)}else{Ext.callback(b.failure,e,k)}Ext.callback(i,e,o);if(n){for(m=0,j=n.length;m<j;++m){b=n[m];if(p){Ext.callback(b.success,e,k)}else{Ext.callback(b.failure,e,k)}Ext.callback(b.callback,e,o)}}g.callJoined("afterLoad")};delete b.callback;g.loadOperation=a=c.createOperation("read",b);a.execute();return a},save:function(j){j=Ext.apply({},j);var g=this,d=g.phantom,a=g.dropped,c=a?"destroy":(d?"create":"update"),i=j.scope||g,h=j.callback,e=g.getProxy(),b;j.records=[g];j.internalCallback=function(k){var l=[g,k],m=k.wasSuccessful();if(m){Ext.callback(j.success,i,l)}else{Ext.callback(j.failure,i,l)}l.push(m);Ext.callback(h,i,l)};delete j.callback;b=e.createOperation(c,j);if(a&&d){b.setResultSet(Ext.data.reader.Reader.prototype.nullResultSet);g.setErased();b.setSuccessful(true)}else{b.execute()}return b},inheritableStatics:{addFields:function(a){this.replaceFields(a)},replaceFields:function(n,k){var o=this,e=o.prototype,j=Ext.data.field.Field,g=o.fields,m=o.fieldsMap,c=o.fieldOrdinals,p,d,b,h,a,l;if(k===true){g.length=0;o.fieldsMap=m={};o.fieldOrdinals=c={}}else{if(k){for(d=k.length;d-->0;){a=k[d];if(a in c){delete c[a];delete m[a]}}for(d=0,h=g.length;d<h;++d){a=(p=g[d]).name;if(a in c){c[a]=d}else{g.splice(d,1);--d;--h}}}}for(d=0,h=n?n.length:0;d<h;d++){a=(p=n[d]).name;if(!(a in c)){c[a]=l=g.length;g.push(p=j.create(p));m[a]=p;p.ordinal=l;p.definedBy=p.owner=this}}o.idField=e.idField=b=m[e.idProperty];b.allowNull=b.critical=b.identifier=true;b.defaultValue=null;o.initializeFn=o.rankedFields=o.transientFields=o.criticalFields=null},removeFields:function(a){this.replaceFields(null,a)},getIdFromData:function(c){var b=this,a=b.idField,d=a.calculated?(new b(c)).id:c[a.name];return d},createWithId:function(g,b,c){var e=b,a=this;if(g||g===0){e={};if(b){Ext.apply(e,b)}e[a.idField.name]=g}return new a(e,c)},getFields:function(){return this.fields},getFieldsMap:function(){return this.fieldsMap},getField:function(a){return this.fieldsMap[a]||null},getProxy:function(){var b=this,a=b.proxy,d=b.defaultProxy,c;if(!a){a=b.proxyConfig;if(!a&&d){a=d}if(!a||!a.isProxy){if(typeof a==="string"){a={type:a}}c=b.schema.constructProxy(b);a=a?Ext.merge(c,a):c}a=b.setProxy(a)}return a},setProxy:function(b){var c=this,a;if(b){if(!b.isProxy){b=Ext.Factory.proxy(b)}else{a=b.getModel();if(a&&a!==c){b=b.clone()}}b.setModel(c)}return(c.prototype.proxy=c.proxy=b)},load:function(e,a,c){var b={},d;b[this.prototype.idProperty]=e;d=new this(b,c);d.load(a);return d}},deprecated:{5:{methods:{hasId:null,markDirty:null,setDirty:null,eachStore:function(g,d){var e=this,b=e.stores,a=b.length,c;for(c=0;c<a;++c){g.call(d,b[c])}},join:function(c){var b=this,a=b.stores,d=b.joined;if(!d){d=b.joined=[c]}else{d.push(c)}if(c.isStore){b.store=b.store||c;if(!a){a=b.stores=[]}a.push(c)}},unjoin:function(c){var b=this,a=b.stores,d=b.joined;if(d.length===1){d.length=0}else{Ext.Array.remove(d,c)}if(c.isStore){Ext.Array.remove(a,c);b.store=a[0]||null}}},properties:{persistenceProperty:null},inheritableStatics:{methods:{setFields:null}}}},privates:{_commitOptions:{commit:true},_getChangesOptions:{changes:true},_getAssociatedOptions:{associated:true},_getNotAssociatedOptions:{associated:false},copyFrom:function(j){var h=this,e=h.fields,m=e.length,b=[],k,c=0,g,d,n=h.idProperty,a,l;if(j){g=h.data;d=j.data;for(;c<m;c++){k=e[c];a=k.name;if(a!==n){l=d[a];if(l!==undefined&&!h.isEqual(g[a],l)){g[a]=l;b.push(a)}}}if(h.phantom&&!j.phantom){h.beginEdit();h.setId(j.getId());h.endEdit(true);h.commit(true)}}return b},callJoined:function(d,c){var g=this,j=g.joined,e=g.session,a,b,h,k;if(!j&&!e){return}if(c){c.unshift(g)}else{c=[g]}if(j){for(a=0,b=j.length;a<b;++a){k=j[a];if(k&&(h=k[d])){h.apply(k,c)}}}h=e&&e[d];if(h){h.apply(e,c)}},setSession:function(a){this.session=a;if(a){a.add(this)}},getModifiedFieldNames:function(a){var d=this,e=d.data,b=[],g=a||d.editMemento.data,c;for(c in e){if(e.hasOwnProperty(c)){if(!d.isEqual(e[c],g[c],c)){b.push(c)}}}return b},isEqual:function(a,d,c){var b;if(c){b=c.isField?c:this.fieldsMap[c];if(b){return b.isEqual(a,d)}}if(a instanceof Date&&d instanceof Date){return a.getTime()===d.getTime()}return a===d},statics:{EDIT:"edit",REJECT:"reject",COMMIT:"commit",defaultProxy:"memory",rankFields:function(){var k=this,j=k.prototype,d=k.fields,b=d.length,g=[],a=[],e=[],l,h,c;k.rankedFields=j.rankedFields=g;k.criticalFields=j.criticalFields=a;k.transientFields=j.transientFields=e;for(c=0;c<b;++c){h=d[c];if(h.critical){a.push(h)}if(!h.persist){e.push(h)}if(h.evil){(l||(l=[])).push(h)}else{if(!h.depends){g.push(h);h.rank=g.length}}}for(c=0;c<b;++c){if(!(h=d[c]).rank&&!h.evil){k.topoAdd(h)}}if(l){for(c=0,b=l.length;c<b;++c){g.push(h=l[c]);h.rank=g.length}}return g},topoAdd:function(h){var b=this,g=h.depends,a=g?g.length:0,d=b.rankedFields,c,e;for(c=0;c<a;++c){e=b.fieldsMap[g[c]];(e.dependents||(e.dependents=[])).push(h);if(!e.rank){b.topoAdd(e)}}d.push(h);h.rank=d.length},initFields:function(w,b,p){var k=Ext.data.field.Field,d=w.fields,q=[],l={},g={},a=[],v=p.fields,m=w.versionProperty||p.versionProperty,n=b.idProperty,h,c,t,e,x,s,j,u,r,o;b.fields=p.fields=q;b.fieldOrdinals=p.fieldOrdinals=l;b.fieldsMap=p.fieldsMap=g;b.references=p.references=a;if(v){for(t=0,e=v.length;t<e;++t){q[t]=c=Ext.Object.chain(v[t]);c.dependents=null;c.owner=b;l[x=c.name]=t;g[x]=c;c.rank=null;if(c.generated){u=c;r=c.name}}}if(d){delete w.fields;for(t=0,e=d.length;t<e;++t){c=d[t];j=c.reference;if(j&&typeof j!=="string"){j=Ext.merge({},j)}c.$reference=j;c=k.create(d[t]);x=c.name;s=l[x];if(s===undefined){l[x]=s=q.length}g[x]=c;q[s]=c;c.definedBy=c.owner=b;c.ordinal=s;if(x===n){o=c}}}h=g[n];if(!h){if(u&&u.generated){s=u.ordinal}else{s=q.length}delete g[r];delete l[r];h=new k(n);q[s]=h;l[n]=s;g[n]=h;h.definedBy=b;h.ordinal=s;h.generated=true}else{if(o&&u&&u.generated){Ext.Array.remove(q,u);delete g[r];delete l[r];g[n]=o;for(t=0,e=q.length;t<e;++t){c=q[t];q.ordinal=t;l[c.name]=t}}}h.allowNull=h.critical=h.identifier=true;h.defaultValue=null;b.idField=p.idField=h;if(m){c=g[m];if(!c){s=q.length;c=new k({name:m,type:"int"});q[s]=c;l[m]=s;g[m]=c;c.definedBy=b;c.ordinal=s;c.generated=true}c.defaultValue=1;c.critical=true}},initValidators:function(h,p,k){var n=k.validators,e,m,c,l,g,d,j,b,a,o;if(n){e={};for(m in n){e[m]=Ext.Array.clone(n[m])}}l=h.validators||h.validations;if(l){delete h.validators;e=e||{};if(Ext.isArray(l)){c={};for(g=0,d=l.length;g<d;++g){o=l[g];b=o.field;if(!c[b]){c[b]=[]}o=o.fn||o;c[b].push(o)}l=c}for(b in l){j=l[b];if(!Ext.isArray(j)){j=[j]}a=e[b];if(e[b]){Ext.Array.push(a,j)}else{e[b]=j}}}if(e){for(b in e){m=p.getField(b);if(m){m.setModelValidators(e[b])}}}p.validators=k.validators=e},initAssociations:function(c,g,l){var b=g.associations,d=g.belongsTo,j=g.hasMany,m=g.hasOne,k=g.manyToMany,e,a,h;delete g.manyToMany;if(k){c.addMatrices(l,k)}delete g.associations;delete g.belongsTo;delete g.hasMany;delete g.hasOne;if(b){b=Ext.isArray(b)?b:[b];for(e=0,a=b.length;e<a;++e){h=b[e];switch(h.type){case"belongsTo":c.addLegacyBelongsTo(l,h);break;case"hasMany":c.addLegacyHasMany(l,h);break;case"hasOne":c.addLegacyHasOne(l,h);break}}}if(d){d=Ext.isArray(d)?d:[d];for(e=0,a=d.length;e<a;++e){c.addLegacyBelongsTo(l,d[e])}}if(j){j=Ext.isArray(j)?j:[j];for(e=0,a=j.length;e<a;++e){c.addLegacyHasMany(l,j[e])}}if(m){m=Ext.isArray(m)?m:[m];for(e=0,a=m.length;e<a;++e){c.addLegacyHasOne(l,m[e])}}c.afterLegacyAssociations(l)},initIdentifier:function(g,a,e){var b=g.identifier||g.idgen,d=e.identifier||a.schema._defaultIdentifier,c;if(b){delete g.identifier;delete g.idgen;b=Ext.Factory.dataIdentifier(b)}else{if(d){if(d.clone&&!d.getId()){b=d.clone()}else{if(d.isGenerator){b=d}else{b=Ext.Factory.dataIdentifier(d)}}}}a.identifier=e.identifier=b;if(!b){c=a.entityName;if(!c){c=Ext.id(null,"extModel")}a.identifier=Ext.Factory.dataIdentifier({type:"sequential",prefix:c+"-"})}},findValidator:function(c,d,b){var g=b.type||b,j=c[d],a,e,h;if(j){for(e=0,a=j.length;e<a;++e){h=j[e];if(h.type===g){return h}}}return null},makeInitializeFn:function(r){var a=["var "],j=["\nreturn function (e) {\n var data = e.data, v;\n"],e=[],o=0,l,k,m,q,d,n,h,g,p,c,b;if(!(h=r.rankedFields)){h=r.rankFields()}for(c=0,b=h.length;c<b;++c){n=h[c];e[c]=g="f"+c;m=n.convert;if(c){a.push(", \n ")}a.push(g," = $fields["+c+"]");if((p=(n.defaultValue!==undefined))||m){q='data["'+n.name+'"]';++o;l=k="";if(n.cloneDefaultValue){l="Ext.clone(";k=")"}j.push("\n");if(m&&p){j.push(" v = ",q,";\n if (v !== undefined) {\n v = ",g,".convert(v, e);\n }\n if (v === undefined) {\n v = ",l,g,".defaultValue",k,";\n }\n ",q," = v;")}else{if(m){j.push(" v = ",g,".convert(",q,",e);\n if (v !== undefined) {\n ",q," = v;\n }\n")}else{if(p){j.push(" if (",q," === undefined) {\n ",q," = ",l,g,".defaultValue",k,";\n }\n")}}}}}if(!o){return Ext.emptyFn}a.push(";\n");a.push.apply(a,j);a.push("}");a=a.join("");d=new Function("$fields","Ext",a);return d(h,Ext)}}}},function(){var d=this,c=d.prototype,b=Ext.data.schema.Schema,a;d.proxyConfig=c.proxy;delete c.proxy;d.fields=[];d.fieldsMap=c.fieldsMap={};d.schema=c.schema=b.get(c.schema);c.idField=new Ext.data.field.Field(c.idProperty);d.identifier=new Ext.data.identifier.Sequential();d.onExtended(function(e,k){var j=e.prototype,m=k.schema,l=j.superclass.self,i,h,g;e.idProperty=k.idProperty||j.idProperty;if(m){delete k.schema;i=b.get(m)}else{if(!(i=j.schema)){i=a||(a=b.get("default"))}}e.rankFields=d.rankFields;e.topoAdd=d.topoAdd;j.schema=e.schema=i;if(!(h=k.entityName)){j.entityName=h=i.getEntityName(e)}e.entityName=h;e.fieldExtractors={};d.initIdentifier(k,e,j);d.initFields(k,e,j);d.initValidators(k,e,j);e.fields.items=e.fields;if(h){i.addEntity(e);d.initAssociations(i,k,e)}g=k.proxy;if(g){delete k.proxy}else{if(l!==d){g=l.proxyConfig||l.proxy}}e.proxyConfig=g})});Ext.define("Ext.data.ResultSet",{isResultSet:true,$configPrefixed:false,config:{loaded:true,count:null,total:null,success:false,records:null,message:null},constructor:function(a){this.initConfig(a)},getCount:function(){var b=this.callParent(),a;if(!b){a=this.getRecords();if(a){b=a.length}}return b}});Ext.define("Ext.data.reader.Reader",{alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],mixins:[Ext.mixin.Observable,Ext.mixin.Factoryable],alias:"reader.base",factoryConfig:{defaultType:null},config:{totalProperty:"total",successProperty:"success",rootProperty:"",messageProperty:"",typeProperty:"",implicitIncludes:true,readRecordsOnFailure:true,model:null,proxy:null,transform:null,keepRawData:null},isReader:true,constructor:function(a){if(a&&a.hasOwnProperty("root")){a=Ext.apply({},a);a.rootProperty=a.root;delete a.root}var b=this;b.duringInit=1;b.mixins.observable.constructor.call(b,a);--b.duringInit;b.buildExtractors()},applyModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},applyTransform:function(a){if(a){if(Ext.isFunction(a)){a={fn:a}}else{if(a.charAt){a={fn:this[a]}}}return a.fn.bind(a.scope||this)}return a},forceBuildExtractors:function(){if(!this.duringInit){this.buildExtractors(true)}},updateTotalProperty:function(){this.forceBuildExtractors()},updateMessageProperty:function(){this.forceBuildExtractors()},updateSuccessProperty:function(){this.forceBuildExtractors()},read:function(b,d){var c,a;if(b){if(b.responseText){a=this.getResponseData(b);if(a&&a.__$isError){return new Ext.data.ResultSet({total:0,count:0,records:[],success:false,message:a.msg})}else{c=this.readRecords(a,d)}}else{c=this.readRecords(b,d)}}return c||this.nullResultSet},getNullResultSet:function(){return this.nullResultSet},createReadError:function(a){return{__$isError:true,msg:a}},readRecords:function(e,c,h){var i=this,g=h&&h.recordsOnly,m=h&&h.asRoot,n,d,b,k,j,l,o,a;a=this.getTransform();if(a){e=a(e)}i.buildExtractors();if(i.getKeepRawData()){i.rawData=e}if(i.hasListeners.rawdata){i.fireEventArgs("rawdata",[e])}e=i.getData(e);n=true;d=0;b=[];if(i.getSuccessProperty()){l=i.getSuccess(e);if(l===false||l==="false"){n=false}}if(i.getMessageProperty()){o=i.getMessage(e)}if(n||i.getReadRecordsOnFailure()){k=(m||Ext.isArray(e))?e:i.getRoot(e);if(k){j=k.length}if(i.getTotalProperty()){l=parseInt(i.getTotal(e),10);if(!isNaN(l)){j=l}}if(k){b=i.extractData(k,c);d=b.length}}return g?b:new Ext.data.ResultSet({total:j||d,count:d,records:b,success:n,message:o})},extractData:function(p,g){var n=this,h=g&&g.model?Ext.data.schema.Schema.lookupEntity(g.model):n.getModel(),d=h.schema,q=d.hasAssociations(h)&&n.getImplicitIncludes(),o=n.getFieldExtractorInfo(h.fieldExtractors),a=p.length,c=new Array(a),l=n.getTypeProperty(),m,b,e,k,j;if(!a&&Ext.isObject(p)){p=[p];a=1}for(j=0;j<a;j++){k=p[j];if(!k.isModel){b=k;if(l&&(e=n.getChildType(d,b,l))){m=e.getProxy().getReader();k=m.extractRecord(b,g,e,d.hasAssociations(e)&&m.getImplicitIncludes(),m.getFieldExtractorInfo(e.fieldExtractors))}else{k=n.extractRecord(b,g,h,q,o)}if(k.isModel&&k.isNode){k.raw=b}}if(k.onLoad){k.onLoad()}c[j]=k}return c},getChildType:function(b,c,d){var a;switch(typeof d){case"string":return b.getEntity(c[d]);case"object":a=d.namespace;return b.getEntity((a?a+".":"")+c[d.name]);case"function":return b.getEntity(d(c))}},extractRecordData:function(c,d){var b=d&&d.model?Ext.data.schema.Schema.lookupEntity(d.model):this.getModel(),a=this.getFieldExtractorInfo(b.fieldExtractors);return this.extractRecord(c,d,b,false,a)},extractRecord:function(a,b,c,j,h){var g=this,e=(b&&b.recordCreator)||g.defaultRecordCreator,i,d;i=g.extractModelData(a,h);d=e.call(g,i,c||g.getModel(),b);if(j&&d.isModel){g.readAssociated(d,a,b)}return d},getFieldExtractorInfo:function(c){if(!c){return}var a=this.$className,b=c[a];if(b===undefined){c[a]=b=this.buildFieldExtractors()}return b},buildFieldExtractors:function(){var h=this.getFields(),j=h.length,e=[],l=[],d=null,b=0,k,a,g,c;for(g=0;g<j;++g){k=h[g];c=this.createFieldAccessor(k);if(c){a=k.name;e.push("val = extractors["+b+"](raw); if (val !== undefined) { data['"+a+"'] = val; }");l.push(c);++b}}if(e.length){d={extractors:l,fn:new Function("raw","data","extractors","var val;"+e.join(""))}}return d},defaultRecordCreator:function(b,c){var a=new c(b);a.phantom=false;return a},getModelData:function(a){return{}},extractModelData:function(b,a){var d=this.getModelData(b),c;if(a){c=a.fn;c(b,d,a.extractors)}return d},readAssociated:function(a,e,d){var c=a.associations,b,g;for(b in c){if(c.hasOwnProperty(b)){g=c[b];if(g.cls){g.read(a,e,this,d)}}}},getFields:function(){return this.getModel().fields},getData:Ext.identityFn,getRoot:Ext.identityFn,getResponseData:function(a){},onMetaChange:function(h){var g=this,b=h.fields,c,e,a,d;g.metaData=h;if(h.root){g.setRootProperty(h.root)}if(h.totalProperty){g.setTotalProperty(h.totalProperty)}if(h.successProperty){g.setSuccessProperty(h.successProperty)}if(h.messageProperty){g.setMessageProperty(h.messageProperty)}a=h.clientIdProperty;if(b){e=Ext.define(null,{extend:"Ext.data.Model",fields:b,clientIdProperty:a});g.setModel(e);d=g.getProxy();if(d){d.setModel(e)}}else{if(a){c=g.getModel();if(c){c.self.prototype.clientIdProperty=a}}}},buildExtractors:function(d){var b=this,c,a,e;if(d||!b.hasExtractors){c=b.getTotalProperty();a=b.getSuccessProperty();e=b.getMessageProperty();if(c){b.getTotal=b.getAccessor(c)}if(a){b.getSuccess=b.getAccessor(a)}if(e){b.getMessage=b.getAccessor(e)}b.hasExtractors=true;return true}},getAccessor:function(e){var d=this,a=d.extractorCache,b,c;if(typeof e==="string"){c=d.getAccessorKey(e);b=a.get(c);if(!b){b=d.createAccessor(e);a.add(c,b)}}else{b=d.createAccessor(e)}return b},getAccessorKey:function(a){return this.$className+a},createAccessor:Ext.emptyFn,createFieldAccessor:Ext.emptyFn,destroy:function(){var a=this;a.model=a.getTotal=a.getSuccess=a.getMessage=a.rawData=null;a.onMetaChange=null;a.transform=null;a.callParent()},privates:{copyFrom:function(a){var b=this;a.buildExtractors();b.getTotal=a.getTotal;b.getSuccess=a.getSuccess;b.getMessage=a.getMessage;++b.duringInit;b.setConfig(a.getConfig());--b.duringInit;b.hasExtractors=true}}},function(b){var a=b.prototype;Ext.apply(a,{nullResultSet:new Ext.data.ResultSet({total:0,count:0,records:[],success:true,message:""})});a.extractorCache=new Ext.util.LruCache()});Ext.define("Ext.data.writer.Writer",{mixins:[Ext.mixin.Factoryable],alias:"writer.base",factoryConfig:{defaultType:null},alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],config:{clientIdProperty:null,allDataOptions:{persist:true},partialDataOptions:{changes:true,critical:true},writeAllFields:false,dateFormat:null,nameProperty:"name",writeRecordId:true,transform:null},isWriter:true,constructor:function(a){this.initConfig(a)},applyTransform:function(a){if(a){if(Ext.isFunction(a)){a={fn:a}}return a.fn.bind(a.scope||this)}return a},write:function(e){var c=e.getOperation(),b=c.getRecords()||[],a=b.length,g=[],d;for(d=0;d<a;d++){g.push(this.getRecordData(b[d],c))}return this.writeRecords(e,g)},writeRecords:Ext.emptyFn,getRecordData:function(j,h){var m=this,e=m.getNameProperty(),a=e!=="name",c=j.self.idField,q=c[e]||c.name,p=j.id,d=m.getWriteAllFields(),l,b,g,r,o,k,i,n;if(c.serialize){p=c.serialize(p)}if(!d&&h&&h.isDestroyOperation){l={};l[q]=p}else{b=m.getDateFormat();g=j.phantom;r=(g||d)?m.getAllDataOptions():m.getPartialDataOptions();o=g&&m.getClientIdProperty();k=j.getFieldsMap();r.serialize=false;i=j.getData(r);l=a?{}:i;if(o){l[o]=p;delete i[q]}else{if(!m.getWriteRecordId()){delete i[q]}}for(q in i){p=i[q];if(!(n=k[q])){if(a){l[q]=p}}else{if(n.isDateField&&b&&Ext.isDate(p)){p=Ext.Date.format(p,b)}else{if(n.serialize){p=n.serialize(p,j)}}if(a){q=n[e]||q}l[q]=p}}}return l}});Ext.define("Ext.data.proxy.Proxy",{mixins:[Ext.mixin.Factoryable,Ext.mixin.Observable],$configPrefixed:false,alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],config:{batchOrder:"create,update,destroy",batchActions:true,model:undefined,reader:{type:"json"},writer:{type:"json"}},isProxy:true,isSynchronous:false,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.pendingOperations={}},applyModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},updateModel:function(b){if(b){var a=this.getReader();if(a&&!a.getModel()){a.setModel(b)}}},applyReader:function(a){if(this.isSynchronous){a=a||{};a.keepRawData=true}return Ext.Factory.reader(a)},updateReader:function(a){if(a){var c=this,b=c.getModel();if(!b){b=a.getModel();if(b){c.setModel(b)}}else{a.setModel(b)}if(a.onMetaChange){a.onMetaChange=Ext.Function.createSequence(a.onMetaChange,c.onMetaChange,c)}}},applyWriter:function(b){var a=this.getReader();b=Ext.Factory.writer(b);if(b.getRecord&&!b.getRecord()&&a&&a.getRecord){a=a.getRecord();if(a){b.setRecord(a)}}return b},abort:Ext.emptyFn,onMetaChange:function(a){this.fireEvent("metachange",this,a)},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,erase:Ext.emptyFn,batch:function(o,l){var k=this,j=k.getBatchActions(),h,c,g,d,e,m,b,n,i;if(o.operations===undefined){o={operations:o,listeners:l}}if(o.batch){if(Ext.isDefined(o.batch.runOperation)){h=Ext.applyIf(o.batch,{proxy:k,listeners:{}})}}else{o.batch={proxy:k,listeners:o.listeners||{}}}if(!h){h=new Ext.data.Batch(o.batch)}h.on("complete",Ext.bind(k.onBatchComplete,k,[o],0));g=k.getBatchOrder().split(",");d=g.length;for(m=0;m<d;m++){e=g[m];c=o.operations[e];if(c){if(j){h.add(k.createOperation(e,{records:c,params:o.params}))}else{n=c.length;for(b=0;b<n;b++){i=c[b];h.add(k.createOperation(e,{records:[i],params:o.params}))}}}}h.start();return h},onBatchComplete:function(a,b){var c=a.scope||this;if(b.hasException()){if(Ext.isFunction(a.failure)){Ext.callback(a.failure,c,[b,a])}}else{if(Ext.isFunction(a.success)){Ext.callback(a.success,c,[b,a])}}if(Ext.isFunction(a.callback)){Ext.callback(a.callback,c,[b,a])}},createOperation:function(c,b){var a=Ext.createByAlias("data.operation."+c,b);a.setProxy(this);this.pendingOperations[a._internalId]=a;return a},completeOperation:function(a){delete this.pendingOperations[a._internalId]},clone:function(){return new this.self(this.getInitialConfig())},destroy:function(){var b=this.pendingOperations,a,c;for(a in b){c=b[a];if(c&&c.isRunning()){c.abort()}}this.pendingOperations=null}});Ext.define("Ext.data.proxy.Client",{extend:Ext.data.proxy.Proxy,alternateClassName:"Ext.data.ClientProxy",isSynchronous:true,clear:function(){}});Ext.define("Ext.data.proxy.Memory",{extend:Ext.data.proxy.Client,alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",isMemoryProxy:true,config:{enablePaging:false,data:{$value:null,merge:function(d,a,c,b){if(Ext.isArray(d)){return Ext.Array.clone(d)}else{return Ext.clone(d)}}}},finishOperation:function(b){var c=0,d=b.getRecords(),a=d.length;for(c;c<a;c++){d[c].commit()}b.setSuccessful(true)},create:function(a){this.finishOperation(a)},update:function(a){this.finishOperation(a)},erase:function(a){this.finishOperation(a)},read:function(g){var i=this,j=i.getReader().read(i.getData()),d=j.getRecords(),h=g.getSorters(),a=g.getGrouper(),c=g.getFilters(),b=g.getStart(),e=g.getLimit();if(g.process(j,null,null,false)!==false){if(c&&c.length){j.setRecords(d=Ext.Array.filter(d,Ext.util.Filter.createFilterFn(c)));j.setTotal(d.length)}if(a){h=h?h.concat(a):h}if(h&&h.length){j.setRecords(d=Ext.Array.sort(d,Ext.util.Sortable.createComparator(h)))}if(i.getEnablePaging()&&b!==undefined&&e!==undefined){if(b>=j.getTotal()){j.setConfig({success:false,records:[],total:0})}else{j.setRecords(Ext.Array.slice(d,b,b+e))}}g.setCompleted()}},clear:Ext.emptyFn});Ext.define("Ext.data.ProxyStore",{extend:Ext.data.AbstractStore,config:{model:undefined,fields:null,proxy:undefined,autoLoad:undefined,autoSync:false,batchUpdateMode:"operation",sortOnLoad:true,trackRemoved:true,asynchronousLoad:undefined},onClassExtended:function(b,d,a){var c=d.model,e;if(typeof c==="string"){e=a.onBeforeCreated;a.onBeforeCreated=function(){var h=this,g=arguments;Ext.require(c,function(){e.apply(h,g)})}}},implicitModel:"Ext.data.Model",autoSyncSuspended:0,constructor:function(a){var b=this;b.removed=[];b.callParent(arguments);if(b.getAsynchronousLoad()===false){b.flushLoad()}},applyAsynchronousLoad:function(a){if(a==null){a=!this.loadsSynchronously()}return a},updateAutoLoad:function(a){this.getData();if(a){this.load(Ext.isObject(a)?a:undefined)}},getTotalCount:function(){return this.totalCount||0},applyFields:function(a){if(a){this.createImplicitModel(a)}},applyModel:function(a){if(a){a=Ext.data.schema.Schema.lookupEntity(a)}else{this.getFields();a=this.getModel()||this.createImplicitModel()}return a},applyProxy:function(b){var a=this.getModel();if(b!==null){if(b){if(b.isProxy){b.setModel(a)}else{if(Ext.isString(b)){b={type:b,model:a}}else{if(!b.model){b=Ext.apply({model:a},b)}}b=Ext.createByAlias("proxy."+b.type,b);b.autoCreated=true}}else{if(a){b=a.getProxy()}}if(!b){b=Ext.createByAlias("proxy.memory");b.autoCreated=true}}return b},applyState:function(b){var a=this;a.callParent([b]);if(a.getAutoLoad()||a.isLoaded()){a.load()}},updateProxy:function(b,a){this.proxyListeners=Ext.destroy(this.proxyListeners)},updateTrackRemoved:function(a){this.cleanRemoved();this.removed=a?[]:null},onMetaChange:function(a,b){this.fireEvent("metachange",this,b)},create:function(e,c){var d=this,g=d.getModel(),a=new g(e),b;c=Ext.apply({},c);if(!c.records){c.records=[a]}c.internalScope=d;c.internalCallback=d.onProxyWrite;b=d.createOperation("create",c);return b.execute()},read:function(){return this.load.apply(this,arguments)},update:function(b){var c=this,a;b=Ext.apply({},b);if(!b.records){b.records=c.getUpdatedRecords()}b.internalScope=c;b.internalCallback=c.onProxyWrite;a=c.createOperation("update",b);return a.execute()},onProxyWrite:function(b){var c=this,d=b.wasSuccessful(),a=b.getRecords();switch(b.getAction()){case"create":c.onCreateRecords(a,b,d);break;case"update":c.onUpdateRecords(a,b,d);break;case"destroy":c.onDestroyRecords(a,b,d);break}if(d){c.fireEvent("write",c,b);c.fireEvent("datachanged",c)}},onCreateRecords:Ext.emptyFn,onUpdateRecords:Ext.emptyFn,onDestroyRecords:function(b,a,c){if(c){this.cleanRemoved()}},erase:function(b){var c=this,a;b=Ext.apply({},b);if(!b.records){b.records=c.getRemovedRecords()}b.internalScope=c;b.internalCallback=c.onProxyWrite;a=c.createOperation("destroy",b);return a.execute()},onBatchOperationComplete:function(b,a){return this.onProxyWrite(a)},onBatchComplete:function(c,a){var g=this,b=c.operations,e=b.length,d;if(g.batchUpdateMode!=="operation"){g.suspendEvents();for(d=0;d<e;d++){g.onProxyWrite(b[d])}g.resumeEvents()}g.isSyncing=false;g.fireEvent("datachanged",g)},onBatchException:function(b,a){},filterNew:function(a){return a.phantom===true&&a.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},getModifiedRecords:function(){return[].concat(this.getNewRecords(),this.getUpdatedRecords())},filterUpdated:function(a){return a.dirty===true&&a.phantom!==true&&a.isValid()},getRemovedRecords:function(){var a=this.getRawRemovedRecords();return a?Ext.Array.clone(a):a},sync:function(c){var e=this,b={},g=e.getNewRecords(),d=e.getUpdatedRecords(),a=e.getRemovedRecords(),h=false;e.needsSync=false;if(g.length>0){b.create=g;h=true}if(d.length>0){b.update=d;h=true}if(a.length>0){b.destroy=a;h=true}if(h&&e.fireEvent("beforesync",b)!==false){e.isSyncing=true;c=c||{};e.proxy.batch(Ext.apply(c,{operations:b,listeners:e.getBatchListeners()}))}return e},getBatchListeners:function(){var b=this,a={scope:b,exception:b.onBatchException,complete:b.onBatchComplete};if(b.batchUpdateMode==="operation"){a.operationcomplete=b.onBatchOperationComplete}return a},save:function(){return this.sync.apply(this,arguments)},load:function(a){var b=this;if(typeof a==="function"){a={callback:a}}else{a=a?Ext.Object.chain(a):{}}b.pendingLoadOptions=a;if(b.getAsynchronousLoad()){if(!b.loadTimer){b.loadTimer=Ext.asap(b.flushLoad,b)}}else{b.flushLoad()}return b},flushLoad:function(){var c=this,b=c.pendingLoadOptions,a;c.clearLoadTask();if(!b){return}c.setLoadOptions(b);if(c.getRemoteSort()&&b.sorters){c.fireEvent("beforesort",c,b.sorters)}a=Ext.apply({internalScope:c,internalCallback:c.onProxyLoad,scope:c},b);c.lastOptions=a;a=c.createOperation("read",a);if(c.fireEvent("beforeload",c,a)!==false){c.onBeforeLoad(a);c.loading=true;a.execute()}},reload:function(a){var b=Ext.apply({},a,this.lastOptions);return this.load(b)},onEndUpdate:function(){var a=this;if(a.needsSync&&a.autoSync&&!a.autoSyncSuspended){a.sync()}},afterReject:function(a){var b=this;if(b.contains(a)){b.onUpdate(a,Ext.data.Model.REJECT,null);b.fireEvent("update",b,a,Ext.data.Model.REJECT,null)}},afterCommit:function(a,c){var b=this;if(!c){c=null}if(b.contains(a)){b.onUpdate(a,Ext.data.Model.COMMIT,c);b.fireEvent("update",b,a,Ext.data.Model.COMMIT,c)}},afterErase:function(a){this.onErase(a)},onErase:Ext.emptyFn,onUpdate:Ext.emptyFn,onDestroy:function(){var b=this,a=b.getProxy();b.clearLoadTask();b.getData().destroy();b.data=null;b.setProxy(null);if(a.autoCreated){a.destroy()}b.setModel(null)},hasPendingLoad:function(){return !!this.pendingLoadOptions||this.isLoading()},isLoading:function(){return !!this.loading},isLoaded:function(){return this.loadCount>0},suspendAutoSync:function(){++this.autoSyncSuspended},resumeAutoSync:function(b){var a=this;if(a.autoSyncSuspended&&!--a.autoSyncSuspended){if(b){a.sync()}}},removeAll:Ext.emptyFn,clearData:Ext.emptyFn,privates:{getRawRemovedRecords:function(){return this.removed},onExtraParamsChanged:function(){},clearLoadTask:function(){Ext.asapCancel(this.loadTimer);this.pendingLoadOptions=this.loadTimer=null},cleanRemoved:function(){var c=this.getRawRemovedRecords(),a,b;if(c){for(b=0,a=c.length;b<a;++b){c[b].unjoin(this)}c.length=0}},createOperation:function(d,a){var e=this,b=e.getProxy(),c;if(!e.proxyListeners){c={scope:e,destroyable:true,beginprocessresponse:e.beginUpdate,endprocessresponse:e.endUpdate};if(!e.disableMetaChangeEvent){c.metachange=e.onMetaChange}e.proxyListeners=b.on(c)}return b.createOperation(d,a)},createImplicitModel:function(a){var e=this,b={extend:e.implicitModel,statics:{defaultProxy:"memory"}},d,c;if(a){b.fields=a}c=Ext.define(null,b);e.setModel(c);d=e.getProxy();if(d){c.setProxy(d)}else{e.setProxy(c.getProxy())}},loadsSynchronously:function(){return this.getProxy().isSynchronous},onBeforeLoad:Ext.privateFn,removeFromRemoved:function(a){var b=this.getRawRemovedRecords();if(b){Ext.Array.remove(b,a);a.unjoin(this)}},setLoadOptions:function(a){var c=this,b,d;if(c.getRemoteFilter()){b=c.getFilters(false);if(b&&b.getCount()){a.filters=b.getRange()}}if(c.getRemoteSort()){d=c.getSorters(false);if(d&&d.getCount()){a.sorters=d.getRange()}}}}});Ext.define("Ext.data.LocalStore",{extend:Ext.Mixin,mixinConfig:{id:"localstore"},config:{extraKeys:null},applyExtraKeys:function(a){var c,b=this.getData();b.setExtraKeys(a);a=b.getExtraKeys();for(c in a){this[c]=a[c]}},add:function(a){return this.insert(this.getCount(),arguments.length===1?a:arguments)},constructDataCollection:function(){return new Ext.util.Collection({rootProperty:"data"})},createModel:function(a){var b=this.getSession(),c;if(!a.isModel){c=this.getModel();a=new c(a,b)}return a},createFiltersCollection:function(){return this.getData().getFilters()},createSortersCollection:function(){var a=this.getData().getSorters();a.setSorterConfigure(this.addFieldTransform,this);return a},onCollectionSort:function(){this.onSorterEndUpdate()},onCollectionFilter:function(){this.onFilterEndUpdate()},notifySorterChange:function(){this.getData().onSorterChange()},forceLocalSort:function(){this.getData().onSortChange()},contains:function(a){return this.indexOf(a)>-1},each:function(e,d){var g=this.data.items,a=g.length,b,c;for(c=0;c<a;++c){b=g[c];if(e.call(d||b,b,c,a)===false){break}}},collect:function(b,a,c){var d=this,e=d.getData();if(c===true&&e.filtered){e=e.getSource()}return e.collect(b,"data",a)},getById:function(b){var a=this.getData();if(a.filtered){a=a.getSource()}return a.get(b)||null},getByInternalId:function(a){var c=this.getData(),b;if(c.filtered){if(!c.$hasExtraKeys){b=this.makeInternalKeyCfg();c.setExtraKeys(b);c.$hasExtraKeys=true}c=c.getSource()}if(!c.$hasExtraKeys){c.setExtraKeys(b||this.makeInternalKeyCfg());c.$hasExtraKeys=true}return c.byInternalId.get(a)||null},getDataSource:function(){var a=this.getData();return a.getSource()||a},indexOf:function(a){return this.getData().indexOf(a)},indexOfId:function(a){return this.indexOf(this.getById(a))},insert:function(c,b){var e=this,a,d;if(b){if(!Ext.isIterable(b)){b=[b]}else{b=Ext.Array.clone(b)}a=b.length}if(!a){return[]}for(d=0;d<a;++d){b[d]=e.createModel(b[d])}e.getData().insert(c,b);return b},queryBy:function(b,a){var c=this.getData();return(c.getSource()||c).createFiltered(b,a)},query:function(e,d,g,a,b){var c=this.getData();return(c.getSource()||c).createFiltered(e,d,g,a,b)},first:function(a){return this.getData().first(a)||null},last:function(a){return this.getData().last(a)||null},sum:function(c,a){var b=this.getData();return(a&&this.isGrouped())?b.sumByGroup(c):b.sum(c)},count:function(a){var b=this.getData();return(a&&this.isGrouped())?b.countByGroup():b.count()},min:function(c,a){var b=this.getData();return(a&&this.isGrouped())?b.minByGroup(c):b.min(c)},max:function(c,a){var b=this.getData();return(a&&this.isGrouped())?b.maxByGroup(c):b.max(c)},average:function(c,a){var b=this.getData();return(a&&this.isGrouped())?b.averageByGroup(c):b.average(c)},aggregate:function(h,l,e,j){var g=this,a,d,b,k,c;if(e&&g.isGrouped()){a=g.getGroups().items;d=a.length;b={};for(c=0;c<d;++c){k=a[c];b[k.getGroupKey()]=g.getAggregate(h,l||g,k.items,j)}return b}else{return g.getAggregate(h,l,g.getData().items,j)}},getAggregate:function(g,e,c,h){var b=[],a=c.length,d;for(d=0;d<a;++d){b[d]=c[d].get(h)}return g.call(e||this,c,b)},addObserver:function(a){var b=this.observers;if(!b){this.observers=b=new Ext.util.Collection()}b.add(a)},removeObserver:function(a){var b=this.observers;if(b){b.remove(a)}},callObservers:function(h,d){var j=this.observers,a,c,e,b,g;if(j){c=j.items;if(d){d.unshift(this)}else{d=[this]}for(e=0,a=c.length;e<a;++e){g=c[e];b="onSource"+h;if(g[b]){g[b].apply(g,d)}}}},queryRecordsBy:function(e,d){var h=this.getData(),g=[],a,c,b;h=(h.getSource()||h).items;d=d||this;for(c=0,a=h.length;c<a;++c){b=h[c];if(e.call(d,b)===true){g.push(b)}}return g},queryRecords:function(h,g){var e=this.getData(),d=[],a,c,b;e=(e.getSource()||e).items;for(c=0,a=e.length;c<a;++c){b=e[c];if(b.get(h)===g){d.push(b)}}return d},privates:{isLast:function(a){return a===this.last()},makeInternalKeyCfg:function(){return{byInternalId:{property:"internalId",rootProperty:""}}}}});Ext.define("Ext.data.proxy.Server",{extend:Ext.data.proxy.Proxy,alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",isRemote:true,config:{url:"",pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",groupDirectionParam:"groupDir",sortParam:"sort",filterParam:"filter",directionParam:"dir",idParam:"id",simpleSortMode:false,simpleGroupMode:false,noCache:true,cacheString:"_dc",timeout:30000,api:{create:undefined,read:undefined,update:undefined,destroy:undefined},extraParams:{}},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},erase:function(){return this.doRequest.apply(this,arguments)},setExtraParam:function(a,b){var c=this.getExtraParams();c[a]=b;this.fireEvent("extraparamschanged",c)},updateExtraParams:function(b,a){this.fireEvent("extraparamschanged",b)},buildRequest:function(a){var g=this,b=Ext.apply({},a.getParams()),h=Ext.applyIf(b,g.getExtraParams()||{}),e,d,c;Ext.applyIf(h,g.getParams(a));d=a.getId();c=g.getIdParam();if(d!==undefined&&h[c]===undefined){h[c]=d}e=new Ext.data.Request({params:h,action:a.getAction(),records:a.getRecords(),url:a.getUrl(),operation:a,proxy:g});e.setUrl(g.buildUrl(e));a.setRequest(e);return e},processResponse:function(i,c,h,b){var g=this,d,a,e;g.fireEvent("beginprocessresponse",g,b,c);if(i===true){a=g.getReader();if(b.status===204){e=a.getNullResultSet()}else{e=a.read(g.extractResponseData(b),{recordCreator:c.getRecordCreator()})}c.process(e,h,b);d=!c.wasSuccessful()}else{g.setException(c,b);d=true}if(d){g.fireEvent("exception",g,b,c)}g.afterRequest(h,i);g.fireEvent("endprocessresponse",g,b,c)},setException:function(b,a){b.setException({status:a.status,statusText:a.statusText,response:a})},extractResponseData:Ext.identityFn,applyEncoding:function(a){return Ext.encode(a)},encodeSorters:function(e,c){var a=[],d=e.length,b;for(b=0;b<d;b++){a[b]=e[b].serialize()}return this.applyEncoding(c?a[0]:a)},encodeFilters:function(d){var a=[],c=d.length,b,e;for(b=0;b<c;b++){a[b]=d[b].serialize()}return this.applyEncoding(a)},getParams:function(p){if(!p.isReadOperation){return{}}var v=this,u={},s=p.getGrouper(),a=p.getSorters(),n=p.getFilters(),i=p.getPage(),h=p.getStart(),t=p.getLimit(),l=v.getSimpleSortMode(),d=v.getSimpleGroupMode(),r=v.getPageParam(),e=v.getStartParam(),b=v.getLimitParam(),c=v.getGroupParam(),m=v.getGroupDirectionParam(),g=v.getSortParam(),q=v.getFilterParam(),o=v.getDirectionParam(),k,j;if(r&&i){u[r]=i}if(e&&(h||h===0)){u[e]=h}if(b&&t){u[b]=t}k=c&&s;if(k){if(d){u[c]=s.getProperty();u[m]=s.getDirection()}else{u[c]=v.encodeSorters([s],true)}}if(g&&a&&a.length>0){if(l){j=0;if(a.length>1&&k){j=1}u[g]=a[j].getProperty();u[o]=a[j].getDirection()}else{u[g]=v.encodeSorters(a)}}if(q&&n&&n.length>0){u[q]=v.encodeFilters(n)}return u},buildUrl:function(c){var b=this,a=b.getUrl(c);if(b.getNoCache()){a=Ext.urlAppend(a,Ext.String.format("{0}={1}",b.getCacheString(),Ext.Date.now()))}return a},getUrl:function(b){var a;if(b){a=b.getUrl()||this.getApi()[b.getAction()]}return a?a:this.callParent()},doRequest:function(a){},afterRequest:Ext.emptyFn,destroy:function(){this.callParent();Ext.destroy(this.getReader(),this.getWriter());this.reader=this.writer=null}});Ext.define("Ext.data.proxy.Ajax",{extend:Ext.data.proxy.Server,alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],isAjaxProxy:true,defaultActionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},config:{binary:false,headers:undefined,paramsAsJson:false,withCredentials:false,useDefaultXhrHeader:true,username:null,password:null,actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"}},doRequest:function(a){var d=this,e=d.getWriter(),c=d.buildRequest(a),h=d.getMethod(c),b,g;if(e&&a.allowWrite()){c=e.write(c)}c.setConfig({binary:d.getBinary(),headers:d.getHeaders(),timeout:d.getTimeout(),scope:d,callback:d.createRequestCallback(c,a),method:h,useDefaultXhrHeader:d.getUseDefaultXhrHeader(),disableCaching:false});if(h.toUpperCase()!=="GET"&&d.getParamsAsJson()){g=c.getParams();if(g){b=c.getJsonData();if(b){b=Ext.Object.merge({},b,g)}else{b=g}c.setJsonData(b);c.setParams(undefined)}}if(d.getWithCredentials()){c.setWithCredentials(true);c.setUsername(d.getUsername());c.setPassword(d.getPassword())}return d.sendRequest(c)},sendRequest:function(a){a.setRawRequest(Ext.Ajax.request(a.getCurrentConfig()));this.lastRequest=a;return a},abort:function(a){a=a||this.lastRequest;if(a){Ext.Ajax.abort(a.getRawRequest())}},getMethod:function(a){var c=this.getActionMethods(),b=a.getAction(),d;if(c){d=c[b]}return d||this.defaultActionMethods[b]},createRequestCallback:function(c,a){var b=this;return function(e,g,d){if(c===b.lastRequest){b.lastRequest=null}b.processResponse(g,a,c,d)}},destroy:function(){this.lastRequest=null;this.callParent()}});Ext.define("Ext.data.reader.Json",{extend:Ext.data.reader.Reader,alternateClassName:"Ext.data.JsonReader",alias:"reader.json",config:{record:null,metaProperty:"metaData",useSimpleAccessors:false,preserveRawData:false},updateRootProperty:function(){this.forceBuildExtractors()},updateMetaProperty:function(){this.forceBuildExtractors()},readRecords:function(d,c,a){var b=this,e;if(b.getMeta){e=b.getMeta(d);if(e){b.onMetaChange(e)}}else{if(d.metaData){b.onMetaChange(d.metaData)}}return b.callParent([d,c,a])},getResponseData:function(a){var b;try{return Ext.decode(a.responseText)}catch(c){b=this.createReadError(c.message);Ext.Logger.warn("Unable to parse the JSON returned by the server");this.fireEvent("exception",this,a,b);return b}},buildExtractors:function(){var c=this,a,b;if(c.callParent(arguments)){a=c.getMetaProperty();b=c.getRootProperty();if(b){c.getRoot=c.getAccessor(b)}else{c.getRoot=Ext.identityFn}if(a){c.getMeta=c.getAccessor(a)}}},extractData:function(a,e){var g=this.getRecord(),d=[],c,b;if(g){c=a.length;if(!c&&Ext.isObject(a)){c=1;a=[a]}for(b=0;b<c;b++){d[b]=a[b][g]}}else{d=a}return this.callParent([d,e])},getModelData:function(a){return this.getPreserveRawData()?Ext.apply({},a):a},createAccessor:(function(){var a=/[\[\.]/;return function(r){var n=this,b=n.getUseSimpleAccessors(),e,u,k,g,d,q,t,p,o,l,m,h,s,j;if(!(r||r===0)){return}if(typeof r==="function"){return r}if(!b){e=String(r).search(a)}if(b===true||e<0){u=function(c){return c[r]}}else{k="raw";g=[];d="";q=0;j=r.length;for(h=0;h<=j;++h){m=r[h];t=m===".";p=m==="[";o=m==="]";l=t||p||o||!m;if(!l||q>1||(q&&!o)){d+=m}else{if(l){s=false;if(p){++q}else{if(o){--q;s=true}}if(d){if(s){d="["+d+"]"}else{d="."+d}k+=d;g.push(""+k);d=""}}}}u=g.join(" && ");u=Ext.functionFactory("raw","return "+u)}return u}}()),createFieldAccessor:function(e){var b=this,a=e.mapping,c=a||a===0,d=c?a:e.name;if(c){if(typeof d==="function"){return function(g){return e.mapping(g,b)}}else{return b.createAccessor(d)}}},getAccessorKey:function(b){var a=this.getUseSimpleAccessors()?"simple":"";return this.$className+a+b},privates:{copyFrom:function(a){this.callParent([a]);this.getRoot=a.getRoot}}});Ext.define("Ext.data.writer.Json",{extend:Ext.data.writer.Writer,alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",config:{rootProperty:undefined,encode:false,allowSingle:true,expandData:false},getExpandedData:function(d){var b=d.length,e=0,k,a,g,c,h,l=function(i,j){var m={};m[i]=j;return m};for(;e<b;e++){k=d[e];for(a in k){if(k.hasOwnProperty(a)){g=a.split(".");c=g.length-1;if(c>0){h=k[a];for(;c>0;c--){h=l(g[c],h)}k[g[0]]=k[g[0]]||{};Ext.Object.merge(k[g[0]],h);delete k[a]}}}}return d},writeRecords:function(e,g){var d=this,a=d.getRootProperty(),c,h,b;if(d.getExpandData()){g=d.getExpandedData(g)}if(d.getAllowSingle()&&g.length===1){g=g[0];h=true}b=this.getTransform();if(b){g=b(g,e)}if(d.getEncode()){if(a){e.setParam(a,Ext.encode(g))}else{}}else{if(h||(g&&g.length)){c=e.getJsonData()||{};if(a){c[a]=g}else{c=g}e.setJsonData(c)}}return e}});Ext.define("Ext.util.Group",{extend:Ext.util.Collection,config:{groupKey:null},$endUpdatePriority:2001});Ext.define("Ext.util.SorterCollection",{extend:Ext.util.Collection,isSorterCollection:true,$sortable:null,sortFn:null,config:{sorterOptionsFn:null,sorterOptionsScope:null},constructor:function(a){var b=this;b.sortFn=Ext.util.Sorter.createComparator(b);b.callParent([a]);b.setDecoder(b.decodeSorter)},addSort:function(j,i,c){var h=this,d,e,b,l,a,k,g;if(!j){h.beginUpdate();h.endUpdate()}else{l=h.getOptions();if(j instanceof Array){g=j;c=i;i=null}else{if(Ext.isString(j)){if(!(k=h.get(j))){g=[{property:j,direction:i||l.getDefaultSortDirection()}]}else{g=[k]}}else{if(Ext.isFunction(j)){g=[{sorterFn:j,direction:i||l.getDefaultSortDirection()}]}else{g=[j];c=i;i=null}}}c=h._sortModes[c||"replace"];a=h.getAt(0);d=h.length;e=c.append?d:0;h.beginUpdate();h.splice(e,c.replace?d:0,g);if(c.multi){d=h.length;b=l.getMultiSortLimit();if(d>b){h.removeAt(b,d)}}if(k&&i){k.setDirection(i)}else{if(e===0&&a&&a===h.getAt(0)){a.toggle()}}h.endUpdate()}},clear:function(){this.beginUpdate();this.callParent();this.endUpdate(this.items)},getSortFn:function(){return this.sortFn},getByProperty:function(e){var b=this.items,a=b.length,c,d;for(c=0;c<a;++c){d=b[c];if(d.getProperty()===e){return d}}return null},_sortModes:{append:{append:1},multi:{multi:1},prepend:{prepend:1},replace:{replace:1}},decodeSorter:function(i,a){var g=this,j=g.getOptions(),h=j.getRootProperty(),b=g.getSorterOptionsFn(),c,e,d;if(i.isSorter){if(!i.getRoot()){i.setRoot(h)}}else{e={direction:j.getDefaultSortDirection(),root:h};d=typeof i;if(d==="string"){c=g.get(i);if(c){return c}e.property=i}else{if(d==="function"){e.sorterFn=i}else{e=Ext.apply(e,i);if(e.fn){e.sorterFn=e.fn;delete e.fn}}}i=Ext.create(a||"Ext.util.Sorter",e)}if(b){b.call(g.getSorterOptionsScope()||g,i)}return i},setSorterConfigure:function(b,a){this.setSorterOptionsFn(b);this.setSorterOptionsScope(a)},decodeRemoveItems:function(h,d){var k=this,e=(d===undefined)?h:h[d];if(!e||!e.$cloned){if(h.length>d+1||!Ext.isIterable(e)){e=Ext.Array.slice(h,d)}var l=k.items,g=e.length,c=[],b,m,a,o,j;for(b=0;b<g;b++){o=e[b];if(o&&o.isSorter){c.push(o)}else{j=typeof o;if(j==="string"){o=k.get(o);if(o){c.push(o)}}else{if(j==="function"){for(a=l.length;a-->0;){m=l[a];if(m.getSorterFn()===o){c.push(m)}}}}}}e=c;e.$cloned=true}return e},getOptions:function(){return this.$sortable||this}});Ext.define("Ext.util.FilterCollection",{extend:Ext.util.Collection,isFilterCollection:true,$filterable:null,filterFn:null,constructor:function(a){var b=this;b.filterFn=Ext.util.Filter.createFilterFn(b);b.callParent([a]);b.setDecoder(b.decodeFilter)},filterData:function(a){return this.filtered?Ext.Array.filter(a,this.filterFn):a},getFilterFn:function(){return this.filterFn},isItemFiltered:function(a){return !this.filterFn(a)},decodeFilter:function(c){var b=this.getOptions(),a=b.getRootProperty(),d;if(c.isFilter){if(!c.getRoot()){c.setRoot(a)}}else{d={root:a};if(Ext.isFunction(c)){d.filterFn=c}else{d=Ext.apply(d,c);if(d.fn){d.filterFn=d.fn;delete d.fn}if(Ext.util.Filter.isInvalid(d)){return false}}c=new Ext.util.Filter(d)}return c},decodeRemoveItems:function(p,k){var r=this,l=(k===undefined)?p:p[k];if(!l.$cloned){if(p.length>k+1||!Ext.isIterable(l)){l=Ext.Array.slice(p,k)}var e=r.items,o=l.length,h=[],b,g,c,m,a,s,j,d,q;for(g=0;g<o;g++){b=l[g];if(b&&b.isFilter){h.push(b)}else{q=typeof b;c=q==="function";m=b.property!==undefined&&b.value!==undefined;a=q==="string";for(d=e.length;d-->0;){s=e[d];j=false;if(a){j=s.getProperty()===b}else{if(c){j=s.getFilterFn()===b}else{if(m){j=s.getProperty()===b.property&&s.getValue()===b.value}}}if(j){h.push(s)}}}}l=h;l.$cloned=true}return l},getOptions:function(){return this.$filterable||this}});Ext.define("Ext.util.GroupCollection",{extend:Ext.util.Collection,isGroupCollection:true,config:{grouper:null,itemRoot:null},observerPriority:-100,onCollectionAdd:function(b,a){this.addItemsToGroups(b,a.items)},onCollectionBeforeItemChange:function(b,a){this.changeDetails=a},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},onCollectionItemChange:function(c,a){var b=a.item;if(!a.indexChanged){this.syncItemGrouping(c,b,c.getKey(b),a.oldKey,a.oldIndex)}this.changeDetails=null},onCollectionRefresh:function(a){this.removeAll();this.addItemsToGroups(a,a.items)},onCollectionRemove:function(a,b){var h=this,l=h.changeDetails,g,j,k,e,c,d,m;if(l){m=l.item;k=h.findGroupForItem(m);g=[];if(k){g.push({group:k,items:[m]})}}else{g=h.groupItems(a,b.items,false)}for(e=0,c=g.length;e<c;++e){k=(j=g[e]).group;if(k){k.remove(j.items);if(!k.length){(d||(d=[])).push(k)}}}if(d){h.remove(d)}},onCollectionSort:function(e){var d=this,h=e.getSorters(false),a,c,b,g;if(h){a=d.items;c=d.length;for(b=0;b<c;++b){g=a[b];if(g.getSorters()!==h){g.setSorters(h)}}}},onCollectionUpdateKey:function(d,b){var a=b.index,c=b.item;if(!b.indexChanged){a=d.indexOf(c);this.syncItemGrouping(d,c,b.newKey,b.oldKey,a)}},addItemsToGroups:function(b,a){this.groupItems(b,a,true)},groupItems:function(b,l,d){var m=this,a={},j=[],c=b.getGrouper(),o=m.itemGroupKeys,n,p,r,h,q,e,k,g;for(h=0,k=l.length;h<k;++h){r=c.getGroupString(q=l[h]);e=b.getKey(q);if(d){(o||(m.itemGroupKeys=o={}))[e]=r}else{if(o){delete o[e]}}if(!(n=a[r])){if(!(p=m.getByKey(r))&&d){(g||(g=[])).push(p=m.createGroup(b,r))}j.push(a[r]=n={group:p,items:[]})}n.items.push(q)}for(h=0,k=j.length;h<k;++h){n=j[h];n.group.add(n.items)}if(g){m.add(g)}return j},syncItemGrouping:function(a,p,g,j,b){var n=this,k=n.itemGroupKeys||(n.itemGroupKeys={}),c=a.getGrouper(),q=c.getGroupString(p),h=0,m=-1,l,o,e,i,d;if(j){i=k[j];delete k[j]}else{i=k[g]}k[g]=q;if(!(o=n.get(q))){o=n.createGroup(a,q);l=[o]}if(o.get(g)!==p){if(o.getCount()>0&&a.getSorters().getCount()===0){d=a.indexOf(o.items[0]);if(b<d){m=0}else{m=b-d}}if(m===-1){o.add(p)}else{o.insert(m,p)}}else{o.itemChanged(p)}if(q!==i&&(i===0||i)){e=n.get(i);if(e){e.remove(p);if(!e.length){h=[e]}}}if(l){n.splice(0,h,l)}else{if(h){n.splice(0,h)}}},createGroup:function(b,a){var c=new Ext.util.Group({groupKey:a,rootProperty:this.getItemRoot(),sorters:b.getSorters()});return c},getKey:function(a){return a.getGroupKey()},createSortFn:function(){var c=this,a=c.getGrouper(),b=c.getSorters().getSortFn();if(!a){return b}return function(d,e){return a.sort(d.items[0],e.items[0])||b(d,e)}},updateGrouper:function(a){var b=this;b.grouped=!!(a&&b.$groupable.getAutoGroup());b.onSorterChange();b.onEndUpdateSorters(b.getSorters())},destroy:function(){this.$groupable=null;this.callParent()},privates:{findGroupForItem:function(d){var b=this.items,a=b.length,c,e;for(c=0;c<a;++c){e=b[c];if(e.contains(d)){return e}}}}});Ext.define("Ext.data.Store",{extend:Ext.data.ProxyStore,alias:"store.store",mixins:[Ext.data.LocalStore],config:{data:0,clearRemovedOnLoad:true,clearOnPageLoad:true,associatedEntity:null,role:null,session:null},addRecordsOptions:{addRecords:true},loadCount:0,complete:false,moveMapCount:0,constructor:function(a){var b=this,c;if(a){if(a.buffered){return new Ext.data.BufferedStore(a)}}b.callParent([a]);b.getData().addObserver(b);c=b.inlineData;if(c){delete b.inlineData;b.loadInlineData(c)}},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},applyData:function(c,a){var b=this;b.getFields();b.getModel();if(c&&c.isCollection){a=c}else{if(!a){a=b.constructDataCollection()}if(c){if(b.isInitializing){b.inlineData=c}else{b.loadData(c)}}}return a},loadInlineData:function(c){var b=this,a=b.getProxy();if(a&&a.isMemoryProxy){a.setData(c);b.suspendEvents();b.read();b.resumeEvents()}else{b.removeAll(true);b.suspendEvents();b.loadData(c);b.resumeEvents()}},onCollectionAdd:function(b,a){this.onCollectionAddItems(b,a.items,a)},onCollectionFilterAdd:function(b,a){this.onCollectionAddItems(b,a)},onCollectionAddItems:function(g,b,a){var l=this,j=b.length,n=a?!a.next:false,h=l.removed,e=l.ignoreCollectionAdd,k=l.getSession(),p=a&&a.replaced,c,m,d,o;for(c=0;c<j;++c){d=b[c];if(k){k.adopt(d)}if(!e){d.join(l);if(h&&h.length){Ext.Array.remove(h,d)}m=m||d.phantom||d.dirty}}if(e){return}if(p){o=[];do{Ext.Array.push(o,p.items);p=p.next}while(p);l.setMoving(o,true)}if(a){if(a.replaced){if(n){l.fireEvent("refresh",l)}}else{l.fireEvent("add",l,b,a.at);if(n){l.fireEvent("datachanged",l)}}}if(o){l.setMoving(o,false)}l.needsSync=l.needsSync||m},onCollectionFilteredItemChange:function(){this.onCollectionItemChange.apply(this,arguments)},onCollectionItemChange:function(g,e){var d=this,a=e.item,c=e.modified||null,b=e.meta;if(d.fireChangeEvent(a)){d.onUpdate(a,b,c,e);d.fireEvent("update",d,a,b,c,e)}},fireChangeEvent:function(a){return this.getDataSource().contains(a)},afterChange:function(a,c,b){this.getData().itemChanged(a,c||null,undefined,b)},afterCommit:function(a,b){this.afterChange(a,b,Ext.data.Model.COMMIT)},afterEdit:function(a,b){this.needsSync=this.needsSync||a.dirty;this.afterChange(a,b,Ext.data.Model.EDIT)},afterReject:function(a){this.afterChange(a,null,Ext.data.Model.REJECT)},afterDrop:function(a){this.getData().remove(a)},afterErase:function(a){this.removeFromRemoved(a)},addSorted:function(a){var c=this,e=c.getRemoteSort(),d=c.getData(),b;if(e){d.setSorters(c.getSorters())}b=d.findInsertionIndex(a);if(e){d.setSorters(null)}return c.insert(b,a)},remove:function(b,k,h){var j=this,c=j.getDataSource(),g,d,a,e;if(b){if(b.isModel){if(c.indexOf(b)>-1){a=[b];g=1}else{g=0}}else{a=[];for(d=0,g=b.length;d<g;++d){e=b[d];if(e&&e.isEntity){if(!c.contains(e)){continue}}else{if(!(e=c.getAt(e))){continue}}a.push(e)}g=a.length}}if(!g){return[]}j.removeIsMove=k===true;j.removeIsSilent=h;c.remove(a);j.removeIsSilent=false;return a},onCollectionRemove:function(h,a){var n=this,j=n.removed,c=a.items,l=c.length,k=a.at,b=a.replacement,p=n.removeIsMove||(b&&Ext.Array.equals(c,b.items)),m=n.removeIsSilent,o=!a.next,e=n.getDataSource(),d,g;if(n.ignoreCollectionRemove){return}if(b){n.setMoving(b.items,true)}for(d=0;d<l;++d){g=c[d];if(!e.contains(g)){if(j&&!p&&!g.phantom&&!g.erasing){g.removedFrom=k+d;j.push(g);n.needsSync=true}else{g.unjoin(n)}}}if(!m){if(!b||!b.items.length){n.fireEvent("remove",n,c,k,p);if(o){n.fireEvent("datachanged",n)}}}if(b){n.setMoving(b.items,false)}},onFilterEndUpdate:function(){this.callParent(arguments);this.callObservers("Filter")},removeAt:function(a,b){var c=this.getData();a=Math.max(a,0);if(a<c.length){if(arguments.length===1){b=1}else{if(!b){return}}c.removeAt(a,b)}},removeAll:function(b){var c=this,d=c.getData(),e=c.hasListeners.clear,a=d.getRange();if(d.length){c.removeIsSilent=true;c.callObservers("BeforeRemoveAll");d.removeAll();c.removeIsSilent=false;if(!b){c.fireEvent("clear",c,a);c.fireEvent("datachanged",c)}c.callObservers("AfterRemoveAll",[!!b])}return a},setRecords:function(a){var b=this.getCount();++this.loadCount;if(b){this.getData().splice(0,b,a)}else{this.add(a)}},splice:function(a,c,b){return this.getData().splice(a,c,b)},onProxyLoad:function(b){var d=this,c=b.getResultSet(),a=b.getRecords(),e=b.wasSuccessful();if(d.destroyed){return}if(c){d.totalCount=c.getTotal()}if(e){a=d.processAssociation(a);d.loadRecords(a,b.getAddRecords()?{addRecords:true}:undefined)}else{d.loading=false}if(d.hasListeners.load){d.fireEvent("load",d,a,e,b)}d.callObservers("AfterLoad",[a,e,b])},filterDataSource:function(e){var g=this.getDataSource(),b=g.items,a=b.length,c=[],d;for(d=0;d<a;d++){if(e.call(g,b[d])){c.push(b[d])}}return c},getNewRecords:function(){return this.filterDataSource(this.filterNew)},getRejectRecords:function(){return this.filterDataSource(this.filterRejects)},getUpdatedRecords:function(){return this.filterDataSource(this.filterUpdated)},loadData:function(g,a){var e=this,d=g.length,c=[],b;for(b=0;b<d;b++){c.push(e.createModel(g[b]))}c=e.processAssociation(c);e.loadRecords(c,a?e.addRecordsOptions:undefined)},loadRawData:function(e,b){var d=this,g=d.getSession(),a=d.getProxy().getReader().read(e,g?{recordCreator:g.recordCreator}:undefined),c=a.getRecords(),h=a.getSuccess();if(h){d.totalCount=a.getTotal();d.loadRecords(c,b?d.addRecordsOptions:undefined)}return h},loadRecords:function(a,c){var h=this,g=a.length,j=h.getData(),e,d,b;if(c){e=c.addRecords}if(!h.getRemoteSort()&&!h.getSortOnLoad()){b=true;j.setAutoSort(false)}if(!e){h.clearData(true)}h.loading=false;h.ignoreCollectionAdd=true;h.callObservers("BeforePopulate");j.add(a);h.ignoreCollectionAdd=false;if(b){j.setAutoSort(true)}for(d=0;d<g;d++){a[d].join(h)}++h.loadCount;h.complete=true;h.fireEvent("datachanged",h);h.fireEvent("refresh",h);h.callObservers("AfterPopulate")},loadPage:function(d,a){var c=this,b=c.getPageSize();c.currentPage=d;a=Ext.apply({page:d,start:(d-1)*b,limit:b,addRecords:!c.getClearOnPageLoad()},a);c.read(a)},nextPage:function(a){this.loadPage(this.currentPage+1,a)},previousPage:function(a){this.loadPage(this.currentPage-1,a)},clearData:function(c){var k=this,h=k.removed,d=k.getDataSource(),j=k.getClearRemovedOnLoad(),l=h&&c&&!j,a,e,b,g;if(d){a=d.items;for(b=0,g=a.length;b<g;++b){e=a[b];if(l&&Ext.Array.contains(h,e)){continue}e.unjoin(k)}k.ignoreCollectionRemove=true;k.callObservers("BeforeClear");d.removeAll();k.ignoreCollectionRemove=false;k.callObservers("AfterClear")}if(h&&(!c||j)){h.length=0}},onIdChanged:function(c,b,a){this.getData().updateKey(c,b);this.fireEvent("idchanged",this,c,b,a)},commitChanges:function(){var c=this,d=c.getModifiedRecords(),a=d.length,b=0;Ext.suspendLayouts();c.beginUpdate();for(;b<a;b++){d[b].commit()}c.cleanRemoved();c.endUpdate();Ext.resumeLayouts(true)},filterNewOnly:function(a){return a.phantom===true},filterRejects:function(a){return a.phantom||a.dirty},rejectChanges:function(){var j=this,k=j.getRejectRecords(),g=k.length,d,b,a,h,c,e;Ext.suspendLayouts();j.beginUpdate();for(d=0;d<g;d++){b=k[d];if(b.phantom){a=a||[];a.push(b)}else{b.reject()}}if(a){j.remove(a);for(d=0,g=a.length;d<g;++d){a[d].reject()}}k=j.getRawRemovedRecords();if(k){g=k.length;h=!j.getRemoteSort()&&j.isSorted();if(h){c=j.getData();e=c.getAutoSort();c.setAutoSort(false)}for(d=g-1;d>=0;d--){b=k[d];b.reject();if(!h){j.insert(b.removedFrom||0,b)}}if(h){c.setAutoSort(e);j.add(k)}k.length=0}j.endUpdate();Ext.resumeLayouts(true)},onDestroy:function(){var b=this,a=b.loadTask,d=b.getData(),c=d.getSource();b.clearData();b.callParent();b.setSession(null);b.observers=null;if(a){a.cancel();b.loadTask=null}if(c){c.destroy()}},privates:{fetch:function(b){b=Ext.apply({},b);this.setLoadOptions(b);var a=this.createOperation("read",b);a.execute()},onBeforeLoad:function(a){this.callObservers("BeforeLoad",[a])},onRemoteFilterSet:function(a,b){if(a){this.getData().setFilters(b?null:a)}this.callParent([a,b])},onRemoteSortSet:function(b,c){var a=this.getData();if(b){a.setSorters(c?null:b)}a.setAutoGroup(!c);this.callParent([b,c])},isMoving:function(c,e){var g=this.moveMap,b=0,a,d;if(g){if(c){if(Ext.isArray(c)){for(d=0,a=c.length;d<a;++d){b+=g[c[d].id]?1:0}}else{if(g[c.id]){++b}}}else{b=e?g:this.moveMapCount}}return b},setLoadOptions:function(c){var d=this,a=d.getPageSize(),e,b;if(d.getRemoteSort()&&!c.grouper){b=d.getGrouper();if(b){c.grouper=b}}if(a||"start" in c||"limit" in c||"page" in c){c.page=c.page!=null?c.page:d.currentPage;c.start=(c.start!==undefined)?c.start:(c.page-1)*a;c.limit=c.limit!=null?c.limit:a;d.currentPage=c.page}c.addRecords=c.addRecords||false;if(!c.recordCreator){e=d.getSession();if(e){c.recordCreator=e.recordCreator}}d.callParent([c])},setMoving:function(b,g){var d=this,e=d.moveMap||(d.moveMap={}),a=b.length,c,h;for(c=0;c<a;++c){h=b[c].id;if(g){if(e[h]){++e[h]}else{e[h]=1;++d.moveMapCount}}else{if(--e[h]===0){delete e[h];--d.moveMapCount}}}if(d.moveMapCount===0){d.moveMap=null}},processAssociation:function(a){var c=this,b=c.getAssociatedEntity();if(b){a=c.getRole().processLoad(c,b,a,c.getSession())}return a}}});Ext.define("Ext.data.reader.Array",{extend:Ext.data.reader.Json,alternateClassName:"Ext.data.ArrayReader",alias:"reader.array",config:{totalProperty:undefined,successProperty:undefined},createFieldAccessor:function(d){var b=d.mapping,c=d.hasMapping()?b:d.ordinal,a;d.mapping=c;a=this.callParent(arguments);d.mapping=b;return a},getModelData:function(a){return{}}});Ext.define("Ext.data.ArrayStore",{extend:Ext.data.Store,alias:"store.array",alternateClassName:["Ext.data.SimpleStore"],config:{proxy:{type:"memory",reader:"array"}},loadData:function(e,a){if(this.expandData){var d=[],b=0,c=e.length;for(;b<c;b++){d[d.length]=[e[b]]}e=d}this.callParent([e,a])}});Ext.define("Ext.data.StoreManager",{extend:Ext.util.MixedCollection,alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:true,register:function(){for(var a=0,b;(b=arguments[a]);a++){this.add(b)}},unregister:function(){for(var a=0,b;(b=arguments[a]);a++){this.remove(this.lookup(b))}},lookup:function(c,h){if(Ext.isArray(c)){var b=["field1"],e=!Ext.isArray(c[0]),g=c,d,a;if(e){g=[];for(d=0,a=c.length;d<a;++d){g.push([c[d]])}}else{for(d=2,a=c[0].length;d<=a;++d){b.push("field"+d)}}return new Ext.data.ArrayStore({data:g,fields:b,autoDestroy:true,autoCreated:true,expanded:e})}if(Ext.isString(c)){return this.get(c)}else{return Ext.Factory.store(c,h)}},getKey:function(a){return a.storeId}},function(){Ext.regStore=function(d,c){var b;if(Ext.isObject(d)){c=d}else{if(Ext.data.StoreManager.containsKey(d)){return Ext.data.StoreManager.lookup(d)}c.storeId=d}if(c instanceof Ext.data.Store){b=c}else{b=new Ext.data.Store(c)}Ext.data.StoreManager.register(b);return b};Ext.getStore=function(b){return Ext.data.StoreManager.lookup(b)};var a=Ext.regStore("ext-empty-store",{proxy:"memory",useModelWarning:false});a.isEmptyStore=true});Ext.define("Ext.app.domain.Store",{extend:Ext.app.EventDomain,singleton:true,type:"store",prefix:"store.",idMatchRe:/^\#/,constructor:function(){var a=this;a.callParent();a.monitor(Ext.data.AbstractStore)},match:function(d,b){var a=false,c=d.alias;if(b==="*"){a=true}else{if(this.idMatchRe.test(b)){a=d.getStoreId()===b.substring(1)}else{if(c){a=Ext.Array.indexOf(c,this.prefix+b)>-1}}}return a}});Ext.define("Ext.app.route.Queue",{queue:null,token:null,constructor:function(a){Ext.apply(this,a);this.queue=new Ext.util.MixedCollection()},queueAction:function(a,b){this.queue.add({route:a,args:b})},clearQueue:function(){this.queue.removeAll()},runQueue:function(){var a=this.queue,c=a.removeAt(0),b;if(c){b=c&&c.route;b.execute(this.token,c.args,this.onActionExecute,this)}},onActionExecute:function(a){if(a){this.clearQueue()}else{this.runQueue()}}});Ext.define("Ext.app.route.Route",{action:null,conditions:null,controller:null,allowInactive:false,url:null,before:null,caseInsensitive:false,matcherRegex:null,paramMatchingRegex:null,paramsInMatchString:null,constructor:function(b){var c=this,a;Ext.apply(c,b,{conditions:{}});a=c.url;c.paramMatchingRegex=new RegExp(/:([0-9A-Za-z\_]*)/g);c.paramsInMatchString=a.match(c.paramMatchingRegex)||[];c.matcherRegex=c.createMatcherRegex(a)},recognize:function(c){var d=this,a=d.controller,e,b;if((d.allowInactive||a.isActive())&&d.recognizes(c)){e=d.matchesFor(c);b=c.match(d.matcherRegex);b.shift();return Ext.applyIf(e,{controller:a,action:d.action,historyUrl:c,args:b})}return false},recognizes:function(a){return this.matcherRegex.test(a)},execute:function(c,h,i,d){var b=h.args||[],g=this.before,a=this.controller,e=this.createCallback(h,i,d);if(g){b.push(e);if(Ext.isString(g)){g=this.before=a[g]}if(g){g.apply(a,b)}}else{e.resume()}},matchesFor:function(c){var g={},e=this.paramsInMatchString,b=c.match(this.matcherRegex),d=0,a=e.length;b.shift();for(;d<a;d++){g[e[d].replace(":","")]=b[d]}return g},createMatcherRegex:function(a){var c=this.paramsInMatchString,j=this.conditions,d=0,g=c.length,k=Ext.util.Format.format,l=this.caseInsensitive?"i":"",b,h,e;for(;d<g;d++){b=c[d];h=j[b];e=k("{0}",h||"([%a-zA-Z0-9\\-\\_\\s,]+)");a=a.replace(new RegExp(b),e)}return new RegExp("^"+a+"$",l)},createCallback:function(a,d,b){var c=this;b=b||c;return{resume:function(){var e=c.controller,h=c.action,g;if(Ext.isString(h)){h=e[h]}a=a&&a.args?a.args:[];g=a.pop();if(g&&!Ext.isObject(g)){a.push(g)}if(h){c.action=h;h.apply(e,a)}if(d){d.call(b)}},stop:function(e){if(d){d.call(b,e)}}}}});Ext.define("Ext.util.History",{singleton:true,alternateClassName:"Ext.History",mixins:{observable:Ext.util.Observable},useTopWindow:false,constructor:function(){var a=this;a.hiddenField=null;a.ready=false;a.currentToken=null;a.mixins.observable.constructor.call(a)},getHash:function(){return this.win.location.hash.substr(1)},setHash:function(b){try{this.win.location.hash=b;this.currentToken=b}catch(a){}},handleStateChange:function(a){this.currentToken=a;this.fireEvent("change",a)},startUp:function(){var a=this;a.currentToken=a.getHash();if(Ext.supports.Hashchange){Ext.get(a.win).on("hashchange",a.onHashChange,a)}else{Ext.TaskManager.start({fireIdleEvent:false,run:a.onHashChange,interval:50,scope:a})}a.ready=true;a.fireEvent("ready",a)},onHashChange:function(){var b=this,a=b.getHash();if(a!==b.hash){b.hash=a;b.handleStateChange(a)}},init:function(c,a){var b=this;if(b.ready){Ext.callback(c,a,[b]);return}if(!Ext.isReady){Ext.onInternalReady(function(){b.init(c,a)});return}b.win=b.useTopWindow?window.top:window;b.hash=b.getHash();if(c){b.on("ready",c,a,{single:true})}b.startUp()},add:function(a,b){var c=this,d=false;if(b===false||c.getToken()!==a){c.setHash(a);d=true}return d},back:function(){var a=this.useTopWindow?window.top:window;a.history.go(-1)},forward:function(){var a=this.useTopWindow?window.top:window;a.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.app.route.Router",{singleton:true,multipleToken:"|",queueRoutes:true,constructor:function(){var a=Ext.util.History;if(!a.ready){a.init()}a.on("change",this.onStateChange,this);this.clear()},onStateChange:function(d){var l=this,c=l.application,n=l.routes,h=n.length,p=l.queueRoutes,k=d.split(l.multipleToken),o=0,b=k.length,e,g,m,j,a;for(;o<b;o++){d=k[o];a=false;if(p){g=new Ext.app.route.Queue({token:d})}for(e=0;e<h;e++){m=n[e];j=m.recognize(d);if(j){a=true;if(p){g.queueAction(m,j)}else{m.execute(d,j)}}}if(p){g.runQueue()}if(!a&&c){c.fireEvent("unmatchedroute",d)}}},connect:function(c,d,a){var b={url:c,action:d,controller:a};if(Ext.isObject(d)){Ext.merge(b,d)}this.routes.push(new Ext.app.route.Route(b))},disconnectAll:function(c){var b=this.routes,a=b.length,e=[],g,d;for(g=0;g<a;++g){d=b[g];if(d.controller!==c){e.push(d)}}this.routes=e},recognize:function(e){var b=this.routes||[],g=0,a=b.length,c,d;for(;g<a;g++){c=b[g];d=c.recognize(e);if(d){return{route:c,args:d}}}return false},draw:function(a){a.call(this,this)},clear:function(){this.routes=[]}});Ext.define("Ext.app.Controller",{extend:Ext.app.BaseController,statics:{strings:{model:{getter:"getModel",upper:"Model"},view:{getter:"getView",upper:"View"},controller:{getter:"getController",upper:"Controller"},store:{getter:"getStore",upper:"Store"},profile:{getter:"getProfile",upper:"Profiles"}},controllerRegex:/^(.*)\.controller\./,profileRegex:/^(.*)\.profile\./,createGetter:function(a,b){return function(){return this[a](b)}},getGetterName:function(c,a){var d="get",e=c.split("."),g=e.length,b;for(b=0;b<g;b++){d+=Ext.String.capitalize(e[b])}d+=a;return d},resolveNamespace:function(a,g){var h=Ext.app.Controller,e=a.prototype.isProfile?h.profileRegex:h.controllerRegex,d,c,b;d=Ext.getClassName(a);c=g.$namespace||g.namespace||Ext.app.getNamespace(d)||((b=e.exec(d))&&b[1]);return c},processDependencies:function(r,s,d,e,k,b){if(!k||!k.length){return}var l=this,q=l.strings[e],c,p,n,a,g,h,m,i;if(!Ext.isArray(k)){k=[k]}for(g=0,h=k.length;g<h;g++){a=k[g];c=l.getFullName(a,e,d,b);k[g]=p=c.absoluteName;n=c.shortName;s.push(p);m=l.getGetterName(n,q.upper);if(!r[m]){r[m]=i=l.createGetter(q.getter,a)}if(i&&e!=="controller"){i["Ext.app.getter"]=true}}},getFullName:function(c,g,e,d){var a=c,b,h;if((b=c.indexOf("@"))>0){a=c.substring(0,b);h=c.substring(b+1)+"."+a}else{if(c.indexOf(".")>0&&(Ext.ClassManager.isCreated(c)||this.hasRegisteredPrefix(c))){h=c}else{if(e){h=e+"."+g+"."+(d?d+"."+c:c);a=c}else{h=c}}}return{absoluteName:h,shortName:a}},hasRegisteredPrefix:function(a){var c=Ext.ClassManager,b=c.getPrefix(a);return b&&b!==a}},models:null,views:null,stores:null,controllers:null,config:{application:null,refs:null,active:true,moduleClassName:null},onClassExtended:function(b,c,a){var d=a.onBeforeCreated;a.onBeforeCreated=function(e,j){var k=Ext.app.Controller,h=[],g,i;i=e.prototype;g=k.resolveNamespace(e,j);if(g){i.$namespace=g}k.processDependencies(i,h,g,"model",j.models);k.processDependencies(i,h,g,"view",j.views);k.processDependencies(i,h,g,"store",j.stores);k.processDependencies(i,h,g,"controller",j.controllers);Ext.require(h,Ext.Function.pass(d,arguments,this))}},constructor:function(a){this.initAutoGetters();this.callParent(arguments)},normalizeRefs:function(b){var c=this,a=[];if(b){if(Ext.isObject(b)){Ext.Object.each(b,function(d,e){if(Ext.isString(e)){e={selector:e}}e.ref=d;a.push(e)})}else{if(Ext.isArray(b)){a=Ext.Array.merge(a,b)}}}b=c.refs;if(b){c.refs=null;b=c.normalizeRefs(b);if(b){a=Ext.Array.merge(a,b)}}return a},getRefMap:function(){var g=this,c=g._refMap,a,e,d,b;if(!c){a=g.getRefs();c=g._refMap={};if(a){for(b=0,d=a.length;b<d;b++){e=a[b];c[e.ref]=e.selector}}}return c},applyRefs:function(a){return this.normalizeRefs(Ext.clone(a))},updateRefs:function(a){if(a){this.ref(a)}},initAutoGetters:function(){var b=this.self.prototype,c,a;for(c in b){a=b[c];if(a&&a["Ext.app.getter"]){a.call(this)}}},doInit:function(b){var a=this;if(!a._initialized){a.init(b);a._initialized=true}},finishInit:function(g){var d=this,e=d.controllers,b,c,a;if(d._initialized&&e&&e.length){for(c=0,a=e.length;c<a;c++){b=d.getController(e[c]);b.finishInit(g)}}},init:Ext.emptyFn,onLaunch:Ext.emptyFn,activate:function(){this.setActive(true)},deactivate:function(){this.setActive(false)},isActive:function(){return this.getActive()},ref:function(a){var g=this,b=0,e=a.length,h,d,c;a=Ext.Array.from(a);g.references=g.references||[];for(;b<e;b++){h=a[b];d=h.ref;c="get"+Ext.String.capitalize(d);if(!g[c]){g[c]=Ext.Function.pass(g.getRef,[d,h],g)}g.references.push(d.toLowerCase())}},addRef:function(a){this.ref(a)},getRef:function(d,g,a){var c=this,e=c.refCache||(c.refCache={}),b=e[d];g=g||{};a=a||{};Ext.apply(g,a);if(g.forceCreate){return Ext.ComponentManager.create(g,"component")}if(!b){if(g.selector){e[d]=b=Ext.ComponentQuery.query(g.selector)[0]}if(!b&&g.autoCreate){e[d]=b=Ext.ComponentManager.create(g,"component")}if(b){b.on("beforedestroy",function(){e[d]=null})}}return b},hasRef:function(b){var a=this.references;return a&&Ext.Array.indexOf(a,b.toLowerCase())!==-1},getController:function(b){var a=this.getApplication();if(b===this.getId()){return this}return a&&a.getController(b)},getStore:function(c){var a,b;a=(c.indexOf("@")===-1)?c:c.split("@")[0];b=Ext.StoreManager.get(a);if(!b){c=Ext.app.Controller.getFullName(c,"store",this.$namespace);if(c){b=Ext.create(c.absoluteName,{id:a})}}return b},getModel:function(c){var b=Ext.app.Controller.getFullName(c,"model",this.$namespace),a=Ext.ClassManager.get(b.absoluteName);if(!a){a=Ext.data.schema.Schema.lookupEntity(c)}return a},getProfile:function(a){a=Ext.app.Controller.getFullName(a,"profile",this.$namespace);return a},getView:function(a){var b=Ext.app.Controller.getFullName(a,"view",this.$namespace);return b&&Ext.ClassManager.get(b.absoluteName)},ensureId:function(){var a=this.getId();if(!a){this.setId(this.getModuleClassName(this.$className,"controller"))}},destroy:function(a,b){var d=this,g=d.application,e,c;if(!b&&g){g.unregister(d)}d.application=null;if(a){e=d.refCache;for(c in e){if(e.hasOwnProperty(c)){Ext.destroy(e[c])}}}d.callParent()}});Ext.define("Ext.app.Application",{extend:Ext.app.Controller,isApplication:true,scope:undefined,namespaces:[],paths:null,config:{name:"",appProperty:"app",profiles:[],currentProfile:null,mainView:{$value:null,lazy:true},defaultToken:null,glyphFontFamily:null},onClassExtended:function(i,c,h){var b=Ext.app.Controller,d=i.prototype,k=[],e,j,a,g;a=c.name||i.superclass.name;if(a){c.$namespace=a;Ext.app.addNamespaces(a)}if(c.namespaces){Ext.app.addNamespaces(c.namespaces)}if(c["paths processed"]){delete c["paths processed"]}else{Ext.app.setupPaths(a,("appFolder" in c)?c.appFolder:i.superclass.appFolder,c.paths)}b.processDependencies(d,k,a,"profile",c.profiles);d.getDependencies(i,c,k);if(k.length){e=h.onBeforeCreated;h.onBeforeCreated=function(l,n){var m=Ext.Array.clone(arguments);Ext.require(k,function(){return e.apply(this,m)})}}},getDependencies:Ext.emptyFn,constructor:function(a){var b=this;Ext.app.route.Router.application=b;b.callParent(arguments);b.doInit(b);b.initNamespace();Ext.on("appupdate",b.onAppUpdate,b,{single:true});this.onProfilesReady()},onAppUpdate:Ext.emptyFn,onProfilesReady:function(){var e=this,b=e.getProfiles(),d=b.length,g,c,a;for(c=0;c<d;c++){a=Ext.create(b[c],{application:e});if(a.isActive()&&!g){g=a;e.setCurrentProfile(g)}}if(g){g.init()}e.initControllers();e.onBeforeLaunch();e.finishInitControllers()},initNamespace:function(){var c=this,a=c.getAppProperty(),b;b=Ext.namespace(c.getName());if(b){b.getApplication=function(){return c};if(a){if(!b[a]){b[a]=c}}}},initControllers:function(){var d=this,e=Ext.Array.from(d.controllers),b=d.getCurrentProfile(),a,c;d.controllers=new Ext.util.MixedCollection();for(a=0,c=e.length;a<c;a++){d.getController(e[a])}if(b){e=b.getControllers();for(a=0,c=e.length;a<c;a++){d.getController(e[a])}}},finishInitControllers:function(){var c=this,d,b,a;d=c.controllers.getRange();for(b=0,a=d.length;b<a;b++){d[b].finishInit(c)}},launch:Ext.emptyFn,onBeforeLaunch:function(){var j=this,e=Ext.util.History,a=j.getDefaultToken(),h=j.getCurrentProfile(),b,i,k,g,d;j.initMainView();if(h){h.launch()}j.launch.call(j.scope||j);j.launched=true;j.fireEvent("launch",j);b=j.controllers.items;k=b.length;for(i=0;i<k;i++){g=b[i];g.onLaunch(j)}if(!e.ready){e.init()}d=e.getToken();if(d||d===a){Ext.app.route.Router.onStateChange(d)}else{if(a){e.add(a)}}if(Ext.Microloader&&Ext.Microloader.appUpdate&&Ext.Microloader.appUpdate.updated){Ext.Microloader.fireAppUpdate()}Ext.defer(Ext.ClassManager.clearNamespaceCache,2000,Ext.ClassManager)},getModuleClassName:function(a,b){return Ext.app.Controller.getFullName(a,b,this.getName()).absoluteName},initMainView:function(){var c=this,b=c.getCurrentProfile(),a;if(b){a=b.getMainView()}if(a){c.setMainView(a)}else{c.getMainView()}},applyMainView:function(b){var a=this.getView(b);return a.create()},createController:function(a){return this.getController(a)},destroyController:function(a){if(typeof a==="string"){a=this.getController(a,true)}Ext.destroy(a)},getController:function(b,a){var l=this,d=l.controllers,j,g,h,e,k,m;g=d.get(b);if(!g){m=d.items;for(e=0,h=m.length;e<h;++e){k=m[e];j=k.getModuleClassName();if(j&&j===b){g=k;break}}}if(!g&&!a){j=l.getModuleClassName(b,"controller");g=Ext.create(j,{application:l,moduleClassName:b});d.add(g);if(l._initialized){g.doInit(l)}}return g},unregister:function(a){this.controllers.remove(a)},getApplication:function(){return this},destroy:function(a){var c=this,e=c.controllers,b=Ext.namespace(c.getName()),d=c.getAppProperty();Ext.destroy(c.viewport);if(e){e.each(function(g){g.destroy(a,true)})}c.controllers=null;c.callParent([a,true]);if(b&&b[d]===c){delete b[d]}},updateGlyphFontFamily:function(a){Ext.setGlyphFontFamily(a)},applyProfiles:function(a){var b=this;return Ext.Array.map(a,function(c){return b.getModuleClassName(c,"profile")})}});Ext.application=function(a){var b=function(c){Ext.onReady(function(){var d=Ext.viewport;d=d&&d.Viewport;if(d&&d.setup){d.setup(c.prototype.config.viewport)}Ext.app.Application.instance=new c()})};if(typeof a==="string"){Ext.require(a,function(){b(Ext.ClassManager.get(a))})}else{a=Ext.apply({extend:"Ext.app.Application"},a);Ext.app.setupPaths(a.name,a.appFolder,a.paths);a["paths processed"]=true;Ext.define(a.name+".$application",a,function(){b(this)})}};Ext.define("Ext.scroll.Scroller",{extend:Ext.Evented,alias:"scroller.scroller",mixins:[Ext.mixin.Factoryable],factoryConfig:{defaultType:"dom"},isScroller:true,_spacerCls:Ext.baseCSSPrefix+"domscroller-spacer",config:{direction:undefined,directionLock:false,disabled:null,element:undefined,indicators:null,maxPosition:{x:0,y:0},maxUserPosition:{x:0,y:0},minPosition:{x:0,y:0},minUserPosition:{x:0,y:0},momentumEasing:null,size:null,slotSnapSize:{x:0,y:0},x:true,y:true,spacerXY:null},statics:{create:function(a){return Ext.Factory.scroller(a,Ext.supports.Touch?"touch":"dom")}},constructor:function(a){var b=this;b.position={x:0,y:0};b.callParent([a]);b.onDomScrollEnd=Ext.Function.createBuffered(b.onDomScrollEnd,100,b)},destroy:function(){var a=this;a.setX(Ext.emptyString);a.setY(Ext.emptyString);a.setElement(null);a.onDomScrollEnd=a._partners=a.component=null;a.callParent()},addPartner:function(d,b){var c=this,e=c._partners||(c._partners={}),a=d._partners||(d._partners={});e[d.getId()]={scroller:d,axis:b};a[c.getId()]={scroller:c,axis:b}},applyElement:function(b,a){var d=this,c,e;if(a){d.scrollListener.destroy()}if(b){if(b.isElement){c=b}else{c=Ext.get(b)}if(c.dom===document.body){c=Ext.get(document.scrollingElement||(Ext.isWebKit?document.body:document.documentElement));e=Ext.get(Ext.isIE9m?window:document)}else{e=c}d.scrollListener=e.on({scroll:d.onDomScroll,scope:d,destroyable:true});return c}},getClientSize:function(){var a=this.getElement().dom;return{x:a.clientWidth,y:a.clientHeight}},getScrollbarSize:function(){var g=this,b=0,k=0,e,d,j,i,h,c,a;if(g.isDomScroller||Ext.supports.touchScroll===1){e=g.getElement();if(e&&!e.destroyed){j=g.getX();i=g.getY();d=e.dom;if(j||i){a=Ext.getScrollbarSize()}if(j==="scroll"){h=true}else{if(j){h=d.scrollWidth>d.clientWidth}}if(i==="scroll"){c=true}else{if(i){c=d.scrollHeight>d.clientHeight}}if(h){k=a.height}if(c){b=a.width}}}return{width:b,height:k}},getPosition:function(){return this.position},updateDirectionLock:Ext.emptyFn,updateDisabled:Ext.emptyFn,updateIndicators:Ext.emptyFn,updateMaxPosition:Ext.emptyFn,updateMaxUserPosition:Ext.emptyFn,updateMinPosition:Ext.emptyFn,updateMinUserPosition:Ext.emptyFn,updateMomenumEasing:Ext.emptyFn,updateX:Ext.emptyFn,updateY:Ext.emptyFn,onPartnerScrollStart:Ext.emptyFn,onPartnerScrollEnd:Ext.emptyFn,refresh:function(){this.fireEvent("refresh",this);return this},removePartner:function(b){var c=this._partners,a=b._partners;if(c){delete c[b.getId()]}if(a){delete (a[this.getId()])}},scrollBy:function(c,b,d){var a=this.getPosition();if(c){if(c.length){d=b;b=c[1];c=c[0]}else{if(typeof c!=="number"){d=b;b=c.y;c=c.x}}}c=(typeof c==="number")?c+a.x:null;b=(typeof b==="number")?b+a.y:null;return this.doScrollTo(c,b,d)},scrollIntoView:function(d,e,b,h){var j=this,i=j.getPosition(),g,a,k,c=j.getElement();if(d){g=Ext.fly(d).getScrollIntoViewXY(c,i.x,i.y);a=(e===false)?i.x:g.x;k=g.y;if(h){j.on({scrollend:"doHighlight",scope:j,single:true,args:[d,h]})}j.doScrollTo(a,k,b)}},isInView:function(c){var d=this,a={x:false,y:false},e,g=d.getElement(),b;if(c&&g.contains(c)){b=g.getRegion();e=Ext.fly(c).getRegion();a.x=e.right>b.left&&e.left<b.right;a.y=e.bottom>b.top&&e.top<b.bottom}return a},scrollTo:function(a,d,b){var c;if(a){if(a.length){b=d;d=a[1];a=a[0]}else{if(typeof a!=="number"){b=d;d=a.y;a=a.x}}}if(a<0||d<0){c=this.getMaxPosition();if(a<0){a+=c.x}if(d<0){d+=c.y}}this.doScrollTo(a,d,b)},updateDirection:function(c){var b=this,a,d;if(!c){a=b.getX();d=b.getY();if(a&&d){c=(d==="scroll"&&a==="scroll")?"both":"auto"}else{if(d){c="vertical"}else{if(a){c="horizontal"}}}b._direction=c}else{if(c==="auto"){a=true;d=true}else{if(c==="vertical"){a=false;d=true}else{if(c==="horizontal"){a=true;d=false}else{if(c==="both"){a="scroll";d="scroll"}}}}b.setX(a);b.setY(d)}},updateSize:function(d){var e=this,c=e.getElement(),b,a,g;if(c){b=e.getSpacer();if(d==null){b.hide()}else{if(typeof d==="number"){a=d;g=d}else{a=d.x||0;g=d.y||0}if(a>0){a-=1}if(g>0){g-=1}e.setSpacerXY({x:a,y:g});b.show()}}},deprecated:{"5":{methods:{getScroller:function(){return this}}},"5.1.0":{methods:{scrollToTop:function(a){return this.scrollTo(0,0,a)},scrollToEnd:function(a){return this.scrollTo(Infinity,Infinity,a)}}}},privates:{getSpacer:function(){var c=this,a=c._spacer,b;if(!a){b=c.getElement();a=c._spacer=b.createChild({cls:c._spacerCls,role:"presentation"});a.setVisibilityMode(2);b.position()}return a},applySpacerXY:function(b,a){if(a&&b.x===a.x&&b.y===a.y){b=undefined}return b},updateSpacerXY:function(a){this.getSpacer().setLocalXY(a.x,a.y)},convertX:function(a){return a},doHighlight:function(b,a){if(a!==true){Ext.fly(b).highlight(a)}else{Ext.fly(b).highlight()}},fireScrollStart:function(a,d){var c=this,b=c.component;c.invokePartners("onPartnerScrollStart",a,d);if(c.hasListeners.scrollstart){c.fireEvent("scrollstart",c,a,d)}if(b&&b.onScrollStart){b.onScrollStart(a,d)}Ext.GlobalEvents.fireEvent("scrollstart",c,a,d)},fireScroll:function(a,d){var c=this,b=c.component;c.invokePartners("onPartnerScroll",a,d);if(c.hasListeners.scroll){c.fireEvent("scroll",c,a,d)}if(b&&b.onScrollMove){b.onScrollMove(a,d)}Ext.GlobalEvents.fireEvent("scroll",c,a,d)},fireScrollEnd:function(a,d){var c=this,b=c.component;c.invokePartners("onPartnerScrollEnd",a,d);if(c.hasListeners.scrollend){c.fireEvent("scrollend",c,a,d)}if(b&&b.onScrollEnd){b.onScrollEnd(a,d)}Ext.GlobalEvents.fireEvent("scrollend",c,a,d)},initXStyle:function(){var b=this.getElement(),a=this.getX();if(b&&b.dom){if(!a){a="hidden"}else{if(a===true){a="auto"}}b.setStyle("overflow-x",a)}},initYStyle:function(){var a=this.getElement(),b=this.getY();if(a&&a.dom){if(!b){b="hidden"}else{if(b===true){b="auto"}}a.setStyle("overflow-y",b)}},invokePartners:function(i,a,h){var c=this,e=c._partners,b,g,d=i==="onPartnerScrollEnd";if(!c.suspendSync&!c.isReflecting){for(g in e){b=e[g].scroller;b.isReflecting=true;b[i](c,a,h);if(d){b.isReflecting=false}}}},clearReflecting:function(){this.isReflecting=false},suspendPartnerSync:function(){this.suspendSync=(this.suspendSync||0)+1},resumePartnerSync:function(){if(this.suspendSync){this.suspendSync--}},updateDomScrollPosition:function(){var d=this,c=d.getElement(),b,a=d.position;if(c&&!c.destroyed){b=d.getElementScroll(c);a.x=b.left;a.y=b.top}d.positionDirty=false;return a},getElementScroll:function(a){return a.getScroll()},onDomScroll:function(){var d=this,b,a,e,c;if(d.isTouchScroller&&Ext.supports.touchScroll===2){c=d.getElement().dom;c.scrollTop=c.scrollLeft=0;return}b=d.updateDomScrollPosition();a=b.x;e=b.y;if(!d.isScrolling){d.isScrolling=Ext.isScrolling=true;d.fireScrollStart(a,e)}d.fireScroll(a,e);d.onDomScrollEnd()},onDomScrollEnd:function(){var c=this,b=c.getPosition(),a=b.x,d=b.y;c.isScrolling=Ext.isScrolling=false;c.trackingScrollLeft=a;c.trackingScrollTop=d;c.fireScrollEnd(a,d)},onPartnerScroll:function(c,a,d){var b=c._partners[this.getId()].axis;if(b){if(b==="x"){d=null}else{if(b==="y"){a=null}}}this.doScrollTo(a,d,false,true)},restoreState:function(){var b=this,a=b.getElement(),c;if(a){c=a.dom;if(b.trackingScrollTop!==undefined){c.scrollTop=b.trackingScrollTop;c.scrollLeft=b.trackingScrollLeft}}}}});Ext.define("Ext.fx.easing.Abstract",{config:{startTime:0,startValue:0},isEasing:true,isEnded:false,constructor:function(a){this.initConfig(a);return this},applyStartTime:function(a){if(!a){a=Ext.Date.now()}return a},updateStartTime:function(a){this.reset()},reset:function(){this.isEnded=false},getValue:Ext.emptyFn});Ext.define("Ext.fx.easing.Momentum",{extend:Ext.fx.easing.Abstract,config:{acceleration:30,friction:0,startVelocity:0},alpha:0,updateFriction:function(b){var a=Math.log(1-(b/10));this.theta=a;this.alpha=a/this.getAcceleration()},updateStartVelocity:function(a){this.velocity=a*this.getAcceleration()},updateAcceleration:function(a){this.velocity=this.getStartVelocity()*a;this.alpha=this.theta/a},getValue:function(){return this.getStartValue()-this.velocity*(1-this.getFrictionFactor())/this.theta},getFrictionFactor:function(){var a=Ext.Date.now()-this.getStartTime();return Math.exp(a*this.alpha)},getVelocity:function(){return this.getFrictionFactor()*this.velocity}});Ext.define("Ext.fx.easing.Bounce",{extend:Ext.fx.easing.Abstract,config:{springTension:0.3,acceleration:30,startVelocity:0},getValue:function(){var b=Ext.Date.now()-this.getStartTime(),c=(b/this.getAcceleration()),a=c*Math.pow(Math.E,-this.getSpringTension()*c);return this.getStartValue()+(this.getStartVelocity()*a)}});Ext.define("Ext.fx.easing.BoundMomentum",{extend:Ext.fx.easing.Abstract,config:{momentum:null,bounce:null,minMomentumValue:0,maxMomentumValue:0,minVelocity:0.01,startVelocity:0},applyMomentum:function(a,b){return Ext.factory(a,Ext.fx.easing.Momentum,b)},applyBounce:function(a,b){return Ext.factory(a,Ext.fx.easing.Bounce,b)},updateStartTime:function(a){this.getMomentum().setStartTime(a);this.callParent(arguments)},updateStartVelocity:function(a){this.getMomentum().setStartVelocity(a)},updateStartValue:function(a){this.getMomentum().setStartValue(a)},reset:function(){this.lastValue=null;this.isBouncingBack=false;this.isOutOfBound=false;return this.callParent(arguments)},getValue:function(){var a=this.getMomentum(),k=this.getBounce(),e=a.getStartVelocity(),g=e>0?1:-1,h=this.getMinMomentumValue(),d=this.getMaxMomentumValue(),c=(g==1)?d:h,i=this.lastValue,j,b;if(e===0){return this.getStartValue()}if(!this.isOutOfBound){j=a.getValue();b=a.getVelocity();if(Math.abs(b)<this.getMinVelocity()){this.isEnded=true}if(j>=h&&j<=d){return j}this.isOutOfBound=true;k.setStartTime(Ext.Date.now()).setStartVelocity(b).setStartValue(c)}j=k.getValue();if(!this.isEnded){if(!this.isBouncingBack){if(i!==null){if((g==1&&j<i)||(g==-1&&j>i)){this.isBouncingBack=true}}}else{if(Math.round(j)==c){this.isEnded=true}}}this.lastValue=j;return j}});Ext.define("Ext.fx.easing.Linear",{extend:Ext.fx.easing.Abstract,alias:"easing.linear",config:{duration:0,endValue:0},updateStartValue:function(a){this.distance=this.getEndValue()-a},updateEndValue:function(a){this.distance=a-this.getStartValue()},getValue:function(){var a=Ext.Date.now()-this.getStartTime(),b=this.getDuration();if(a>b){this.isEnded=true;return this.getEndValue()}else{return this.getStartValue()+((a/b)*this.distance)}}});Ext.define("Ext.fx.easing.EaseOut",{extend:Ext.fx.easing.Linear,alias:"easing.ease-out",config:{exponent:4,duration:1500},getValue:function(){var g=Ext.Date.now()-this.getStartTime(),d=this.getDuration(),b=this.getStartValue(),i=this.getEndValue(),a=this.distance,c=g/d,h=1-c,e=1-Math.pow(h,this.getExponent()),j=b+(e*a);if(g>=d){this.isEnded=true;return i}return j}});Ext.define("Ext.util.translatable.Abstract",{extend:Ext.Evented,config:{useWrapper:null,easing:null,easingX:null,easingY:null},x:0,y:0,activeEasingX:null,activeEasingY:null,isAnimating:false,isTranslatable:true,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.position={x:0,y:0}},factoryEasing:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")},applyEasing:function(a){if(!this.getEasingX()){this.setEasingX(this.factoryEasing(a))}if(!this.getEasingY()){this.setEasingY(this.factoryEasing(a))}},applyEasingX:function(a){return this.factoryEasing(a)},applyEasingY:function(a){return this.factoryEasing(a)},doTranslate:Ext.emptyFn,translate:function(a,c,b){if(b){return this.translateAnimated(a,c,b)}if(this.isAnimating){this.stopAnimation()}if(!isNaN(a)&&typeof a=="number"){this.x=a}if(!isNaN(c)&&typeof c=="number"){this.y=c}this.doTranslate(a,c)},translateAxis:function(b,d,c){var a,e;if(b=="x"){a=d}else{e=d}return this.translate(a,e,c)},getPosition:function(){var b=this,a=b.position;a.x=-b.x;a.y=-b.y;return a},animate:function(b,a){this.activeEasingX=b;this.activeEasingY=a;this.isAnimating=true;this.lastX=null;this.lastY=null;Ext.AnimationQueue.start(this.doAnimationFrame,this);this.fireEvent("animationstart",this,this.x,this.y);return this},translateAnimated:function(b,i,g){var e=this;if(!Ext.isObject(g)){g={}}if(e.isAnimating){e.stopAnimation()}e.callback=g.callback;e.callbackScope=g.scope;var d=Ext.Date.now(),h=g.easing,c=(typeof b=="number")?(g.easingX||h||e.getEasingX()||true):null,a=(typeof i=="number")?(g.easingY||h||e.getEasingY()||true):null;if(c){c=e.factoryEasing(c);c.setStartTime(d);c.setStartValue(e.x);c.setEndValue(b);if("duration" in g){c.setDuration(g.duration)}}if(a){a=e.factoryEasing(a);a.setStartTime(d);a.setStartValue(e.y);a.setEndValue(i);if("duration" in g){a.setDuration(g.duration)}}return e.animate(c,a)},doAnimationFrame:function(){var e=this,c=e.activeEasingX,b=e.activeEasingY,d=Date.now(),a,g;if(!e.isAnimating){return}e.lastRun=d;if(c===null&&b===null){e.stopAnimation();return}if(c!==null){e.x=a=Math.round(c.getValue());if(c.isEnded){e.activeEasingX=null;e.fireEvent("axisanimationend",e,"x",a)}}else{a=e.x}if(b!==null){e.y=g=Math.round(b.getValue());if(b.isEnded){e.activeEasingY=null;e.fireEvent("axisanimationend",e,"y",g)}}else{g=e.y}if(e.lastX!==a||e.lastY!==g){e.doTranslate(a,g);e.lastX=a;e.lastY=g}e.fireEvent("animationframe",e,a,g)},stopAnimation:function(){var a=this;if(!a.isAnimating){return}a.activeEasingX=null;a.activeEasingY=null;a.isAnimating=false;Ext.AnimationQueue.stop(a.doAnimationFrame,a);a.fireEvent("animationend",a,a.x,a.y);if(a.callback){a.callback.call(a.callbackScope);a.callback=null}},refresh:function(){this.translate(this.x,this.y)},destroy:function(){if(this.isAnimating){this.stopAnimation()}this.callParent()}});Ext.define("Ext.util.translatable.Dom",{extend:Ext.util.translatable.Abstract,config:{element:null},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(){this.refresh()}});Ext.define("Ext.util.translatable.CssTransform",{extend:Ext.util.translatable.Dom,doTranslate:function(a,c){var b=this.getElement();if(!this.destroyed&&!b.destroyed){b.translate(a,c)}},destroy:function(){var a=this.getElement();if(a&&!a.destroyed){a.dom.style.webkitTransform=null}this.callParent()}});Ext.define("Ext.util.translatable.ScrollPosition",{extend:Ext.util.translatable.Dom,type:"scrollposition",config:{useWrapper:true},getWrapper:function(){var c=this.wrapper,b=this.getElement(),a;if(!c){a=b.getParent();if(!a){return null}if(a.hasCls(Ext.baseCSSPrefix+"translatable-hboxfix")){a=a.getParent()}if(this.getUseWrapper()){c=b.wrap()}else{c=a}b.addCls(Ext.baseCSSPrefix+"translatable");c.addCls(Ext.baseCSSPrefix+"translatable-container");this.wrapper=c;c.on("painted",function(){if(!this.isAnimating){this.refresh()}},this);this.refresh()}return c},doTranslate:function(a,d){var c=this.getWrapper(),b;if(c){b=c.dom;if(typeof a=="number"){b.scrollLeft=500000-a}if(typeof d=="number"){b.scrollTop=500000-d}}},destroy:function(){var b=this,a=b.getElement(),c=b.wrapper;if(c){if(!a.destroyed){if(b.getUseWrapper()){c.doReplaceWith(a)}a.removeCls(Ext.baseCSSPrefix+"translatable")}if(!c.destroyed){c.removeCls(Ext.baseCSSPrefix+"translatable-container");c.un("painted","refresh",b)}delete b.wrapper;delete b._element}b.callParent()}});Ext.define("Ext.util.translatable.ScrollParent",{extend:Ext.util.translatable.Dom,isScrollParent:true,applyElement:function(a){var b=Ext.get(a);if(b){this.parent=b.parent()}return b},doTranslate:function(a,c){var b=this.parent;b.setScrollLeft(Math.round(-a));b.setScrollTop(Math.round(-c))},getPosition:function(){var c=this,a=c.position,b=c.parent;a.x=b.getScrollLeft();a.y=b.getScrollTop();return a}});Ext.define("Ext.util.translatable.CssPosition",{extend:Ext.util.translatable.Dom,doTranslate:function(a,c){var b=this.getElement().dom.style;if(typeof a=="number"){b.left=a+"px"}if(typeof c=="number"){b.top=c+"px"}},destroy:function(){var a=this.getElement().dom.style;a.left=null;a.top=null;this.callParent()}});Ext.define("Ext.util.Translatable",{constructor:function(a){var b=Ext.util.translatable;switch(Ext.browser.getPreferredTranslationMethod(a)){case"scrollposition":return new b.ScrollPosition(a);case"scrollparent":return new b.ScrollParent(a);case"csstransform":return new b.CssTransform(a);case"cssposition":return new b.CssPosition(a)}}});Ext.define("Ext.scroll.Indicator",{extend:Ext.Widget,xtype:"scrollindicator",config:{axis:null,hideAnimation:true,hideDelay:0,scroller:null,minLength:24},defaultHideAnimation:{to:{opacity:0},duration:300},names:{x:{side:"l",getSize:"getHeight",setLength:"setWidth",translate:"translateX"},y:{side:"t",getSize:"getWidth",setLength:"setHeight",translate:"translateY"}},oppositeAxis:{x:"y",y:"x"},cls:Ext.baseCSSPrefix+"scroll-indicator",applyHideAnimation:function(a){if(a){a=Ext.mergeIf({onEnd:this.onHideAnimationEnd,scope:this},this.defaultHideAnimation,a)}return a},constructor:function(a){var c=this,b;c.callParent([a]);b=c.getAxis();c.names=c.names[b];c.element.addCls(c.cls+" "+c.cls+"-"+b)},hide:function(){var b=this,a=b.getHideDelay();if(a){b._hideTimer=Ext.defer(b.doHide,a,b)}else{b.doHide()}},setValue:function(n){var l=this,c=l.element,k=l.names,d=l.getAxis(),i=l.getScroller(),h=i.getMaxUserPosition()[d],o=i.getElementSize()[d],j=l.length,b=l.getMinLength(),a=j,g=o-j-l.sizeAdjust,p=Math.round,m=Math.max,e;if(n<0){a=p(m(j+(j*n/o),b));e=0}else{if(n>h){a=p(m(j-(j*(n-h)/o),b));e=g+j-a}else{e=p(n/h*g)}}l[k.translate](e);c[k.setLength](a)},show:function(){var b=this,a=b.element,c=a.getActiveAnimation();if(c){c.end()}if(!b._inDom){b.getScroller().getElement().appendChild(a);b._inDom=true;if(!b.size){b.cacheStyles()}}b.refreshLength();clearTimeout(b._hideTimer);a.setStyle("opacity","")},privates:{cacheStyles:function(){var b=this,a=b.element,c=b.names;b.size=a[c.getSize]();b.margin=a.getMargin(c.side)},doHide:function(){var b=this.getHideAnimation(),a=this.element;if(b){a.animate(b)}else{a.setStyle("opacity",0)}},hasOpposite:function(){return this.getScroller().isAxisEnabled(this.oppositeAxis[this.getAxis()])},onHideAnimationEnd:function(){this.element.setStyle("opacity","0")},refreshLength:function(){var j=this,i=j.names,d=j.getAxis(),g=j.getScroller(),a=g.getSize()[d],k=g.getElementSize()[d],h=k/a,c=j.margin*2,e=j.hasOpposite()?(c+j.size):c,b=Math.max(Math.round((k-e)*h),j.getMinLength());j.sizeAdjust=e;j.length=b;j.element[i.setLength](b)},translateX:function(a){this.element.translate(a)},translateY:function(a){this.element.translate(0,a)}}});Ext.define("Ext.scroll.TouchScroller",{extend:Ext.scroll.Scroller,alias:"scroller.touch",isTouchScroller:true,config:{autoRefresh:true,bounceEasing:{duration:400},elementSize:undefined,indicators:true,fps:"auto",maxAbsoluteVelocity:6,momentumEasing:{momentum:{acceleration:30,friction:0.5},bounce:{acceleration:30,springTension:0.3},minVelocity:1},outOfBoundRestrictFactor:0.5,innerElement:null,size:undefined,slotSnapEasing:{duration:150},slotSnapOffset:{x:0,y:0},startMomentumResetTime:300,translatable:{translationMethod:"auto",useWrapper:false}},cls:Ext.baseCSSPrefix+"scroll-container",scrollerCls:Ext.baseCSSPrefix+"scroll-scroller",dragStartTime:0,dragEndTime:0,isDragging:false,isAnimating:false,isMouseEvent:{mousedown:1,mousemove:1,mouseup:1},listenerMap:{touchstart:"onTouchStart",touchmove:"onTouchMove",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd"},refreshCounter:0,constructor:function(a){var b=this,c="onEvent";b.elementListeners={touchstart:c,touchmove:c,dragstart:c,drag:c,dragend:c,scope:b};b.minPosition={x:0,y:0};b.startPosition={x:0,y:0};b.velocity={x:0,y:0};b.isAxisEnabledFlags={x:false,y:false};b.flickStartPosition={x:0,y:0};b.flickStartTime={x:0,y:0};b.lastDragPosition={x:0,y:0};b.dragDirection={x:0,y:0};b.callParent([a]);b.refreshAxes();b.scheduleRefresh={idle:b.doRefresh,scope:b,single:true,destroyable:true}},applyBounceEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applyElementSize:function(b){var c=this.getElement(),d,a,e;if(!c){return null}d=c.dom;if(!d){return}if(b==null){a=d.clientWidth;e=d.clientHeight}else{a=b.x;e=b.y}return{x:a,y:e}},applyIndicators:function(g,c){var e=this,b,d,a,h;if(g){if(g===true){b=d={}}else{a=g.x;h=g.y;if(a||h){b=(a==null||a===true)?{}:a;d=(a==null||h===true)?{}:h}else{b=d=g}}if(c){if(b){c.x.setConfig(b)}else{c.x.destroy();c.x=null}if(d){c.y.setConfig(d)}else{c.y.destroy();c.y=null}g=c}else{g={x:null,y:null};if(b){g.x=new Ext.scroll.Indicator(Ext.applyIf({axis:"x",scroller:e},b))}if(d){g.y=new Ext.scroll.Indicator(Ext.applyIf({axis:"y",scroller:e},d))}}}else{if(c){if(c.x){c.x.destroy()}if(c.y){c.y.destroy()}c.x=c.y=null}}return g},applyMomentumEasing:function(b){var a=Ext.fx.easing.BoundMomentum;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applyInnerElement:function(a){if(a&&!a.isElement){a=Ext.get(a)}return a},applyMaxPosition:function(c,d){if(d&&c.x===d.x&&c.y===d.y){return}var a=this.getTranslatable(),b;if(a.isAnimating){b=a.activeEasingY;if(b&&b.getStartVelocity&&b.getStartVelocity()<0&&c.y<d.y){b.setMinMomentumValue(-c.y)}}return c},applyMaxUserPosition:function(b,a){if(a&&b.x===a.x&&b.y===a.y){return}return b},applySize:function(b){var c=this.getElement(),e,d,a,g;if(typeof b==="number"){a=b;g=b}else{if(b){a=b.x;g=b.y}}if(c&&(a==null||g==null)){e=c.dom;d=this.getInnerElement().dom;if(a==null){a=Math.max(d.scrollWidth,e.clientWidth)}if(g==null){g=Math.max(d.scrollHeight,e.clientHeight)}}return{x:a,y:g}},applySlotSnapOffset:function(a){if(typeof a==="number"){a={x:a,y:a}}return a},applySlotSnapSize:function(a){if(typeof a==="number"){a={x:a,y:a}}return a},applySlotSnapEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applyTranslatable:function(b,a){return Ext.factory(b,Ext.util.Translatable,a)},destroy:function(){var c=this,b=c.getElement(),d=c.getInnerElement(),a=c.sizeMonitors;if(a){a.element.destroy();a.container.destroy()}if(b&&!b.destroyed){b.removeCls(c.cls)}if(d&&!d.destroyed){d.removeCls(c.scrollerCls)}if(c._isWrapped){if(!b.destroyed){c.unwrapContent()}d.destroy()}c.setElement(null);c.setInnerElement(null);c.setIndicators(null);Ext.destroy(c.getTranslatable());c.callParent()},refresh:function(a,b){var c=this;++c.refreshCounter;if(a){c.doRefresh(b)}else{if(!c.refreshScheduled){c.scheduleRefresh.args=[b];c.refreshScheduled=Ext.on(c.scheduleRefresh)}}},updateAutoRefresh:function(a){this.toggleResizeListeners(a)},updateBounceEasing:function(a){this.getTranslatable().setEasingX(a.x).setEasingY(a.y)},updateElementSize:function(){if(!this.isConfiguring){this.refreshAxes()}},updateDisabled:function(a){if(!this.isConfiguring){if(a){this.detachListeners()}else{this.attachListeners()}}},updateElement:function(c,b){var e=this,g=e.getInnerElement(),d,a;if(!g){g=c.dom.firstChild;if(!g||g.nodeType!==1||!Ext.fly(g).hasCls(e.scrollerCls)){g=e.wrapContent(c)}e.setInnerElement(g)}c.addCls(e.cls);if(e.isConfiguring){if(!e.getTranslatable().isScrollParent){c.dom.style.overflowX=c.dom.style.overflowY="";d=e.elementListeners;d.mousewheel="onMouseWheel";d.scroll={fn:"onElementScroll",delegated:false,scope:e}}}if(!e.getDisabled()){e.attachListeners()}if(!e.isConfiguring){a=e.getAutoRefresh();if(a!==false){e.toggleResizeListeners(a);if(a){e.refresh()}else{if(a===null){e.setElementSize(null)}}}}},updateFps:function(a){if(a!=="auto"){this.getTranslatable().setFps(a)}},updateMaxUserPosition:function(){this.snapToBoundary()},updateMinUserPosition:function(){this.snapToBoundary()},updateInnerElement:function(a){if(a){a.addCls(this.scrollerCls)}this.getTranslatable().setElement(a)},updateSize:function(a){if(!this.isConfiguring){if(Ext.supports.touchScroll===1){this.callParent([a])}this.refreshAxes()}},updateTranslatable:function(a){a.setElement(this.getInnerElement());if(!a.isScrollParent){a.on({animationframe:"onAnimationFrame",animationend:"onAnimationEnd",scope:this})}},updateX:function(){if(!this.isConfiguring){this.refreshAxes()}},updateY:function(){if(!this.isConfiguring){this.refreshAxes()}},privates:{attachListeners:function(){this.getElement().on(this.elementListeners)},constrainX:function(a){return Math.min(this.getMaxPosition().x,Math.max(a,0))},constrainY:function(a){return Math.min(this.getMaxPosition().y,Math.max(a,0))},convertEasingConfig:function(a){return a},detachListeners:function(){this.getElement().un(this.elementListeners)},doRefresh:function(b){var d=this,c,a;if(d.refreshScheduled){d.refreshScheduled=d.refreshScheduled.destroy()}if(d.refreshCounter&&d.getElement()){d.stopAnimation();d.getTranslatable().refresh();if(b){c=b.size;a=b.elementSize}d.setSize(c);d.setElementSize(a);d.fireEvent("refresh",d);d.refreshCounter=0}},doScrollTo:function(k,j,b,g){var i=this,h=i.isDragging,l=i.getTranslatable().isScrollParent,a=!i.isReflecting&&!l;if(i.destroyed||!i.getElement()){return i}g=g||i.isDragging;var m=i.getTranslatable(),c=i.position,n=false,e,d;if(!h||i.isAxisEnabled("x")){if(isNaN(k)||typeof k!=="number"){k=c.x}else{if(!g){k=i.constrainX(k)}if(c.x!==k){c.x=k;n=true}}e=i.convertX(-k)}if(!h||i.isAxisEnabled("y")){if(isNaN(j)||typeof j!=="number"){j=c.y}else{if(!g){j=i.constrainY(j)}if(c.y!==j){c.y=j;n=true}}d=-j}if(n){if(a){i.onScrollStart()}if(b){m.translateAnimated(e,d,b)}else{if(!l){i.onScroll()}m.translate(e,d);if(a){i.onScrollEnd()}}}else{if(b&&b.callback){b.callback()}}return i},getAnimationEasing:function(i,l){if(!this.isAxisEnabled(i)){return null}var n=this,h=n.position[i],d=n.getMinUserPosition()[i],k=n.getMaxUserPosition()[i],b=n.getMaxAbsoluteVelocity(),g=null,c=n.dragEndTime,j=l.flick.velocity[i],o=i==="x",a,m;if(h<d){g=d}else{if(h>k){g=k}}if(o){h=n.convertX(h);g=n.convertX(g)}if(g!==null){m=n.getBounceEasing()[i];m.setConfig({startTime:c,startValue:-h,endValue:-g});return m}if(j===0){return null}if(j<-b){j=-b}else{if(j>b){j=b}}m=n.getMomentumEasing()[i];a={startTime:c,startValue:-h,startVelocity:j*1.5,minMomentumValue:-k,maxMomentumValue:0};if(o){n.convertEasingConfig(a)}m.setConfig(a);return m},getSnapPosition:function(c){var d=this,i=d.getSlotSnapSize()[c],e=null,a,h,g,b;if(i!==0&&d.isAxisEnabled(c)){a=d.position[c];h=d.getSlotSnapOffset()[c];g=d.getMaxUserPosition()[c];b=Math.floor((a-h)%i);if(b!==0){if(a!==g){if(Math.abs(b)>i/2){e=Math.min(g,a+((b>0)?i-b:b-i))}else{e=a-b}}else{e=a-b}}}return e},hideIndicators:function(){var c=this,d=c.getIndicators(),a,b;if(d){if(c.isAxisEnabled("x")){a=d.x;if(a){a.hide()}}if(c.isAxisEnabled("y")){b=d.y;if(b){b.hide()}}}},isAxisEnabled:function(a){this.getX();this.getY();return this.isAxisEnabledFlags[a]},onAnimationEnd:function(){this.snapToBoundary();this.onScrollEnd()},onAnimationFrame:function(c,b,d){var a=this.position;a.x=this.convertX(-b);a.y=-d;this.onScroll()},onAxisDrag:function(d,q){if(q&&this.isAxisEnabled(d)){var r=this,l=r.flickStartPosition,s=r.flickStartTime,j=r.lastDragPosition,n=r.dragDirection,a=r.position[d],o=r.getMinUserPosition()[d],p=r.getMaxUserPosition()[d],h=r.startPosition[d],k=j[d],m=h-q,i=n[d],g=r.getOutOfBoundRestrictFactor(),b=r.getStartMomentumResetTime(),c=Ext.Date.now(),e;if(m<o){m*=g}else{if(m>p){e=m-p;m=p+e*g}}if(m>k){n[d]=1}else{if(m<k){n[d]=-1}}if((i!==0&&(n[d]!==i))||(c-s[d])>b){l[d]=a;s[d]=c}j[d]=m;return true}},onDomScroll:function(){var b=this,c,a;if(b.getTranslatable().isScrollParent){c=b.getElement().dom;a=b.position;a.x=c.scrollLeft;a.y=c.scrollTop}b.callParent()},onDrag:function(c){var a=this,b=a.lastDragPosition;if(!a.isDragging){return}if(a.onAxisDrag("x",a.convertX(c.deltaX))|a.onAxisDrag("y",c.deltaY)){a.doScrollTo(b.x,b.y)}},onDragEnd:function(d){var c=this,b,a;if(!c.isDragging){return}c.dragEndTime=Ext.Date.now();c.onDrag(d);c.isDragging=false;b=c.getAnimationEasing("x",d);a=c.getAnimationEasing("y",d);if(b||a){c.getTranslatable().animate(b,a)}else{c.onScrollEnd()}},onDragStart:function(m){var n=this,q=n.getDirection(),h=m.absDeltaX,g=m.absDeltaY,l=n.getDirectionLock(),j=n.startPosition,d=n.flickStartPosition,k=n.flickStartTime,i=n.lastDragPosition,c=n.position,b=n.dragDirection,p=c.x,o=c.y,a=Ext.Date.now();if(l&&q!=="both"){if((q==="horizontal"&&h>g)||(q==="vertical"&&g>h)){m.stopPropagation()}else{return}}i.x=p;i.y=o;d.x=p;d.y=o;j.x=p;j.y=o;k.x=a;k.y=a;b.x=0;b.y=0;n.dragStartTime=a;n.isDragging=true;if(!n.isScrolling){n.onScrollStart()}},onElementResize:function(a,b){this.refresh(true,{elementSize:{x:b.contentWidth,y:b.contentHeight},size:this.getAutoRefresh()?null:this.getSize()})},onElementScroll:function(a,b){b.scrollTop=b.scrollLeft=0},onEvent:function(b){var a=this,c=b.browserEvent;if((!a.self.isTouching||a.isTouching)&&((!a.getTranslatable().isScrollParent)||(!a.isMouseEvent[c.type]&&c.pointerType!=="mouse"))&&(a.getY()||a.getX())){a[a.listenerMap[b.type]](b)}},onInnerElementResize:function(a,b){this.refresh(true,{size:{x:b.width,y:b.height}})},onMouseWheel:function(k){var l=this,n=k.getWheelDeltas(),d=-n.x,b=-n.y,h=l.position,g=l.getMaxUserPosition(),a=l.getMinUserPosition(),m=Math.max,c=Math.min,j=m(c(h.x+d,g.x),a.x),i=m(c(h.y+b,g.y),a.y);d=j-h.x;b=i-h.y;if(!d&&!b){return}k.stopEvent();l.onScrollStart();l.scrollBy(d,b);l.onScroll();l.onScrollEnd()},onPartnerScrollEnd:function(a,c){var b=this;if(!b.getTranslatable().isScrollParent){b.fireScrollEnd(a,c)}b.callParent([a,c]);b.isScrolling=false;b.hideIndicators()},onPartnerScrollStart:function(a,c){var b=this;b.isScrolling=true;if(!b.getTranslatable().isScrollParent){b.fireScrollStart(a,c)}b.showIndicators()},onScroll:function(){var e=this,c=e.position,b=c.x,h=c.y,g=e.getIndicators(),a,d;if(g){if(e.isAxisEnabled("x")){a=g.x;if(a){a.setValue(b)}}if(e.isAxisEnabled("y")){d=g.y;if(d){d.setValue(h)}}}e.fireScroll(b,h)},onScrollEnd:function(){var b=this,a=b.position;if(b.isScrolling&&!b.isTouching&&!b.snapToSlot()){b.hideIndicators();b.isScrolling=Ext.isScrolling=false;b.fireScrollEnd(a.x,a.y)}},onScrollStart:function(){var b=this,a=b.position;if(!b.isScrolling){b.showIndicators();b.isScrolling=Ext.isScrolling=true;b.fireScrollStart(a.x,a.y)}},onTouchEnd:function(){var a=this;a.isTouching=a.self.isTouching=false;if(!a.isDragging&&a.snapToSlot()){a.onScrollStart()}},onTouchMove:function(a){a.preventDefault()},onTouchStart:function(){var a=this;a.isTouching=a.self.isTouching=true;Ext.getDoc().on({touchend:"onTouchEnd",scope:a,single:true});a.stopAnimation()},refreshAxes:function(){var e=this,c=e.isAxisEnabledFlags,l=e.getSize(),k=e.getElementSize(),j=e.getIndicators(),b,a,i,h,d,g;if(!l||!k){return}b=Math.max(0,l.x-k.x);a=Math.max(0,l.y-k.y);i=e.getX();h=e.getY();e.setMaxPosition({x:b,y:a});if(i===true||i==="auto"){c.x=!!b}else{if(i===false){c.x=false;d=j&&j.x;if(d){d.hide()}}else{if(i==="scroll"){c.x=true}}}if(h===true||h==="auto"){c.y=!!a}else{if(h===false){c.y=false;g=j&&j.y;if(g){g.hide()}}else{if(h==="scroll"){c.y=true}}}e.setMaxUserPosition({x:c.x?b:0,y:c.y?a:0});if(Ext.supports.touchScroll===1){e.initXStyle();e.initYStyle()}},showIndicators:function(){var c=this,d=c.getIndicators(),a,b;if(d){if(c.isAxisEnabled("x")){a=d.x;if(a){a.show()}}if(c.isAxisEnabled("y")){b=d.y;if(b){b.show()}}}},snapToBoundary:function(){var i=this,h=i.getPosition();if(i.isConfiguring||!(h.x||h.y)){return}var c=i.getMinUserPosition(),g=i.getMaxUserPosition(),e=c.x,d=c.y,b=g.x,a=g.y,k=Math.round(h.x),j=Math.round(h.y);if(k<e){k=e}else{if(k>b){k=b}}if(j<d){j=d}else{if(j>a){j=a}}i.doScrollTo(k,j)},snapToSlot:function(){var a=this,c=a.getSnapPosition("x"),b=a.getSnapPosition("y"),d=a.getSlotSnapEasing();if(c!==null||b!==null){a.doScrollTo(c,b,{easingX:d.x,easingY:d.y});return true}return false},stopAnimation:function(){this.getTranslatable().stopAnimation()},toggleResizeListeners:function(a){var c=this,b=c.getElement(),g,e,d;if(b){d=c.getInnerElement();if(a){g=e="on"}else{if(a===null){g="on";e="un"}else{g=e="un"}}b[g]("resize","onElementResize",c);d[e]("resize","onInnerElementResize",c)}},unwrapContent:function(){var a=this.getInnerElement().dom,b=this.getElement().dom,c;while((c=a.firstChild)){b.insertBefore(c,a)}},wrapContent:function(a){var b=document.createElement("div"),c=a.dom,d;while(d=c.lastChild){b.insertBefore(d,b.firstChild)}c.appendChild(b);this.setInnerElement(b);this._isWrapped=true;return this.getInnerElement()}}});Ext.define("Ext.scroll.DomScroller",{extend:Ext.scroll.Scroller,alias:"scroller.dom",isDomScroller:true,getMaxPosition:function(){var b=this.getElement(),a=0,d=0,c;if(b&&!b.destroyed){c=b.dom;a=c.scrollWidth-c.clientWidth;d=c.scrollHeight-c.clientHeight}return{x:a,y:d}},getMaxUserPosition:function(){var c=this,b=c.getElement(),a=0,e=0,d;if(b&&!b.destroyed){d=b.dom;if(c.getX()){a=d.scrollWidth-d.clientWidth}if(c.getY()){e=d.scrollHeight-d.clientHeight}}return{x:a,y:e}},getPosition:function(){var a=this;if(a.positionDirty){a.updateDomScrollPosition()}return a.position},getSize:function(){var b=this.getElement(),a,c;if(b&&!b.destroyed){c=b.dom;a={x:c.scrollWidth,y:c.scrollHeight}}else{a={x:0,y:0}}return a},updateElement:function(b,a){this.initXStyle();this.initYStyle()},updateX:function(a){this.initXStyle()},updateY:function(a){this.initYStyle()},privates:{doScrollTo:function(k,j,a){var h=this,d=h.getElement(),e,b,l,m,g,c;if(d&&!d.destroyed){b=d.dom;m=(k===Infinity);g=(j===Infinity);if(m||g){e=h.getMaxPosition();if(m){k=e.x}if(g){j=e.y}}k=h.convertX(k);if(a){l={};if(j!=null){l.scrollTop=j}if(k!=null){l.scrollLeft=k}d.animate(Ext.mergeIf({to:{scrollTop:j,scrollLeft:k}},a))}else{if(j!=null){b.scrollTop=j}if(k!=null){b.scrollLeft=k;if(Ext.isIE8){c=b.scrollLeft;b.scrollLeft=k}}}h.positionDirty=true}},getElementScroll:function(a){return a.getScroll()},stopAnimation:function(){var a=this.getElement().getActiveAnimation();if(a){a.end()}}}},function(a){Ext.onDocumentReady(function(){a.document=new a({x:true,y:true,element:document.body})})});Ext.define("Ext.overrides.scroll.DomScroller",{override:"Ext.scroll.DomScroller",_scrollerCls:Ext.baseCSSPrefix+"domscroller",updateElement:function(b,a){b.addCls(this._scrollerCls);this.callParent([b,a])}});Ext.define("Ext.behavior.Behavior",{constructor:function(a){this.component=a;a.on("destroy","onComponentDestroy",this)},onComponentDestroy:Ext.emptyFn});Ext.define("Ext.behavior.Translatable",{extend:Ext.behavior.Behavior,setConfig:function(c){var a=this.translatable,b=this.component;if(c){if(!a){this.translatable=a=new Ext.util.Translatable(c);a.setElement(b.renderElement);a.on("destroy","onTranslatableDestroy",this)}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getTranslatable:function(){return this.translatable},onTranslatableDestroy:function(){delete this.translatable},onComponentDestroy:function(){var a=this.translatable;if(a){a.destroy()}}});Ext.define("Ext.util.Draggable",{isDraggable:true,mixins:[Ext.mixin.Observable],config:{cls:Ext.baseCSSPrefix+"draggable",draggingCls:Ext.baseCSSPrefix+"dragging",element:null,constraint:"container",disabled:null,direction:"both",initialOffset:{x:0,y:0},translatable:{}},DIRECTION_BOTH:"both",DIRECTION_VERTICAL:"vertical",DIRECTION_HORIZONTAL:"horizontal",defaultConstraint:{min:{x:-Infinity,y:-Infinity},max:{x:Infinity,y:Infinity}},containerWidth:0,containerHeight:0,width:0,height:0,constructor:function(a){var b;this.extraConstraint={};this.initialConfig=a;this.offset={x:0,y:0};this.elementListeners={dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",resize:"onElementResize",touchstart:"onPress",touchend:"onRelease",scope:this};if(a&&a.element){b=a.element;delete a.element;this.setElement(b)}return this},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){a.on(this.elementListeners);this.mixins.observable.constructor.call(this,this.initialConfig)},updateInitialOffset:function(b){if(typeof b=="number"){b={x:b,y:b}}var c=this.offset,a,d;c.x=a=b.x;c.y=d=b.y;this.getTranslatable().translate(a,d)},updateCls:function(a){this.getElement().addCls(a)},applyTranslatable:function(a,b){a=Ext.factory(a,Ext.util.Translatable,b);if(a){a.setElement(this.getElement())}return a},setExtraConstraint:function(a){this.extraConstraint=a||{};this.refreshConstraint();return this},addExtraConstraint:function(a){Ext.merge(this.extraConstraint,a);this.refreshConstraint();return this},applyConstraint:function(a){this.currentConstraint=a;if(!a){a=this.defaultConstraint}if(a==="container"){return Ext.merge(this.getContainerConstraint(),this.extraConstraint)}return Ext.merge({},this.extraConstraint,a)},updateConstraint:function(){this.refreshOffset()},getContainerConstraint:function(){var a=this.getContainer(),b=this.getElement();if(!a||!b.dom){return this.defaultConstraint}return{min:{x:0,y:0},max:{x:this.containerWidth-this.width,y:this.containerHeight-this.height}}},getContainer:function(){var a=this.container;if(!a){a=this.getElement().getParent();if(a){this.container=a;a.on({resize:"onContainerResize",destroy:"onContainerDestroy",scope:this})}}return a},onElementResize:function(a,b){this.width=b.width;this.height=b.height;this.refresh()},onContainerResize:function(a,b){this.containerWidth=b.width;this.containerHeight=b.height;this.refresh()},onContainerDestroy:function(){delete this.container;delete this.containerSizeMonitor},detachListeners:function(){this.getElement().un(this.elementListeners)},isAxisEnabled:function(a){var b=this.getDirection();if(a==="x"){return(b===this.DIRECTION_BOTH||b===this.DIRECTION_HORIZONTAL)}return(b===this.DIRECTION_BOTH||b===this.DIRECTION_VERTICAL)},onPress:function(a){this.fireEvent("touchstart",this,a)},onRelease:function(a){this.fireEvent("touchend",this,a)},onDragStart:function(b){var a=this,c=a.offset;if(a.getDisabled()){return false}a.fireEventedAction("dragstart",[a,b,c.x,c.y],a.initDragStart,a)},initDragStart:function(b,c,a,d){this.dragStartOffset={x:a,y:d};this.isDragging=true;this.getElement().addCls(this.getDraggingCls())},onDrag:function(b){if(!this.isDragging){return}var a=this.dragStartOffset;this.fireAction("drag",[this,b,a.x+b.deltaX,a.y+b.deltaY],this.doDrag)},doDrag:function(b,c,a,d){b.setOffset(a,d)},onDragEnd:function(a){if(!this.isDragging){return}this.onDrag(a);this.isDragging=false;this.getElement().removeCls(this.getDraggingCls());this.fireEvent("dragend",this,a,this.offset.x,this.offset.y)},setOffset:function(j,i,b){var g=this.offset,a=this.getConstraint(),e=a.min,c=a.max,d=Math.min,h=Math.max;if(this.isAxisEnabled("x")&&typeof j=="number"){j=d(h(j,e.x),c.x)}else{j=g.x}if(this.isAxisEnabled("y")&&typeof i=="number"){i=d(h(i,e.y),c.y)}else{i=g.y}g.x=j;g.y=i;this.getTranslatable().translate(j,i,b)},getOffset:function(){return this.offset},refreshConstraint:function(){this.setConstraint(this.currentConstraint)},refreshOffset:function(){var a=this.offset;this.setOffset(a.x,a.y)},refresh:function(){this.refreshConstraint();this.getTranslatable().refresh();this.refreshOffset()},enable:function(){return this.setDisabled(false)},disable:function(){return this.setDisabled(true)},destroy:function(){var c=this,a=c.getTranslatable();var b=c.getElement();if(b&&!b.destroyed){b.removeCls(c.getCls())}c.detachListeners();if(a){a.destroy()}c.callParent()}});Ext.define("Ext.behavior.Draggable",{extend:Ext.behavior.Behavior,setConfig:function(c){var a=this.draggable,b=this.component,d=this.listeners;if(c){if(!a){b.setTranslatable(c.translatable);this.draggable=a=new Ext.util.Draggable(c);a.setTranslatable(b.getTranslatable());a.setElement(b.renderElement);a.on("destroy","onDraggableDestroy",this);if(d){b.on(d)}}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getDraggable:function(){return this.draggable},onDraggableDestroy:function(){delete this.draggable},onComponentDestroy:function(){var a=this.draggable;if(a){a.destroy()}}});Ext.define("Ext.Component",{extend:Ext.Widget,alternateClassName:"Ext.lib.Component",mixins:[Ext.mixin.Traversable],xtype:"component",cachedConfig:{baseCls:null,cls:null,floatingCls:Ext.baseCSSPrefix+"floating",hiddenCls:Ext.baseCSSPrefix+"item-hidden",ui:null,margin:null,padding:null,border:null,styleHtmlCls:Ext.baseCSSPrefix+"html",styleHtmlContent:null},eventedConfig:{left:null,top:null,right:null,bottom:null,minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,scrollable:null,docked:null,centered:null,hidden:null,disabled:null},config:{html:null,draggable:null,translatable:null,renderTo:null,zIndex:null,tpl:null,enterAnimation:null,exitAnimation:null,showAnimation:null,hideAnimation:null,tplWriteMode:"overwrite",data:null,disabledCls:Ext.baseCSSPrefix+"item-disabled",contentEl:null,record:null,plugins:null,useBodyElement:null},defaultBindProperty:"html",alignmentRegex:/^([a-z]+)-([a-z]+)(\?)?$/,isComponent:true,floating:false,rendered:false,isInner:true,activeAnimation:null,dockPositions:{top:true,right:true,bottom:true,left:true},innerElement:null,element:{reference:"element",classList:["x-unsized"]},widthLayoutSized:false,heightLayoutSized:false,layoutStretched:false,sizeState:false,sizeFlags:0,LAYOUT_WIDTH:1,LAYOUT_HEIGHT:2,LAYOUT_BOTH:3,LAYOUT_STRETCHED:4,_scrollableCfg:{x:{x:true,y:false},y:{x:false,y:true},horizontal:{x:true,y:false},vertical:{x:false,y:true},both:{x:true,y:true},"true":{x:true,y:true}},statics:{fromElement:function(c,b,a){return Ext.ComponentManager.fromElement(c,b,a)}},initialConfig:null,$initParent:null,constructor:function(b){var d=this,a=b&&b.plugins,g="responsive",c,e;d.onInitializedListeners=[];if(b){d.initialConfig=b;d.$initParent=b.$initParent}if(a){a=Ext.Array.from(a);for(c=a.length;c-->0;){e=a[c];if(e===g||e.type===g){d.initialConfig=b=Ext.apply({},b);b.plugins=a=a.slice(0);a[c]=d.createPlugin(e);b=d.initialConfig;break}}}d.callParent([b]);d.refreshSizeState=d.doRefreshSizeState;d.refreshFloating=d.doRefreshFloating;if(d.refreshSizeStateOnInitialized){d.refreshSizeState()}if(d.refreshFloatingOnInitialized){d.refreshFloating()}d.initialize();d.triggerInitialized();if(d.fullscreen){d.fireEvent("fullscreen",d)}d.fireEvent("initialize",d)},beforeInitConfig:function(a){this.beforeInitialize.apply(this,arguments)},beforeInitialize:Ext.emptyFn,initialize:Ext.emptyFn,triggerInitialized:function(){var e=this.onInitializedListeners,g=e.length,h,d,c,a,b;if(!this.initialized){this.initialized=true;if(g>0){for(b=0;b<g;b++){h=e[b];d=h.fn;c=h.scope;a=h.args;if(typeof d=="string"){c[d].apply(c,a)}else{d.apply(c,a)}}e.length=0}}},onInitialized:function(d,c,a){var b=this.onInitializedListeners;if(!c){c=this}if(this.initialized){if(typeof d=="string"){c[d].apply(c,a)}else{d.apply(c,a)}}else{b.push({fn:d,scope:c,args:a})}},initElement:function(){var a=this;a.callParent();if(!a.innerElement){a.innerElement=a.element}if(!a.bodyElement){a.bodyElement=a.innerElement}},applyPlugins:function(a){var g=this,b,e,c,d;if(!a){return a}a=[].concat(a);for(c=0,e=a.length;c<e;c++){a[c]=g.createPlugin(a[c])}return a},createPlugin:function(b){if(typeof b==="string"){b={type:b}}var a=b;if(!b.isInstance){b.cmp=this;a=Ext.factory(b,null,null,"plugin");delete b.cmp}if(a.setCmp){a.setCmp(this)}return a},updatePlugins:function(d,a){var c,b;if(d){for(b=0,c=d.length;b<c;b++){d[b].init(this)}}if(a){for(b=0,c=a.length;b<c;b++){Ext.destroy(a[b])}}},applyScrollable:function(e,g){var d=this,c,b,a,i,h;if(e){if(e===true||typeof e==="string"){h=d._scrollableCfg[e];e=h}if(g){g.setConfig(e);e=g}else{b=Ext.supports.touchScroll;if(b&&!e.translatable){e.translatable={translationMethod:(b===1)?"scrollparent":"csstransform"}}if(b===1){e=Ext.Object.chain(e);e.indicators=false}e=Ext.scroll.Scroller.create(e);e.component=d;d.setUseBodyElement(true);c=d.bodyElement;if(b===2){e.setInnerElement(d.innerElement);e.setElement(c)}else{if(b===1){a=e.getX();i=e.getY();c.setStyle({overflowX:a===true?"auto":!a?"hidden":a,overflowY:i===true?"auto":!i?"hidden":i});c.disableTouchScroll()}e.setElement(c)}if(d.isPainted()){d.onPainted()}d.on("painted","onPainted",d)}}return e},onPainted:function(){var a=this.getScrollable();if(a&&a.isTouchScroller&&a.getAutoRefresh()){a.refresh()}},updateRenderTo:function(a){this.renderTo(a)},updateBorder:function(a){this.element.setStyle("border-width",a?"":"0")},updatePadding:function(a){this.innerElement.setPadding(a)},updateMargin:function(a){this.element.setMargin(a)},updateUi:function(a,d){var c=this.getBaseCls(),b=this.element,e=this.currentUi;if(c){if(d){if(e){b.removeCls(e)}else{b.removeCls(c+"-"+d)}}if(a){b.addCls(a,c);this.currentUi=c+"-"+a;if(!this.self.prototype.currentUi){this.self.prototype.currentUi=this.currentUi}}}},applyBaseCls:function(a){return a||Ext.baseCSSPrefix+this.xtype},updateBaseCls:function(a,b){var c=this,d=c.getUi();if(b){this.element.removeCls(b);if(d){this.element.removeCls(this.currentUi)}}if(a){this.element.addCls(a);if(d){this.element.addCls(a,null,d);this.currentUi=a+"-"+d}}},addCls:function(a,h,j){var d=this.getCls(),g=(d)?d.slice():[],e,c,b;h=h||"";j=j||"";if(typeof a=="string"){a=[a]}e=a.length;if(!g.length&&h===""&&j===""){g=a}else{for(c=0;c<e;c++){b=h+a[c]+j;if(g.indexOf(b)==-1){g.push(b)}}}this.setCls(g)},removeCls:function(a,g,h){var c=this.getCls(),e=(c)?c.slice():[],d,b;g=g||"";h=h||"";if(typeof a=="string"){e=Ext.Array.remove(e,g+a+h)}else{d=a.length;for(b=0;b<d;b++){e=Ext.Array.remove(e,g+a[b]+h)}}this.setCls(e)},replaceCls:function(d,j,c,h){var k=this.getCls(),e=(k)?k.slice():[],g,b,a;c=c||"";h=h||"";if(typeof d=="string"){e=Ext.Array.remove(e,c+d+h)}else{if(d){g=d.length;for(b=0;b<g;b++){e=Ext.Array.remove(e,c+d[b]+h)}}}if(typeof j=="string"){e.push(c+j+h)}else{if(j){g=j.length;if(!e.length&&c===""&&h===""){e=j}else{for(b=0;b<g;b++){a=c+j[b]+h;if(e.indexOf(a)==-1){e.push(a)}}}}}this.setCls(e)},toggleCls:function(b,d){var a=this.getCls(),c=a?a.slice():[];if(typeof d!=="boolean"){d=c.indexOf(b)===-1}if(d){Ext.Array.include(c,b)}else{Ext.Array.remove(c,b)}this.setCls(c);return this},applyCls:function(a){if(typeof a=="string"){a=[a]}if(!a||!a.length){a=null}return a},updateCls:function(c,b){var a=this.element;if(a&&((c&&!b)||(!c&&b)||c.length!=b.length||Ext.Array.difference(c,b).length>0)){a.replaceCls(b,c)}},updateStyleHtmlCls:function(c,a){var d=this.innerHtmlElement,b=this.innerElement;if(this.getStyleHtmlContent()&&a){if(d){d.replaceCls(a,c)}else{b.replaceCls(a,c)}}},applyStyleHtmlContent:function(a){return Boolean(a)},updateStyleHtmlContent:function(c){var a=this.getStyleHtmlCls(),b=this.innerElement,d=this.innerHtmlElement;if(c){if(d){d.addCls(a)}else{b.addCls(a)}}else{if(d){d.removeCls(a)}else{b.addCls(a)}}},applyContentEl:function(a){if(a){return Ext.get(a)}},updateContentEl:function(a,b){if(b){b.hide();Ext.getBody().append(b)}if(a){this.setHtml(a.dom);a.show()}},updateUseBodyElement:function(a){if(a){this.link("bodyElement",this.innerElement.wrap({cls:"x-body"}))}},isCentered:function(){return Boolean(this.getCentered())},isFloating:function(){return this.floating},isDocked:function(){return Boolean(this.getDocked())},isInnerItem:function(){return this.isInner},setIsInner:function(a){if(a!==this.isInner){this.isInner=a;if(this.initialized){this.fireEvent("innerstatechange",this,a)}}},applyTop:function(a){return this.filterLengthValue(a)},applyRight:function(a){return this.filterLengthValue(a)},applyBottom:function(a){return this.filterLengthValue(a)},applyLeft:function(a){return this.filterLengthValue(a)},applyMinWidth:function(a){return this.filterLengthValue(a)},applyMinHeight:function(a){return this.filterLengthValue(a)},applyMaxWidth:function(a){return this.filterLengthValue(a)},applyMaxHeight:function(a){return this.filterLengthValue(a)},updateTop:function(a){this.element.setTop(a);this.refreshFloating()},updateRight:function(a){this.element.setRight(a);this.refreshFloating()},updateBottom:function(a){this.element.setBottom(a);this.refreshFloating()},updateLeft:function(a){this.element.setLeft(a);this.refreshFloating()},updateWidth:function(a){this.element.setWidth(a);this.refreshSizeState()},updateHeight:function(a){this.element.setHeight(a);this.refreshSizeState()},updateFlex:Ext.emptyFn,refreshSizeState:function(){this.refreshSizeStateOnInitialized=true},doRefreshSizeState:function(){var b=this.getWidth()!==null||this.widthLayoutSized||(this.getLeft()!==null&&this.getRight()!==null),c=this.getHeight()!==null||this.heightLayoutSized||(this.getTop()!==null&&this.getBottom()!==null),e=this.layoutStretched||this.hasCSSMinHeight||(!c&&this.getMinHeight()!==null),d=b&&c,a=(b&&this.LAYOUT_WIDTH)|(c&&this.LAYOUT_HEIGHT)|(e&&this.LAYOUT_STRETCHED);if(!d&&e){d=null}this.setSizeState(d);this.setSizeFlags(a)},setLayoutSizeFlags:function(a){this.layoutStretched=!!(a&this.LAYOUT_STRETCHED);this.widthLayoutSized=!!(a&this.LAYOUT_WIDTH);this.heightLayoutSized=!!(a&this.LAYOUT_HEIGHT);this.refreshSizeState()},setSizeFlags:function(a){var e=this,c=e.element,b,d,g;if(a!==this.sizeFlags){e.sizeFlags=a;b=!!(a&this.LAYOUT_WIDTH);d=!!(a&this.LAYOUT_HEIGHT);g=!!(a&this.LAYOUT_STRETCHED);c.toggleCls(Ext.baseCSSPrefix+"has-width",b&&!g&&!d);c.toggleCls(Ext.baseCSSPrefix+"has-height",d&&!g&&!b);if(e.initialized){e.fireEvent("sizeflagschange",e,a)}}},getSizeFlags:function(){if(!this.initialized){this.doRefreshSizeState()}return this.sizeFlags},setSizeState:function(a){if(a!==this.sizeState){this.sizeState=a;this.element.setSizeState(a);if(this.initialized){this.fireEvent("sizestatechange",this,a)}}},getSizeState:function(){if(!this.initialized){this.doRefreshSizeState()}return this.sizeState},updateMinWidth:function(a){this.element.setMinWidth(a)},updateMinHeight:function(a){this.element.setMinHeight(a);this.refreshSizeState()},updateMaxWidth:function(a){this.element.setMaxWidth(a)},updateMaxHeight:function(a){this.element.setMaxHeight(a)},applyCentered:function(a){a=Boolean(a);if(a){this.refreshInnerState=Ext.emptyFn;if(this.isFloating()){this.resetFloating()}if(this.isDocked()){this.setDocked(false)}this.setIsInner(false);delete this.refreshInnerState}return a},updateCentered:function(a){this.toggleCls(this.getFloatingCls(),a);if(!a){this.refreshInnerState()}},applyDocked:function(a){if(!a){return null}this.refreshInnerState=Ext.emptyFn;if(this.isFloating()){this.resetFloating()}if(this.isCentered()){this.setCentered(false)}this.setIsInner(false);delete this.refreshInnerState;return a},updateDocked:function(b,a){this.fireEvent("afterdockedchange",this,b,a);if(!b){this.refreshInnerState()}},resetFloating:function(){this.setTop(null);this.setRight(null);this.setBottom(null);this.setLeft(null)},refreshInnerState:function(){this.setIsInner(!this.isCentered()&&!this.isFloating()&&!this.isDocked())},refreshFloating:function(){this.refreshFloatingOnInitialized=true},doRefreshFloating:function(){var a=this,c=true,b=this.getFloatingCls();if(a.getTop()===null&&a.getBottom()===null&&a.getRight()===null&&a.getLeft()===null){c=false}else{a.refreshSizeState()}if(c!==this.floating){a.floating=c;if(c){a.refreshInnerState=Ext.emptyFn;if(a.isCentered()){a.setCentered(false)}if(a.isDocked()){a.setDocked(false)}a.setIsInner(false);delete a.refreshInnerState}a.element.toggleCls(b,c);if(a.initialized){a.fireEvent("floatingchange",a,c)}if(!c){a.refreshInnerState()}}},updateFloatingCls:function(a,b){if(this.isFloating()){this.replaceCls(b,a)}},applyDisabled:function(a){return Boolean(a)},updateDisabled:function(a){this.element.toggleCls(this.getDisabledCls(),a)},updateDisabledCls:function(a,b){if(this.isDisabled()){this.element.replaceCls(b,a)}},disable:function(){this.setDisabled(true)},enable:function(){this.setDisabled(false)},isDisabled:function(){return this.getDisabled()},applyZIndex:function(a){if(!a&&a!==0){a=null}if(a!==null){a=Number(a);if(isNaN(a)){a=null}}return a},updateZIndex:function(c){var b=this.element,a;if(b&&!b.destroyed){a=b.dom.style;if(c!==null){a.setProperty("z-index",c,"important")}else{a.removeProperty("z-index")}}},getInnerHtmlElement:function(){var a=this.innerHtmlElement,b;if(!a||!a.dom||!a.dom.parentNode){this.innerHtmlElement=a=Ext.Element.create({cls:"x-innerhtml"});if(this.getStyleHtmlContent()){b=this.getStyleHtmlCls();this.innerHtmlElement.addCls(b);this.innerElement.removeCls(b)}this.innerElement.appendChild(a)}return a},updateHtml:function(a){if(!this.destroyed){var b=this.getInnerHtmlElement();if(Ext.isElement(a)){b.setHtml("");b.append(a)}else{b.setHtml(a)}}},applyHidden:function(a){return Boolean(a)},updateHidden:function(c){var b=this,a=b.renderElement;if(a.destroyed){return}if(c){a.hide()}else{a.show()}if(b.element){b.element.toggleCls(b.getHiddenCls(),c)}b.fireEvent(c?"hide":"show",b)},updateHiddenCls:function(a,b){if(this.isHidden()){this.element.replaceCls(b,a)}},isHidden:function(b){var c=!!this.getHidden(),a;if(!c&&b){a=this.getRefOwner();while(a){c=!!a.getHidden();if(c){break}a=a.getRefOwner()}}return c},isVisible:function(a){return !this.isHidden(a)},hide:function(b){var a=this,c=a.activeAnimation;a.setCurrentAlignmentInfo(null);if(c){c.on({animationend:function(){a.hide(b)},single:true});return a}if(!a.getHidden()){if(b===undefined||(b&&b.isComponent)){b=a.getHideAnimation()}if(b){if(b===true){b="fadeOut"}a.on({beforehiddenchange:"animateFn",scope:this,single:true,args:[b]})}a.setHidden(true)}return a},show:function(b){if(this.activeAnimation){this.activeAnimation.on({animationend:function(){this.show(b)},scope:this,single:true});return this}var a=this.getHidden();if(a||a===null){if(b===true){b="fadeIn"}else{if(b===undefined||(b&&b.isComponent)){b=this.getShowAnimation()}}if(b){this.beforeShowAnimation();this.on({beforehiddenchange:"animateFn",scope:this,single:true,args:[b]})}this.setHidden(false)}return this},beforeShowAnimation:function(){var a=this.element;if(a){this.renderElement.show();a.removeCls(this.getHiddenCls())}},animateFn:function(e,c,g,b,a){var d=this;if(e&&(!g||(g&&d.isPainted()))){d.activeAnimation=new Ext.fx.Animation(e);d.activeAnimation.setElement(c.element);if(!Ext.isEmpty(g)){d.activeAnimation.setOnEnd(function(){d.activeAnimation=null;a.resume()});a.pause()}Ext.Animator.run(d.activeAnimation)}},setVisibility:function(a){this.renderElement.setVisible(a)},isRendered:function(){return this.rendered},isPainted:function(){return this.renderElement.isPainted()},applyTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},applyData:function(a){if(Ext.isObject(a)){return Ext.apply({},a)}else{if(!a){a={}}}return a},updateData:function(c){var d=this;if(c){var b=d.getTpl(),a=d.getTplWriteMode();if(b){b[a](d.getInnerHtmlElement(),c)}this.fireEvent("updatedata",d,c)}},applyRecord:function(a){if(a&&Ext.isObject(a)&&a.isModel){return a}return null},updateRecord:function(b,a){var c=this;if(a){a.unjoin(c)}if(!b){c.updateData("")}else{b.join(c);c.updateData(b.getData(true))}},afterEdit:function(){this.updateRecord(this.getRecord())},afterErase:function(){this.setRecord(null)},getXTypes:function(){return this.xtypesChain.join("/")},getDraggableBehavior:function(){var a=this.draggableBehavior;if(!a){a=this.draggableBehavior=new Ext.behavior.Draggable(this)}return a},applyDraggable:function(a){this.getDraggableBehavior().setConfig(a)},getDraggable:function(){return this.getDraggableBehavior().getDraggable()},getTranslatableBehavior:function(){var a=this.translatableBehavior;if(!a){a=this.translatableBehavior=new Ext.behavior.Translatable(this)}return a},applyTranslatable:function(a){this.getTranslatableBehavior().setConfig(a)},getTranslatable:function(){return this.getTranslatableBehavior().getTranslatable()},translateAxis:function(b,d,c){var a,e;if(b==="x"){a=d}else{e=d}return this.translate(a,e,c)},translate:function(){var a=this.getTranslatable();if(!a){this.setTranslatable(true);a=this.getTranslatable()}a.translate.apply(a,arguments)},showBy:function(b,e){var d=this,a=Ext.Viewport,c=d.getParent();d.setVisibility(false);if(c!==a){a.add(d)}d.show();d.on({hide:"onShowByErased",destroy:"onShowByErased",single:true,scope:d});a.on("resize","alignTo",d,{args:[b,e]});d.alignTo(b,e);d.setVisibility(true)},onShowByErased:function(){Ext.Viewport.un("resize","alignTo",this)},getAlignmentInfo:function(j,i){var b=j.isComponent?j.renderElement:j,g=b.getBox(),c=this.renderElement,d=c.getBox(),e={alignToBox:g,alignment:i,top:g.top,left:g.left,alignToWidth:g.width,alignToHeight:g.height,width:d.width,height:d.height},a=this.getCurrentAlignmentInfo(),h=true;if(!Ext.isEmpty(a)){Ext.Object.each(e,function(k,l){if(!Ext.isObject(l)&&a[k]!=l){h=false;return false}return true})}else{h=false}return{isAligned:h,stats:e}},getCurrentAlignmentInfo:function(){return this.$currentAlignmentInfo},setCurrentAlignmentInfo:function(a){this.$currentAlignmentInfo=Ext.isEmpty(a)?null:Ext.merge({},a.stats?a.stats:a)},alignTo:function(l,h){var o=this.getAlignmentInfo(l,h);if(o.isAligned){return}var n=o.stats.alignToBox,z=this.getParent().element.getBox(),w=o.stats.alignToHeight,m=o.stats.alignToWidth,r=o.stats.height,t=o.stats.width;z.bottom-=5;z.height-=10;z.left+=5;z.right-=5;z.top+=5;z.width-=10;if(!h||h==="auto"){if(z.bottom-n.bottom<r){if(n.top-z.top<r){if(n.left-z.left<t){h="cl-cr?"}else{h="cr-cl?"}}else{h="bc-tc?"}}else{h="tc-bc?"}}var a=h.match(this.alignmentRegex);var u=a[1].split(""),b=a[2].split(""),x=(a[3]==="?"),g=u[0],s=u[1]||g,j=b[0],k=b[1]||j,p=n.top,c=n.left,i=w/2,d=m/2,e=t/2,q=r/2,v,y;switch(g){case"t":switch(j){case"c":p+=i;break;case"b":p+=w}break;case"b":switch(j){case"c":p-=(r-i);break;case"t":p-=r;break;case"b":p-=r-w}break;case"c":switch(j){case"t":p-=q;break;case"c":p-=(q-i);break;case"b":p-=(q-w)}break}switch(s){case"l":switch(k){case"c":c+=i;break;case"r":c+=m}break;case"r":switch(k){case"r":c-=(t-m);break;case"c":c-=(t-e);break;case"l":c-=t}break;case"c":switch(k){case"l":c-=e;break;case"c":c-=(e-d);break;case"r":c-=(e-m)}break}if(x){v=(z.left+z.width)-t;y=(z.top+z.height)-r;c=Math.max(z.left,Math.min(v,c));p=Math.max(z.top,Math.min(y,p))}this.setLeft(c);this.setTop(p);this.setCurrentAlignmentInfo(o)},up:function(b){var a=this.parent;if(b){for(;a;a=a.parent){if(Ext.ComponentQuery.is(a,b)){return a}}}return a},getBubbleTarget:function(){return this.getParent()},destroy:function(){var a=this;a.isDestroying=a.destroying=true;if(a.hasListeners.destroy){a.fireEvent("destroy",a)}Ext.destroy(a.getTranslatable(),a.getPlugins(),a.innerHtmlElement,a.scrollerElement,a.getScrollable());a.setRecord(null);a.callParent();a.isDestroying=a.destroying=false},privates:{doAddListener:function(d,h,g,c,a,b,e){if(d=="painted"||d=="resize"){this.element.doAddListener(d,h,g||this,c,a)}this.callParent([d,h,g,c,a,b,e])},doRemoveListener:function(a,c,b){if(a=="painted"||a=="resize"){this.element.doRemoveListener(a,c,b)}this.callParent([a,c,b])}}},function(){});Ext.define("Ext.layout.Abstract",{mixins:[Ext.mixin.Observable],isLayout:true,constructor:function(a){this.initialConfig=a},setContainer:function(a){var b=this;b.container=a;b.mixins.observable.constructor.call(b,b.initialConfig);return b},onItemAdd:Ext.emptyFn,onItemRemove:Ext.emptyFn,onItemMove:Ext.emptyFn,onItemCenteredChange:Ext.emptyFn,onItemFloatingChange:Ext.emptyFn,onItemDockedChange:Ext.emptyFn,onItemInnerStateChange:Ext.emptyFn});Ext.define("Ext.mixin.Hookable",{extend:Ext.Mixin,mixinConfig:{id:"hookable"},bindHook:function(a,d,i,c,b){if(!i){i=d}var g=a[d],e,h;if(g&&g.hasOwnProperty("$binding")){h=g.$binding;if(h.bindingMethod===i&&h.bindingScope===this){return this}}a[d]=e=function(){var l=e.$binding,k=l.bindingScope,j=Array.prototype.slice.call(arguments);j.push(arguments);if(b){j.push.apply(j,b)}if(!l.preventDefault&&k[l.bindingMethod].apply(k,j)!==false){return l.boundFn.apply(this,arguments)}};e.$binding={preventDefault:!!c,boundFn:g,bindingMethod:i,bindingScope:this};return this},unbindHook:function(a,b,h){if(!h){h=b}var d=a[b],e=d.$binding,c,g;while(e){c=e.boundFn;if(e.bindingMethod===h&&e.bindingScope===this){if(g){g.boundFn=c}else{a[b]=c}return this}g=e;e=c.$binding}return this}});Ext.define("Ext.util.Wrapper",{mixins:[Ext.mixin.Hookable],constructor:function(c,b){var a=this.link("element",Ext.Element.create(c));if(b){a.insertBefore(b);this.wrap(b)}},bindSize:function(b){var c=this.wrappedElement,a;this.boundSizeName=b;this.boundMethodName=a=b==="width"?"setWidth":"setHeight";this.bindHook(c,a,"onBoundSizeChange");c[a].call(c,c.getStyleValue(b))},onBoundSizeChange:function(c,a){var b=this.element;if(typeof c==="string"&&c.substr(-1)==="%"){a[0]="100%"}else{c=""}b[this.boundMethodName].call(b,c)},wrap:function(c){var b=this.element,a;this.wrappedElement=c;a=b.dom;while(a.firstElementChild!==null){a=a.firstElementChild}a.appendChild(c.dom)},destroy:function(){var g=this,d=g.element,h=d.dom,e=g.wrappedElement,b=g.boundMethodName,a=h.parentNode,c;if(b){g.unbindHook(e,b,"onBoundSizeChange");c=d.getStyle(g.boundSizeName);if(c){e[b].call(e,c)}}if(a){if(!e.destroyed){a.replaceChild(h.firstElementChild,h)}delete g.wrappedElement}g.callParent()}});Ext.define("Ext.layout.wrapper.BoxDock",{config:{direction:"horizontal",element:{className:Ext.baseCSSPrefix+"dock"},bodyElement:{className:Ext.baseCSSPrefix+"dock-body"},innerWrapper:null,sizeState:false,container:null},positionMap:{top:"start",left:"start",bottom:"end",right:"end"},constructor:function(a){this.items={start:[],end:[]};this.itemsCount=0;this.initConfig(a)},addItems:function(a){var b,d,c;for(b=0,d=a.length;b<d;b++){c=a[b];this.addItem(c)}},addItem:function(o){var p=o.getDocked(),h=this.positionMap[p],a=o.$dockWrapper,b=this.getContainer(),j=b.indexOf(o),g=o.element,m=this.items,l=m[h],e,k,n,d,c;if(a){a.removeItem(o)}o.$dockWrapper=this;o.addCls(Ext.baseCSSPrefix+"dock-item");o.addCls(Ext.baseCSSPrefix+"docked-"+p);for(e=0,k=l.length;e<k;e++){n=l[e];c=b.indexOf(n);if(c>j){d=n.element;l.splice(e,0,o);break}}if(!d){l.push(o);d=this.getBodyElement()}this.itemsCount++;if(h==="start"){g.insertBefore(d)}else{g.insertAfter(d)}},removeItem:function(c){var a=c.getDocked(),b=this.items[this.positionMap[a]];Ext.Array.remove(b,c);c.element.detach();delete c.$dockWrapper;c.removeCls(Ext.baseCSSPrefix+"dock-item");c.removeCls(Ext.baseCSSPrefix+"docked-"+a);if(--this.itemsCount===0){this.destroy()}},getItemsSlice:function(c){var a=this.getContainer(),b=this.items,j=[],h,d,g,e;for(h=b.start,d=0,g=h.length;d<g;d++){e=h[d];if(a.indexOf(e)>c){j.push(e)}}for(h=b.end,d=0,g=h.length;d<g;d++){e=h[d];if(a.indexOf(e)>c){j.push(e)}}return j},applyElement:function(a){return Ext.Element.create(a)},updateElement:function(a){a.addCls(Ext.baseCSSPrefix+"dock-"+this.getDirection())},applyBodyElement:function(a){return Ext.Element.create(a)},updateBodyElement:function(a){this.getElement().append(a)},updateInnerWrapper:function(a,c){var b=this.getBodyElement();if(c&&c.$outerWrapper===this){c.getElement().detach();delete c.$outerWrapper}if(a){a.setSizeState(this.getSizeState());a.$outerWrapper=this;b.append(a.getElement())}},updateSizeState:function(b){var a=this.getInnerWrapper();this.getElement().setSizeState(b);if(a){a.setSizeState(b)}},destroy:function(){var d=this,c=d.getInnerWrapper(),b=d.$outerWrapper,a;if(c){if(b){b.setInnerWrapper(c)}else{a=c.getElement();if(!a.destroyed){a.replace(d.getElement())}delete c.$outerWrapper}}delete d.$outerWrapper;d.setInnerWrapper(null);d.unlink(["_bodyElement","_element"]);d.callParent()}});Ext.define("Ext.layout.wrapper.Inner",{config:{sizeState:null,container:null},constructor:function(a){this.initConfig(a)},getElement:function(){return this.getContainer().bodyElement},setInnerWrapper:Ext.emptyFn,getInnerWrapper:Ext.emptyFn});Ext.define("Ext.layout.Default",{extend:Ext.layout.Abstract,isAuto:true,alias:["layout.default","layout.auto"],config:{animation:null},centerWrapperClass:"x-center",dockWrapperClass:"x-dock",positionMap:{top:"start",left:"start",middle:"center",bottom:"end",right:"end"},positionDirectionMap:{top:"vertical",bottom:"vertical",left:"horizontal",right:"horizontal"},setContainer:function(a){var b=this;b.dockedItems=[];b.callParent([a]);if(a.initialized){b.onContainerInitialized()}else{a.onInitialized("onContainerInitialized",b)}},onContainerInitialized:function(){var a=this;a.handleDockedItemBorders();a.container.on({delegate:"> component",beforecenteredchange:"onItemCenteredChange",beforefloatingchange:"onItemFloatingChange",afterdockedchange:"onAfterItemDockedChange",scope:a})},monitorSizeStateChange:function(){this.monitorSizeStateChange=Ext.emptyFn;this.container.on("sizestatechange","onContainerSizeStateChange",this)},monitorSizeFlagsChange:function(){this.monitorSizeFlagsChange=Ext.emptyFn;this.container.on("sizeflagschange","onContainerSizeFlagsChange",this)},onItemAdd:function(a){var b=a.getDocked();if(b!=null){this.dockItem(a)}else{if(a.isCentered()){this.onItemCenteredChange(a,true)}else{if(a.isFloating()){this.onItemFloatingChange(a,true)}else{this.onItemInnerStateChange(a,true)}}}},onItemInnerStateChange:function(b,a,c){if(a){this.insertInnerItem(b,this.container.innerIndexOf(b))}else{this.removeInnerItem(b)}},insertInnerItem:function(g,d){var b=this.container,i=b.innerElement.dom,e=g.element.dom,h=d!==-1?b.getInnerAt(d+1):null,c=null,a;if(h){a=h.getTranslatable();if(a&&a.getUseWrapper()){c=a.getWrapper().dom}else{c=h?h.element.dom:null}}i.insertBefore(e,c);return this},insertBodyItem:function(c){var a=this.container.setUseBodyElement(true),b=a.bodyElement.dom;if(c.getZIndex()===null){c.setZIndex((a.indexOf(c)+1)*2)}b.insertBefore(c.element.dom,b.firstChild);return this},removeInnerItem:function(a){a.element.detach()},removeBodyItem:function(a){a.setZIndex(null);a.element.detach()},onItemRemove:function(b,a,c){var d=b.getDocked();if(d){this.undockItem(b)}else{if(b.isCentered()){this.onItemCenteredChange(b,false)}else{if(b.isFloating()){this.onItemFloatingChange(b,false)}else{this.onItemInnerStateChange(b,false,c)}}}},onItemMove:function(b,c,a){if(b.isCentered()||b.isFloating()){b.setZIndex((c+1)*2)}else{if(b.isInnerItem()){this.insertInnerItem(b,this.container.innerIndexOf(b))}else{this.undockItem(b);this.dockItem(b)}}},onItemCenteredChange:function(c,a){var b="$centerWrapper";if(a){this.insertBodyItem(c);c.link(b,new Ext.util.Wrapper({className:this.centerWrapperClass},c.element))}else{c.unlink([b]);this.removeBodyItem(c)}},onItemFloatingChange:function(a,b){if(b){this.insertBodyItem(a)}else{this.removeBodyItem(a)}},onAfterItemDockedChange:function(a,c,b){if(a.initialized){if(b){this.undockItem(a)}if(c){this.dockItem(a)}}},onContainerSizeStateChange:function(){var a=this.getDockWrapper();if(a){a.setSizeState(this.container.getSizeState())}},onContainerSizeFlagsChange:function(){var a=this.dockedItems,b,d,c;for(b=0,d=a.length;b<d;b++){c=a[b];this.refreshDockedItemLayoutSizeFlags(c)}},refreshDockedItemLayoutSizeFlags:function(d){var b=this.container,e=this.positionDirectionMap[d.getDocked()],c=(e==="horizontal")?b.LAYOUT_HEIGHT:b.LAYOUT_WIDTH,a=(b.getSizeFlags()&c);d.setLayoutSizeFlags(a)},dockItem:function(t){var w=this,b=Ext.layout.wrapper.BoxDock,q=w.dockedItems,h=q.length,j=w.container,u=j.indexOf(t),g=w.positionDirectionMap,v=g[t.getDocked()],s=w.dockInnerWrapper,m,n,x,e,r,l,o,a,d,p,c,k;w.monitorSizeStateChange();w.monitorSizeFlagsChange();if(!s){s=w.link("dockInnerWrapper",new Ext.layout.wrapper.Inner({container:j}))}if(h===0){q.push(t);p=new b({container:j,direction:v});p.addItem(t);p.getElement().replace(s.getElement(),false);p.setInnerWrapper(s);j.onInitialized("onContainerSizeStateChange",w)}else{for(n=0;n<h;n++){x=q[n];e=j.indexOf(x);if(e>u){o=r||q[0];q.splice(n,0,t);break}r=x}if(!o){o=q[h-1];q.push(t)}a=o.getDocked();d=o.$dockWrapper;m=g[a];if(v===m){d.addItem(t)}else{l=d.getItemsSlice(u);p=new b({container:j,direction:v});if(l.length>0){if(l.length===d.itemsCount){c=d;p.setSizeState(c.getSizeState());p.getElement().replace(c.getElement(),false)}else{c=new b({container:j,direction:m});c.setInnerWrapper(d.getInnerWrapper());c.addItems(l);d.setInnerWrapper(p)}p.setInnerWrapper(c)}else{k=d.getInnerWrapper();d.setInnerWrapper(null);p.setInnerWrapper(k);d.setInnerWrapper(p)}p.addItem(t)}}if(j.initialized){w.handleDockedItemBorders()}j.onInitialized("refreshDockedItemLayoutSizeFlags",w,[t])},getDockWrapper:function(){var a=this.dockedItems;if(a.length>0){return a[0].$dockWrapper}return null},undockItem:function(e){var d=this,b=d.dockedItems,c,a;if(e.$dockWrapper){e.$dockWrapper.removeItem(e)}if(d.container.initialized){c=e.lastBorderMask;a=e.lastBorderCollapse;if(c){e.lastBorderMask=0;e.removeCls(d.noBorderClassTable[c])}if(a){e.lastBorderCollapse=0;e.removeCls(d.getBorderCollapseTable()[a])}d.handleDockedItemBorders()}Ext.Array.remove(b,e);e.setLayoutSizeFlags(0)},destroy:function(){this.dockedItems=null;this.callParent()},noBorderClassTable:[0,Ext.baseCSSPrefix+"noborder-l",Ext.baseCSSPrefix+"noborder-b",Ext.baseCSSPrefix+"noborder-bl",Ext.baseCSSPrefix+"noborder-r",Ext.baseCSSPrefix+"noborder-rl",Ext.baseCSSPrefix+"noborder-rb",Ext.baseCSSPrefix+"noborder-rbl",Ext.baseCSSPrefix+"noborder-t",Ext.baseCSSPrefix+"noborder-tl",Ext.baseCSSPrefix+"noborder-tb",Ext.baseCSSPrefix+"noborder-tbl",Ext.baseCSSPrefix+"noborder-tr",Ext.baseCSSPrefix+"noborder-trl",Ext.baseCSSPrefix+"noborder-trb",Ext.baseCSSPrefix+"noborder-trbl"],edgeMasks:{top:8,right:4,bottom:2,left:1},handleDockedItemBorders:function(){var z=this,e=0,A=8,B=4,m=2,d=1,o=z.container,t=o.getBoodyBorder&&o.getBodyBorder(),k=o.getBorder(),j=z.collapsed,q=z.edgeMasks,l=z.noBorderClassTable,y=o.items.generation,x,c,w,h,s,n,v,p,g,r,u,a;if(z.initializedBorders===y||!o.manageBorders){return}u=[];a=[];c=z.getBorderCollapseTable();l=z.getBorderClassTable?z.getBorderClassTable():l;z.initializedBorders=y;z.collapsed=false;w=o.getDockedItems();z.collapsed=j;for(s=0,n=w.length;s<n;s++){v=w[s];p=v.getDocked();r=h=0;u.length=0;a.length=0;if(p!=="bottom"){if(e&A){x=v.border}else{x=k;if(x!==false){h+=A}}if(x===false){r+=A}}if(p!=="left"){if(e&B){x=v.border}else{x=k;if(x!==false){h+=B}}if(x===false){r+=B}}if(p!=="top"){if(e&m){x=v.border}else{x=k;if(x!==false){h+=m}}if(x===false){r+=m}}if(p!=="right"){if(e&d){x=v.border}else{x=k;if(x!==false){h+=d}}if(x===false){r+=d}}if((g=v.lastBorderMask)!==r){v.lastBorderMask=r;if(g){a[0]=l[g]}if(r){u[0]=l[r]}}if((g=v.lastBorderCollapse)!==h){v.lastBorderCollapse=h;if(g){a[a.length]=c[g]}if(h){u[u.length]=c[h]}}if(a.length){v.removeCls(a)}if(u.length){v.addCls(u)}e|=q[p]}r=h=0;u.length=0;a.length=0;if(e&A){x=t}else{x=k;if(x!==false){h+=A}}if(x===false){r+=A}if(e&B){x=t}else{x=k;if(x!==false){h+=B}}if(x===false){r+=B}if(e&m){x=t}else{x=k;if(x!==false){h+=m}}if(x===false){r+=m}if(e&d){x=t}else{x=k;if(x!==false){h+=d}}if(x===false){r+=d}if((g=z.lastBodyBorderMask)!==r){z.lastBodyBorderMask=r;if(g){a[0]=l[g]}if(r){u[0]=l[r]}}if((g=z.lastBodyBorderCollapse)!==h){z.lastBodyBorderCollapse=h;if(g){a[a.length]=c[g]}if(h){u[u.length]=c[h]}}if(a.length&&o.removeBodyCls){o.removeBodyCls(a)}if(u.length&&o.addBodyCls){o.addBodyCls(u)}},borderCollapseMap:{},getBorderCollapseTable:function(){var d=this,g=d.borderCollapseMap,a=d.container,b=a.getBaseCls(),e=a.ui,h=(e?("-"+e):""),c;e=e||"default";g=g[b]||(g[b]={});c=g[e];if(!c){b+=h+"-outer-border-";g[e]=c=[0,b+"l",b+"b",b+"bl",b+"r",b+"rl",b+"rb",b+"rbl",b+"t",b+"tl",b+"tb",b+"tbl",b+"tr",b+"trl",b+"trb",b+"trbl"]}return c}});Ext.define("Ext.layout.Box",{extend:Ext.layout.Default,config:{orient:"horizontal",align:"start",pack:"start"},alias:"layout.tablebox",layoutBaseClass:"x-layout-tablebox",itemClass:"x-layout-tablebox-item",setContainer:function(a){this.callParent([a]);a.innerElement.addCls(this.layoutBaseClass);a.on("flexchange","onItemFlexChange",this,{delegate:"> component"})},onItemInnerStateChange:function(b,a){this.callParent(arguments);b.toggleCls(this.itemClass,a)},onItemFlexChange:Ext.emptyFn});Ext.define("Ext.fx.layout.card.Abstract",{extend:Ext.Evented,isAnimation:true,config:{direction:"left",duration:null,reverse:null,layout:null},updateLayout:function(a){if(a){this.enable()}},enable:function(){var a=this.getLayout();if(a){a.on("beforeactiveitemchange","onActiveItemChange",this)}},disable:function(){var a=this.getLayout();if(this.isAnimating){this.stopAnimation()}if(a){a.un("beforeactiveitemchange","onActiveItemChange",this)}},onActiveItemChange:Ext.emptyFn,destroy:function(){var b=this,a=b.getLayout();if(b.isAnimating){b.stopAnimation()}if(a){a.un("beforeactiveitemchange","onActiveItemChange",this)}b.setLayout(null);if(b.observableId){b.fireEvent("destroy",this)}b.callParent()}});Ext.define("Ext.fx.State",{isAnimatable:{"background-color":true,"background-image":true,"background-position":true,"border-bottom-color":true,"border-bottom-width":true,"border-color":true,"border-left-color":true,"border-left-width":true,"border-right-color":true,"border-right-width":true,"border-spacing":true,"border-top-color":true,"border-top-width":true,"border-width":true,bottom:true,color:true,crop:true,"font-size":true,"font-weight":true,height:true,left:true,"letter-spacing":true,"line-height":true,"margin-bottom":true,"margin-left":true,"margin-right":true,"margin-top":true,"max-height":true,"max-width":true,"min-height":true,"min-width":true,opacity:true,"outline-color":true,"outline-offset":true,"outline-width":true,"padding-bottom":true,"padding-left":true,"padding-right":true,"padding-top":true,right:true,"text-indent":true,"text-shadow":true,top:true,"vertical-align":true,visibility:true,width:true,"word-spacing":true,"z-index":true,zoom:true,transform:true},constructor:function(a){this.data={};this.set(a)},setConfig:function(a){this.set(a);return this},setRaw:function(a){this.data=a;return this},clear:function(){return this.setRaw({})},setTransform:function(c,h){var g=this.data,a=Ext.isArray(h),b=g.transform,e,d;if(!b){b=g.transform={translateX:0,translateY:0,translateZ:0,scaleX:1,scaleY:1,scaleZ:1,rotate:0,rotateX:0,rotateY:0,rotateZ:0,skewX:0,skewY:0}}if(typeof c=="string"){switch(c){case"translate":if(a){e=h.length;if(e==0){break}b.translateX=h[0];if(e==1){break}b.translateY=h[1];if(e==2){break}b.translateZ=h[2]}else{b.translateX=h}break;case"rotate":if(a){e=h.length;if(e==0){break}b.rotateX=h[0];if(e==1){break}b.rotateY=h[1];if(e==2){break}b.rotateZ=h[2]}else{b.rotate=h}break;case"scale":if(a){e=h.length;if(e==0){break}b.scaleX=h[0];if(e==1){break}b.scaleY=h[1];if(e==2){break}b.scaleZ=h[2]}else{b.scaleX=h;b.scaleY=h}break;case"skew":if(a){e=h.length;if(e==0){break}b.skewX=h[0];if(e==1){break}b.skewY=h[1]}else{b.skewX=h}break;default:b[c]=h}}else{for(d in c){if(c.hasOwnProperty(d)){h=c[d];this.setTransform(d,h)}}}},set:function(a,d){var c=this.data,b;if(typeof a!="string"){for(b in a){d=a[b];if(b==="transform"){this.setTransform(d)}else{c[b]=d}}}else{if(a==="transform"){this.setTransform(d)}else{c[a]=d}}return this},unset:function(a){var b=this.data;if(b.hasOwnProperty(a)){delete b[a]}return this},getData:function(){return this.data}});Ext.define("Ext.fx.animation.Abstract",{extend:Ext.Evented,isAnimation:true,config:{name:"",element:null,before:null,from:{},to:{},after:null,states:{},duration:300,easing:"linear",iteration:1,direction:"normal",delay:0,onBeforeStart:null,callback:null,onEnd:null,onBeforeEnd:null,scope:null,reverse:null,preserveEndState:false,replacePrevious:true},STATE_FROM:"0%",STATE_TO:"100%",DIRECTION_UP:"up",DIRECTION_DOWN:"down",DIRECTION_LEFT:"left",DIRECTION_RIGHT:"right",stateNameRegex:/^(?:[\d\.]+)%$/,constructor:function(){this.states={};this.callParent(arguments);return this},applyElement:function(a){return Ext.get(a)},applyBefore:function(a,b){if(a){return Ext.factory(a,Ext.fx.State,b)}},applyAfter:function(b,a){if(b){return Ext.factory(b,Ext.fx.State,a)}},setFrom:function(a){return this.setState(this.STATE_FROM,a)},setTo:function(a){return this.setState(this.STATE_TO,a)},getFrom:function(){return this.getState(this.STATE_FROM)},getTo:function(){return this.getState(this.STATE_TO)},setStates:function(a){var c=this.stateNameRegex,b;for(b in a){if(c.test(b)){this.setState(b,a[b])}}return this},getStates:function(){return this.states},updateCallback:function(a){if(a){this.setOnEnd(a)}},end:function(){this.stop()},stop:function(){this.fireEvent("stop",this)},destroy:function(){this.stop();this.callParent()},setState:function(b,d){var a=this.getStates(),c;c=Ext.factory(d,Ext.fx.State,a[b]);if(c){a[b]=c}return this},getState:function(a){return this.getStates()[a]},getData:function(){var h=this,m=h.getStates(),e={},i=h.getBefore(),c=h.getAfter(),j=m[h.STATE_FROM],k=m[h.STATE_TO],l=j.getData(),g=k.getData(),d,b,a;for(b in m){if(m.hasOwnProperty(b)){a=m[b];d=a.getData();e[b]=d}}return{before:i?i.getData():{},after:c?c.getData():{},states:e,from:l,to:g,duration:h.getDuration(),iteration:h.getIteration(),direction:h.getDirection(),easing:h.getEasing(),delay:h.getDelay(),onEnd:h.getOnEnd(),onBeforeEnd:h.getOnBeforeEnd(),onBeforeStart:h.getOnBeforeStart(),scope:h.getScope(),preserveEndState:h.getPreserveEndState(),replacePrevious:h.getReplacePrevious()}}});Ext.define("Ext.fx.animation.Slide",{extend:Ext.fx.animation.Abstract,alternateClassName:"Ext.fx.animation.SlideIn",alias:["animation.slide","animation.slideIn"],config:{direction:"left",out:false,offset:0,easing:"auto",containerBox:"auto",elementBox:"auto",isElementBoxFit:true,useCssTransform:true},reverseDirectionMap:{up:"down",down:"up",left:"right",right:"left"},applyEasing:function(a){if(a==="auto"){return"ease-"+((this.getOut())?"in":"out")}return a},getContainerBox:function(){var a=this._containerBox;if(a==="auto"){a=this.getElement().getParent().getBox()}return a},getElementBox:function(){var a=this._elementBox;if(this.getIsElementBoxFit()){return this.getContainerBox()}if(a==="auto"){a=this.getElement().getBox()}return a},getData:function(){var q=this.getElementBox(),c=this.getContainerBox(),h=q?q:c,o=this.getFrom(),p=this.getTo(),g=this.getOut(),e=this.getOffset(),n=this.getDirection(),b=this.getUseCssTransform(),i=this.getReverse(),d=0,a=0,m,k,l,j;if(i){n=this.reverseDirectionMap[n]}switch(n){case this.DIRECTION_UP:if(g){a=c.top-h.top-h.height-e}else{a=c.bottom-h.bottom+h.height+e}break;case this.DIRECTION_DOWN:if(g){a=c.bottom-h.bottom+h.height+e}else{a=c.top-h.height-h.top-e}break;case this.DIRECTION_RIGHT:if(g){d=c.right-h.right+h.width+e}else{d=c.left-h.left-h.width-e}break;case this.DIRECTION_LEFT:if(g){d=c.left-h.left-h.width-e}else{d=c.right-h.right+h.width+e}break}m=(g)?0:d;k=(g)?0:a;if(b){o.setTransform({translateX:m,translateY:k})}else{o.set("left",m);o.set("top",k)}l=(g)?d:0;j=(g)?a:0;if(b){p.setTransform({translateX:l,translateY:j})}else{p.set("left",l);p.set("top",j)}return this.callParent(arguments)}});Ext.define("Ext.fx.animation.SlideOut",{extend:Ext.fx.animation.Slide,alias:["animation.slideOut"],config:{out:true}});Ext.define("Ext.fx.animation.Fade",{extend:Ext.fx.animation.Abstract,alternateClassName:"Ext.fx.animation.FadeIn",alias:["animation.fade","animation.fadeIn"],config:{out:false,before:{display:null,opacity:0},after:{opacity:null},reverse:null},updateOut:function(a){var c=this.getTo(),b=this.getFrom();if(a){b.set("opacity",1);c.set("opacity",0)}else{b.set("opacity",0);c.set("opacity",1)}}});Ext.define("Ext.fx.animation.FadeOut",{extend:Ext.fx.animation.Fade,alias:"animation.fadeOut",config:{out:true,before:{}}});Ext.define("Ext.fx.animation.Flip",{extend:Ext.fx.animation.Abstract,alias:"animation.flip",config:{easing:"ease-in",direction:"right",half:false,out:null},getData:function(){var h=this,j=h.getFrom(),k=h.getTo(),i=h.getDirection(),b=h.getOut(),n=h.getHalf(),c=n?90:180,e=1,a=1,m=0,l=0,g=0,d=0;if(b){a=0.8}else{e=0.8}switch(i){case this.DIRECTION_UP:if(b){g=c}else{m=-c}break;case this.DIRECTION_DOWN:if(b){g=-c}else{m=c}break;case this.DIRECTION_RIGHT:if(b){d=c}else{l=-c}break;case this.DIRECTION_LEFT:if(b){d=-c}else{l=c}break}j.setTransform({rotateX:m,rotateY:l,scale:e});k.setTransform({rotateX:g,rotateY:d,scale:a});return this.callParent()}});Ext.define("Ext.fx.animation.Pop",{extend:Ext.fx.animation.Abstract,alias:["animation.pop","animation.popIn"],alternateClassName:"Ext.fx.animation.PopIn",config:{out:false,before:{display:null,opacity:0},after:{opacity:null}},getData:function(){var c=this.getTo(),b=this.getFrom(),a=this.getOut();if(a){b.set("opacity",1);b.setTransform({scale:1});c.set("opacity",0);c.setTransform({scale:0})}else{b.set("opacity",0);b.setTransform({scale:0});c.set("opacity",1);c.setTransform({scale:1})}return this.callParent(arguments)}});Ext.define("Ext.fx.animation.PopOut",{extend:Ext.fx.animation.Pop,alias:"animation.popOut",config:{out:true,before:{}}});Ext.define("Ext.fx.Animation",{constructor:function(b){var a=Ext.fx.animation.Abstract,c;if(typeof b=="string"){c=b;b={}}else{if(b&&b.type){c=b.type}}if(c){a=Ext.ClassManager.getByAlias("animation."+c)}return Ext.factory(b,a)}});Ext.define("Ext.fx.layout.card.Style",{extend:Ext.fx.layout.card.Abstract,config:{inAnimation:{before:{visibility:null},preserveEndState:false,replacePrevious:true},outAnimation:{preserveEndState:false,replacePrevious:true}},constructor:function(b){var c,a;this.callParent([b]);this.endAnimationCounter=0;c=this.getInAnimation();a=this.getOutAnimation();c.on("animationend","incrementEnd",this);a.on("animationend","incrementEnd",this)},updateDirection:function(a){this.getInAnimation().setDirection(a);this.getOutAnimation().setDirection(a)},updateDuration:function(a){this.getInAnimation().setDuration(a);this.getOutAnimation().setDuration(a)},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)},incrementEnd:function(){this.endAnimationCounter++;if(this.endAnimationCounter>1){this.endAnimationCounter=0;this.fireEvent("animationend",this)}},applyInAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},applyOutAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},updateInAnimation:function(a){a.setScope(this)},updateOutAnimation:function(a){a.setScope(this)},onActiveItemChange:function(g,d,i,b){var e=this.getInAnimation(),c=this.getOutAnimation(),h,a;if(d&&i&&i.isPainted()){h=d.renderElement;a=i.renderElement;e.setElement(h);c.setElement(a);c.setOnEnd(function(){b.resume()});h.dom.style.setProperty("visibility","hidden","important");d.show();Ext.Animator.run([c,e]);b.pause()}},destroy:function(){Ext.destroy(this.getInAnimation(),this.getOutAnimation());this.callParent()}});Ext.define("Ext.fx.layout.card.Slide",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.slide",config:{inAnimation:{type:"slide",easing:"ease-out"},outAnimation:{type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Cover",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.cover",config:{reverse:null,inAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out"},outAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1},out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Reveal",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.reveal",config:{inAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1}},outAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Fade",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.fade",config:{reverse:null,inAnimation:{type:"fade",easing:"ease-out"},outAnimation:{type:"fade",easing:"ease-out",out:true}}});Ext.define("Ext.fx.layout.card.Flip",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.flip",config:{duration:500,inAnimation:{type:"flip",half:true,easing:"ease-out",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null}},outAnimation:{type:"flip",half:true,easing:"ease-in",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null},out:true}},onActiveItemChange:function(d,b,e,a){var c=b.element.getParent();c.addCls(Ext.baseCSSPrefix+"layout-card-perspective");this.on("animationend",function(){c.removeCls(Ext.baseCSSPrefix+"layout-card-perspective")},this,{single:true});this.callParent(arguments)},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Pop",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.pop",config:{duration:500,inAnimation:{type:"pop",easing:"ease-out"},outAnimation:{type:"pop",easing:"ease-in",out:true}},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Scroll",{extend:Ext.fx.layout.card.Abstract,alias:"fx.layout.card.scroll",config:{duration:150},constructor:function(a){this.initConfig(a)},getEasing:function(){var a=this.easing;if(!a){this.easing=a=new Ext.fx.easing.Linear()}return a},updateDuration:function(a){this.getEasing().setDuration(a)},onActiveItemChange:function(a,d,m,c){var j=this.getDirection(),h=this.getEasing(),l,e,b,i,k,g;if(d&&m){if(this.isAnimating){this.stopAnimation()}d.setWidth("100%");d.setHeight("100%");l=this.getLayout().container.innerElement;i=l.getWidth();k=l.getHeight();e=d.renderElement;b=m.renderElement;this.oldItem=m;this.newItem=d;this.containerElement=l;this.currentEventController=c;this.isReverse=g=this.getReverse();d.show();if(j=="right"){j="left";this.isReverse=g=!g}else{if(j=="down"){j="up";this.isReverse=g=!g}}if(j=="left"){if(g){h.setConfig({startValue:i,endValue:0});l.dom.scrollLeft=i;b.setLeft(i)}else{h.setConfig({startValue:0,endValue:i});e.setLeft(i)}}else{if(g){h.setConfig({startValue:k,endValue:0});l.dom.scrollTop=k;b.setTop(k)}else{h.setConfig({startValue:0,endValue:k});e.setTop(k)}}this.startAnimation();c.pause()}},startAnimation:function(){this.isAnimating=true;this.getEasing().setStartTime(Date.now());Ext.AnimationQueue.start(this.doAnimationFrame,this)},doAnimationFrame:function(){var d=this.getEasing(),c=this.getDirection(),a="scrollTop",b;if(c=="left"||c=="right"){a="scrollLeft"}if(d.isEnded){this.stopAnimation()}else{b=d.getValue();this.containerElement.dom[a]=b}},stopAnimation:function(){var c=this,e=c.getDirection(),a="setTop",d=c.oldItem,b=c.newItem;if(e=="left"||e=="right"){a="setLeft"}c.currentEventController.resume();if(c.isReverse&&d&&d.renderElement&&d.renderElement.dom){d.renderElement[a](null)}else{if(b&&b.renderElement&&b.renderElement.dom){b.renderElement[a](null)}}Ext.AnimationQueue.stop(this.doAnimationFrame,this);c.isAnimating=false;c.fireEvent("animationend",c)}});Ext.define("Ext.fx.layout.Card",{constructor:function(b){var a=Ext.fx.layout.card.Abstract,c;if(!b){return null}if(typeof b=="string"){c=b;b={}}else{if(b.type){c=b.type}}b.elementBox=false;if(c){a=Ext.ClassManager.getByAlias("fx.layout.card."+c)}return Ext.factory(b,a)}});Ext.define("Ext.layout.Card",{extend:Ext.layout.Default,alias:"layout.card",isCard:true,layoutClass:Ext.baseCSSPrefix+"layout-card",itemClass:Ext.baseCSSPrefix+"layout-card-item",applyAnimation:function(a){return new Ext.fx.layout.Card(a)},updateAnimation:function(b,a){if(b&&b.isAnimation){b.setLayout(this)}if(a){a.destroy()}},setContainer:function(a){this.callParent(arguments);a.innerElement.addCls(this.layoutClass);a.onInitialized("onContainerInitialized",this)},onContainerInitialized:function(){var b=this,a=b.container,c=a.getInnerAt(0),d=a.getActiveItem();b.callParent();if(d){d.show();if(c&&c!==d){c.hide()}}a.on("activeitemchange","onContainerActiveItemChange",b)},onContainerActiveItemChange:function(a,b,c){this.fireEventedAction("activeitemchange",[this,b,c],"doActiveItemChange",this)},onItemInnerStateChange:function(c,b,d){this.callParent(arguments);var a=this.container,e=a.getActiveItem();c.toggleCls(this.itemClass,b);c.setLayoutSizeFlags(b?a.LAYOUT_BOTH:0);if(b){if(e!==a.innerIndexOf(c)&&e!==c&&c!==a.pendingActiveItem){c.hide()}}else{if(!d&&!c.destroyed&&c.destroying!==true){c.show()}}},doActiveItemChange:function(b,c,a){if(a){a.hide()}if(c){c.show()}},destroy:function(){this.callParent();Ext.destroy(this.getAnimation())}});Ext.define("Ext.layout.Fit",{extend:Ext.layout.Default,isFit:true,alias:"layout.fit",layoutClass:"x-layout-fit",itemClass:"x-layout-fit-item",setContainer:function(a){this.callParent(arguments);a.innerElement.addCls(this.layoutClass);this.onContainerSizeFlagsChange();this.monitorSizeFlagsChange()},onContainerSizeFlagsChange:function(){var a=this.container,b=a.getSizeFlags(),h=Boolean(b&a.LAYOUT_STRETCHED),g=a.innerItems,c,e,d;this.callParent();for(c=0,e=g.length;c<e;c++){d=g[c];d.setLayoutSizeFlags(b)}a.innerElement.toggleCls("x-stretched",h)},onItemInnerStateChange:function(b,a){this.callParent(arguments);b.toggleCls(this.itemClass,a);b.setLayoutSizeFlags(a?this.container.getSizeFlags():0)}});Ext.define("Ext.layout.FlexBox",{extend:Ext.layout.Box,alias:"layout.box",config:{align:"stretch"},layoutBaseClass:"x-layout-box",itemClass:"x-layout-box-item",setContainer:function(a){this.callParent(arguments);this.monitorSizeFlagsChange()},applyOrient:function(a){return a},updateOrient:function(c,b){var a=this.container,d={delegate:"> component"};if(c==="horizontal"){this.sizePropertyName="width"}else{this.sizePropertyName="height"}a.innerElement.swapCls("x-"+c,"x-"+b);if(b){a.un(b==="horizontal"?"widthchange":"heightchange","onItemSizeChange",this,d);this.redrawContainer()}a.on(c==="horizontal"?"widthchange":"heightchange","onItemSizeChange",this,d)},onItemInnerStateChange:function(d,c){this.callParent(arguments);var a,b;d.toggleCls(this.itemClass,c);if(c){a=d.getFlex();b=d.getConfig(this.sizePropertyName);if(a){this.doItemFlexChange(d,a)}else{if(b){this.doItemSizeChange(d,b)}}}this.refreshItemSizeState(d)},refreshItemSizeState:function(e){var c=e.isInnerItem(),a=this.container,g=a.LAYOUT_HEIGHT,d=a.LAYOUT_WIDTH,h=this.sizePropertyName,b=0,i=a.getSizeFlags();if(c){b|=a.LAYOUT_STRETCHED;if(this.getAlign()==="stretch"){b|=i&(h==="width"?g:d)}if(e.getFlex()){b|=i&(h==="width"?d:g)}}e.setLayoutSizeFlags(b)},refreshAllItemSizedStates:function(){var d=this.container.innerItems,a,c,b;for(a=0,c=d.length;a<c;a++){b=d[a];this.refreshItemSizeState(b)}},onContainerSizeFlagsChange:function(){this.refreshAllItemSizedStates();this.callParent(arguments)},onItemSizeChange:function(b,a){if(b.isInnerItem()){this.doItemSizeChange(b,a)}},doItemSizeChange:function(b,a){if(a){b.setFlex(null);this.redrawContainer()}},onItemFlexChange:function(b,a){if(b.isInnerItem()){this.doItemFlexChange(b,a);this.refreshItemSizeState(b)}},doItemFlexChange:function(b,a){this.setItemFlex(b,a);if(a){b.setConfig(this.sizePropertyName,null)}else{this.redrawContainer()}},redrawContainer:function(){var a=this.container,b=a.element.dom.parentNode;if(b&&b.nodeType!==11){a.innerElement.redraw()}},setItemFlex:function(d,a){var b=d.element,c=b.dom.style;b.toggleCls(Ext.baseCSSPrefix+"flexed",!!a);a=a?String(a):"";if(Ext.browser.is.WebKit){c.setProperty("-webkit-box-flex",a,null)}else{if(Ext.browser.is.IE){c.setProperty("-ms-flex",a+" 0 0px",null)}else{c.setProperty("flex",a+" 0 0px",null)}}},convertPosition:function(a){var b=this.positionMap;if(b.hasOwnProperty(a)){return b[a]}return a},applyAlign:function(a){return this.convertPosition(a)},updateAlign:function(c,b){var a=this.container;a.innerElement.swapCls(c,b,true,"x-align");if(b!==undefined){this.refreshAllItemSizedStates()}},applyPack:function(a){return this.convertPosition(a)},updatePack:function(a,b){this.container.innerElement.swapCls(a,b,true,"x-pack")}});Ext.define("Ext.layout.Float",{extend:Ext.layout.Default,alias:"layout.float",config:{direction:"left"},layoutClass:"layout-float",itemClass:"layout-float-item",setContainer:function(a){this.callParent(arguments);a.innerElement.addCls(this.layoutClass)},onItemInnerStateChange:function(b,a){this.callParent(arguments);b.toggleCls(this.itemClass,a)},updateDirection:function(c,a){var b="direction-";this.container.innerElement.swapCls(b+c,b+a)}});Ext.define("Ext.layout.HBox",{extend:Ext.layout.FlexBox,alias:"layout.hbox"});Ext.define("Ext.layout.VBox",{extend:Ext.layout.FlexBox,alias:"layout.vbox",config:{orient:"vertical"}});Ext.define("Ext.layout.wrapper.Dock",{config:{direction:"horizontal",element:{className:"x-dock"},bodyElement:{className:"x-dock-body"},innerWrapper:null,sizeState:false,container:null},positionMap:{top:"start",left:"start",bottom:"end",right:"end"},constructor:function(a){this.items={start:[],end:[]};this.itemsCount=0;this.initConfig(a)},addItems:function(a){var b,d,c;for(b=0,d=a.length;b<d;b++){c=a[b];this.addItem(c)}},addItem:function(p){var q=p.getDocked(),j=this.positionMap[q],b=p.$dockWrapper,c=this.getContainer(),k=c.indexOf(p),n=this.items,m=n[j],a,h,g,l,o,e,d;if(b){b.removeItem(p)}p.$dockWrapper=this;a=p.link("$dockItemWrapper",new Ext.util.Wrapper({className:"x-dock-item"}));p.addCls("x-docked-"+q);h=a.element;for(g=0,l=m.length;g<l;g++){o=m[g];d=c.indexOf(o);if(d>k){e=o.element;m.splice(g,0,p);break}}if(!e){m.push(p);e=this.getBodyElement()}this.itemsCount++;if(j==="start"){h.insertBefore(e)}else{h.insertAfter(e)}a.wrap(p.element);a.bindSize(this.getDirection()==="horizontal"?"width":"height")},removeItem:function(c){var a=c.getDocked(),b=this.items[this.positionMap[a]];c.removeCls("x-docked-"+a);Ext.Array.remove(b,c);c.unlink(["$dockItemWrapper"]);c.element.detach();delete c.$dockWrapper;if(--this.itemsCount===0){this.destroy()}},getItemsSlice:function(c){var a=this.getContainer(),b=this.items,j=[],h,d,g,e;for(h=b.start,d=0,g=h.length;d<g;d++){e=h[d];if(a.indexOf(e)>c){j.push(e)}}for(h=b.end,d=0,g=h.length;d<g;d++){e=h[d];if(a.indexOf(e)>c){j.push(e)}}return j},applyElement:function(a){return Ext.Element.create(a)},updateElement:function(a){a.addCls("x-dock-"+this.getDirection())},applyBodyElement:function(a){return Ext.Element.create(a)},updateBodyElement:function(a){this.getElement().append(a)},updateInnerWrapper:function(a,c){var b=this.getBodyElement();if(c&&c.$outerWrapper===this){b.remove(c.getElement());delete c.$outerWrapper}if(a){a.setSizeState(this.getSizeState());a.$outerWrapper=this;b.append(a.getElement())}},updateSizeState:function(b){var a=this.getInnerWrapper();this.getElement().setSizeState(b);if(a){a.setSizeState(b)}},destroy:function(){var c=this,b=c.getInnerWrapper(),a=c.$outerWrapper;if(b){if(a){a.setInnerWrapper(b)}else{b.getElement().replace(c.getElement());delete b.$outerWrapper}}delete c.$outerWrapper;c.setInnerWrapper(null);c.unlink(["_bodyElement","_element"]);c.callParent()}});Ext.define("Ext.util.ItemCollection",{extend:Ext.util.MixedCollection,alternateClassName:"Ext.ItemCollection",getKey:function(a){return a.getItemId&&a.getItemId()},has:function(a){return this.map.hasOwnProperty(a.getId())}});Ext.define("Ext.util.InputBlocker",{singleton:true,blockInputs:function(){if(Ext.browser.is.ie){Ext.select(".x-field-text .x-field-input:not(.x-item-disabled) .x-input-el, .x-field-textarea .x-field-input:not(.x-item-disabled) .x-input-el, .x-field-search .x-field-input:not(.x-item-disabled) .x-input-el").each(function(a){if(a.dom.offsetWidth>0){a.dom.setAttribute("disabled",true);a.dom.setAttribute("overlayfix",true)}})}},unblockInputs:function(){if(Ext.browser.is.ie){Ext.select("[overlayfix]").each(function(a){a.dom.removeAttribute("disabled");a.dom.removeAttribute("overlayfix")})}}});Ext.define("Ext.Mask",{extend:Ext.Component,xtype:"mask",config:{baseCls:Ext.baseCSSPrefix+"mask",transparent:false,top:0,left:0,right:0,bottom:0},initialize:function(){var a=this;a.callParent();a.element.on("tap","onTap",a);a.on("hide","onHide",a)},onHide:function(){Ext.util.InputBlocker.unblockInputs();if(Ext.browser.is.AndroidStock4&&Ext.os.version.getMinor()===0){var a=this.element.getFirstChild();if(a){a.redraw()}}},onTap:function(a){this.fireEvent("tap",this,a)},updateTransparent:function(a){this.toggleCls(this.getBaseCls()+"-transparent",a)}});Ext.define("Ext.mixin.Queryable",{mixinId:"queryable",isQueryable:true,query:function(a){a=a||"*";return Ext.ComponentQuery.query(a,this.getQueryRoot())},queryBy:function(g,e){var c=[],b=this.getQueryRoot().getRefItems(true),d=0,a=b.length,h;for(;d<a;++d){h=b[d];if(g.call(e||h,h)!==false){c.push(h)}}return c},queryById:function(a){return this.down(Ext.makeIdSelector(a))},child:function(a){var b=this.getQueryRoot().getRefItems();if(a&&a.isComponent){return this.matchById(b,a.getItemId())}if(a){b=Ext.ComponentQuery.query(a,b)}if(b.length){return b[0]}return null},down:function(a){if(a&&a.isComponent){return this.matchById(this.getRefItems(true),a.getItemId())}a=a||"";return this.query(a)[0]||null},visitPreOrder:function(a,d,c,b){Ext.ComponentQuery._visit(true,a,this.getQueryRoot(),d,c,b)},visitPostOrder:function(a,d,c,b){Ext.ComponentQuery._visit(false,a,this.getQueryRoot(),d,c,b)},getRefItems:function(){return[]},getQueryRoot:function(){return this},privates:{matchById:function(b,e){var a=b.length,c,d;for(c=0;c<a;++c){d=b[c];if(d.getItemId()===e){return d}}return null}}});Ext.define("Ext.mixin.Container",{extend:Ext.Mixin,mixinConfig:{id:"container"},isContainer:true,config:{referenceHolder:false},getReferences:function(){Ext.ComponentManager.fixReferences();return this.refs||null},lookup:function(b){var a=this.getReferences();return(a&&a[b])||null},lookupReference:function(a){return this.lookup(a)},privates:{attachReference:function(b){var d=this,c,a;if(d.destroying||d.destroyed){return}a=d.refs||(d.refs={});c=b.referenceKey;a[c]=b},clearReference:function(b){var a=this.refs,c=b.referenceKey;if(a&&c){b.viewModelKey=b.referenceKey=a[c]=null}},containerOnAdded:function(b,a){if(a){Ext.ComponentManager.markReferencesDirty()}},containerOnRemoved:function(a){var b;if(!a){b=this.lookupReferenceHolder();if(b){Ext.ComponentManager.markReferencesDirty();b.clearReferences()}}},clearReferences:function(){this.refs=null},initContainerInheritedState:function(e,c){var h=this,b=h.getController(),i=h.getSession(),d=h.getConfig("viewModel",true),a=h.getReference(),g=h.getReferenceHolder();if(b){e.referenceHolder=b;g=true}else{if(g){e.referenceHolder=h}}if(g){e.referencePath=""}else{if(a&&h.isParentReference){e.referencePath=h.referenceKey+"."}}if(i){e.session=i}if(d){e.viewModelPath=""}else{if(a&&h.isParentReference){e.viewModelPath=h.viewModelKey+"."}}},setupReference:function(b){var a;if(b&&b.charAt(a=b.length-1)===">"){this.isParentReference=true;b=b.substring(0,a)}return b}}});Ext.define("Ext.Container",{extend:Ext.Component,alternateClassName:["Ext.lib.Container","Ext.container.Container"],xtype:"container",mixins:[Ext.mixin.Queryable,Ext.mixin.Container],eventedConfig:{activeItem:0},config:{layout:"default",control:{},defaults:null,items:null,autoDestroy:true,defaultType:null,masked:null,modal:null,hideOnMaskTap:null},manageBorders:false,constructor:function(a){var b=this;b._items=b.items=new Ext.util.ItemCollection();b.innerItems=[];b.getReferences=b.getFirstReferences;b.onItemAdd=b.onFirstItemAdd;b.callParent(arguments);delete b.getReferences;if(b.manageBorders){b.element.addCls("x-managed-borders")}},initialize:function(){this.callParent();this.getLayout()},getElementConfig:function(){return{reference:"element",classList:["x-container","x-unsized"],children:[{reference:"innerElement",className:"x-inner"}]}},applyMasked:function(b){var a=true,c;if(b===false){b=true;a=false}c=Ext.factory(b,Ext.Mask,this.getMasked());if(c){this.add(c);c.setHidden(!a)}return c},mask:function(a){this.setMasked(a||true)},unmask:function(){this.setMasked(false)},initInheritedState:function(b,a){this.callParent([b,a]);this.initContainerInheritedState(b,a)},onAdded:function(b,a){var d=this,c;d.callParent([b,a]);d.containerOnAdded(b,a);c=d.getModal();if(c){b.insertBefore(c,d);c.setZIndex(d.getZIndex()-1)}},onRemoved:function(a){this.containerOnRemoved(a);this.callParent([a])},applyModal:function(c,b){var a=true;if(c===false){c=true;a=false}b=Ext.factory(c,Ext.Mask,b);if(b){b.setVisibility(a)}return b},updateModal:function(b){var a=this.getParent();if(a){if(b){a.insertBefore(b,this);b.setZIndex(this.getZIndex()-1)}else{a.remove(b)}}},updateHideOnMaskTap:function(b){var a=this.getModal();if(a){a[b?"on":"un"].call(a,"tap","hide",this)}},updateZIndex:function(b){var a=this.getModal();this.callParent(arguments);if(a){a.setZIndex(b-1)}},updateBaseCls:function(a,b){var d=this,c=d.element,e=d.getUi();if(b){c.removeCls(b);d.innerElement.removeCls(a,null,"inner");if(e){c.removeCls(d.currentUi)}}if(a){c.addCls(a);d.innerElement.addCls(a,null,"inner");if(e){c.addCls(a,null,e);d.currentUi=a+"-"+e}}},applyItems:function(a,d){if(a){var b=this,c;b.getDefaultType();b.getDefaults();if(b.initialized&&d.length>0){b.removeAll()}b.add(a);if(b.initialized){c=b.initialConfig.activeItem||b.config.activeItem||0;b.setActiveItem(c)}}},applyControl:function(c){var a,b,e,d;for(a in c){d=c[a];for(b in d){e=d[b];if(Ext.isObject(e)){e.delegate=a}}d.delegate=a;this.addListener(d)}return c},onFirstItemAdd:function(){var a=this;delete a.onItemAdd;if(a.innerHtmlElement&&!a.getHtml()){a.innerHtmlElement.destroy();delete a.innerHtmlElement}a.on("innerstatechange","onItemInnerStateChange",a,{delegate:"> component"});return a.onItemAdd.apply(a,arguments)},getLayout:function(){var a=this.layout;if(!(a&&a.isLayout)){a=this.link("_layout",this.link("layout",Ext.factory(this._layout||"default",Ext.layout.Default,null,"layout")));a.setContainer(this)}return a},updateDefaultType:function(a){this.defaultItemClass=Ext.ClassManager.getByAlias("widget."+a)},factoryItem:function(c){var b=this,d=b.getDefaults(),a;if(c.isComponent){a=c;if(d&&c.isInnerItem()&&!b.has(a)){a.setConfig(d,true)}}else{if(d&&!c.ignoreDefaults){if(!(c.hasOwnProperty("left")&&c.hasOwnProperty("right")&&c.hasOwnProperty("top")&&c.hasOwnProperty("bottom")&&c.hasOwnProperty("docked")&&c.hasOwnProperty("centered"))){c=Ext.mergeIf({},c,d)}}if(!b.$hasCachedDefaultItemClass){b.getDefaultType();b.$hasCachedDefaultItemClass=true}a=Ext.factory(c,b.defaultItemClass)}return a},add:function(k){var g=this,h=true,a=[],c,d,j,b,e;if(!Ext.isArray(k)){k=[k];h=false}for(c=0,d=k.length;c<d;c++){j=k[c];e=j.isWidget;if(!e){j.$initParent=g}j=g.factoryItem(j);g.doAdd(j,e);delete j.$initParent;if(!b&&!g.getActiveItem()&&g.innerItems.length>0&&j.isInnerItem()){b=j}a.push(j)}if(b){g.setActiveItem(b)}return h?a:a[0]},doAdd:function(e,a){var d=this,b=d.getItems(),c;if(!b.has(e)){c=b.length;b.add(e);if(e.isInnerItem()){d.insertInner(e)}e.onAdded(d,!!a);d.onItemAdd(e,c)}},remove:function(d,b){var c=this,a,e;d=c.getComponent(d);a=c.indexOf(d);e=c.getInnerItems();if(b===undefined){b=c.getAutoDestroy()}if(a!==-1){if(!c.removingAll&&e.length>1&&d===c.getActiveItem()){c.on({activeitemchange:"doRemove",scope:c,single:true,order:"after",args:[d,a,b]});c.doResetActiveItem(e.indexOf(d))}else{c.doRemove(d,a,b);if(e.length===0){c.setActiveItem(null)}}}return d},doResetActiveItem:function(a){if(a===0){this.setActiveItem(1)}else{this.setActiveItem(0)}},doRemove:function(d,a,b){var c=this;c.items.remove(d);if(d.isInnerItem()){c.removeInner(d)}c.onItemRemove(d,a,b);d.onRemoved(d.destroying||b);if(b){d.destroy()}},removeAll:function(c,g){var a=this.items,h=[],e=a.length,b=0,d;if(typeof c!="boolean"){c=this.getAutoDestroy()}g=Boolean(g);this.removingAll=true;for(;b<e;b++){d=a.getAt(b);if(d&&(g||d.isInnerItem())){this.doRemove(d,b,c);b--;e--}h.push(d)}this.setActiveItem(null);this.removingAll=false;return h},getAt:function(a){return this.items.getAt(a)},getInnerAt:function(a){return this.innerItems[a]},removeAt:function(a){var b=this.getAt(a);if(b){this.remove(b)}return b},removeInnerAt:function(a){var b=this.getInnerItems()[a];if(b){this.remove(b)}return b},has:function(a){return this.getItems().indexOf(a)!=-1},hasInnerItem:function(a){return this.innerItems.indexOf(a)!=-1},indexOf:function(a){return this.getItems().indexOf(a)},innerIndexOf:function(a){return this.innerItems.indexOf(a)},insertInner:function(d,b){var a=this.getItems().items,g=this.innerItems,h=g.indexOf(d),c=-1,e;if(h!==-1){g.splice(h,1)}if(typeof b=="number"){do{e=a[++b]}while(e&&!e.isInnerItem());if(e){c=g.indexOf(e);g.splice(c,0,d)}}if(c===-1){g.push(d);c=g.length-1}if(h!==-1){this.onInnerItemMove(d,c,h)}return this},onInnerItemMove:Ext.emptyFn,removeInner:function(a){Ext.Array.remove(this.innerItems,a);return this},insert:function(b,e){var d=this,a,c;if(Ext.isArray(e)){for(c=e.length-1;c>=0;c--){d.insert(b,e[c])}return d}a=e.isWidget;if(!a){e.$initParent=d}e=d.factoryItem(e);d.doInsert(b,e,a);delete e.$initParent;return e},doInsert:function(e,h,b){var g=this,c=g.items,d=c.length,a,i;i=h.isInnerItem();if(e>d){e=d}if(c[e-1]===h){return g}a=g.indexOf(h);if(a!==-1){c.removeAt(a)}c.insert(e,h);if(a===-1){h.onAdded(g,!!b)}if(i){g.insertInner(h,e)}if(a!==-1){g.onItemMove(h,e,a)}else{g.onItemAdd(h,e)}},insertFirst:function(a){return this.insert(0,a)},insertLast:function(a){return this.insert(this.getItems().length,a)},insertBefore:function(c,a){var b=this.indexOf(a);if(b!==-1){this.insert(b,c)}return this},insertAfter:function(c,a){var b=this.indexOf(a);if(b!==-1){this.insert(b+1,c)}return this},onItemAdd:function(c,a){var b=this;b.doItemLayoutAdd(c,a);if(b.initialized){if(c.hasListeners.added){c.fireEvent("added",c,b,a)}if(b.hasListeners.add){b.fireEvent("add",b,c,a)}}},doItemLayoutAdd:function(c,a){var b=this.getLayout();if(this.isRendered()&&c.setRendered(true)){c.fireAction("renderedchange",[this,c,true],"onItemAdd",b,{args:[c,a]})}else{b.onItemAdd(c,a)}},onItemRemove:function(c,a,d){var b=this;b.doItemLayoutRemove(c,a,d);if(c.hasListeners.removed){c.fireEvent("removed",c,b,a)}if(b.hasListeners.remove){b.fireEvent("remove",b,c,a)}},doItemLayoutRemove:function(c,a,d){var b=this.getLayout();if(this.isRendered()&&c.setRendered(false)){c.fireAction("renderedchange",[this,c,false],"onItemRemove",b,{args:[c,a,d]})}else{b.onItemRemove(c,a,d)}},onItemMove:function(c,d,a){var b=this;if(c.isDocked()){c.setDocked(null)}b.doItemLayoutMove(c,d,a);if(c.hasListeners.moved){c.fireEvent("moved",c,b,d,a)}if(b.hasListeners.move){b.fireEvent("move",b,c,d,a)}},doItemLayoutMove:function(b,c,a){this.getLayout().onItemMove(b,c,a)},onItemInnerStateChange:function(c,a){var b=this.getLayout();if(a){this.insertInner(c,this.items.indexOf(c))}else{this.removeInner(c)}b.onItemInnerStateChange.apply(b,arguments)},getInnerItems:function(){return this.innerItems},getDockedItems:function(){var a=this.getItems().items,c=[],e=a.length,d,b;for(b=0;b<e;b++){d=a[b];if(d.isDocked()){c.push(d)}}return c},applyActiveItem:function(e,a){var c=this,d=c.getInnerItems();c.getItems();if(!e&&d.length===0){return 0}else{if(typeof e=="number"){e=Math.max(0,Math.min(e,d.length-1));e=d[e];if(e){return e}else{if(a){return null}}}else{if(e){var b;if(typeof e=="string"){b=c.child(e);e={xtype:e}}if(!b||!b.isComponent){e.$initParent=c;b=c.factoryItem(e)}c.pendingActiveItem=b;if(!c.has(b)){c.add(b)}delete b.$initParent;return b}}}},animateActiveItem:function(d,c){var b=this.getLayout(),a;if(this.activeItemAnimation){this.activeItemAnimation.destroy()}this.activeItemAnimation=c=new Ext.fx.layout.Card(c);if(c&&b.isCard){c.setLayout(b);a=b.getAnimation();if(a){a.disable()}c.on("animationend",function(){if(a){a.enable()}c.destroy()},this)}return this.setActiveItem(d)},updateActiveItem:function(b,a){delete this.pendingActiveItem;if(a){a.fireEvent("deactivate",a,this,b)}if(b){b.fireEvent("activate",b,this,a)}},show:function(){this.callParent(arguments);var a=this.getModal();if(a){a.setHidden(false)}return this},hide:function(){this.callParent(arguments);var a=this.getModal();if(a){a.setHidden(true)}return this},updateHidden:function(b){var a=this.getModal();if(a&&(a.getHidden()!==b)){a.setHidden(b)}this.callParent(arguments)},setRendered:function(d){if(this.callParent(arguments)){var a=this.items.items,b,c;for(b=0,c=a.length;b<c;b++){a[b].setRendered(d)}return true}return false},getRefItems:function(a){var b=this.getItems().items.slice(),e=b.length,c,d;if(a){for(c=0;c<e;c++){d=b[c];if(d.getRefItems){b=b.concat(d.getRefItems(true))}}}return b},getComponent:function(a){if(typeof a==="number"){return this.getItems().getAt(a)}if(Ext.isObject(a)){a=a.getItemId()}return this.getItems().get(a)},getDockedComponent:function(a){if(Ext.isObject(a)){a=a.getItemId()}var c=this.getDockedItems(),e=c.length,d,b;if(Ext.isNumber(a)){return c[a]}for(b=0;b<e;b++){d=c[b];if(d.id==a){return d}}return false},destroy:function(){var b=this,a=b.getModal();if(a){a.destroy()}b.removeAll(true,true);b.callParent();Ext.destroy(b.items);b.items=null},privates:{applyReference:function(a){return this.setupReference(a)},getFirstReferences:function(){var a=this;delete a.getReferences;a.getItems();return a.getReferences.apply(a,arguments)}}},function(){this.prototype.defaultItemClass=this});Ext.define("Ext.LoadMask",{extend:Ext.Mask,xtype:"loadmask",config:{message:"Loading...",cls:Ext.baseCSSPrefix+"loading-mask",messageCls:Ext.baseCSSPrefix+"mask-message",indicator:true},getTemplate:function(){var a=Ext.baseCSSPrefix;return[{reference:"innerElement",cls:a+"mask-inner",children:[{reference:"indicatorElement",cls:a+"loading-spinner-outer",children:[{cls:a+"loading-spinner",children:[{tag:"span",cls:a+"loading-top"},{tag:"span",cls:a+"loading-right"},{tag:"span",cls:a+"loading-bottom"},{tag:"span",cls:a+"loading-left"}]}]},{reference:"messageElement"}]}]},updateMessage:function(b){var a=Ext.baseCSSPrefix+"has-message";if(b){this.addCls(a)}else{this.removeCls(a)}this.messageElement.setHtml(b)},updateMessageCls:function(b,a){this.messageElement.replaceCls(a,b)},updateIndicator:function(a){this[a?"removeCls":"addCls"](Ext.baseCSSPrefix+"indicator-hidden")}});Ext.define("Ext.viewport.Default",{extend:Ext.Container,xtype:"viewport",PORTRAIT:"portrait",LANDSCAPE:"landscape",config:{autoMaximize:false,autoBlurInput:true,preventPanning:true,preventZooming:false,autoRender:true,layout:"card",width:"100%",height:"100%",useBodyElement:true,menus:{}},isReady:false,isViewport:true,isMaximizing:false,id:"ext-viewport",isInputRegex:/^(input|textarea|select|a)$/i,isInteractiveWebComponentRegEx:/^(audio|video)$/i,focusedElement:null,fullscreenItemCls:Ext.baseCSSPrefix+"fullscreen",constructor:function(c){var d=this,e=Ext.Function.bind,b=Ext.Component,a=Ext.scroll.DomScroller;if(a.document){a.document=a.document.destroy()}d.doPreventPanning=e(d.doPreventPanning,d);d.doPreventZooming=e(d.doPreventZooming,d);d.doBlurInput=e(d.doBlurInput,d);d.maximizeOnEvents=["ready","orientationchange"];window.devicePixelRatio=window.devicePixelRatio||1;d.callParent([c]);d.orientation=d.determineOrientation();d.windowWidth=d.getWindowWidth();d.windowHeight=d.getWindowHeight();d.windowOuterHeight=d.getWindowOuterHeight();d.stretchHeights=d.stretchHeights||{};if(!Ext.os.is.Android||Ext.browser.is.ChromeMobile){if(d.supportsOrientation()){d.addWindowListener("orientationchange",e(d.onOrientationChange,d))}else{d.addWindowListener("resize",e(d.onResize,d))}}document.addEventListener("focus",e(d.onElementFocus,d),true);document.addEventListener("blur",e(d.onElementBlur,d),true);Ext.onDocumentReady(d.onDomReady,d);if(!b.on){Ext.util.Observable.observe(b)}b.on("fullscreen","onItemFullscreenChange",d);return d},initialize:function(){var a=this;a.addMeta("apple-mobile-web-app-capable","yes");a.addMeta("apple-touch-fullscreen","yes");a.callParent()},initInheritedState:function(c,b){var d=this,a=Ext.rootInheritedState;if(c!==a){d.initInheritedState(d.inheritedState=a,d.inheritedStateInner=Ext.Object.chain(a))}else{d.callParent([c,b])}},onAppLaunch:function(){var a=this;if(!a.isReady){a.onDomReady()}},onDomReady:function(){var a=this;if(a.isReady){return}a.isReady=true;a.updateSize();a.onReady();a.fireEvent("ready",a);Ext.GlobalEvents.fireEvent("viewportready",a)},onReady:function(){if(this.getAutoRender()){this.render()}if(Ext.browser.name==="ChromeiOS"){this.setHeight("-webkit-calc(100% - "+((window.outerHeight-window.innerHeight)/2)+"px)")}},onElementFocus:function(a){this.focusedElement=a.target},onElementBlur:function(){this.focusedElement=null},render:function(){if(!this.rendered){var g=Ext.getBody(),c=Ext.baseCSSPrefix,b=[],j=Ext.os,e=j.name.toLowerCase(),h=Ext.browser.name.toLowerCase(),i=j.version.getMajor(),a=this.getOrientation(),d;this.renderTo(g);b.push(c+j.deviceType.toLowerCase());if(j.is.iPad){b.push(c+"ipad")}b.push(c+e);b.push(c+h);if(i){b.push(c+e+"-"+i)}if(j.is.BlackBerry){b.push(c+"bb");if(Ext.browser.userAgent.match(/Kbd/gi)){b.push(c+"bb-keyboard")}}if(Ext.browser.is.WebKit){b.push(c+"webkit")}if(Ext.browser.is.Standalone){b.push(c+"standalone")}if(Ext.browser.is.AndroidStock){b.push(c+"android-stock")}if(Ext.browser.is.GoogleGlass){b.push(c+"google-glass")}b.push(c+a);g.addCls(b);d=Ext.theme;if(d&&d.getDocCls){Ext.fly(document.documentElement).addCls(d.getDocCls())}}},updateAutoBlurInput:function(a){var b=Ext.feature.has.TouchEvents?"touchstart":"mousedown";this.toggleWindowListener(a,b,this.doBlurInput,false)},applyAutoMaximize:function(a){return Ext.browser.is.WebView?false:a},updateAutoMaximize:function(a){var b=this;if(a){b.on("ready","doAutoMaximizeOnReady",b,{single:true});b.on("orientationchange","doAutoMaximizeOnOrientationChange",b)}else{b.un("ready","doAutoMaximizeOnReady",b);b.un("orientationchange","doAutoMaximizeOnOrientationChange",b)}},updatePreventPanning:function(a){this.toggleWindowListener(a,"touchmove",this.doPreventPanning,false)},updatePreventZooming:function(a){var b=Ext.feature.has.TouchEvents?"touchstart":"mousedown";this.toggleWindowListener(a,b,this.doPreventZooming,false)},doAutoMaximizeOnReady:function(){var a=this;a.isMaximizing=true;a.on("maximize",function(){a.isMaximizing=false;a.updateSize();a.fireEvent("ready",a)},a,{single:true});a.maximize()},doAutoMaximizeOnOrientationChange:function(){var a=this;a.isMaximizing=true;a.on("maximize",function(){a.isMaximizing=false;a.updateSize()},a,{single:true});a.maximize()},doBlurInput:function(b){var a=b.target,c=this.focusedElement;if(c&&c.blur&&c.nodeName.toUpperCase()!="BODY"&&!this.isInputRegex.test(a.tagName)){delete this.focusedElement;c.blur()}},doPreventPanning:function(b){var a=b.target,c;if(this.isInteractiveWebComponentRegEx.test(a.tagName)&&b.touches&&b.touches.length>0){c=b.touches[0];if(c&&c.target&&this.isInputRegex.test(c.target.tagName)){return}}if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)){b.preventDefault()}},doPreventZooming:function(c){if("button" in c&&c.button!==0){return}var b=c.target,a=this.isInputRegex,d;if(this.isInteractiveWebComponentRegEx.test(b.tagName)&&c.touches&&c.touches.length>0){d=c.touches[0];if(d&&d.target&&a.test(d.target.tagName)){return}}if(b&&b.nodeType===1&&!a.test(b.tagName)){c.preventDefault()}},addWindowListener:function(b,c,a){window.addEventListener(b,c,Boolean(a))},removeWindowListener:function(b,c,a){window.removeEventListener(b,c,Boolean(a))},supportsOrientation:function(){return Ext.feature.has.Orientation},onResize:function(){var g=this,c=g.windowWidth,h=g.windowHeight,e=g.getWindowWidth(),a=g.getWindowHeight(),d=g.getOrientation(),b=g.determineOrientation();if((c!==e&&h!==a)&&d!==b){g.fireOrientationChangeEvent(b,d)}},onOrientationChange:function(){var b=this.getOrientation(),a=this.determineOrientation();if(a!==b){this.fireOrientationChangeEvent(a,b)}},fireOrientationChangeEvent:function(b,c){var d=this,a=Ext.baseCSSPrefix;Ext.getBody().replaceCls(a+c,a+b);d.orientation=b;d.updateSize();d.fireEvent("orientationchange",d,b,d.windowWidth,d.windowHeight)},updateSize:function(b,a){var c=this;c.windowWidth=b!==undefined?b:c.getWindowWidth();c.windowHeight=a!==undefined?a:c.getWindowHeight();return c},waitUntil:function(i,e,h,a,g){if(!a){a=50}if(!g){g=2000}var c=this,b=0;Ext.defer(function d(){b+=a;if(i.call(c)===true){if(e){e.call(c)}}else{if(b>=g){if(h){h.call(c)}}else{Ext.defer(d,a)}}},a)},maximize:function(){this.fireMaximizeEvent()},fireMaximizeEvent:function(){this.updateSize();this.fireEvent("maximize",this)},updateHeight:function(a,b){Ext.getBody().setHeight(a);this.callParent([a,b])},updateWidth:function(b,a){Ext.getBody().setWidth(b);this.callParent([b,a])},scrollToTop:function(){window.scrollTo(0,-1)},getWindowWidth:function(){return window.innerWidth},getWindowHeight:function(){return window.innerHeight},getWindowOuterHeight:function(){return window.outerHeight},getWindowOrientation:function(){return window.orientation},getOrientation:function(){return this.orientation},getSize:function(){return{width:this.windowWidth,height:this.windowHeight}},determineOrientation:function(){var a=this,c=a.PORTRAIT,b=a.LANDSCAPE;if(!Ext.os.is.Android&&a.supportsOrientation()){if(a.getWindowOrientation()%180===0){return c}return b}else{if(a.getWindowHeight()>=a.getWindowWidth()){return c}return b}},onItemFullscreenChange:function(a){a.addCls(this.fullscreenItemCls);this.add(a)},setMenu:function(e,a){a=a||{};var c=this,b=a.side,d;if(Ext.os.is.iOS&&!c.hasiOSOrientationFix){c.hasiOSOrientationFix=true;c.on("orientationchange",function(){window.scrollTo(0,0)},c)}d=c.getMenus();if(!d){d={}}if(!c.addedSwipeListener){c.attachSwipeListeners();c.addedSwipeListener=true}if(!e.isComponent){if(!e.xclass&&!e.xtype){e=c.getMenuCfg(e,b)}e=Ext.create(e)}d[b]=e;e.$reveal=Boolean(a.reveal);e.$cover=a.cover!==false&&!e.$reveal;e.$side=b;c.fixMenuSize(e,b);if(b=="left"){e.setLeft(0);e.setRight(null);e.setTop(0);e.setBottom(0)}else{if(b=="right"){e.setLeft(null);e.setRight(0);e.setTop(0);e.setBottom(0)}else{if(b=="top"){e.setLeft(0);e.setRight(0);e.setTop(0);e.setBottom(null)}else{if(b=="bottom"){e.setLeft(0);e.setRight(0);e.setTop(null);e.setBottom(0)}}}}c.setMenus(d);return e},attachSwipeListeners:function(){var a=this;a.element.on({tap:a.onTap,swipestart:a.onSwipeStart,edgeswipestart:a.onEdgeSwipeStart,edgeswipe:a.onEdgeSwipe,edgeswipeend:a.onEdgeSwipeEnd,scope:a})},getMenuCfg:function(b,a){return Ext.apply({xtype:"menu"},b)},removeMenu:function(a){var b=this.getMenus()||{},c=b[a];if(c){this.hideMenu(a)}delete b[a];this.setMenus(b)},fixMenuSize:function(b,a){if(a=="top"||a=="bottom"){b.setWidth("100%")}else{if(a=="left"||a=="right"){b.setHeight("100%")}}},showMenu:function(g){var h=this,d=h.getMenus(),b=d[g],i,a,c,e,j;if(!b||b.isAnimating){return}h.hideOtherMenus(g);i={translateX:0,translateY:0};a={translateX:0,translateY:0};c={translateX:0,translateY:0};e={translateX:0,translateY:0};if(b.$reveal){Ext.getBody().insertFirst(b.element)}else{Ext.Viewport.add(b)}b.show();b.addCls("x-"+g);j=(g=="left"||g=="right")?b.element.getWidth():b.element.getHeight();if(g=="left"){i.translateX=-j;e.translateX=j}else{if(g=="right"){i.translateX=j;e.translateX=-j}else{if(g=="top"){i.translateY=-j;e.translateY=j}else{if(g=="bottom"){i.translateY=j;e.translateY=-j}}}}if(b.$reveal){if(Ext.browser.getPreferredTranslationMethod()!="scrollposition"){b.translate(0,0)}}else{b.translate(i.translateX,i.translateY)}if(b.$cover){b.getTranslatable().on("animationend",function(){b.isAnimating=false},h,{single:true});b.translate(a.translateX,a.translateY,{preserveEndState:true,duration:200})}else{h.translate(c.translateX,c.translateY);h.getTranslatable().on("animationend",function(){b.isAnimating=false},h,{single:true});h.translate(e.translateX,e.translateY,{preserveEndState:true,duration:200})}b.isAnimating=true},hideMenu:function(c,a){var e=this,g=this.getMenus(),i=g[c],h,d,b;a=a!==false;if(!i||(i.isHidden()||i.isAnimating)){return}h={translateX:0,translateY:0};d={translateX:0,translateY:0};b=(c=="left"||c=="right")?i.element.getWidth():i.element.getHeight();if(c=="left"){h.translateX=-b}else{if(c=="right"){h.translateX=b}else{if(c=="top"){h.translateY=-b}else{if(c=="bottom"){h.translateY=b}}}}if(i.$cover){if(a){i.getTranslatable().on("animationend",function(){i.isAnimating=false;i.hide()},e,{single:true});i.translate(h.translateX,h.translateY,{preserveEndState:true,duration:200})}else{i.translate(h.translateX,h.translateY);i.hide()}}else{if(a){e.getTranslatable().on("animationend",function(){i.isAnimating=false;i.hide()},e,{single:true});e.translate(d.translateX,d.translateY,{preserveEndState:true,duration:200})}else{e.translate(d.translateX,d.translateY);i.hide()}}},hideAllMenus:function(c){var b=this.getMenus(),a;for(a in b){this.hideMenu(a,c)}},hideOtherMenus:function(a,c){var b=this.getMenus(),d;for(d in b){if(a!==d){this.hideMenu(d,c)}}},toggleMenu:function(a){var b=this.getMenus(),c;if(b[a]){c=b[a];if(c.isHidden()){this.showMenu(a)}else{this.hideMenu(a)}}},sideForDirection:function(a){if(a==="left"){return"right"}else{if(a==="right"){return"left"}else{if(a=="up"){return"bottom"}else{if(a=="down"){return"top"}}}}},sideForSwipeDirection:function(a){if(a=="up"){return"top"}else{if(a=="down"){return"bottom"}}return a},onTap:function(a){},onSwipeStart:function(b){var a=this.sideForSwipeDirection(b.direction);this.hideMenu(a)},onEdgeSwipeStart:function(i){var l=this,k=l.sideForDirection(i.direction),d=l.getMenus(),b=d[k],m,j,n,a,h,c,g;if(!b||!b.isHidden()){return}for(m in d){j=d[m];if(j.isHidden()!==false){return}}l.$swiping=true;l.hideAllMenus(false);if(b.$reveal){Ext.getBody().insertFirst(b.element)}else{Ext.Viewport.add(b)}b.show();n=(k=="left"||k=="right")?b.element.getWidth():b.element.getHeight();a={translateX:0,translateY:0};h={translateX:0,translateY:0};if(k=="left"){a.translateX=-n}else{if(k=="right"){a.translateX=n}else{if(k=="top"){a.translateY=-n}else{if(k=="bottom"){a.translateY=n}}}}c="webkitTransform" in document.createElement("div").style?"webkitTransform":"transform";g=b.element.dom.style[c];if(g){b.element.dom.style[c]=""}if(b.$reveal){if(Ext.browser.getPreferredTranslationMethod()!="scrollposition"){b.translate(0,0)}}else{b.translate(a.translateX,a.translateY)}if(!b.$cover){if(g){l.innerElement.dom.style[c]=""}l.translate(h.translateX,h.translateY)}},onEdgeSwipe:function(h){var j=this,i=j.sideForDirection(h.direction),b=j.getMenus()[i],k,a,g,c,d;if(!b||!j.$swiping){return}k=(i=="left"||i=="right")?b.element.getWidth():b.element.getHeight();c=Math.min(h.distance-k,0);d=Math.min(h.distance,k);a={translateX:0,translateY:0};g={translateX:0,translateY:0};if(i=="left"){a.translateX=c;g.translateX=d}else{if(i=="right"){a.translateX=-c;g.translateX=-d}else{if(i=="top"){a.translateY=c;g.translateY=d}else{if(i=="bottom"){a.translateY=-c;g.translateY=-d}}}}if(b.$cover){b.translate(a.translateX,a.translateY)}else{j.translate(g.translateX,g.translateY)}},onEdgeSwipeEnd:function(j){var l=this,k=l.sideForDirection(j.direction),b=l.getMenus()[k],i=false,m,g,c,d,a,h;if(!b){return}m=(k=="left"||k=="right")?b.element.getWidth():b.element.getHeight();g=(j.flick)?j.flick.velocity:0;if(k=="right"){if(g.x>0){i=true}}else{if(k=="left"){if(g.x<0){i=true}}else{if(k=="top"){if(g.y<0){i=true}}else{if(k=="bottom"){if(g.y>0){i=true}}}}}c=i?m:0;d=i?0:-m;a={translateX:0,translateY:0};h={translateX:0,translateY:0};if(k=="left"){a.translateX=-c;h.translateX=-d}else{if(k=="right"){a.translateX=c;h.translateX=d}else{if(k=="top"){a.translateY=-c;h.translateY=-d}else{if(k=="bottom"){a.translateY=c;h.translateY=d}}}}if(b.$cover){b.getTranslatable().on("animationend",function(){if(i){b.hide()}},l,{single:true});b.translate(a.translateX,a.translateY,{preserveEndState:true,duration:200})}else{l.getTranslatable().on("animationend",function(){if(i){b.hide()}},l,{single:true});l.translate(h.translateX,h.translateY,{preserveEndState:true,duration:200})}l.$swiping=false},privates:{addMeta:function(a,b){var c=document.createElement("meta");c.setAttribute("name",a);c.setAttribute("content",b);Ext.getHead().append(c)},doAddListener:function(b,h,g,d,a,c,e){var i=this;if(b==="ready"&&i.isReady&&!i.isMaximizing){h.call(g);return i}i.callParent([b,h,g,d,a,c,e])},toggleWindowListener:function(b,c,d,a){if(b){this.addWindowListener(c,d,a)}else{this.removeWindowListener(c,d,a)}}}});Ext.define("Ext.viewport.Ios",{extend:Ext.viewport.Default,isFullscreen:function(){return this.isHomeScreen()},isHomeScreen:function(){return window.navigator.standalone===true},constructor:function(){this.callParent(arguments);if(this.getAutoMaximize()&&!this.isFullscreen()){this.addWindowListener("touchstart",Ext.Function.bind(this.onTouchStart,this))}},maximize:function(){if(this.isFullscreen()){return this.callParent()}var c=this.stretchHeights,b=this.orientation,d=this.getWindowHeight(),a=c[b];if(window.scrollY>0){this.scrollToTop();if(!a){c[b]=a=this.getWindowHeight()}this.setHeight(a);this.fireMaximizeEvent()}else{if(!a){a=this.getScreenHeight()}this.setHeight(a);this.waitUntil(function(){this.scrollToTop();return d!==this.getWindowHeight()},function(){if(!c[b]){a=c[b]=this.getWindowHeight();this.setHeight(a)}this.fireMaximizeEvent()},function(){a=c[b]=this.getWindowHeight();this.setHeight(a);this.fireMaximizeEvent()},50,1000)}},getScreenHeight:function(){return window.screen[this.orientation===this.PORTRAIT?"height":"width"]},onElementFocus:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){clearTimeout(this.scrollToTopTimer)}this.callParent(arguments)},onElementBlur:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){this.scrollToTopTimer=Ext.defer(this.scrollToTop,500)}this.callParent(arguments)},onTouchStart:function(){if(this.focusedElement===null){this.scrollToTop()}},scrollToTop:function(){window.scrollTo(0,0)}},function(){if(!Ext.os.is.iOS){return}if(Ext.os.version.lt("3.2")){this.override({constructor:function(){var a=this.stretchHeights={};a[this.PORTRAIT]=416;a[this.LANDSCAPE]=268;return this.callOverridden(arguments)}})}if(Ext.os.version.lt("5")){this.override({fieldMaskClsTest:"-field-mask",doPreventZooming:function(b){var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)&&a.className.indexOf(this.fieldMaskClsTest)==-1){b.preventDefault()}}})}if(Ext.os.is.iPad){this.override({isFullscreen:function(){return true}})}if(Ext.os.version.gtEq("7")){if(Ext.os.deviceType==="Tablet"||!Ext.browser.is.Safari||window.navigator.standalone){this.override({constructor:function(){var d={},b={},a=this.determineOrientation(),g=window.screen.height,c=window.screen.width,e=a===this.PORTRAIT?g-window.innerHeight:c-window.innerHeight;d[this.PORTRAIT]=g-e;d[this.LANDSCAPE]=c-e;b[this.PORTRAIT]=c;b[this.LANDSCAPE]=g;this.stretchHeights=d;this.stretchWidths=b;this.callOverridden(arguments);this.on("ready",this.setViewportSizeToAbsolute,this);this.on("orientationchange",this.setViewportSizeToAbsolute,this)},getWindowHeight:function(){return this.stretchHeights[this.orientation]},getWindowWidth:function(){return this.stretchWidths[this.orientation]},setViewportSizeToAbsolute:function(){this.setWidth(this.getWindowWidth());this.setHeight(this.getWindowHeight())}})}if(Ext.os.deviceType==="Tablet"){this.override({constructor:function(){this.callOverridden(arguments);window.addEventListener("scroll",function(){if(window.scrollX!==0){window.scrollTo(0,window.scrollY)}},false)},setViewportSizeToAbsolute:function(){window.scrollTo(0,0);this.callOverridden(arguments)},onElementBlur:function(){this.callOverridden(arguments);if(window.scrollY!==0){window.scrollTo(0,0)}}})}}});Ext.define("Ext.viewport.Android",{extend:Ext.viewport.Default,config:{translatable:{translationMethod:"csstransform"}},constructor:function(){this.callParent(arguments);this.on({orientationchange:"hideKeyboardIfNeeded",scope:this,priority:1001});var a=this;Ext.onReady(function(){Ext.getBody().on("resize",a.onResize,a)})},getWindowWidth:function(){return this.element.getWidth()},getWindowHeight:function(){return this.element.getHeight()},getDummyInput:function(){var a=this.dummyInput,c=this.focusedElement,b=Ext.fly(c).getBox();if(!a){this.dummyInput=a=document.createElement("input");a.style.position="absolute";a.style.opacity="0";a.style.pointerEvents="none";document.body.appendChild(a)}a.style.left=b.left+"px";a.style.top=b.top+"px";a.style.display="";return a},doBlurInput:function(c){var b=c.target,d=this.focusedElement,a;if(d&&!this.isInputRegex.test(b.tagName)){a=this.getDummyInput();delete this.focusedElement;a.focus();Ext.defer(function(){a.style.display="none"},100)}},hideKeyboardIfNeeded:function(){var a=this.focusedElement;if(a){delete this.focusedElement;if(Ext.os.version.lt("4")){a.style.display="none"}else{a.blur()}Ext.defer(function(){a.style.display=""},1000)}},doFireOrientationChangeEvent:function(){this.orientationChanging=true;this.waitUntil(function(){return this.getWindowOuterHeight()!==this.windowOuterHeight},function(){this.windowOuterHeight=this.getWindowOuterHeight();this.updateSize();this.orientationChanging=false},function(){});return this},determineOrientation:function(){return(this.getWindowHeight()>=this.getWindowWidth())?this.PORTRAIT:this.LANDSCAPE},getActualWindowOuterHeight:function(){return Math.round(this.getWindowOuterHeight()/window.devicePixelRatio)},maximize:function(){var c=this.stretchHeights,b=this.orientation,a;a=c[b];if(!a){c[b]=a=this.getActualWindowOuterHeight()}if(!this.addressBarHeight){this.addressBarHeight=a-this.getWindowHeight()}this.setHeight(a);var d=Ext.Function.bind(this.isHeightMaximized,this,[a]);this.scrollToTop();this.waitUntil(d,this.fireMaximizeEvent,this.fireMaximizeEvent)},isHeightMaximized:function(a){this.scrollToTop();return this.getWindowHeight()===a},supportsOrientation:function(){return false},onResize:function(){this.waitUntil(function(){var c=this.windowWidth,g=this.windowHeight,e=this.getWindowWidth(),a=this.getWindowHeight(),d=this.getOrientation(),b=this.determineOrientation();return((c!==e&&g!==a)&&d!==b)},function(){var b=this.getOrientation(),a=this.determineOrientation();this.fireOrientationChangeEvent(a,b)},Ext.emptyFn,250)},doPreventZooming:function(b){if("button" in b&&b.button!==0){return}var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)&&!this.focusedElement){b.preventDefault()}}},function(){if(!Ext.os.is.Android){return}var a=Ext.os.version,b=Ext.browser.userAgent,c=/(htc|desire|incredible|ADR6300)/i.test(b)&&a.lt("2.3");if(c){this.override({constructor:function(d){if(!d){d={}}d.autoMaximize=false;this.watchDogTick=Ext.Function.bind(this.watchDogTick,this);Ext.interval(this.watchDogTick,1000);return this.callParent([d])},watchDogTick:function(){this.watchDogLastTick=Ext.Date.now()},doPreventPanning:function(){var e=Ext.Date.now(),g=this.watchDogLastTick,d=e-g;if(d>=2000){return}return this.callParent(arguments)},doPreventZooming:function(){var e=Ext.Date.now(),g=this.watchDogLastTick,d=e-g;if(d>=2000){return}return this.callParent(arguments)}})}if(a.match("2")){this.override({onReady:function(){this.addWindowListener("resize",Ext.Function.bind(this.onWindowResize,this));this.callParent(arguments)},scrollToTop:function(){document.body.scrollTop=100},onWindowResize:function(){var e=this.windowWidth,h=this.windowHeight,g=this.getWindowWidth(),d=this.getWindowHeight();if(this.getAutoMaximize()&&!this.isMaximizing&&!this.orientationChanging&&window.scrollY===0&&e===g&&d<h&&((d>=h-this.addressBarHeight)||!this.focusedElement)){this.scrollToTop()}}})}else{if(a.gtEq("3.1")){this.override({isHeightMaximized:function(d){this.scrollToTop();return this.getWindowHeight()===d-1}})}else{if(a.match("3")){this.override({isHeightMaximized:function(){this.scrollToTop();return true}})}}}if(a.gtEq("4")){this.override({doBlurInput:Ext.emptyFn})}});Ext.define("Ext.viewport.WindowsPhone",{requires:[],alternateClassName:"Ext.viewport.WP",extend:Ext.viewport.Default,config:{translatable:{translationMethod:"csstransform"}},initialize:function(){var a=function(d){var c=d.srcElement.nodeName.toUpperCase(),b=["INPUT","TEXTAREA"];if(b.indexOf(c)==-1){return false}};document.body.addEventListener("onselectstart",a);this.addMeta("msapplication-tap-highlight","no");this.callParent()},supportsOrientation:function(){return false},onResize:function(){this.waitUntil(function(){var c=this.windowWidth,g=this.windowHeight,e=this.getWindowWidth(),a=this.getWindowHeight(),d=this.getOrientation(),b=this.determineOrientation();return((c!==e&&g!==a)&&d!==b)},function(){var b=this.getOrientation(),a=this.determineOrientation();this.fireOrientationChangeEvent(a,b)},Ext.emptyFn,250)}});Ext.define("Ext.viewport.Viewport",{singleton:true,setup:function(a){var b=Ext.os.name,c;switch(b){case"Android":c=(Ext.browser.name==="ChromeMobile")?"Default":"Android";break;case"iOS":c="Ios";break;case"Windows":c=(Ext.browser.name==="IE")?"WindowsPhone":"Default";break;case"WindowsPhone":c="WindowsPhone";break;default:c="Default";break}Ext.Viewport=Ext.create("Ext.viewport."+c,a)}});Ext.define("Ext.overrides.app.Application",{override:"Ext.app.Application",initMainView:function(){var c=this,a,b;c.viewport=a=Ext.Viewport;c.callParent();b=c.getMainView();a.onAppLaunch();if(b){a.add(b)}}});Ext.define("Ext.app.Profile",{mixins:[Ext.mixin.Observable],isProfile:true,config:{mainView:{$value:null,lazy:true},application:null,controllers:[],models:[],views:[],stores:[]},constructor:function(a){this.initConfig(a);this.mixins.observable.constructor.apply(this,arguments)},isActive:function(){return false},init:function(){var a=this.getViews(),b;if(a&&!(a instanceof Array)){for(b in a){Ext.ClassManager.setXType(a[b],b)}}},launch:Ext.emptyFn,onClassExtended:function(b,c,a){var d=a.onBeforeCreated;a.onBeforeCreated=function(m,i){var h=Ext.app.Controller,k=m.$className,n=[],j=m.prototype,l=i.views,e,g;e=i.name;if(e){delete i.name}else{e=k.split(".");e=e[e.length-1]}m._name=e;m._namespace=e=(i.namespace||e).toLowerCase();delete i.namespace;g=h.resolveNamespace(m,i);h.processDependencies(j,n,g,"model",i.models,e);h.processDependencies(j,n,g,"store",i.stores,e);h.processDependencies(j,n,g,"controller",i.controllers,e);if(l){if(l instanceof Array){h.processDependencies(j,n,g,"view",l,e)}else{Ext.app.Profile.processViews(k,l,n)}}Ext.require(n,Ext.Function.pass(d,arguments,this))}},getName:function(){return this.self._name},getNamespace:function(){return this.self._namespace},privates:{statics:{processViews:function(g,c,e){var a,b,d,h;for(h in c){b=c[h];if(typeof b!=="string"){d=b.xclass;a=Ext.apply({extend:d},b);delete a.xclass;Ext.define(c[h]=g+"$"+h,a);b=d}e.push(b)}}}}});Ext.define("Ext.app.domain.View",{extend:Ext.app.EventDomain,isInstance:true,constructor:function(a){this.callParent(arguments);this.controller=a;this.monitoredClasses=[Ext.Component]},match:function(d,a,b){var c=false;if(a==="#"){c=b===d.getController()}else{c=d.is(a)}return c},destroy:function(){this.controller=null;this.callParent()}});Ext.define("Ext.app.ViewController",{extend:Ext.app.BaseController,mixins:[Ext.mixin.Factoryable],isViewController:true,factoryConfig:{type:"controller"},config:{closeViewAction:"destroy"},view:null,constructor:function(){this.compDomain=new Ext.app.domain.View(this);this.callParent(arguments)},beforeInit:Ext.emptyFn,init:Ext.emptyFn,initViewModel:Ext.emptyFn,destroy:function(){var a=this,b=a.compDomain;if(b){b.unlisten(a);b.destroy()}a.compDomain=a.view=null;a.callParent()},closeView:function(){var a=this.getView(),b;if(a){b=this.getCloseViewAction();a[b]()}},control:function(a,b){var c=a;if(Ext.isString(a)){c={};c[a]=b}this.compDomain.listen(c,this)},listen:function(c,a){var b=c.component;if(b){c=Ext.apply({},c);delete c.component;this.control(b)}this.callParent([c,a])},getReferences:function(){var a=this.view;return a&&a.getReferences()},getView:function(){return this.view},lookup:function(b){var a=this.view;return a&&a.lookup(b)},lookupReference:function(a){return this.lookup(a)},getSession:function(){var a=this.view;return a&&a.lookupSession()},getViewModel:function(){var a=this.view;return a&&a.lookupViewModel()},getStore:function(b){var a=this.getViewModel();return a?a.getStore(b):null},fireViewEvent:function(d,b){var c=this.view,a=false,e=arguments;if(c){if(c!==b){e=Ext.Array.slice(e);e.splice(1,0,c)}a=c.fireEvent.apply(c,e)}return a},privates:{view:null,ensureId:function(){var a=this.getId();if(!a){this.setId(Ext.id(null,"controller-"))}},attachReference:function(b){var a=this.view;if(a){a.attachReference(b)}},clearReference:function(b){var a=this.view;if(a){a.clearReference(b)}},clearReferences:function(){var a=this.view;if(a){a.clearReferences()}},setView:function(a){this.view=a;if(!this.beforeInit.$nullFn){this.beforeInit(a)}}}});Ext.define("Ext.util.Bag",{isBag:true,constructor:function(){this.items=[];this.map={}},generation:0,length:0,add:function(e){var d=this,h=d.getKey(e),g=d.map,c=d.items,a=g[h],b;if(a===undefined){c.push(e);g[h]=d.length++;b=e}else{b=c[a];c[a]=e}++d.generation;return b},clear:function(){var c=this,b=c.generation||c.length,a=b?c.items:[];if(b){c.items=[];c.length=0;c.map={};++c.generation}return a},clone:function(){var c=this,b=new c.self(),a=c.length;if(a){Ext.apply(b.map,c.map);b.items=c.items.slice();b.length=c.length}return b},contains:function(c){var a=false,d=this.map,b;if(c!=null){b=this.getKey(c);if(b in d){a=this.items[d[b]]===c}}return a},containsKey:function(a){return a in this.map},destroy:function(){this.items=this.map=null;this.callParent()},getAt:function(b){var a=null;if(b<this.length){a=this.items[b]}return a},getByKey:function(b){var c=this.map,a=null;if(b in c){a=this.items[c[b]]}return a},getCount:function(){return this.length},getKey:function(a){return a.id||a.getId()},remove:function(g){var e=this,h=e.map,c=e.items,b=null,a,i,d;if(e.length){a=h[i=e.getKey(g)];if(a!==undefined){delete h[i];b=c[a];d=c.pop();if(a<--e.length){c[a]=d;h[e.getKey(d)]=a}++e.generation}}return b},removeByKey:function(a){var b=this.getByKey(a);if(b){this.remove(b)}return b||null},sort:function(b){var d=this,a=d.items,e=a.length,c;if(e){Ext.Array.sort(a,b);d.map={};while(e-->0){c=a[e];d.map[d.getKey(c)]=e}++d.generation}}});Ext.define("Ext.util.Scheduler",{mixins:[Ext.mixin.Observable],busyCounter:0,lastBusyCounter:0,destroyed:false,firing:null,notifyIndex:-1,nextId:0,orderedItems:null,passes:0,scheduledCount:0,validIdRe:null,config:{cycleLimit:5,preSort:null,tickDelay:5},suspendOnNotify:true,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.items=new Ext.util.Bag()},destroy:function(){var a=this,b=a.timer;if(b){window.clearTimeout(b);a.timer=null}a.items.destroy();a.items=a.orderedItems=null;a.callParent()},add:function(c){var b=this,a=b.items;if(a===b.firing){b.items=a=a.clone()}c.id=c.id||++b.nextId;c.scheduler=b;a.add(c);if(!b.sortMap){b.orderedItems=null}},remove:function(c){var b=this,a=b.items;if(b.destroyed){return}if(a===b.firing){b.items=a=a.clone()}if(c.scheduled){b.unscheduleItem(c);c.scheduled=false}a.remove(c);b.orderedItems=null},sort:function(){var d=this,a=d.items,e={},g=d.getPreSort(),b,c;d.orderedItems=[];d.sortMap=e;if(g){a.sort(g)}a=a.items;for(b=0;b<a.length;++b){c=a[b];if(!e[c.id]){d.sortItem(c)}}d.sortMap=null},sortItem:function(c){var b=this,d=b.sortMap,a=b.orderedItems,e;if(!c.scheduler){b.add(c)}e=c.id;if(!(e in d)){d[e]=0;if(!c.sort.$nullFn){c.sort()}d[e]=1;c.order=b.orderedItems.length;a.push(c)}return b},sortItems:function(a){var b=this,c=b.sortItem;if(a){if(a instanceof Array){Ext.each(a,c,b)}else{Ext.Object.eachValue(a,c,b)}}return b},applyPreSort:function(h){if(typeof h==="function"){return h}var g=h.split(","),e=[],d=g.length,j,a,b;for(a=0;a<d;++a){e[a]=1;b=g[a];if((j=b.charAt(0))==="-"){e[a]=-1}else{if(j!=="+"){j=0}}if(j){g[a]=b.substring(1)}}return function(c,p){var k=0,l,o,n,m;for(l=0;!k&&l<d;++l){o=g[l];n=c[o];m=p[o];k=e[l]*((n<m)?-1:((m<n)?1:0))}return k}},notify:function(){var k=this,b=k.timer,d=k.getCycleLimit(),c=Ext.GlobalEvents,h=k.suspendOnNotify,m,e,l,j,g,a;if(b){window.clearTimeout(b);k.timer=null}if(h){Ext.suspendLayouts()}while(k.scheduledCount){if(d){--d}else{k.firing=null;break}if(!a){a=true;if(c.hasListeners.beforebindnotify){c.fireEvent("beforebindnotify",k)}}++k.passes;if(!(g=k.orderedItems)){k.sort();g=k.orderedItems}j=g.length;if(j){k.firing=k.items;for(e=0;e<j;++e){l=g[e];if(l.scheduled){l.scheduled=false;--k.scheduledCount;k.notifyIndex=e;l.react();if(!k.scheduledCount){break}}}}}k.firing=null;k.notifyIndex=-1;if(h){Ext.resumeLayouts(true)}if((m=k.busyCounter)!==k.lastBusyCounter){if(!(k.lastBusyCounter=m)){k.fireEvent("idle",k)}}},onTick:function(){this.timer=null;this.notify()},scheduleItem:function(b){var a=this;++a.scheduledCount;if(!a.timer&&!a.firing){a.scheduleTick()}},scheduleTick:function(){var a=this;if(!a.destroyed&&!a.timer){a.timer=Ext.Function.defer(a.onTick,a.getTickDelay(),a)}},unscheduleItem:function(a){if(this.scheduledCount){--this.scheduledCount}},adjustBusy:function(a){var b=this,c=b.busyCounter+a;b.busyCounter=c;if(c){if(!b.lastBusyCounter){b.lastBusyCounter=c;b.fireEvent("busy",b)}}else{if(b.lastBusyCounter&&!b.timer){b.scheduleTick()}}},isBusy:function(){return !this.isIdle()},isIdle:function(){return !(this.busyCounter+this.lastBusyCounter)},debugHooks:{$enabled:false,onCycleLimitExceeded:function(){Ext.raise("Exceeded cycleLimit "+this.getCycleLimit())},scheduleItem:function(a){if(!a){Ext.raise("scheduleItem: Invalid argument")}Ext.log("Schedule item: "+a.getFullName()+" - "+(this.scheduledCount+1));if(a.order<=this.notifyIndex){Ext.log.warn("Suboptimal order: "+a.order+" < "+this.notifyIndex)}this.callParent([a])},unscheduleItem:function(a){if(!this.scheduledCount){Ext.raise("Invalid scheduleCount")}this.callParent([a]);Ext.log("Unschedule item: "+a.getFullName()+" - "+this.scheduledCount)}}});Ext.define("Ext.data.Batch",{mixins:{observable:Ext.mixin.Observable},config:{pauseOnException:false},current:-1,total:0,running:false,complete:false,exception:false,constructor:function(a){var b=this;b.mixins.observable.constructor.call(b,a);b.operations=[];b.exceptions=[]},add:function(b){var d=this,c,a;if(Ext.isArray(b)){for(c=0,a=b.length;c<a;++c){d.add(b[c])}}else{d.total++;b.setBatch(d);d.operations.push(b)}return d},sort:function(){this.operations.sort(this.sortFn)},sortFn:function(c,a){var b=c.order-a.order;if(b){return b}var g=c.entityType,d=a.entityType,e;if(!g||!d){return 0}if(!(e=g.rank)){g.schema.rankEntities();e=g.rank}return(e-d.rank)*c.foreignKeyDirection},start:function(a){var b=this;if(!b.operations.length||b.running){return b}b.exceptions.length=0;b.exception=false;b.running=true;return b.runOperation(Ext.isDefined(a)?a:b.current+1)},retry:function(){return this.start(this.current)},runNextOperation:function(){var a=this;if(a.running){a.runOperation(a.current+1)}return a},pause:function(){this.running=false;return this},getOperations:function(){return this.operations},getExceptions:function(){return this.exceptions},getCurrent:function(){var a=null,b=this.current;if(!(b===-1||this.complete)){a=this.operations[b]}return a},getTotal:function(){return this.total},isRunning:function(){return this.running},isComplete:function(){return this.complete},hasException:function(){return this.exception},runOperation:function(c){var d=this,b=d.operations,a=b[c];if(a===undefined){d.running=false;d.complete=true;d.fireEvent("complete",d,b[b.length-1])}else{d.current=c;a.setInternalCallback(d.onOperationComplete);a.setInternalScope(d);a.execute()}return d},onOperationComplete:function(a){var c=this,b=a.hasException();if(b){c.exception=true;c.exceptions.push(a);c.fireEvent("exception",c,a)}if(b&&c.getPauseOnException()){c.pause()}else{c.fireEvent("operationcomplete",c,a);c.runNextOperation()}}});Ext.define("Ext.data.matrix.Slice",{constructor:function(a,b){this.id=b;this.side=a;this.members={}},attach:function(a){var b=this;b.store=a;a.matrix=b;a.on("load",b.onStoreLoad,b,{single:true})},commit:function(){var a=this.members,b;for(b in a){a[b][2]=0}},onStoreLoad:function(a){this.update(a.getData().items,0)},update:function(n,g){var t=this,j=Ext.data.matrix.Slice,c=t.side,k=c.index,e=n.length,m=t.id,s=t.members,b=c.inverse,r=b.slices,h,p,o,q,a,l,d;for(o=0;o<e;++o){p=d=null;q=n[o];a=q.isEntity?(d=q).id:q;h=s[a];if(g<0&&h&&h[2]===1){delete s[a];l=r[a];if(l){delete l.members[m]}p=1}else{if(!h){h=[a,a,g];h[k]=m;s[a]=h;l=r[a];if(!l){r[a]=l=new j(b,a)}l.members[m]=h;p=1}else{if(g!==h[2]&&g!==0){h[2]=g;l=r[a];p=1}}}if(p){if(t.notify){t.notify.call(t.scope,t,a,g)}if(l&&l.notify){l.notify.call(l.scope,l,m,g)}}}},updateId:function(b){var j=this,a=j.id,i=j.side,m=i.slices,l=m[a],c=l.members,g=i.index,d=i.inverse.slices,h,e,k;j.id=b;m[b]=l;delete m[a];for(e in c){h=c[e];h[g]=b;k=d[e].members;k[b]=k[a];delete k[a]}},destroy:function(){var b=this,a=b.store;if(a){a.matrix=null;a.un("load",b.onStoreLoad,b)}b.notify=b.scope=b.store=b.side=b.members=null;b.callParent()}});Ext.define("Ext.data.matrix.Side",{constructor:function(a,b,d){var c=this;c.matrix=a;c.index=b;c.role=d;c.slices={}},commit:function(){var a=this.slices,b;for(b in a){a[b].commit()}},get:function(b,a){var c=this,e=c.slices,d=e[b]||(e[b]=new Ext.data.matrix.Slice(c,b));return(a||a===0)?d.members[a]:d},update:function(b,a,c){var d=this.get(b);return d.update(a,c)},updateId:function(c,a){var b=this.get(c);if(b){b.updateId(a)}},destroy:function(){var a=this,b=a.slices,c;for(c in b){b[c].destroy()}a.inverse=a.matrix=a.role=a.slices=null;a.callParent()}});Ext.define("Ext.data.matrix.Matrix",{constructor:function(h,c){var e=this,b=c.isManyToMany?c:h.getSchema().getAssociation(c),a=Ext.data.matrix.Side,g=new a(e,0,b.left),d=new a(e,1,b.right);e.association=b;e.session=h;e.left=g;e.right=d;g.inverse=d;d.inverse=g},commit:function(){this.left.commit();this.right.commit()},update:function(b,a,c){return this.left.update(b,a,c)},updateId:function(a,h,c){var b=a.self,g=this.left,d=this.right,e;if(b===g.role.cls){e=g}if(b===d.role.cls){e=d}if(e){e.updateId(h,c)}},destroy:function(){var a=this;a.left.destroy();a.right.destroy();a.association=a.session=a.left=a.right=null;a.callParent()}});Ext.define("Ext.data.session.ChangesVisitor",{constructor:function(c){var a=this,b;a.session=c;b=c.getCrudProperties();a.result=null;a.writerOptions={};a.createKey=b.create;a.readKey=b.read;a.updateKey=b.update;a.dropKey=b.drop},onDirtyRecord:function(g){var j=this,m=j.crud,e=g.phantom,c=g.dropped,h=!e&&!c,k=g.$className,b=(e||c)?"allDataOptions":"partialDataOptions",i=j.writerOptions,a=g.entityName,o,d,l,n;if(e&&c){return false}m=e?j.createKey:(c?j.dropKey:j.updateKey);i=i[k]||(i[k]={});if(c){if(!(o=i.drop)){i.drop=o={all:g.getProxy().getWriter().getWriteAllFields()}}if(!o.all){l=g.id}}if(!l){if(!(o=i[b])){o=g.getProxy().getWriter().getConfig(b);i[b]=o=Ext.Object.chain(o);j.setupOptions(o)}l=g.getData(o)}n=j.result||(j.result={});d=n[a]||(n[a]={});d=d[m]||(d[m]=[]);d.push(l)},setupOptions:function(a){a.serialize=true},onMatrixChange:function(d,j,i,a){var h=this,b=d.left.type,g=d.right.role,e=a<0?h.dropKey:h.createKey,c,k;k=h.result||(h.result={});c=k[b]||(k[b]={});c=c[g]||(c[g]={});c=c[e]||(c[e]={});c=c[j]||(c[j]=[]);c.push(i)}});Ext.define("Ext.data.session.ChildChangesVisitor",{extend:Ext.data.session.ChangesVisitor,constructor:function(){this.seen={};this.callParent(arguments)},setupOptions:function(a){this.callParent([a]);a.serialize=false},onDirtyRecord:function(a){if(this.callParent(arguments)!==false){if(!a.$source&&(a.dropped||!a.phantom)){this.readEntity(a)}}},readEntity:function(g){var h=this,e=h.readKey,b=g.entityName,c=g.id,a=h.seen,i=b+c,j,d;if(a[i]){return}a[i]=true;j=h.result||(h.result={});d=j[b]||(j[b]={});d=d[e]||(d[e]=[]);d.push(Ext.apply({},g.modified,g.data))}});Ext.define("Ext.data.session.BatchVisitor",{map:null,constructor:function(a){this.batch=a},getBatch:function(g){var h=this.map,d=this.batch,i,b,c,a,e;if(h){if(!d){d=new Ext.data.Batch()}for(c in h){i=h[c];b=i.entity;e=b.getProxy();delete i.entity;for(a in i){a=e.createOperation(a,{records:i[a]});a.entityType=b;d.add(a)}}}if(d&&g!==false){d.sort()}return d},onDirtyRecord:function(a){var d=this,b=a.phantom?"create":(a.dropped?"destroy":"update"),c=a.$className,e=(d.map||(d.map={})),g=(e[c]||(e[c]={entity:a.self}));g=g[b]||(g[b]=[]);g.push(a)}});Ext.define("Ext.data.Session",{isSession:true,config:{schema:"default",parent:null,autoDestroy:true,crudProperties:{create:"C",read:"R",update:"U",drop:"D"}},destroyed:false,crudOperations:[{type:"R",entityMethod:"readEntities"},{type:"C",entityMethod:"createEntities"},{type:"U",entityMethod:"updateEntities"},{type:"D",entityMethod:"dropEntities"}],crudKeys:{C:1,R:1,U:1,D:1},constructor:function(a){var b=this;b.data={};b.matrices={};b.identifierCache={};b.recordCreator=b.recordCreator.bind(b);b.initConfig(a)},destroy:function(){var d=this,b=d.matrices,e=d.data,c,g,a,h;for(h in b){b[h].destroy()}for(c in e){g=e[c];for(h in g){a=g[h].record;if(a){a.$source=a.session=null}}}d.recordCreator=d.matrices=d.data=null;d.setSchema(null);d.callParent()},adopt:function(b){var d=this,c=b.associations,a;if(b.session!==d){b.session=d;d.add(b);if(c){for(a in c){c[a].adoptAssociated(b,d)}}}},commit:function(){var d=this.data,b=this.matrices,c,e,g,a;for(c in d){e=d[c];for(g in e){a=e[g].record;if(a){a.commit()}}}for(g in b){b[g].commit()}},createRecord:function(b,c){var d=b.$isClass?b:this.getSchema().getEntity(b),a=this.getParent(),e;if(c&&a){e=d.getIdFromData(c);if(a.peekRecord(d,e)){Ext.raise("A parent session already contains an entry for "+d.entityName+": "+e)}}return new d(c,this)},getChanges:function(){var a=new Ext.data.session.ChangesVisitor(this);this.visitData(a);return a.result},getChangesForParent:function(){var a=new Ext.data.session.ChildChangesVisitor(this);this.visitData(a);return a.result},getRecord:function(i,a,c){var h=this,b=i.isModel,g,d,j,e;if(b){b=i;a=i.id;i=i.self}g=h.peekRecord(i,a);if(!g){d=i.$isClass?i:h.getSchema().getEntity(i);j=h.getParent();if(j){e=j.peekRecord(d,a)}if(e){if(e.isLoading()){b=false}else{g=e.copy(undefined,h);g.$source=e}}if(!g){if(b){g=b;h.adopt(g)}else{g=d.createWithId(a,null,h);if(c!==false){g.load(Ext.isObject(c)?c:undefined)}}}}return g},getSaveBatch:function(a){var b=new Ext.data.session.BatchVisitor();this.visitData(b);return b.getBatch(a)},onInvalidAssociationEntity:function(a,b){Ext.raise("Unable to read association entity: "+this.getModelIdentifier(a,b))},onInvalidEntityCreate:function(a,b){Ext.raise("Cannot create, record already not exists: "+this.getModelIdentifier(a,b))},onInvalidEntityDrop:function(a,b){Ext.raise("Cannot drop, record does not exist: "+this.getModelIdentifier(a,b))},onInvalidEntityRead:function(a,b){Ext.raise("Cannot read, record already not exists: "+this.getModelIdentifier(a,b))},onInvalidEntityUpdate:function(a,c,b){if(b){Ext.raise("Cannot update, record dropped: "+this.getModelIdentifier(a,c))}else{Ext.raise("Cannot update, record does not exist: "+this.getModelIdentifier(a,c))}},peekRecord:function(e,i,a){var h=e.$isClass?e:this.getSchema().getEntity(e),c=h.entityName,g=this.data[c],b,d;g=g&&g[i];b=g&&g.record;if(!b&&a){d=this.getParent();b=d&&d.peekRecord(e,i,a)}return b||null},save:function(){var a=new Ext.data.session.ChildChangesVisitor(this);this.visitData(a);this.getParent().update(a.result)},spawn:function(){return new this.self({schema:this.getSchema(),parent:this})},update:function(k){var m=this,e=m.getSchema(),a=m.crudOperations,l=a.length,n=m.crudKeys,o,g,q,j,d,r,c,p,h,b;m.getSchema().processKeyChecks(true);for(o in k){g=e.getEntity(o);q=k[o];for(j=0;j<l;++j){d=a[j];r=q[d.type];if(r){m[d.entityMethod](g,r)}}}for(o in k){g=e.getEntity(o);c=g.associations;q=k[o];for(p in q){if(n[p]){continue}h=c[p];b=q[h.role];h.processUpdate(m,b)}}},privates:{add:function(b){var e=this,g=b.id,d=e.getEntry(b.self,g),c,a;d.record=b;e.registerReferences(b);c=b.associations;for(a in c){c[a].checkMembership(e,b)}},afterErase:function(a){this.evict(a)},applySchema:function(a){return Ext.data.schema.Schema.get(a)},createEntities:function(d,b){var a=b.length,c,e,g,h;for(c=0;c<a;++c){e=b[c];h=d.getIdFromData(e);g=this.peekRecord(d,h);if(!g){g=this.createRecord(d,e)}else{this.onInvalidEntityCreate(d,h)}g.phantom=true}},dropEntities:function(e,d){var b=d.length,c,g,h,a;if(b){a=Ext.isObject(d[0])}for(c=0;c<b;++c){h=d[c];if(a){h=e.getIdFromData(h)}g=this.peekRecord(e,h);if(g){g.drop()}else{this.onInvalidEntityDrop(e,h)}}},evict:function(a){var b=a.entityName,d=this.data[b],e=a.id,c;if(d){delete d[e]}},getEntityList:function(d,c){var a=c.length,b,h,g,e;for(b=0;b<a;++b){h=c[b];g=this.peekRecord(d,h);if(g){c[b]=g}else{e=true;c[b]=null;this.onInvalidAssociationEntity(d,h)}}if(e){c=Ext.Array.clean(c)}return c},getEntry:function(b,g){if(b.isModel){g=b.getId();b=b.self}var d=b.$isClass?b:this.getSchema().getEntity(b),a=d.entityName,e=this.data,c;c=e[a]||(e[a]={});c=c[g]||(c[g]={});return c},getRefs:function(d,c,i){var g=this.getEntry(d),e=g&&g.refs&&g.refs[c.role],h=i&&this.getParent(),j,a,b;if(h){j=h.getRefs(d,c);if(j){for(a in j){b=j[a];if((!e||!e[a])){this.getRecord(b.self,b.id)}}e=g&&g.refs&&g.refs[c.role]}}return e||null},getIdentifier:function(g){var e=this.getParent(),a,c,d,b;if(e){b=e.getIdentifier(g)}else{a=this.identifierCache;c=g.identifier;d=c.id||g.entityName;b=a[d];if(!b){if(c.clone){b=c.clone({cache:a})}else{b=c}a[d]=b}}return b},getMatrix:function(a,e){var d=a.isManyToMany?a.name:a,c=this.matrices,b;b=c[d];if(!b&&!e){b=c[d]=new Ext.data.matrix.Matrix(this,a)}return b||null},getMatrixSlice:function(d,c){var a=this.getMatrix(d.association),b=a[d.side];return b.get(c)},getModelIdentifier:function(a,b){return b+"@"+a.entityName},onIdChanged:function(g,m,i){var r=this,b=r.matrices,j=g.entityName,n=g.id,u=r.data[j],c=u[m],q=g.associations,d=c.refs,a=r._setNoRefs,h,e,p,k,t,l,o,s;delete u[m];u[i]=c;for(s in b){b[s].updateId(g,m,i)}if(d){for(l in d){o=d[l];t=q[l];h=t.association;if(!h.isManyToMany){e=h.field.name;for(k in o){o[k].set(e,n,a)}}}}r.registerReferences(g,m)},processManyBlock:function(d,e,h,b){var i=this,a,g,c,j;if(h){for(a in h){g=i.peekRecord(d,a);if(g){c=i.getEntityList(e.cls,h[a]);j=e.getAssociatedItem(g);i[b](e,j,g,c)}else{i.onInvalidAssociationEntity(d,a)}}}},processManyCreate:function(d,c,a,b){if(c){c.add(b)}else{a[d.getterName](null,null,b)}},processManyDrop:function(d,c,a,b){if(c){c.remove(b)}},processManyRead:function(d,c,a,b){if(c){c.setRecords(b)}else{a[d.getterName](null,null,b)}},readEntities:function(d,b){var a=b.length,c,e,g,h;for(c=0;c<a;++c){e=b[c];h=d.getIdFromData(e);g=this.peekRecord(d,h);if(!g){g=this.createRecord(d,e)}else{this.onInvalidEntityRead(d,h)}g.phantom=false}},recordCreator:function(c,d){var b=this,e=d.getIdFromData(c),a=b.peekRecord(d,e,true);if(!a){a=new d(c,b)}else{a=b.getRecord(d,e)}return a},registerReferences:function(j,c){var m=j.entityName,b=j.id,a=j.data,h=c||c===0,n,g,p,k,d,o,l,e;k=(o=j.references).length;for(g=0;g<k;++g){d=o[g];p=a[d.name];if(p||p===0){d=d.reference;m=d.type;e=d.inverse.role;n=this.getEntry(d.cls,p);l=n.refs||(n.refs={});l=l[e]||(l[e]={});l[b]=j;if(h){delete l[c]}}}},updateEntities:function(e,b){var a=b.length,d,g,h,j,c;if(Ext.isArray(b)){for(d=0;d<a;++d){g=b[d];j=e.getIdFromData(g);h=this.peekRecord(e,j);if(h){h.set(g)}else{this.onInvalidEntityUpdate(e,j)}}}else{for(j in b){g=b[j];h=this.peekRecord(e,j);if(h&&!h.dropped){c=h.set(g)}else{this.onInvalidEntityUpdate(e,j,!!h)}}}},updateReference:function(g,i,c,a){var d=i.reference,j=d.type,e=d.inverse.role,b=g.id,k,h;if(a||a===0){h=this.getEntry(j,a).refs[e];delete h[b]}if(c||c===0){k=this.getEntry(j,c);h=k.refs||(k.refs={});h=h[e]||(h[e]={});h[b]=g}},visitData:function(h){var j=this,e=j.data,n=j.matrices,m,i,c,p,k,d,b,g,l,o,a;j.getSchema().processKeyChecks(true);for(b in e){m=e[b];for(c in m){g=m[c].record;if(g){if(g.phantom||g.dirty||g.dropped){if(h.onDirtyRecord){h.onDirtyRecord(g)}}else{if(h.onCleanRecord){h.onCleanRecord(g)}}}}}if(h.onMatrixChange){for(b in n){k=n[b].left;o=k.slices;i=k.role.association;for(c in o){l=o[c];d=l.members;for(p in d){a=(g=d[p])[2];if(a){h.onMatrixChange(i,g[0],g[1],a)}}}}}return h},_setNoRefs:{refs:false}}});Ext.define("Ext.util.Schedulable",{"abstract":true,isSchedulable:true,scheduled:false,constructor:function(){this.getScheduler().add(this)},destroy:function(){var b=this,a=b.getScheduler();if(a){a.remove(b)}b.scheduler=null;b.schedule=b.react=Ext.emptyFn;b.callParent()},getFullName:function(){return this.name||this.id},privates:{getScheduler:function(){return this.scheduler},schedule:function(){var b=this,a;if(!b.scheduled){a=b.getScheduler();if(a){b.scheduled=true;if(b.onSchedule){b.onSchedule()}a.scheduleItem(b)}}},unschedule:function(){var b=this,a;if(b.scheduled){a=b.getScheduler();if(a){a.unscheduleItem(b)}b.scheduled=false}},sort:function(){}}});Ext.define("Ext.app.bind.BaseBinding",{extend:Ext.util.Schedulable,calls:0,kind:20,defaultOptions:{},lastValue:undefined,constructor:function(a,e,c,b){var d=this;d.options=b;d.owner=a;d.scope=c;d.callback=e;d.lateBound=Ext.isString(e);if(b&&b.deep){d.deep=true}d.callParent()},destroy:function(){var b=this,a=b.owner;b.callParent();if(a){a.onBindDestroy(b)}b.scope=b.callback=b.owner=null},isReadOnly:function(){return true},privates:{getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},getSession:function(){var a=this.owner;return a.isSession?a:a.getSession()},notify:function(d){var c=this,a=c.options||c.defaultOptions,b=c.lastValue;if(!c.calls||c.deep||b!==d||Ext.isArray(d)){++c.calls;c.lastValue=d;if(c.lateBound){c.scope[c.callback](d,b,c)}else{c.callback.call(c.scope,d,b,c)}if(a.single){c.destroy()}}}}});Ext.define("Ext.app.bind.Binding",{extend:Ext.app.bind.BaseBinding,constructor:function(d,e,b,a){var c=this;c.callParent([d.owner,e,b,a]);c.stub=d;c.depth=d.depth;if(!d.isLoading()&&!d.scheduled){c.schedule()}},destroy:function(c){var a=this,b=a.stub;if(b&&!c){b.unbind(a);a.stub=null}a.callParent()},bindValidation:function(c,a){var b=this.stub;return b&&b.bindValidation(c,a)},bindValidationField:function(c,a){var b=this.stub;return b&&b.bindValidationField(c,a)},getFullName:function(){return this.fullName||(this.fullName="@("+this.stub.getFullName()+")")},getValue:function(){var b=this,c=b.stub,a=c&&c.getValue();if(b.transform){a=b.transform(a)}return a},isLoading:function(){var a=this.stub;return a&&a.isLoading()},isReadOnly:function(){var b=this.stub,a=this.options;if(!(a&&a.twoWay===false)){if(b){return b.isReadOnly()}}return true},refresh:function(){},setValue:function(a){this.stub.set(a)},privates:{getDataObject:function(){var a=this.stub;return a&&a.getDataObject()},getRawValue:function(){var b=this,c=b.stub,a=c&&c.getRawValue();if(b.transform){a=b.transform(a)}return a},isDescendantOf:function(a){var b=this.stub;return b?(a===b)||b.isDescendantOf(a):false},react:function(){this.notify(this.getValue())},schedule:function(){if(!this.stub.scheduled){this.callParent()}},sort:function(){var a=this.stub;a.scheduler.sortItem(a)}}});Ext.define("Ext.app.bind.AbstractStub",{extend:Ext.util.Schedulable,children:null,depth:0,generation:1,kind:10,parent:null,constructor:function(a,b){var c=this;c.owner=a;c.name=b;c.callParent()},destroy:function(){var e=this,d=e.children,g=e.bindings,a,c,b;if(g){for(c=0,a=g.length;c<a;++c){g[c].destroy(true)}}for(b in d){d[b].destroy()}e.callParent();e.bindings=e.children=e.owner=null},add:function(b){var a=this;(a.children||(a.children={}))[b.name]=b;b.depth=a.depth+1;b.parent=a},getChild:function(b){var a=Ext.isString(b)?b.split("."):b;if(a&&a.length){return this.descend(a,0)}return this},getFullName:function(){var d=this,a=d.fullName,c=d.parent,b;if(!a){a=d.name||d.id;if(c&&(b=c.getFullName())){a=((b.charAt(b.length-1)!==":")?b+".":b)+a}d.fullName=a}return a},getSession:function(){var a=this.owner;return a.isSession?a:a.getSession()},bind:function(g,b,a){var c=this,d=new Ext.app.bind.Binding(c,g,b,a),e=(c.bindings||(c.bindings=[]));d.depth=c.depth;e.push(d);return d},getValue:function(){return this.isLoading()?null:this.getRawValue()},graft:function(c){var d=this,e=d.bindings,a=d.name,b;d.parent=d.bindings=null;d.destroy();c.depth=d.depth;c.bindings=e;c.generation=d.generation+1;c.name=a;c.id=d.id;c.path=d.path;if(e){for(b=e.length;b-->0;){e[b].stub=c}}return c},isDescendantOf:function(b){for(var a=this;a=a.parent;){if(a===b){return true}}return false},onSchedule:function(){for(var b,a,d,e,c=this.parent;c;c=c.parent){e=c.bindings;if(e){for(b=0,a=e.length;b<a;++b){d=e[b];if(d.deep&&!d.scheduled){d.schedule()}}}}},react:function(){var d=this.bindings,c,b,a;if(d){for(b=0,a=d.length;b<a;++b){c=d[b];if(!c.scheduled){c.schedule()}}}},unbind:function(a){var b=this.bindings;if(b&&b.length){Ext.Array.remove(b,a)}},privates:{collect:function(){var c=this.children,g=this.bindings,a=0,d=0,e,b;if(c){for(b in c){e=c[b];d=e.collect();if(d===0){e.destroy();delete c[b]}a+=d}}if(g){a+=g.length}return a},getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},sort:function(){var a=this.parent;if(a){this.scheduler.sortItem(a)}}}});Ext.define("Ext.app.bind.Stub",{extend:Ext.app.bind.AbstractStub,isStub:true,dirty:true,formula:null,validationKey:"validation",statics:{trackHadValue:function(e,a,h,g){var c=g&&g.children,i,b,d;d=e!==undefined;if(!a.hadValue[h]){a.hadValue[h]=d}if(g){g.hadValue=d}if(e&&(e.constructor===Object||e.isModel)){if(e.isModel){e=e.data}for(b in e){Ext.app.bind.Stub.trackHadValue(e[b],a,h+"."+b,c&&c[b])}}}},constructor:function(a,b,c){var d=this,e=b;d.callParent([a,b]);d.boundValue=null;if(c){c.add(d);if(!c.isRootStub){e=c.path+"."+b}}d.hadValue=a.hadValue[e];d.path=e},destroy:function(){var c=this,d=c.formula,a=c.parent,b=c.storeBinding;if(d){d.destroy()}if(b){b.destroy()}c.detachBound();c.parentValue=c.formula=c.storeBinding=null;c.callParent()},bindValidation:function(c,b){var a=this.parent;return a&&a.descend([this.validationKey,this.name]).bind(c,b)},bindValidationField:function(g,d){var c=this.parent,b=this.name,e=typeof g==="string",a;if(c){a=c.bind(function(h){var i=null;if(h&&h.isModel){i=h.getField(b)}if(e){d[g](i,null,this)}else{g.call(d,i,null,this)}})}return a||null},descend:function(g,c){var e=this,d=e.children||(e.children={}),h=c||0,b=g[h++],a;if(!(a=d[b])){a=new Ext.app.bind.Stub(e.owner,b,e)}if(h<g.length){a=a.descend(g,h)}return a},getChildValue:function(a){var d=this,c=d.name,b;if(!a&&!Ext.isString(a)){b=d.hadValue?null:undefined}else{b=d.inspectValue(a);if(!b){if(a.isEntity){b=a.data[c]}else{b=a[c]}}}return b},getDataObject:function(){var g=this,b=g.parent.getDataObject(),d=g.name,c=b?b[d]:null,e,a;if(!c&&b&&b.isEntity){e=b.associations;if(e&&d in e){c=b[e[d].getterName]()}}if(!c||!(c.$className||Ext.isObject(c))){b[d]=c={};g.hadValue=g.owner.hadValue[g.path]=true;g.invalidate(true,true)}return c},getRawValue:function(){return this.getChildValue(this.getParentValue())},graft:function(e){var g=this,d=g.parent,c=g.children,a=g.name,b;e.parent=d;e.children=c;if(d){d.children[a]=e}if(c){for(b in c){c[b].parent=e}}g.children=null;return g.callParent([e])},isLoading:function(){var d=this,c=d.parent,h=false,b,g,e,a;if(c&&!(h=c.isLoading())){g=d.getParentValue();e=d.inspectValue(g);if(e){h=e.isLoading()}else{if(g&&g.isModel){b=g.associations;if(!(b&&d.name in b)){h=false;a=true}}if(!a){h=!d.hadValue&&d.getRawValue()===undefined}}}return h},invalidate:function(b,a){var e=this,d=e.children,c;e.dirty=true;if(!a&&!e.isLoading()){if(!e.scheduled){e.schedule()}}if(b&&d){for(c in d){d[c].invalidate(b,a)}}},isReadOnly:function(){var a=this.formula;return !!(a&&!a.set)},set:function(i){var h=this,j=h.parent,a=h.name,e=h.formula,g,c,b,d;if(e&&!e.settingValue&&e.set){e.setValue(i);return}else{if(h.isLinkStub){d=h.getLinkFormulaStub();e=d?d.formula:null;if(e){e.setValue(i);return}}}g=j.getDataObject();if(g.isEntity){c=g.associations;if(c&&(a in c)){b=c[a];g[b.setterName](i);h.invalidate(true)}else{g.set(a,i)}}else{if((i&&i.constructor===Object)||i!==g[a]){if(!h.setByLink(i)){if(i===undefined){delete g[a]}else{g[a]=i;Ext.app.bind.Stub.trackHadValue(i,h.owner,h.path,h)}h.inspectValue(g);h.invalidate(true)}}}},onStoreLoad:function(){this.invalidate(true)},afterLoad:function(a){this.invalidate(true)},afterCommit:function(a){this.afterEdit(a,null)},afterEdit:function(h,e){var c=this.children,j=e&&e.length,d=h.associations,k,g,b,a;if(c){if(j){for(g=0;g<j;++g){b=c[e[g]];if(b){b.invalidate()}}}else{for(k in c){if(!(d&&k in d)){c[k].invalidate()}}}}this.invalidate()},afterReject:function(a){this.afterEdit(a,null)},setByLink:function(d){var c=this,h=0,a,b,g,e;for(e=c;e;e=e.parent){if(e.isLinkStub){b=e;if(h){for(g=[],a=0,e=c;e!==b;e=e.parent){++a;g[h-a]=e.name}}break}++h}if(!b||!(e=b.getTargetStub())){return false}if(g){e=e.descend(g)}e.set(d);return true},setFormula:function(c){var a=this,b=a.formula;if(b){b.destroy()}a.formula=new Ext.app.bind.Formula(a,c)},react:function(){var c=this,b=this.boundValue,a=c.children,d;if(b){if(b.isValidation){b.refresh();d=b.generation;if(c.lastValidationGeneration===d){return}c.lastValidationGeneration=d}else{if(b.isModel){if(a&&a[c.validationKey]){b.isValid()}}else{if(b.isStore){if(b.isLoading()&&!b.loadCount){return}}}}}this.callParent()},privates:{collect:function(){var c=this,a=c.callParent(),b=c.storeBinding?1:0,d=c.formula?1:0;return a+b+d},getLinkFormulaStub:function(){var a=this;while(a.isLinkStub){a=a.binding.stub}return a.formula?a:null},getParentValue:function(){var a=this;if(a.dirty){a.parentValue=a.parent.getValue();a.dirty=false}return a.parentValue},setStore:function(a){this.storeBinding=a},inspectValue:function(h){var i=this,a=i.name,e=i.boundValue,b=null,c,j,d,g;if(h&&h.isEntity){c=h.associations;if(c&&(a in c)){b=h[c[a].getterName]();if(b&&b.isStore){b.$associatedStore=true}}else{if(a===i.validationKey){b=h.getValidation();i.lastValidationGeneration=null}}}else{if(h){j=h[a];if(j&&(j.isModel||j.isStore)){b=j}}}d=e!==b;if(d){if(e){i.detachBound()}if(b){if(b.isModel){b.join(i)}else{g=b.associatedEntity;if(g&&!g.phantom&&!b.complete&&!b.hasPendingLoad()){b.load()}b.on("load",i.onStoreLoad,i,{single:true})}}i.boundValue=b}return b},detachBound:function(){var a=this,b=a.boundValue;if(b){if(b.isModel){b.unjoin(a)}else{b.un("load",a.onStoreLoad,a)}}},sort:function(){var c=this,d=c.formula,a=c.scheduler,b=c.storeBinding;c.callParent();if(b){a.sortItem(b)}if(d){a.sortItem(d)}}}});Ext.define("Ext.app.bind.LinkStub",{extend:Ext.app.bind.Stub,isLinkStub:true,binding:null,destroy:function(){var b=this,c=b.binding,a=b.owner;if(c){b.binding=null;c.destroy();if(a){delete a.linkData[b.name]}}b.target=null;b.callParent()},getFullName:function(){var a=this;return a.fullName||(a.fullName="("+a.callParent()+" -> "+a.binding.getFullName()+")")},getDataObject:function(){var a=this.binding;return a&&a.getDataObject()},getRawValue:function(){var a=this.binding;return a&&a.getRawValue()},getValue:function(){var a=this.binding;return a&&a.getValue()},getTargetStub:function(){var a=this.binding;return a&&a.stub},isLoading:function(){var a=this.binding;return a?a.isLoading():false},link:function(d,b){var a=this,c=a.binding;if(c){c.destroy()}b=a.target=b||a.owner;a.linkDescriptor=d;a.binding=b.bind(d,a.onChange,a);a.binding.deep=true},onChange:function(){this.invalidate(true)},react:function(){var b=this,a=b.owner.linkData;a[b.name]=b.getValue();b.callParent()},privates:{collect:function(){var b=this,a=b.callParent(),c=b.binding?1:0;return a+c},sort:function(){var a=this.binding;if(a){this.scheduler.sortItem(a)}}}});Ext.define("Ext.app.bind.RootStub",{extend:Ext.app.bind.AbstractStub,isRootStub:true,depth:0,createRootChild:function(a,e){var j=this,b=j.owner,g=b.getData(),c=j.children,i=c&&c[a],h=i?null:j,k,d;if(e||g.hasOwnProperty(a)||!(k=b.getParent())){d=new Ext.app.bind.Stub(b,a,h)}else{d=new Ext.app.bind.LinkStub(b,a,i?null:h);d.link("{"+a+"}",k)}if(i){i.graft(d)}return d},createStubChild:function(a){return this.createRootChild(a,true)},descend:function(g,c){var e=this,d=e.children,h=c||0,b=g[h++],a=(d&&d[b])||e.createRootChild(b);if(h<g.length){a=a.descend(g,h)}return a},getFullName:function(){return this.fullName||(this.fullName=this.owner.id+":")},getDataObject:function(){return this.owner.data},getRawValue:function(){return this.owner.data},getValue:function(){return this.owner.data},isDescendantOf:function(){return false},isLoading:function(){return false},set:function(h){var g=this,b=g.children||(g.children={}),a=g.owner,d=a.data,k=a.getParent(),e,c,j,i;for(i in h){if((j=h[i])!==undefined){if(!(c=b[i])){c=new Ext.app.bind.Stub(a,i,g)}else{if(c.isLinkStub){if(!c.getLinkFormulaStub()){e=c;c=new Ext.app.bind.Stub(a,i);e.graft(c)}}}c.set(j)}else{if(d.hasOwnProperty(i)){delete d[i];c=b[i];if(c&&!c.isLinkStub&&k){c=g.createRootChild(i)}c.invalidate(true)}}}},schedule:Ext.emptyFn,unschedule:Ext.emptyFn});Ext.define("Ext.app.bind.Multi",{extend:Ext.app.bind.BaseBinding,isMultiBinding:true,missing:1,deep:true,constructor:function(e,a,h,c,b){var d=this,g=b&&b.trackStatics;d.callParent([a,h,c,b]);d.bindings=[];d.literal=e.$literal;if(e.constructor===Object){if(g){d.staticKeys=[]}d.addObject(e,d.lastValue={},d.staticKeys)}else{d.addArray(e,d.lastValue=[])}if(!--d.missing&&!d.scheduled){d.schedule()}},destroy:function(){var a=this;a.bindings=Ext.destroy(a.bindings);a.callParent()},add:function(b,g,j){var i=this,d=i.owner,c=i.bindings,a=i.literal?(b.reference?"bindEntity":"bindExpression"):"bind",h,e;++i.missing;h=d[a](b,function(k){g[j]=k;if(h.calls===1){--i.missing}if(!i.missing&&!i.scheduled){i.schedule()}},i,null);e=h.depth;if(!c.length||e<i.depth){i.depth=e}c.push(h);return !this.isBindingStatic(h)},addArray:function(c,k){var g=this,j=c.length,d=false,h,a,e;for(e=0;e<j;++e){a=c[e];if(a&&(a.reference||Ext.isString(a))){h=g.add(a,k,e)}else{if(Ext.isArray(a)){h=g.addArray(a,k[e]=[])}else{if(a&&a.constructor===Object){h=g.addObject(a,k[e]={})}else{k[e]=a;h=false}}}d=d||h}return d},addObject:function(c,g,i){var h=this,e=false,j,a,d;for(d in c){a=c[d];if(a&&(a.reference||Ext.isString(a))){j=h.add(a,g,d)}else{if(Ext.isArray(a)){j=h.addArray(a,g[d]=[])}else{if(a&&a.constructor===Object){j=h.addObject(a,g[d]={})}else{g[d]=a;j=false}}}if(i&&!j){i.push(d)}e=e||j}return e},getFullName:function(){var c=this,d=c.fullName,e=c.bindings,b=e.length,a;if(!d){d="@[";for(a=0;a<b;++a){if(a){d+=","}d+=e[a].getFullName()}d+="]";c.fullName=d}return d},getRawValue:function(){return this.lastValue},isDescendantOf:function(){return false},isLoading:function(){for(var b=this.bindings,a=b.length;a-->0;){if(b[a].isLoading()){return true}}return false},isBindingStatic:function(a){return a.isTemplateBinding&&a.isStatic},isStatic:function(){var d=this.bindings,a=d.length,b,c;for(b=0;b<a;++b){c=d[b];if(!this.isBindingStatic(c)){return false}}return true},pruneStaticKeys:function(){var d=Ext.apply({},this.lastValue),c=this.staticKeys,a=c.length,b;for(b=0;b<a;++b){delete d[c[b]]}return d},react:function(){this.notify(this.lastValue)},refresh:function(){},privates:{sort:function(){this.scheduler.sortItems(this.bindings)}}});Ext.define("Ext.app.bind.Formula",{extend:Ext.util.Schedulable,statics:{getFormulaParser:function(b){var a=this.formulaCache,d,c;if(!a){a=this.formulaCache=new Ext.util.LruCache({maxSize:20})}d=a.get(b);if(!d){c="[^\\.a-z0-9_]"+b+"\\(\\s*(['\"])(.*?)\\1\\s*\\)";d=new RegExp(c,"gi");a.add(b,d)}return d}},isFormula:true,calculation:null,explicit:false,set:null,single:false,argumentNamesRe:/^function\s*\(\s*([^,\)\s]+)/,constructor:function(h,i){var g=this,b=h.owner,d,e,a,c;g.owner=b;g.stub=h;g.callParent();if(i instanceof Function){g.get=a=i}else{g.get=a=i.get;g.set=i.set;e=i.bind;if(i.single){g.single=i.single}if(e){d=e.bindTo;if(d){c=Ext.apply({},e);delete c.bindTo;e=d}}}if(e){g.explicit=true}else{e=a.$expressions||g.parseFormula(a)}g.binding=b.bind(e,g.onChange,g,c)},destroy:function(){var a=this,c=a.binding,b=a.stub;if(c){c.destroy();a.binding=null}if(b){b.formula=null}a.callParent();a.getterFn=a.owner=null},getFullName:function(){return this.fullName||(this.fullName=this.stub.getFullName()+"="+this.callParent()+")")},getRawValue:function(){return this.calculation},onChange:function(){if(!this.scheduled){this.schedule()}},parseFormula:function(h){var g=h.toString(),d={$literal:true},c,b,a,e;c=this.argumentNamesRe.exec(g);b=c?c[1]:"get";a=Ext.app.bind.Formula.getFormulaParser(b);while((c=a.exec(g))){e=c[2];d[e]=e}d.$literal=true;h.$expressions=d;return d},react:function(){var c=this,b=c.owner,d=c.binding.lastValue,e=c.getterFn,a;if(c.explicit){a=d}else{a=b.getFormulaFn(d)}c.settingValue=true;c.stub.set(c.calculation=c.get.call(b,a));c.settingValue=false;if(c.single){c.destroy()}},setValue:function(a){this.set.call(this.stub.owner,a)},privates:{getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},sort:function(){var a=this,b=a.binding;if(!b.destroyed){a.scheduler.sortItem(b)}}}});Ext.define("Ext.app.bind.Template",{numberRe:/^(?:\d+(?:\.\d*)?)$/,stringRe:/^(?:["][^"]*["])$/,tokenRe:/\{[!]?(?:(?:(\d+)|([a-z_][\w\-\.]*))(?::([a-z_\.]+)(?:\(([^\)]*?)?\))?)?)\}/gi,formatRe:/^([a-z_]+)(?:\(([^\)]*?)?\))?$/i,buffer:null,slots:null,tokens:null,constructor:function(d){var c=this,b=c._initters,a;c.text=d;for(a in b){c[a]=b[a]}},_initters:{apply:function(a,b){return this.parse().apply(a,b)},getTokens:function(){return this.parse().getTokens()}},apply:function(j,k){var e=this,d=e.slots,b=e.buffer,a=d.length,c,h,g;for(c=0;c<a;++c){h=d[c];if(h){if((g=j[h.pos])==null){g=""}if(h.not){g=!g}if(h.format){g=h.format(g,k)}b[c]=g}}return b.join("")},getTokens:function(){return this.tokens},parse:function(){var l=this,q=l.text,e=[],j=[],k=[],p={},o=0,d=l.tokenRe,m=0,b,g,a,h,r,n,c;for(g in l._initters){delete l[g]}l.buffer=e;l.slots=j;l.tokens=k;while((h=d.exec(q))){a=h.index-o;if(a){e[m++]=q.substring(o,o+a);o+=a}o+=(r=h[0]).length;n={fmt:(b=h[3]||null),index:h[1]?parseInt(h[1],10):null,not:r.charAt(1)==="!",token:h[2]||null};c=n.token||String(n.index);if(c in p){n.pos=p[c]}else{p[c]=n.pos=k.length;k.push(c)}if(b){if(b.substring(0,5)==="this."){n.fmt=b.substring(5)}else{n.scope=Ext.util.Format}l.parseArgs(h[4],n)}j[m++]=n}if(o<q.length){e[m++]=q.substring(o)}return l},parseArgs:function(g,h){var e=this,b=e.numberRe,j=e.stringRe,k,d,c,a;if(!g){d=[]}else{if(g.indexOf(",")<0){d=[g]}else{d=g.split(",")}}h=h||{};a=d.length;h.args=d;for(c=0;c<a;++c){k=d[c];if(k==="true"){d[c]=true}else{if(k==="false"){d[c]=false}else{if(k==="null"){d[c]=null}else{if(b.test(k)){d[c]=parseFloat(k)}else{if(j.test(k)){d[c]=k.substring(1,k.length-1)}else{h.fn=Ext.functionFactory("return ["+g+"];");h.format=e._formatEval;break}}}}}}if(!h.format){d.unshift(0);h.format=e._formatArgs}return h},parseFormat:function(a){var d=this,c=d.formatRe.exec(a),e={fmt:a,scope:Ext.util.Format},b;b=c[2];if(b){e.fmt=c[1];d.parseArgs(b,e)}else{e.args=[0];e.format=d._formatArgs}return e},_formatArgs:function(b,a){a=this.scope||a;this.args[0]=b;return a[this.fmt].apply(a,this.args)},_formatEval:function(c,b){var a=this.fn();a.unshift(c);b=this.scope||b;return b[this.fmt].apply(b,a)}});Ext.define("Ext.app.bind.TemplateBinding",{extend:Ext.app.bind.BaseBinding,isTemplateBinding:true,lastValue:undefined,value:undefined,constructor:function(e,a,i,d,c){var g=this,b=new Ext.app.bind.Template(e),h=b.getTokens();g.callParent([a,i,d,c]);g.tpl=b;g.tokens=h;h.$literal=true;if(h.length){g.multiBinding=new Ext.app.bind.Multi(h,a,g.onBindData,g)}else{g.isStatic=true;g.onData(b.text)}},destroy:function(){var a=this;Ext.destroy(a.multiBinding);a.tpl=a.multiBinding=null;a.callParent()},getFullName:function(){var a=this.multiBinding;return this.fullName||(this.fullName="$"+(a?a.getFullName():this.callParent()))},getRawValue:function(){return this.value},getTemplateScope:function(){return null},isDescendantOf:function(){return false},isLoading:function(){var a=this.multiBinding;return a?a.isLoading():false},onBindData:function(a){this.onData(this.tpl.apply(a,this.getTemplateScope()))},onData:function(c){var b=this,a=b.value;if(a!==(b.value=c)){b.lastValue=a;b.schedule()}},react:function(){this.notify(this.value)},refresh:function(){var a=this.multiBinding;if(a){a.refresh()}},privates:{sort:function(){var a=this.multiBinding;if(a){this.scheduler.sortItem(a)}}}});Ext.define("Ext.data.ChainedStore",{extend:Ext.data.AbstractStore,alias:"store.chained",config:{source:null,remoteFilter:false,remoteSort:false},mixins:[Ext.data.LocalStore],constructor:function(){this.callParent(arguments);this.getData().addObserver(this)},remove:function(){var a=this.getSource();return a.remove.apply(a,arguments)},removeAll:function(){var a=this.getSource();return a.removeAll()},getData:function(){var a=this,b=a.data;if(!b){a.data=b=a.constructDataCollection()}return b},getSession:function(){return this.getSource().getSession()},applySource:function(a){if(a){a=Ext.data.StoreManager.lookup(a)}return a},updateSource:function(d,b){var a=this,c;if(b){b.removeObserver(a)}if(d){c=a.getData();c.setSource(d.getData());if(!a.isInitializing){a.fireEvent("refresh",a);a.fireEvent("datachanged",a)}d.addObserver(a)}},getModel:function(){return this.getSource().getModel()},getProxy:function(){return null},onCollectionAdd:function(d,c){var b=this,a=c.items,e=!c.next;if(b.ignoreCollectionAdd){return}b.fireEvent("add",b,a,c.at);if(e){b.fireEvent("datachanged",b)}},onCollectionItemChange:function(g,e){var d=this,a=e.item,c=e.modified||null,b=e.meta;d.onUpdate(a,b,c,e);d.fireEvent("update",d,a,b,c,e)},onUpdate:Ext.emptyFn,onCollectionRemove:function(d,c){var b=this,a=c.items,e=!c.next;if(b.ignoreCollectionRemove){return}b.fireEvent("remove",b,a,c.at,false);if(e){b.fireEvent("datachanged",b)}},onSourceBeforeLoad:function(b,a){this.fireEvent("beforeload",this,a)},onSourceAfterLoad:function(c,b,d,a){this.fireEvent("load",this,b,d,a)},onFilterEndUpdate:function(){this.callParent(arguments);this.callObservers("Filter")},onSourceBeforePopulate:function(){this.ignoreCollectionAdd=true;this.callObservers("BeforePopulate")},onSourceAfterPopulate:function(){var a=this;a.ignoreCollectionAdd=false;a.fireEvent("datachanged",a);a.fireEvent("refresh",a);this.callObservers("AfterPopulate")},onSourceBeforeClear:function(){this.ignoreCollectionRemove=true;this.callObservers("BeforeClear")},onSourceAfterClear:function(){this.ignoreCollectionRemove=false;this.callObservers("AfterClear")},onSourceBeforeRemoveAll:function(){this.ignoreCollectionRemove=true;this.callObservers("BeforeRemoveAll")},onSourceAfterRemoveAll:function(c,a){var b=this;b.ignoreCollectionRemove=false;if(!a){b.fireEvent("clear",b);b.fireEvent("datachanged",b)}this.callObservers("AfterRemoveAll",[a])},onSourceFilter:function(){var a=this;a.fireEvent("refresh",a);a.fireEvent("datachanged",a)},hasPendingLoad:function(){return this.getSource().hasPendingLoad()},isLoaded:function(){return this.getSource().isLoaded()},isLoading:function(){return this.getSource().isLoading()},onDestroy:function(){var a=this;a.observers=null;a.setSource(null);a.getData().destroy(true);a.data=null},privates:{isMoving:function(){var a=this.getSource();return a.isMoving?a.isMoving.apply(a,arguments):false},loadsSynchronously:function(){return this.getSource().loadsSynchronously()}}});Ext.define("Ext.app.ViewModel",{mixins:[Ext.mixin.Factoryable,Ext.mixin.Identifiable],alias:"viewmodel.default",isViewModel:true,factoryConfig:{name:"viewModel"},collectTimeout:100,expressionRe:/^(?:\{[!]?(?:(\d+)|([a-z_][\w\-\.]*))\})$/i,$configStrict:false,config:{data:true,formulas:{$value:null,merge:function(d,a,c,b){return this.mergeNew(d,a,c,b)}},links:null,parent:null,root:true,scheduler:null,schema:"default",session:null,stores:null,view:null},constructor:function(a){this.hadValue={};this.bindings={};this.initConfig(a)},destroy:function(){var g=this,d=g._scheduler,k=g.storeInfo,i=g.getParent(),c=g.collectTask,b=g.children,a=g.bindings,j,h,e;g.destroying=true;if(c){c.cancel();g.collectTask=null}if(b){for(j in b){b[j].destroy()}}if(k){for(j in k){h=k[j];e=h.autoDestroy;if(e||(!h.$wasInstance&&e!==false)){h.destroy()}Ext.destroy(h.$binding)}}if(i){i.unregisterChild(g)}g.getRoot().destroy();for(j in a){a[j].destroy()}if(d&&d.$owner===g){d.$owner=null;d.destroy()}g.hadValue=g.children=g.storeInfo=g._session=g._view=g._scheduler=g.bindings=g._root=g._parent=g.formulaFn=g.$formulaData=null;g.destroying=false;g.callParent()},bind:function(e,h,c,b){var d=this,g,a;c=c||d;if(!b&&e.bindTo!==undefined&&!Ext.isString(e)){b=e;e=b.bindTo}if(!Ext.isString(e)){g=new Ext.app.bind.Multi(e,d,h,c,b);a=true}else{if(d.expressionRe.test(e)){e=e.substring(1,e.length-1);g=d.bindExpression(e,h,c,b)}else{g=new Ext.app.bind.TemplateBinding(e,d,h,c,b);a=true}}if(a){d.bindings[g.id]=g}return g},getSession:function(){var b=this,c=b._session,a;if(!c&&(a=b.getParent())){b.setSession(c=a.getSession())}return c||null},getStore:function(b){var c=this.storeInfo,a;if(c){a=c[b]}return a||null},linkTo:function(j,d){var i=this,c,g,a,b,h,e;if(d.isModel){d={type:d.entityName,id:d.id}}b=d.type||d.reference;g=d.create;if(b){a=d.id;if(g){a=undefined}e=i.getRecord(b,a);if(Ext.isObject(g)){e.set(g);e.commit();e.phantom=true}c=i.getRoot().createStubChild(j);c.set(e)}else{c=i.getStub(j);if(!c.isLinkStub){h=new Ext.app.bind.LinkStub(i,c.name);c.graft(h);c=h}c.link(d)}},notify:function(){this.getScheduler().notify()},get:function(a){return this.getStub(a).getValue()},set:function(e,b){var a=this,d,c;a.getData();if(b===undefined&&e&&e.constructor===Object){c=a.getRoot();b=e}else{if(e&&e.indexOf(".")<0){d={};d[e]=b;b=d;c=a.getRoot()}else{c=a.getStub(e)}}c.set(b)},privates:{registerChild:function(b){var a=this.children;if(!a){this.children=a={}}a[b.getId()]=b},unregisterChild:function(b){var a=this.children;if(!this.destroying&&a){delete a[b.getId()]}},getRecord:function(b,g){var d=this.getSession(),e=b,c=g!==undefined,a;if(d){if(c){a=d.getRecord(b,g)}else{a=d.createRecord(b)}}else{if(!e.$isClass){e=this.getSchema().getEntity(e)}if(c){a=e.createWithId(g);a.load()}else{a=new e()}}return a},notFn:function(a){return !a},bindExpression:function(b,g,h,j){var a=b.charAt(0),d=(a==="!"),i=d?b.substring(1):b,c=this.getStub(i),e;e=c.bind(g,h,j);if(d){e.transform=this.notFn}return e},applyScheduler:function(a){if(a&&!a.isInstance){a=new Ext.util.Scheduler(a);a.$owner=this}return a},getScheduler:function(){var c=this,a=c._scheduler,b;if(!a){if(!(b=c.getParent())){a=new Ext.util.Scheduler({preSort:"kind,-depth"});a.$owner=c}else{a=b.getScheduler()}c.setScheduler(a)}return a},getStub:function(b){var a=this.getRoot();return b?a.getChild(b):a},collect:function(){var c=this,b=c.getParent(),a=c.collectTask;if(b){b.collect();return}if(!a){a=c.collectTask=new Ext.util.DelayedTask(c.doCollect,c)}if(c.collectTimeout===0){c.doCollect()}else{a.delay(c.collectTimeout)}},doCollect:function(){var b=this.children,a;if(b){for(a in b){b[a].doCollect()}}this.getRoot().collect()},onBindDestroy:function(d,a){var c=this,b;if(c.destroying){return}if(!a){delete c.bindings[d.id]}b=c.getParent();if(b){b.onBindDestroy(d,true)}else{c.collect()}},applyData:function(c,e){var d=this,a,b;d.getSession();if(!e){b=d.getParent();d.linkData=a=b?Ext.Object.chain(b.getData()):{};d.data=d._data=Ext.Object.chain(a)}if(c&&c.constructor===Object){d.getRoot().set(c)}},applyParent:function(a){if(a){a.registerChild(this)}return a},applyStores:function(j){var d=this,g=d.getRoot(),i,c,a,b,e,h;d.storeInfo={};d.listenerScopeFn=function(){return d.getView().getInheritedConfig("defaultListenerScope")};for(i in j){c=j[i];if(c.isStore){c.$wasInstance=true;d.setupStore(c,i);continue}else{if(Ext.isString(c)){c={source:c}}else{c=Ext.apply({},c)}}e=c.listeners;delete c.listeners;a=d.bind(c,d.onStoreBind,d,{trackStatics:true});if(a.isStatic()){a.destroy();d.createStore(i,c,e)}else{a.$storeKey=i;a.$listeners=e;b=g.createStubChild(i);b.setStore(a)}}},onStoreBind:function(a,c,h){var g=this.storeInfo,e=h.$storeKey,b=g[e],d;if(!b){this.createStore(e,a,h.$listeners,h)}else{a=Ext.merge({},h.pruneStaticKeys());d=a.proxy;delete a.type;delete a.model;delete a.fields;delete a.proxy;delete a.listeners;if(d){delete d.reader;delete d.writer;b.getProxy().setConfig(d)}b.setConfig(a)}},createStore:function(c,a,d,g){var e=this.getSession(),b;a=Ext.apply({},a);if(a.session){a.session=e}if(a.source){a.type=a.type||"chained"}a.listeners=d;b=Ext.Factory.store(a);b.$binding=g;this.setupStore(b,c)},setupStore:function(a,b){a.resolveListenerScope=this.listenerScopeFn;this.storeInfo[b]=a;this.set(b,a)},applyFormulas:function(c){var d=this,a=d.getRoot(),b,e;d.getData();for(b in c){a.createStubChild(b);e=d.getStub(b);e.setFormula(c[b])}return c},applyLinks:function(a){for(var b in a){this.linkTo(b,a[b])}},applySchema:function(a){return Ext.data.schema.Schema.get(a)},applyRoot:function(){var a=new Ext.app.bind.RootStub(this),b=this.getParent();if(b){a.depth=b.getRoot().depth-1000}return a},getFormulaFn:function(c){var b=this,a=b.formulaFn;if(!a){a=b.formulaFn=function(d){return b.$formulaData[d]}}b.$formulaData=c;return a}}});Ext.define("Ext.app.domain.Controller",{extend:Ext.app.EventDomain,singleton:true,type:"controller",prefix:"controller.",idMatchRe:/^\#/,constructor:function(){var a=this;a.callParent();a.monitor(Ext.app.BaseController)},match:function(d,b){var a=false,c=d.alias;if(b==="*"){a=true}else{if(b==="#"){a=!!d.isApplication}else{if(this.idMatchRe.test(b)){a=d.getId()===b.substring(1)}else{if(c){a=Ext.Array.indexOf(c,this.prefix+b)>-1}}}}return a}});Ext.define("Ext.direct.Manager",{singleton:true,mixins:[Ext.mixin.Observable],exceptions:{TRANSPORT:"xhr",PARSE:"parse",DATA:"data",LOGIN:"login",SERVER:"exception"},providerClasses:{},remotingMethods:{},config:{varName:"Ext.REMOTING_API"},apiNotFoundError:"Ext Direct API was not found at {0}",constructor:function(){var a=this;a.mixins.observable.constructor.call(a);a.transactions=new Ext.util.MixedCollection();a.providers=new Ext.util.MixedCollection()},addProvider:function(g){var d=this,b=arguments,e=d.relayers||(d.relayers={}),c,a;if(b.length>1){for(c=0,a=b.length;c<a;++c){d.addProvider(b[c])}return}if(!g.isProvider){g=Ext.create("direct."+g.type+"provider",g)}d.providers.add(g);g.on("data",d.onProviderData,d);if(g.relayedEvents){e[g.id]=d.relayEvents(g,g.relayedEvents)}if(!g.isConnected()){g.connect()}return g},loadProvider:function(b,l,m){var h=this,c=h.providerClasses,j,a,d,k,e,g;if(Ext.isArray(b)){for(e=0,g=b.length;e<g;e++){h.loadProvider(b[e],l,m)}return}j=b.type;a=b.url;if(c[j]&&c[j].checkConfig(b)){k=h.addProvider(b);h.fireEventArgs("providerload",[a,k]);Ext.callback(l,m,[a,k]);return}d=b.varName||h.getVarName();delete b.varName;delete b.url;Ext.Loader.loadScript({url:a,scope:h,onLoad:function(){this.onApiLoadSuccess({url:a,varName:d,config:b,callback:l,scope:m})},onError:function(){this.onApiLoadFailure({url:a,callback:l,scope:m})}})},getProvider:function(a){return a.isProvider?a:this.providers.get(a)},removeProvider:function(d){var b=this,a=b.providers,c=b.relayers,e;d=d.isProvider?d:a.get(d);if(d){d.un("data",b.onProviderData,b);e=d.id;if(c[e]){c[e].destroy();delete c[e]}a.remove(d);return d}return null},addTransaction:function(a){this.transactions.add(a);return a},removeTransaction:function(b){var a=this;b=a.getTransaction(b);a.transactions.remove(b);return b},getTransaction:function(a){return typeof a==="object"?a:this.transactions.get(a)},onProviderData:function(e,d){var c=this,b,a;if(Ext.isArray(d)){for(b=0,a=d.length;b<a;++b){c.onProviderData(e,d[b])}return}if(d.name&&d.name!=="event"&&d.name!=="exception"){c.fireEvent(d.name,d)}else{if(d.status===false){c.fireEvent("exception",d)}}c.fireEvent("event",d,e)},parseMethod:function(d){var g=Ext.global,c=0,b,e,a;if(Ext.isFunction(d)){b=d}else{if(Ext.isString(d)){b=this.remotingMethods[d];if(!b){e=d.split(".");a=e.length;while(g&&c<a){g=g[e[c]];++c}b=Ext.isFunction(g)?g:null}}}return b||null},privates:{addProviderClass:function(b,a){this.providerClasses[b]=a},onApiLoadSuccess:function(options){var me=this,url=options.url,varName=options.varName,api,provider,error;try{api=Ext.apply(options.config,eval(varName));provider=me.addProvider(api)}catch(e){error=e+""}if(error){me.fireEventArgs("providerloaderror",[url,error]);Ext.callback(options.callback,options.scope,[url,error])}else{me.fireEventArgs("providerload",[url,provider]);Ext.callback(options.callback,options.scope,[url,provider])}},onApiLoadFailure:function(c){var b=c.url,a;a=Ext.String.format(this.apiNotFoundError,b);this.fireEventArgs("providerloaderror",[b,a]);Ext.callback(c.callback,c.scope,[b,a])},registerMethod:function(a,b){this.remotingMethods[a]=b},clearAllMethods:function(){this.remotingMethods={}}}},function(){Ext.Direct=Ext.direct.Manager});Ext.define("Ext.direct.Provider",{alias:"direct.provider",mixins:[Ext.mixin.Observable],isProvider:true,subscribers:0,constructor:function(a){var b=this;Ext.apply(b,a);Ext.applyIf(b,{id:Ext.id(null,"provider-")});b.mixins.observable.constructor.call(b,a)},destroy:function(){var a=this;a.disconnect(true);a.callParent()},isConnected:function(){return this.subscribers>0},connect:function(){var a=this;if(a.subscribers===0){a.doConnect();a.fireEventArgs("connect",[a])}a.subscribers++},doConnect:Ext.emptyFn,disconnect:function(b){var a=this;if(a.subscribers>0){if(b){a.subscribers=0}else{a.subscribers--}if(a.subscribers===0){a.doDisconnect();a.fireEventArgs("disconnect",[a])}}},doDisconnect:Ext.emptyFn,inheritableStatics:{checkConfig:Ext.returnFalse},onClassExtended:function(b,c,a){if(c.type){Ext.direct.Manager.addProviderClass(c.type,b)}}});Ext.define("Ext.app.domain.Direct",{extend:Ext.app.EventDomain,singleton:true,type:"direct",idProperty:"id",constructor:function(){var a=this;a.callParent();a.monitor(Ext.direct.Provider)}});Ext.define("Ext.data.PageMap",{extend:Ext.util.LruCache,config:{store:null,pageSize:0,rootProperty:""},clear:function(a){var b=this;b.pageMapGeneration=(b.pageMapGeneration||0)+1;b.indexMap={};b.callParent([a])},forEach:function(l,n){var h=this,d=Ext.Object.getKeys(h.map),a=d.length,k=h.getPageSize(),c,b,m,g,e;for(c=0;c<a;c++){d[c]=+d[c]}Ext.Array.sort(d,Ext.Array.numericSortFn);n=n||h;for(c=0;c<a;c++){m=d[c];g=h.getPage(m);e=g.length;for(b=0;b<e;b++){if(l.call(n,g[b],(m-1)*k+b)===false){return}}}},findBy:function(c,b){var d=this,a=null;b=b||d;d.forEach(function(g,e){if(c.call(b,g,e)){a=g;return false}});return a},findIndexBy:function(c,b){var d=this,a=-1;b=b||d;d.forEach(function(g,e){if(c.call(b,g)){a=e;return false}});return a},find:function(h,g,i,d,c,b){if(Ext.isEmpty(g,false)){return null}var e=Ext.String.createRegex(g,d,c,b),a=this.getRootProperty();return this.findBy(function(j){return j&&e.test((a?j[a]:j)[h])},null,i)},findIndex:function(h,g,i,d,c,b){if(Ext.isEmpty(g,false)){return null}var e=Ext.String.createRegex(g,d,c,b),a=this.getRootProperty();return this.findIndexBy(function(j){return j&&e.test((a?j[a]:j)[h])},null,i)},getPageFromRecordIndex:function(a){return Math.floor(a/this.getPageSize())+1},addAll:function(a){this.addPage(1,a)},addPage:function(m,a){var k=this,l=k.getPageSize(),c=m+Math.floor((a.length-1)/l),j=(m-1)*l,g=k.indexMap,e,b,d,h;for(h=0;m<=c;m++,h+=l){e=Ext.Array.slice(a,h,h+l);for(b=0,d=e.length;b<d;b++){g[e[b].internalId]=j++}k.add(m,e);k.fireEvent("pageadd",k,m,e)}},getCount:function(){var a=this.callParent();if(a){a=(a-1)*this.getPageSize()+this.last.value.length}return a},getByInternalId:function(a){var b=this.indexMap[a];if(b!=null){return this.getAt(b)}},indexOf:function(b){var a=-1;if(b){a=this.indexMap[b.internalId];if(a==null){a=-1}}return a},insert:function(){},remove:function(){},removeAt:function(){},removeAtKey:function(g){var e=this,c=e.getPage(g),b,d,a;if(c){if(e.fireEvent("beforepageremove",e,g,c)!==false){b=c.length;for(d=0;d<b;d++){delete e.indexMap[c[d].internalId]}a=e.callParent(arguments);e.fireEvent("pageremove",e,g,c);c.length=0}}return a},getPage:function(a){return this.get(a)},hasRange:function(e,b){var c=this,a=c.getPageFromRecordIndex(e),d=c.getPageFromRecordIndex(b);for(;a<=d;a++){if(!c.hasPage(a)){return false}}return(d-1)*c._pageSize+c.getPage(d).length>b},hasPage:function(a){return !!this.get(a)},peekPage:function(a){return this.map[a]},getAt:function(a){return this.getRange(a,a+1)[0]},getRange:function(a,b){b--;if(!this.hasRange(a,b)){Ext.raise("PageMap asked for range which it does not have")}var h=this,d=Ext.Array,i=h.getPageSize(),l=h.getPageFromRecordIndex(a),e=h.getPageFromRecordIndex(b),c=(l-1)*i,n=(e*i)-1,j=l,o=[],m,g,k;for(;j<=e;j++){if(j===l){m=a-c;k=m>0}else{m=0;k=false}if(j===e){g=i-(n-b);k=k||g<i}if(k){d.push(o,d.slice(h.getPage(j),m,g))}else{d.push(o,h.getPage(j))}}return o},destroy:function(){this.callParent();this.indexMap={}}});Ext.define("Ext.data.BufferedStore",{extend:Ext.data.ProxyStore,alias:"store.buffered",isBufferedStore:true,buffered:true,config:{data:0,pageSize:25,remoteSort:true,remoteFilter:true,sortOnLoad:false,purgePageCount:5,trailingBufferZone:25,leadingBufferZone:200,defaultViewSize:100,viewSize:0,trackRemoved:false},applyData:function(b){var a=this.data||(this.data=this.createDataCollection());return a},applyProxy:function(a){a=this.callParent([a]);if(a&&a.setEnablePaging){a.setEnablePaging(true)}return a},createFiltersCollection:function(){return new Ext.util.FilterCollection()},createSortersCollection:function(){return new Ext.util.SorterCollection()},updateGroupField:function(a){this.group(a)},getGrouper:function(){return this.grouper},isGrouped:function(){return !!this.grouper},createDataCollection:function(){var b=this,a=new Ext.data.PageMap({store:b,rootProperty:"data",pageSize:b.getPageSize(),maxSize:b.getPurgePageCount(),listeners:{clear:b.onPageMapClear,scope:b}});b.relayEvents(a,["beforepageremove","pageadd","pageremove"]);b.pageRequests={};return a},removeAll:function(a){var b=this,c=b.getData();if(c){if(a){b.suspendEvent("clear")}c.clear();if(a){b.resumeEvent("clear")}}},flushLoad:function(){var b=this,a=b.pendingLoadOptions;b.clearLoadTask();if(!a){return}b.getData().clear();a.page=1;a.start=0;a.limit=b.getViewSize()||b.getDefaultViewSize();a.loadCallback=a.callback;a.callback=null;return b.loadToPrefetch(a)},reload:function(n){var h=this,e=h.getData(),k=Number.MAX_VALUE,j,b,g,m,d,a,l,c;if(!n){n={}}if(h.loading||h.fireEvent("beforeload",h,n)===false){return}a=function(){var o=h.totalCount,i=b-j;if(b>=o){b=o-1;j=Math.max(b-i,0)}if(h.rangeCached(j,Math.min(b,h.totalCount))){h.loading=false;e.un("pageadd",a);c=e.getRange(j,b+1);h.fireEvent("load",h,c,true);h.fireEvent("refresh",h)}};l=Math.ceil((h.getLeadingBufferZone()+h.getTrailingBufferZone())/2);if(h.lastRequestStart&&h.preserveScrollOnReload){j=h.lastRequestStart;b=h.lastRequestEnd;k=h.getTotalCount()}else{j=n.start||0;b=j+(n.count||h.getPageSize())-1}e.clear(true);delete h.totalCount;j=Math.max(j-l,0);b=Math.min(b+l,k);g=h.getPageFromRecordIndex(j);m=h.getPageFromRecordIndex(b);h.loading=true;n.waitForReload=a;e.on("pageadd",a);for(d=g;d<=m;d++){h.prefetchPage(d,n)}},filter:function(){this.callParent(arguments)},filterBy:function(b,a){},loadData:function(b,a){},loadPage:function(c,a){var b=this;a=a||{};a.page=b.currentPage=c;a.start=(c-1)*b.getPageSize();a.limit=b.getViewSize()||b.getDefaultViewSize();a.loadCallback=a.callback;a.callback=null;return b.loadToPrefetch(a)},clearData:function(c){var a=this,b=a.getData();if(b){b.clear()}},getCount:function(){return this.totalCount||0},getRange:function(d,h,m){var l=this,e=l.totalCount-1,g=l.lastRequestStart,n=[],i=l.getData(),c,k,b,a,j;m=Ext.apply({prefetchStart:d,prefetchEnd:h},m);h=(h>=l.totalCount)?e:h;k=d===0?0:d-1;b=h===e?h:h+1;l.lastRequestStart=d;l.lastRequestEnd=h;if(l.rangeCached(k,b)){l.onRangeAvailable(m);n=i.getRange(d,h+1)}else{l.fireEvent("cachemiss",l,d,h);a=l.getPageFromRecordIndex(k);j=l.getPageFromRecordIndex(b);c=function(o,q,p){if(q>=a&&q<=j&&l.rangeCached(k,b)){l.fireEvent("cachefilled",l,d,h);i.un("pageadd",c);l.onRangeAvailable(m)}};i.on("pageadd",c);l.prefetchRange(d,h)}l.primeCache(d,h,d<g?-1:1);return n},getById:function(b){var a=this.data.findBy(function(c){return c.getId()===b});return a},getAt:function(a){var b=this.getData();if(b.hasRange(a,a)){return b.getAt(a)}},getByInternalId:function(a){return this.data.getByInternalId(a)},contains:function(a){return this.indexOf(a)>-1},indexOf:function(a){return this.getData().indexOf(a)},indexOfId:function(a){return this.indexOf(this.getById(a))},group:function(b,d){var c=this,a;if(b&&typeof b==="string"){a=c.grouper;if(!a){c.grouper=new Ext.util.Grouper({property:b,direction:d||"ASC",root:"data"})}else{if(d===undefined){a.toggle()}else{a.setDirection(d)}}}else{c.grouper=b?c.getSorters().decodeSorter(b,"Ext.util.Grouper"):null}c.getData().clear();c.loadPage(1,{callback:function(){c.fireEvent("groupchange",c,c.getGrouper())}})},getPageFromRecordIndex:function(a){return Math.floor(a/this.getPageSize())+1},calculatePageCacheSize:function(a){var c=this,b=c.getPurgePageCount();return b?Math.max(c.getData().getMaxSize()||0,Math.ceil((a+c.getTrailingBufferZone()+c.getLeadingBufferZone())/c.getPageSize())*2+b):0},loadToPrefetch:function(s){var m=this,c=s,h,b,o,n=s.start,a=s.start+s.limit-1,r=(m.getViewSize()||s.limit),j=Math.min(a,s.start+r-1),k=m.getPageFromRecordIndex(Math.max(n-m.getTrailingBufferZone(),0)),q=m.getPageFromRecordIndex(a+m.getLeadingBufferZone()),g=m.getData(),l=function(){b=b||[];if(s.loadCallback){s.loadCallback.call(s.scope||m,b,e,true)}if(s.callback){s.callback.call(s.scope||m,b,n||0,a||0,s)}},p=function(){m.fireEvent("datachanged",m);m.fireEvent("refresh",m);m.fireEvent("load",m,b,true)},d=function(){if(m.rangeCached(n,j)){m.loading=false;b=g.getRange(n,j+1);g.un("pageadd",d);if(m.hasListeners.guaranteedrange){m.guaranteeRange(n,j,s.callback,s.scope)}l();p()}},e;g.setMaxSize(m.calculatePageCacheSize(r));if(m.fireEvent("beforeload",m,s)!==false){delete m.totalCount;m.loading=true;if(s.callback){c=Ext.apply({},s);delete c.callback}m.on("prefetch",function(t,i,v,u){e=u;if(v){if((o=m.getTotalCount())){g.on("pageadd",d);j=Math.min(j,o-1);q=m.getPageFromRecordIndex(Math.min(j+m.getLeadingBufferZone(),o-1));for(h=k+1;h<=q;++h){m.prefetchPage(h,c)}}else{l();p()}}else{m.loading=false;l();m.fireEvent("load",m,i,false)}},null,{single:true});m.prefetchPage(k,c)}},prefetch:function(d){var e=this,b=e.getPageSize(),g=e.getData(),c,a;if(b){if(e.lastPageSize&&b!=e.lastPageSize){Ext.raise("pageSize cannot be dynamically altered")}if(!g.getPageSize()){g.setPageSize(b)}}else{e.pageSize=g.setPageSize(b=d.limit)}e.lastPageSize=b;if(!d.page){d.page=e.getPageFromRecordIndex(d.start);d.start=(d.page-1)*b;d.limit=Math.ceil(d.limit/b)*b}a=e.pageRequests[d.page];if(!a||a.getOperation().pageMapGeneration!==g.pageMapGeneration){d=Ext.apply({action:"read",filters:e.getFilters().items,sorters:e.getSorters().items,grouper:e.getGrouper(),internalCallback:e.onProxyPrefetch,internalScope:e},d);c=e.createOperation("read",d);c.pageMapGeneration=g.pageMapGeneration;if(e.fireEvent("beforeprefetch",e,c)!==false){e.pageRequests[d.page]=c.execute();if(e.getProxy().isSynchronous){delete e.pageRequests[d.page]}}}return e},onPageMapClear:function(){var c=this,b=c.wasLoading,a=c.pageRequests,e=c.getData(),d;e.clearListeners();e.on("clear",c.onPageMapClear,c);c.relayEvents(e,["beforepageremove","pageadd","pageremove"]);c.loading=true;c.totalCount=0;for(d in a){if(a.hasOwnProperty(d)){a[d].getOperation().abort()}}c.fireEvent("clear",c);c.loading=b},prefetchPage:function(e,b){var d=this,a=d.getPageSize(),g=(e-1)*a,c=d.totalCount;if(c!==undefined&&d.data.getCount()===c){return}d.prefetch(Ext.applyIf({page:e,start:g,limit:a},b))},onProxyPrefetch:function(d){if(this.destroyed){return}var i=this,j=d.getResultSet(),c=d.getRecords(),g=d.wasSuccessful(),h=d.getPage(),b=d.waitForReload,l=i.totalCount,a=i.pageRequests,k,e;if(d.pageMapGeneration===i.getData().pageMapGeneration){if(j){i.totalCount=j.getTotal();if(i.totalCount!==l){i.fireEvent("totalcountchange",i.totalCount)}}if(h!==undefined){delete i.pageRequests[h]}i.loading=false;i.fireEvent("prefetch",i,c,g,d);if(g){if(i.totalCount===0){if(b){for(k in a){e=a[k].getOperation();if(e.waitForReload===b){delete e.waitForReload}}i.getData().un("pageadd",b);i.fireEvent("load",i,[],true);i.fireEvent("refresh",i)}}else{i.cachePage(c,d.getPage())}}Ext.callback(d.getCallback(),d.getScope()||i,[c,d,g])}},cachePage:function(b,e){var d=this,a=b.length,c;if(!Ext.isDefined(d.totalCount)){d.totalCount=b.length;d.fireEvent("totalcountchange",d.totalCount)}for(c=0;c<a;c++){b[c].join(d)}d.getData().addPage(e,b)},rangeCached:function(b,a){return this.getData().hasRange(b,a)},pageCached:function(a){return this.getData().hasPage(a)},pagePending:function(a){return !!this.pageRequests[a]},rangeSatisfied:function(b,a){return this.rangeCached(b,a)},onRangeAvailable:function(d){var e=this,b=e.getTotalCount(),g=d.prefetchStart,a=(d.prefetchEnd>b-1)?b-1:d.prefetchEnd,c;a=Math.max(0,a);c=e.getData().getRange(g,a+1);if(d.fireEvent!==false){e.fireEvent("guaranteedrange",c,g,a,d)}if(d.callback){d.callback.call(d.scope||e,c,g,a,d)}},guaranteeRange:function(e,a,d,c,b){b=Ext.apply({callback:d,scope:c},b);this.getRange(e,a+1,b)},prefetchRange:function(h,b){var d=this,c,a,g,e=d.getData();if(!d.rangeCached(h,b)){c=d.getPageFromRecordIndex(h);a=d.getPageFromRecordIndex(b);e.setMaxSize(d.calculatePageCacheSize(b-h+1));for(g=c;g<=a;g++){if(!d.pageCached(g)){d.prefetchPage(g)}}}},primeCache:function(i,c,h){var g=this,e=g.getLeadingBufferZone(),d=g.getTrailingBufferZone(),b=g.getPageSize(),a=g.totalCount;if(h===-1){i=Math.max(i-e,0);c=Math.min(c+d,a-1)}else{if(h===1){i=Math.max(Math.min(i-d,a-b),0);c=Math.min(c+e,a-1)}else{i=Math.min(Math.max(Math.floor(i-((e+d)/2)),0),a-g.pageSize);c=Math.min(Math.max(Math.ceil(c+((e+d)/2)),0),a-1)}}g.prefetchRange(i,c)},sort:function(b,a,c){if(arguments.length===0){this.clearAndLoad()}else{this.getSorters().addSort(b,a,c)}},onSorterEndUpdate:function(){var a=this,b=a.getSorters().getRange();if(b.length){a.fireEvent("beforesort",a,b);a.clearAndLoad({callback:function(){a.fireEvent("sort",a,b)}})}else{a.fireEvent("sort",a,b)}},clearAndLoad:function(a){this.getData().clear();this.loadPage(1,a)},privates:{isLast:function(a){return this.indexOf(a)===this.getTotalCount()-1},isMoving:function(){return false}}});Ext.define("Ext.data.proxy.Direct",{extend:Ext.data.proxy.Server,alternateClassName:"Ext.data.DirectProxy",alias:"proxy.direct",config:{paramOrder:undefined,paramsAsHash:true,directFn:undefined,api:undefined,metadata:undefined},paramOrderRe:/[\s,|]/,applyParamOrder:function(a){if(Ext.isString(a)){a=a.split(this.paramOrderRe)}return a},updateApi:function(){this.methodsResolved=false},updateDirectFn:function(){this.methodsResolved=false},resolveMethods:function(){var d=this,c=d.getDirectFn(),b=d.getApi(),a=Ext.direct.Manager,e;if(c){d.setDirectFn(e=a.parseMethod(c));if(!Ext.isFunction(e)){Ext.raise("Cannot resolve directFn "+c)}}if(b){for(c in b){if(b.hasOwnProperty(c)){e=b[c];b[c]=a.parseMethod(e);if(!Ext.isFunction(b[c])){Ext.raise("Cannot resolve Direct api "+c+" method "+e)}}}}d.methodsResolved=true},doRequest:function(d){var i=this,a,e,c,b,h,g,j,k;if(!i.methodsResolved){i.resolveMethods()}e=i.buildRequest(d);c=e.getAction();g=i.getApi();if(g){j=g[c]}j=j||i.getDirectFn();a=i.getWriter();if(a&&d.allowWrite()){e=a.write(e)}if(c==="read"){b=e.getParams()}else{b=e.getJsonData()}h=j.directCfg.method.getArgs({params:b,paramOrder:i.getParamOrder(),paramsAsHash:i.getParamsAsHash(),metadata:i.getMetadata(),callback:i.createRequestCallback(e,d),scope:i});e.setConfig({args:h,directFn:j});j.apply(window,h);return e},applyEncoding:Ext.identityFn,createRequestCallback:function(c,a){var b=this;return function(e,d){b.processResponse(d.status,a,c,d)}},extractResponseData:function(a){return Ext.isDefined(a.result)?a.result:a.data},setException:function(b,a){b.setException(a.message)},buildUrl:function(){return""}});Ext.define("Ext.data.DirectStore",{extend:Ext.data.Store,alias:"store.direct",constructor:function(a){a=Ext.apply({},a);if(!a.proxy){var b={type:"direct",reader:{type:"json"}};Ext.copyTo(b,a,"paramOrder,paramsAsHash,directFn,api,simpleSortMode,extraParams");Ext.copyTo(b.reader,a,"totalProperty,root,rootProperty,idProperty");a.proxy=b}this.callParent([a])}});Ext.define("Ext.data.JsonP",{singleton:true,requestCount:0,requests:{},timeout:30000,disableCaching:true,disableCachingParam:"_dc",callbackKey:"callback",request:function(n){n=Ext.apply({},n);var j=this,d=Ext.isDefined(n.disableCaching)?n.disableCaching:j.disableCaching,h=n.disableCachingParam||j.disableCachingParam,c=++j.requestCount,l=n.callbackName||"callback"+c,i=n.callbackKey||j.callbackKey,m=Ext.isDefined(n.timeout)?n.timeout:j.timeout,e=Ext.apply({},n.params),b=n.url,a=Ext.name,g,k;if(d&&!e[h]){e[h]=Ext.Date.now()}n.params=e;e[i]=a+".data.JsonP."+l;k=j.createScript(b,e,n);j.requests[c]=g={url:b,params:e,script:k,id:c,scope:n.scope,success:n.success,failure:n.failure,callback:n.callback,callbackKey:i,callbackName:l};if(m>0){g.timeout=Ext.defer(j.handleTimeout,m,j,[g])}j.setupErrorHandling(g);j[l]=Ext.bind(j.handleResponse,j,[g],true);j.loadScript(g);return g},abort:function(c){var b=this,d=b.requests,a;if(c){if(!c.id){c=d[c]}b.handleAbort(c)}else{for(a in d){if(d.hasOwnProperty(a)){b.abort(d[a])}}}},setupErrorHandling:function(a){a.script.onerror=Ext.bind(this.handleError,this,[a])},handleAbort:function(a){a.errorType="abort";this.handleResponse(null,a)},handleError:function(a){a.errorType="error";this.handleResponse(null,a)},cleanupErrorHandling:function(a){a.script.onerror=null},handleTimeout:function(a){a.errorType="timeout";this.handleResponse(null,a)},handleResponse:function(b,c){var d=true,a=Ext.GlobalEvents;if(c.timeout){clearTimeout(c.timeout)}delete this[c.callbackName];delete this.requests[c.id];this.cleanupErrorHandling(c);Ext.fly(c.script).destroy();if(c.errorType){d=false;Ext.callback(c.failure,c.scope,[c.errorType])}else{Ext.callback(c.success,c.scope,[b])}Ext.callback(c.callback,c.scope,[d,b,c.errorType]);if(a.hasListeners.idle){a.fireEvent("idle")}},createScript:function(c,d,b){var a=document.createElement("script");a.setAttribute("src",Ext.urlAppend(c,Ext.Object.toQueryString(d)));a.setAttribute("async",true);a.setAttribute("type","text/javascript");return a},loadScript:function(a){Ext.getHead().appendChild(a.script)}});Ext.define("Ext.data.proxy.JsonP",{extend:Ext.data.proxy.Server,alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],config:{callbackKey:"callback",recordParam:"records",autoAppendParams:true},doRequest:function(a){var c=this,b=c.buildRequest(a),d=b.getParams();b.setConfig({callbackKey:c.callbackKey,timeout:c.timeout,scope:c,disableCaching:false,callback:c.createRequestCallback(b,a)});if(c.getAutoAppendParams()){b.setParams({})}b.setRawRequest(Ext.data.JsonP.request(b.getCurrentConfig()));b.setParams(d);c.lastRequest=b;return b},createRequestCallback:function(c,a){var b=this;return function(g,d,e){if(c===b.lastRequest){b.lastRequest=null}b.processResponse(g,a,c,d)}},setException:function(b,a){b.setException(b.getRequest().getRawRequest().errorType)},buildUrl:function(h){var k=this,a=k.callParent(arguments),d=h.getRecords(),e=k.getWriter(),g,c,b,j,l;if(e&&h.getOperation().allowWrite()){h=e.write(h)}g=h.getParams();c=g.filters;delete g.filters;if(c&&c.length){for(j=0;j<c.length;j++){b=c[j];l=b.getValue();if(l){g[b.getProperty()]=l}}}if(Ext.isArray(d)&&d.length>0&&(!e||!e.getEncode())){g[k.getRecordParam()]=k.encodeRecords(d)}if(k.getAutoAppendParams()){a=Ext.urlAppend(a,Ext.Object.toQueryString(g))}return a},abort:function(a){a=a||this.lastRequest;if(a){Ext.data.JsonP.abort(a.getRawRequest())}},encodeRecords:function(b){var d=[],c=0,a=b.length;for(;c<a;c++){d.push(Ext.encode(b[c].getData()))}return d}});Ext.define("Ext.data.JsonPStore",{extend:Ext.data.Store,alias:"store.jsonp",constructor:function(a){a=Ext.apply({proxy:{type:"jsonp",reader:"json"}},a);this.callParent([a])}});Ext.define("Ext.data.JsonStore",{extend:Ext.data.Store,alias:"store.json",constructor:function(a){a=Ext.apply({proxy:{type:"ajax",reader:"json",writer:"json"}},a);this.callParent([a])}});Ext.define("Ext.data.ModelManager",{alternateClassName:"Ext.ModelMgr",singleton:true,deprecated:{5:{methods:{clear:null,create:function(c,b,d){var a=b;if(!a.isEntity){a=this.getModel(b||c.name)}return a.createWithId(d,c)},each:function(b,a){Ext.data.Model.schema.eachEntity(b,a)},get:function(a){return this.getModel(a)},getCount:function(){return Ext.data.Model.schema.entityCount},getModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},isRegistered:function(a){return !!this.getModel(a)}}}}});Ext.define("Ext.data.NodeInterface",{statics:{decorate:function(b){var d=Ext.data.schema.Schema.lookupEntity(b),g=d.prototype,a,c,e;if(!d.prototype.isObservable){d.mixin(Ext.mixin.Observable.prototype.mixinId,Ext.mixin.Observable)}if(g.isNode){return}a=g.idProperty;c=d.getField(a);e=c.type;d.override(this.getPrototypeBody());d.addFields([{name:"parentId",type:e,defaultValue:null,allowNull:c.allowNull},{name:"index",type:"int",defaultValue:-1,persist:false,convert:null},{name:"depth",type:"int",defaultValue:0,persist:false,convert:null},{name:"expanded",type:"bool",defaultValue:false,persist:false,convert:null},{name:"expandable",type:"bool",defaultValue:true,persist:false,convert:null},{name:"checked",type:"auto",defaultValue:null,persist:false,convert:null},{name:"leaf",type:"bool",defaultValue:false},{name:"cls",type:"string",defaultValue:"",persist:false,convert:null},{name:"iconCls",type:"string",defaultValue:"",persist:false,convert:null},{name:"icon",type:"string",defaultValue:"",persist:false,convert:null},{name:"root",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"isLast",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"isFirst",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false,convert:null},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false,convert:null},{name:"loaded",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"loading",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"href",type:"string",defaultValue:"",persist:false,convert:null},{name:"hrefTarget",type:"string",defaultValue:"",persist:false,convert:null},{name:"qtip",type:"string",defaultValue:"",persist:false,convert:null},{name:"qtitle",type:"string",defaultValue:"",persist:false,convert:null},{name:"qshowDelay",type:"int",defaultValue:0,persist:false,convert:null},{name:"children",type:"auto",defaultValue:null,persist:false,convert:null},{name:"visible",type:"boolean",defaultValue:true,persist:false},{name:"text",type:"string",persist:false}])},getPrototypeBody:function(){var a={idchanged:true,append:true,remove:true,move:true,insert:true,beforeappend:true,beforeremove:true,beforemove:true,beforeinsert:true,expand:true,collapse:true,beforeexpand:true,beforecollapse:true,sort:true},b={silent:true};return{isNode:true,firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,constructor:function(){var c=this;c.mixins.observable.constructor.call(c);c.callParent(arguments);c.childNodes=[];return c},createNode:function(c){var j=this,h=j.childType,m,k,e,l,i,g,d=j.self;if(!c.isModel){if(h){d=j.schema.getEntity(h)}else{m=j.getTreeStore();k=m&&m.getProxy().getReader();e=j.getProxy();l=e?e.getReader():null;i=!k||(l&&l.initialConfig.typeProperty)?l:k;if(i){g=i.getTypeProperty();if(g){d=i.getChildType(j.schema,c,g)}}}c=new d(c)}if(!c.childNodes){c.firstChild=c.lastChild=c.parentNode=c.previousSibling=c.nextSibling=null;c.childNodes=[]}return c},isLeaf:function(){return this.get("leaf")===true},setFirstChild:function(c){this.firstChild=c},setLastChild:function(c){this.lastChild=c},updateInfo:function(j,u){var w=this,d=w.data,v=d.depth,g={},e=w.childNodes,t=e.length,k=w.phantom,r=w.fields,h=w.modified||(w.modified={}),p,o,c,l,x,m=u.parentId,n,q,s;for(p in u){c=r[w.fieldOrdinals[p]];o=u[p];q=c&&c.persist;l=d[p];n=q&&(p==="index")&&(l!==-1)&&(m&&m!==h.parentId);if(!n&&w.isEqual(l,o)){continue}d[p]=o;if(q){if(!n&&h.hasOwnProperty(p)){if(w.isEqual(h[p],o)){delete h[p];w.dirty=false;for(x in h){if(h.hasOwnProperty(x)){w.dirty=true;break}}}}else{w.dirty=true;h[p]=l}}}if(j){w.commit();w.phantom=k}if(w.data.depth!==v){g={depth:w.data.depth+1};for(s=0;s<t;s++){e[s].updateInfo(j,g)}}},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var c=this;if(c.get("expandable")){return !(c.isLeaf()||(c.isLoaded()&&!c.phantom&&!c.hasChildNodes()))}return false},triggerUIUpdate:function(){this.callJoined("afterEdit",[])},appendChild:function(g,o,h){var m=this,j,l,k,n,c,q={isLast:true,parentId:m.getId(),depth:(m.data.depth||0)+1},p,e=m.getTreeStore(),d=e&&e.bulkUpdate;Ext.suspendLayouts();if(Ext.isArray(g)){l=g.length;p=new Array(l);m.callTreeStore("beginFill");for(j=0;j<l;j++){p[j]=m.appendChild(g[j],o,h)}m.callTreeStore("endFill",[p])}else{g=m.createNode(g);if(o!==true&&m.fireEventArgs("beforeappend",[m,g])===false){Ext.resumeLayouts(true);return false}k=m.childNodes.length;n=g.parentNode;if(n){if(o!==true&&g.fireEventArgs("beforemove",[g,n,m,k])===false){Ext.resumeLayouts(true);return false}if(n.removeChild(g,false,o,n.getTreeStore()===e)===false){Ext.resumeLayouts(true);return false}}e&&e.beginUpdate();k=m.childNodes.length;if(k===0){m.setFirstChild(g)}m.childNodes[k]=g;g.parentNode=m;g.nextSibling=null;m.setLastChild(g);c=m.childNodes[k-1];if(c){g.previousSibling=c;c.nextSibling=g;c.updateInfo(h,{isLast:false});if(!d){c.triggerUIUpdate()}}else{g.previousSibling=null}q.isFirst=k===0;q.index=k;g.updateInfo(h,q);if(m.isLeaf()){m.set("leaf",false)}if(!m.isLoaded()){if(d){m.data.loaded=true}else{m.set("loaded",true)}}else{if(m.childNodes.length===1&&!d){m.triggerUIUpdate()}}if(k&&m.childNodes[k-1].isExpanded()&&!d){m.childNodes[k-1].cascadeBy(m.triggerUIUpdate)}if(e){e.registerNode(m,!d);if(d){e.registerNode(g)}}if(o!==true){m.fireEventArgs("append",[m,g,k]);if(n){g.fireEventArgs("move",[g,n,m,k])}}m.callTreeStore("onNodeAppend",[g,k]);p=g;if(e){e.endUpdate()}}Ext.resumeLayouts(true);return p},getOwnerTree:function(){var c=this.getTreeStore();if(c){return c.ownerTree}},getTreeStore:function(){var c=this;while(c&&!c.treeStore){c=c.parentNode}return c&&c.treeStore},removeChild:function(h,e,p,o){var n=this,m=n.indexOf(h),k,j,c,g=n.getTreeStore(),d=g&&g.bulkUpdate,l;if(m===-1||(p!==true&&n.fireEventArgs("beforeremove",[n,h,!!o])===false)){return false}Ext.suspendLayouts();g&&g.beginUpdate();Ext.Array.erase(n.childNodes,m,1);if(n.firstChild===h){n.setFirstChild(h.nextSibling)}if(n.lastChild===h){n.setLastChild(h.previousSibling)}c=h.previousSibling;if(c){h.previousSibling.nextSibling=h.nextSibling}if(h.nextSibling){h.nextSibling.previousSibling=h.previousSibling;if(m===0){h.nextSibling.updateInfo(false,{isFirst:true})}for(k=m,j=n.childNodes.length;k<j;k++){n.childNodes[k].updateInfo(false,{index:k})}}else{if(c){c.updateInfo(false,{isLast:true});if(!d){if(c.isExpanded()){c.cascadeBy(n.triggerUIUpdate)}else{c.triggerUIUpdate()}}}}if(!n.childNodes.length&&!d){n.triggerUIUpdate()}Ext.resumeLayouts(true);if(p!==true){l={parentNode:h.parentNode,previousSibling:h.previousSibling,nextSibling:h.nextSibling};n.callTreeStore("beforeNodeRemove",[[h],!!o]);h.previousSibling=h.nextSibling=h.parentNode=null;n.fireEventArgs("remove",[n,h,!!o,l]);n.callTreeStore("onNodeRemove",[[h],!!o])}if(e){h.erase(true)}else{h.clear()}if(!o){h.set({parentId:null,lastParentId:n.getId()},b)}if(g){g.endUpdate()}return h},copy:function(g,e){var j=this,d=j.callParent([g]),c=j.childNodes?j.childNodes.length:0,h;if(e){for(h=0;h<c;h++){d.appendChild(j.childNodes[h].copy(undefined,true))}}return d},clear:function(c){var d=this;d.parentNode=d.previousSibling=d.nextSibling=null;if(c){d.firstChild=d.lastChild=d.childNodes=null}},drop:function(){var h=this,k=h.childNodes,d=h.parentNode,c=k?k.length:0,e,g,j;h.callParent();if(d){j=h.getTreeStore();d.removeChild(h)}else{if(h.get("root")){j=h.getTreeStore();j.setRoot(null)}}j&&j.beginUpdate();for(e=0;e<c;e++){g=k[e];g.clear();g.drop()}j&&j.endUpdate()},erase:function(d){var h=this,j=h.childNodes,c=j&&j.length,e,g;h.remove();h.clear(true);h.callParent([d]);for(e=0;e<c;e++){g=j[e];g.parentNode=null;g.erase(d)}},insertBefore:function(g,l,p){var m=this,k=m.indexOf(l),n=g.parentNode,o=k,h,c,j,e=m.getTreeStore(),d=e&&e.bulkUpdate;if(!l){return m.appendChild(g)}if(g===l){return false}g=m.createNode(g);if(p!==true&&m.fireEventArgs("beforeinsert",[m,g,l])===false){return false}if(n===m&&m.indexOf(g)<k){o--}if(n){if(p!==true&&g.fireEventArgs("beforemove",[g,n,m,k,l])===false){return false}if(n.removeChild(g,false,p,n.getTreeStore()===e)===false){return false}}e&&e.beginUpdate();if(o===0){m.setFirstChild(g)}Ext.Array.splice(m.childNodes,o,0,g);g.parentNode=m;g.nextSibling=l;l.previousSibling=g;c=m.childNodes[o-1];if(c){g.previousSibling=c;c.nextSibling=g}else{g.previousSibling=null}g.updateInfo(false,{parentId:m.getId(),index:o,isFirst:o===0,isLast:false,depth:(m.data.depth||0)+1});for(j=o+1,h=m.childNodes.length;j<h;j++){m.childNodes[j].updateInfo(false,{index:j})}if(!m.isLoaded()){if(d){m.data.loaded=true}else{m.set("loaded",true)}}else{if(m.childNodes.length===1&&!d){m.triggerUIUpdate()}}if(e){e.registerNode(m,!d)}if(p!==true){m.fireEventArgs("insert",[m,g,l]);if(n){g.fireEventArgs("move",[g,n,m,o,l])}}m.callTreeStore("onNodeInsert",[g,o]);if(e){e.endUpdate()}return g},insertChild:function(c,e){var d=this.childNodes[c];if(d){return this.insertBefore(e,d)}else{return this.appendChild(e)}},isLastVisible:function(){var e=this,c=e.data.isLast,d=e.nextSibling;if(!c&&e.getTreeStore().isFiltered()){while(d){if(d.data.visible){return false}d=d.nextSibling}return true}return c},remove:function(d,e){var g=this,c=g.parentNode;if(c){c.removeChild(g,d,e)}else{if(d){g.erase(true)}}return g},removeAll:function(c,m,g){var k=this,l=k.childNodes,j=l.length,e,d,h;if(!j){return}if(!g){d=k.getTreeStore();if(d){d.beginUpdate();d.suspendEvent("remove");k.callTreeStore("beforeNodeRemove",[l,false])}}for(h=0;h<j;++h){e=l[h];e.previousSibling=e.nextSibling=e.parentNode=null;k.fireEventArgs("remove",[k,e,false]);if(c){e.erase(true)}else{e.removeAll(false,m,true)}}if(!g&&d){d.resumeEvent("remove");k.callTreeStore("onNodeRemove",[l,false]);d.endUpdate()}k.firstChild=k.lastChild=null;l.length=0;if(!g){k.triggerUIUpdate()}return k},getChildAt:function(c){return this.childNodes[c]},replaceChild:function(c,g,e){var d=g?g.nextSibling:null;this.removeChild(g,false,e);this.insertBefore(c,d,e);return g},indexOf:function(c){return Ext.Array.indexOf(this.childNodes,c)},indexOfId:function(g){var e=this.childNodes,c=e.length,d=0;for(;d<c;++d){if(e[d].getId()===g){return d}}return -1},getPath:function(g,e){g=g||this.idProperty;e=e||"/";var d=[this.get(g)],c=this.parentNode;while(c){d.unshift(c.get(g));c=c.parentNode}return e+d.join(e)},getDepth:function(){return this.get("depth")},bubble:function(e,d,c){var g=this;while(g){if(e.apply(d||g,c||[g])===false){break}g=g.parentNode}},cascadeBy:function(j,e,c,l){var h=this;if(arguments.length===1&&!Ext.isFunction(j)){l=j.after;e=j.scope;c=j.args;j=j.before}if(!j||j.apply(e||h,c||[h])!==false){var k=h.childNodes,g=k.length,d;for(d=0;d<g;d++){k[d].cascadeBy.call(k[d],j,e,c,l)}if(l){l.apply(e||h,c||[h])}}},eachChild:function(g,e,c){var j=this.childNodes,h=j.length,d;for(d=0;d<h;d++){if(g.apply(e||this,c||[j[d]])===false){break}}},findChild:function(d,e,c){return this.findChildBy(function(){return this.get(d)==e},null,c)},findChildBy:function(k,j,d){var h=this.childNodes,c=h.length,g=0,l,e;for(;g<c;g++){l=h[g];if(k.call(j||l,l)===true){return l}else{if(d){e=l.findChildBy(k,j,d);if(e!==null){return e}}}}return null},contains:function(c){return c.isAncestor(this)},isAncestor:function(c){var d=this.parentNode;while(d){if(d===c){return true}d=d.parentNode}return false},sort:function(m,e,l){var j=this,k=j.childNodes,h=k.length,g,d,c={isFirst:true};if(h>0){if(!m){m=j.getTreeStore().getSortFn()}Ext.Array.sort(k,m);j.setFirstChild(k[0]);j.setLastChild(k[h-1]);for(g=0;g<h;g++){d=k[g];d.previousSibling=k[g-1];d.nextSibling=k[g+1];c.isLast=(g===h-1);c.index=g;d.updateInfo(false,c);c.isFirst=false;if(e&&!d.isLeaf()){d.sort(m,true,true)}}if(l!==true){j.fireEventArgs("sort",[j,k]);j.callTreeStore("onNodeSort",[k])}}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isBranchLoaded:function(){var c=!this.isLeaf()&&this.isLoaded();if(c){this.cascadeBy(function(d){if(!d.isLeaf()){c=c||d.isBranchLoaded()}return c})}return c},isLoading:function(){return this.get("loading")},isRoot:function(){return !this.parentNode},isVisible:function(){var c=this.parentNode;while(c){if(!c.isExpanded()){return false}c=c.parentNode}return true},expand:function(c,i,d){var e=this,g,h;if(!e.isLeaf()){if(e.isLoading()){e.on("expand",function(){e.expand(c,i,d)},e,{single:true})}else{if(!e.isExpanded()){if(e.fireEventArgs("beforeexpand",[e])!==false){if(c){if(e.parentNode&&e.parentNode.isSynchronousRecursiveExpand){e.isSynchronousRecursiveExpand=true}else{g=e.getTreeStore();if(g.getProxy().isSynchronous||e.isBranchLoaded()){e.isSynchronousRecursiveExpand=true;g.suspendEvent("add");h=true}}}e.callTreeStore("onBeforeNodeExpand",[e.onChildNodesAvailable,e,[c,i,d]]);if(h){g.resumeEvent("add");g.fireEvent("refresh",g)}e.isSynchronousRecursiveExpand=false}}else{if(c){e.expandChildren(true,i,d)}else{Ext.callback(i,d||e,[e.childNodes])}}}}else{Ext.callback(i,d||e)}},onChildNodesAvailable:function(g,e,m,n){var k=this,d=k.getTreeStore(),c=d&&d.bulkUpdate,j,h,l;Ext.suspendLayouts();for(j=k.parentNode;j;j=j.parentNode){if(!j.isExpanded()){(l||(l=[])).unshift(j)}}if(c){k.data.expanded=true}else{k.set("expanded",true)}if(l){for(h=1;h<l.length;h++){j=l[h];if(c){j.data.expanded=true}else{j.set("expanded",true)}}l[0].expand();for(h=1;h<l.length;h++){j=l[h];j.fireEventArgs("expand",[j,j.childNodes])}}else{k.callTreeStore("onNodeExpand",[g,false])}k.fireEventArgs("expand",[k,g]);if(e){k.expandChildren(true,m,n)}else{Ext.callback(m,n||k,[k.childNodes])}Ext.resumeLayouts(true)},expandChildren:function(h,o,p,j){var m=this,n,k,d,c,l,g,e;if(Ext.isBoolean(o)){n=o;o=p;p=j;j=n}if(j===undefined){e=m.getTreeStore();j=e&&e.singleExpand}d=m.childNodes;c=[];l=j?Math.min(d.length,1):d.length;for(k=0;k<l;++k){g=d[k];if(!g.isLeaf()){c[c.length]=g}}l=c.length;for(k=0;k<l;++k){c[k].expand(h)}if(o){Ext.callback(o,p||m,[m.childNodes])}},collapse:function(e,m,n){var l=this,j=l.isExpanded(),d=l.getTreeStore(),c=d&&d.bulkUpdate,k=l.childNodes.length,g,h;if(!l.isLeaf()&&((!j&&e)||l.fireEventArgs("beforecollapse",[l])!==false)){Ext.suspendLayouts();if(l.isExpanded()){if(e){h=function(){for(g=0;g<k;g++){l.childNodes[g].setCollapsed(true)}};if(m){m=Ext.Function.createSequence(h,Ext.Function.bind(m,n,[l.childNodes]))}else{m=h}}else{if(m){m=Ext.Function.bind(m,n,[l.childNodes])}}if(c){l.data.expanded=false}else{l.set("expanded",false)}l.callTreeStore("onNodeCollapse",[l.childNodes,m,n]);l.fireEventArgs("collapse",[l,l.childNodes]);m=null}else{if(e){for(g=0;g<k;g++){l.childNodes[g].setCollapsed(true)}}}Ext.resumeLayouts(true)}Ext.callback(m,n||l,[l.childNodes])},setCollapsed:function(d){var g=this,c=g.childNodes.length,e;if(!g.isLeaf()&&g.fireEventArgs("beforecollapse",[g])!==false){g.data.expanded=false;g.fireEventArgs("collapse",[g,g.childNodes]);if(d){for(e=0;e<c;e++){g.childNodes[e].setCollapsed(true)}}}},collapseChildren:function(e,l,m){var k=this,h,c=k.childNodes,j=c.length,g=[],d;for(h=0;h<j;++h){d=c[h];if(!d.isLeaf()&&d.isLoaded()&&d.isExpanded()){g.push(d)}}j=g.length;if(j){for(h=0;h<j;++h){d=g[h];if(h===j-1){d.collapse(e,l,m)}else{d.collapse(e)}}}else{Ext.callback(l,m)}},fireEvent:function(c){return this.fireEventArgs(c,Ext.Array.slice(arguments,1))},fireEventArgs:function(d,g){var i=Ext.mixin.Observable.prototype.fireEventArgs,c,h,e;if(a[d]){for(h=this;c!==false&&h;h=(e=h).parentNode){if(h.hasListeners&&h.hasListeners[d]){c=i.call(h,d,g)}}if(c!==false){h=e.getTreeStore();if(h&&h.hasListeners&&h.hasListeners[d="node"+d]){c=h.fireEventArgs(d,g)}}return c}else{return i.apply(this,arguments)}},serialize:function(e){var j=e||new Ext.data.writer.Json({writeAllFields:true}),d=j.getRecordData(this),k=this.childNodes,c=k.length,h,g;if(c>0){d.children=h=[];for(g=0;g<c;g++){h.push(k[g].serialize(j))}}return d},callTreeStore:function(h,c){var e=this,g=e.getTreeStore(),d=g&&g[h];if(g&&d){c=c||[];if(c[0]!==e){c.unshift(e)}d.apply(g,c)}},privates:{join:function(c){if(c.isTreeStore){if(this.isRoot()){this.treeStore=this.store=c}}else{this.callParent([c])}},callJoined:function(d,c){this.callParent([d,c]);this.callTreeStore(d,c)}}}}}});Ext.define("Ext.data.TreeModel",{extend:Ext.data.Model,mixins:[Ext.mixin.Queryable],getRefItems:function(){return this.childNodes},getRefOwner:function(){return this.parentNode},statics:{defaultProxy:"memory"}},function(){Ext.data.NodeInterface.decorate(this)});Ext.define("Ext.data.NodeStore",{extend:Ext.data.Store,alias:"store.node",isNodeStore:true,config:{node:null,recursive:false,rootVisible:false,folderSort:false},implicitModel:"Ext.data.TreeModel",getTotalCount:function(){return this.getCount()},updateFolderSort:function(b){var a=this.getData();a.setTrackGroups(false);if(b){a.setGrouper({groupFn:this.folderSortFn})}else{a.setGrouper(null)}},folderSortFn:function(a){return a.data.leaf?1:0},afterReject:function(a){var b=this;if(b.contains(a)){b.onUpdate(a,Ext.data.Model.REJECT,null);b.fireEvent("update",b,a,Ext.data.Model.REJECT,null)}},afterCommit:function(a,c){var b=this;if(!c){c=null}if(b.contains(a)){b.onUpdate(a,Ext.data.Model.COMMIT,c);b.fireEvent("update",b,a,Ext.data.Model.COMMIT,c)}},onNodeAppend:function(a,b){if(a===this.getNode()){this.add([b].concat(this.retrieveChildNodes(b)))}},onNodeInsert:function(c,e,b){var d=this,a;if(c===d.getNode()){a=d.indexOf(b)||0;d.insert(0,[e].concat(d.retrieveChildNodes(e)))}},onNodeRemove:function(a,b){if(a===this.getNode()){this.remove([b].concat(this.retrieveChildNodes(b)))}},onNodeExpand:function(b,a){if(b===this.getNode()){this.loadRecords(a)}},applyNode:function(a){if(a){if(!a.isModel){a=new (this.getModel())(a)}if(!a.isNode){Ext.data.NodeInterface.decorate(a)}}return a},updateNode:function(b,d){var a=this,c;if(d&&!d.destroyed){d.un({append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",scope:a});d.unjoin(a)}if(b){b.on({scope:a,append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove"});b.join(a);c=[];if(b.childNodes.length){c=c.concat(a.retrieveChildNodes(b))}if(a.getRootVisible()){c.push(b)}else{if(b.isLoaded()||b.isLoading()){b.set("expanded",true)}}a.getData().clear();a.fireEvent("clear",a);a.suspendEvents();if(a.isInitializing){a.inlineData=c}else{a.add(c)}a.resumeEvents();if(c.length===0){a.loaded=b.loaded=true}a.fireEvent("refresh",a,a.data)}},isVisible:function(b){var a=b.parentNode;if(!this.getRecursive()&&a!==this.getNode()){return false}while(a){if(!a.isExpanded()){return false}if(a===this.getNode()){break}a=a.parentNode}return true},privates:{retrieveChildNodes:function(a){var d=this.getNode(),b=this.getRecursive(),c=[],e=a;if(!a.childNodes.length||(!b&&a!==d)){return c}if(!b){return a.childNodes}while(e){if(e._added){delete e._added;if(e===a){break}else{e=e.nextSibling||e.parentNode}}else{if(e!==a){c.push(e)}if(e.firstChild){e._added=true;e=e.firstChild}else{e=e.nextSibling||e.parentNode}}}return c}}});Ext.define("Ext.data.Request",{config:{action:undefined,params:undefined,method:"GET",url:null,operation:null,proxy:null,disableCaching:false,headers:{},callbackKey:null,rawRequest:null,jsonData:undefined,xmlData:undefined,withCredentials:false,username:null,password:null,binary:false,callback:null,scope:null,timeout:30000,records:null,directFn:null,args:null,useDefaultXhrHeader:null},constructor:function(a){this.initConfig(a)},getParam:function(a){var c=this.getParams(),b;if(c){return c[a]}return b},setParam:function(a,b){var c=this.getParams()||{};c[a]=b;this.setParams(c)}});Ext.define("Ext.data.TreeStore",{extend:Ext.data.Store,alias:"store.tree",isTreeStore:true,config:{root:null,rootVisible:false,defaultRootProperty:"children",parentIdProperty:null,clearOnLoad:true,clearRemovedOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootText:"Root",folderSort:false},lazyFill:false,fillCount:0,bulkUpdate:0,_silentOptions:{silent:true},implicitModel:"Ext.data.TreeModel",constructor:function(a){var b=this;b.byIdMap={};b.callParent([a])},applyFields:function(a,c){var b=this;if(a){if(b.defaultRootProperty!==b.self.prototype.config.defaultRootProperty){a=a.concat({name:b.defaultRootProperty,type:"auto",defaultValue:null,persist:false})}}b.callParent([a,c])},onSorterEndUpdate:function(){var c=this,a=c.getSorters(),d=a.getRange(),b=c.getRoot(),e=c.getFolderSort();c.fireEvent("beforesort",c,d);if(b&&(e||d.length)){if(c.getRemoteSort()){if(d.length){c.load({callback:function(){c.fireEvent("sort",c,d)}})}}else{b.sort(this.getSortFn(),true);c.fireEvent("datachanged",c);c.fireEvent("refresh",c);c.fireEvent("sort",c,d)}}else{c.fireEvent("sort",c,d)}},updateFolderSort:function(a){this.needsFolderSort=a;this.onSorterEndUpdate()},getSortFn:function(){return this._sortFn||(this._sortFn=this.createSortFn())},createSortFn:function(){var a=this,b=this.sorters.getSortFn();return function(e,d){var g,h,c=0;if(a.needsFolderSort){g=e.data.leaf?1:0;h=d.data.leaf?1:0;c=g-h}if(a.needsIndexSort&&c===0){c=e.data.index-d.data.index}return c||b(e,d)}},getTotalCount:function(){return this.getCount()},afterEdit:function(c,b){var a=this;if(a.needsLocalFilter()){a.doFilter(c)}a.callParent([c,b])},afterReject:function(a){var b=this;if(b.contains(a)){b.onUpdate(a,Ext.data.Model.REJECT,null);b.fireEvent("update",b,a,Ext.data.Model.REJECT,null)}},afterCommit:function(a,c){var b=this;if(!c){c=null}if(b.contains(a)){b.onUpdate(a,Ext.data.Model.COMMIT,c);b.fireEvent("update",b,a,Ext.data.Model.COMMIT,c)}},fireChangeEvent:function(a){return !!this.byIdMap[a.id]},updateRootVisible:function(b){var a=this.getRoot(),c;if(a){c=this.getData();if(b){c.insert(0,a)}else{c.remove(a)}}},updateTrackRemoved:function(a){this.callParent(arguments);this.removedNodes=this.removed;this.removed=null},onDestroyRecords:function(b,a,c){if(c){this.removedNodes.length=0}},updateProxy:function(b){var a;if(b){if(b.setIdParam){b.setIdParam(this.getNodeParam())}a=b.getReader();if(Ext.isEmpty(a.getRootProperty())){a.setRootProperty(this.getDefaultRootProperty())}}},setProxy:function(a){this.changingProxy=true;this.callParent([a]);this.changingProxy=false},updateModel:function(a){var b=a.prototype.isNode;Ext.data.NodeInterface.decorate(a);if(!b&&!this.changingProxy){this.getProxy().getReader().buildExtractors(true)}},onFilterEndUpdate:function(g){var e=this,d=g.length,a=e.getRoot(),j,c,h,b;if(!e.getRemoteFilter()){if(d){e.doFilter(a)}else{a.cascadeBy({after:function(i){i.set("visible",true,e._silentOptions)}})}if(d){h=[];j=a.childNodes;for(b=0,d=j.length;b<d;b++){c=j[b];if(c.get("visible")){h.push(c)}}}else{h=a.childNodes}e.onNodeFilter(a,h);a.fireEvent("filterchange",a,h);e.fireEvent("filterchange",e,g);e.suppressNextFilter=true;e.callParent([g]);e.suppressNextFilter=false}else{e.callParent([g])}},onNodeFilter:function(a,e){var c=this,d=c.getData(),b=[];if(c.getRootVisible()){if(e.length){b.push(a)}else{a.set("visible",false,c._silentOptions)}}c.handleNodeExpand(a,e,b);c.suspendEvents();d.splice(0,d.getCount(),b);c.resumeEvents();if(!c.suppressNextFilter){c.fireEvent("datachanged",c);c.fireEvent("refresh",c)}},onBeforeNodeExpand:function(b,k,l,g){var h=this,i,d,j,e,a,c;if(b.isLoaded()){c=[b.childNodes];if(g){c.push.apply(c,g)}Ext.callback(k,l||b,c)}else{if(b.isLoading()){h.on("load",function(){c=[b.childNodes];if(g){c.push.apply(c,g)}Ext.callback(k,l||b,c)},h,{single:true,priority:1001})}else{i=h.getProxy().getReader();d=b.getProxy();j=d?d.getReader():null;e=j&&j.initialConfig.rootProperty?j:i;a=e.getRoot(b.raw||b.data);if(a||(b.phantom&&!b.isRoot())){if(a){h.fillNode(b,e.extractData(a,{model:b.childType,recordCreator:h.recordCreator}))}c=[b.childNodes];if(g){c.push.apply(c,g)}Ext.callback(k,l||b,c)}else{h.read({node:b,onChildNodesAvailable:function(){delete h.lastOptions.onChildNodesAvailable;c=[b.childNodes];if(g){c.push.apply(c,g)}Ext.callback(k,l||b,c)}});h.flushLoad()}}}},onNodeExpand:function(d,b){var e=this,a=e.indexOf(d)+1,c=[];e.handleNodeExpand(d,b,c);if(!e.refreshCounter&&d.isRoot()&&!d.get("visible")){e.loadRecords(c)}else{e.insert(a,c)}},handleNodeExpand:function(e,b,d){var h=this,g=b?b.length:0,c,a;if(e!==this.getRoot()&&!h.isVisible(e)){return}if(g){for(c=0;c<g;c++){a=b[c];if(a.get("visible")){d.push(a);if(a.isExpanded()){if(a.isLoaded()){h.handleNodeExpand(a,a.childNodes,d)}else{a.set("expanded",false);a.expand()}}}}}},onNodeCollapse:function(d,a,h,c){var e=this,b=e.indexOf(d)+1,g;if(e.needsLocalFilter()){a=Ext.Array.filter(a,e.filterVisible)}if(a.length&&e.data.contains(a[0])){g=e.indexOfNextVisibleNode(d);e.removeAt(b,g-b)}Ext.callback(h,c)},indexOfNextVisibleNode:function(b){var a;while(b.parentNode){for(a=b.nextSibling;a&&!a.get("visible");a=a.nextSibling){}if(a){return this.indexOf(a)}b=b.parentNode}return this.getCount()},filterNew:function(a){return !a.get("root")&&this.callParent([a])},filterRejects:function(a){return !a.get("root")&&this.callParent([a])},getNewRecords:function(){return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),this.filterNew,this)},getUpdatedRecords:function(){return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),this.filterUpdated)},beforeNodeRemove:function(b,g){if(!Ext.isArray(g)){g=[g]}var e=this,a=g.length,d,c;for(d=0;!c&&d<a;d++){if(g[d].get("visible")){c=g[d]}}if(c){e.startRemoveIndex=e.indexOf(g[0]);e.lastRemoveIndexPlusOne=e.indexOfNextVisibleNode(g[g.length-1])}else{e.startRemoveIndex=-1;e.lastRemoveIndexPlusOne=0}},afterDrop:Ext.emptyFn,onNodeRemove:function(d,k,j){var h=this,e=h.removedNodes,g=k.length,a=h.startRemoveIndex,b=h.lastRemoveIndexPlusOne,c;h.suspendAutoSync();if(a!==-1){h.removeIsMove=j;h.removeAt(a,b-a);h.removeIsMove=false}for(c=0;c<g;c++){k[c].cascadeBy(function(i){h.unregisterNode(i);if(e&&!j){if(!i.phantom&&!i.erasing&&!h.loading){i.removedFrom=h.indexOf(i);e.push(i);h.needsSync=true}}})}h.resumeAutoSync()},onNodeAppend:function(b,c,a){this.onNodeInsert(b,c,a)},onNodeInsert:function(m,a,g){var j=this,c=a.raw||a.data,e=j.removedNodes,h,n,i,b,k,d,l;if(m&&j.needsLocalFilter()){j.doFilter(m)}j.beginUpdate();if(j.isVisible(a)){if(g===0||!a.previousSibling){h=m}else{for(n=a.previousSibling;n&&!n.get("visible");n=n.previousSibling){}while(n.isExpanded()&&n.lastChild){n=n.lastChild}h=n}j.insert(j.indexOf(h)+1,a);if(!a.isLeaf()&&a.isExpanded()){if(a.isLoaded()){j.onNodeExpand(a,a.childNodes)}else{if(!j.fillCount){a.set("expanded",false);a.expand()}}}}Ext.Array.remove(e,a);j.needsSync=j.needsSync||a.phantom||a.dirty;if(!a.isLeaf()&&!a.isLoaded()&&!j.lazyFill){i=j.getProxy().getReader();b=a.getProxy();k=b?b.getReader():null;d=k&&k.initialConfig.rootProperty?k:i;l=d.getRoot(c);if(l){j.fillNode(a,d.extractData(l,{model:a.childType,recordCreator:j.recordCreator}))}}j.endUpdate()},registerNode:function(g,a){var e=this,c,d,b;e.byIdMap[g.id]=g;if(a===true){c=g.childNodes;d=c.length;for(b=0;b<d;b++){e.registerNode(c[b],true)}}},unregisterNode:function(g,a){var e=this,c,d,b;delete e.byIdMap[g.id];if(a===true){c=g.childNodes;d=c.length;for(b=0;b<d;b++){e.unregisterNode(c[b],true)}}},onNodeSort:function(b,c){var a=this;a.suspendAutoSync();if((a.indexOf(b)!==-1&&b.isExpanded())||(b===a.getRoot()&&!a.getRootVisible())){Ext.suspendLayouts();a.onNodeCollapse(b,c);a.onNodeExpand(b,c);Ext.resumeLayouts(true)}a.resumeAutoSync(a.autoSync)},applyRoot:function(e){var b=this,d=b.getModel(),a=d.prototype.idProperty,c=b.getDefaultRootId();if(e&&!e.isNode){e=Ext.apply({text:b.getDefaultRootText(),root:true,isFirst:true,isLast:true,depth:0,index:0,parentId:null,allowDrag:false},e);if(c&&e[a]===undefined){e[a]=c}e=new d(e)}return e},updateRoot:function(g,b){var d=this,e,a=!b,c;d.byIdMap={};d.getTrackRemoved();d.suspendEvent("add","remove");if(b&&b.isModel){if(d.getRootVisible()){c=[b]}else{c=b.childNodes}d.beforeNodeRemove(null,c);b.set("root",false);d.onNodeRemove(null,c);b.fireEvent("remove",null,b,false);b.fireEvent("rootchange",null);b.clearListeners();b.store=b.treeStore=null}d.getData().clear();if(g){if(g.fireEventArgs("beforeappend",[null,g])===false){g=null}else{e=g.parentNode;if(e){if(!e.removeChild(g,false,false,e.getTreeStore()===d)){return}}else{if((e=g.getTreeStore())&&e!==d&&g===e.getRoot()){e.setRoot(null)}}g.store=g.treeStore=d;g.set("root",true);g.updateInfo(true,{isFirst:true,isLast:true,depth:0,index:0,parentId:null});d.registerNode(g,true);g.fireEvent("append",null,g,false);g.fireEvent("rootchange",g);d.onNodeAppend(null,g,0);g.phantom=true}}d.fireEvent("rootchange",g,b);if(g&&(d.getAutoLoad()||g.isExpanded())){if(g.isLoaded()){d.onNodeExpand(g,g.childNodes);d.fireEvent("datachanged",d);d.fireEvent("refresh",d)}else{g.data.expanded=false;g.expand(false,function(){d.fireEvent("datachanged",d);d.fireEvent("refresh",d)})}}else{if(!a){d.fireEvent("datachanged",d);d.fireEvent("refresh",d)}}d.resumeEvent("add","remove")},getNodeById:function(a){return this.byIdMap[a]||null},findNode:function(h,g,d,c,b){if(Ext.isEmpty(g,false)){return null}if(g===this.model.idProperty&&arguments.length<3){return this.byIdMap[g]}var e=Ext.String.createRegex(g,d,c,b),a=null;Ext.Object.eachValue(this.byIdMap,function(i){if(i&&e.test(i.get(h))){a=i;return false}});return a},load:function(a){var b=a&&a.node;if(!b&!(b=this.getRoot())){b=this.setRoot({expanded:true});return}if(b.isLoading()){return}return this.callParent([a])},flushLoad:function(){var g=this,j=g.pendingLoadOptions,a,h,i,d=g.getClearOnLoad(),e,b,c;g.clearLoadTask();if(!j){return}a=j.node||g.getRoot();e=a&&a.isRoot()&&a.isLoaded()&&d;h=j.callback;i=j.scope;j.params=j.params||{};if(a.data.expanded&&!e){a.data.loaded=false;if(d){a.data.expanded=false}j.callback=function(l,k,m){if(!d){a.collapse()}a.expand();Ext.callback(h,i,[l,k,m])}}j.id=a.getId();j=Ext.apply({filters:g.getFilters().items,sorters:g.getSorters().items,node:j.node||a,internalScope:g,internalCallback:g.onProxyLoad},j);g.lastOptions=Ext.apply({},j);j.isReload=e;b=g.createOperation("read",j);if(g.fireEvent("beforeload",g,b)!==false){g.loading=true;if(e){if(g.getClearRemovedOnLoad()){g.removedNodes.length=0}g.unregisterNode(a,true);a.childNodes.length=0;c=true}else{if(d){if(g.getTrackRemoved()&&g.getClearRemovedOnLoad()){g.clearRemoved(a)}a.removeAll(false)}}if(g.loading&&a){a.set("loading",true)}if(c){g.clearData(true);if(g.getRootVisible()){g.suspendEvents();g.add(a);g.resumeEvents()}}b.execute()}return g},onProxyLoad:function(c){var h=this,j=c.initialConfig,d=c.wasSuccessful(),b=c.getRecords(),a=j.node,g=j.isReload,i=c.getScope()||h,e=[b,c,d];if(h.destroyed){return}h.loading=false;a.set("loading",false);if(d){++h.loadCount;if(!h.getClearOnLoad()){b=h.cleanRecords(a,b)}if(h.getParentIdProperty()){b=h.treeify(a,b)}if(g){h.suspendEvent("add","update")}b=h.fillNode(a,b)}if(g){h.resumeEvent("add","update");h.callObservers("BeforePopulate");h.fireEvent("datachanged",h);h.fireEvent("refresh",h);h.callObservers("AfterPopulate")}else{Ext.callback(j.onChildNodesAvailable,i,e)}h.fireEvent("load",h,b,d,c,a)},clearRemoved:function(b){var k=this,e=k.removedNodes,a=b.getId(),d=e.length,c=d,n={},h=[],m={},j,g,l;if(b===k.getRoot()){k.removedNodes.length=0;return}for(;c--;){j=e[c];m[j.getId()]=j}for(c=d;c--;){j=e[c];g=j;while(g&&g.getId()!==a){l=g.get("parentId")||g.get("lastParentId");g=g.parentNode||k.getNodeById(l)||m[l]}if(g){n[j.getId()]=j}}for(c=0;c<d;c++){j=e[c];if(!n[j.getId()]){h.push(j)}}k.removedNodes=h},fillNode:function(c,a){var b=this,d=a?a.length:0;++b.bulkUpdate;if(d){b.setupNodes(a)}if(b.bulkUpdate===1){c.set("loaded",true)}else{c.data.loaded=true}if(a.length){c.appendChild(a,undefined,true)}--b.bulkUpdate;return a},setupNodes:function(c){var g=this,e=g.getSorters(),h=false,b=c.length,a=g.sortOnLoad&&b>1&&!g.getRemoteSort()&&g.getFolderSort()||e.length,l,j,d,k;if(g.needsLocalFilter()){k=g.getFilters().getFilterFn();c[0].set("visible",k(c[0]))}for(d=1;d<b;d++){l=c[d];j=c[d-1];if(k){l.set("visible",k(l))}h=l.data.index!==j.data.index}if(a){g.needsIndexSort=true;Ext.Array.sort(c,g.getSortFn());g.needsIndexSort=false}else{if(h){Ext.Array.sort(c,g.sortByIndex)}}},beginFill:function(){var a=this;if(!a.fillCount++){a.beginUpdate();a.suspendEvent("add","update");a.suspendAutoSync();a.fillArray=[]}},endFill:function(e,b){var g=this,h=g.fillArray,d,a,c;h.push(b);if(!--g.fillCount){g.resumeAutoSync();g.resumeEvent("add","update");for(d=0,a=h.length;d<a;d++){c=g.indexOf(h[d][0]);if(c!==-1){g.fireEvent("add",g,h[d],c)}}g.fillArray=null;g.endUpdate()}},sortByIndex:function(b,a){return b.data.index-a.data.index},onIdChanged:function(d,g,b){var e=d.childNodes,a=e&&e.length,c;this.callParent(arguments);delete this.byIdMap[g];this.byIdMap[b]=d;for(c=0;c<a;c++){e[c].set("parentId",b)}},treeify:function(j,e){var m=this,o=j.getId(),c=m.getParentIdProperty(),k=e.length,p=[],l={},g,d,h,n,a,b;for(g=0;g<k;g++){d=e[g];l[d.id]=d}for(g=0;g<k;g++){d=e[g];h=d.data[c];if(!(h||h===0)||h===o){p.push(d)}else{n=l[h];n.$children=n.$children||[];n.$children.push(d)}}for(a in l){d=l[a];b=d.$children;if(b){delete d.$children;m.setupNodes(b);d.appendChild(b)}m.registerNode(d)}m.setupNodes(p);return p},cleanRecords:function(g,b){var e={},j=g.childNodes,d=0,a=j.length,c=[],h;for(;d<a;++d){e[j[d].getId()]=true}for(d=0,a=b.length;d<a;++d){h=b[d];if(!e[h.getId()]){c.push(h)}}return c},removeAll:function(){this.suspendEvents();this.setRoot(null);this.resumeEvents();this.callParent()},doSort:function(a){var b=this;if(b.getRemoteSort()){b.load()}else{b.tree.sort(a,true);b.fireEvent("datachanged",b);b.fireEvent("refresh",b)}b.fireEvent("sort",b,b.sorters.getRange())},filterVisible:function(a){return a.get("visible")},isVisible:function(c){var a=c.parentNode,d=c.data.visible,b=this.getRoot();while(d&&a){d=a.data.expanded&&a.data.visible;a=a.parentNode}return d&&!(c===b&&!this.getRootVisible())},commitChanges:function(){var a=this.removedNodes;if(a){a.length=0}this.callParent()},getRootNode:function(){return this.getRoot()},setRootNode:function(a){this.setRoot(a);return this.getRoot()},privates:{getRawRemovedRecords:function(){return this.removedNodes},recordCreator:function(a,b){return new b(a)},doFilter:function(b){var a=this.getRoot(),c=this.getFilters().getFilterFn();this.filterNodes(a,b,c)},filterNodes:function(b,e,g){var c=false,h=e.childNodes,a=h&&h.length,d;if(a){for(d=0;d<a;++d){this.filterNodes(b,h[d],g)}}c=e===b||g(e);e.set("visible",c,this._silentOptions);return c},needsLocalFilter:function(){return !this.getRemoteFilter()&&this.getFilters().length},onRemoteFilterSet:function(a,c){var b=this.getData();b.setFilters(null);if(a){a.on("endupdate",this.onFilterEndUpdate,this)}},onRemoteSortSet:function(b,c){var a=this.getData();a.setSorters(null);if(b){b.on("endupdate",this.onSorterEndUpdate,this)}}},deprecated:{5:{properties:{tree:null}}}});Ext.define("Ext.data.Types",{singleton:true},function(b){var a=Ext.data.SortTypes;Ext.apply(b,{stripRe:/[\$,%]/g,AUTO:{sortType:a.none,type:"auto"},STRING:{convert:function(d){var c=this.getAllowNull()?null:"";return(d===undefined||d===null)?c:String(d)},sortType:a.asUCString,type:"string"},INT:{convert:function(c){if(typeof c==="number"){return parseInt(c,10)}return c!==undefined&&c!==null&&c!==""?parseInt(String(c).replace(b.stripRe,""),10):(this.getAllowNull()?null:0)},sortType:a.none,type:"int"},FLOAT:{convert:function(c){if(typeof c==="number"){return c}return c!==undefined&&c!==null&&c!==""?parseFloat(String(c).replace(b.stripRe,""),10):(this.getAllowNull()?null:0)},sortType:a.none,type:"float"},BOOL:{convert:function(c){if(typeof c==="boolean"){return c}if(this.getAllowNull()&&(c===undefined||c===null||c==="")){return null}return c==="true"||c==1},sortType:a.none,type:"bool"},DATE:{convert:function(d){var e=this.getDateReadFormat()||this.getDateFormat(),c;if(!d){return null}if(d instanceof Date){return d}if(e){return Ext.Date.parse(d,e)}c=Date.parse(d);return c?new Date(c):null},sortType:a.asDate,type:"date"}});b.BOOLEAN=b.BOOL;b.INTEGER=b.INT;b.NUMBER=b.FLOAT});Ext.define("Ext.data.Validation",{extend:Ext.data.Model,isValidation:true,syncGeneration:0,attach:function(a){this.record=a;delete this.data.id},getValidation:function(){return null},isValid:function(){var a=this;if(a.syncGeneration!==a.record.generation){a.refresh()}return !a.dirty},refresh:function(b){var u=this,v=u.data,d=u.record,l=d.fields,o=d.generation,t=d.data,k=d.validationSeparator,c=null,e,h,m,a,r,p,n,s,q,g,x,w;if(b||u.syncGeneration!==o){u.syncGeneration=o;for(p=0,q=l.length;p<q;++p){a=l[p];w=a.name;x=t[w];e=a.defaultInvalidMessage;m=0;if(!(w in v)){v[w]=h=true}else{h=v[w]}if(a.validate!==Ext.emptyFn){g=a.validate(x,k,null,d);if(g!==true){m=g||e}}if(!m){m=true}if(m!==h){(c||(c={}))[w]=m}}if(c){u.set(c)}}}});Ext.define("Ext.dom.Helper",function(){var a="afterbegin",g="afterend",h="beforebegin",d="beforeend",i=["BeforeBegin","previousSibling"],e=["AfterEnd","nextSibling"],c={beforebegin:i,afterend:e},b={beforebegin:i,afterend:e,afterbegin:["AfterBegin","firstChild"],beforeend:["BeforeEnd","lastChild"]};return{singleton:true,alternateClassName:["Ext.DomHelper","Ext.core.DomHelper"],emptyTags:/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,confRe:/^(?:tag|children|cn|html|tpl|tplData)$/i,endRe:/end/i,attributeTransform:{cls:"class",htmlFor:"for"},closeTags:{},detachedDiv:document.createElement("div"),decamelizeName:function(){var l=/([a-z])([A-Z])/g,k={};function j(m,o,n){return o+"-"+n.toLowerCase()}return function(m){return k[m]||(k[m]=m.replace(l,j))}}(),generateMarkup:function(q,k){var p=this,o=typeof q,n,j,r,m,l;if(o==="string"||o==="number"){k.push(q)}else{if(Ext.isArray(q)){for(m=0;m<q.length;m++){if(q[m]){p.generateMarkup(q[m],k)}}}else{r=q.tag||"div";k.push("<",r);for(n in q){if(q.hasOwnProperty(n)){j=q[n];if(j!==undefined&&!p.confRe.test(n)){if(typeof j==="object"){k.push(" ",n,'="');p.generateStyles(j,k,true).push('"')}else{k.push(" ",p.attributeTransform[n]||n,'="',j,'"')}}}}if(p.emptyTags.test(r)){k.push("/>")}else{k.push(">");if((j=q.tpl)){j.applyOut(q.tplData,k)}if((j=q.html)){k.push(j)}if((j=q.cn||q.children)){p.generateMarkup(j,k)}l=p.closeTags;k.push(l[r]||(l[r]="</"+r+">"))}}}return k},generateStyles:function(n,k,m){var j=k||[],l,o;for(l in n){if(n.hasOwnProperty(l)){o=n[l];l=this.decamelizeName(l);if(m&&Ext.String.hasHtmlCharacters(o)){o=Ext.String.htmlEncode(o)}j.push(l,":",o,";")}}return k||j.join("")},markup:function(j){if(typeof j==="string"){return j}var k=this.generateMarkup(j,[]);return k.join("")},applyStyles:function(j,k){Ext.fly(j).applyStyles(k)},createContextualFragment:function(k){var n=this.detachedDiv,j=document.createDocumentFragment(),l,m;n.innerHTML=k;m=n.childNodes;l=m.length;while(l--){j.appendChild(m[0])}return j},createDom:function(m,j){var l=this,k=l.markup(m),p=l.detachedDiv,n;p.innerHTML=k;n=p.firstChild;return Ext.supports.ChildContentClearedWhenSettingInnerHTML?n.cloneNode(true):n},insertHtml:function(m,j,n){var r=this,k,o,l,q,s;m=m.toLowerCase();if(j.insertAdjacentHTML){if(r.ieInsertHtml){s=r.ieInsertHtml(m,j,n);if(s){return s}}k=b[m];if(k){j.insertAdjacentHTML(k[0],n);return j[k[1]]}}else{if(j.nodeType===3){m=m===a?h:m;m=m===d?g:m}o=Ext.supports.CreateContextualFragment?j.ownerDocument.createRange():undefined;q="setStart"+(this.endRe.test(m)?"After":"Before");if(c[m]){if(o){o[q](j);s=o.createContextualFragment(n)}else{s=this.createContextualFragment(n)}j.parentNode.insertBefore(s,m===h?j:j.nextSibling);return j[(m===h?"previous":"next")+"Sibling"]}else{l=(m===a?"first":"last")+"Child";if(j.firstChild){if(o){try{o[q](j[l]);s=o.createContextualFragment(n)}catch(p){s=this.createContextualFragment(n)}}else{s=this.createContextualFragment(n)}if(m===a){j.insertBefore(s,j.firstChild)}else{j.appendChild(s)}}else{j.innerHTML=n}return j[l]}}},insertBefore:function(j,l,k){return this.doInsert(j,l,k,h)},insertAfter:function(j,l,k){return this.doInsert(j,l,k,g)},insertFirst:function(j,l,k){return this.doInsert(j,l,k,a)},append:function(j,l,k){return this.doInsert(j,l,k,d)},overwrite:function(l,k,n){var m=this,j;l=Ext.getDom(l);k=m.markup(k);if(m.ieOverwrite){j=m.ieOverwrite(l,k)}if(!j){l.innerHTML=k;j=l.firstChild}return n?Ext.get(j):j},doInsert:function(l,p,n,j){var m=this,k;l=l.dom||Ext.getDom(l);if("innerHTML" in l){k=m.insertHtml(j,l,m.markup(p))}else{k=m.createDom(p,null);if(l.nodeType===3){j=j===a?h:j;j=j===d?g:j}if(c[j]){l.parentNode.insertBefore(k,j===h?l:l.nextSibling)}else{if(l.firstChild&&j===a){l.insertBefore(k,l.firstChild)}else{l.appendChild(k)}}}return n?Ext.get(k):k},createTemplate:function(k){var j=this.markup(k);return new Ext.Template(j)},createHtml:function(j){return this.markup(j)}}});Ext.define("Ext.dom.Query",function(){var DQ,doc=document,cache,simpleCache,valueCache,useClassList=!!doc.documentElement.classList,useElementPointer=!!doc.documentElement.firstElementChild,useChildrenCollection=(function(){var d=doc.createElement("div");d.innerHTML="<!-- -->text<!-- -->";return d.children&&(d.children.length===0)})(),nonSpace=/\S/,trimRe=/^\s+|\s+$/g,tplRe=/\{(\d+)\}/g,modeRe=/^(\s?[\/>+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w\-\*\|\\]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,startIdRe=/^\s*#/,isIE=window.ActiveXObject?true:false,key=30803,longHex=/\\([0-9a-fA-F]{6})/g,shortHex=/\\([0-9a-fA-F]{1,6})\s{0,1}/g,nonHex=/\\([^0-9a-fA-F]{1})/g,escapes=/\\/g,num,hasEscapes,supportsColonNsSeparator=(function(){var xmlDoc,xmlString='<r><a:b xmlns:a="n"></a:b></r>';if(window.DOMParser){xmlDoc=(new DOMParser()).parseFromString(xmlString,"application/xml")}else{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.loadXML(xmlString)}return !!xmlDoc.getElementsByTagName("a:b").length})(),longHexToChar=function($0,$1){return String.fromCharCode(parseInt($1,16))},shortToLongHex=function($0,$1){while($1.length<6){$1="0"+$1}return"\\"+$1},charToLongHex=function($0,$1){num=$1.charCodeAt(0).toString(16);if(num.length===1){num="0"+num}return"\\0000"+num},unescapeCssSelector=function(selector){return(hasEscapes)?selector.replace(longHex,longHexToChar):selector},setupEscapes=function(path){hasEscapes=(path.indexOf("\\")>-1);if(hasEscapes){path=path.replace(shortHex,shortToLongHex).replace(nonHex,charToLongHex).replace(escapes,"\\\\")}return path};eval("var batch = 30803, child, next, prev, byClassName;");child=useChildrenCollection?function child(parent,index){return parent.children[index]}:function child(parent,index){var i=0,n=parent.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null};next=useElementPointer?function(n){return n.nextElementSibling}:function(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n};prev=useElementPointer?function(n){return n.previousElementSibling}:function(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n};function children(parent){var n=parent.firstChild,nodeIndex=-1,nextNode;while(n){nextNode=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){parent.removeChild(n)}else{n.nodeIndex=++nodeIndex}n=nextNode}return this}byClassName=useClassList?function(nodeSet,cls){cls=unescapeCssSelector(cls);if(!cls){return nodeSet}var result=[],ri=-1,i,ci,classList;for(i=0;ci=nodeSet[i];i++){classList=ci.classList;if(classList){if(classList.contains(cls)){result[++ri]=ci}}else{if((" "+ci.className+" ").indexOf(cls)!==-1){result[++ri]=ci}}}return result}:function(nodeSet,cls){cls=unescapeCssSelector(cls);if(!cls){return nodeSet}var result=[],ri=-1,i,ci;for(i=0;ci=nodeSet[i];i++){if((" "+ci.className+" ").indexOf(cls)!==-1){result[++ri]=ci}}return result};function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs,i,ni,j,ci,cn,utag,n,cj;if(!ns){return result}tagName=tagName.replace("|",":")||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){tagName=unescapeCssSelector(tagName);if(!supportsColonNsSeparator&&DQ.isXml(ns[0])&&tagName.indexOf(":")!==-1){for(i=0;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName.split(":").pop());for(j=0;ci=cs[j];j++){if(ci.tagName===tagName){result[++ri]=ci}}}}else{for(i=0;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(j=0;ci=cs[j];j++){result[++ri]=ci}}}}else{if(mode=="/"||mode==">"){utag=tagName.toUpperCase();for(i=0;ni=ns[i];i++){cn=ni.childNodes;for(j=0;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){utag=tagName.toUpperCase();for(i=0;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){utag=tagName.toUpperCase();for(i=0;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){a.push.apply(a,b);return a}function byTag(cs,tagName){if(cs.tagName||cs===doc){cs=[cs]}if(!tagName){return cs}var result=[],ri=-1,i,ci;tagName=tagName.toLowerCase();for(i=0;ci=cs[i];i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==tagName){result[++ri]=ci}}return result}function byId(cs,id){id=unescapeCssSelector(id);if(cs.tagName||cs===doc){cs=[cs]}if(!id){return cs}var result=[],ri=-1,i,ci;for(i=0;ci=cs[i];i++){if(ci&&ci.id==id){result[++ri]=ci;return result}}return result}function byAttribute(cs,attr,value,op,custom){var result=[],ri=-1,useGetStyle=custom=="{",fn=DQ.operators[op],a,xml,hasXml,i,ci;value=unescapeCssSelector(value);for(i=0;ci=cs[i];i++){if(ci.nodeType===1){if(!hasXml){xml=DQ.isXml(ci);hasXml=true}if(!xml){if(useGetStyle){a=DQ.getStyle(ci,attr)}else{if(attr=="class"||attr=="className"){a=ci.className}else{if(attr=="for"){a=ci.htmlFor}else{if(attr=="href"){a=ci.getAttribute("href",2)}else{a=ci.getAttribute(attr)}}}}}else{a=ci.getAttribute(attr)}if((fn&&fn(a,value))||(!fn&&a)){result[++ri]=ci}}}return result}function byPseudo(cs,name,value){value=unescapeCssSelector(value);return DQ.pseudos[name](cs,value)}function nodupIEXml(cs){var d=++key,r,i,len,c;cs[0].setAttribute("_nodup",d);r=[cs[0]];for(i=1,len=cs.length;i<len;i++){c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c}}for(i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup")}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1,d,j;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs}if(isIE&&typeof cs[0].selectSingleNode!="undefined"){return nodupIEXml(cs)}d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(j=0;j<i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key,r=[],i,len;for(i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d)}for(i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i]}}for(i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff")}return r}function quickDiff(c1,c2){var len1=c1.length,d=++key,r=[],i,len;if(!len1){return c2}if(isIE&&typeof c1[0].selectSingleNode!="undefined"){return quickDiffIEXml(c1,c2)}for(i=0;i<len1;i++){c1[i]._qdiff=d}for(i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){id=unescapeCssSelector(id);var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,"*");return byId(ns,id)}return{singleton:true,alternateClassName:["Ext.core.DomQuery","Ext.DomQuery"],_init:function(){DQ=this;DQ.operators=Ext.Object.chain(Ext.util.Operators);DQ._cache=cache=new Ext.util.LruCache({maxSize:200});DQ._valueCache=valueCache=new Ext.util.LruCache({maxSize:200});DQ._simpleCache=simpleCache=new Ext.util.LruCache({maxSize:200})},clearCache:function(){cache.clear();valueCache.clear();simpleCache.clear()},getStyle:function(el,name){return Ext.fly(el,"_DomQuery").getStyle(name)},compile:function(path,type){type=type||"select";var fn=["var f = function(root) {\n var mode; ++batch; var n = root || document;\n"],lastPath,matchers=DQ.matchers,matchersLn=matchers.length,modeMatch,lmode=path.match(modeRe),tokenMatch,matched,j,t,m;path=setupEscapes(path);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';path=path.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(path&&lastPath!=path){lastPath=path;tokenMatch=path.match(tagTokenRe);if(type=="select"){if(tokenMatch){if(tokenMatch[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tokenMatch[2]+'");'}else{fn[fn.length]='n = getNodes(n, mode, "'+tokenMatch[2]+'");'}path=path.replace(tokenMatch[0],"")}else{if(path.substr(0,1)!="@"){fn[fn.length]='n = getNodes(n, mode, "*");'}}}else{if(tokenMatch){if(tokenMatch[1]=="#"){fn[fn.length]='n = byId(n, "'+tokenMatch[2]+'");'}else{fn[fn.length]='n = byTag(n, "'+tokenMatch[2]+'");'}path=path.replace(tokenMatch[0],"")}}while(!(modeMatch=path.match(modeRe))){matched=false;for(j=0;j<matchersLn;j++){t=matchers[j];m=path.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(x,i){return m[i]});path=path.replace(m[0],"");matched=true;break}}if(!matched){Ext.raise({sourceClass:"Ext.DomQuery",sourceMethod:"compile",msg:'Error parsing selector. Parsing failed at "'+path+'"'})}}if(modeMatch[1]){fn[fn.length]='mode="'+modeMatch[1].replace(trimRe,"")+'";';path=path.replace(modeMatch[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},jsSelect:function(path,root,type){root=root||doc;if(typeof root=="string"){root=doc.getElementById(root)}var paths=Ext.splitAndUnescape(path,","),results=[],query,i,len,subPath,result;for(i=0,len=paths.length;i<len;i++){subPath=paths[i].replace(trimRe,"");query=cache.get(subPath);if(!query){query=DQ.compile(subPath,type);if(!query){Ext.raise({sourceClass:"Ext.DomQuery",sourceMethod:"jsSelect",msg:subPath+" is not a valid selector"})}cache.add(subPath,query)}else{setupEscapes(subPath)}result=query(root);if(result&&result!==doc){results=results.concat(result)}}if(paths.length>1){return nodup(results)}return results},isXml:function(el){var docEl=(el?el.ownerDocument||el:0).documentElement;return docEl?docEl.nodeName!=="HTML":false},select:doc.querySelectorAll?function(path,root,type,single){root=root||doc;if(!DQ.isXml(root)){try{if(root.parentNode&&(root.nodeType!==9)&&path.indexOf(",")===-1&&!startIdRe.test(path)){path=Ext.makeIdSelector(Ext.id(root))+" "+path;root=root.parentNode}return single?[root.querySelector(path)]:Ext.Array.toArray(root.querySelectorAll(path))}catch(e){}}return DQ.jsSelect.call(this,path,root,type)}:function(path,root,type){return DQ.jsSelect.call(this,path,root,type)},selectNode:function(path,root){return Ext.DomQuery.select(path,root,null,true)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");var query=valueCache.get(path),n,v;if(!query){query=DQ.compile(path,"select");valueCache.add(path,query)}else{setupEscapes(path)}n=query(root);return DQ.getNodeValue(n[0]||n,defaultValue)},getNodeValue:function(node,defaultValue){if(typeof node.normalize=="function"){node.normalize()}var firstChild=node&&node.firstChild,v=firstChild?firstChild.nodeValue:null;if(defaultValue!==undefined&&(v==null||v==="")){v=defaultValue}return v},selectNumber:function(path,root,defaultValue){var v=DQ.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=doc.getElementById(el)}var isArray=Ext.isArray(el),result=DQ.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");var query=simpleCache.get(ss),result;if(!query){query=DQ.compile(ss,"simple");simpleCache.add(ss,query)}else{setupEscapes(ss)}result=query(els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w\-\\]+)/,select:useClassList?'n = byClassName(n, "{1}");':'n = byClassName(n, " {1} ");'},{re:/^\:([\w\-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w\-\\]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w\-\.]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],pseudos:{"first-child":function(c){var r=[],ri=-1,n,i,ci;for(i=0;(ci=n=c[i]);i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n,i,ci;for(i=0;(ci=n=c[i]);i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0,i,n,j,cn,pn;for(i=0;n=c[i];i++){pn=n.parentNode;if(batch!=pn._batch){j=0;for(cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l===0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f===0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1,i,ci,cns,j,cn,empty;for(i=0;ci=c[i];i++){cns=ci.childNodes;j=0;empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if((ci.textContent||ci.innerText||ci.text||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.checked===true){r[++ri]=ci}}return r},not:function(c,ss){return DQ.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s,i,ci,j;for(i=0;ci=c[i];i++){for(j=0;s=ss[j];j++){if(DQ.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=DQ.select,r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=DQ.is,r=[],ri=-1,i,ci,n;for(i=0;ci=c[i];i++){n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=DQ.is,r=[],ri=-1,i,ci,n;for(i=0;ci=c[i];i++){n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},focusable:function(candidates){var len=candidates.length,results=[],i=0,c;for(;i<len;i++){c=candidates[i];if(Ext.fly(c,"_DomQuery").isFocusable()){results.push(c)}}return results},visible:function(candidates,deep){var len=candidates.length,results=[],i=0,c;for(;i<len;i++){c=candidates[i];if(Ext.fly(c,"_DomQuery").isVisible(deep)){results.push(c)}}return results},isScrolled:function(c){var r=[],ri=-1,i,ci,s;for(i=0;ci=c[i];i++){s=Ext.fly(ci,"_DomQuery").getScroll();if(s.top>0||s.left>0){r[++ri]=ci}}return r}}}},function(){this._init()});Ext.define("Ext.data.reader.Xml",{extend:Ext.data.reader.Reader,alternateClassName:"Ext.data.XmlReader",alias:"reader.xml",config:{record:"",namespace:""},createAccessor:function(a){if(Ext.isEmpty(a)){return Ext.emptyFn}if(Ext.isFunction(a)){return a}return function(b){return this.getNodeValue(Ext.DomQuery.selectNode(a,b))}},getNodeValue:function(a){if(a){if(typeof a.normalize==="function"){a.normalize()}a=a.firstChild;if(a){return a.nodeValue}}return undefined},getResponseData:function(a){var c=a.responseXML,b="XML data not found in the response";if(!c){Ext.Logger.warn(b);return this.createReadError(b)}return c},getData:function(a){return a.documentElement||a},getRoot:function(b){var c=b.nodeName,a=this.getRootProperty();if(!a||(c&&c==a)){return b}else{if(Ext.DomQuery.isXml(b)){return Ext.DomQuery.selectNode(a,b)}}},extractData:function(a,b){var c=this.getRecord();if(c!==a.nodeName){a=Ext.DomQuery.select(c,a)}else{a=[a]}return this.callParent([a,b])},readRecords:function(c,b,a){if(Ext.isArray(c)){c=c[0]}return this.callParent([c,b,a])},createFieldAccessor:function(e){var d=this,c=d.getNamespace(),b,a;b=e.mapping||((c?c+"|":"")+e.name);if(typeof b==="function"){a=function(g){return e.mapping(g,d)}}else{a=function(g){return d.getNodeValue(Ext.DomQuery.selectNode(b,g))}}return a},deprecated:{"5.1.1":{properties:{xmlData:null}}}});Ext.define("Ext.data.writer.Xml",{extend:Ext.data.writer.Writer,alternateClassName:"Ext.data.XmlWriter",alias:"writer.xml",config:{documentRoot:"xmlData",defaultDocumentRoot:"xmlData",header:"",record:"record"},selectorRe:/[^>\s]+/g,writeRecords:function(b,c){var j=this,g=[],d=0,h=c.length,l=j.getDocumentRoot(),k=j.getRecord(),e=k.match(this.selectorRe),m=e.length,n=c.length!==1&&m===1,a;a=this.getTransform();if(a){c=a(c,b)}g.push(j.getHeader()||"");if(!l&&n){l=j.getDefaultDocumentRoot()}if(l){g.push("<",l,">")}for(d=0;d<m-1;d++){g.push("<",e[d],">")}k=e[d];for(d=0;d<h;++d){this.objectToElement(k,c[d],g)}for(d=m-2;d>-1;d--){g.push("</",e[d],">")}if(l){g.push("</",l,">")}b.setXmlData(g.join(""));return b},objectToElement:function(b,e,g){var p,m,h=[],d,c,k,j,l,a,n;if(!g){g=[]}g.push("<",b);for(p in e){m=e[p];if(p[0]==="@"){g.push(" ",p.substr(1),'="',m,'"')}else{if(typeof m==="object"){this.objectToElement(p,m,h)}else{d=p.match(this.selectorRe);if((c=d.length)>1){l=l||{};for(j=l,k=0;k<c;k++){a=j;n=d[k];j=j[n]||(j[n]={})}a[n]=m}else{h.push("<",p,">",m,"</",p,">")}}}}g.push(">");g.push.apply(g,h);if(l){for(p in l){m=l[p];this.objectToElement(p,m,g)}}g.push("</",b,">");return g}});Ext.define("Ext.data.XmlStore",{extend:Ext.data.Store,alias:"store.xml",constructor:function(a){a=Ext.apply({proxy:{type:"ajax",reader:"xml",writer:"xml"}},a);this.callParent([a])}});Ext.define("Ext.data.identifier.Negative",{extend:Ext.data.identifier.Sequential,alias:"data.identifier.negative",config:{increment:-1,seed:-1}});Ext.define("Ext.data.identifier.Uuid",{extend:Ext.data.identifier.Generator,alias:"data.identifier.uuid",isUnique:true,config:{id:null},constructor:function(a){this.callParent([a]);this.reconfigure(a)},reconfigure:function(b){var a=this.self;this.generate=(b&&b.version===1)?a.createSequential(b.salt,b.timestamp,b.clockSeq):a.createRandom()},clone:null,statics:{createRandom:function(){var c="xxxxxxxx-xxxx-4xxx-Rxxx-xMxxxxxxxxxx".split(""),b="0123456789abcdef".split(""),a=c.length,d=[];return function(){for(var g,h,e=0;e<a;++e){h=c[e];if(h!=="-"&&h!=="4"){g=Math.random()*16;g=(h==="R")?(g&3|8):(g|((h==="M")?1:0));h=b[g]}d[e]=h}return d.join("")}},createSequential:function(h,b,e){var g=[],k=Math.pow(2,32),i=h.lo,c=h.hi,j=b.lo,d=b.hi,a=function(n,m){var l=n.toString(16).toLowerCase();if(l.length>m){l=l.substring(l.length-m)}else{if(l.length<m){l=Ext.String.leftPad(l,m,"0")}}return l};if(typeof h==="number"){c=Math.floor(h/k);i=Math.floor(h-c*k)}if(typeof b==="number"){d=Math.floor(b/k);j=Math.floor(b-d*k)}c|=256;g[3]=a(128|((e>>>8)&63),2)+a(e&255,2);g[4]=a(c,4)+a(i,8);return function(){g[0]=a(j,8);g[1]=a(d&65535,4);g[2]=a(((d>>>16)&4095)|(1<<12),4);++j;if(j>=k){j=0;++d}return g.join("-")}}}},function(){this.Global=new this({id:"uuid"})});Ext.define("Ext.data.proxy.WebStorage",{extend:Ext.data.proxy.Client,alternateClassName:"Ext.data.WebStorageProxy",config:{id:undefined},constructor:function(a){this.callParent(arguments);this.cache={};this.initialize()},create:function(e){var k=this,d=e.getRecords(),c=d.length,a=k.getIds(),b,h,g,j;if(k.isHierarchical===undefined){k.isHierarchical=!!d[0].isNode;if(k.isHierarchical){k.getStorageObject().setItem(k.getTreeKey(),true)}}for(g=0;g<c;g++){h=d[g];if(h.phantom){h.phantom=false;j=h.identifier;if(j&&j.isUnique){b=h.getId()}else{b=k.getNextId()}}else{b=h.getId()}k.setRecord(h,b);h.commit();a.push(b)}k.setIds(a);e.setSuccessful(true)},read:function(k){var v=this,u,r=[],d=true,h=v.getModel(),e=0,t=k.getRecordCreator(),g,a,s,n,m,b,o,c,w,l,q,p;if(v.isHierarchical){r=v.getTreeData()}else{o=v.getIds();c=o.length;l=k.getId();if(l){w=v.getRecord(l);if(w!==null){b=t?t(w,h):new h(w)}if(b){r.push(b)}else{d=false}}else{a=k.getSorters();g=k.getFilters();s=k.getLimit();u=[];for(q=0;q<c;q++){w=v.getRecord(o[q]);b=t?t(w,h):new h(w);u.push(b)}if(a){Ext.Array.sort(u,Ext.util.Sorter.createComparator(a))}for(q=k.getStart()||0;q<c;q++){b=u[q];m=true;if(g){for(p=0,n=g.length;p<n;p++){m=g[p].filter(b)}}if(m){r.push(b);e++}if(s&&e===s){break}}}}if(d){k.setResultSet(new Ext.data.ResultSet({records:r,total:r.length,loaded:true}));k.setSuccessful(true)}else{k.setException("Unable to load records")}},update:function(c){var b=c.getRecords(),g=b.length,e=this.getIds(),a,h,d;for(d=0;d<g;d++){a=b[d];this.setRecord(a);a.commit();h=a.getId();if(h!==undefined&&Ext.Array.indexOf(e,h)===-1){e.push(h)}}this.setIds(e);c.setSuccessful(true)},erase:function(d){var g=this,c=d.getRecords(),a=g.getIds(),h=a.length,k=[],j={},e=c.length,b;for(;e--;){Ext.apply(j,g.removeRecord(c[e]))}for(e=0;e<h;e++){b=a[e];if(!j[b]){k.push(b)}}g.setIds(k);d.setSuccessful(true)},getRecord:function(d){var b=this,a=b.cache,c=!a[d]?Ext.decode(b.getStorageObject().getItem(b.getRecordKey(d))):a[d];if(!c){return null}a[d]=c;c[b.getModel().prototype.idProperty]=d;return Ext.merge({},c)},setRecord:function(k,c){if(c){k.set("id",c,{commit:true})}else{c=k.getId()}var m=this,a=k.getData(),h={},j=m.getModel(),l=j.getFields(),d=l.length,g=0,n,b,e,o;for(;g<d;g++){n=l[g];b=n.name;if(n.persist){h[b]=a[b]}}delete h[j.prototype.idProperty];if(k.isNode&&k.get("depth")===1){delete h.parentId}e=m.getStorageObject();o=m.getRecordKey(c);m.cache[c]=h;e.removeItem(o);e.setItem(o,Ext.encode(h))},removeRecord:function(a){var d=this,g=a.getId(),b={},c,e;b[g]=a;d.getStorageObject().removeItem(d.getRecordKey(g));delete d.cache[g];if(a.childNodes){e=a.childNodes;for(c=e.length;c--;){Ext.apply(b,d.removeRecord(e[c]))}}return b},getRecordKey:function(a){if(a.isModel){a=a.getId()}return Ext.String.format("{0}-{1}",this.getId(),a)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.getId())},getTreeKey:function(){return Ext.String.format("{0}-tree",this.getId())},getIds:function(){var e=this,c=(e.getStorageObject().getItem(e.getId())||"").split(","),d=c.length,a=this.getIdField().isStringField,b;if(d===1&&c[0]===""){c=[]}else{for(b=0;b<d;b++){c[b]=a?c[b]:+c[b]}}return c},getIdField:function(){return this.getModel().prototype.idField},setIds:function(a){var b=this.getStorageObject(),c=a.join(","),d=this.getId();b.removeItem(d);if(!Ext.isEmpty(c)){b.setItem(d,c)}},getNextId:function(){var c=this,d=c.getStorageObject(),b=c.getRecordCounterKey(),a=c.getIdField().isStringField,e;e=c.idGenerator.generate();d.setItem(b,e);if(a){e=e+""}return e},getTreeData:function(){var n=this,a=n.getIds(),e=a.length,j=[],b={},o=[],k=0,h=n.getModel(),q=h.prototype.idProperty,g,m,p,l,d,c;for(;k<e;k++){c=a[k];m=n.getRecord(c);j.push(m);b[c]=m;if(!m.parentId){o.push(m)}}g=o.length;Ext.Array.sort(j,n.sortByParentId);for(k=g;k<e;k++){m=j[k];l=m.parentId;if(!p||p[q]!==l){p=b[l];p.children=d=[]}d.push(m)}for(k=e;k--;){m=j[k];if(!m.children&&!m.leaf){m.loaded=true}}for(k=g;k--;){m=o[k];o[k]=new h(m)}return o},sortByParentId:function(b,a){return(b.parentId||0)-(a.parentId||0)},initialize:function(){var b=this,a=b.getStorageObject(),c=+a.getItem(b.getRecordCounterKey()),d=b.getId();a.setItem(d,a.getItem(d)||"");if(a.getItem(b.getTreeKey())){b.isHierarchical=true}b.idGenerator=new Ext.data.identifier.Sequential({seed:c?c+1:1})},clear:function(){var d=this,e=d.getStorageObject(),c=d.getIds(),a=c.length,b;for(b=0;b<a;b++){e.removeItem(d.getRecordKey(c[b]))}e.removeItem(d.getRecordCounterKey());e.removeItem(d.getTreeKey());e.removeItem(d.getId());d.cache={}},getStorageObject:function(){}});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("Ext.data.proxy.Rest",{extend:Ext.data.proxy.Ajax,alternateClassName:"Ext.data.RestProxy",alias:"proxy.rest",defaultActionMethods:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"},slashRe:/\/$/,periodRe:/\.$/,config:{appendId:true,format:null,batchActions:false,actionMethods:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"}},buildUrl:function(g){var i=this,e=g.getOperation(),c=e.getRecords(),h=c?c[0]:null,j=i.getFormat(),a=i.getUrl(g),b,d;if(h&&!h.phantom){b=h.getId()}else{b=e.getId()}if(i.getAppendId()&&i.isValidId(b)){if(!a.match(i.slashRe)){a+="/"}a+=encodeURIComponent(b);d=g.getParams();if(d){delete d[i.getIdParam()]}}if(j){if(!a.match(i.periodRe)){a+="."}a+=j}g.setUrl(a);return i.callParent([g])},isValidId:function(a){return a||a===0}});Ext.define("Ext.data.proxy.SessionStorage",{extend:Ext.data.proxy.WebStorage,alias:"proxy.sessionstorage",alternateClassName:"Ext.data.SessionStorageProxy",getStorageObject:function(){return window.sessionStorage}});Ext.define("Ext.data.validator.Bound",{extend:Ext.data.validator.Validator,alias:"data.validator.bound",type:"bound",config:{min:undefined,max:undefined,emptyMessage:"Must be present",minOnlyMessage:null,maxOnlyMessage:null,bothOnlyMessage:null},constructor:function(){var a=this;a.preventConfigure=true;a.callParent(arguments);delete a.preventConfigure;a.configure()},setConfig:function(){var a=this;a.preventConfigure=true;a.callParent(arguments);delete a.preventConfigure;a.configure()},configure:function(){var d=this,b,e,c,a;if(d.preventConfigure){return}c=d.getMin();a=d.getMax();b=d.hasMin=c!==undefined;e=d.hasMax=a!==undefined;if(b&&e){d._bothMsg=Ext.String.format(d.getBothMessage(),c,a)}else{if(b){d._minMsg=Ext.String.format(d.getMinOnlyMessage(),c)}else{if(e){d._maxMsg=Ext.String.format(d.getMaxOnlyMessage(),a)}}}},updateMin:function(){this.configure()},updateMax:function(){this.configure()},updateMinOnlyMessage:function(a){this.configure()},updateMaxOnlyMessage:function(){this.configure()},updateBothMessage:function(){this.configure()},validate:function(g){var e=this,c=e.hasMin,i=e.hasMax,d=e.getMin(),b=e.getMax(),h=this.validateValue(g),a;if(h!==true){return h}g=e.getValue(g);if(c&&i){if(g<d||g>b){h=e._bothMsg}}else{if(c){if(g<d){h=e._minMsg}}else{if(i){if(g>b){h=e._maxMsg}}}}return h},validateValue:function(a){if(a===undefined||a===null){return this.getEmptyMessage()}return true},getValue:Ext.identityFn});Ext.define("Ext.data.validator.Format",{extend:Ext.data.validator.Validator,alias:"data.validator.format",type:"format",config:{message:"Is in the wrong format",matcher:undefined},validate:function(b){var c=this.getMatcher(),a=c&&c.test(b);return a?a:this.getMessage()}});Ext.define("Ext.data.validator.Email",{extend:Ext.data.validator.Format,alias:"data.validator.email",type:"email",config:{message:"Is not a valid email address",matcher:/^(")?(?:[^\."])(?:(?:[\.])?(?:[\w\-!#$%&'*+\/=?\^_`{|}~]))*\1@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/}});Ext.define("Ext.data.validator.List",{extend:Ext.data.validator.Validator,alias:"data.validator.list",type:"list",config:{list:null},inclusion:null,validate:function(c){var b=Ext.Array.contains(this.getList(),c),e=this.inclusion,d=!e,a;a=(e&&b)||(d&&!b);return a||this.getMessage()}});Ext.define("Ext.data.validator.Exclusion",{extend:Ext.data.validator.List,alias:"data.validator.exclusion",type:"exclusion",config:{message:"Is a value that has been excluded"},inclusion:false});Ext.define("Ext.data.validator.Inclusion",{extend:Ext.data.validator.List,alias:"data.validator.inclusion",type:"inclusion",config:{message:"Is not in the list of acceptable values"},inclusion:true});Ext.define("Ext.data.validator.Length",{extend:Ext.data.validator.Bound,alias:"data.validator.length",type:"length",config:{minOnlyMessage:"Length must be at least {0}",maxOnlyMessage:"Length must be no more than {0}",bothMessage:"Length must be between {0} and {1}"},getValue:function(a){return String(a).length}});Ext.define("Ext.data.validator.Presence",{extend:Ext.data.validator.Validator,alias:"data.validator.presence",type:"presence",config:{message:"Must be present",allowEmpty:false},validate:function(b){var a=!(b===undefined||b===null);if(a&&!this.getAllowEmpty()){a=!(b==="")}return a?true:this.getMessage()}});Ext.define("Ext.data.validator.Range",{extend:Ext.data.validator.Bound,alias:"data.validator.range",type:"range",config:{minOnlyMessage:"Must be must be at least {0}",maxOnlyMessage:"Must be no more than than {0}",bothMessage:"Must be between {0} and {1}",nanMessage:"Must be numeric"},validateValue:function(a){var b=this.callParent([a]);if(b===true&&isNaN(a)){b=this.getNanMessage()}return b}});Ext.define("Ext.direct.Event",{alias:"direct.event",status:true,constructor:function(a){Ext.apply(this,a)},getName:function(){return this.name},getData:function(){return this.data}});Ext.define("Ext.direct.RemotingEvent",{extend:Ext.direct.Event,alias:"direct.rpc",getTransaction:function(){var a=this;return a.transaction||Ext.direct.Manager.getTransaction(a.tid)}});Ext.define("Ext.direct.ExceptionEvent",{extend:Ext.direct.RemotingEvent,alias:"direct.exception",status:false});Ext.define("Ext.direct.JsonProvider",{extend:Ext.direct.Provider,alias:"direct.jsonprovider",parseResponse:function(a){var b=a&&a.responseText;if(b){if(Ext.isObject(b)||Ext.isArray(b)){return b}return Ext.decode(b)}return null},createEvents:function(b){var h=this,j=null,d=[],g,c,a;try{j=h.parseResponse(b)}catch(k){g=new Ext.direct.ExceptionEvent({data:k,xhr:b,code:Ext.direct.Manager.exceptions.PARSE,message:"Error parsing json response: \n\n "+k});return[g]}if(Ext.isArray(j)){for(c=0,a=j.length;c<a;++c){d.push(h.createEvent(j[c]))}}else{if(Ext.isObject(j)){d.push(h.createEvent(j))}}return d},createEvent:function(a){if(typeof a!=="object"||!("type" in a)){return new Ext.direct.ExceptionEvent({data:a,code:Ext.direct.Manager.exceptions.DATA,message:"Invalid data: event type is not specified"})}return Ext.create("direct."+a.type,a)}});Ext.define("Ext.util.TaskRunner",{interval:10,timerId:null,constructor:function(a){var b=this;if(typeof a=="number"){b.interval=a}else{if(a){Ext.apply(b,a)}}b.tasks=[];b.timerFn=Ext.Function.bind(b.onTick,b)},newTask:function(b){var a=new Ext.util.TaskRunner.Task(b);a.manager=this;return a},start:function(a){var c=this,b=Ext.Date.now();if(!a.pending){c.tasks.push(a);a.pending=true}a.stopped=false;a.taskStartTime=b;a.taskRunTime=a.fireOnStart!==false?0:a.taskStartTime;a.taskRunCount=0;if(!c.firing){if(a.fireOnStart!==false){c.startTimer(0,b)}else{c.startTimer(a.interval,b)}}return a},stop:function(a){if(!a.stopped){a.stopped=true;if(a.onStop){a.onStop.call(a.scope||a,a)}}return a},stopAll:function(){Ext.each(this.tasks,this.stop,this)},firing:false,nextExpires:1e+99,onTick:function(){var n=this,g=n.tasks,a=Ext.Date.now(),o=1e+99,l=g.length,d=Ext.GlobalEvents,c,p,j,b,e,h,q;n.timerId=null;n.firing=true;for(j=0;j<l||j<(l=g.length);++j){b=g[j];if(!(h=b.stopped)){c=b.taskRunTime+b.interval;if(c<=a){e=1;if(b.hasOwnProperty("fireIdleEvent")){q=b.fireIdleEvent}else{q=n.fireIdleEvent}try{e=b.run.apply(b.scope||b,b.args||[++b.taskRunCount])}catch(k){try{if(b.onError){e=b.onError.call(b.scope||b,b,k)}}catch(m){}}b.taskRunTime=a;if(e===false||b.taskRunCount===b.repeat){n.stop(b);h=true}else{h=b.stopped;c=a+b.interval}}if(!h&&b.duration&&b.duration<=(a-b.taskStartTime)){n.stop(b);h=true}}if(h){b.pending=false;if(!p){p=g.slice(0,j)}}else{if(p){p.push(b)}if(o>c){o=c}}}if(p){n.tasks=p}n.firing=false;if(n.tasks.length){n.startTimer(o-a,Ext.Date.now())}if(q!==false&&d.hasListeners.idle){d.fireEvent("idle")}},startTimer:function(e,c){var d=this,b=c+e,a=d.timerId;if(a&&d.nextExpires-b>d.interval){clearTimeout(a);a=null}if(!a){if(e<d.interval){e=d.interval}d.timerId=Ext.defer(d.timerFn,e);d.nextExpires=b}}},function(){var b=this,a=b.prototype;a.destroy=a.stopAll;b.Task=new Ext.Class({isTask:true,stopped:true,fireOnStart:false,constructor:function(c){Ext.apply(this,c)},restart:function(c){if(c!==undefined){this.interval=c}this.manager.start(this)},start:function(c){if(this.stopped){this.restart(c)}},stop:function(){this.manager.stop(this)}});a=b.Task.prototype;a.destroy=a.stop});Ext.define("Ext.direct.PollingProvider",{extend:Ext.direct.JsonProvider,alias:"direct.pollingprovider",type:"polling",interval:3000,constructor:function(a){var b=this;b.callParent([a]);b.pollTask=Ext.TaskManager.newTask({run:b.runPoll,interval:b.interval,scope:b})},destroy:function(){this.pollTask=null;this.callParent()},doConnect:function(){var c=this,a=c.url,b=c.pollFn;if(b&&Ext.isString(b)){c.pollFn=b=Ext.direct.Manager.parseMethod(b)}else{if(Ext.isFunction(a)){c.pollFn=b=a;c.url=a=null}}if(a||b){c.setInterval(c.interval);c.pollTask.start()}},doDisconnect:function(){this.pollTask.stop()},getInterval:function(){return this.pollTask.interval},setInterval:function(a){var b=this,c=b.pollTask;b.interval=c.interval=a;if(b.isConnected()){c.restart(a)}},runPoll:function(){var d=this,b=d.url,c=d.pollFn,e=d.baseParams,a;if(d.fireEvent("beforepoll",d)!==false){if(c){a=c.directCfg.method.getArgs({params:e!==undefined?e:{},callback:d.onPollFn,scope:d});c.apply(window,a)}else{Ext.Ajax.request({url:b,callback:d.onData,scope:d,params:e})}d.fireEvent("poll",d)}},onData:function(e,h,b){var g=this,d,a,c;if(h){c=g.createEvents(b);for(d=0,a=c.length;d<a;++d){g.fireEvent("data",g,c[d])}}else{c=new Ext.direct.ExceptionEvent({data:null,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:b});g.fireEvent("data",g,c)}},onPollFn:function(a,c,d,b){this.onData(null,d,{responseText:a})},inheritableStatics:{checkConfig:function(a){return a&&a.type==="polling"&&(a.url||a.pollFn)}}});Ext.define("Ext.direct.RemotingMethod",{constructor:function(c){var i=this,e=c.params,h=c.len,k=c.metadata,j={},a,g,b,d;i.name=c.name;i.disableBatching=c.batched!=null?!c.batched:false;if(c.formHandler){i.formHandler=c.formHandler}else{if(Ext.isNumeric(h)){i.len=h;i.ordered=true}else{i.named=true;i.strict=c.strict!==undefined?c.strict:true;i.params={};g=e&&e.length;for(b=0;b<g;b++){d=e[b];a=Ext.isObject(d)?d.name:d;i.params[a]=true}}}if(k){e=k.params;h=k.len;if(Ext.isNumeric(h)){j.ordered=true;j.len=h}else{if(Ext.isArray(e)){j.named=true;j.params={};for(b=0,g=e.length;b<g;b++){d=e[b];j.params[d]=true}j.strict=k.strict!==undefined?k.strict:true}}i.metadata=j}},getArgs:function(b){var h=this,c=b.params,j=b.paramOrder,a=b.paramsAsHash,k=b.metadata,l=b.options,g=[],d,e;if(h.ordered){if(h.len>0){if(j){for(d=0,e=j.length;d<e;d++){g.push(c[j[d]])}}else{if(a){g.push(c)}}}}else{g.push(c)}g.push(b.callback,b.scope||window);if(l||k){l=Ext.apply({},l);if(k){l.metadata=k}g.push(l)}return g},getCallData:function(g){var h=this,d=null,e=h.len,c=h.params,j=h.strict,b,k,l,a,m,i;if(h.ordered){k=g[e];l=g[e+1];m=g[e+2];if(e!==0){d=g.slice(0,e)}}else{if(h.formHandler){b=g[0];k=g[1];l=g[2];m=g[3]}else{d=Ext.apply({},g[0]);k=g[1];l=g[2];m=g[3];if(j){for(a in d){if(d.hasOwnProperty(a)&&!c[a]){delete d[a]}}}}}if(h.metadata&&m&&m.metadata){if(h.metadata.ordered){i=m.metadata.slice(0,h.metadata.len)}else{i=Ext.apply({},m.metadata);if(h.metadata.strict){for(a in i){if(i.hasOwnProperty(a)&&!h.metadata.params[a]){delete i[a]}}}}delete m.metadata}return{form:b,data:d,metadata:i,callback:k,scope:l,options:m}}});Ext.define("Ext.direct.Transaction",{alias:"direct.transaction",statics:{TRANSACTION_ID:0},constructor:function(a){var b=this;Ext.apply(b,a);b.id=b.tid=++b.self.TRANSACTION_ID;b.retryCount=0},send:function(){var a=this;a.provider.queueTransaction(a)},retry:function(){var a=this;a.retryCount++;a.send()},getProvider:function(){return this.provider}});Ext.define("Ext.direct.RemotingProvider",{extend:Ext.direct.JsonProvider,alias:"direct.remotingprovider",type:"remoting",enableBuffer:10,bufferLimit:Number.MAX_VALUE,maxRetries:1,constructor:function(a){var b=this;b.callParent(arguments);b.namespace=(Ext.isString(b.namespace))?Ext.ns(b.namespace):b.namespace||Ext.global;b.transactions=new Ext.util.MixedCollection();b.callBuffer=[]},doConnect:function(){if(!this.apiCreated){this.initAPI();this.apiCreated=true}},getNamespace:function(b,e){var g,d,c,a;b=b||Ext.global;g=e.toString().split(".");for(c=0,a=g.length;c<a;c++){d=g[c];b=b[d];if(typeof b==="undefined"){return b}}return b},createNamespaces:function(b,e){var g,d,c,a;b=b||Ext.global;g=e.toString().split(".");for(c=0,a=g.length;c<a;c++){d=g[c];b[d]=b[d]||{};b=b[d]}return b},initAPI:function(){var k=this,g=k.actions,d=k.namespace,b=Ext.direct.Manager,e,m,c,h,j,a,l;for(e in g){if(g.hasOwnProperty(e)){if(k.disableNestedActions){m=d[e];if(!m){m=d[e]={}}}else{m=k.getNamespace(d,e);if(!m){m=k.createNamespaces(d,e)}}c=g[e];for(h=0,j=c.length;h<j;++h){a=new Ext.direct.RemotingMethod(c[h]);m[a.name]=l=k.createHandler(e,a);b.registerMethod(l.$name,l)}}}},createHandler:function(c,e){var b=this,d=Array.prototype.slice,a;if(!e.formHandler){a=function(){b.configureRequest(c,e,d.call(arguments,0))}}else{a=function(){b.configureFormRequest(c,e,d.call(arguments,0))}}a.name=a.$name=c+"."+e.name;a.$directFn=true;a.directCfg=a.$directCfg={action:c,method:e};return a},connect:function(){var a=this;a.callParent()},runCallback:function(g,c){var e=!!c.status,d=e?"success":"failure",h,b,a;if(g&&g.callback){h=g.callback;b=g.callbackOptions;a=typeof c.result!=="undefined"?c.result:c.data;if(Ext.isFunction(h)){h(a,c,e,b)}else{Ext.callback(h[d],h.scope,[a,c,e,b]);Ext.callback(h.callback,h.scope,[a,c,e,b])}}},onData:function(l,j,c){var g=this,d,e,k,a,b,h;if(j){k=g.createEvents(c);for(d=0,e=k.length;d<e;++d){a=k[d];b=g.getTransaction(a);g.fireEvent("data",g,a);if(b&&g.fireEvent("beforecallback",g,a,b)!==false){g.runCallback(b,a,true)}Ext.direct.Manager.removeTransaction(b)}}else{h=[].concat(l.transaction);for(d=0,e=h.length;d<e;++d){b=g.getTransaction(h[d]);if(b&&b.retryCount<g.maxRetries){b.retry()}else{a=new Ext.direct.ExceptionEvent({data:null,transaction:b,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:c});g.fireEvent("data",g,a);if(b&&g.fireEvent("beforecallback",g,a,b)!==false){g.runCallback(b,a,false)}Ext.direct.Manager.removeTransaction(b)}}}},getTransaction:function(a){return a&&a.tid?Ext.direct.Manager.getTransaction(a.tid):null},getPayload:function(b){var a={action:b.action,method:b.method,data:b.data,type:"rpc",tid:b.id};if(b.metadata){a.metadata=b.metadata}return a},sendRequest:function(a){var h=this,d,b,c,k=h.enableUrlEncode,j,e,g;d={url:h.url,callback:h.onData,scope:h,transaction:a,timeout:h.timeout};if(a.timeout){d.timeout=a.timeout}if(Ext.isArray(a)){b=[];for(e=0,g=a.length;e<g;++e){j=h.getPayload(a[e]);b.push(j)}}else{b=h.getPayload(a)}if(k){c={};c[Ext.isString(k)?k:"data"]=Ext.encode(b);d.params=c}else{d.jsonData=b}Ext.Ajax.request(d)},queueTransaction:function(d){var c=this,b=c.callBuffer,a=c.enableBuffer;if(d.form){c.sendFormRequest(d);return}if(a===false||d.disableBatching||typeof d.timeout!=="undefined"){c.sendRequest(d);return}b.push(d);if(a&&b.length<c.bufferLimit){if(!c.callTask){c.callTask=new Ext.util.DelayedTask(c.combineAndSend,c)}c.callTask.delay(Ext.isNumber(a)?a:10)}else{c.combineAndSend()}},combineAndSend:function(){var c=this,b=c.callBuffer,a=b.length;if(a>0){c.sendRequest(a===1?b[0]:b);c.callBuffer=[]}},configureTransaction:function(d,a,g,h){var e,b,i,j,c;e=a.getCallData(g);b=e.callback;i=e.scope;j=e.options;b=b&&i?Ext.Function.bind(b,i):b;c=Ext.apply({},{provider:this,args:g,action:d,method:a.name,form:e.form,data:e.data,metadata:e.metadata,callbackOptions:j,callback:b,isForm:h,disableBatching:a.disableBatching});if(j&&j.timeout!=null){c.timeout=j.timeout}return new Ext.direct.Transaction(c)},configureRequest:function(c,e,a){var b=this,d;d=b.configureTransaction(c,e,a);if(b.fireEvent("beforecall",b,d,e)!==false){Ext.direct.Manager.addTransaction(d);b.queueTransaction(d);b.fireEvent("call",b,d,e)}},configureFormRequest:function(e,i,b){var d=this,g,c,a,h;g=d.configureTransaction(e,i,b,true);if(d.fireEvent("beforecall",d,g,i)!==false){Ext.direct.Manager.addTransaction(g);c=g.form;a=String(c.getAttribute("enctype")).toLowerCase()==="multipart/form-data";h={extTID:g.id,extAction:e,extMethod:i.name,extType:"rpc",extUpload:String(a)};if(g.metadata){h.extMetadata=Ext.JSON.encode(g.metadata)}Ext.apply(g,{form:c,isUpload:a,params:h});d.sendFormRequest(g);d.fireEvent("call",d,g,i)}},sendFormRequest:function(b){var a=this;Ext.Ajax.request({url:a.url,params:b.params,callback:a.onData,scope:a,form:b.form,isUpload:b.isUpload,transaction:b})},inheritableStatics:{checkConfig:function(a){return a&&a.type==="remoting"&&a.url&&Ext.isArray(a.actions)}}});Ext.define("Ext.dom.Fly",{extend:Ext.dom.Element,alternateClassName:"Ext.dom.Element.Fly",validNodeTypes:{1:1,9:1,11:1},isFly:true,constructor:function(a){this.dom=a;this.el=this},attach:function(b){var a=this;if(!b){return a.detach()}a.dom=b;if(!Ext.cache[b.id]){a.getData().isSynchronized=false}return a},detach:function(){this.dom=null},addListener:null,removeListener:null},function(a){var b={};a.cache=b;Ext.fly=function(i,d){var g=null,e=Ext.fly,c,h;d=d||(e.caller&&e.caller.$name)||"_global";i=Ext.getDom(i);if(i){c=i.nodeType;if(a.prototype.validNodeTypes[c]||(!c&&(i.window==i))){g=Ext.cache[i.id];if(!g||g.dom!==i){g=b[d]||(b[d]=new a());g.dom=i;h=g.getData(true);if(h){h.isSynchronized=false}}}}return g}});Ext.define("Ext.dom.CompositeElementLite",{alternateClassName:["Ext.CompositeElementLite"],isComposite:true,isLite:true,statics:{importElementMethods:function(){var a=Ext.dom.Element,b=this.prototype;Ext.Object.each(a.prototype,function(c,d){if(typeof d==="function"&&!b[c]){b[c]=function(){return this.invoke(c,arguments)}}})}},constructor:function(b,a){if(a){this.elements=b||[]}else{this.elements=[];this.add(b)}},getElement:function(b){var a=this._fly||(this._fly=new Ext.dom.Fly());return a.attach(b)},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(c,a){var e=this.elements,b,d;if(!c){return this}if(typeof c=="string"){c=Ext.fly(a||document).query(c)}else{if(c.isComposite){c=c.elements}else{if(!Ext.isIterable(c)){c=[c]}}}for(b=0,d=c.length;b<d;++b){e.push(this.transformElement(c[b]))}return this},invoke:function(e,b){var h=this,j=h.elements,g=j.length,a,d,c;if(c!==0){a=(h.isLite?Ext.dom.Fly:Ext.dom.Element).prototype;for(c=0;c<g;c++){d=j[c];if(d){a[e].apply(h.getElement(d),b)}}}return h},item:function(b){var c=this.elements[b],a=null;if(c){a=this.getElement(c)}return a},slice:function(b,a){return Ext.Array.slice(this.elements,b,a)},each:function(g,d){var h=this,c=h.elements,a=c.length,b,j;for(b=0;b<a;b++){j=c[b];if(j){j=this.getElement(j);if(g.call(d||j,j,h,b)===false){break}}}return h},fill:function(a){var b=this;b.elements=[];b.add(a);return b},insert:function(b,a){Ext.Array.insert(this.elements,b,a)},filter:function(b){var h=this,c=h.elements,g=c.length,d=[],e=0,j=typeof b=="function",k,a;for(;e<g;e++){a=c[e];k=false;if(a){a=h.getElement(a);if(j){k=b.call(a,a,h,e)!==false}else{k=a.is(b)}if(k){d.push(h.transformElement(a))}}}h.elements=d;return h},indexOf:function(a){return Ext.Array.indexOf(this.elements,this.transformElement(a))},replaceElement:function(e,c,a){var b=!isNaN(e)?e:this.indexOf(e),g;if(b>-1){c=Ext.getDom(c);if(a){g=this.elements[b];g.parentNode.insertBefore(c,g);Ext.removeNode(g)}Ext.Array.splice(this.elements,b,1,c)}return this},clear:function(d){var c=this,b=c.elements,a=b.length-1;if(d){for(;a>=0;a--){Ext.removeNode(b[a])}}this.elements=[]},addElements:function(d,b){if(!d){return this}if(typeof d==="string"){d=Ext.dom.Element.selectorFunction(d,b)}var c=this.elements,a=d.length,g;for(g=0;g<a;g++){c.push(Ext.get(d[g]))}return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(a){return this.indexOf(a)!=-1},removeElement:function(e,i){e=[].concat(e);var d=this,g=d.elements,c=e.length,h,b,a;for(a=0;a<c;a++){h=e[a];if((b=(g[h]||g[h=d.indexOf(h)]))){if(i){if(b.dom){b.destroy()}else{Ext.removeNode(b)}}Ext.Array.erase(g,h,1)}}return d},destroy:function(){return this.invoke("destroy",arguments);this.callParent()}},function(b){var a=b.prototype;b.importElementMethods();a.on=a.addListener});Ext.define("Ext.dom.CompositeElement",{alternateClassName:"Ext.CompositeElement",extend:Ext.dom.CompositeElementLite,isLite:false,getElement:function(a){return a},transformElement:function(a){return Ext.get(a)}});Ext.define("Ext.dom.GarbageCollector",{singleton:true,interval:30000,constructor:function(){var a=this;a.collect=Ext.Function.bind(a.collect,a);a.lastTime=Ext.now();a.resume()},collect:function(){var j=this,a=Ext.cache,b,g,c,k,h,d;for(b in a){if(!a.hasOwnProperty(b)){continue}c=a[b];if(c.skipGarbageCollection){continue}g=c.dom;try{h=Ext.isGarbage(g)}catch(i){delete a[b];continue}if(h){if(c&&c.dom){c.collect()}}}if(Ext.isIE9m){k={};for(b in a){if(a.hasOwnProperty(b)){k[b]=a[b]}}Ext.cache=Ext.dom.Element.cache=k}j.lastTime=Ext.now()},pause:function(){clearTimeout(this.timerId)},resume:function(){var a=this,b=a.lastTime;if(Ext.enableGarbageCollector&&(Ext.now()-b>a.interval)){a.collect()}a.timerId=Ext.interval(a.collect,a.interval)}});Ext.define("Ext.event.gesture.Recognizer",{mixins:[Ext.mixin.Identifiable],priority:0,handledEvents:[],config:{onRecognized:Ext.emptyFn,callbackScope:null},constructor:function(a){this.initConfig(a);Ext.event.publisher.Gesture.instance.registerRecognizer(this)},onStart:Ext.emptyFn,onEnd:Ext.emptyFn,onTouchStart:Ext.emptyFn,onTouchMove:Ext.emptyFn,onTouchEnd:Ext.emptyFn,onTouchCancel:Ext.emptyFn,fail:function(){return false},fire:function(){this.getOnRecognized().apply(this.getCallbackScope(),arguments)},reset:Ext.emptyFn,debugHooks:{$enabled:false,fail:function(a){Ext.log.info(this.$className+" Gesture Failed: "+a);return false}}});Ext.define("Ext.event.gesture.SingleTouch",{extend:Ext.event.gesture.Recognizer,inheritableStatics:{NOT_SINGLE_TOUCH:"Not Single Touch",TOUCH_MOVED:"Touch Moved",EVENT_CANCELED:"Event Canceled"},onTouchStart:function(a){if(a.touches.length>1){return this.fail(this.self.NOT_SINGLE_TOUCH)}},onTouchCancel:function(){return false}});Ext.define("Ext.event.gesture.DoubleTap",{extend:Ext.event.gesture.SingleTouch,priority:300,inheritableStatics:{DIFFERENT_TARGET:"Different Target"},config:{moveDistance:8,tapDistance:24,maxDuration:300},handledEvents:["singletap","doubletap"],singleTapTimer:null,startTime:0,lastTapTime:0,onTouchStart:function(c){var b=this,a;if(b.callParent(arguments)===false){return false}a=b.lastStartPoint=c.changedTouches[0].point;b.startPoint=b.startPoint||a;b.startTime=c.time;clearTimeout(b.singleTapTimer)},onTouchMove:function(c){var b=this,a=c.changedTouches[0].point;if(Math.abs(a.getDistanceTo(b.lastStartPoint))>=b.getMoveDistance()){b.startPoint=null;return b.fail(b.self.TOUCH_MOVED)}},onTouchEnd:function(g){var i=this,d=i.getMaxDuration(),a=g.time,h=g.target,j=i.lastTapTime,b=i.lastTarget,k=g.changedTouches[0].point,c;i.lastTapTime=a;i.lastTarget=h;if(j){c=a-j;if(c<=d&&Math.abs(k.getDistanceTo(i.startPoint))<=i.getTapDistance()){if(h!==b){return i.fail(i.self.DIFFERENT_TARGET)}i.lastTarget=null;i.lastTapTime=0;i.fire("doubletap",g,{touch:g.changedTouches[0],duration:c});i.startPoint=null;return}}if(a-i.startTime>d){i.fireSingleTap(g)}else{i.setSingleTapTimer(g)}},setSingleTapTimer:function(b){var a=this;a.singleTapTimer=Ext.defer(function(){a.fireSingleTap(b)},a.getMaxDuration())},fireSingleTap:function(a,b){this.fire("singletap",a,{touch:b});this.startPoint=null},reset:function(){var a=this;a.startTime=a.lastTapTime=0;a.lastStartPoint=a.startPoint=a.singleTapTimer=null}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.doubleTap)});Ext.define("Ext.event.gesture.Drag",{extend:Ext.event.gesture.SingleTouch,priority:100,isStarted:false,startPoint:null,previousPoint:null,lastPoint:null,handledEvents:["dragstart","drag","dragend","dragcancel"],config:{minDistance:8},constructor:function(){this.callParent(arguments);this.initInfo()},initInfo:function(){this.info={touch:null,previous:{x:0,y:0},x:0,y:0,delta:{x:0,y:0},absDelta:{x:0,y:0},flick:{velocity:{x:0,y:0}},direction:{x:0,y:0},time:0,previousTime:{x:0,y:0}}},onTouchStart:function(a){if(this.callParent(arguments)===false){if(this.isStarted&&this.lastMoveEvent!==null){this.lastMoveEvent.isStopped=false;this.onTouchEnd(this.lastMoveEvent)}return false}this.startTime=a.time;this.startPoint=a.changedTouches[0].point},tryDragStart:function(d){var b=this.startPoint,h=d.changedTouches[0],a=h.point,g=this.getMinDistance(),c=this.info;if(Math.abs(a.getDistanceTo(b))>=g){this.isStarted=true;this.previousPoint=this.lastPoint=a;this.resetInfo("x",d,h);this.resetInfo("y",d,h);c.time=d.time;this.fire("dragstart",d,c)}},onTouchMove:function(b){if(!this.isStarted){this.tryDragStart(b)}if(!this.isStarted){return}var c=b.changedTouches[0],a=c.point;if(this.lastPoint){this.previousPoint=this.lastPoint}this.lastPoint=a;this.lastMoveEvent=b;this.updateInfo("x",b,c);this.updateInfo("y",b,c);this.info.time=b.time;this.fire("drag",b,this.info)},onAxisDragEnd:function(a,c){var b=c.time-c.previousTime[a];if(b>0){c.flick.velocity[a]=(c[a]-c.previous[a])/b}},resetInfo:function(c,h,j){var d=this.lastPoint[c],b=this.startPoint[c],i=d-b,a=c.toUpperCase(),g=this.info;g.touch=j;g.delta[c]=i;g.absDelta[c]=Math.abs(i);g.previousTime[c]=this.startTime;g.previous[c]=b;g[c]=d;g.direction[c]=0;g["start"+a]=this.startPoint[c];g["previous"+a]=g.previous[c];g["page"+a]=g[c];g["delta"+a]=g.delta[c];g["absDelta"+a]=g.absDelta[c];g["previousDelta"+a]=0;g.startTime=this.startTime},updateInfo:function(d,j,i){var k=this,m=k.lastPoint[d],g=k.previousPoint[d],a=k.startPoint[d],n=m-a,c=k.info,l=c.direction,h=d.toUpperCase(),b=c.previous[d];c.touch=i;c.delta[d]=n;c.absDelta[d]=Math.abs(n);if(m!==b&&m!==c[d]){c.previous[d]=c[d];c.previousTime[d]=c.time}c[d]=m;if(m>g){l[d]=1}else{if(m<g){l[d]=-1}}c["start"+h]=a;c["previous"+h]=c.previous[d];c["page"+h]=c[d];c["delta"+h]=c.delta[d];c["absDelta"+h]=c.absDelta[d];c["previousDelta"+h]=c.previous[d]-a;c.startTime=k.startTime},onTouchEnd:function(a){this.doEnd(a)},onTouchCancel:function(a){this.doEnd(a,true);return false},doEnd:function(d,b){if(!this.isStarted){this.tryDragStart(d)}if(this.isStarted){var g=d.changedTouches[0],a=g.point,c=this.info;this.isStarted=false;this.lastPoint=a;this.updateInfo("x",d,g);this.updateInfo("y",d,g);c.time=d.time;this.onAxisDragEnd("x",c);this.onAxisDragEnd("y",c);this.fire(b?"dragcancel":"dragend",d,c);this.startPoint=null;this.previousPoint=null;this.lastPoint=null;this.lastMoveEvent=null}},reset:function(){var a=this;a.isStarted=a.lastPoint=a.startPoint=a.previousPoint=a.lastPoint=a.lastMoveEvent=null;a.initInfo()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.drag)});Ext.define("Ext.event.gesture.Swipe",{extend:Ext.event.gesture.SingleTouch,priority:500,handledEvents:["swipestart","swipe","swipecancel"],inheritableStatics:{MAX_OFFSET_EXCEEDED:"Max Offset Exceeded",MAX_DURATION_EXCEEDED:"Max Duration Exceeded",DISTANCE_NOT_ENOUGH:"Distance Not Enough"},config:{minDistance:80,maxOffset:35,maxDuration:1000},onTouchStart:function(a){if(this.callParent(arguments)===false){return false}var b=a.changedTouches[0];this.startTime=a.time;this.isHorizontal=true;this.isVertical=true;this.startX=b.pageX;this.startY=b.pageY},onTouchMove:function(k){var j=k.changedTouches[0],n=j.pageX,l=j.pageY,i=n-this.startX,h=l-this.startY,d=Math.abs(n-this.startX),c=Math.abs(l-this.startY),g=k.time-this.startTime,o=this.getMinDistance(),b=k.time,m,a;if(b-this.startTime>this.getMaxDuration()){return this.fail(this.self.MAX_DURATION_EXCEEDED)}if(this.isHorizontal&&c>this.getMaxOffset()){this.isHorizontal=false}if(this.isVertical&&d>this.getMaxOffset()){this.isVertical=false}if(!this.isVertical||!this.isHorizontal){if(this.isHorizontal&&d<o){m=(i<0)?"left":"right";a=d}else{if(this.isVertical&&c<o){m=(h<0)?"up":"down";a=c}}}if(m&&!this.started){this.started=true;this.fire("swipestart",k,{touch:j,direction:m,distance:a,duration:g})}if(!this.isHorizontal&&!this.isVertical){return this.fail(this.self.MAX_OFFSET_EXCEEDED)}},onTouchEnd:function(j){if(this.onTouchMove(j)===false){return false}var i=j.changedTouches[0],m=i.pageX,k=i.pageY,h=m-this.startX,g=k-this.startY,c=Math.abs(h),b=Math.abs(g),n=this.getMinDistance(),d=j.time-this.startTime,l,a;if(this.isVertical&&b<n){this.isVertical=false}if(this.isHorizontal&&c<n){this.isHorizontal=false}if(this.isHorizontal){l=(h<0)?"left":"right";a=c}else{if(this.isVertical){l=(g<0)?"up":"down";a=b}else{return this.fail(this.self.DISTANCE_NOT_ENOUGH)}}this.started=false;this.fire("swipe",j,{touch:i,direction:l,distance:a,duration:d})},onTouchCancel:function(a){this.fire("swipecancel",a);return false},reset:function(){var a=this;a.startTime=a.isHorizontal=a.isVertical=a.startX=a.startY=null}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.swipe)});Ext.define("Ext.event.gesture.EdgeSwipe",{extend:Ext.event.gesture.Swipe,priority:800,handledEvents:["edgeswipe","edgeswipestart","edgeswipeend","edgeswipecancel"],inheritableStatics:{NOT_NEAR_EDGE:"Not Near Edge"},config:{minDistance:60},onTouchStart:function(a){if(this.callParent(arguments)===false){return false}var b=a.changedTouches[0];this.started=false;this.direction=null;this.isHorizontal=true;this.isVertical=true;this.startX=b.pageX;this.startY=b.pageY},onTouchMove:function(l){var j=l.changedTouches[0],p=j.pageX,m=j.pageY,i=p-this.startX,h=m-this.startY,b=Math.abs(m-this.startY),c=Math.abs(p-this.startX),q=this.getMinDistance(),g=this.getMaxOffset(),d=l.time-this.startTime,o=Ext.Viewport&&Ext.Element.getViewportWidth(),k=Ext.Viewport&&Ext.Element.getViewportHeight(),n,a;if(this.isVertical&&c>g){this.isVertical=false}if(this.isHorizontal&&b>g){this.isHorizontal=false}if(this.isVertical&&this.isHorizontal){if(b>c){this.isHorizontal=false}else{this.isVertical=false}}if(this.isHorizontal){n=(i<0)?"left":"right";a=i}else{if(this.isVertical){n=(h<0)?"up":"down";a=h}}n=this.direction||(this.direction=n);if(n==="up"){a=h*-1}else{if(n==="left"){a=i*-1}}this.distance=a;if(!a){return this.fail(this.self.DISTANCE_NOT_ENOUGH)}if(!this.started){if(n==="right"&&this.startX>q){return this.fail(this.self.NOT_NEAR_EDGE)}else{if(n==="down"&&this.startY>q){return this.fail(this.self.NOT_NEAR_EDGE)}else{if(n==="left"&&(o-this.startX)>q){return this.fail(this.self.NOT_NEAR_EDGE)}else{if(n==="up"&&(k-this.startY)>q){return this.fail(this.self.NOT_NEAR_EDGE)}}}}this.started=true;this.startTime=l.time;this.fire("edgeswipestart",l,{touch:j,direction:n,distance:a,duration:d})}else{this.fire("edgeswipe",l,{touch:j,direction:n,distance:a,duration:d})}},onTouchEnd:function(b){var a;if(this.onTouchMove(b)!==false){a=b.time-this.startTime;this.fire("edgeswipeend",b,{touch:b.changedTouches[0],direction:this.direction,distance:this.distance,duration:a})}},onTouchCancel:function(a){this.fire("edgeswipecancel",a,{touch:a.changedTouches[0]});return false},reset:function(){var a=this;a.started=a.direction=a.isHorizontal=a.isVertical=a.startX=a.startY=a.startTime=a.distance=null}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.edgeSwipe)});Ext.define("Ext.event.gesture.LongPress",{extend:Ext.event.gesture.SingleTouch,priority:400,inheritableStatics:{DURATION_NOT_ENOUGH:"Duration Not Enough"},config:{moveDistance:8,minDuration:1000},handledEvents:["longpress","taphold"],fireLongPress:function(a){this.fire("longpress",a,{touch:a.changedTouches[0],duration:this.getMinDuration()});this.isLongPress=true},onTouchStart:function(a){if(this.callParent(arguments)===false){return false}this.startPoint=a.changedTouches[0].point;this.isLongPress=false;this.setLongPressTimer(a)},setLongPressTimer:function(b){var a=this;a.timer=Ext.defer(function(){a.fireLongPress(b)},a.getMinDuration())},onTouchMove:function(b){var a=b.changedTouches[0].point;if(Math.abs(a.getDistanceTo(this.startPoint))>=this.getMoveDistance()){return this.fail(this.self.TOUCH_MOVED)}},onTouchEnd:function(){if(!this.isLongPress){return this.fail(this.self.DURATION_NOT_ENOUGH)}},fail:function(){clearTimeout(this.timer);return this.callParent(arguments)},reset:function(){this.isLongPress=this.startPoint=null},fire:function(a){if(a==="longpress"){var b=Array.prototype.slice.call(arguments);b[0]="taphold";this.fire.apply(this,b)}return this.callParent(arguments)}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.longPress)});Ext.define("Ext.event.gesture.MultiTouch",{extend:Ext.event.gesture.Recognizer,requiredTouchesCount:2,isTracking:false,isStarted:false,onTouchStart:function(d){var a=this.requiredTouchesCount,c=d.touches,b=c.length;if(b===a){this.start(d)}else{if(b>a){this.end(d)}}},onTouchEnd:function(a){this.end(a)},onTouchCancel:function(a){this.end(a,true);return false},start:function(){if(!this.isTracking){this.isTracking=true;this.isStarted=false}},end:function(b,a){if(this.isTracking){this.isTracking=false;if(this.isStarted){this.isStarted=false;this[a?"fireCancel":"fireEnd"](b)}}},reset:function(){this.isTracking=this.isStarted=false}});Ext.define("Ext.event.gesture.Pinch",{extend:Ext.event.gesture.MultiTouch,priority:600,handledEvents:["pinchstart","pinch","pinchend","pinchcancel"],startDistance:0,lastTouches:null,onTouchMove:function(c){if(!this.isTracking){return}var b=c.touches,d,a,g;d=b[0].point;a=b[1].point;g=d.getDistanceTo(a);if(g===0){return}if(!this.isStarted){this.isStarted=true;this.startDistance=g;this.fire("pinchstart",c,{touches:b,distance:g,scale:1})}else{this.fire("pinch",c,{touches:b,distance:g,scale:g/this.startDistance})}},fireEnd:function(a){this.fire("pinchend",a)},fireCancel:function(a){this.fire("pinchcancel",a)},fail:function(){return this.callParent(arguments)},reset:function(){this.lastTouches=null;this.startDistance=0;this.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.pinch)});Ext.define("Ext.event.gesture.Rotate",{extend:Ext.event.gesture.MultiTouch,priority:700,handledEvents:["rotatestart","rotate","rotateend","rotatecancel"],startAngle:0,lastTouches:null,lastAngle:null,onTouchMove:function(i){if(!this.isTracking){return}var h=i.touches,b=this.lastAngle,d,g,c,a,j,k;d=h[0].point;g=h[1].point;c=d.getAngleTo(g);if(b!==null){k=Math.abs(b-c);a=c+360;j=c-360;if(Math.abs(a-b)<k){c=a}else{if(Math.abs(j-b)<k){c=j}}}this.lastAngle=c;if(!this.isStarted){this.isStarted=true;this.startAngle=c;this.fire("rotatestart",i,{touches:h,angle:c,rotation:0})}else{this.fire("rotate",i,{touches:h,angle:c,rotation:c-this.startAngle})}this.lastTouches=Ext.Array.clone(h)},fireEnd:function(a){this.lastAngle=null;this.fire("rotateend",a)},fireCancel:function(a){this.lastAngle=null;this.fire("rotatecancel",a)},reset:function(){var a=this;a.lastTouches=a.lastAngle=a.startAngle=null;this.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.rotate)});Ext.define("Ext.event.gesture.Tap",{extend:Ext.event.gesture.SingleTouch,priority:200,handledEvents:["tap","tapcancel"],config:{moveDistance:8},onTouchStart:function(a){if(this.callParent([a])===false){return false}this.startPoint=a.changedTouches[0].point},onTouchMove:function(b){var c=b.changedTouches[0],a=c.point;if(Math.abs(a.getDistanceTo(this.startPoint))>=this.getMoveDistance()){this.fire("tapcancel",b,{touch:c});return this.fail(this.self.TOUCH_MOVED)}},onTouchEnd:function(a){this.fire("tap",a,{touch:a.changedTouches[0]})},onTouchCancel:function(a){this.fire("tapcancel",a,{touch:a.changedTouches[0]});return false},reset:function(){this.startPoint=null}},function(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.tap)});Ext.define("Ext.event.publisher.Focus",{extend:Ext.event.publisher.Dom,type:"focus",handledEvents:["focusenter","focusleave","focusmove"],handledDomEvents:["focusin","focusout"],doDelegatedEvent:function(d,c){var b=this,a;d=b.callParent([d,false]);if(d){if(d.type==="focusout"){if(d.relatedTarget==null){b.processFocusIn(d,d.target,document.body,c)}}else{a=d.relatedTarget;b.processFocusIn(d,(a==null||!a.tagName)?document.body:a,d.target,c)}}},processFocusIn:function(j,k,c,m){var l=this,n,b,i=[],a,h,g,d;g=Ext.fly(k);d=Ext.fly(c);if((g&&g.isFocusSuspended())||(d&&d.isFocusSuspended())){return}for(b=k,n=Ext.dom.Element.getCommonAncestor(c,k,true);b&&b!==n;b=b.parentNode){i.push(b)}if(i.length){a=l.createSyntheticEvent("focusleave",j,k,c);l.publish("focusleave",i,a);if(a.isStopped){return}}i.length=0;for(b=c;b!==n;b=b.parentNode){i.push(b)}h=l.createSyntheticEvent("focusenter",j,c,k);if(i.length){l.publish("focusenter",i,h);if(h.isStopped){return}}i=l.getPropagatingTargets(n);if(i.length){a=l.createSyntheticEvent("focusmove",j,c,k);l.publish("focusmove",i,a);if(a.isStopped){return}}if(m){l.afterEvent(j)}Ext.GlobalEvents.fireEvent("focus",{event:h,toElement:c,fromElement:k})},createSyntheticEvent:function(b,e,d,a){var c=new Ext.event.Event(e);c.type=b;c.relatedTarget=a;c.target=d;return c}},function(b){var a;b.instance=new b();if(!Ext.supports.FocusinFocusoutEvents){this.override({handledDomEvents:["focus","blur"],doDelegatedEvent:function(h,g){var d=this;h=d.callSuper([h,false]);if(h){clearTimeout(a);a=0;if(h.type==="blur"){var c=h.target===window?document.body:h.target;a=setTimeout(function(){a=0;d.processFocusIn(h,c,document.body,g);b.previousActiveElement=null},0);if(h.target===window||h.target===document){b.previousActiveElement=null}else{b.previousActiveElement=h.target}}else{d.processFocusIn(h,b.previousActiveElement||document.body,h.target===window?document.body:h.target,g)}}}})}});Ext.define("Ext.fx.runner.Css",{extend:Ext.Evented,prefixedProperties:{transform:true,"transform-origin":true,perspective:true,"transform-style":true,transition:true,"transition-property":true,"transition-duration":true,"transition-timing-function":true,"transition-delay":true,animation:true,"animation-name":true,"animation-duration":true,"animation-iteration-count":true,"animation-direction":true,"animation-timing-function":true,"animation-delay":true},lengthProperties:{top:true,right:true,bottom:true,left:true,width:true,height:true,"max-height":true,"max-width":true,"min-height":true,"min-width":true,"margin-bottom":true,"margin-left":true,"margin-right":true,"margin-top":true,"padding-bottom":true,"padding-left":true,"padding-right":true,"padding-top":true,"border-bottom-width":true,"border-left-width":true,"border-right-width":true,"border-spacing":true,"border-top-width":true,"border-width":true,"outline-width":true,"letter-spacing":true,"line-height":true,"text-indent":true,"word-spacing":true,"font-size":true,translate:true,translateX:true,translateY:true,translateZ:true,translate3d:true},durationProperties:{"transition-duration":true,"transition-delay":true,"animation-duration":true,"animation-delay":true},angleProperties:{rotate:true,rotateX:true,rotateY:true,rotateZ:true,skew:true,skewX:true,skewY:true},lengthUnitRegex:/([a-z%]*)$/,DEFAULT_UNIT_LENGTH:"px",DEFAULT_UNIT_ANGLE:"deg",DEFAULT_UNIT_DURATION:"ms",formattedNameCache:{},transformMethods3d:["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","scaleX","scaleY","scaleZ"],transformMethodsNo3d:["translateX","translateY","rotate","skewX","skewY","scaleX","scaleY"],constructor:function(){var a=this;a.transformMethods=Ext.feature.has.Css3dTransforms?a.transformMethods3d:a.transformMethodsNo3d;a.vendorPrefix=Ext.browser.getStyleDashPrefix();a.ruleStylesCache={};a.callParent()},getStyleSheet:function(){var c=this.styleSheet,a,b;if(!c){a=document.createElement("style");a.type="text/css";(document.head||document.getElementsByTagName("head")[0]).appendChild(a);b=document.styleSheets;this.styleSheet=c=b[b.length-1]}return c},applyRules:function(j){var h=this.getStyleSheet(),l=this.ruleStylesCache,k=h.cssRules,c,e,i,b,d,a,g;for(c in j){e=j[c];i=l[c];if(i===undefined){d=k.length;h.insertRule(c+"{}",d);i=l[c]=k.item(d).style}b=i.$cache;if(!b){b=i.$cache={}}for(a in e){g=this.formatValue(e[a],a);a=this.formatName(a);if(b[a]!==g){b[a]=g;if(g===null){i.removeProperty(a)}else{i.setProperty(a,g,"important")}}}}return this},applyStyles:function(d){var h,c,g,b,a,e;for(h in d){if(d.hasOwnProperty(h)){c=document.getElementById(h);if(!c){continue}g=c.style;b=d[h];for(a in b){if(b.hasOwnProperty(a)){e=this.formatValue(b[a],a);a=this.formatName(a);if(e===null){g.removeProperty(a)}else{g.setProperty(a,e,"important")}}}}}return this},formatName:function(b){var a=this.formattedNameCache,c=a[b];if(!c){if((Ext.os.is.Tizen||!Ext.feature.has.CssTransformNoPrefix)&&this.prefixedProperties[b]){c=this.vendorPrefix+b}else{c=b}a[b]=c}return c},formatValue:function(k,b){var h=typeof k,m=this.DEFAULT_UNIT_LENGTH,e,a,d,g,c,l,j;if(k===null){return""}if(h=="string"){if(this.lengthProperties[b]){j=k.match(this.lengthUnitRegex)[1];if(j.length>0){}else{return k+m}}return k}else{if(h=="number"){if(k==0){return"0"}if(this.lengthProperties[b]){return k+m}if(this.angleProperties[b]){return k+this.DEFAULT_UNIT_ANGLE}if(this.durationProperties[b]){return k+this.DEFAULT_UNIT_DURATION}}else{if(b==="transform"){e=this.transformMethods;c=[];for(d=0,g=e.length;d<g;d++){a=e[d];c.push(a+"("+this.formatValue(k[a],a)+")")}return c.join(" ")}else{if(Ext.isArray(k)){l=[];for(d=0,g=k.length;d<g;d++){l.push(this.formatValue(k[d],b))}return(l.length>0)?l.join(", "):"none"}}}}return k}});Ext.define("Ext.fx.runner.CssTransition",{extend:Ext.fx.runner.Css,alternateClassName:"Ext.Animator",singleton:true,listenersAttached:false,constructor:function(){this.runningAnimationsData={};return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=true;Ext.getWin().on("transitionend","onTransitionEnd",this)},onTransitionEnd:function(b){var a=b.target,c=a.id;if(c&&this.runningAnimationsData.hasOwnProperty(c)){this.refreshRunningAnimationsData(Ext.get(a),[b.browserEvent.propertyName])}},onAnimationEnd:function(h,g,d,k,o){var c=h.getId(),l=this.runningAnimationsData[c],p={},n={},b,j,e,m,a;d.un("stop","onAnimationStop",this);if(l){b=l.nameMap}p[c]=n;if(g.onBeforeEnd){g.onBeforeEnd.call(g.scope||this,h,k)}d.fireEvent("animationbeforeend",d,h,k);this.fireEvent("animationbeforeend",this,d,h,k);if(o||(!k&&!g.preserveEndState)){j=g.toPropertyNames;for(e=0,m=j.length;e<m;e++){a=j[e];if(b&&!b.hasOwnProperty(a)){n[a]=null}}}if(g.after){Ext.merge(n,g.after)}this.applyStyles(p);if(g.onEnd){g.onEnd.call(g.scope||this,h,k)}d.fireEvent("animationend",d,h,k);this.fireEvent("animationend",this,d,h,k);Ext.AnimationQueue.stop(Ext.emptyFn,d)},onAllAnimationsEnd:function(b){var c=b.getId(),a={};delete this.runningAnimationsData[c];a[c]={"transition-property":null,"transition-duration":null,"transition-timing-function":null,"transition-delay":null};this.applyStyles(a);this.fireEvent("animationallend",this,b)},hasRunningAnimations:function(a){var c=a.getId(),b=this.runningAnimationsData;return b.hasOwnProperty(c)&&b[c].sessions.length>0},refreshRunningAnimationsData:function(d,l,u,q){var h=d.getId(),r=this.runningAnimationsData,a=r[h];if(!a){return}var n=a.nameMap,t=a.nameList,b=a.sessions,g,k,e,v,m,c,s,p,o=false;u=Boolean(u);q=Boolean(q);if(!b){return this}g=b.length;if(g===0){return this}if(q){a.nameMap={};t.length=0;for(m=0;m<g;m++){c=b[m];this.onAnimationEnd(d,c.data,c.animation,u,q)}b.length=0}else{for(m=0;m<g;m++){c=b[m];s=c.map;p=c.list;for(k=0,e=l.length;k<e;k++){v=l[k];if(s[v]){delete s[v];Ext.Array.remove(p,v);c.length--;if(--n[v]==0){delete n[v];Ext.Array.remove(t,v)}}}if(c.length==0){b.splice(m,1);m--;g--;o=true;this.onAnimationEnd(d,c.data,c.animation,u)}}}if(!q&&!u&&b.length==0&&o){this.onAllAnimationsEnd(d)}},getRunningData:function(b){var a=this.runningAnimationsData;if(!a.hasOwnProperty(b)){a[b]={nameMap:{},nameList:[],sessions:[]}}return a[b]},getTestElement:function(){var c=this.testElement,b,d,a;if(!c){b=document.createElement("iframe");b.setAttribute("tabIndex",-1);a=b.style;a.setProperty("visibility","hidden","important");a.setProperty("width","0px","important");a.setProperty("height","0px","important");a.setProperty("position","absolute","important");a.setProperty("border","0px","important");a.setProperty("zIndex","-1000","important");document.body.appendChild(b);d=b.contentDocument;d.open();d.writeln("</body>");d.close();this.testElement=c=d.createElement("div");c.style.setProperty("position","absolute","important");d.body.appendChild(c);this.testElementComputedStyle=window.getComputedStyle(c)}return c},getCssStyleValue:function(b,e){var d=this.getTestElement(),a=this.testElementComputedStyle,c=d.style;c.setProperty(b,e);if(Ext.browser.is.Firefox){d.offsetHeight}e=a.getPropertyValue(b);c.removeProperty(b);return e},run:function(r){var H=this,k=H.lengthProperties,z={},G={},I={},d,u,A,e,w,K,x,s,t,a,o,C,B,q,D,m,v,h,E,J,l,g,y,p,c,F,b,n;if(!H.listenersAttached){H.attachListeners()}r=Ext.Array.from(r);for(C=0,q=r.length;C<q;C++){D=r[C];D=Ext.factory(D,Ext.fx.Animation);d=D.getElement();Ext.AnimationQueue.start(Ext.emptyFn,D);h=window.getComputedStyle(d.dom);u=d.getId();I=Ext.merge({},D.getData());if(D.onBeforeStart){D.onBeforeStart.call(D.scope||H,d)}D.fireEvent("animationstart",D);H.fireEvent("animationstart",H,D);I[u]=I;w=I.before;A=I.from;e=I.to;I.fromPropertyNames=K=[];I.toPropertyNames=x=[];for(J in e){if(e.hasOwnProperty(J)){e[J]=l=H.formatValue(e[J],J);E=H.formatName(J);p=k.hasOwnProperty(J);if(!p){l=H.getCssStyleValue(E,l)}if(A.hasOwnProperty(J)){A[J]=y=H.formatValue(A[J],J);if(!p){y=H.getCssStyleValue(E,y)}if(l!==y){K.push(E);x.push(E)}}else{g=h.getPropertyValue(E);if(l!==g){x.push(E)}}}}m=x.length;if(m===0){H.onAnimationEnd(d,I,D);continue}a=H.getRunningData(u);b=a.sessions;if(b.length>0){H.refreshRunningAnimationsData(d,Ext.Array.merge(K,x),true,I.replacePrevious)}c=a.nameMap;F=a.nameList;v={};for(B=0;B<m;B++){J=x[B];v[J]=true;if(!c.hasOwnProperty(J)){c[J]=1;F.push(J)}else{c[J]++}}n={element:d,map:v,list:x.slice(),length:m,data:I,animation:D};b.push(n);D.on("stop","onAnimationStop",H);o=Ext.apply({},w);Ext.apply(o,A);if(F.length>0){K=Ext.Array.difference(F,K);x=Ext.Array.merge(K,x);o["transition-property"]=K}z[u]=o;G[u]=Ext.apply({},e);G[u]["transition-property"]=x;G[u]["transition-duration"]=I.duration;G[u]["transition-timing-function"]=I.easing;G[u]["transition-delay"]=I.delay;D.startTime=Date.now()}t=H.$className;H.applyStyles(z);s=function(i){if(i.data===t&&i.source===window){window.removeEventListener("message",s,false);H.applyStyles(G)}};if(window.requestAnimationFrame){window.requestAnimationFrame(function(){window.addEventListener("message",s,false);window.postMessage(t,"*")})}else{Ext.defer(function(){window.addEventListener("message",s,false);window.postMessage(t,"*")},1)}},onAnimationStop:function(d){var g=this.runningAnimationsData,j,a,h,b,c,e;for(j in g){if(g.hasOwnProperty(j)){a=g[j];h=a.sessions;for(b=0,c=h.length;b<c;b++){e=h[b];if(e.animation===d){this.refreshRunningAnimationsData(e.element,e.list.slice(),false)}}}}}});Ext.define("Ext.fx.Runner",{constructor:function(){return new Ext.fx.runner.CssTransition()}});Ext.define("Ext.fx.animation.Cube",{extend:Ext.fx.animation.Abstract,alias:"animation.cube",config:{before:{},after:{},direction:"right",out:false},getData:function(){var n=this.getTo(),o=this.getFrom(),l=this.getBefore(),a=this.getAfter(),e=this.getOut(),k=this.getDirection(),b=this.getElement(),h=b.getWidth(),c=b.getHeight(),m=e?"100% 100%":"0% 0%",j=1,d=1,g={rotateY:0,translateZ:0},i={rotateY:0,translateZ:0};if(k=="left"||k=="right"){if(e){d=0.5;i.translateZ=h;i.rotateY=-90}else{j=0.5;g.translateZ=h;g.rotateY=90}}l["transform-origin"]=m;a["transform-origin"]=null;n.set("transform",i);o.set("transform",g);o.set("opacity",j);n.set("opacity",d);return this.callParent(arguments)}});Ext.define("Ext.fx.animation.Wipe",{extend:Ext.fx.Animation,alternateClassName:"Ext.fx.animation.WipeIn",config:{easing:"ease-out",direction:"right",out:false},refresh:function(){var i=this,a=i.getElement(),h=a.dom.getBoundingClientRect(),o=h.width,g=h.height,m=i.getFrom(),n=i.getTo(),d=i.getOut(),k=i.getDirection(),c=0,b=0,l=0,j=0,p,e;switch(k){case"up":if(d){p="-webkit-gradient(linear, left top, left bottom, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";b=g*3+"px";j=g+"px"}else{p="-webkit-gradient(linear, left top, left bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";b=-g*2+"px";j=0}break;case"down":if(d){p="-webkit-gradient(linear, left top, left bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";b=-g*2+"px";j=0}else{p="-webkit-gradient(linear, left top, left bottom, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";b=g*3+"px";j=g+"px"}break;case"right":if(d){p="-webkit-gradient(linear, right top, left top, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";c=-o*2+"px";l=0}else{p="-webkit-gradient(linear, right top, left top, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";l=-o*2+"px"}break;case"left":if(d){p="-webkit-gradient(linear, right top, left top, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";l=-o*2+"px"}else{p="-webkit-gradient(linear, right top, left top, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";c=-o*2+"px";l=0}break}if(!d){e=b;b=j;j=e;e=c;c=l;l=e}m.set("mask-image",p);m.set("mask-size",o*3+"px "+g*3+"px");m.set("mask-position-x",c);m.set("mask-position-y",b);n.set("mask-position-x",l);n.set("mask-position-y",j)}});Ext.define("Ext.fx.animation.WipeOut",{extend:Ext.fx.animation.Wipe,config:{out:true}});Ext.define("Ext.fx.easing.EaseIn",{extend:Ext.fx.easing.Linear,alias:"easing.ease-in",config:{exponent:4,duration:1500},getValue:function(){var c=Ext.Date.now()-this.getStartTime(),h=this.getDuration(),b=this.getStartValue(),a=this.getEndValue(),i=this.distance,e=c/h,d=Math.pow(e,this.getExponent()),g=b+(d*i);if(c>=h){this.isEnded=true;return a}return g}});Ext.define("Ext.fx.easing.Easing",{constructor:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")}});Ext.define("Ext.fx.layout.card.Cube",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.cube",config:{reverse:null,inAnimation:{type:"cube"},outAnimation:{type:"cube",out:true}}});Ext.define("Ext.fx.layout.card.ScrollCover",{extend:Ext.fx.layout.card.Scroll,alias:"fx.layout.card.scrollcover",onActiveItemChange:function(c,h,d,e){var i,a,k,j,b,g;this.currentEventController=e;this.inItem=h;if(h&&d){i=this.getLayout().container.innerElement;a=i.getSize();k=this.calculateXY(a);j={easing:this.getEasing(),duration:this.getDuration()};h.renderElement.dom.style.setProperty("visibility","hidden","important");b=h.setTranslatable(true).getTranslatable();g=d.setTranslatable(true).getTranslatable();g.translate({x:0,y:0});b.translate({x:k.left,y:k.top});b.getWrapper().dom.style.setProperty("z-index","100","important");h.show();b.on({animationstart:"onInAnimationStart",animationend:"onInAnimationEnd",scope:this});b.translateAnimated({x:0,y:0},j);e.pause()}},onInAnimationStart:function(){this.inItem.renderElement.dom.style.removeProperty("visibility")},onInAnimationEnd:function(){this.inItem.getTranslatable().getWrapper().dom.style.removeProperty("z-index");this.currentEventController.resume()}});Ext.define("Ext.fx.layout.card.ScrollReveal",{extend:Ext.fx.layout.card.Scroll,alias:"fx.layout.card.scrollreveal",onActiveItemChange:function(c,h,d,e){var i,a,k,j,g,b;this.currentEventController=e;this.outItem=d;this.inItem=h;if(h&&d){i=this.getLayout().container.innerElement;a=i.getSize();k=this.calculateXY(a);j={easing:this.getEasing(),duration:this.getDuration()};g=d.setTranslatable(true).getTranslatable();b=h.setTranslatable(true).getTranslatable();g.getWrapper().dom.style.setProperty("z-index","100","important");g.translate({x:0,y:0});b.translate({x:0,y:0});h.show();g.on({animationend:"onOutAnimationEnd",scope:this});g.translateAnimated({x:k.x,y:k.y},j);e.pause()}},onOutAnimationEnd:function(){this.outItem.getTranslatable().getWrapper().dom.style.removeProperty("z-index");this.currentEventController.resume()}});Ext.define("Ext.fx.runner.CssAnimation",{extend:Ext.fx.runner.Css,constructor:function(){this.runningAnimationsMap={};this.elementEndStates={};this.animationElementMap={};this.keyframesRulesCache={};this.uniqueId=0;return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=true;Ext.getWin().on({animationstart:"onAnimationStart",animationend:"onAnimationEnd",scope:this})},onAnimationStart:function(h){var b=h.browserEvent.animationName,a=this.animationElementMap[b],g=this.runningAnimationsMap[a][b],i=this.elementEndStates,c=i[a],d={};if(c){delete i[a];d[a]=c;this.applyStyles(d)}if(g.before){d[a]=g.before;this.applyStyles(d)}},onAnimationEnd:function(j){var c=j.target,b=j.browserEvent.animationName,d=this.animationElementMap,a=d[b],g=this.runningAnimationsMap,i=g[a],h=i[b];if(h.onBeforeEnd){h.onBeforeEnd.call(h.scope||this,c)}if(h.onEnd){h.onEnd.call(h.scope||this,c)}delete d[b];delete i[b];this.removeKeyframesRule(b)},generateAnimationId:function(){return"animation-"+(++this.uniqueId)},run:function(g){var t={},u=this.elementEndStates,p=this.animationElementMap,s=this.runningAnimationsMap,b,d,j,l,q,h,r,v,n,m,c,e,a,k,o;if(!this.listenersAttached){this.attachListeners()}g=Ext.Array.from(g);for(q=0,h=g.length;q<h;q++){r=g[q];r=Ext.factory(r,Ext.fx.Animation);j=r.getElement().getId();l=r.getName()||this.generateAnimationId();p[l]=j;r=r.getData();d=r.states;this.addKeyframesRule(l,d);b=s[j];if(!b){b=s[j]={}}b[l]=r;m=[];c=[];e=[];a=[];k=[];o=[];for(v in b){if(b.hasOwnProperty(v)){n=b[v];m.push(v);c.push(n.duration);e.push(n.easing);a.push(n.delay);k.push(n.direction);o.push(n.iteration)}}t[j]={"animation-name":m,"animation-duration":c,"animation-timing-function":e,"animation-delay":a,"animation-direction":k,"animation-iteration-count":o};if(r.preserveEndState){u[j]=d["100%"]}}this.applyStyles(t)},addKeyframesRule:function(a,c){var l,e,b,h,j,k,d,i,g;h=this.getStyleSheet();j=h.cssRules;d=j.length;h.insertRule("@"+this.vendorPrefix+"keyframes "+a+"{}",d);b=j[d];for(l in c){e=c[l];j=b.cssRules;d=j.length;k=[];for(i in e){g=this.formatValue(e[i],i);i=this.formatName(i);k.push(i+":"+g)}b.insertRule(l+"{"+k.join(";")+"}",d)}return this},removeKeyframesRule:function(a){var g=this.getStyleSheet(),e=g.cssRules,b,c,d;for(b=0,c=e.length;b<c;b++){d=e[b];if(d.name===a){g.removeRule(b);break}}return this}});Ext.define("Ext.list.AbstractTreeItem",{extend:Ext.Widget,isTreeListItem:true,cachedConfig:{expandable:false,expanded:false,floated:false,iconCls:"",leaf:true,loading:false,selected:false,selectedParent:false},config:{iconClsProperty:"iconCls",indent:null,owner:null,node:null,over:null,parentItem:null,text:{lazy:true,$value:""},textProperty:"text"},updateNode:function(d){if(d){var h=this,a=h.itemMap,j,b,g,e,k,c;h.element.dom.setAttribute("data-recordId",d.internalId);if(!a){j=d.childNodes;b=h.getOwner();h.itemMap=a={};for(e=0,g=j.length;e<g;++e){c=j[e];k=b.createItem(c,h);a[c.internalId]=k;h.insertItem(k,null)}}h.setExpanded(d.isExpanded());h.doNodeUpdate(d)}},updateSelected:function(b){if(!this.isConfiguring){var a=this.getParentItem();while(a&&!a.isRootListItem){a.setSelectedParent(b);a=a.getParentItem()}}},collapse:function(){this.getNode().collapse()},expand:function(){this.getNode().expand()},getToolElement:Ext.emptyFn,insertItem:Ext.emptyFn,isExpanded:function(){return this.getExpanded()},isSelectionEvent:Ext.emptyFn,isToggleEvent:Ext.emptyFn,nodeCollapse:function(c,e){var b=this,a=b.getOwner(),d=b.preventAnimation?null:a.getAnimation();b.nodeCollapseBegin(d,e);if(!d){b.nodeCollapseEnd(e)}},nodeCollapseBegin:function(c,d){var b=this,a=b.getOwner();b.setExpanded(false);a.fireEvent("itemcollapse",a,b)},nodeCollapseEnd:function(a){if(!a){this.getOwner().updateLayout()}},nodeExpand:function(c){var b=this,a=b.getOwner(),e=b.getFloated(),d=!e&&a.getAnimation();b.nodeExpandBegin(d);if(!d){b.nodeExpandEnd()}},nodeExpandBegin:function(c){var b=this,a=b.getOwner();b.setExpanded(true);a.fireEvent("itemexpand",a,b)},nodeExpandEnd:function(){this.getOwner().updateLayout()},nodeInsert:function(d,g){var h=this,c=h.getOwner(),a=h.itemMap,b=d.internalId,j=c.getItem(d),e=null,i;if(j){i=j.getParentItem();i.removeItem(j);if(i!==h){i.doUpdateExpandable();j.setParentItem(h)}}else{j=h.getOwner().createItem(d,h)}a[b]=j;if(g){e=a[g.internalId]}h.insertItem(j,e);h.doUpdateExpandable();c.fireEvent("iteminsert",c,h,j,e);c.updateLayout()},nodeRemove:function(d){var c=this,e=c.itemMap,a=c.getOwner(),g=d.internalId,b=e[g];if(b){delete e[g];c.removeItem(b);b.destroy();c.doUpdateExpandable();a.fireEvent("itemremove",a,c,b);a.updateLayout()}},nodeUpdate:function(b,a){this.doNodeUpdate(b)},removeItem:Ext.emptyFn,updateFloated:function(e){var d=this,b=d.element,g=d.placeholder,c,a;if(e){g=b.clone(false,true);g.id+="-placeholder";d.placeholder=Ext.get(g);d.wasExpanded=d.getExpanded();d.setExpanded(true);b.dom.parentNode.insertBefore(g,b.dom);d.floater=d.createFloater()}else{if(g){a=d.wasExpanded;c=d.getNode();d.setExpanded(a);if(!a&&c.isExpanded()){d.preventAnimation=true;c.collapse();d.preventAnimation=false}d.floater.remove(d,false);g.dom.parentNode.insertBefore(b.dom,g.dom);g.destroy();d.floater.destroy();d.placeholder=d.floater=null;d.floatedByHover=false}}},destroy:function(){var c=this,d=c.itemMap,a=c.getOwner(),b;if(d){for(b in d){d[b].destroy()}c.itemMap=null}if(a){a.removeItem(c.getNode())}c.setNode(null);c.setParentItem(null);c.setOwner(null);c.callParent()},privates:{doNodeUpdate:function(d){var c=this,b=this.getTextProperty(),a=this.getIconClsProperty();if(b){c.setText(d.data[b])}if(a){c.setIconCls(d.data[a])}c.setLoading(d.isLoading());c.setLeaf(d.isLeaf());c.doUpdateExpandable()},doUpdateExpandable:function(){var a=this.getNode();this.setExpandable(a.isExpandable())},onClick:function(g){var c=this,a=c.getOwner(),b=c.getNode(),d={event:g,item:c,node:b,tree:a,select:b.get("selectable")!==false&&c.isSelectionEvent(g),toggle:c.isToggleEvent(g)};if(a.fireEvent("itemclick",a,d)!==false){if(d.toggle){c.toggleExpanded()}if(d.select){a.setSelection(c.getNode())}}},toggleExpanded:function(){if(this.isExpanded()){this.collapse()}else{this.expand()}},updateIndent:function(b){var a=this.itemMap,c;for(c in a){a[c].setIndent(b)}}}});Ext.define("Ext.list.RootTreeItem",{extend:Ext.list.AbstractTreeItem,isRootListItem:true,element:{reference:"element",tag:"ul",cls:Ext.baseCSSPrefix+"treelist-root-container"},insertItem:function(b,a){if(a){b.element.insertBefore(a.element)}else{this.element.appendChild(b.element)}},isToggleEvent:function(a){return false}});Ext.define("Ext.list.TreeItem",{extend:Ext.list.AbstractTreeItem,xtype:"treelistitem",collapsedCls:Ext.baseCSSPrefix+"treelist-item-collapsed",expandedCls:Ext.baseCSSPrefix+"treelist-item-expanded",floatedCls:Ext.baseCSSPrefix+"treelist-item-floated",floatedToolCls:Ext.baseCSSPrefix+"treelist-item-tool-floated",leafCls:Ext.baseCSSPrefix+"treelist-item-leaf",expandableCls:Ext.baseCSSPrefix+"treelist-item-expandable",hideIconCls:Ext.baseCSSPrefix+"treelist-item-hide-icon",loadingCls:Ext.baseCSSPrefix+"treelist-item-loading",selectedCls:Ext.baseCSSPrefix+"treelist-item-selected",selectedParentCls:Ext.baseCSSPrefix+"treelist-item-selected-parent",withIconCls:Ext.baseCSSPrefix+"treelist-item-with-icon",hoverCls:Ext.baseCSSPrefix+"treelist-item-over",rowHoverCls:Ext.baseCSSPrefix+"treelist-row-over",isTreeListItem:true,config:{rowCls:null},rowClsProperty:"rowCls",element:{reference:"element",tag:"li",cls:Ext.baseCSSPrefix+"treelist-item",children:[{reference:"rowElement",cls:Ext.baseCSSPrefix+"treelist-row",children:[{reference:"wrapElement",cls:Ext.baseCSSPrefix+"treelist-item-wrap",children:[{reference:"iconElement",cls:Ext.baseCSSPrefix+"treelist-item-icon"},{reference:"textElement",cls:Ext.baseCSSPrefix+"treelist-item-text"},{reference:"expanderElement",cls:Ext.baseCSSPrefix+"treelist-item-expander"}]}]},{reference:"itemContainer",tag:"ul",cls:Ext.baseCSSPrefix+"treelist-container"},{reference:"toolElement",cls:Ext.baseCSSPrefix+"treelist-item-tool"}]},constructor:function(a){this.callParent([a]);var b=this.toolElement.dom;b.parentNode.removeChild(b)},getToolElement:function(){return this.toolElement},insertItem:function(b,a){if(a){b.element.insertBefore(a.element)}else{this.itemContainer.appendChild(b.element)}},isSelectionEvent:function(b){var a=this.getOwner();return(!this.isToggleEvent(b)||!a.getExpanderOnly()||a.getSelectOnExpander())},isToggleEvent:function(b){var a=false;if(this.getOwner().getExpanderOnly()){a=b.target===this.expanderElement.dom}else{a=!this.itemContainer.contains(b.target)}return a},nodeCollapseBegin:function(d,e){var c=this,b=c.itemContainer,a;if(c.expanding){c.stopAnimation(c.expanding)}a=d&&b.getHeight();c.callParent([d,e]);if(d){b.dom.style.display="block";c.collapsingForExpand=e;c.collapsing=this.runAnimation(Ext.merge({from:{height:a},to:{height:0},callback:c.nodeCollapseDone,scope:c},d))}},nodeCollapseDone:function(c){var b=this,a=b.itemContainer;b.collapsing=null;a.dom.style.display="";a.setHeight(null);b.nodeCollapseEnd(b.collapsingForExpand)},nodeExpandBegin:function(d){var c=this,b=c.itemContainer,a;if(c.collapsing){c.stopAnimation(c.collapsing)}c.callParent([d]);if(d){a=b.getHeight();b.setHeight(0);c.expanding=c.runAnimation(Ext.merge({to:{height:a},callback:c.nodeExpandDone,scope:c},d))}},nodeExpandDone:function(){this.expanding=null;this.itemContainer.setHeight(null);this.nodeExpandEnd()},removeItem:function(a){this.itemContainer.removeChild(a.element)},updateNode:function(a,b){this.syncIndent();this.callParent([a,b])},updateExpandable:function(){this.updateExpandCls()},updateExpanded:function(){this.updateExpandCls()},updateFloated:function(c,a){var b=this;b.callParent([c,a]);b.element.toggleCls(b.floatedCls,c);b.toolElement.toggleCls(b.floatedToolCls,c)},updateIconCls:function(b,a){var d=this,c=d.element;d.doIconCls(d.iconElement,b,a);d.doIconCls(d.toolElement,b,a);c.toggleCls(d.withIconCls,!!b);c.toggleCls(d.hideIconCls,b===null)},updateLeaf:function(a){this.element.toggleCls(this.leafCls,a)},updateLoading:function(a){this.element.toggleCls(this.loadingCls,a)},updateOver:function(b){var a=this;a.element.toggleCls(a.hoverCls,!!b);a.rowElement.toggleCls(a.rowHoverCls,b>1)},updateRowCls:function(b,a){this.rowElement.replaceCls(a,b)},updateSelected:function(c,e){var d=this,a=d.selectedCls,b=d.getToolElement();d.callParent([c,e]);d.element.toggleCls(a,c);if(b){b.toggleCls(a,c)}},updateSelectedParent:function(b){var c=this;c.element.toggleCls(c.selectedParentCls,b);var a=c.getToolElement();if(a){a.toggleCls(c.selectedCls,b)}},updateText:function(a){this.textElement.update(a)},privates:{doNodeUpdate:function(a){this.callParent([a]);this.setRowCls(a&&a.data[this.rowClsProperty])},doIconCls:function(c,b,a){if(a){c.removeCls(a)}if(b){c.addCls(b)}},syncIndent:function(){var c=this,a=c.getIndent(),b=c.getNode(),d;if(b){d=b.data.depth-1;c.wrapElement.dom.style.marginLeft=(d*a)+"px"}},updateExpandCls:function(){if(!this.updatingExpandCls){var e=this,c=e.getExpandable(),d=e.element,b=e.getExpanded(),a=e.expandedCls,g=e.collapsedCls;e.updatingExpandCls=true;d.toggleCls(e.expandableCls,c);if(c){d.toggleCls(a,b);d.toggleCls(g,!b)}else{d.removeCls([a,g])}e.updatingExpandCls=false}},updateIndent:function(b,a){this.syncIndent();this.callParent([b,a])}}});Ext.define("Ext.overrides.list.TreeItem",{override:"Ext.list.TreeItem",createFloater:function(){var d=this,a=d.getOwner(),e=a.getUi(),b=Ext.baseCSSPrefix+"treelist",c;if(e){b+=" "+b+"-"+e}d.floater=c=new Ext.Container({cls:b+" "+Ext.baseCSSPrefix+"treelist-floater",width:200,top:0,listeners:{element:"element",click:function(g){return a.onClick(g)}}});Ext.Viewport.add(c);c.add(d);c.alignTo(d.getToolElement(),"tl-tr");return c},runAnimation:function(a){return this.itemContainer.animate(a)},stopAnimation:function(a){a.end()}});Ext.define("Ext.list.Tree",{extend:Ext.Widget,xtype:"treelist",expanderFirstCls:Ext.baseCSSPrefix+"treelist-expander-first",expanderOnlyCls:Ext.baseCSSPrefix+"treelist-expander-only",highlightPathCls:Ext.baseCSSPrefix+"treelist-highlight-path",microCls:Ext.baseCSSPrefix+"treelist-micro",uiPrefix:Ext.baseCSSPrefix+"treelist-",element:{reference:"element",cls:Ext.baseCSSPrefix+"treelist "+Ext.baseCSSPrefix+"unselectable",listeners:{click:"onClick",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mouseover:"onMouseOver"},children:[{reference:"toolsElement",cls:Ext.baseCSSPrefix+"treelist-toolstrip",listeners:{click:"onToolStripClick",mouseover:"onToolStripMouseOver"}}]},cachedConfig:{animation:{duration:500,easing:"ease"},expanderFirst:true,expanderOnly:true},config:{defaults:{xtype:"treelistitem"},highlightPath:null,iconSize:null,indent:null,micro:null,overItem:null,selection:null,selectOnExpander:false,singleExpand:null,store:null,ui:null},twoWayBindable:{selection:1},publishes:{selection:1},defaultBindProperty:"store",constructor:function(a){this.callParent([a]);this.publishState("selection",this.getSelection())},beforeLayout:function(){this.syncIconSize()},destroy:function(){var a=this;a.destroying=true;a.unfloatAll();a.activeFloater=null;a.setSelection(null);a.setStore(null);a.callParent()},updateOverItem:function(g,a){var e={},d=2,h,b;for(h=g;h;h=this.getItem(b.parentNode)){b=h.getNode();e[b.internalId]=true;h.setOver(d);d=1}if(a){for(h=a;h;h=this.getItem(b.parentNode)){b=h.getNode();if(e[b.internalId]){break}h.setOver(0)}}},applySelection:function(c,a){var b=this.getStore();if(!b){c=null}if(c&&c.get("selectable")===false){c=a}return c},updateSelection:function(b,a){var d=this,c;if(!d.destroying){c=d.getItem(a);if(c){c.setSelected(false)}c=d.getItem(b);if(c){c.setSelected(true)}d.fireEvent("selectionchange",d,b)}},applyStore:function(a){return a&&Ext.StoreManager.lookup(a,"tree")},updateStore:function(b,d){var c=this,a;if(d){if(d.getAutoDestroy()){d.destroy()}else{c.storeListeners.destroy()}c.removeRoot();c.storeListeners=null}if(b){c.storeListeners=b.on({destroyable:true,scope:c,nodeappend:c.onNodeAppend,nodecollapse:c.onNodeCollapse,nodeexpand:c.onNodeExpand,nodeinsert:c.onNodeInsert,noderemove:c.onNodeRemove,rootchange:c.onRootChange,update:c.onNodeUpdate});a=b.getRoot();if(a){c.createRootItem(a)}}if(!c.destroying){c.updateLayout()}},updateExpanderFirst:function(a){this.element.toggleCls(this.expanderFirstCls,a)},updateExpanderOnly:function(a){this.element.toggleCls(this.expanderOnlyCls,!a)},updateHighlightPath:function(a){this.element.toggleCls(this.highlightPathCls,a)},updateMicro:function(a){var b=this;if(!a){b.unfloatAll();b.activeFloater=null}b.element.toggleCls(b.microCls,a)},updateUi:function(d,a){var c=this.element,b=this.uiPrefix;if(a){c.removeCls(b+a)}if(d){c.addCls(b+d)}delete this.iconSize;this.syncIconSize()},getItem:function(b){var c=this.itemMap,a;if(b&&c){a=c[b.internalId]}return a||null},getItemConfig:function(b,a){return Ext.apply({parentItem:a.isRootListItem?null:a,owner:this,node:b,indent:this.getIndent()},this.getDefaults())},privates:{checkForOutsideClick:function(b){var a=this.activeFloater;if(!a.element.contains(b.target)){this.unfloatAll()}},collapsingForExpand:false,createItem:function(d,b){var c=Ext.create(this.getItemConfig(d,b)),a;if(b.isRootListItem){a=c.getToolElement();if(a){this.toolsElement.appendChild(a);a.dom.setAttribute("data-recordId",d.internalId);a.isTool=true}}return(this.itemMap[d.internalId]=c)},createRootItem:function(a){var c=this,b;c.itemMap={};c.rootItem=b=new Ext.list.RootTreeItem({indent:c.getIndent(),node:a,owner:c});c.element.appendChild(b.element);c.itemMap[a.internalId]=b},floatItem:function(d,b){var c=this,a;if(d.getFloated()){return}c.unfloatAll();c.activeFloater=a=d;c.floatedByHover=b;d.setFloated(true);if(b){d.getToolElement().on("mouseleave",c.checkForMouseLeave,c);a.element.on("mouseleave",c.checkForMouseLeave,c)}else{Ext.on("mousedown",c.checkForOutsideClick,c)}},onClick:function(b){var a=b.getTarget("[data-recordId]"),c;if(a){c=a.getAttribute("data-recordId");a=this.itemMap[c];if(a){a.onClick(b)}}},onMouseEnter:function(a){this.onMouseOver(a)},onMouseLeave:function(){this.setOverItem(null)},onMouseOver:function(b){var a=Ext.Component.fromElement(b.getTarget());this.setOverItem(a&&a.isTreeListItem&&a)},checkForMouseLeave:function(c){var b=this.activeFloater,a=c.getRelatedTarget();if(b){if(a!==b.getToolElement().dom&&!b.element.contains(a)){this.unfloatAll()}}},onNodeAppend:function(a,c){if(a){var b=this.itemMap[a.internalId];if(b){b.nodeInsert(c,null)}}},onNodeCollapse:function(b){var a=this.itemMap[b.internalId];if(a){a.nodeCollapse(b,this.collapsingForExpand)}},onNodeExpand:function(g){var e=this,d=e.itemMap[g.internalId],h,b,c,a,j;if(d){if(!d.isRootItem&&e.getSingleExpand()){e.collapsingForExpand=true;a=(d.getParentItem()||e.rootItem).getNode();h=a.childNodes;for(c=0,b=h.length;c<b;++c){j=h[c];if(j!==g){j.collapse()}}e.collapsing=false}d.nodeExpand(g)}},onNodeInsert:function(a,d,b){var c=this.itemMap[a.internalId];if(c){c.nodeInsert(d,b)}},onNodeRemove:function(a,d,b){if(a&&!b){var c=this.itemMap[a.internalId];if(c){c.nodeRemove(d)}}},onNodeUpdate:function(a,e,b,d){var c=this.itemMap[e.internalId];if(c){c.nodeUpdate(e,d)}},onRootChange:function(a){this.removeRoot();if(a){this.createRootItem(a)}this.updateLayout()},removeItem:function(a){var b=this.itemMap;if(b){delete b[a.internalId]}},removeRoot:function(){var b=this,a=b.rootItem;if(a){b.element.removeChild(a.element);b.rootItem=b.itemMap=Ext.destroy(a)}},onToolStripClick:function(b){var a=b.getTarget("[data-recordId]"),c;if(a){c=a.getAttribute("data-recordId");a=this.itemMap[c];if(a){if(a===this.activeFloater){this.unfloatAll()}else{this.floatItem(a,false)}}}},onToolStripMouseOver:function(b){var a=b.getTarget("[data-recordId]"),c;if(a){c=a.getAttribute("data-recordId");a=this.itemMap[c];if(a){this.floatItem(a,true)}}},syncIconSize:function(){var b=this,a=b.iconSize||(b.iconSize=parseInt(b.element.getStyle("background-position"),10));b.setIconSize(a)},unfloatAll:function(){var b=this,a=b.activeFloater;if(a){a.setFloated(false);b.activeFloater=null;if(b.floatedByHover){a.element.un("mouseleave",b.checkForMouseLeave,b)}else{Ext.un("mousedown",b.checkForOutsideClick,b)}}},defaultIconSize:22,updateIconSize:function(a){this.setIndent(a||this.defaultIconSize)},updateIndent:function(b){var a=this.rootItem;if(a){a.setIndent(b)}}}});Ext.define("Ext.overrides.list.Tree",{override:"Ext.list.Tree",constructor:function(a){var c=this,b;c.callParent([a]);b=c.element;if(b.isPainted()){c.syncIconSize()}else{b.on({scope:c,painted:c.syncIconSize,single:true})}}});Ext.define("Ext.mixin.Accessible",{extend:Ext.Mixin,mixinConfig:{id:"accessible"},config:{ariaAttributes:{$value:null,lazy:true}},privates:{getAriaLabelEl:function(c){var e=[],h,d,b,g,a;if(c){if(Ext.isFunction(c)){return c.call(this)}else{if(!Ext.isArray(c)){c=[c]}h=this.lookupReferenceHolder();if(h){for(d=0,b=c.length;d<b;d++){g=h.lookupReference(c[d]);if(g){e.push(g.ariaEl.id)}}}}}return e.length?e.join(" "):null}}});Ext.define("Ext.mixin.Mashup",function(a){return{extend:"Ext.Mixin",mixinConfig:{id:"mashup",extended:function(c,b){a.process(b)}},statics:{process:function(e){var c=e.prototype,g=c.requiredScripts,b=e._classHooks,d=b.onCreated;if(g){delete c.requiredScripts;b.onCreated=function(){var i=this,h=Ext.Array.slice(arguments);Ext.Loader.loadScripts({url:g,cache:true,onLoad:function(){b.onCreated=d;b.onCreated.call(i,h)}})}}}},onClassMixedIn:function(b){a.process(b)}}});Ext.define("Ext.mixin.Responsive",function(a){return{extend:Ext.Mixin,mixinConfig:{id:"responsive",after:{destroy:"destroy"}},config:{responsiveConfig:{$value:undefined,merge:function(h,c,g,e){if(!h){return c}var b=c?Ext.Object.chain(c):{},d;for(d in h){if(!e||!(d in b)){b[d]={fn:null,config:h[d]}}}return b}},responsiveFormulas:{$value:0,merge:function(e,b,d,c){return this.mergeNew(e,b,d,c)}}},destroy:function(){a.unregister(this);this.callParent()},privates:{statics:{active:false,all:{},context:Ext.Object.chain(Ext.platformTags),count:0,nextId:0,activate:function(){a.active=true;a.updateContext();Ext.on("resize",a.onResize,a)},deactivate:function(){a.active=false;Ext.un("resize",a.onResize,a)},notify:function(){var d=a.all,c=a.context,b=Ext.GlobalEvents,g=a.timer,e;if(g){a.timer=null;Ext.Function.cancelAnimationFrame(g)}a.updateContext();Ext.suspendLayouts();b.fireEvent("beforeresponsiveupdate",c);for(e in d){d[e].setupResponsiveContext()}b.fireEvent("beginresponsiveupdate",c);for(e in d){d[e].updateResponsiveState()}b.fireEvent("responsiveupdate",c);Ext.resumeLayouts(true)},onResize:function(){if(!a.timer){a.timer=Ext.Function.requestAnimationFrame(a.onTimer)}},onTimer:function(){a.timer=null;a.notify()},processConfig:function(b,i,g){var h=i&&i[g],e=b.config,c,d;if(h){d=b.getConfigurator();c=d.configs[g];e[g]=c.merge(h,e[g],b)}},register:function(b){var c=b.$responsiveId;if(!c){b.$responsiveId=c=++a.nextId;a.all[c]=b;if(++a.count===1){a.activate()}}},unregister:function(b){var c=b.$responsiveId;if(c in a.all){b.$responsiveId=null;delete a.all[c];if(--a.count===0){a.deactivate()}}},updateContext:function(){var e=Ext.Element,d=e.getViewportWidth(),b=e.getViewportHeight(),c=a.context;c.width=d;c.height=b;c.tall=d<b;c.wide=!c.tall;c.landscape=c.portrait=false;if(!c.platform){c.platform=Ext.platformTags}c[Ext.dom.Element.getOrientation()]=true}},afterClassMixedIn:function(g){var e=g.prototype,b=e.responsiveConfig,d=e.responsiveFormulas,c;if(b||d){c={};if(b){delete e.responsiveConfig;c.responsiveConfig=b}if(d){delete e.responsiveFormulas;c.responsiveFormulas=d}g.getConfigurator().add(c)}},applyResponsiveConfig:function(c){for(var b in c){c[b].fn=Ext.createRuleFn(b)}return c},applyResponsiveFormulas:function(d){var c={},e,b;if(d){for(b in d){if(Ext.isString(e=d[b])){e=Ext.createRuleFn(e)}c[b]=e}}return c},getResponsiveState:function(){var c=a.context,g=this.getResponsiveConfig(),b={},d,e;if(g){for(e in g){d=g[e];if(d.fn.call(this,c)){Ext.merge(b,d.config)}}}return b},setupResponsiveContext:function(){var c=this.getResponsiveFormulas(),d=a.context,b;if(c){for(b in c){d[b]=c[b].call(this,d)}}},transformInstanceConfig:function(d){var c=this,b;a.register(c);if(d){a.processConfig(c,d,"responsiveConfig");a.processConfig(c,d,"responsiveFormulas")}c.setupResponsiveContext();b=c.getResponsiveState();if(d){b=Ext.merge({},d,b);delete b.responsiveConfig;delete b.responsiveFormulas}return b},updateResponsiveState:function(){var b=this.getResponsiveState();this.setConfig(b)}}}});Ext.define("Ext.mixin.Selectable",{extend:Ext.Mixin,mixinConfig:{id:"selectable",after:{updateStore:"updateStore"}},config:{disableSelection:null,mode:"SINGLE",allowDeselect:false,lastSelected:null,lastFocused:null,deselectOnContainerClick:true,selection:null,twoWayBindable:{selection:1},publishes:{selection:1}},modes:{SINGLE:true,SIMPLE:true,MULTI:true},selectableEventHooks:{add:"onSelectionStoreAdd",remove:"onSelectionStoreRemove",update:"onSelectionStoreUpdate",clear:{fn:"onSelectionStoreClear",priority:1000},load:"refreshSelection",refresh:"refreshSelection"},constructor:function(){this.selected=new Ext.util.MixedCollection();this.callParent(arguments)},initSelectable:function(){this.publishState("selection",this.getSelection())},applyMode:function(a){a=a?a.toUpperCase():"SINGLE";return this.modes[a]?a:"SINGLE"},updateStore:function(a,c){var b=this,d=Ext.apply({},b.selectableEventHooks,{scope:b});if(c&&Ext.isObject(c)&&c.isStore){if(c.autoDestroy){c.destroy()}else{c.un(d)}}if(a){a.on(d);b.refreshSelection()}},selectAll:function(a){var c=this,b=c.getStore().getRange();c.select(b,true,a)},deselectAll:function(c){var b=this,a=b.getStore().getRange();b.deselect(a,c);b.selected.clear();b.setLastSelected(null);b.setLastFocused(null)},updateSelection:function(a){if(this.changingSelection){return}if(a){this.select(a)}else{this.deselectAll()}},selectWithEvent:function(a){var c=this,b=c.isSelected(a);switch(c.getMode()){case"MULTI":case"SIMPLE":if(b){c.deselect(a)}else{c.select(a,true)}break;case"SINGLE":if(c.getAllowDeselect()&&b){c.deselect(a)}else{c.select(a,false)}break}},selectRange:function(c,h,j){var g=this,b=g.getStore(),a=[],e,d;if(g.getDisableSelection()){return}if(c>h){e=h;h=c;c=e}for(d=c;d<=h;d++){a.push(b.getAt(d))}this.doMultiSelect(a,j)},select:function(c,e,b){var d=this,a;if(d.getDisableSelection()){return}if(typeof c==="number"){c=[d.getStore().getAt(c)]}if(!c){return}if(d.getMode()=="SINGLE"&&c){a=c.length?c[0]:c;d.doSingleSelect(a,b)}else{d.doMultiSelect(c,e,b)}},doSingleSelect:function(a,b){var d=this,c=d.selected;if(d.getDisableSelection()){return}if(d.isSelected(a)){return}if(c.getCount()>0){d.deselect(d.getLastSelected(),b)}c.add(a);d.setLastSelected(a);d.onItemSelect(a,b);d.setLastFocused(a);if(!b){d.fireSelectionChange([a])}},doMultiSelect:function(a,k,j){if(a===null||this.getDisableSelection()){return}a=!Ext.isArray(a)?[a]:a;var g=this,b=g.selected,e=a.length,h=false,c=0,d;if(!k&&b.getCount()>0){h=true;g.deselect(g.getSelections(),true)}for(;c<e;c++){d=a[c];if(k&&g.isSelected(d)){continue}h=true;g.setLastSelected(d);b.add(d);if(!j){g.setLastFocused(d)}g.onItemSelect(d,j)}if(h&&!j){this.fireSelectionChange(a)}},deselect:function(a,k){var g=this;if(g.getDisableSelection()){return}a=Ext.isArray(a)?a:[a];var b=g.selected,h=false,c=0,j=g.getStore(),e=a.length,d;for(;c<e;c++){d=a[c];if(typeof d==="number"){d=j.getAt(d)}if(b.remove(d)){if(g.getLastSelected()==d){g.setLastSelected(b.last())}h=true}if(d){g.onItemDeselect(d,k)}}if(h&&!k){g.fireSelectionChange(a)}},updateLastFocused:function(b,a){this.onLastFocusChanged(a,b)},fireSelectionChange:function(a){var b=this;b.changingSelection=true;b.setSelection(b.getLastSelected()||null);b.changingSelection=false;b.fireAction("selectionchange",[b,a],"getSelections")},getSelections:function(){return this.selected.getRange()},isSelected:function(a){a=Ext.isNumber(a)?this.getStore().getAt(a):a;return this.selected.indexOf(a)!==-1},hasSelection:function(){return this.selected.getCount()>0},refreshSelection:function(){var b=this,a=b.getSelections();b.deselectAll(true);if(a.length){b.select(a,false,true)}},onSelectionStoreRemove:function(c,b){var h=this,e=h.selected,g=b.length,j,a,d;if(h.getDisableSelection()){return}for(d=0;d<g;d++){a=b[d];if(e.remove(a)){if(h.getLastSelected()==a){h.setLastSelected(null)}if(h.getLastFocused()==a){h.setLastFocused(null)}j=j||[];j.push(a)}}if(j){h.fireSelectionChange([j])}},onSelectionStoreClear:function(b){var a=b.getData().items;this.onSelectionStoreRemove(b,a)},getSelectionCount:function(){return this.selected.getCount()},onSelectionStoreAdd:Ext.emptyFn,onSelectionStoreUpdate:Ext.emptyFn,onItemSelect:Ext.emptyFn,onItemDeselect:Ext.emptyFn,onLastFocusChanged:Ext.emptyFn,onEditorKey:Ext.emptyFn},function(){});Ext.define("Ext.perf.Accumulator",function(){var c=null,h=Ext.global.chrome,d,b=function(){b=Ext.now;var k,l;if(Ext.isChrome&&h&&h.Interval){k=new h.Interval();k.start();b=function(){return k.microseconds()/1000}}else{if(window.ActiveXObject){try{l=new ActiveXObject("SenchaToolbox.Toolbox");Ext.senchaToolbox=l;b=function(){return l.milliseconds}}catch(m){}}}Ext.perf.getTimestamp=Ext.perf.Accumulator.getTimestamp=b;return b()};function i(l,k){l.sum+=k;l.min=Math.min(l.min,k);l.max=Math.max(l.max,k)}function e(n){var l=n?n:(b()-this.time),m=this,k=m.accum;++k.count;if(!--k.depth){i(k.total,l)}i(k.pure,l-m.childTime);c=m.parent;if(c){++c.accum.childCount;c.childTime+=l}}function a(){return{min:Number.MAX_VALUE,max:0,sum:0}}function j(l,k){return function(){var n=l.enter(),m=k.apply(this,arguments);n.leave();return m}}function g(m,l,k,o){var n={avg:0,min:o.min,max:o.max,sum:0};if(m){k=k||0;n.sum=o.sum-l*k;n.avg=n.sum/m}return n}return{constructor:function(k){var l=this;l.count=l.childCount=l.depth=l.maxDepth=0;l.pure=a();l.total=a();l.name=k},statics:{getTimestamp:b},format:function(k){if(!d){d=new Ext.XTemplate(["{name} - {count} call(s)",'<tpl if="count">','<tpl if="childCount">'," ({childCount} children)","</tpl>",'<tpl if="depth - 1">'," ({depth} deep)","</tpl>",'<tpl for="times">',", {type}: {[this.time(values.sum)]} msec (","avg={[this.time(values.sum / parent.count)]}",")","</tpl>","</tpl>"].join(""),{time:function(m){return Math.round(m*100)/100}})}var l=this.getData(k);l.name=this.name;l.pure.type="Pure";l.total.type="Total";l.times=[l.pure,l.total];return d.apply(l)},getData:function(k){var l=this;return{count:l.count,childCount:l.childCount,depth:l.maxDepth,pure:g(l.count,l.childCount,k,l.pure),total:g(l.count,l.childCount,k,l.total)}},enter:function(){var k=this,l={accum:k,leave:e,childTime:0,parent:c};++k.depth;if(k.maxDepth<k.depth){k.maxDepth=k.depth}c=l;l.time=b();return l},monitor:function(m,l,k){var n=this.enter();if(k){m.apply(l,k)}else{m.call(l)}n.leave()},report:function(){Ext.log(this.format())},tap:function(s,u){var t=this,n=typeof u==="string"?[u]:u,r,v,p,o,m,l,k,q;q=function(){if(typeof s==="string"){r=Ext.global;o=s.split(".");for(p=0,m=o.length;p<m;++p){r=r[o[p]]}}else{r=s}for(p=0,m=n.length;p<m;++p){l=n[p];v=l.charAt(0)==="!";if(v){l=l.substring(1)}else{v=!(l in r.prototype)}k=v?r:r.prototype;k[l]=j(t,k[l])}};Ext.ClassManager.onCreated(q,t,s);return t}}},function(){Ext.perf.getTimestamp=this.getTimestamp});Ext.define("Ext.perf.Monitor",{singleton:true,alternateClassName:"Ext.Perf",constructor:function(){this.accumulators=[];this.accumulatorsByName={}},calibrate:function(){var b=new Ext.perf.Accumulator("$"),g=b.total,c=Ext.perf.Accumulator.getTimestamp,e=0,h,a,d;d=c();do{h=b.enter();h.leave();++e}while(g.sum<100);a=c();return(a-d)/e},get:function(b){var c=this,a=c.accumulatorsByName[b];if(!a){c.accumulatorsByName[b]=a=new Ext.perf.Accumulator(b);c.accumulators.push(a)}return a},enter:function(a){return this.get(a).enter()},monitor:function(a,c,b){this.get(a).monitor(c,b)},report:function(){var c=this,b=c.accumulators,a=c.calibrate();b.sort(function(e,d){return(e.name<d.name)?-1:((d.name<e.name)?1:0)});c.updateGC();Ext.log("Calibration: "+Math.round(a*100)/100+" msec/sample");Ext.each(b,function(d){Ext.log(d.format(a))})},getData:function(c){var b={},a=this.accumulators;Ext.each(a,function(d){if(c||d.count){b[d.name]=d.getData()}});return b},reset:function(){Ext.each(this.accumulators,function(a){var b=a;b.count=b.childCount=b.depth=b.maxDepth=0;b.pure={min:Number.MAX_VALUE,max:0,sum:0};b.total={min:Number.MAX_VALUE,max:0,sum:0}})},updateGC:function(){var a=this.accumulatorsByName.GC,b=Ext.senchaToolbox,c;if(a){a.count=b.garbageCollectionCounter||0;if(a.count){c=a.pure;a.total.sum=c.sum=b.garbageCollectionMilliseconds;c.min=c.max=c.sum/a.count;c=a.total;c.min=c.max=c.sum/a.count}}},watchGC:function(){Ext.perf.getTimestamp();var a=Ext.senchaToolbox;if(a){this.get("GC");a.watchGarbageCollector(false)}},setup:function(c){if(!c){c={render:{"Ext.Component":"render"},layout:{"Ext.layout.Context":"run"}}}this.currentConfig=c;var d,g,b,e,a;for(d in c){if(c.hasOwnProperty(d)){g=c[d];b=Ext.Perf.get(d);for(e in g){if(g.hasOwnProperty(e)){a=g[e];b.tap(e,a)}}}}this.watchGC()},setupLog:function(c){var e,a,b,g,d;for(e in c){if(c.hasOwnProperty(e)){a=Ext.ClassManager.get(e);if(a){b=c[e];d={};for(g in b){d[g]=(function(h,i){return function(){var l,m,n,k,j;l=+Date.now();j=this.callParent(arguments);m=+Date.now()-l;if(window.console&&m>0){k=i==="this"?this:typeof i==="string"?this[i]:typeof i==="number"?arguments[i]:null;if(k){n=k.id}if(n!=null){console.log(h+" for "+n+": "+m+"ms")}else{console.log(h+" for unknown: "+m+"ms")}if(console.trace){console.trace()}}return j}})(g,b[g])}Ext.override(a,d)}}}}});Ext.define("Ext.plugin.Abstract",{alternateClassName:"Ext.AbstractPlugin",isPlugin:true,constructor:function(a){if(a){this.pluginConfig=a;this.initConfig(a)}},clonePlugin:function(a){return new this.self(Ext.apply({},a,this.pluginConfig))},setCmp:function(a){this.cmp=a},getCmp:function(){return this.cmp},init:Ext.emptyFn,destroy:function(){this.cmp=this.pluginConfig=null;this.callParent()},onClassExtended:function(b,d,a){var c=d.alias;if(c&&!d.ptype){if(Ext.isArray(c)){c=c[0]}b.prototype.ptype=c.split("plugin.")[1]}},resolveListenerScope:function(d){var c=this,b=c.getCmp(),a;if(b){a=b.resolveSatelliteListenerScope(c,d)}return a||c.mixins.observable.resolveListenerScope.call(c,d)}});Ext.define("Ext.plugin.LazyItems",{extend:Ext.plugin.Abstract,alias:"plugin.lazyitems",init:function(a){this.callParent(arguments);if(this.items){if(this.eagerInstantiation){this.items=a.prepareItems(this.items)}}a.beforeRender=Ext.Function.createInterceptor(a.beforeRender,this.beforeComponentRender,this)},beforeComponentRender:function(){this.cmp.add(this.items);this.cmp.beforeComponentRender=null}});Ext.define("Ext.util.Base64",{singleton:true,_str:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var d=this;var a="",n,l,j,m,k,h,g,b=0;e=d._utf8_encode(e);var c=e.length;while(b<c){n=e.charCodeAt(b++);l=e.charCodeAt(b++);j=e.charCodeAt(b++);m=n>>2;k=((n&3)<<4)|(l>>4);h=((l&15)<<2)|(j>>6);g=j&63;if(isNaN(l)){h=g=64}else{if(isNaN(j)){g=64}}a=a+d._str.charAt(m)+d._str.charAt(k)+d._str.charAt(h)+d._str.charAt(g)}return a},decode:function(e){var d=this;var a="",n,l,j,m,k,h,g,b=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");var c=e.length;while(b<c){m=d._str.indexOf(e.charAt(b++));k=d._str.indexOf(e.charAt(b++));h=d._str.indexOf(e.charAt(b++));g=d._str.indexOf(e.charAt(b++));n=(m<<2)|(k>>4);l=((k&15)<<4)|(h>>2);j=((h&3)<<6)|g;a=a+String.fromCharCode(n);if(h!==64){a=a+String.fromCharCode(l)}if(g!==64){a=a+String.fromCharCode(j)}}a=d._utf8_decode(a);return a},_utf8_encode:function(d){d=d.replace(/\r\n/g,"\n");var b="",g=0,a=d.length;for(;g<a;g++){var e=d.charCodeAt(g);if(e<128){b+=String.fromCharCode(e)}else{if((e>127)&&(e<2048)){b+=String.fromCharCode((e>>6)|192);b+=String.fromCharCode((e&63)|128)}else{b+=String.fromCharCode((e>>12)|224);b+=String.fromCharCode(((e>>6)&63)|128);b+=String.fromCharCode((e&63)|128)}}}return b},_utf8_decode:function(b){var e="",h=0,j=0,d=0,g=0,a=b.length;while(h<a){j=b.charCodeAt(h);if(j<128){e+=String.fromCharCode(j);h++}else{if((j>191)&&(j<224)){g=b.charCodeAt(h+1);e+=String.fromCharCode(((j&31)<<6)|(g&63));h+=2}else{g=b.charCodeAt(h+1);d=b.charCodeAt(h+2);e+=String.fromCharCode(((j&15)<<12)|((g&63)<<6)|(d&63));h+=3}}}return e}});Ext.define("Ext.util.DelimitedValue",{dateFormat:"C",delimiter:"\t",lineBreak:"\n",quote:'"',parseREs:{},quoteREs:{},lineBreakRe:/\r?\n/g,constructor:function(a){if(a){Ext.apply(this,a)}},decode:function(k,b){var i=this,c=(b||i.delimiter),n=[],o=[n],a=i.quote,g=i.quoteREs,l=i.parseREs,m=l[c]||(l[c]=new RegExp("(\\"+c+"|\\r?\\n|\\r|^)(?:\\"+a+"([^\\"+a+"]*(?:\\"+a+"\\"+a+"[^\\"+a+"]*)*)\\"+a+'|([^"\\'+c+"\\r\\n]*))","gi")),e=g[a]||(g[a]=new RegExp("\\"+a+"\\"+a,"g")),h,d,j;while(h=m.exec(k)){d=h[1];if(d.length&&d!==c){o.push(n=[])}if(h[2]){j=h[2].replace(e,'"')}else{j=h[3]}n.push(j)}return o},encode:function(m,c){var j=this,e=c||j.delimiter,d=j.dateFormat,b=j.quote,k=b+b,l=m.length,h=j.lineBreakRe,o=[],a=[],g,i,n;while(l-->0){n=m[l];a.length=i=n.length;while(i-->0){g=n[i];if(g==null){g=""}else{if(typeof g==="string"){if(g){if(g.indexOf(b)>-1){g=b+g.split(b).join(k)+b}else{if(g.indexOf(e)>-1||h.test(g)){g=b+g+b}}}}else{if(Ext.isDate(g)){g=Ext.Date.format(g,d)}}}a[i]=g}o[l]=a.join(e)}return o.join(j.lineBreak)}});Ext.define("Ext.util.CSV",{extend:Ext.util.DelimitedValue,singleton:true,delimiter:","});Ext.define("Ext.util.LocalStorage",{id:null,destroyed:false,lazyKeys:true,prefix:"",session:false,_keys:null,_store:null,_users:0,statics:{cache:{},get:function(e){var d=this,b=d.cache,c={_users:1},a;if(Ext.isString(e)){c.id=e}else{Ext.apply(c,e)}if(!(a=b[c.id])){a=new d(c)}else{++a._users}return a},supported:true},constructor:function(a){var b=this;Ext.apply(b,a);if(b._users){Ext.util.LocalStorage.cache[b.id]=b}b.init()},init:function(){var a=this,b=a.id;if(!a.prefix&&b){a.prefix=b+"-"}a._store=(a.session?window.sessionStorage:window.localStorage)},destroy:function(){var a=this;delete Ext.util.LocalStorage.cache[a.id];a._store=a._keys=null;a.callParent()},getKeys:function(){var e=this,a=e._store,g=e.prefix,d=e._keys,h=g.length,c,b;if(!d){e._keys=d=[];for(c=a.length;c--;){b=a.key(c);if(b.length>h){if(g===b.substring(0,h)){d.push(b.substring(h))}}}}return d},release:function(){if(!--this._users){this.destroy()}},save:Ext.emptyFn,clear:function(){var d=this,a=d._store,e=d.prefix,c=d._keys||d.getKeys(),b;for(b=c.length;b--;){a.removeItem(e+c[b])}c.length=0},key:function(a){var b=this._keys||this.getKeys();return(0<=a&&a<b.length)?b[a]:null},getItem:function(b){var a=this.prefix+b;return this._store.getItem(a)},removeItem:function(c){var g=this,b=g.prefix+c,a=g._store,e=g._keys,d=a.length;a.removeItem(b);if(e&&d!==a.length){if(g.lazyKeys){g._keys=null}else{Ext.Array.remove(e,c)}}},setItem:function(c,h){var g=this,b=g.prefix+c,a=g._store,e=a.length,d=g._keys;a.setItem(b,h);if(d&&e!==a.length){d.push(c)}}},function(){var a=this;if("localStorage" in window){return}if(!Ext.isIE){a.supported=false;return}a.override({data:null,flushDelay:1,init:function(){var c=this,d=c.data,b;c.el=b=document.createElement("div");b.id=(c.id||(c.id="extjs-localstore"));b.addBehavior("#default#userdata");Ext.getHead().dom.appendChild(b);b.load(c.id);d=b.getAttribute("xdata");c.data=d=(d?Ext.decode(d):{});c._flushFn=function(){c._timer=null;c.save(0)}},destroy:function(){var c=this,b=c.el;if(b){if(c._timer){c.save()}b.parentNode.removeChild(b);c.data=c.el=null;c.callParent()}},getKeys:function(){var c=this,b=c._keys;if(!b){c._keys=b=Ext.Object.getKeys(c.data)}return b},save:function(b){var c=this;if(!b){if(c._timer){clearTimeout(c._timer);c._timer=null}c.el.setAttribute("xdata",Ext.encode(c.data));c.el.save(c.id)}else{if(!c._timer){c._timer=Ext.defer(c._flushFn,b)}}},clear:function(){var b=this;b.data={};b._keys=null;b.save(b.flushDelay)},getItem:function(b){var c=this.data;return(b in c)?c[b]:null},removeItem:function(b){var d=this,c=d._keys,e=d.data;if(b in e){delete e[b];if(c){if(d.lazyKeys){d._keys=null}else{Ext.Array.remove(c,b)}}d.save(d.flushDelay)}},setItem:function(b,g){var d=this,e=d.data,c=d._keys;if(c&&!(b in e)){c.push(b)}e[b]=g;d.save(d.flushDelay)}})});Ext.define("Ext.util.TSV",{extend:Ext.util.DelimitedValue,singleton:true,delimiter:"\t"});Ext.define("Ext.util.TaskManager",{extend:Ext.util.TaskRunner,alternateClassName:["Ext.TaskManager"],singleton:true});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(a,d,e){var b=this,c=b.shared;if(!c){c=b.shared=new b(a,e)}c.bind(a);c.setFixedWidth(e||"auto");return c.getSize(d)},destroy:function(){var a=this;Ext.destroy(a.shared);a.shared=null}},constructor:function(a,d){var c=this,b=Ext.getBody().createChild({role:"presentation",cls:Ext.baseCSSPrefix+"textmetrics"});b.setVisibilityMode(1);c.measure=b;if(a){c.bind(a)}b.position("absolute");b.setLocalXY(-1000,-1000);b.hide();if(d){b.setWidth(d)}},getSize:function(c){var b=this.measure,a;b.setHtml(c);a=b.getSize();b.setHtml("");return a},bind:function(a){var b=this;b.el=Ext.get(a);b.measure.setStyle(b.el.getStyle(["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing","word-break"]))},setFixedWidth:function(a){this.measure.setWidth(a)},getWidth:function(a){this.measure.dom.style.width="auto";return this.getSize(a).width},getHeight:function(a){return this.getSize(a).height},destroy:function(){var a=this;a.el=a.measure=Ext.destroy(a.measure);a.callParent()}},function(){Ext.Element.override({getTextWidth:function(c,b,a){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.valueFrom(c,this.dom.innerHTML,true)).width,b||0,a||1000000)}})});Ext.define("Ext.util.paintmonitor.OverflowChange",{extend:Ext.util.paintmonitor.Abstract,eventName:Ext.browser.is.Firefox?"overflow":"overflowchanged",monitorClass:"overflowchange",onElementPainted:function(a){this.getCallback().apply(this.getScope(),this.getArgs())}});Ext.define("Ext.AbstractComponent",{extend:Ext.Widget});Ext.define("Ext.util.LineSegment",{constructor:function(b,a){var c=Ext.util.Point;this.point1=c.from(b);this.point2=c.from(a)},intersects:function(m){var p=this.point1,n=this.point2,j=m.point1,g=m.point2,c=p.x,b=n.x,a=j.x,r=g.x,q=p.y,o=n.y,l=j.y,i=g.y,h=(c-b)*(l-i)-(q-o)*(a-r),k,e;if(h==0){return null}k=((a-r)*(c*o-q*b)-(c-b)*(a*i-l*r))/h;e=((l-i)*(c*o-q*b)-(q-o)*(a*i-l*r))/h;if(k<Math.min(c,b)||k>Math.max(c,b)||k<Math.min(a,r)||k>Math.max(a,r)||e<Math.min(q,o)||e>Math.max(q,o)||e<Math.min(l,i)||e>Math.max(l,i)){return null}return new Ext.util.Point(k,e)},getLength:function(){return Math.abs(this.point1.getDistanceTo(this.point2))},getAngleToX:function(){var d=this.point1,c=this.point2,a=c.y-d.y,b=c.x-d.x;return Math.atan2(a,b)},getInBetweenPoint:function(e){var b=this.point1,c=this.getAngleToX(),a=b.x+Math.cos(c)*e,d=b.y+Math.sin(c)*e;return new Ext.util.Point(a,d)},toString:function(){return this.point1.toString()+" "+this.point2.toString()}});Ext.define("Ext.Panel",{extend:Ext.Container,xtype:"panel",alternateClassName:"Ext.panel.Panel",defaultBindProperty:"title",isPanel:true,config:{baseCls:Ext.baseCSSPrefix+"panel",border:false,bodyPadding:null,bodyBorder:null,header:null,icon:null,iconCls:null,title:null,tools:null},manageBorders:true,getElementConfig:function(){return{reference:"element",classList:["x-container","x-unsized"],children:[{reference:"innerElement",className:"x-inner"},{reference:"tipElement",className:"x-anchor",hidden:true}]}},addBodyCls:function(a){this.innerElement.addCls(a);return this},removeBodyCls:function(a){this.innerElement.removeCls(a);return this},applyBodyPadding:function(a){if(a===true){a=5}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},addTool:function(b){var c=this.ensureHeader(),a;if(c){a=c.createTools(Ext.Array.from(b),this);if(a&&a.length){a=c.add(a)}}return a},applyHeader:function(a,c){var b=this,d=c;if(a===false){if(d){b.remove(d);d=null}}else{if(a){if(d){if(a!==true){d.setConfig(a)}}else{d=b.add(b.createHeader(a))}}}return d||null},applyTools:function(b){var c=this.ensureHeader(),a;if(c){c.clearTools();a=c.createTools(b,this);if(a&&a.length){c.add(a)}}},createHeader:function(b){var d=this,a={xtype:"panelheader",docked:"top",ui:d.getUi()},c,e;if(b&&b!==true){Ext.merge(a,b)}if(d.initialized){e=d.getTitle();if(e!=null){if(typeof e==="string"){e={text:e}}Ext.merge(a,{title:e})}c=d.getIconCls();if(c!=null){a.iconCls=c}else{c=d.getIcon();if(c!=null){a.icon=c}}}return a},updateBorder:function(b,a){this.callParent([b,a]);if(this.getBodyBorder()===null){this.setBodyBorderEnabled(b!==false)}},updateBodyPadding:function(a){this.innerElement.setStyle("padding",a)},updateBodyBorder:function(a){var b=(a===null)?this.getBorder():a;this.setBodyBorderEnabled(a!==false)},updateIcon:function(a){var b=this.ensureHeader();if(b){b.setIcon(a)}},updateIconCls:function(a){var b=this.ensureHeader();if(b){b.setIconCls(a)}},updateTitle:function(a){var b=this.ensureHeader();if(b){b.setTitle(a)}},updateUi:function(d,b){var a=this,e="x-panel-inner-",c=a.innerElement,g=!a.isConfiguring&&a.ensureHeader();if(b){c.removeCls(e+b)}if(d){c.addCls(e+d)}if(g){a.getTitle();g.setUi(d)}a.callParent([d,b])},alignTo:function(o,j){var t=this.getAlignmentInfo(o,j);if(t.isAligned){return}var z=this.tipElement;z.hide();if(this.currentTipPosition){z.removeCls("x-anchor-"+this.currentTipPosition)}this.callParent(arguments);var g=Ext.util.LineSegment,d=o.isComponent?o.renderElement:o,a=this.renderElement,p=d.getBox(),m=a.getBox(),b=m.left,w=m.top,F=m.right,i=m.bottom,l=b+(m.width/2),k=w+(m.height/2),q={x:b,y:w},n={x:F,y:w},E={x:b,y:i},G={x:F,y:i},B={x:l,y:k},v=p.left+(p.width/2),s=p.top+(p.height/2),y={x:v,y:s},c=new g(B,y),h=0,D=0,e,C,u,r,A,x;z.setVisibility(false);z.show();e=z.getSize();C=e.width;u=e.height;if(c.intersects(new g(q,n))){A=Math.min(Math.max(v,b+C),F-(C));x=w;D=u+10;r="top"}else{if(c.intersects(new g(q,E))){A=b;x=Math.min(Math.max(s+(C/2),C*1.6),i-(C/2.2));h=u+10;r="left"}else{if(c.intersects(new g(E,G))){A=Math.min(Math.max(v,b+C),F-C);x=i;D=-u-10;r="bottom"}else{if(c.intersects(new g(n,G))){A=F;x=Math.max(Math.min(s-u,i-C*1.3),C/2);h=-u-10;r="right"}}}}if(A||x){this.currentTipPosition=r;z.addCls("x-anchor-"+r);z.setLeft(A-b);z.setTop(x-w);z.setVisibility(true);this.setLeft(this.getLeft()+h);this.setTop(this.getTop()+D)}},privates:{ensureHeader:function(){var a=this,b;a.getViewModel();a.getItems();b=a.getHeader();if(!b&&b!==false){a.setHeader(true);b=a.getHeader()}return b},setBodyBorderEnabled:function(a){this.innerElement.setStyle("border-width",a?"":"0")}}});Ext.define("Ext.Button",{extend:Ext.Component,xtype:"button",isButton:true,cachedConfig:{pressedCls:Ext.baseCSSPrefix+"button-pressing",badgeCls:Ext.baseCSSPrefix+"badge",hasBadgeCls:Ext.baseCSSPrefix+"hasbadge",labelCls:Ext.baseCSSPrefix+"button-label",iconCls:null,textAlign:null},config:{badgeText:null,text:null,icon:false,iconAlign:"left",pressedDelay:0,handler:null,scope:null,autoEvent:null,ui:null,baseCls:Ext.baseCSSPrefix+"button"},defaultBindProperty:"text",template:[{tag:"span",reference:"badgeElement",hidden:true},{tag:"span",className:Ext.baseCSSPrefix+"button-icon",reference:"iconElement"},{tag:"span",reference:"textElement",hidden:true}],initialize:function(){this.callParent();this.element.on({scope:this,tap:"onTap",touchstart:"onPress",touchend:"onRelease"})},updateBadgeText:function(c){var a=this.element,b=this.badgeElement;if(c){b.show();b.setText(c)}else{b.hide()}a[(c)?"addCls":"removeCls"](this.getHasBadgeCls())},updateText:function(b){var a=this.textElement;if(a){if(b){a.show();a.setHtml(b)}else{a.hide()}this.refreshIconAlign()}},updateHtml:function(b){var a=this.textElement;if(b){a.show();a.setHtml(b)}else{a.hide()}},updateBadgeCls:function(b,a){this.badgeElement.replaceCls(a,b)},updateHasBadgeCls:function(b,c){var a=this.element;if(a.hasCls(c)){a.replaceCls(c,b)}},updateLabelCls:function(b,a){this.textElement.replaceCls(a,b)},updatePressedCls:function(b,c){var a=this.element;if(a.hasCls(c)){a.replaceCls(c,b)}},updateIcon:function(b){var c=this,a=c.iconElement;if(b){c.showIconElement();a.setStyle("background-image","url("+b+")");c.refreshIconAlign()}else{a.setStyle("background-image","");if(!c.getIconCls()){c.hideIconElement()}}},updateIconCls:function(c,a){var d=this,b=d.iconElement;if(c){d.showIconElement();b.replaceCls(a,c);d.refreshIconAlign()}else{b.removeCls(a);if(!d.getIcon()){d.hideIconElement()}}},updateIconAlign:function(d,c){var b=this.element,a=Ext.baseCSSPrefix+"iconalign-";if(!this.getText()){d="center"}b.removeCls(a+"center");b.removeCls(a+c);if(this.getIcon()||this.getIconCls()){b.addCls(a+d)}},_textAlignCls:{left:Ext.baseCSSPrefix+"text-align-left",right:Ext.baseCSSPrefix+"text-align-right",center:""},updateTextAlign:function(c,b){var e=this._textAlignCls,d=e[c||"center"],a=e[b||"center"];this.replaceCls(a,d)},refreshIconAlign:function(){this.updateIconAlign(this.getIconAlign())},applyAutoEvent:function(b){var a=this;if(typeof b=="string"){b={name:b,scope:a.scope||a}}return b},updateAutoEvent:function(c){var a=c.name,b=c.scope;this.setHandler(function(){b.fireEvent(a,b,this)});this.setScope(b)},hideIconElement:function(){var a=this.iconElement;a.removeCls(Ext.baseCSSPrefix+"shown");a.addCls(Ext.baseCSSPrefix+"hidden");this.element.addCls(Ext.baseCSSPrefix+"button-no-icon")},showIconElement:function(){var a=this.iconElement;a.addCls(Ext.baseCSSPrefix+"shown");a.removeCls(Ext.baseCSSPrefix+"hidden");this.element.removeCls(Ext.baseCSSPrefix+"button-no-icon")},applyUi:function(a){if(a&&Ext.isString(a)){var b=a.split("-");if(b&&(b[1]=="back"||b[1]=="forward")){return b}}return a},getUi:function(){var a=this._ui;if(Ext.isArray(a)){return a.join("-")}return a},applyPressedDelay:function(a){if(Ext.isNumber(a)){return a}return(a)?100:0},onPress:function(){var c=this,a=c.element,d=c.getPressedDelay(),b=c.getPressedCls();if(!c.getDisabled()){if(d>0){c.pressedTimeout=Ext.defer(function(){delete c.pressedTimeout;if(a){a.addCls(b)}},d)}else{a.addCls(b)}}},onRelease:function(a){this.fireAction("release",[this,a],"doRelease")},doRelease:function(a,b){if(!a.getDisabled()){if(a.hasOwnProperty("pressedTimeout")){clearTimeout(a.pressedTimeout);delete a.pressedTimeout}else{a.element.removeCls(a.getPressedCls())}}},onTap:function(a){if(this.getDisabled()){return false}this.fireAction("tap",[this,a],"doTap")},doTap:function(b,c){var a=b.getHandler();if(!a){return}if(c&&c.preventDefault){c.preventDefault()}Ext.callback(a,b.getScope(),[b,c],0,b)}});Ext.define("Ext.Sheet",{extend:Ext.Panel,xtype:"sheet",config:{baseCls:Ext.baseCSSPrefix+"sheet",modal:true,centered:true,stretchX:null,stretchY:null,enter:"bottom",exit:"bottom",showAnimation:{type:"slideIn",duration:250,easing:"ease-out"},hideAnimation:{type:"slideOut",duration:250,easing:"ease-in"},border:null},manageBorders:false,isInputRegex:/^(input|textarea|select|a)$/i,beforeInitialize:function(){var a=this;if(Ext.os.is.iOS){this.element.dom.addEventListener("touchstart",function(b){if(!a.isInputRegex.test(b.target.tagName)){b.preventDefault()}},true)}},applyHideAnimation:function(b){var a=this.getExit(),d=a;if(a===null){return null}if(b===true){b={type:"slideOut"}}if(Ext.isString(b)){b={type:b}}var c=Ext.factory(b,Ext.fx.Animation);if(c){if(a=="bottom"){d="down"}if(a=="top"){d="up"}c.setDirection(d)}return c},applyShowAnimation:function(a){var d=this.getEnter(),c=d;if(d===null){return null}if(a===true){a={type:"slideIn"}}if(Ext.isString(a)){a={type:a}}var b=Ext.factory(a,Ext.fx.Animation);if(b){if(d=="bottom"){c="down"}if(d=="top"){c="up"}b.setBefore({display:null});b.setReverse(true);b.setDirection(c)}return b},updateStretchX:function(a){this.getLeft();this.getRight();if(a){this.setLeft(0);this.setRight(0)}},updateStretchY:function(a){this.getTop();this.getBottom();if(a){this.setTop(0);this.setBottom(0)}}});Ext.define("Ext.ActionSheet",{extend:Ext.Sheet,alias:"widget.actionsheet",config:{baseCls:Ext.baseCSSPrefix+"sheet-action",left:0,right:0,bottom:0,centered:false,height:"auto",defaultType:"button"}});Ext.define("Ext.Anim",{isAnim:true,disableAnimations:false,defaultConfig:{from:{},to:{},duration:250,delay:0,easing:"ease-in-out",autoClear:true,out:true,direction:null,reverse:false},opposites:{left:"right",right:"left",up:"down",down:"up"},constructor:function(a){a=Ext.apply({},a||{},this.defaultConfig);this.config=a;this.callParent([a]);this.running=[]},initConfig:function(c,b){var d=this,a=Ext.apply({},b||{},d.config);a.el=c=Ext.get(c);if(a.reverse&&d.opposites[a.direction]){a.direction=d.opposites[a.direction]}if(d.config.before){d.config.before.call(a,c,a)}if(b.before){b.before.call(a.scope||a,c,a)}return a},run:function(c,a){c=Ext.get(c);a=a||{};var d=this,b=c.dom.style,e,g=a.after;if(d.running[c.id]){d.onTransitionEnd(null,c,{config:a,after:g})}a=this.initConfig(c,a);if(this.disableAnimations){for(e in a.to){if(!a.to.hasOwnProperty(e)){continue}b[e]=a.to[e]}this.onTransitionEnd(null,c,{config:a,after:g});return d}c.un("transitionend",d.onTransitionEnd,d);b.webkitTransitionDuration="0ms";for(e in a.from){if(!a.from.hasOwnProperty(e)){continue}b[e]=a.from[e]}Ext.defer(function(){if(!c.dom){return}if(a.is3d===true){c.parent().setStyle({"-webkit-perspective":"1200","-webkit-transform-style":"preserve-3d"})}b.webkitTransitionDuration=a.duration+"ms";b.webkitTransitionProperty="all";b.webkitTransitionTimingFunction=a.easing;c.on("transitionend",d.onTransitionEnd,d,{single:true,config:a,after:g});for(e in a.to){if(!a.to.hasOwnProperty(e)){continue}b[e]=a.to[e]}},a.delay||5);d.running[c.id]=a;return d},onTransitionEnd:function(e,c,h){c=Ext.get(c);if(this.running[c.id]===undefined){return}var b=c.dom.style,a=h.config,d=this,g;if(a.autoClear){for(g in a.to){if(!a.to.hasOwnProperty(g)||a[g]===false){continue}b[g]=""}}b.webkitTransitionDuration=null;b.webkitTransitionProperty=null;b.webkitTransitionTimingFunction=null;if(a.is3d){c.parent().setStyle({"-webkit-perspective":"","-webkit-transform-style":""})}if(d.config.after){d.config.after.call(a,c,a)}if(h.after){h.after.call(a.scope||d,c,a)}delete d.running[c.id]}},function(){Ext.Anim.seed=1000;Ext.Anim.run=function(b,c,a){if(b.isComponent){b=b.element}else{b=Ext.get(b)}a=a||{};if(c.isAnim){c.run(b,a)}else{if(Ext.isObject(c)){if(a.before&&c.before){a.before=Ext.createInterceptor(a.before,c.before,c.scope)}if(a.after&&c.after){a.after=Ext.createInterceptor(a.after,c.after,c.scope)}a=Ext.apply({},a,c);c=c.type}if(!Ext.anims[c]){throw c+" is not a valid animation type."}else{if(b&&b.dom){Ext.anims[c].run(b,a)}}}};Ext.anims={fade:new Ext.Anim({type:"fade",before:function(b){var c=1,a=1,e=b.getStyle("z-index")=="auto"?0:b.getStyle("z-index"),d=e;if(this.out){a=0}else{d=Math.abs(e)+1;c=0}this.from={opacity:c,"z-index":d};this.to={opacity:a,"z-index":d}}}),slide:new Ext.Anim({direction:"left",cover:false,reveal:false,opacity:false,"z-index":false,before:function(a){var c=a.getStyle("z-index")=="auto"?0:a.getStyle("z-index"),g=a.getStyle("opacity"),i=c+1,d=this.out,m=this.direction,l=0,j=0,k=0,h=0,b=a.getHeight(),e=a.getWidth();if(m=="left"||m=="right"){if(d){l=-e}else{k=e}}else{if(m=="up"||m=="down"){if(d){j=-b}else{h=b}}}if(m=="right"||m=="down"){j*=-1;l*=-1;h*=-1;k*=-1}if(this.cover&&d){l=0;j=0;i=c}else{if(this.reveal&&!d){k=0;h=0;i=c}}this.from={"-webkit-transform":"translate3d("+k+"px, "+h+"px, 0)","z-index":i,opacity:g-0.01};this.to={"-webkit-transform":"translate3d("+l+"px, "+j+"px, 0)","z-index":i,opacity:g}}}),pop:new Ext.Anim({scaleOnExit:true,before:function(d){var b=1,c=1,h=1,a=1,i=d.getStyle("z-index")=="auto"?0:d.getStyle("z-index"),g=i,e=i;if(!this.out){b=0.01;g=i+1;e=i+1;h=0}else{if(this.scaleOnExit){c=0.01;a=0}else{a=0.8}}this.from={"-webkit-transform":"scale("+b+")","-webkit-transform-origin":"50% 50%",opacity:h,"z-index":g};this.to={"-webkit-transform":"scale("+c+")","-webkit-transform-origin":"50% 50%",opacity:a,"z-index":e}}}),flip:new Ext.Anim({is3d:true,direction:"left",before:function(c){var g="Y",a=1,b=1,e=0,d=0;if(this.out){d=-180;b=0.8}else{e=180;a=0.8}if(this.direction=="up"||this.direction=="down"){g="X"}if(this.direction=="right"||this.direction=="left"){d*=-1;e*=-1}this.from={"-webkit-transform":"rotate"+g+"("+e+"deg) scale("+a+")","-webkit-backface-visibility":"hidden"};this.to={"-webkit-transform":"rotate"+g+"("+d+"deg) scale("+b+")","-webkit-backface-visibility":"hidden"}}}),cube:new Ext.Anim({is3d:true,direction:"left",style:"outer",before:function(b){var l="0% 0%",m=0,a=0,j="Y",g=0,h=0,e=b.getWidth(),d=b.getHeight(),k=true,c=" translateX(0)",i="";if(this.direction=="left"||this.direction=="right"){if(this.out){l="100% 100%";h=e;a=-90}else{l="0% 0%";g=e;m=90}}else{if(this.direction=="up"||this.direction=="down"){j="X";if(this.out){l="100% 100%";h=d;a=90}else{l="0% 0%";g=d;m=-90}}}if(this.direction=="down"||this.direction=="right"){m*=-1;a*=-1;l=(l=="0% 0%")?"100% 100%":"0% 0%"}if(this.style=="inner"){g*=-1;h*=-1;m*=-1;a*=-1;if(!this.out){i=" translateX(0px)";l="0% 50%"}else{i=c;l="100% 50%"}}this.from={"-webkit-transform":"rotate"+j+"("+m+"deg)"+(k?" translateZ("+g+"px)":"")+c,"-webkit-transform-origin":l};this.to={"-webkit-transform":"rotate"+j+"("+a+"deg) translateZ("+h+"px)"+i,"-webkit-transform-origin":l}},duration:250}),wipe:new Ext.Anim({before:function(b){var d=b.getStyle("z-index"),c,a="";if(!this.out){c=d+1;a="-webkit-gradient(linear, left bottom, right bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";this.from={"-webkit-mask-image":a,"-webkit-mask-size":b.getWidth()*3+"px "+b.getHeight()+"px","z-index":c,"-webkit-mask-position-x":0};this.to={"-webkit-mask-image":a,"-webkit-mask-size":b.getWidth()*3+"px "+b.getHeight()+"px","z-index":c,"-webkit-mask-position-x":-b.getWidth()*2+"px"}}},duration:500})}});Ext.define("Ext.Media",{extend:Ext.Component,xtype:"media",config:{url:"",enableControls:Ext.os.is.Android?false:true,autoResume:false,autoPause:true,preload:true,loop:false,media:null,volume:1,muted:false},constructor:function(){this.mediaEvents={};this.callParent(arguments)},initialize:function(){var a=this;a.callParent();a.on({scope:a,show:a.onActivate,hide:a.onDeactivate});a.addMediaListener({canplay:"onCanPlay",play:"onPlay",pause:"onPause",ended:"onEnd",volumechange:"onVolumeChange",timeupdate:"onTimeUpdate"})},addMediaListener:function(c,a){var b=this,d=b.media.dom,e=Ext.Function.bind;Ext.Object.each(c,function(h,g){g=e(b[g],b);b.mediaEvents[h]=g;d.addEventListener(h,g)})},onPlay:function(){this.fireEvent("play",this)},onCanPlay:function(){this.fireEvent("canplay",this)},onPause:function(){this.fireEvent("pause",this,this.getCurrentTime())},onEnd:function(){this.fireEvent("ended",this,this.getCurrentTime())},onVolumeChange:function(){this.fireEvent("volumechange",this,this.media.dom.volume)},onTimeUpdate:function(){this.fireEvent("timeupdate",this,this.getCurrentTime())},isPlaying:function(){return !Boolean(this.media.dom.paused)},onActivate:function(){var a=this;if(a.getAutoResume()&&!a.isPlaying()){a.play()}},onDeactivate:function(){var a=this;if(a.getAutoPause()&&a.isPlaying()){a.pause()}},updateUrl:function(a){var b=this.media.dom;b.src=a;if("load" in b){b.load()}if(this.isPlaying()){this.play()}},updateEnableControls:function(a){this.media.dom.controls=a?"controls":false},updateLoop:function(a){this.media.dom.loop=a?"loop":false},play:function(){var a=this.media.dom;if("play" in a){a.play();Ext.defer(function(){a.play()},10)}},pause:function(){var a=this.media.dom;if("pause" in a){a.pause()}},toggle:function(){if(this.isPlaying()){this.pause()}else{this.play()}},stop:function(){var a=this;a.setCurrentTime(0);a.fireEvent("stop",a);a.pause()},updateVolume:function(a){this.media.dom.volume=a},updateMuted:function(a){this.fireEvent("mutedchange",this,a);this.media.dom.muted=a},getCurrentTime:function(){return this.media.dom.currentTime},setCurrentTime:function(a){this.media.dom.currentTime=a;return a},getDuration:function(){return this.media.dom.duration},destroy:function(){var a=this,c=a.media.dom,b=a.mediaEvents;Ext.Object.each(b,function(e,d){c.removeEventListener(e,d)});a.callParent()}});Ext.define("Ext.Audio",{extend:Ext.Media,xtype:"audio",config:{cls:Ext.baseCSSPrefix+"audio"},onActivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.show()}},onDeactivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.hide()}},template:[{reference:"media",preload:"auto",tag:"audio",cls:Ext.baseCSSPrefix+"component"}]});Ext.define("Ext.util.Geolocation",{extend:Ext.Evented,alternateClassName:["Ext.util.GeoLocation"],config:{autoUpdate:true,frequency:10000,latitude:null,longitude:null,accuracy:null,altitude:null,altitudeAccuracy:null,heading:null,speed:null,timestamp:null,allowHighAccuracy:false,timeout:Infinity,maximumAge:0,provider:undefined},updateMaximumAge:function(){if(this.watchOperation){this.updateWatchOperation()}},updateTimeout:function(){if(this.watchOperation){this.updateWatchOperation()}},updateAllowHighAccuracy:function(){if(this.watchOperation){this.updateWatchOperation()}},applyProvider:function(a){if(Ext.feature.has.Geolocation){if(!a){if(navigator&&navigator.geolocation){a=navigator.geolocation}else{if(window.google){a=google.gears.factory.create("beta.geolocation")}}}}else{this.fireEvent("locationerror",this,false,false,true,"This device does not support Geolocation.")}return a},updateAutoUpdate:function(a,b){var c=this,g=c.getProvider();if(b&&g){clearInterval(c.watchOperationId);c.watchOperationId=null}if(a){if(!g){c.fireEvent("locationerror",c,false,false,true,null);return}try{c.updateWatchOperation()}catch(d){c.fireEvent("locationerror",c,false,false,true,d.message)}}},updateWatchOperation:function(){var a=this,b=a.getProvider();if(a.watchOperationId){clearInterval(a.watchOperationId)}function c(){b.getCurrentPosition(Ext.bind(a.fireUpdate,a),Ext.bind(a.fireError,a),a.parseOptions())}c();a.watchOperationId=Ext.interval(c,this.getFrequency())},updateLocation:function(i,a,c){var b=this,h=b.getProvider();var g=function(j,e){if(e){b.fireError(e)}else{b.fireEvent("locationerror",b,false,false,true,j)}if(i){i.call(a||b,null,b)}};if(!h){g(null);return}try{h.getCurrentPosition(function(e){b.fireUpdate(e);if(i){i.call(a||b,b,b)}},function(e){g(null,e)},c||b.parseOptions())}catch(d){g(d.message)}},fireUpdate:function(a){var b=this,c=a.coords;this.position=a;b.setConfig({timestamp:a.timestamp,latitude:c.latitude,longitude:c.longitude,accuracy:c.accuracy,altitude:c.altitude,altitudeAccuracy:c.altitudeAccuracy,heading:c.heading,speed:c.speed});b.fireEvent("locationupdate",b)},fireError:function(a){var b=a.code;this.fireEvent("locationerror",this,b==a.TIMEOUT,b==a.PERMISSION_DENIED,b==a.POSITION_UNAVAILABLE,a.message==undefined?null:a.message)},parseOptions:function(){var b=this.getTimeout(),a={maximumAge:this.getMaximumAge(),enableHighAccuracy:this.getAllowHighAccuracy()};if(b!==Infinity){a.timeout=b}return a},destroy:function(){this.setAutoUpdate(false);this.callParent()}});Ext.define("Ext.Map",{extend:Ext.Container,xtype:"map",isMap:true,config:{baseCls:Ext.baseCSSPrefix+"map",useCurrentLocation:false,map:null,geo:null,mapOptions:{},mapListeners:null},constructor:function(){this.callParent(arguments);if(!(window.google||{}).maps){this.setHtml("Google Maps API is required")}},initialize:function(){this.callParent();this.initMap();this.on({painted:"doResize",scope:this});this.innerElement.on("touchstart","onTouchStart",this)},initMap:function(){var g=this.getMap();if(!g){var e=(window.google||{}).maps;if(!e){return null}var b=this.mapContainer,a=this.getMapOptions(),d=e.event,c=this;if(b.dom.firstChild){Ext.fly(b.dom.firstChild).destroy()}if(Ext.os.is.iPad){Ext.merge({navigationControlOptions:{style:e.NavigationControlStyle.ZOOM_PAN}},a)}a.mapTypeId=a.mapTypeId||e.MapTypeId.ROADMAP;a.center=a.center||new e.LatLng(37.381592,-122.135672);if(a.center&&a.center.latitude&&!Ext.isFunction(a.center.lat)){a.center=new e.LatLng(a.center.latitude,a.center.longitude)}a.zoom=a.zoom||12;g=new e.Map(b.dom,a);this.setMap(g);d.addListener(g,"zoom_changed",Ext.bind(c.onZoomChange,c));d.addListener(g,"maptypeid_changed",Ext.bind(c.onTypeChange,c));d.addListener(g,"center_changed",Ext.bind(c.onCenterChange,c));d.addListenerOnce(g,"tilesloaded",Ext.bind(c.onTilesLoaded,c));this.addMapListeners()}return this.getMap()},renderMap:function(){this.initMap()},getElementConfig:function(){return{reference:"element",className:"x-container",children:[{reference:"innerElement",className:"x-inner",children:[{reference:"mapContainer",className:Ext.baseCSSPrefix+"map-container"}]}]}},onTouchStart:function(a){a.makeUnpreventable()},applyMapOptions:function(a){return Ext.merge({},this.options,a)},updateMapOptions:function(c){var b=(window.google||{}).maps,a=this.getMap();if(b&&a){a.setOptions(c)}},doMapCenter:function(){this.setMapCenter(this.getMapOptions().center)},getMapOptions:function(){return Ext.merge({},this.options||this.getInitialConfig("mapOptions"))},updateUseCurrentLocation:function(a){this.setGeo(a);if(!a){this.setMapCenter()}},applyGeo:function(a){return Ext.factory(a,Ext.util.Geolocation,this.getGeo())},updateGeo:function(b,a){var c={locationupdate:"onGeoUpdate",locationerror:"onGeoError",scope:this};if(a){a.un(c)}if(b){b.on(c);b.updateLocation()}},doResize:function(){var b=(window.google||{}).maps,a=this.getMap();if(b&&a){b.event.trigger(a,"resize")}},onTilesLoaded:function(){this.fireEvent("maprender",this,this.getMap())},addMapListeners:function(){var e=(window.google||{}).maps,a=this.getMap(),k=this.getMapListeners();if(e){var b=e.event,i=this,d,l,j,h,g;if(Ext.isSimpleObject(k)){for(var c in k){d=k[c];if(Ext.isSimpleObject(d)){l=d.scope;j=d.fn}else{if(Ext.isFunction(d)){l=null;j=d}}if(j){h=function(){this.fn.apply(this.scope,[i]);if(this.handle){b.removeListener(this.handle);delete this.handle;delete this.fn;delete this.scope}};g=b.addListener(a,c,Ext.bind(h,h));h.fn=j;h.scope=l;if(d.single===true){h.handle=g}}}}}},onGeoUpdate:function(a){if(a){this.setMapCenter(new google.maps.LatLng(a.getLatitude(),a.getLongitude()))}},onGeoError:Ext.emptyFn,setMapCenter:function(e){var b=this,d=b.getMap(),a=b.getMapOptions(),c=(window.google||{}).maps;if(c){if(!e){if(d&&d.getCenter){e=d.getCenter()}else{if(a.hasOwnProperty("center")){e=a.center}else{e=new c.LatLng(37.381592,-122.135672)}}}if(e&&!(e instanceof c.LatLng)&&"longitude" in e){e=new c.LatLng(e.latitude,e.longitude)}if(!d){a.center=a.center||e;b.renderMap();d=b.getMap()}if(d&&e instanceof c.LatLng){d.panTo(e)}else{this.options=Ext.apply(this.getMapOptions(),{center:e})}}},onZoomChange:function(){var a=this.getMapOptions(),c=this.getMap(),b;b=(c&&c.getZoom)?c.getZoom():a.zoom||10;this.options=Ext.apply(a,{zoom:b});this.fireEvent("zoomchange",this,c,b)},onTypeChange:function(){var b=this.getMapOptions(),c=this.getMap(),a;a=(c&&c.getMapTypeId)?c.getMapTypeId():b.mapTypeId;this.options=Ext.apply(b,{mapTypeId:a});this.fireEvent("typechange",this,c,a)},onCenterChange:function(){var b=this.getMapOptions(),c=this.getMap(),a;a=(c&&c.getCenter)?c.getCenter():b.center;this.options=Ext.apply(b,{center:a});this.fireEvent("centerchange",this,c,a)},destroy:function(){Ext.destroy(this.getGeo());var a=this.getMap();if(a&&(window.google||{}).maps){google.maps.event.clearInstanceListeners(a)}this.callParent()}});Ext.define("Ext.BingMap",{extend:Ext.Map,xtype:"bingmap",initMap:function(){var g=this.getMap();if(!g){var e=this,c=e.mapContainer,a=e.getMapOptions(),d;var h=Microsoft.Maps;var b="AokX-S2lieXTaXG8pvEw3i2AKYuStBMK8RsUu6BDJ6hrL5AYv0IfQqM9zc-BAA-v";a=Ext.merge({credentials:b,mapTypeId:"r",zoom:12},a);if(!a.center){a.center=new h.Location(37.381592,-122.135672)}if(c.dom.firstChild){Ext.fly(c.dom.firstChild).destroy()}h.loadModule("Microsoft.Maps.Overlays.Style",{callback:function(){e.setMap(new h.Map(c.dom,a));if(a.callback){a.callback()}}});g=e.getMap()}e.fireEvent("maprender",e,g)},setMapCenter:function(c){var a=this,b=a.getMap(),d=Microsoft.Maps;if(!a.isPainted()){a.un("painted","setMapCenter",this);a.on("painted","setMapCenter",this,{delay:150,single:true,args:[c]});return}c=c||new d.Location(37.381592,-122.135672);if(c&&!(c instanceof d.Location)&&"longitude" in c){c=new d.Location(c.latitude,c.longitude)}if(!b){a.initMap();b=a.getMap()}if(b&&c instanceof d.Location){b.updateMapPosition(c)}else{this.options=Ext.apply(this.getMapOptions(),{center:c})}}},function(){});Ext.define("Ext.Decorator",{extend:Ext.Component,isDecorator:true,config:{component:{}},statics:{generateProxySetter:function(a){return function(c){var b=this.getComponent();b[a].call(b,c);return this}},generateProxyGetter:function(a){return function(){var b=this.getComponent();return b[a].call(b)}}},onClassExtended:function(c,e){if(!e.hasOwnProperty("proxyConfig")){return}var g=Ext.Class,j=e.proxyConfig,d=e.config;e.config=(d)?Ext.applyIf(d,j):j;var b,i,h,a;for(b in j){if(j.hasOwnProperty(b)){i=Ext.Config.get(b).names;h=i.set;a=i.get;e[h]=this.generateProxySetter(h);e[a]=this.generateProxyGetter(a)}}},applyComponent:function(a){return Ext.factory(a,Ext.Component)},updateComponent:function(b,c){var a=this;if(c){if(a.isRendered()&&c.setRendered(false)){c.fireEventedAction("renderedchange",[a,c,false],a.doUnsetComponent,a,false)}else{a.doUnsetComponent(c)}}if(b){if(a.isRendered()&&b.setRendered(true)){b.fireEventedAction("renderedchange",[a,b,true],a.doSetComponent,a,false)}else{a.doSetComponent(b)}}},doUnsetComponent:function(a){var b=a.renderElement.dom;if(b){a.setLayoutSizeFlags(0);this.innerElement.dom.removeChild(b)}},doSetComponent:function(a){var b=a.renderElement.dom;if(b){a.setLayoutSizeFlags(this.getSizeFlags());this.innerElement.dom.appendChild(b)}},setRendered:function(b){var a;if(this.callParent(arguments)){a=this.getComponent();if(a){a.setRendered(b)}return true}return false},setDisabled:function(a){this.callParent(arguments);this.getComponent().setDisabled(a)},destroy:function(){Ext.destroy(this.getComponent());this.callParent()}});Ext.define("Ext.Img",{extend:Ext.Component,xtype:["image","img"],alternateClassName:"Ext.Image",config:{src:null,baseCls:Ext.baseCSSPrefix+"img",imageCls:Ext.baseCSSPrefix+"img-image",backgroundCls:Ext.baseCSSPrefix+"img-background",mode:"background"},beforeInitialize:function(){var a=this;a.onLoad=Ext.Function.bind(a.onLoad,a);a.onError=Ext.Function.bind(a.onError,a)},initialize:function(){var a=this;a.callParent();a.relayEvents(a.renderElement,"*");a.element.on({tap:"onTap",scope:a})},hide:function(){this.callParent(arguments);this.hiddenSrc=this.hiddenSrc||this.getSrc();this.setSrc(null)},show:function(){this.callParent(arguments);if(this.hiddenSrc){this.setSrc(this.hiddenSrc);delete this.hiddenSrc}},updateMode:function(d){var c=this,a=c.getImageCls(),b=c.getBackgroundCls();if(d==="background"){if(c.imageElement){c.imageElement.destroy();delete c.imageElement;c.updateSrc(c.getSrc())}c.replaceCls(a,b)}else{c.imageElement=c.element.createChild({tag:"img"});c.replaceCls(b,a)}},updateImageCls:function(b,a){this.replaceCls(a,b)},updateBackgroundCls:function(b,a){this.replaceCls(a,b)},onTap:function(a){this.fireEvent("tap",this,a)},onAfterRender:function(){this.updateSrc(this.getSrc())},applySrc:function(a){return a&&Ext.resolveResource(a)},updateSrc:function(a){var b=this,c;if(b.getMode()==="background"){c=this.imageObject||new Image()}else{c=b.imageElement.dom}this.imageObject=c;c.setAttribute("src",Ext.isString(a)?a:"");c.addEventListener("load",b.onLoad,false);c.addEventListener("error",b.onError,false)},detachListeners:function(){var a=this.imageObject;if(a){a.removeEventListener("load",this.onLoad,false);a.removeEventListener("error",this.onError,false)}},onLoad:function(a){this.detachListeners();if(this.getMode()==="background"){this.element.dom.style.backgroundImage='url("'+this.imageObject.src+'")'}this.fireEvent("load",this,a)},onError:function(a){this.detachListeners();if(this.getMode()==="background"){this.element.dom.style.backgroundImage='url("'+this.imageObject.src+'")'}this.fireEvent("error",this,a)},updateWidth:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setWidth(b);this.callParent(arguments)},updateHeight:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setHeight(b);this.callParent(arguments)},destroy:function(){var a=this;a.detachListeners();a.imageObject=a.imageElement=Ext.destroy(a.imageObject,a.imageElement);a.callParent()}});Ext.define("Ext.Label",{extend:Ext.Component,xtype:"label",config:{baseCls:Ext.baseCSSPrefix+"label"}});Ext.define("Ext.Menu",{extend:Ext.Sheet,xtype:"menu",config:{baseCls:Ext.baseCSSPrefix+"menu",left:0,right:0,bottom:0,height:"auto",width:"auto",defaultType:"button",showAnimation:null,hideAnimation:null,centered:false,modal:true,hidden:true,hideOnMaskTap:true,translatable:{translationMethod:null}},constructor:function(){this.config.translatable.translationMethod="csstransform";this.callParent(arguments)},updateUi:function(a,b){this.callParent(arguments);if(a!=b&&Ext.theme.is.Blackberry){if(a=="context"){this.innerElement.swapCls("x-vertical","x-horizontal")}else{if(a=="application"){this.innerElement.swapCls("x-horizontal","x-vertical")}}}},updateHideOnMaskTap:function(b){var a=this.getModal();if(a){a[b?"on":"un"].call(a,"tap",function(){Ext.Viewport.hideMenu(this.$side)},this)}},updateHidden:function(){if(this.initialized){this.callParent(arguments)}}});Ext.define("Ext.Title",{extend:Ext.Component,xtype:"title",config:{baseCls:"x-title",title:""},updateTitle:function(a){this.setHtml(a)}});Ext.define("Ext.Spacer",{extend:Ext.Component,alias:"widget.spacer",config:{},constructor:function(a){a=a||{};if(!a.width){a.flex=1}this.callParent([a])}});Ext.define("Ext.Toolbar",{extend:Ext.Container,xtype:"toolbar",isToolbar:true,config:{baseCls:Ext.baseCSSPrefix+"toolbar",title:null,defaultType:"button",defaultButtonUI:null,minHeight:null,layout:{type:"hbox",align:"center"}},hasCSSMinHeight:true,constructor:function(a){a=a||{};if(a.docked=="left"||a.docked=="right"){a.layout={type:"vbox",align:"stretch"}}this.callParent([a])},applyTitle:function(a){if(typeof a=="string"){a={title:a,centered:Ext.theme.is.Tizen?false:true}}return Ext.factory(a,Ext.Title,this.getTitle())},updateTitle:function(b,a){if(b){this.add(b)}if(a){a.destroy()}},showTitle:function(){var a=this.getTitle();if(a){a.show()}},hideTitle:function(){var a=this.getTitle();if(a){a.hide()}},onItemAdd:function(c,b){var a=this.getDefaultButtonUI();if(a){if(c.isSegmentedButton){if(c.getDefaultUI()==null){c.setDefaultUI(a)}}else{if(c.isButton&&(c.getUi()==null)){c.setUi(a)}}}this.callParent([c,b])},factoryItem:function(a){if(a==="->"){a={xtype:"component",flex:1}}return this.callParent([a])}});Ext.define("Ext.field.Input",{extend:Ext.Component,xtype:"input",tag:"input",cachedConfig:{cls:Ext.baseCSSPrefix+"form-field",focusCls:Ext.baseCSSPrefix+"field-focus",maskCls:Ext.baseCSSPrefix+"field-mask",useMask:"auto",type:"text",checked:false},config:{baseCls:Ext.baseCSSPrefix+"field-input",name:null,value:null,isFocused:false,tabIndex:null,placeHolder:null,minValue:null,maxValue:null,stepValue:null,maxLength:null,autoComplete:null,autoCapitalize:null,autoCorrect:null,readOnly:null,maxRows:null,pattern:null,startValue:false,fastFocus:false},getTemplate:function(){var a=[{reference:"input",tag:this.tag},{reference:"mask",classList:[this.config.maskCls]},{reference:"clearIcon",cls:"x-clear-icon"}];return a},initElement:function(){var a=this;a.callParent();a.input.on({scope:a,keyup:"onKeyUp",keydown:"onKeyDown",focus:"onFocus",blur:"onBlur",input:"onInput",paste:"onPaste",tap:"onInputTap"});if(Ext.browser.is.AndroidStock){a.input.dom.addEventListener("mousedown",function(b){if(document.activeElement!=b.target){b.preventDefault()}});a.input.dom.addEventListener("touchend",function(){a.focus()})}a.mask.on({scope:a,tap:"onMaskTap"});if(a.clearIcon){a.clearIcon.on({tap:"onClearIconTap",touchstart:"onClearIconPress",touchend:"onClearIconRelease",scope:a})}if(Ext.browser.is.ie&&Ext.browser.version.major>=10){a.input.on({scope:a,keypress:"onKeyPress"})}},updateFastFocus:function(a){if(a){if(this.getFastFocus()&&Ext.os.is.iOS){this.input.on({scope:this,touchstart:"onTouchStart"})}}else{this.input.un({scope:this,touchstart:"onTouchStart"})}},useManualMaxLength:function(){return Boolean((Ext.os.is.Android&&!Ext.browser.is.Chrome))},applyUseMask:function(a){if(a==="auto"){a=Ext.os.is.iOS&&Ext.os.version.lt("5")}return Boolean(a)},updateUseMask:function(a){this.mask[a?"show":"hide"]()},updatePattern:function(a){this.updateFieldAttribute("pattern",a)},updateFieldAttribute:function(b,c){var a=this.input;if(!Ext.isEmpty(c,true)){a.dom.setAttribute(b,c)}else{a.dom.removeAttribute(b)}},updateCls:function(b,a){this.input.addCls(Ext.baseCSSPrefix+"input-el");this.input.replaceCls(a,b)},updateType:function(a,c){var b=Ext.baseCSSPrefix+"input-";this.input.replaceCls(b+c,b+a);this.updateFieldAttribute("type",a)},updateName:function(a){this.updateFieldAttribute("name",a)},getValue:function(){var a=this.input;if(a){this._value=a.dom.value}return this._value},applyValue:function(a){return(Ext.isEmpty(a))?"":a},updateValue:function(b){var a=this.input;if(a&&a.dom.value!==b){a.dom.value=b}},setValue:function(b){var a=this._value;this.updateValue(this.applyValue(b));b=this.getValue();if(String(b)!=String(a)&&this.initialized){this.onChange(this,b,a)}return this},updateTabIndex:function(a){this.updateFieldAttribute("tabIndex",a)},testAutoFn:function(a){return[true,"on"].indexOf(a)!==-1},updateMaxLength:function(a){if(!this.useManualMaxLength()){this.updateFieldAttribute("maxlength",a)}},updatePlaceHolder:function(a){this.updateFieldAttribute("placeholder",a)},applyAutoComplete:function(a){return this.testAutoFn(a)},updateAutoComplete:function(a){var b=a?"on":"off";this.updateFieldAttribute("autocomplete",b)},applyAutoCapitalize:function(a){return this.testAutoFn(a)},updateAutoCapitalize:function(b){var a=b?"on":"off";this.updateFieldAttribute("autocapitalize",a)},applyAutoCorrect:function(a){return this.testAutoFn(a)},updateAutoCorrect:function(a){var b=a?"on":"off";this.updateFieldAttribute("autocorrect",b)},updateMinValue:function(a){this.updateFieldAttribute("min",a)},updateMaxValue:function(a){this.updateFieldAttribute("max",a)},updateStepValue:function(a){this.updateFieldAttribute("step",a)},checkedRe:/^(true|1|on)/i,getChecked:function(){var a=this.input,b;if(a){b=a.dom.checked;this._checked=b}return b},applyChecked:function(a){return !!this.checkedRe.test(String(a))},setChecked:function(a){this.updateChecked(this.applyChecked(a));this._checked=a},updateChecked:function(a){this.input.dom.checked=a},updateReadOnly:function(a){this.updateFieldAttribute("readonly",a?true:null)},updateMaxRows:function(a){this.updateFieldAttribute("rows",a)},updateDisabled:function(a){this.callParent(arguments);if(Ext.browser.is.Safari&&!Ext.os.is.BlackBerry){this.input.dom.tabIndex=(a)?-1:0}this.input.dom.disabled=(Ext.browser.is.Safari&&!Ext.os.is.BlackBerry)?false:a;if(!a){this.blur()}},isDirty:function(){if(this.getDisabled()){return false}return String(this.getValue())!==String(this.originalValue)},reset:function(){this.setValue(this.originalValue)},onInputTap:function(a){this.fireAction("inputtap",[this,a],"doInputTap")},doInputTap:function(a,b){if(a.getDisabled()){return false}if(this.getFastFocus()&&Ext.os.is.iOS){a.focus()}},onMaskTap:function(a){this.fireAction("masktap",[this,a],"doMaskTap")},doMaskTap:function(a,b){if(a.getDisabled()){return false}a.focus()},showMask:function(){if(this.getUseMask()){this.mask.setStyle("display","block")}},hideMask:function(){if(this.getUseMask()){this.mask.setStyle("display","none")}},focus:function(){var b=this,a=b.input;if(a&&a.dom.focus){a.dom.focus()}return b},blur:function(){var b=this,a=this.input;if(a&&a.dom.blur){a.dom.blur()}return b},select:function(){var b=this,a=b.input;if(a&&a.dom.setSelectionRange){a.dom.setSelectionRange(0,9999)}return b},onFocus:function(a){this.fireAction("focus",[a],"doFocus")},doFocus:function(b){var a=this;a.hideMask();if(!a.getIsFocused()){a.setStartValue(a.getValue())}a.setIsFocused(true)},onTouchStart:function(a){if(document.activeElement!=a.target){a.preventDefault()}},onBlur:function(a){this.fireAction("blur",[a],"doBlur")},doBlur:function(d){var b=this,c=b.getValue(),a=b.getStartValue();b.showMask();b.setIsFocused(false);if(String(c)!=String(a)){b.onChange(b,c,a)}},onClearIconTap:function(a){this.fireEvent("clearicontap",this,a);if(Ext.os.is.Android){this.focus()}},onClearIconPress:function(){this.clearIcon.addCls(Ext.baseCSSPrefix+"pressing")},onClearIconRelease:function(){this.clearIcon.removeCls(Ext.baseCSSPrefix+"pressing")},onClick:function(a){this.fireEvent("click",a)},onChange:function(b,c,a){if(this.useManualMaxLength()){this.trimValueToMaxLength()}this.fireEvent("change",b,c,a)},onPaste:function(a){if(this.useManualMaxLength()){this.trimValueToMaxLength()}this.fireEvent("paste",a)},onKeyUp:function(a){if(this.useManualMaxLength()){this.trimValueToMaxLength()}this.fireEvent("keyup",a)},onKeyDown:function(){this.ignoreInput=true},onInput:function(b){var a=this;a.fireEvent("input",a,a.input.dom.value);if(a.ignoreInput){a.ignoreInput=false;return}Ext.defer(function(){if(!a.ignoreInput){a.fireEvent("keyup",b);a.ignoreInput=false}},10)},onKeyPress:function(a){if(a.browserEvent.keyCode==13){this.fireEvent("keyup",a)}},onMouseDown:function(a){this.fireEvent("mousedown",a)},trimValueToMaxLength:function(){var a=this.getMaxLength();if(a){var b=this.getValue();if(b.length>this.getMaxLength()){this.setValue(b.slice(0,a))}}}});Ext.define("Ext.field.Field",{extend:Ext.Decorator,alternateClassName:"Ext.form.Field",xtype:"field",isField:true,isFormField:true,config:{baseCls:Ext.baseCSSPrefix+"field",label:null,labelAlign:"left",labelWidth:"30%",labelWrap:false,clearIcon:null,required:false,inputType:null,name:null,value:null,tabIndex:null},cachedConfig:{labelCls:null,requiredCls:Ext.baseCSSPrefix+"field-required",inputCls:null},noWrapCls:Ext.baseCSSPrefix+"form-label-nowrap",getElementConfig:function(){var a=Ext.baseCSSPrefix;return{reference:"element",className:Ext.baseCSSPrefix+"container",children:[{reference:"label",cls:a+"form-label",children:[{reference:"labelspan",tag:"span"}]},{reference:"innerElement",cls:a+"component-outer"}]}},updateLabel:function(b,d){var a=this.renderElement,c=Ext.baseCSSPrefix;if(b){this.labelspan.setHtml(b);a.addCls(c+"field-labeled")}else{a.removeCls(c+"field-labeled")}},updateLabelAlign:function(b,c){var a=this.renderElement,d=Ext.baseCSSPrefix;if(b){a.addCls(d+"label-align-"+b);if(b=="top"||b=="bottom"){this.label.setWidth("100%")}else{this.updateLabelWidth(this.getLabelWidth())}}if(c){a.removeCls(d+"label-align-"+c)}},updateLabelCls:function(a,b){if(a){this.label.addCls(a)}if(b){this.label.removeCls(b)}},updateLabelWidth:function(b){var a=this.getLabelAlign();if(b){if(a=="top"||a=="bottom"){this.label.setWidth("100%")}else{this.label.setWidth(b)}}},updateLabelWrap:function(a,b){this.toggleCls(this.noWrapCls,!a)},updateRequired:function(a){this.renderElement.toggleCls(this.getRequiredCls(),a)},updateRequiredCls:function(a,b){if(this.getRequired()){this.renderElement.replaceCls(b,a)}},initialize:function(){var a=this;a.callParent();a.doInitValue()},doInitValue:function(){this.originalValue=this.getInitialConfig().value},reset:function(){this.setValue(this.originalValue);return this},resetOriginalValue:function(){this.originalValue=this.getValue()},isDirty:function(){return false}});Ext.define("Ext.field.Text",{extend:Ext.field.Field,xtype:"textfield",alternateClassName:"Ext.form.Text",config:{ui:"text",clearIcon:true,placeHolder:null,maxLength:null,autoComplete:null,autoCapitalize:null,autoCorrect:null,readOnly:null,component:{xtype:"input",type:"text",fastFocus:false},bubbleEvents:["action"]},defaultBindProperty:"value",twoWayBindable:{value:1},publishes:{value:1},focusedCls:Ext.baseCSSPrefix+"field-focused",clearableCls:Ext.baseCSSPrefix+"field-clearable",emptyCls:Ext.baseCSSPrefix+"empty",initialize:function(){var a=this;a.callParent();a.getComponent().on({scope:this,keyup:"onKeyUp",input:"onInput",focus:"onFocus",blur:"onBlur",paste:"onPaste",mousedown:"onMouseDown",clearicontap:"onClearIconTap"});a.originalValue=a.getValue()||"";a.getComponent().originalValue=a.originalValue;a.syncEmptyCls()},syncEmptyCls:function(){var b=this._value,a=b?b.length:false;this.toggleCls(this.emptyCls,!a)},applyValue:function(a){return Ext.isEmpty(a)?"":a},updateValue:function(e,c){var d=this,b=d.getComponent(),a=e!==undefined&&e!==null&&e!=="";if(b){b.setValue(e)}d.toggleClearIcon(a&&d.isDirty());d.syncEmptyCls();if(d.initialized){d.fireEvent("change",d,e,c)}},updatePlaceHolder:function(a){this.getComponent().setPlaceHolder(a)},updateMaxLength:function(a){this.getComponent().setMaxLength(a)},updateAutoComplete:function(a){this.getComponent().setAutoComplete(a)},updateAutoCapitalize:function(a){this.getComponent().setAutoCapitalize(a)},updateAutoCorrect:function(a){this.getComponent().setAutoCorrect(a)},updateReadOnly:function(a){this.toggleClearIcon(!a);this.getComponent().setReadOnly(a)},updateInputType:function(a){var b=this.getComponent();if(b){b.setType(a)}},updateName:function(a){var b=this.getComponent();if(b){b.setName(a)}},updateTabIndex:function(b){var a=this.getComponent();if(a){a.setTabIndex(b)}},updateInputCls:function(a,b){var c=this.getComponent();if(c){c.replaceCls(b,a)}},updateDisabled:function(b,c){this.callParent([b,c]);var a=this.getComponent();if(a){a.setDisabled(b)}this.toggleClearIcon(!b)},showClearIcon:function(){var b=this,c=b.getValue(),a=c!==undefined&&c!==null&&c!=="";if(b.getClearIcon()&&!b.getDisabled()&&!b.getReadOnly()&&a){b.element.addCls(b.clearableCls)}return b},hideClearIcon:function(){if(this.getClearIcon()){this.element.removeCls(this.clearableCls)}},onKeyUp:function(a){this.fireAction("keyup",[this,a],"doKeyUp")},doKeyUp:function(b,d){var c=b.getValue(),a=c!==undefined&&c!==null&&c!=="";b.toggleClearIcon(a);if(d.browserEvent.keyCode===13){b.fireAction("action",[b,d],"doAction")}},doAction:function(){this.blur()},onClearIconTap:function(a,b){this.fireAction("clearicontap",[this,a,b],"doClearIconTap")},doClearIconTap:function(a,b){a.setValue("")},onInput:function(a,b){this.setValue(b)},onFocus:function(b){var a=this;a.addCls(a.focusedCls);a.isFocused=true;a.fireEvent("focus",a,b)},onBlur:function(b){var a=this;a.removeCls(a.focusedCls);a.isFocused=false;a.fireEvent("blur",a,b);Ext.defer(function(){a.isFocused=false},50)},onPaste:function(a){this.fireEvent("paste",this,a)},onMouseDown:function(a){this.fireEvent("mousedown",this,a)},focus:function(){this.getComponent().focus();return this},blur:function(){this.getComponent().blur();return this},select:function(){this.getComponent().select();return this},resetOriginalValue:function(){var b=this,a;b.callParent();component=b.getComponent();if(component&&component.hasOwnProperty("originalValue")){b.getComponent().originalValue=b.originalValue}b.reset()},reset:function(){var a=this;a.getComponent().reset();a.getValue();a.toggleClearIcon(a.isDirty())},isDirty:function(){var a=this.getComponent();if(a){return a.isDirty()}return false},privates:{toggleClearIcon:function(a){if(a){this.showClearIcon()}else{this.hideClearIcon()}}}});Ext.define("Ext.field.TextAreaInput",{extend:Ext.field.Input,xtype:"textareainput",tag:"textarea"});Ext.define("Ext.field.TextArea",{extend:Ext.field.Text,xtype:"textareafield",alternateClassName:"Ext.form.TextArea",config:{ui:"textarea",autoCapitalize:false,component:{xtype:"textareainput"},maxRows:null},updateMaxRows:function(a){this.getComponent().setMaxRows(a)},updateHeight:function(a,b){this.callParent([a,b]);this.getComponent().input.setHeight(a)},updateWidth:function(b,a){this.callParent([b,a]);this.getComponent().input.setWidth(b)},doKeyUp:function(a){this.toggleClearIcon(this.getValue())}});Ext.define("Ext.MessageBox",{extend:Ext.Sheet,xtype:"messagebox",config:{baseCls:Ext.baseCSSPrefix+"msgbox",iconCls:null,showAnimation:{type:"popIn",duration:250,easing:"ease-out"},hideAnimation:{type:"popOut",duration:250,easing:"ease-out"},zIndex:999,defaultTextHeight:75,title:null,buttons:null,message:null,prompt:null,modal:true,layout:{type:"vbox",pack:"center"}},statics:{OK:{text:"OK",itemId:"ok",ui:"action"},YES:{text:"Yes",itemId:"yes",ui:"action"},NO:{text:"No",itemId:"no"},CANCEL:{text:"Cancel",itemId:"cancel"},INFO:Ext.baseCSSPrefix+"msgbox-info",WARNING:Ext.baseCSSPrefix+"msgbox-warning",QUESTION:Ext.baseCSSPrefix+"msgbox-question",ERROR:Ext.baseCSSPrefix+"msgbox-error",OKCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"OK",itemId:"ok",ui:"action"}],YESNOCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"No",itemId:"no"},{text:"Yes",itemId:"yes",ui:"action"}],YESNO:[{text:"No",itemId:"no"},{text:"Yes",itemId:"yes",ui:"action"}]},constructor:function(a){a=a||{};if(a.hasOwnProperty("multiline")||a.hasOwnProperty("multiLine")){a.prompt=a.prompt||{};Ext.applyIf(a.prompt,{multiLine:a.multiline||a.multiLine});delete a.multiline;delete a.multiLine}this.defaultAllowedConfig={};var e=["ui","showAnimation","hideAnimation","title","message","prompt","iconCls","buttons","defaultTextHeight"],d=e.length,b,c;for(b=0;b<d;b++){c=e[b];this.defaultAllowedConfig[c]=this.defaultConfig[c]}this.callParent([a])},applyTitle:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"top",ui:Ext.filterPlatform("blackberry")?"light":null,cls:this.getBaseCls()+"-title"});if(Ext.theme.is.Tizen){Ext.applyIf(a,{centered:false})}return Ext.factory(a,Ext.Toolbar,this.getTitle())},updateTitle:function(a){if(a){this.add(a)}},updateButtons:function(a){var d=this;a=(!a||a.length===0)?false:a;if(a){if(d.buttonsToolbar){d.buttonsToolbar.show();d.buttonsToolbar.removeAll();d.buttonsToolbar.setItems(a)}else{var c={type:"hbox",pack:"center"};var b=Ext.theme.is.MountainView||Ext.theme.is.Blackberry;d.buttonsToolbar=Ext.create("Ext.Toolbar",{docked:"bottom",defaultType:"button",defaults:{flex:(b)?1:undefined,ui:(Ext.theme.is.Blackberry)?"action":undefined},layout:c,ui:d.getUi(),cls:d.getBaseCls()+"-buttons",items:a});d.add(d.buttonsToolbar)}}else{if(d.buttonsToolbar){d.buttonsToolbar.hide()}}},applyMessage:function(a){a={html:a,cls:this.getBaseCls()+"-text"};return Ext.factory(a,Ext.Component,this._message)},updateMessage:function(a){if(a){this.add(a)}},getMessage:function(){if(this._message){return this._message.getHtml()}return null},applyIconCls:function(a){a={xtype:"component",docked:"left",width:40,height:40,baseCls:Ext.baseCSSPrefix+"icon",hidden:(a)?false:true,cls:a};return Ext.factory(a,Ext.Component,this._iconCls)},updateIconCls:function(a,b){this.getTitle();this.getButtons();if(a){this.add(a)}else{this.remove(b)}},getIconCls:function(){var b=this._iconCls,a;if(b){a=b.getCls();return(a)?a[0]:null}return null},applyPrompt:function(a){if(a){var b={label:false};if(Ext.isObject(a)){Ext.apply(b,a)}if(b.multiLine){b.height=Ext.isNumber(b.multiLine)?parseFloat(b.multiLine):this.getDefaultTextHeight();return Ext.factory(b,Ext.field.TextArea,this.getPrompt())}else{return Ext.factory(b,Ext.field.Text,this.getPrompt())}}return a},updatePrompt:function(a,b){if(a){this.add(a)}if(b){this.remove(b)}},onClick:function(c){if(c){var b=c.config.userConfig||{},d=c.getInitialConfig(),a=this.getPrompt();if(typeof b.fn=="function"){c.disable();this.on({hiddenchange:function(){b.fn.call(b.scope||null,d.itemId||d.text,a?a.getValue():null,b);c.enable()},single:true,scope:this})}if(b.input){b.input.dom.blur()}}this.hide()},show:function(g){Ext.util.InputBlocker.blockInputs();if(!this.getParent()&&Ext.Viewport){Ext.Viewport.add(this)}if(!g){return this.callParent()}var b=Ext.apply({},g),e=g.buttons||Ext.MessageBox.OK||[],d=[],c=g;Ext.each(e,function(h){if(!h){return}d.push(Ext.apply({userConfig:c,scope:this,handler:"onClick"},h))},this);b.buttons=d;b.prompt=b.prompt||null;if(b.multiLine){b.prompt=b.prompt||{};b.prompt.multiLine=b.multiLine;delete b.multiLine}delete b.value;delete b.fn;delete b.scope;b=Ext.merge({},this.defaultAllowedConfig,b);this.setConfig(b);var a=this.getPrompt();if(a){a.setValue(g.value||"")}this.callParent();return this},alert:function(d,c,b,a){return this.show({title:d||null,message:c||null,buttons:Ext.MessageBox.OK,prompt:false,fn:function(){if(b){Ext.callback(b,a,arguments)}},scope:a})},confirm:function(d,c,b,a){return this.show({title:d||null,message:c||null,buttons:Ext.MessageBox.YESNO,prompt:false,scope:a,fn:function(){if(b){Ext.callback(b,a,arguments)}}})},prompt:function(h,d,c,b,g,e,a){return this.show({title:h||null,message:d||null,buttons:Ext.MessageBox.OKCANCEL,scope:b,prompt:a||true,multiLine:g,value:e,fn:function(){if(c){Ext.callback(c,b,arguments)}}})}},function(a){Ext.onInternalReady(function(){Ext.Msg=new a()})});Ext.define("Ext.mixin.Progressable",{extend:Ext.Mixin,isProgressable:true,mixinConfig:{id:"progressable"},config:{minProgressInput:0,maxProgressInput:1,minProgressOutput:0,maxProgressOutput:100,dynamic:true,state:null},_progressActive:false,_progress:0,_rawProgress:0,onStartProgress:Ext.emptyFn,onUpdateProgress:Ext.emptyFn,onEndProgress:Ext.emptyFn,startProgress:function(){if(!this._progressActive){this._progressActive=true;this.onStartProgress();this.updateProgress(this.getMinProgressInput())}},updateProgress:function(c,b){if(b&&b!=this.getState()){this.setState(b)}if(c>this.getMaxProgressInput()){c=this.getMaxProgressInput()}if(c<this.getMinProgressInput()){c=this.getMinProgressInput()}var a=this.mapValues(c,this.getMinProgressInput(),this.getMaxProgressInput(),this.getMinProgressOutput(),this.getMaxProgressOutput());this._progress=a;this._rawProgress=c;if(this.getDynamic()){this.onUpdateProgress(a)}},endProgress:function(){if(this._progressActive){this._progressActive=false;this.updateProgress(this.getMaxProgressInput());this.onEndProgress()}},mapValues:function(c,e,b,a,d){return(c-e)/(b-e)*(d-a)+a},setProgress:function(a){this.updateProgress(a)},getProgress:function(){return this._progress},getRawProgress:function(){return this._rawProgress}});Ext.define("Ext.ProgressIndicator",{extend:Ext.Container,mixins:[Ext.mixin.Progressable],xtype:"progressindicator",config:{baseCls:Ext.baseCSSPrefix+"progressindicator",hidden:true,modal:true,centered:true,loadingText:{any:"Loading: {percent}%",upload:"Uploading: {percent}%",download:"Downloading: {percent}%"},fallbackText:{any:"Loading",upload:"Uploading",download:"Downloading"},monitoredStates:{upload:true,download:true},showAnimation:!Ext.browser.is.AndroidStock?{type:"slideIn",direction:"left",duration:250,easing:"ease-out"}:null,hideAnimation:!Ext.browser.is.AndroidStock?{type:"slideOut",direction:"left",duration:250,easing:"ease-in"}:null,minProgressOutput:0,maxProgressOutput:1,state:null},constructor:function(){this.emptyTpl=new Ext.XTemplate("");this.callParent(arguments)},getElementConfig:function(){return{reference:"element",classList:["x-container","x-unsized"],children:[{reference:"innerElement",className:Ext.baseCSSPrefix+"progressindicator-inner",children:[{reference:"progressBarText",className:Ext.baseCSSPrefix+"progressindicator-text"},{reference:"progressBar",className:Ext.baseCSSPrefix+"progressindicator-bar",children:[{reference:"progressBarFill",className:Ext.baseCSSPrefix+"progressindicator-bar-fill"}]}]}]}},onStartProgress:function(){if(!this.getParent()){Ext.Viewport.add(this)}this.show()},onEndProgress:function(){this.hide()},onUpdateProgress:function(){this.updateBar()},getLoadingText:function(){var a=this.getState();if(this._loadingText[a]){return this._loadingText[a]}if(this._loadingText.any){return this._loadingText.any}return this.emptyTpl},applyLoadingText:function(b){var a={},d,c;if(Ext.isString(b)){a={any:new Ext.XTemplate(b)}}else{if(b instanceof Ext.XTemplate){a={any:b}}else{for(d in b){c=b[d];a[d]=new Ext.XTemplate(c)}}}if(!a.any){a.any=this.emptyTpl}return a},getFallbackText:function(){var a=this.getState();if(this._fallbackText[a]){return this._fallbackText[a]}if(this._fallbackText.any){return this._fallbackText.any}return""},applyFallbackText:function(a){var d={},c,b;if(Ext.isString(a)){d={any:a}}else{for(c in a){b=a[c];d[c]=b}}if(!d.any){d.any=this.emptyTpl}return d},updateDynamic:function(a){if(!a){this.progressBarText.setHtml(this.getFallbackText());this.progressBar.setWidth("100%")}else{this.updateBar()}return a},updateBar:function(){var c=this.getState();if(this.getMonitoredStates()[c]!==true){this.progressBarText.setHtml(this.getFallbackText());this.progressBar.setWidth("100%");return}var b=this.getProgress()*100;if(!Ext.isNumber(b)){b=0}this.progressBar.setWidth(b+"%");var a=this.getLoadingText();if(a){this.progressBarText.setHtml(this.getLoadingText().apply({state:c,percent:Math.ceil(b)||0}))}else{this.progressBarText.setHtml("")}}});Ext.define("Ext.SegmentedButton",{extend:Ext.Container,xtype:"segmentedbutton",alternateClassName:"Ext.button.Segmented",isSegmentedButton:true,config:{baseCls:Ext.baseCSSPrefix+"segmentedbutton",pressedCls:Ext.baseCSSPrefix+"button-pressed",allowMultiple:false,allowDepress:false,allowToggle:true,pressedButtons:[],layout:{type:"hbox",align:"stretch"},defaultType:"button",defaultUI:null},initialize:function(){var a=this;a.callParent();a.on({delegate:"> button",scope:a,tap:"onButtonRelease"});a.onAfter({delegate:"> button",scope:a,hide:"onButtonHiddenChange",show:"onButtonHiddenChange"})},updateAllowMultiple:function(a){if(!this.initialized&&!this.getInitialConfig().hasOwnProperty("allowDepress")&&a){this.setAllowDepress(true)}},applyItems:function(){var e=this,g=[],d,b,c,a;e.callParent(arguments);a=this.getItems();d=a.length;for(b=0;b<d;b++){c=a.items[b];if(c.getInitialConfig("pressed")){g.push(a.items[b])}}e.updateFirstAndLastCls(a);e.setPressedButtons(g)},onButtonRelease:function(a){if(!this.getAllowToggle()){return}var d=this,e=d.getPressedButtons()||[],c=[],b;if(!d.getDisabled()&&!a.getDisabled()){if(d.getAllowMultiple()){c=e.concat(c)}b=(c.indexOf(a)!==-1)||(e.indexOf(a)!==-1);if(b&&d.getAllowDepress()){Ext.Array.remove(c,a)}else{if(!b||!d.getAllowDepress()){c.push(a)}}d.setPressedButtons(c)}},onItemAdd:function(){this.callParent(arguments);this.updateFirstAndLastCls(this.getItems())},onItemRemove:function(){this.callParent(arguments);this.updateFirstAndLastCls(this.getItems())},onButtonHiddenChange:function(){this.updateFirstAndLastCls(this.getItems())},updateFirstAndLastCls:function(b){var e=b.length,g=Ext.baseCSSPrefix,a=g+"first",h=g+"last",d,c;for(c=0;c<e;c++){d=b.items[c];d.removeCls(a);d.removeCls(h)}for(c=0;c<e;c++){d=b.items[c];if(!d.isHidden()){d.addCls(a);break}}for(c=e-1;c>=0;c--){d=b.items[c];if(!d.isHidden()){d.addCls(h);break}}},applyPressedButtons:function(a){var e=this,g=[],c,d,b;if(e.getAllowToggle()){if(Ext.isArray(a)){d=a.length;for(b=0;b<d;b++){c=e.getComponent(a[b]);if(c&&g.indexOf(c)===-1){g.push(c)}}}else{c=e.getComponent(a);if(c&&g.indexOf(c)===-1){g.push(c)}}}return g},updatePressedButtons:function(k,c){var j=this,h=j.getItems(),l=j.getPressedCls(),n=[],m,b,g,a,d;g=h.length;if(c&&c.length){for(a=0;a<g;a++){m=h.items[a];if(c.indexOf(m)!=-1&&k.indexOf(m)==-1){m.removeCls([l,m.getPressedCls()]);n.push({item:m,toggle:false})}}}g=k.length;for(a=0;a<g;a++){b=k[a];if(!c||c.indexOf(b)==-1){b.addCls(l);n.push({item:b,toggle:true})}}g=n.length;if(g&&c!==undefined){Ext.defer(function(){for(a=0;a<g;a++){d=n[a];j.fireEvent("toggle",j,d.item,d.toggle)}},50)}},setPressed:function(a,c){var b=this.getPressedButtons().slice();if(c){Ext.Array.include(b,a)}else{Ext.Array.remove(b,a)}this.setPressedButtons(b)},isPressed:function(a){var b=this.getPressedButtons();return b.indexOf(a)!==-1},updateDisabled:function(a){var b=this;b.items.each(function(c){c.setDisabled(a)},b);b.callParent(arguments)},setValue:function(a){this.setPressedButtons([this.items.getAt(a)])},getValue:function(){var b=this.getPressedButtons(),a=-1;if(b.length){a=this.items.indexOf(b[0])}return a},updateDefaultUI:function(e){var b=this.items&&this.items.items,a=b.length,c,d;for(c=0;c<a;c++){d=b[c];if(d.getUi()==null){d.setUi(e)}}},doAdd:function(b,a){var c=this.getDefaultUI();if(c&&(b.getUi()==null)){b.setUi(c)}this.callParent([b,a])}});Ext.define("Ext.Sortable",{mixins:{observable:Ext.mixin.Observable},config:{baseCls:Ext.baseCSSPrefix+"sortable",delay:0},direction:"vertical",cancelSelector:null,constrain:window,group:"base",revert:true,itemSelector:null,handleSelector:null,disabled:false,sorting:false,vertical:false,constructor:function(b,a){a=a||{};Ext.apply(this,a);this.addEvents("sortstart","sortend","sortchange");this.el=Ext.get(b);this.callParent();this.mixins.observable.constructor.call(this);if(this.direction=="horizontal"){this.horizontal=true}else{if(this.direction=="vertical"){this.vertical=true}else{this.horizontal=this.vertical=true}}this.el.addCls(this.baseCls);this.startEventName=(this.getDelay()>0)?"taphold":"tapstart";if(!this.disabled){this.enable()}},onStart:function(b,a){if(this.cancelSelector&&b.getTarget(this.cancelSelector)){return}if(this.handleSelector&&!b.getTarget(this.handleSelector)){return}if(!this.sorting){this.onSortStart(b,a)}},onSortStart:function(c,b){this.sorting=true;var a=Ext.create("Ext.util.Draggable",b,{threshold:0,revert:this.revert,direction:this.direction,constrain:this.constrain===true?this.el:this.constrain,animationDuration:100});a.on({drag:this.onDrag,dragend:this.onDragEnd,scope:this});this.dragEl=b;this.calculateBoxes();if(!a.dragging){a.onStart(c)}this.fireEvent("sortstart",this,c)},calculateBoxes:function(){this.items=[];var b=this.el.select(this.itemSelector,false),g=b.length,a,e,c,d;for(a=0;a<g;a++){c=b[a];if(c!=this.dragEl){e=Ext.fly(c).getRegion();e.el=c;this.items.push(e)}}},onDrag:function(m,c){var h=this.items,g=h.length,j=m.region,d=false,b,a,k,l;for(b=0;b<g;b++){l=h[b];a=j.intersect(l);if(a){if(this.vertical&&Math.abs(a.top-a.bottom)>(j.bottom-j.top)/2){if(j.bottom>l.top&&l.top>j.top){m.el.insertAfter(l.el)}else{m.el.insertBefore(l.el)}d=true}else{if(this.horizontal&&Math.abs(a.left-a.right)>(j.right-j.left)/2){if(j.right>l.left&&l.left>j.left){m.el.insertAfter(l.el)}else{m.el.insertBefore(l.el)}d=true}}if(d){m.reset();m.moveTo(j.left,j.top);this.calculateBoxes();this.fireEvent("sortchange",this,m.el,this.el.select(this.itemSelector,false).indexOf(m.el.dom));return}}}},onDragEnd:function(a,b){a.destroy();this.sorting=false;this.fireEvent("sortend",this,a,b)},enable:function(){this.el.on(this.startEventName,this.onStart,this,{delegate:this.itemSelector,holdThreshold:this.getDelay()});this.disabled=false},disable:function(){this.el.un(this.startEventName,this.onStart,this);this.disabled=true},isDisabled:function(){return this.disabled},isSorting:function(){return this.sorting},isVertical:function(){return this.vertical},isHorizontal:function(){return this.horizontal}});Ext.define("Ext.TitleBar",{extend:Ext.Container,xtype:"titlebar",defaultBindProperty:"title",isToolbar:true,config:{baseCls:Ext.baseCSSPrefix+"toolbar",cls:Ext.baseCSSPrefix+"navigation-bar",ui:"dark",title:null,titleAlign:"center",defaultType:"button",minHeight:null,layout:{type:"hbox"},items:[],maxButtonWidth:"40%"},hasCSSMinHeight:true,beforeInitialize:function(){this.applyItems=this.applyInitialItems},initialize:function(){delete this.applyItems;this.add(this.initialItems);delete this.initialItems;this.on({painted:"refreshTitlePosition",single:true})},applyInitialItems:function(a){var c=this,b=c.getTitleAlign(),d=c.getDefaults()||{};c.initialItems=a;c.leftBox=c.add({xtype:"container",style:"position: relative",layout:{type:"hbox",align:"center"},listeners:{resize:"refreshTitlePosition",scope:c}});c.spacer=c.add({xtype:"component",style:"position: relative",flex:1,listeners:{resize:"refreshTitlePosition",scope:c}});c.rightBox=c.add({xtype:"container",style:"position: relative",layout:{type:"hbox",align:"center"},listeners:{resize:"refreshTitlePosition",scope:c}});switch(b){case"left":c.titleComponent=c.leftBox.add({xtype:"title",cls:Ext.baseCSSPrefix+"title-align-left",hidden:d.hidden});c.refreshTitlePosition=Ext.emptyFn;break;case"right":c.titleComponent=c.rightBox.add({xtype:"title",cls:Ext.baseCSSPrefix+"title-align-right",hidden:d.hidden});c.refreshTitlePosition=Ext.emptyFn;break;default:c.titleComponent=c.add({xtype:"title",hidden:d.hidden,centered:true});break}c.doAdd=c.doBoxAdd;c.remove=c.doBoxRemove;c.doInsert=c.doBoxInsert},doBoxAdd:function(a){if(a.config.align=="right"){this.rightBox.add(a)}else{this.leftBox.add(a)}},doBoxRemove:function(b,a){if(b.config.align=="right"){this.rightBox.remove(b,a)}else{this.leftBox.remove(b,a)}},doBoxInsert:function(a,b){if(b.config.align=="right"){this.rightBox.insert(a,b)}else{this.leftBox.insert(a,b)}},calculateMaxButtonWidth:function(){var a=this.getMaxButtonWidth();if(Ext.isString(a)){a=parseInt(a.replace("%",""),10)}a=Math.round((this.element.getWidth()/100)*a);return a},refreshTitlePosition:function(){if(this.destroyed){return}var h=this.titleComponent.renderElement;h.setWidth(null);h.setLeft(null);var b=this.leftBox,d=b.down("button"),a=b.getItems().getCount()==1,j,o;if(d&&a){if(d.getWidth()==null){d.renderElement.setWidth("auto")}j=b.renderElement.getWidth();o=this.calculateMaxButtonWidth();if(j>o){d.renderElement.setWidth(o)}}var l=this.spacer.renderElement.getBox();if(Ext.browser.is.IE){h.setWidth(l.width)}var m=h.getBox(),i=m.width-l.width,e=m.left,k=m.right,c,n,g;if(i>0){c=i/2;e+=c;k-=c;h.setWidth(l.width)}n=l.left-e;g=k-l.right;if(n>0){h.setLeft(n)}else{if(g>0){h.setLeft(-g)}}h.repaint()},updateTitle:function(a){this.getItems();this.titleComponent.setTitle(a);if(this.isPainted()){this.refreshTitlePosition()}}});Ext.define("Ext.Toast",{extend:Ext.Sheet,config:{ui:"dark",baseCls:Ext.baseCSSPrefix+"toast",showAnimation:{type:"popIn",duration:250,easing:"ease-out"},hideAnimation:{type:"popOut",duration:250,easing:"ease-out"},zIndex:999,message:null,timeout:1000,messageAnimation:true,hideOnMaskTap:true,modal:true,layout:{type:"vbox",pack:"center"}},applyMessage:function(a){a={html:a,cls:this.getBaseCls()+"-text"};return Ext.factory(a,Ext.Component,this._message)},updateMessage:function(a){if(a){this.add(a)}},applyTimeout:function(a){if(this._timeoutID){clearTimeout(this._timeoutID);if(!Ext.isEmpty(a)){this._timeoutID=setTimeout(Ext.bind(this.onTimeout,this),a)}}return a},next:Ext.emptyFn,show:function(a){var c=this,d=a.timeout,e=c.getMessageAnimation(),b=c.getMessage();if(c.isRendered()&&c.isHidden()===false){a.timeout=null;b.onAfter({hiddenchange:function(){c.setMessage(a.message);b=c.getMessage();b.onAfter({hiddenchange:function(){this._timeoutID=true;c.setTimeout(d)},scope:c,single:true});b.show(e)},scope:c,single:true});b.hide(e)}else{Ext.util.InputBlocker.blockInputs();c.setConfig(a);if(!c.getParent()&&Ext.Viewport){Ext.Viewport.add(c)}if(!Ext.isEmpty(d)){c._timeoutID=setTimeout(Ext.bind(c.onTimeout,c),d)}c.callParent(arguments)}},hide:function(a){clearTimeout(this._timeoutID);if(!this.next()){this.callParent(arguments)}},onTimeout:function(){this.hide()}},function(d){var c=[],e=false;function a(){var g=c.shift();if(g){e=true;this.show(g)}else{e=false}return e}function b(){if(!Ext.Toast._instance){Ext.Toast._instance=Ext.create("Ext.Toast");Ext.Toast._instance.next=a}return Ext.Toast._instance}Ext.toast=function(i,j){var g=b(),h=i;if(Ext.isString(i)){h={message:i,timeout:j}}if(h.timeout===undefined){h.timeout=Ext.Toast.prototype.config.timeout}c.push(h);if(!e){g.next()}return g}});Ext.define("Ext.Video",{extend:Ext.Media,xtype:"video",config:{posterUrl:null,baseCls:Ext.baseCSSPrefix+"video",controls:true},template:[{reference:"ghost",classList:[Ext.baseCSSPrefix+"video-ghost"]},{tag:"video",reference:"media",classList:[Ext.baseCSSPrefix+"media"]}],initialize:function(){var a=this;a.callParent();a.media.hide();a.ghost.on({tap:"onGhostTap",scope:a});a.media.on({pause:"onPause",scope:a});if(Ext.os.is.Android4||Ext.os.is.iPad){this.isInlineVideo=true}},applyUrl:function(a){return[].concat(a)},updateUrl:function(g){var c=this,e=c.media,h=g.length,d=e.query("source"),b=d.length,a;for(a=0;a<b;a++){Ext.fly(d[a]).destroy()}for(a=0;a<h;a++){e.appendChild(Ext.Element.create({tag:"source",src:g[a]}))}if(c.isPlaying()){c.play()}},updateControls:function(a){this.media.set({controls:a?true:undefined})},onActivate:function(){this.media.setTop(0)},onDeactivate:function(){this.pause();this.media.setTop(-2000);this.ghost.show()},onGhostTap:function(){var a=this,c=this.media,b=this.ghost;c.show();b.hide();a.play()},onPause:function(){this.callParent(arguments);if(!this.isInlineVideo){this.media.setTop(-2000);this.ghost.show()}},onPlay:function(){this.callParent(arguments);this.media.setTop(0)},updatePosterUrl:function(b){var a=this.ghost;if(a){a.setStyle("background-image","url("+b+")")}}});Ext.define("Ext.carousel.Item",{extend:Ext.Decorator,config:{baseCls:Ext.baseCSSPrefix+"carousel-item",component:null,translatable:true}});Ext.define("Ext.carousel.Indicator",{extend:Ext.Component,xtype:"carouselindicator",config:{baseCls:Ext.baseCSSPrefix+"carousel-indicator",direction:"horizontal"},initialize:function(){this.callParent();this.indicators=[];this.element.on({tap:"onTap",scope:this})},updateDirection:function(a,c){var b=this.getBaseCls();this.element.replaceCls(c,a,b);if(a==="horizontal"){this.setBottom(0);this.setRight(null)}else{this.setRight(0);this.setBottom(null)}},addIndicator:function(){this.indicators.push(this.element.createChild({tag:"span"}))},removeIndicator:function(){var a=this.indicators;if(a.length>0){a.pop().destroy()}},setActiveIndex:function(b){var e=this.indicators,d=this.activeIndex,a=e[d],g=e[b],c=this.getBaseCls();if(a){a.removeCls(c,null,"active")}if(g){g.addCls(c,null,"active")}this.activeIndex=b;return this},onTap:function(g){var h=g.touch,a=this.element.getBox(),d=a.left+(a.width/2),b=a.top+(a.height/2),c=this.getDirection();if((c==="horizontal"&&h.pageX>=d)||(c==="vertical"&&h.pageY>=b)){this.fireEvent("next",this)}else{this.fireEvent("previous",this)}},destroy:function(){var d=this.indicators,b,c,a;for(b=0,c=d.length;b<c;b++){a=d[b];a.destroy()}d.length=0;this.callParent()}});Ext.define("Ext.util.TranslatableGroup",{extend:Ext.util.translatable.Abstract,config:{items:[],activeIndex:0,itemLength:{x:0,y:0}},applyItems:function(a){return Ext.Array.from(a)},doTranslate:function(o,n){var m=this.getItems(),q=this.getActiveIndex(),k=this.getItemLength(),d=k.x,c=k.y,j=Ext.isNumber(o),h=Ext.isNumber(n),e,g,l,p,b,a;for(g=0,l=m.length;g<l;g++){p=m[g];if(p){e=(g-q);if(j){b=o+e*d}if(h){a=n+e*c}p.translate(b,a)}}}});Ext.define("Ext.carousel.Carousel",{extend:Ext.Container,alternateClassName:"Ext.Carousel",xtype:"carousel",config:{baseCls:"x-carousel",direction:"horizontal",directionLock:false,animation:{duration:250,easing:{type:"ease-out"}},indicator:true,ui:"dark",itemConfig:{},bufferSize:1,itemLength:null},itemLength:0,offset:0,flickStartOffset:0,flickStartTime:0,dragDirection:0,count:0,painted:false,activeIndex:-1,beforeInitialize:function(){var a=this;a.element.on({resize:"onSizeChange",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",scope:a});a.carouselItems=[];a.orderedCarouselItems=[];a.inactiveCarouselItems=[];a.hiddenTranslation=0},updateBufferSize:function(o){var m=Ext.carousel.Item,j=o*2+1,n=this.isRendered(),c=this.innerElement,h=this.carouselItems,g=h.length,e=this.getItemConfig(),d=this.getItemLength(),k=this.getDirection(),b=k==="horizontal"?"setWidth":"setHeight",a,l;for(a=g;a<j;a++){l=Ext.factory(e,m);if(d){l[b].call(l,d)}l.setLayoutSizeFlags(this.LAYOUT_BOTH);h.push(l);c.append(l.renderElement);if(n&&l.setRendered(true)){l.fireEvent("renderedchange",this,l,true)}}this.getTranslatable().setActiveIndex(o)},setRendered:function(h){var a=this.rendered;if(h!==a){this.rendered=h;var b=this.items.items,d=this.carouselItems,c,g,e;for(c=0,g=b.length;c<g;c++){e=b[c];if(!e.isInnerItem()){e.setRendered(h)}}for(c=0,g=d.length;c<g;c++){d[c].setRendered(h)}return true}return false},onSizeChange:function(){this.refreshSizing();this.refreshCarouselItems();this.refreshActiveItem()},onItemAdd:function(c,b){this.callParent(arguments);var d=this.getInnerItems().indexOf(c),a=this.getIndicator();if(a&&c.isInnerItem()){a.addIndicator()}if(d<=this.getActiveIndex()){this.refreshActiveIndex()}if(this.isIndexDirty(d)&&!this.isItemsInitializing){this.refreshActiveItem()}},doItemLayoutAdd:function(a){if(a.isInnerItem()){return}this.callParent(arguments)},onItemRemove:function(g,b){this.callParent(arguments);var j=this.getInnerItems().indexOf(g),a=this.getIndicator(),d=this.carouselItems,c,e,h;if(g.isInnerItem()&&a){a.removeIndicator()}if(j<=this.getActiveIndex()){this.refreshActiveIndex()}if(this.isIndexDirty(j)){for(c=0,e=d.length;c<e;c++){h=d[c];if(h.getComponent()===g){h.setComponent(null)}}this.refreshActiveItem()}},doItemLayoutRemove:function(a){if(a.isInnerItem()){return}this.callParent(arguments)},onInnerItemMove:function(b,c,a){if((this.isIndexDirty(c)||this.isIndexDirty(a))){this.refreshActiveItem()}},doItemLayoutMove:function(a){if(a.isInnerItem()){return}this.callParent(arguments)},isIndexDirty:function(b){var a=this.getActiveIndex(),c=this.getBufferSize();return(b>=a-c&&b<=a+c)},getTranslatable:function(){var b=this,a=b.translatable;if(!a){b.translatable=a=new Ext.util.TranslatableGroup();a.setItems(b.orderedCarouselItems);a.on("animationend","onAnimationEnd",b)}return a},onDragStart:function(g){var d=this.getDirection(),b=g.absDeltaX,a=g.absDeltaY,c=this.getDirectionLock();this.isDragging=true;if(c){if((d==="horizontal"&&b>a)||(d==="vertical"&&a>b)){g.stopPropagation()}else{this.isDragging=false;return}}this.getTranslatable().stopAnimation();this.dragStartOffset=this.offset;this.dragDirection=0},onDrag:function(k){if(!this.isDragging){return}var l=this.dragStartOffset,m=this.getDirection(),n=m==="horizontal"?k.deltaX:k.deltaY,a=this.offset,j=this.flickStartTime,c=this.dragDirection,b=Ext.Date.now(),i=this.getActiveIndex(),g=this.getMaxItemIndex(),d=c,h;if((i===0&&n>0)||(i===g&&n<0)){n*=0.5}h=l+n;if(h>a){c=1}else{if(h<a){c=-1}}if(c!==d||(b-j)>300){this.flickStartOffset=a;this.flickStartTime=b}this.dragDirection=c;this.setOffset(h)},onDragEnd:function(k){if(!this.isDragging){return}this.onDrag(k);this.isDragging=false;var a=Ext.Date.now(),j=this.itemLength,h=j/2,g=this.offset,n=this.getActiveIndex(),c=this.getMaxItemIndex(),i=0,m=g-this.flickStartOffset,b=a-this.flickStartTime,l=this.getIndicator(),d;if(b>0&&Math.abs(m)>=10){d=m/b;if(Math.abs(d)>=1){if(d<0&&n<c){i=-1}else{if(d>0&&n>0){i=1}}}}if(i===0){if(n<c&&g<-h){i=-1}else{if(n>0&&g>h){i=1}}}if(l){l.setActiveIndex(n-i)}this.animationDirection=i;this.setOffsetAnimated(i*j)},applyAnimation:function(a){a.easing=Ext.factory(a.easing,Ext.fx.easing.EaseOut);return a},updateDirection:function(b){var a=this.getIndicator();this.currentAxis=(b==="horizontal")?"x":"y";if(a){a.setDirection(b)}},setOffset:function(a){this.offset=a;if(Ext.isNumber(this.itemOffset)){this.getTranslatable().translateAxis(this.currentAxis,a+this.itemOffset)}return this},setOffsetAnimated:function(b){var a=this.getIndicator();if(a){a.setActiveIndex(this.getActiveIndex()-this.animationDirection)}this.offset=b;this.getTranslatable().translateAxis(this.currentAxis,b+this.itemOffset,this.getAnimation());return this},onAnimationEnd:function(b){var c=this.getActiveIndex(),a=this.animationDirection,e=this.currentAxis,g=b[e],d=this.itemLength,h;if(a===-1){h=d+g}else{if(a===1){h=g-d}else{h=g}}h-=this.itemOffset;this.offset=h;this.setActiveItem(c-a)},refresh:function(){this.refreshSizing();this.refreshActiveItem()},refreshSizing:function(){var a=this.element,b=this.getItemLength(),e={x:0,y:0},c,d;if(this.getDirection()==="horizontal"){d=a.getWidth()}else{d=a.getHeight()}this.hiddenTranslation=-d;if(b===null){b=d;c=0}else{c=(d-b)/2}this.itemLength=b;this.itemOffset=c;e[this.currentAxis]=b;this.getTranslatable().setItemLength(e)},refreshOffset:function(){this.setOffset(this.offset)},refreshActiveItem:function(){this.updateActiveItem(this.getActiveItem())},getActiveIndex:function(){return this.activeIndex},refreshActiveIndex:function(){this.activeIndex=this.getInnerItemIndex(this.getActiveItem())},refreshCarouselItems:function(){var a=this.carouselItems,b,d,c;for(b=0,d=a.length;b<d;b++){c=a[b];c.getTranslatable().refresh()}this.refreshInactiveCarouselItems()},refreshInactiveCarouselItems:function(){var a=this.inactiveCarouselItems,g=this.hiddenTranslation,c=this.currentAxis,b,e,d;for(b=0,e=a.length;b<e;b++){d=a[b];d.translateAxis(c,g)}},getMaxItemIndex:function(){return this.innerItems.length-1},getInnerItemIndex:function(a){return this.innerItems.indexOf(a)},getInnerItemAt:function(a){return this.innerItems[a]},applyActiveItem:function(){var b=this.callParent(arguments),a;if(b){a=this.getInnerItemIndex(b);if(a!==-1){this.activeIndex=a;return b}}},updateActiveItem:function(h){var r=this.getActiveIndex(),e=this.getMaxItemIndex(),n=this.getIndicator(),c=this.getBufferSize(),l=this.carouselItems.slice(),o=this.orderedCarouselItems,q={},p={},a,m,b,g,j,k,d;if(l.length===0){return}this.callParent(arguments);o.length=0;if(h){b=h.getId();p[b]=h;q[b]=c;if(r>0){for(g=1;g<=c;g++){j=r-g;if(j>=0){a=this.getInnerItemAt(j);b=a.getId();p[b]=a;q[b]=c-g}else{break}}}if(r<e){for(g=1;g<=c;g++){j=r+g;if(j<=e){a=this.getInnerItemAt(j);b=a.getId();p[b]=a;q[b]=c+g}else{break}}}for(g=0,k=l.length;g<k;g++){d=l[g];m=d.getComponent();if(m){b=m.getId();if(q.hasOwnProperty(b)){l.splice(g,1);g--;k--;delete p[b];o[q[b]]=d}}}for(b in p){if(p.hasOwnProperty(b)){a=p[b];d=l.pop();d.setComponent(a);o[q[b]]=d}}}this.inactiveCarouselItems.length=0;this.inactiveCarouselItems=l;this.refreshOffset();this.refreshInactiveCarouselItems();if(n){n.setActiveIndex(r)}},next:function(){this.setOffset(0);if(this.activeIndex===this.getMaxItemIndex()){return this}this.animationDirection=-1;this.setOffsetAnimated(-this.itemLength);return this},previous:function(){this.setOffset(0);if(this.activeIndex===0){return this}this.animationDirection=1;this.setOffsetAnimated(this.itemLength);return this},applyIndicator:function(a,b){return Ext.factory(a,Ext.carousel.Indicator,b)},updateIndicator:function(a){if(a){this.insertFirst(a);a.setUi(this.getUi());a.on({next:"next",previous:"previous",scope:this})}},destroy:function(){var b=this,a=b.carouselItems.slice();b.carouselItems.length=0;Ext.destroy(a,b.getIndicator(),b.translatable);b.callParent();delete b.carouselItems}});Ext.define("Ext.carousel.Infinite",{extend:Ext.carousel.Carousel,config:{indicator:null,maxItemIndex:Infinity,innerItemConfig:{}},applyIndicator:function(a){return},updateBufferSize:function(b){this.callParent(arguments);var e=b*2+1,d=this.innerItems.length,c=this.getInnerItemConfig(),a;this.isItemsInitializing=true;for(a=d;a<e;a++){this.doAdd(this.factoryItem(c))}this.isItemsInitializing=false;this.rebuildInnerIndexes();this.refreshActiveItem()},updateMaxItemIndex:function(b,c){if(c!==undefined){var a=this.getActiveIndex();if(a>b){this.setActiveItem(b)}else{this.rebuildInnerIndexes(a);this.refreshActiveItem()}}},rebuildInnerIndexes:function(o){var c=this.innerIndexToItem,h=this.innerIdToIndex,k=this.innerItems.slice(),j=k.length,b=this.getBufferSize(),d=this.getMaxItemIndex(),m=[],e,l,g,a,n;if(o===undefined){this.innerIndexToItem=c={};this.innerIdToIndex=h={};for(e=0;e<j;e++){n=k[e];a=n.getId();h[a]=e;c[e]=n;this.fireEvent("itemindexchange",this,n,e,-1)}}else{for(e=o-b;e<=o+b;e++){if(e>=0&&e<=d){if(c.hasOwnProperty(e)){Ext.Array.remove(k,c[e]);continue}m.push(e)}}for(e=0,j=m.length;e<j;e++){n=k[e];a=n.getId();g=m[e];l=h[a];delete c[l];h[a]=g;c[g]=n;this.fireEvent("itemindexchange",this,n,g,l)}}},reset:function(){this.rebuildInnerIndexes();this.setActiveItem(0)},refreshItems:function(){var a=this.innerItems,g=this.innerIdToIndex,b,e,c,d;for(c=0,d=a.length;c<d;c++){e=a[c];b=g[e.getId()];this.fireEvent("itemindexchange",this,e,b,-1)}},getInnerItemIndex:function(b){var a=this.innerIdToIndex[b.getId()];return(typeof a=="number")?a:-1},getInnerItemAt:function(a){return this.innerIndexToItem[a]},applyActiveItem:function(c){this.getItems();this.getBufferSize();var b=this.getMaxItemIndex(),a=this.getActiveIndex();if(typeof c=="number"){c=Math.max(0,Math.min(c,b));if(c===a){return}this.activeIndex=c;this.rebuildInnerIndexes(c);c=this.getInnerItemAt(c)}if(c){return this.callParent([c])}}});Ext.define("Ext.dataview.component.DataItem",{extend:Ext.Container,xtype:"dataitem",config:{baseCls:Ext.baseCSSPrefix+"data-item",defaultType:"component",record:null,itemCls:null,dataMap:{},dataview:null,width:"100%",items:[{xtype:"component"}]},updateBaseCls:function(a,b){var c=this;c.callParent(arguments)},updateItemCls:function(b,a){if(a){this.removeCls(a)}if(b){this.addCls(b)}},doMapData:function(d,h,g){var a,e,c,b;for(a in d){c=d[a];e=this[a]();if(e){for(b in c){if(h&&e[b]&&h[c[b]]!==undefined&&h[c[b]]!==null){e[b](h[c[b]])}}}}if(g){g.updateData(h)}},updateRecord:function(d){if(!d){return}this._record=d;var g=this,a=g.dataview||this.getDataview(),h=a.prepareData(d.getData(true),a.getStore().indexOf(d),d),c=g.getItems(),e=c.first(),b=g.getDataMap();if(!e){return}if(b){this.doMapData(b,h,e)}g.fireEvent("updatedata",g,h)}});Ext.define("Ext.dataview.component.Container",{extend:Ext.Container,constructor:function(){this.itemCache=[];this.callParent(arguments)},doInitialize:function(){this.innerElement.on({touchstart:"onItemTouchStart",touchend:"onItemTouchEnd",tap:"onItemTap",taphold:"onItemTapHold",touchmove:"onItemTouchMove",singletap:"onItemSingleTap",doubletap:"onItemDoubleTap",swipe:"onItemSwipe",delegate:"> ."+Ext.baseCSSPrefix+"data-item",scope:this})},initialize:function(){this.callParent();this.doInitialize()},onItemTouchStart:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);a.on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,a,b.indexOf(a),d)},onItemTouchMove:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemtouchmove",b,a,b.indexOf(a),d)},onItemTouchEnd:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);a.un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,a,b.indexOf(a),d)},onItemTap:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemtap",b,a,b.indexOf(a),d)},onItemTapHold:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemtaphold",b,a,b.indexOf(a),d)},onItemSingleTap:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemsingletap",b,a,b.indexOf(a),d)},onItemDoubleTap:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemdoubletap",b,a,b.indexOf(a),d)},onItemSwipe:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemswipe",b,a,b.indexOf(a),d)},moveItemsToCache:function(k,l){var j=this,c=j.dataview,a=c.getMaxItemCache(),h=j.getViewItems(),g=j.itemCache,e=g.length,m=c.getPressedCls(),d=c.getSelectedCls(),b=l-k,n;for(;b>=0;b--){n=h[k+b];if(e!==a){j.remove(n,false);n.removeCls([m,d]);g.push(n);e++}else{n.destroy()}}if(j.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(b){var m=this,e=m.dataview,n=e.getStore(),l=b.length,a=e.getDefaultType(),j=e.getItemConfig(),h=m.itemCache,g=h.length,k=[],c,o,d;if(l){e.hideEmptyText()}for(c=0;c<l;c++){b[c]._tmpIndex=n.indexOf(b[c])}Ext.Array.sort(b,function(p,i){return p._tmpIndex>i._tmpIndex?1:-1});for(c=0;c<l;c++){d=b[c];if(g){g--;o=h.pop();this.updateListItem(d,o)}else{o=m.getDataItemConfig(a,d,j)}o=this.insert(d._tmpIndex,o);delete d._tmpIndex}return k},getViewItems:function(){return this.getInnerItems()},updateListItem:function(a,b){if(b.updateRecord){if(b.getRecord()===a){b.updateRecord(a)}else{b.setRecord(a)}}},getDataItemConfig:function(e,b,c){var a=this.dataview,d={xtype:e,record:b,itemCls:a.getItemCls(),defaults:c,dataview:a};return Ext.merge(d,c)},doRemoveItemCls:function(a){var b=this.getViewItems(),d=b.length,c=0;for(;c<d;c++){b[c].removeCls(a)}},doAddItemCls:function(a){var b=this.getViewItems(),d=b.length,c=0;for(;c<d;c++){b[c].addCls(a)}},updateAtNewIndex:function(c,b,a){this.moveItemsToCache(c,c);this.moveItemsFromCache([a])},destroy:function(){var d=this,b=d.itemCache,c=b.length,a=0;for(;a<c;a++){b[a].destroy()}this.callParent()}});Ext.define("Ext.dataview.element.Container",{extend:Ext.Component,doInitialize:function(){this.element.on({touchstart:"onItemTouchStart",touchend:"onItemTouchEnd",tap:"onItemTap",taphold:"onItemTapHold",touchmove:"onItemTouchMove",singletap:"onItemSingleTap",doubletap:"onItemDoubleTap",swipe:"onItemSwipe",delegate:"> div",scope:this})},initialize:function(){this.callParent();this.doInitialize()},updateBaseCls:function(a,b){var c=this;c.callParent([a+"-container",b])},onItemTouchStart:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);Ext.get(c).on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,Ext.get(c),a,d)},onItemTouchEnd:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);Ext.get(c).un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,Ext.get(c),a,d)},onItemTouchMove:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemtouchmove",b,Ext.get(c),a,d)},onItemTap:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemtap",b,Ext.get(c),a,d)},onItemTapHold:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemtaphold",b,Ext.get(c),a,d)},onItemDoubleTap:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemdoubletap",b,Ext.get(c),a,d)},onItemSingleTap:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemsingletap",b,Ext.get(c),a,d)},onItemSwipe:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemswipe",b,Ext.get(c),a,d)},updateListItem:function(b,g){var e=this,a=e.dataview,c=a.getStore(),d=c.indexOf(b),h=a.prepareData(b.getData(true),d,b);g.innerHTML=this.renderItemTpl(d,h,c)},addListItem:function(e,c){var i=this,d=i.dataview,j=d.getStore(),a=d.prepareData(c.getData(true),e,c),b=i.element,k=b.dom.childNodes,h=k.length,g;g=Ext.Element.create(this.getItemElementConfig(e,a,j));if(!h||e==h){g.appendTo(b)}else{g.insertBefore(k[e])}},getItemElementConfig:function(d,g,c){var b=this.dataview,e=b.getItemCls(),a=b.getBaseCls()+"-item";if(e){a+=" "+e}return{cls:a,html:this.renderItemTpl(d,g,c)}},renderItemTpl:function(c,e,b){var a=this.dataview,g=a.getItemTpl(),d;b=b||a.getStore();d=b.getData().items;e.xcount=typeof e.xcount==="number"?e.xcount:b.getCount();e.xindex=typeof e.xindex==="number"?e.xindex:c;return g.apply(e,d,c+1,d.length)},doRemoveItemCls:function(a){var d=this.getViewItems(),c=d.length,b=0;for(;b<c;b++){Ext.fly(d[b]).removeCls(a)}},doAddItemCls:function(a){var d=this.getViewItems(),c=d.length,b=0;for(;b<c;b++){Ext.fly(d[b]).addCls(a)}},moveItemsToCache:function(g,e){var d=this,a=d.getViewItems(),b=e-g,c;for(;b>=0;b--){c=a[g+b];Ext.get(c).destroy()}if(d.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(d){var h=this,b=h.dataview,c=b.getStore(),g=d.length,e,a;if(g){b.hideEmptyText()}for(e=0;e<g;e++){d[e]._tmpIndex=c.indexOf(d[e])}Ext.Array.sort(d,function(j,i){return j._tmpIndex>i._tmpIndex?1:-1});for(e=0;e<g;e++){a=d[e];h.addListItem(a._tmpIndex,a);delete a._tmpIndex}},getViewItems:function(){return Array.prototype.slice.call(this.element.dom.childNodes)},updateAtNewIndex:function(c,b,a){this.moveItemsToCache(c,c);this.moveItemsFromCache([a])},destroy:function(){var c=this.getViewItems(),b=c.length,a=0;for(;a<b;a++){Ext.get(c[a]).destroy()}this.callParent()}});Ext.define("Ext.dataview.DataView",{extend:Ext.Container,alternateClassName:"Ext.DataView",mixins:[Ext.mixin.Selectable],xtype:"dataview",config:{store:null,data:null,baseCls:Ext.baseCSSPrefix+"dataview",emptyText:null,deferEmptyText:true,itemTpl:"<div>{text}</div>",pressedCls:"x-item-pressed",itemCls:null,selectedCls:"x-item-selected",triggerEvent:"itemtap",triggerCtEvent:"tap",deselectOnContainerClick:true,scrollable:true,inline:null,pressedDelay:100,loadingText:"Loading...",useComponents:null,itemConfig:{},maxItemCache:20,defaultType:"dataitem",scrollToTopOnRefresh:true},defaultBindProperty:"store",constructor:function(a){var b=this;b.hasLoadedStore=false;b.mixins.selectable.constructor.apply(b,arguments);b.indexOffset=0;b.callParent(arguments);b.initSelectable()},updateItemCls:function(c,b){var a=this.container;if(a){if(b){a.doRemoveItemCls(b)}if(c){a.doAddItemCls(c)}}},storeEventHooks:{beforeload:"onBeforeLoad",groupchange:"onStoreGroupChange",load:"onLoad",refresh:"refresh",add:"onStoreAdd",remove:"onStoreRemove",clear:"onStoreClear",update:"onStoreUpdate"},initialize:function(){this.callParent();var b=this,a,c=b.getTriggerEvent();b.on(b.getTriggerCtEvent(),b.onContainerTrigger,b);a=b.container=this.add(new Ext.dataview[b.getUseComponents()?"component":"element"].Container({baseCls:this.getBaseCls()}));a.dataview=b;if(c){b.on(c,b.onItemTrigger,b)}a.on({itemtouchstart:"onItemTouchStart",itemtouchend:"onItemTouchEnd",itemtap:"onItemTap",itemtaphold:"onItemTapHold",itemtouchmove:"onItemTouchMove",itemsingletap:"onItemSingleTap",itemdoubletap:"onItemDoubleTap",itemswipe:"onItemSwipe",scope:b});if(b.getStore()){if(b.isPainted()){b.refresh()}else{b.on({painted:"refresh",single:true})}}},applyInline:function(a){if(Ext.isObject(a)){a=Ext.apply({},a)}return a},updateInline:function(d,c){var b=this,a=b.getBaseCls();if(c){b.removeCls([a+"-inlineblock",a+"-nowrap"])}if(d){b.addCls(a+"-inlineblock");if(Ext.isObject(d)&&d.wrap===false){b.addCls(a+"-nowrap")}else{b.removeCls(a+"-nowrap")}}},prepareData:function(c,b,a){return c},onContainerTrigger:function(b){var a=this;if(b.target!=a.element.dom){return}if(a.getDeselectOnContainerClick()&&a.getStore()){a.deselectAll()}},onItemTrigger:function(b,a){if(!this.destroyed){this.selectWithEvent(this.getStore().getAt(a))}},doAddPressedCls:function(a){var c=this,b=c.getItemAt(c.getStore().indexOf(a));if(Ext.isElement(b)){b=Ext.get(b)}if(b){if(b.isComponent){b.renderElement.addCls(c.getPressedCls())}else{b.addCls(c.getPressedCls())}}},onItemTouchStart:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireAction("itemtouchstart",[g,d,i,a,h],"doItemTouchStart")},doItemTouchStart:function(c,b,e,a){var d=c.getPressedDelay();if(a){if(d>0){c.pressedTimeout=Ext.defer(c.doAddPressedCls,d,c,[a])}else{c.doAddPressedCls(a)}}},onItemTouchEnd:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);if(this.hasOwnProperty("pressedTimeout")){clearTimeout(this.pressedTimeout);delete this.pressedTimeout}if(a&&i){if(i.isComponent){i.renderElement.removeCls(g.getPressedCls())}else{i.removeCls(g.getPressedCls())}}g.fireEvent("itemtouchend",g,d,i,a,h)},onItemTouchMove:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);if(g.hasOwnProperty("pressedTimeout")){clearTimeout(g.pressedTimeout);delete g.pressedTimeout}if(a&&i){if(i.isComponent){i.renderElement.removeCls(g.getPressedCls())}else{i.removeCls(g.getPressedCls())}}g.fireEvent("itemtouchmove",g,d,i,a,h)},onItemTap:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemtap",g,d,i,a,h)},onItemTapHold:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemtaphold",g,d,i,a,h)},onItemSingleTap:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemsingletap",g,d,i,a,h)},onItemDoubleTap:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemdoubletap",g,d,i,a,h)},onItemSwipe:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemswipe",g,d,i,a,h)},onItemSelect:function(a,b){var c=this;if(b){c.doItemSelect(c,a)}else{c.fireAction("select",[c,a],"doItemSelect")}},doItemSelect:function(c,a){if(c.container&&!c.destroyed){var b=c.getItemAt(c.getStore().indexOf(a));if(Ext.isElement(b)){b=Ext.get(b)}if(b){if(b.isComponent){b.renderElement.removeCls(c.getPressedCls());b.renderElement.addCls(c.getSelectedCls())}else{b.removeCls(c.getPressedCls());b.addCls(c.getSelectedCls())}}}},onItemDeselect:function(a,b){var c=this;if(c.container&&!c.destroyed){if(b){c.doItemDeselect(c,a)}else{c.fireAction("deselect",[c,a,b],"doItemDeselect")}}},doItemDeselect:function(c,a){var b=c.getItemAt(c.getStore().indexOf(a));if(Ext.isElement(b)){b=Ext.get(b)}if(b){if(b.isComponent){b.renderElement.removeCls([c.getPressedCls(),c.getSelectedCls()])}else{b.removeCls([c.getPressedCls(),c.getSelectedCls()])}}},updateData:function(b){var a=this.getStore();if(!a){this.setStore(Ext.create("Ext.data.Store",{data:b,autoDestroy:true}))}else{a.add(b)}},applyStore:function(b){var d=this,e=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(b){b=Ext.data.StoreManager.lookup(b);if(b&&Ext.isObject(b)&&b.isStore){b.on(e);c=b.getProxy();if(c){a=c.getReader();if(a){a.on("exception","handleException",this)}}}}return b},handleException:function(){this.setMasked(false)},updateStore:function(b,e){var d=this,g=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(e&&Ext.isObject(e)&&e.isStore){e.un(g);if(!d.destroyed){d.onStoreClear()}if(e.getAutoDestroy()){e.destroy()}else{c=e.getProxy();if(c){a=c.getReader();if(a){a.un("exception","handleException",this)}}}}if(b){if(b.isLoaded()){this.hasLoadedStore=true}if(b.isLoading()){d.onBeforeLoad()}if(d.container){d.refresh()}}},onBeforeLoad:function(){var b=this,a=b.getLoadingText();if(a&&b.isPainted()){b.setMasked({xtype:"loadmask",message:a})}b.hideEmptyText()},updateEmptyText:function(c,d){var b=this,a;if(d&&b.emptyTextCmp){b.remove(b.emptyTextCmp,true);delete b.emptyTextCmp}if(c){b.emptyTextCmp=b.add({xtype:"component",cls:b.getBaseCls()+"-emptytext",html:c,hidden:true});a=b.getStore();if(a&&b.hasLoadedStore&&!a.getCount()){b.showEmptyText()}}},onLoad:function(a){this.hasLoadedStore=true;this.setMasked(false);if(!a.getCount()){this.showEmptyText()}},refresh:function(){var b=this,a=b.container;if(!b.getStore()){if(!b.hasLoadedStore&&!b.getDeferEmptyText()){b.showEmptyText()}return}if(b.initialized&&a){b.fireAction("refresh",[b],"doRefresh")}},applyItemTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},onAfterRender:function(){var a=this;a.updateStore(a.getStore())},getItemAt:function(a){return this.getViewItems()[a-this.indexOffset]},getItemIndex:function(b){var a=this.getViewItems().indexOf(b);return(a===-1)?a:this.indexOffset+a},getViewItems:function(){return this.container.getViewItems()},doRefresh:function(j){var a=j.container,m=j.getStore(),b=m.getRange(),h=j.getViewItems(),k=b.length,p=h.length,c=k-p,g=j.getScrollable(),d,n;if(this.getScrollToTopOnRefresh()&&g){g.scrollTo(0,0)}if(k<1){j.onStoreClear();return}else{j.hideEmptyText()}if(c<0){a.moveItemsToCache(p+c,p-1);h=j.getViewItems();p=h.length}else{if(c>0){a.moveItemsFromCache(m.getRange(p))}}for(d=0;d<p;d++){n=h[d];a.updateListItem(b[d],n)}if(this.hasSelection()){var l=this.getSelection(),o=this.getSelectionCount(),e;for(d=0;d<o;d++){e=l[d];this.doItemSelect(this,e)}}},showEmptyText:function(){if(this.getEmptyText()&&(this.hasLoadedStore||!this.getDeferEmptyText())){this.emptyTextCmp.show()}},hideEmptyText:function(){if(this.getEmptyText()){this.emptyTextCmp.hide()}},destroy:function(){var b=this.getStore(),c=(b&&b.getProxy()),a=(c&&c.getReader());if(a){a.clearListeners()}this.callParent();this.setStore(null)},onStoreClear:function(){var c=this,a=c.container,b=c.getViewItems();a.moveItemsToCache(0,b.length-1);this.showEmptyText()},onStoreGroupChange:Ext.emptyFn,onStoreAdd:function(b,a){if(a){this.hideEmptyText();this.container.moveItemsFromCache(a)}},onStoreRemove:function(c,b,g){var a=this.container,e=b.length,d;for(d=0;d<e;d++){a.moveItemsToCache(g[d],g[d])}},onStoreUpdate:function(c,b,d,h,i){var g=this,a=g.container,e;if(i.indexChanged){a.updateAtNewIndex(i.oldIndex,i.newIndex,b);if(g.isSelected(b)){g.doItemSelect(g,b)}}else{e=g.getViewItems()[g.getStore().indexOf(b)];if(e){a.updateListItem(b,e)}}}});Ext.define("Ext.dataview.IndexBar",{extend:Ext.Component,alternateClassName:"Ext.IndexBar",config:{baseCls:Ext.baseCSSPrefix+"indexbar",direction:"vertical",letters:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],ui:"alphabet",listPrefix:null},itemCls:Ext.baseCSSPrefix+"",updateDirection:function(a,c){var b=this.getBaseCls();this.element.replaceCls(b+"-"+c,b+"-"+a)},getElementConfig:function(){if(Ext.theme.is.Blackberry){return{reference:"wrapper",classList:["x-centered","x-indexbar-wrapper"],children:[{reference:"indicator",classList:["x-indexbar-indicator"],hidden:true,children:[{reference:"indicatorInner",classList:["x-indexbar-indicator-inner"]}]},this.callParent()]}}else{return{reference:"wrapper",classList:["x-centered","x-indexbar-wrapper"],children:[this.callParent()]}}},updateLetters:function(c){this.innerElement.setHtml("");if(c){var b=c.length,a;for(a=0;a<b;a++){this.innerElement.createChild({html:c[a]})}}},updateListPrefix:function(a){if(a&&a.length){this.innerElement.createChild({html:a},0)}},initialize:function(){this.callParent();this.innerElement.on({touchstart:this.onTouchStart,touchend:this.onTouchEnd,dragend:this.onDragEnd,drag:this.onDrag,scope:this})},onTouchStart:function(a){a.stopPropagation();this.innerElement.addCls(this.getBaseCls()+"-pressed");this.pageBox=this.innerElement.getBox();this.onDrag(a)},onTouchEnd:function(a){this.onDragEnd()},onDragEnd:function(){this.innerElement.removeCls(this.getBaseCls()+"-pressed");if(this.indicator){this.indicator.hide()}},onDrag:function(d){var a=Ext.util.Point.fromEvent(d),c,b,i=this.pageBox;if(!i){i=this.pageBox=this.el.getBox()}if(this.getDirection()==="vertical"){if(a.y>i.bottom||a.y<i.top){return}c=Ext.Element.fromPoint(i.left+(i.width/2),a.y);b=c.getParent()==this.element;if(this.indicator){this.indicator.show();var g=this.indicator.getHeight()/2,h=a.y-this.element.getY();h=Math.min(Math.max(h,g),this.element.getHeight()-g);if(this.indicatorInner&&b){this.indicatorInner.setHtml(c.getHtml().toUpperCase())}this.indicator.setTop(h-(g))}}else{if(a.x>i.right||a.x<i.left){return}c=Ext.Element.fromPoint(a.x,i.top+(i.height/2));b=c.getParent()==this.element}if(c&&b){this.fireEvent("index",this,c.dom.innerHTML,c)}},destroy:function(){var c=this,d=Array.prototype.slice.call(c.innerElement.dom.childNodes),b=d.length,a=0;for(;a<b;a++){Ext.removeNode(d[a])}this.callParent()}});Ext.define("Ext.dataview.ListItemHeader",{extend:Ext.Component,xtype:"listitemheader",config:{baseCls:Ext.baseCSSPrefix+"list-header"}});Ext.define("Ext.dataview.component.ListItem",{extend:Ext.dataview.component.DataItem,xtype:"listitem",config:{baseCls:Ext.baseCSSPrefix+"list-item",dataMap:null,body:{xtype:"component",cls:"x-list-item-body"},disclosure:{xtype:"component",cls:"x-list-disclosure",hidden:true,docked:"right"},header:{xtype:"component",cls:"x-list-header",html:" "},tpl:null,items:null},applyBody:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getBody())}return a},updateBody:function(a,b){if(a){this.add(a)}else{if(b){b.destroy()}}},applyHeader:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getHeader())}return a},updateHeader:function(b,a){if(a){a.destroy()}},applyDisclosure:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getDisclosure())}return a},updateDisclosure:function(b,a){if(b){this.add(b)}else{if(a){a.destroy()}}},updateTpl:function(a){this.getBody().setTpl(a)},updateRecord:function(d){var g=this,c=g.dataview||this.getDataview(),h=d&&c.prepareData(d.getData(true),c.getStore().indexOf(d),d),e=g.getDataMap(),b=this.getBody(),i=this.getDisclosure();g._record=d;if(e){g.doMapData(e,h,b)}else{if(b){b.updateData(h||null)}}if(i&&d&&c.getOnItemDisclosure()){var a=c.getDisclosureProperty();i[(h.hasOwnProperty(a)&&h[a]===false)?"hide":"show"]()}g.fireEvent("updatedata",g,h)},destroy:function(){Ext.destroy(this.getHeader());this.callParent()}});Ext.define("Ext.dataview.component.SimpleListItem",{extend:Ext.Component,xtype:"simplelistitem",config:{baseCls:Ext.baseCSSPrefix+"list-item",disclosure:{xtype:"component",cls:"x-list-disclosure",hidden:true},header:{xtype:"component",cls:"x-list-header",html:" "},dataview:null,record:null},initialize:function(){this.element.addCls(this.getBaseCls()+"-tpl")},applyHeader:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getHeader())}return a},updateHeader:function(b,a){if(a){a.destroy()}},applyDisclosure:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getDisclosure())}return a},updateDisclosure:function(b,a){if(b){this.element.appendChild(b.renderElement)}else{if(a){a.destroy()}}},updateRecord:function(c){var d=this,b=d.dataview||this.getDataview(),e=c&&b.prepareData(c.getData(true),b.getStore().indexOf(c),c),g=this.getDisclosure();d.updateData(e||null);if(g&&c&&b.getOnItemDisclosure()){var a=b.getDisclosureProperty();g[(e.hasOwnProperty(a)&&e[a]===false)?"hide":"show"]()}},destroy:function(){Ext.destroy(this.getHeader(),this.getDisclosure());this.callParent()}});Ext.define("Ext.util.PositionMap",{config:{minimumHeight:null},constructor:function(a){var b=this;b.map=[];b.adjustments={};b.offset=0;b.initConfig(a)},populate:function(e,j){var d=this,h=d.map=d.map||[],a=d.getMinimumHeight(),b,g,c;d.adjustments={indices:[],heights:{}};if(a===null){return}j=j||0;e++;h.length=e;h[0]=0;for(b=j+1,c=e-1;b<=c;b++){g=b-1;h[b]=h[g]+a}d.offset=0;for(b=1,c=e-1;b<=c;b++){g=b-1;this.offset+=h[b]-h[g]-a}},setItemHeight:function(b,a){a=Math.max(a,this.getMinimumHeight());if(a!==this.getItemHeight(b)){var c=this.adjustments;c.indices.push(parseInt(b,10));c.heights[b]=a}},update:function(){var d=this.adjustments,o=d.indices,m=d.heights,a=this.map,l=o.length,p=this.getMinimumHeight(),c=0,g,e,n,k,h,b;if(!d.indices.length){return false}Ext.Array.sort(o,function(j,i){return j-i});for(g=0;g<l;g++){k=o[g];h=o[g+1]||a.length-1;b=(a[k+1]!==undefined)?(a[k+1]-a[k]+c):p;n=m[k];c+=n-b;for(e=k+1;e<=h;e++){a[e]+=c}}this.offset+=c;this.adjustments={indices:[],heights:{}};return true},getItemHeight:function(a){return this.map[a+1]-this.map[a]},getTotalHeight:function(){return((this.map.length-1)*this.getMinimumHeight())+this.offset},findIndex:function(a){return this.map.length?this.binarySearch(this.map,a):0},binarySearch:function(b,d){var g=0,a=b.length;if(d<b[0]){return 0}if(d>b[a-1]){return a-1}while(g+1<a){var c=(g+a)>>1,e=b[c];if(e==d){return c}else{if(e<d){g=c}else{a=c}}}return g}});Ext.define("Ext.dataview.List",{alternateClassName:"Ext.List",extend:Ext.dataview.DataView,xtype:"list",mixins:[Ext.mixin.Hookable],config:{container:{lazy:true,$value:{xtype:"container",scrollable:{}}},layout:"fit",indexBar:false,icon:null,preventSelectionOnDisclose:true,baseCls:Ext.baseCSSPrefix+"list",pinHeaders:true,grouped:null,onItemDisclosure:null,disclosureProperty:"disclosure",defaultType:undefined,itemMap:{},itemHeight:null,variableHeights:false,refreshHeightOnUpdate:true,infinite:false,useSimpleItems:true,scrollable:null,bufferSize:20,minimumBufferDistance:5,striped:false},topRenderedIndex:0,topVisibleIndex:0,visibleCount:0,beforeInitialize:function(){var e=this,b=e.container,c=e.getBaseCls(),d,a;Ext.apply(e,{listItems:[],headerItems:[],updatedItems:[],headerMap:[],recordMap:{},scrollDockItems:{top:[],bottom:[]}});e.translationMethod="csstransform";if(!b){b=e.container=e.createContainer()}e.add(b);d=e.scrollViewElement=b.bodyElement;e.scrollElement=b.innerElement;a=e.pinnedHeader=Ext.factory({xtype:"listitemheader",html:"&nbsp;",translatable:{translationMethod:e.translationMethod},cls:[c+"-header",c+"-header-swap"]});a.translate(0,-10000);a.$position=-10000;d.insertFirst(a.renderElement);b.getScrollable().on({scroll:"onScroll",refresh:"onScrollerRefresh",scope:e})},createContainer:function(){var a=Ext.merge({scrollable:{autoRefresh:this.getInfinite()?null:true}},this.getContainer());return Ext.create(a)},getScrollable:function(){return this.container.getScrollable()},initialize:function(){var d=this,a=d.container,c=d.scrollViewElement,b=d.getIndexBar(),g=d.getTriggerEvent(),e=d.getTriggerCtEvent();if(b){c.appendChild(b.renderElement)}if(g){d.on(g,d.onItemTrigger,d)}if(e){d.on(e,d.onContainerTrigger,d)}a.element.on({delegate:"."+d.getBaseCls()+"-disclosure",tap:"handleItemDisclosure",scope:d});a.element.on({resize:"onContainerResize",scope:d});a.innerElement.on({touchstart:"onItemTouchStart",touchend:"onItemTouchEnd",tap:"onItemTap",taphold:"onItemTapHold",singletap:"onItemSingleTap",doubletap:"onItemDoubleTap",swipe:"onItemSwipe",delegate:"."+Ext.baseCSSPrefix+"list-item",scope:d});if(d.getStore()){if(d.isPainted()){d.refresh()}else{d.on({painted:"refresh",single:true})}}},getRefItems:function(c){var b=[],g=this.callParent([c]),a=g.length,d,e;for(d=0;d<a;d++){e=g[d];if(!e.hasOwnProperty("$position")||e.$position>-1){b[b.length]=e}}return b},onScroll:function(c,i,h){var g=this,a=g.pinnedHeader,j=g.getStore(),e=j&&j.getCount(),d=g.isGrouping(),b=g.getInfinite();if(i){i=-i}if(h){h=-h}if(!e){g.showEmptyText();g.showEmptyScrollDock();a.$position=-10000;a.translate(0,-10000)}else{if(b&&g.itemsCount){g.handleItemUpdates(h);g.handleItemHeights();g.handleItemTransforms();if(!g.onIdleBound){Ext.AnimationQueue.onIdle(g.onAnimationIdle,g);g.onIdleBound=true}}}if(d&&g.groups&&g.groups.length&&g.getPinHeaders()){g.handlePinnedHeader(h)}g.onScrollBinder(i,h)},onScrollerRefresh:function(b){var a=b.getPosition();this.onScroll(b,a.x,a.y)},onScrollBinder:function(){},handleItemUpdates:function(p){var o=this,d=o.listItems,s=d.length,c=o.getListItemInfo(),e=o.getItemMap(),b=o.getBufferSize(),l=o.getStore().getCount()-1,q=o.getMinimumBufferDistance(),g=o.topVisibleIndex,k=o.topRenderedIndex,j,h,r,n,m,a;o.topVisibleIndex=n=Math.max(0,e.findIndex(-p)||0);if(g!==n){if(g>n){m=n-k;if(m<q){j=Math.min(s,q-m);if(j==s){o.topRenderedIndex=k=Math.max(0,n-(b-q));for(h=0;h<j;h++){a=k+h;r=d[h];o.updateListItem(r,a,c)}}else{for(h=0;h<j;h++){a=k-h-1;if(a<0){break}r=d.pop();d.unshift(r);o.updateListItem(r,a,c);o.topRenderedIndex--}}}}else{m=b-(n-k);if(m<q){j=Math.min(s,q-m);if(j==s){o.topRenderedIndex=k=Math.min(l-s,n-q);for(h=0;h<j;h++){a=k+h;r=d[h];o.updateListItem(r,a,c)}}else{for(h=0;h<j;h++){a=k+s+h;if(a>l){break}r=d.shift();d.push(r);o.updateListItem(r,a,c);o.topRenderedIndex++}}}}}},onAnimationIdle:function(){var n=this,d=n.getListItemInfo(),c=n.getBufferSize(),l=n.topVisibleIndex,j=n.topRenderedIndex,k=n.getStore().getCount()-1,g=n.listItems,p=g.length,b,e,h,m,o,a;b=l-j;e=j+c-l;if(b<e){if(l>0){m=e-b;for(h=0;h<m;h++){a=j-h-1;if(a<0){break}o=g.pop();g.unshift(o);n.updateListItem(o,a,d);n.topRenderedIndex--}}}else{m=b-e;for(h=0;h<m;h++){a=j+p+h;if(a>k){break}o=g.shift();g.push(o);n.updateListItem(o,a,d);n.topRenderedIndex++}}n.handleItemHeights();n.handleItemTransforms();n.onIdleBound=false},handleItemHeights:function(){var o=this,e=o.updatedItems,l=e.length,g=o.getItemMap(),b=o.getUseSimpleItems(),s=g.getMinimumHeight(),r=o.headerIndices,m=o.headerMap,c=o.getVariableHeights(),a,k,h,n,q,p,d;for(k=0;k<l;k++){q=e[k];a=q.$dataIndex;if(a!==null){if(c){p=b?q.element.getHeight():q.element.getFirstChild().getHeight();p=Math.max(p,s)}else{p=s}q.$ownItemHeight=p;n=o.scrollDockItems.top.length;if(q.isFirst){o.totalScrollDockTopHeight=0;for(h=0;h<n;h++){d=o.scrollDockItems.top[h].$scrollDockHeight;p+=d;o.totalScrollDockTopHeight+=d}}n=o.scrollDockItems.bottom.length;if(q.isLast){for(h=0;h<n;h++){d=o.scrollDockItems.bottom[h].$scrollDockHeight;p+=d}}if(r&&r[a]){p+=o.headerHeight}g.setItemHeight(a,p);q.$height=p}}g.update();m.length=0;for(k in r){if(r.hasOwnProperty(k)){m.push(g.map[k])}}o.updatedItems.length=0;o.refreshScroller(true)},handleItemTransforms:function(){var k=this,a=k.listItems,n=a.length,b=k.getItemMap(),l=k.scrollDockItems,g=k.isGrouping(),m,d,e,h,c;for(e=0;e<n;e++){m=a[e];d=b.map[m.$dataIndex];if(!m.$hidden&&m.$position!==d){m.$position=d;h=l.top.length;if(m.isFirst&&h){for(c=0;c<h;c++){l.top[c].translate(0,d);d+=l.top[c].$scrollDockHeight}}if(g&&k.headerIndices&&k.headerIndices[m.$dataIndex]){m.getHeader().translate(0,d);d+=k.headerHeight}m.translate(0,d);d+=m.$ownItemHeight;h=l.bottom.length;if(m.isLast&&h){for(c=0;c<h;c++){l.bottom[c].translate(0,d);d+=l.bottom[c].$scrollDockHeight}}}}},handlePinnedHeader:function(n){var m=this,c=m.pinnedHeader,g=m.getItemMap(),e=m.groups,l=m.headerMap,i=m.headerHeight,o=m.getStore(),d=m.totalScrollDockTopHeight,j,b,k,h,a;b=g.binarySearch(l,-n);j=e.getAt(b).getAt(0);if(j){k=n+l[b+1]-i;if(n>=0||(b===0&&d+n>=0)||(b===0&&-n<=l[b])){h=-10000}else{if(k<0){h=k}else{h=Math.max(0,n)}}a=o.getGrouper().getGroupString(j);if(c.$currentHeader!=a){c.setHtml(a);c.$currentHeader=a}if(c.$position!=h){c.translate(0,h);c.$position=h}}},createItem:function(c){var i=this,a=i.container,d=i.listItems,g=i.getInfinite(),h=i.scrollElement,j,e,b;c.$initParent=i;j=Ext.factory(c);delete c.$initParent;j.dataview=i;j.$height=c.minHeight;if(!g){b=i.getBaseCls()+"-item-relative";j.addCls(b)}e=j.getHeader&&j.getHeader();if(e){if(!g){e.addCls(b)}else{e.setTranslatable({translationMethod:this.translationMethod});e.translate(0,-10000);h.insertFirst(e.renderElement)}}a.doAdd(j);d.push(j);return j},setItemsCount:function(a,b){var e=this,g=e.listItems,c=b||e.getListItemConfig(),h=a-g.length,d;for(d=0;d<h;d++){e.createItem(c)}for(d=h;d<0;d++){g.pop().destroy()}e.itemsCount=a;e.updateAllListItems();if(Ext.browser.is.AndroidStock&&e.container.element&&a===0&&h!==0){e.container.element.redraw()}return e.listItems},updateListItem:function(u,g,t){var w=this,y=w.recordMap,x=u.getRecord(),e=t.store,a=e.getAt(g),q=w.headerIndices,b=w.footerIndices,p=u.getHeader&&u.getHeader(),r=w.scrollDockItems,k=w.updatedItems,h=w.getInfinite(),s=e.getCount(),m=e.getGrouper(),v=[],l=[],o=[t.headerCls,t.footerCls,t.firstCls,t.lastCls,t.selectedCls,t.stripeCls],z=[t.headerCls,t.footerCls,t.firstCls,t.lastCls],j,n,d,c;if(h){u.$position=-10000}if(!a){u.setRecord(null);if(x){delete y[x.internalId]}if(h){u.translate(0,-10000)}else{u.hide()}if(p){if(h){p.translate(0,-10000)}else{p.hide()}}u.$hidden=true;return}else{if(u.$hidden){if(!h){u.show()}u.$hidden=false}}if(h){k.push(u)}if(u.isFirst&&g!==0){j=r.top.length;for(n=0;n<j;n++){d=r.top[n];if(h){d.translate(0,-10000)}}u.isFirst=false}if(u.isLast&&g!==s-1){j=r.bottom.length;for(n=0;n<j;n++){d=r.bottom[n];if(h){d.translate(0,-10000)}}u.isLast=false}if(u.$dataIndex!==g){u.$dataIndex=g;w.fireEvent("itemindexchange",w,a,g,u)}if(x===a){u.updateRecord(a)}else{if(x){delete y[x.internalId]}y[a.internalId]=u;u.setRecord(a);c=u.getViewModel();if(c){c.set("record",a)}}if(w.isSelected(a)){v.push(t.selectedCls)}if(t.grouped){if(q[g]){v.push(t.headerCls);l.push(t.headerCls);p.setHtml(m.getGroupString(a));if(!h){p.renderElement.insertBefore(u.renderElement)}p.show()}else{if(h){p.translate(0,-10000)}else{p.hide()}}if(b[g]){v.push(t.footerCls);l.push(t.footerCls)}}if(p&&!t.grouped){if(h){p.translate(0,-10000)}else{p.hide()}}if(g===0){u.isFirst=true;v.push(t.firstCls);l.push(t.firstCls);if(!t.grouped){v.push(t.headerCls);l.push(t.headerCls)}if(!h){for(n=0,j=r.top.length;n<j;n++){d=r.top[n];if(t.grouped){d.renderElement.insertBefore(p.renderElement)}else{d.renderElement.insertBefore(u.renderElement)}}}}if(g===s-1){u.isLast=true;v.push(t.lastCls);l.push(t.lastCls);if(!t.grouped){v.push(t.footerCls);l.push(t.footerCls)}if(!h){for(n=0,j=r.bottom.length;n<j;n++){d=r.bottom[n];d.renderElement.insertAfter(u.renderElement)}}}if(t.striped&&g%2===1){v.push(t.stripeCls)}u.renderElement.replaceCls(o,v);if(p){p.renderElement.replaceCls(z,l)}},updateAllListItems:function(){var e=this,b,a,h,g,c,d;if(!e.initialized){return}b=e.getStore();a=e.listItems;h=e.getListItemInfo();g=e.topRenderedIndex;if(b){for(c=0,d=a.length;c<d;c++){e.updateListItem(a[c],g+c,h)}}if(e.isPainted()){if(e.getInfinite()&&b&&b.getCount()){e.handleItemHeights()}e.refreshScroller()}},doRefresh:function(){var c=this,b=c.getInfinite(),a=c.container.getScrollable(),d=c.getStore().getCount();if(b){c.getItemMap().populate(d,this.topRenderedIndex)}if(c.getGrouped()){c.refreshHeaderIndices()}if(d){c.hideScrollDockItems();c.hideEmptyText();if(!b){c.setItemsCount(d);if(c.getScrollToTopOnRefresh()){a.scrollTo(0,0)}}else{if(c.getScrollToTopOnRefresh()){c.topRenderedIndex=0;c.topVisibleIndex=0;a.scrollTo(null,0)}c.updateAllListItems()}}else{c.onStoreClear()}},updateStore:function(b,d){var c=this,a=c.container;c.callParent([b,d]);if(c._fireResizeOnNextLoad&&c.hasLoadedStore){c._fireResizeOnNextLoad=false;c.onContainerResize(a,{height:a.element.getHeight()})}},onLoad:function(b){var c=this,a=c.container;c.callParent([b]);if(c._fireResizeOnNextLoad){c._fireResizeOnNextLoad=false;c.onContainerResize(a,{height:a.element.getHeight()})}},onContainerResize:function(a,k){var h=this,i=h.getStore(),d,e,j,b,c,g;if(!h.headerHeight){h.headerHeight=parseInt(h.pinnedHeader.renderElement.getHeight(),10)}if(h.getInfinite()){c=h.getItemMap();j=c.getMinimumHeight();if(!i||(!i.getCount()&&!i.isLoaded())){h._fireResizeOnNextLoad=true;return}if(!j){b=h.listItems;if(!b.length){g=h.getListItemConfig();h.createItem(g);h.updateListItem(b[0],0,h.getListItemInfo());h.visibleCount++}j=b[0].element.getHeight();c.setMinimumHeight(j);h.getItemMap().populate(h.getStore().getCount(),h.topRenderedIndex)}d=h.visibleCount;e=Math.ceil(k.height/j);if(e!=d){h.visibleCount=e;h.setItemsCount(e+h.getBufferSize(),g);h.fireEvent("updatevisiblecount",this,e,d)}}else{if(h.listItems.length&&h.getGrouped()&&h.getPinHeaders()){h.updateHeaderMap()}}},refreshScroller:function(c){var g=this,b=g.container.getScrollable(),e=g.getInfinite(),a,d;if(e){a=g.getItemMap().getTotalHeight();d=b.getSize();if(a!=d.y){b.setSize({x:b.isTouchScroller?d.x:null,y:a})}if(!c){g.onScrollerRefresh(b)}}else{if(g.getGrouped()&&g.getPinHeaders()){g.updateHeaderMap()}b.refresh()}},updateHeaderMap:function(){var c=this,b=c.headerMap,d=c.headerIndices,e,a;b.length=0;for(a in d){if(d.hasOwnProperty(a)){e=c.getItemAt(a).getHeader();b.push(e.renderElement.dom.offsetTop)}}},applyVariableHeights:function(a){if(!this.getInfinite()){return true}return a},applyDefaultType:function(a){if(!a){a=this.getUseSimpleItems()?"simplelistitem":"listitem"}return a},applyItemMap:function(a){return Ext.factory(a,Ext.util.PositionMap,this.getItemMap())},updateItemHeight:function(a){this.getItemMap().setMinimumHeight(a)},applyIndexBar:function(a){return Ext.factory(a,Ext.dataview.IndexBar,this.getIndexBar())},updatePinHeaders:function(a){if(this.isPainted()){this.pinnedHeader.translate(0,a?this.pinnedHeader.$position:-10000)}},updateItemTpl:function(g){var d=this,e=d.listItems,c=e.length||0,a,b;for(a=0;a<c;a++){b=e[a];b.setTpl(g)}d.updateAllListItems()},updateItemCls:function(g,c){var a=this.listItems,e=a.length,b,d;for(b=0;b<e;b++){d=a[b];d.removeCls(c);d.addCls(g)}},updateIndexBar:function(a,d){var c=this,b=c.scrollViewElement;if(d){d.un({index:"onIndex",scope:c});if(!a){c.element.removeCls(c.getBaseCls()+"-indexed")}if(b){b.removeChild(d.renderElement)}}if(a){a.on({index:"onIndex",scope:c});if(!d){c.element.addCls(c.getBaseCls()+"-indexed")}if(b){b.appendChild(a.renderElement)}}},updateGrouped:function(a){if(this.initialized){this.handleGroupChange()}},onStoreGroupChange:function(){if(this.initialized){this.handleGroupChange()}},onStoreAdd:function(){this.doRefresh()},onStoreRemove:function(){this.doRefresh()},onStoreUpdate:function(b,a,d,h,i){var g=this,c,e;if(g.getInfinite()||i.indexChanged){g.doRefresh()}else{c=b.indexOf(a);e=g.listItems[c];if(e){g.updateListItem(e,c,g.getListItemInfo())}}},onStoreClear:function(){var c=this,a=c.container.getScrollable(),b=c.getInfinite();if(c.pinnedHeader){c.pinnedHeader.translate(0,-10000)}c.getItemMap().populate(0,0);if(!b){c.setItemsCount(0)}else{c.topRenderedIndex=0;c.topVisibleIndex=0;c.updateAllListItems()}a.scrollTo(null,0);c.refreshScroller()},showEmptyScrollDock:function(){var e=this,d=e.getInfinite(),g=e.scrollDockItems,h=0,a,c,b;for(a=0,c=g.top.length;a<c;a++){b=g.top[a];if(d){b.translate(0,h);h+=b.$scrollDockHeight}else{this.scrollElement.appendChild(b.renderElement)}}for(a=0,c=g.bottom.length;a<c;a++){b=g.bottom[a];if(d){b.translate(0,h);h+=b.$scrollDockHeight}else{this.scrollElement.appendChild(b.renderElement)}}},hideScrollDockItems:function(){var e=this,d=e.getInfinite(),g=e.scrollDockItems,a,c,b;if(!d){return}for(a=0,c=g.top.length;a<c;a++){b=g.top[a];b.translate(0,-10000)}for(a=0,c=g.bottom.length;a<c;a++){b=g.bottom[a];b.translate(0,-10000)}},getItem:function(a){var b;if(a){b=this.recordMap[a.internalId]}return b||null},getItemAt:function(a){var e=this.listItems,d=e.length,b,c;for(b=0;b<d;b++){c=e[b];if(c.$dataIndex==a){return c}}},getItemIndex:function(a){return a.$dataIndex},getViewItems:function(){return this.listItems},getListItemInfo:function(){var b=this,a=b.getBaseCls();return{store:b.getStore(),grouped:b.isGrouping(),baseCls:a,selectedCls:b.getSelectedCls(),headerCls:a+"-header-wrap",footerCls:a+"-footer-wrap",firstCls:a+"-item-first",lastCls:a+"-item-last",stripeCls:a+"-item-odd",striped:b.getStriped(),itemMap:b.getItemMap(),defaultItemHeight:b.getItemHeight()}},getListItemConfig:function(){var c=this,a=c.getItemMap().getMinimumHeight(),b={xtype:c.getDefaultType(),tpl:c.getItemTpl(),minHeight:a,cls:c.getItemCls()};if(c.getInfinite()){b.translatable={translationMethod:this.translationMethod}}if(!c.getVariableHeights()){b.height=a}return Ext.merge(b,c.getItemConfig())},refreshHeaderIndices:function(){var j=this,k=j.getStore(),d=k&&k.getCount(),c=k.getGrouper()?k.getGroups():null,g=j.getGrouped(),n=j.headerIndices={},m=j.footerIndices={},e,b,a,h,l;if(!g||!c){return m}l=c.length;j.groups=c;for(e=0;e<l;e++){a=c.getAt(e).getAt(0);h=k.indexOf(a);n[h]=true;b=h-1;if(b>=0){m[b]=true}}m[d-1]=true;return n},onIndex:function(b,e){var h=this,l=e.toLowerCase(),j=h.getStore(),c=j.getGroups(),g=c.length,k,m,d,a;for(d=0;d<g;d++){k=c.getAt(d);m=k.getGroupKey().toLowerCase();if(m>=l){a=k;break}else{a=k}}if(a){this.scrollToRecord(a.getAt(0))}},scrollToRecord:function(g,a,b){var k=this,h=k.container.getScrollable(),l=k.getStore(),i=l.indexOf(g),e;h.stopAnimation();var j=h.getElement().getHeight(),n=h.getSize().y,c=n-j,d,m;if(k.getInfinite()){d=k.getItemMap().map[i]}else{m=k.listItems[i];e=m.getHeader&&m.getHeader();if(e&&e.isPainted()){d=e.renderElement.dom.offsetTop}else{d=m.renderElement.dom.offsetTop}}if(!b){d=Math.min(d,c)}h.scrollTo(0,d,!!a)},onItemAdd:function(c){var b=this,a=c.config;if(a.scrollDock){if(a.scrollDock=="bottom"){b.scrollDockItems.bottom.push(c)}else{b.scrollDockItems.top.push(c)}if(b.getInfinite()){c.on({resize:"onScrollDockItemResize",scope:this});c.addCls(b.getBaseCls()+"-scrolldockitem");c.setTranslatable({translationMethod:this.translationMethod});c.translate(0,-10000);c.$scrollDockHeight=0}b.container.doAdd(c)}else{b.callParent(arguments)}},getScrollDockedItems:function(){return this.scrollDockItems.bottom.slice().concat(this.scrollDockItems.top.slice())},onScrollDockItemResize:function(h,c){var g=this,a=g.listItems,e=a.length,b,d;Ext.getCmp(h.id).$scrollDockHeight=c.height;for(b=0;b<e;b++){d=a[b];if(d.isLast){g.updatedItems.push(d);if(g.isPainted()){g.refreshScroller()}break}}},onItemTouchStart:function(a){this.container.innerElement.on({touchmove:"onItemTouchMove",delegate:"."+Ext.baseCSSPrefix+"list-item",single:true,scope:this});this.callParent(this.parseEvent(a))},onItemTouchMove:function(a){this.callParent(this.parseEvent(a))},onItemTouchEnd:function(a){this.container.innerElement.un({touchmove:"onItemTouchMove",delegate:"."+Ext.baseCSSPrefix+"list-item",scope:this});this.callParent(this.parseEvent(a))},onItemTap:function(a){this.callParent(this.parseEvent(a))},onItemTapHold:function(a){this.callParent(this.parseEvent(a))},onItemSingleTap:function(a){this.callParent(this.parseEvent(a))},onItemDoubleTap:function(a){this.callParent(this.parseEvent(a))},onItemSwipe:function(a){this.callParent(this.parseEvent(a))},parseEvent:function(d){var b=this,c=Ext.fly(d.currentTarget).findParent("."+Ext.baseCSSPrefix+"list-item",8),a=Ext.getCmp(c.id);return[b,a,a.$dataIndex,d]},applyOnItemDisclosure:function(a){if(Ext.isFunction(a)){return{scope:this,handler:a}}return a},handleItemDisclosure:function(g){var d=this,c=Ext.getCmp(Ext.get(g.currentTarget).up(".x-list-item").id),b=c.$dataIndex,a=d.getStore().getAt(b);d.fireAction("disclose",[d,a,c,b,g],"doDisclose")},doDisclose:function(g,a,d,c,h){var b=g.getOnItemDisclosure();if(b&&b.handler){b.handler.call(b.scope||g,a,d,c,h)}},onItemTrigger:function(c,b,g,a,d){if(!(this.getPreventSelectionOnDisclose()&&Ext.fly(d.target).hasCls(this.getBaseCls()+"-disclosure"))){this.callParent(arguments)}},destroy:function(){var d=this,a=d.listItems,c=a.length,b;if(d.pinnedHeader){d.pinnedHeader.destroy();d.pinnedHeader=null}d.callParent();if(d.onIdleBound){Ext.AnimationQueue.unIdle(d.onAnimationIdle,d)}for(b=0;b<c;b++){a[b].destroy()}d.recordMap=d.listItems=null},privates:{handleGroupChange:function(){var h=this,d=h.isGrouping(),c=this.getBaseCls(),g=h.getInfinite(),a=h.pinnedHeader,b=c+"-grouped",e=c+"-ungrouped";if(a){a.translate(0,-10000)}if(d){h.addCls(b);h.removeCls(e)}else{h.addCls(e);h.removeCls(b)}if(g){h.refreshHeaderIndices();h.handleItemHeights()}h.updateAllListItems();if(g){h.handleItemTransforms()}},isGrouping:function(){return Boolean(this.getGrouped()&&this.getStore().getGrouper())}}});Ext.define("Ext.dataview.NestedList",{alternateClassName:"Ext.NestedList",extend:Ext.Container,xtype:"nestedlist",config:{baseCls:Ext.baseCSSPrefix+"nested-list",backText:"Back",useTitleAsBackText:true,updateTitleText:true,displayField:"text",loadingText:"Loading...",emptyText:"No items available.",onItemDisclosure:false,allowDeselect:false,useToolbar:null,toolbar:{docked:"top",xtype:"titlebar",ui:"light",inline:true},title:"",layout:{type:"card",animation:{type:"slide",duration:250,direction:"left"}},store:null,detailContainer:undefined,detailCard:null,backButton:{ui:"back",hidden:true},listConfig:null,useSimpleItems:true,itemHeight:null,variableHeights:false,lastNode:null,lastActiveList:null,ui:null,clearSelectionOnListChange:true},constructor:function(a){if(Ext.isObject(a)){if(a.getTitleTextTpl){this.getTitleTextTpl=a.getTitleTextTpl}if(a.getItemTextTpl){this.getItemTextTpl=a.getItemTextTpl}}this.callParent([a])},onItemInteraction:function(){if(this.isGoingTo){return false}},applyDetailContainer:function(a){if(!a){a=this}return a},updateDetailContainer:function(a,b){if(a){a.on("beforeactiveitemchange","onBeforeDetailContainerChange",this);a.on("activeitemchange","onDetailContainerChange",this)}},onBeforeDetailContainerChange:function(){this.isGoingTo=true},onDetailContainerChange:function(){this.isGoingTo=false},onItemTap:function(h,c,j,a,i){var g=this,b=h.getStore(),d=b.getAt(c);g.fireEvent("itemtap",this,h,c,j,a,i);if(d.isLeaf()){g.fireEvent("leafitemtap",this,h,c,j,a,i);g.goToLeaf(d)}else{this.goToNode(d)}},onBeforeSelect:function(){this.fireEvent.apply(this,[].concat("beforeselect",this,Array.prototype.slice.call(arguments)))},onContainerTap:function(){this.fireEvent.apply(this,[].concat("containertap",this,Array.prototype.slice.call(arguments)))},onSelectionChange:function(){this.fireEvent.apply(this,[].concat("selectionchange",this,Array.prototype.slice.call(arguments)))},onItemDoubleTap:function(){this.fireEvent.apply(this,[].concat("itemdoubletap",this,Array.prototype.slice.call(arguments)))},onStoreBeforeLoad:function(){var b=this.getLoadingText(),a=this.getScrollable();if(b){this.setMasked({xtype:"loadmask",message:b});if(a){a.setDisabled(true)}}this.fireEvent.apply(this,[].concat("beforeload",this,Array.prototype.slice.call(arguments)))},onStoreLoad:function(d,c,e,b,a){this.setMasked(false);this.fireEvent.apply(this,[].concat("load",this,Array.prototype.slice.call(arguments)));if(d.indexOf(this.getLastNode())===-1){this.goToNode(d.getRoot())}},onBackTap:function(){var d=this,c=d.getLastNode(),e=d.getDetailCard(),a=e&&d.getActiveItem()==e,b=d.getLastActiveList();this.fireAction("back",[this,c,b,a],"doBack")},doBack:function(e,d,c,a){var b=e.getLayout(),g=b?b.getAnimation():null;if(a&&c){if(g){g.setReverse(true)}e.setActiveItem(c);e.setLastNode(d.parentNode);e.syncToolbar()}else{e.goToNode(d.parentNode)}},updateData:function(a){if(!this.getStore()){this.setStore(new Ext.data.TreeStore({root:a}))}},applyStore:function(a){if(a){if(Ext.isString(a)){a=Ext.data.StoreManager.get(a)}else{if(!(a instanceof Ext.data.TreeStore)){a=Ext.factory(a,Ext.data.TreeStore,null)}}}return a},storeListeners:{rootchange:"onStoreRootChange",load:"onStoreLoad",beforeload:"onStoreBeforeLoad"},updateStore:function(a,d){var c=this,b=this.storeListeners;b.scope=c;if(d&&Ext.isObject(d)&&d.isStore){if(d.autoDestroy){d.destroy()}d.un(b)}if(a){a.on(b);c.goToNode(a.getRoot())}},onStoreRootChange:function(a,b){this.goToNode(b)},applyDetailCard:function(a,b){return Ext.factory(a,Ext.Component,a===null?b:undefined)},applyBackButton:function(a){return Ext.factory(a,Ext.Button,this.getBackButton())},updateBackButton:function(b,a){if(b){var d=this,c;b.on("tap",d.onBackTap,d);b.setText(d.getBackText());c=d.getToolbar();if(d.$backButtonContainer){d.$backButtonContainer.insert(0,b)}else{c.insert(0,b)}}else{if(a){a.destroy()}}},applyToolbar:function(a){if(a&&a.splitNavigation){Ext.apply(a,{docked:"top",xtype:"titlebar",ui:"light"});var b=(a.splitNavigation===true)?{}:a.splitNavigation;this.$backButtonContainer=this.add(Ext.apply({xtype:"toolbar",docked:"bottom",hidden:true,ui:"dark"},b))}return Ext.factory(a,Ext.TitleBar,this.getToolbar())},updateToolbar:function(a,b){var c=this;if(a){a.setTitle(c.getTitle());if(!a.getParent()){c.add(a)}}else{if(b){b.destroy()}}},updateUseToolbar:function(a,b){if(!a){this.setToolbar(false)}},updateTitle:function(c){var b=this,a=b.getToolbar();if(a&&b.getUpdateTitleText()){a.setTitle(c)}},getItemTextTpl:function(a){return"{"+this.getDisplayField()+"}"},getTitleTextTpl:function(a){return"{"+this.getDisplayField()+"}"},renderTitleText:function(b,c){if(!b.titleTpl){b.titleTpl=Ext.create("Ext.XTemplate",this.getTitleTextTpl(b))}if(b.isRoot()){var a=this.getInitialConfig("title");return(c&&a==="")?this.getInitialConfig("backText"):a}return b.titleTpl.applyTemplate(b.data)},goToNode:function(a){if(!a){return}var j=this,d=j.getActiveItem(),l=j.getDetailCard(),k=l&&j.getActiveItem()==l,i=j.goToNodeReverseAnimation(a),c=j.firstList,e=j.secondList,g=j.getLayout(),b=g?g.getAnimation():null,h;if(a.isLeaf()){throw new Error("goToNode: passed a node which is a leaf.")}if(a===j.getLastNode()&&!k){return}if(k){if(b){b.setReverse(true)}h=j.getLastActiveList();h.getStore().setNode(a);a.expand();j.setActiveItem(h)}else{if(b){b.setReverse(i)}if(c&&e){d=j.getActiveItem();j.setLastActiveList(d);h=(d==c)?e:c;h.getStore().setNode(a);a.expand();j.setActiveItem(h);if(j.getClearSelectionOnListChange()){h.deselectAll()}}else{if(c){j.setLastActiveList(j.getActiveItem());j.setActiveItem(j.getList(a));j.secondList=j.getActiveItem()}else{j.setActiveItem(j.getList(a));j.firstList=j.getActiveItem()}}}j.fireEvent("listchange",j,j.getActiveItem());j.setLastNode(a);j.syncToolbar()},goToLeaf:function(g){if(!g.isLeaf()){throw new Error("goToLeaf: passed a node which is not a leaf.")}var e=this,c=e.getDetailCard(),b=e.getDetailContainer(),a=b===e,d=e.getLayout(),h=d?d.getAnimation():false,i;if(c){if(b.getItems().indexOf(c)===-1){b.add(c)}if(a){i=e.getActiveItem();if(i instanceof Ext.dataview.List){e.setLastActiveList(i)}e.setLastNode(g)}if(h){h.setReverse(false)}b.setActiveItem(c);e.syncToolbar()}},syncToolbar:function(h){var d=this,i=d.getDetailCard(),a=d.getLastNode(),e=h||(i&&(d.getActiveItem()==i)),c=(e)?a:a.parentNode,j=d.getBackButton();if(j){var g=d.getToolbar(),b=g.getInitialConfig("splitNavigation");if(b){d.$backButtonContainer[c?"show":"hide"]()}j[c?"show":"hide"]();if(c&&d.getUseTitleAsBackText()){j.setText(d.renderTitleText(a.parentNode,true))}}if(a){d.setTitle(d.renderTitleText(a))}},updateBackText:function(a){this.getBackButton().setText(a)},goToNodeReverseAnimation:function(b){var a=this.getLastNode();if(!a){return false}return(!a.contains(b)&&a.isAncestor(b))?true:false},getList:function(b){var a=this,c=new Ext.data.NodeStore({recursive:false,node:b,rootVisible:false,model:a.getStore().getModel(),proxy:"memory"});b.expand();return Ext.Object.merge({xtype:"list",useSimpleItems:a.getUseSimpleItems(),pressedDelay:250,autoDestroy:true,store:c,onItemDisclosure:a.getOnItemDisclosure(),allowDeselect:a.getAllowDeselect(),itemHeight:a.getItemHeight(),variableHeights:a.getVariableHeights(),emptyText:a.getEmptyText(),listeners:[{itemdoubletap:"onItemDoubleTap",itemtap:"onItemTap",beforeselectionchange:"onBeforeSelect",containertap:"onContainerTap",scope:a},{selectionchange:"onSelectionChange",itemtouchstart:"onItemInteraction",itemtap:"onItemInteraction",order:"before",scope:a}],itemTpl:'<span<tpl if="leaf == true"> class="x-list-item-leaf"</tpl>>'+a.getItemTextTpl(b)+"</span>"},a.getListConfig())}});Ext.define("Ext.dataview.element.List",{extend:Ext.dataview.element.Container,updateBaseCls:function(a){var b=this;b.itemClsShortCache=a+"-item";b.headerClsShortCache=a+"-header";b.headerClsCache="."+b.headerClsShortCache;b.headerItemClsShortCache=a+"-header-item";b.footerClsShortCache=a+"-footer-item";b.footerClsCache="."+b.footerClsShortCache;b.labelClsShortCache=a+"-item-label";b.labelClsCache="."+b.labelClsShortCache;b.disclosureClsShortCache=a+"-disclosure";b.disclosureClsCache="."+b.disclosureClsShortCache;b.iconClsShortCache=a+"-icon";b.iconClsCache="."+b.iconClsShortCache;this.callParent(arguments)},hiddenDisplayCache:Ext.baseCSSPrefix+"hidden-display",getItemElementConfig:function(e,i){var g=this,c=g.dataview,h=c.getItemCls(),b=g.itemClsShortCache,d,a;if(h){b+=" "+h}d={cls:b,children:[{cls:g.labelClsShortCache,html:g.renderItemTpl(e,i)}]};if(c.getIcon()){a=i.iconSrc;d.children.push({cls:g.iconClsShortCache,style:"background-image: "+a?'url("'+newSrc+'")':""})}if(c.getOnItemDisclosure()){d.children.push({cls:g.disclosureClsShortCache+" "+((i[c.getDisclosureProperty()]===false)?g.hiddenDisplayCache:"")})}return d},updateListItem:function(d,n){var j=this,e=j.dataview,m=Ext.fly(n),i=m.down(j.labelClsCache,true),k=databiew.getStore(),g=k.indexOf(d),c=e.prepareData(d.getData(true),g,d),b=e.getDisclosureProperty(),a=c&&c.hasOwnProperty(b),o=c&&c.hasOwnProperty("iconSrc"),h,l;i.innerHTML=j.renderItemTpl(g,c,k);if(a){h=m.down(j.disclosureClsCache);h[c[b]===false?"addCls":"removeCls"](j.hiddenDisplayCache)}if(e.getIcon()){l=m.down(j.iconClsCache,true);l.style.backgroundImage=o?'url("'+o+'")':""}},doRemoveHeaders:function(){var e=this,a=e.headerItemClsShortCache,b=e.element.query(e.headerClsCache),g=b.length,c=0,d;for(;c<g;c++){d=b[c];Ext.fly(d.parentNode).removeCls(a);Ext.get(d).destroy()}},doRemoveFooterCls:function(){var d=this,c=d.footerClsShortCache,a=d.element.query(d.footerClsCache),e=a.length,b=0;for(;b<e;b++){Ext.fly(a[b]).removeCls(c)}},doAddHeader:function(b,a){b=Ext.fly(b);if(a){b.insertFirst(Ext.Element.create({cls:this.headerClsShortCache,html:a}))}b.addCls(this.headerItemClsShortCache)},destroy:function(){this.doRemoveHeaders();this.callParent()}});Ext.define("Ext.field.Checkbox",{extend:Ext.field.Field,alternateClassName:"Ext.form.Checkbox",xtype:"checkboxfield",qsaLeftRe:/[\[]/g,qsaRightRe:/[\]]/g,isCheckbox:true,defaultBindProperty:"checked",twoWayBindable:{checked:1},publishes:{checked:1},config:{ui:"checkbox",value:"",checked:false,tabIndex:-1,component:{xtype:"input",type:"checkbox",useMask:true,cls:Ext.baseCSSPrefix+"input-checkbox"}},initialize:function(){var b=this,a=b.getComponent();b.callParent();a.on({scope:b,order:"before",masktap:"onMaskTap"});a.doMaskTap=Ext.emptyFn;b.label.on({scope:b,tap:"onMaskTap"});b.publishState("checked",b.getChecked())},doInitValue:function(){var a=this,b=a.getInitialConfig();if(b.hasOwnProperty("value")){a.originalState=b.value}if(b.hasOwnProperty("checked")){a.originalState=b.checked}a.callParent(arguments)},updateInputType:function(a){var b=this.getComponent();if(b){b.setType(a)}},updateName:function(a){var b=this.getComponent();if(b){b.setName(a)}},getSubmitValue:function(){return(this.getChecked())?Ext.isEmpty(this._value)?true:this._value:null},updateChecked:function(d,b){var c=this,a;c.getComponent().setChecked(d);if(c.initialized){a=d?"check":"uncheck";c.fireEvent(a,c);c.fireEvent("change",c,d,b)}},onMaskTap:function(a,c){var b=this,d=b.getComponent().input.dom;if(b.getDisabled()){return false}d.checked=!d.checked;b.setChecked(d.checked);return false},isChecked:function(){return this.getChecked()},check:function(){return this.setChecked(true)},uncheck:function(){return this.setChecked(false)},getSameGroupFields:function(){var l=this,m=l.up("formpanel")||l.up("fieldset"),b=l.getName(),j=l.qsaLeftRe,c=l.qsaRightRe,g=l.getBaseCls().split(" ").join("."),h=[],a,e,d,k;if(!m){m=Ext.Viewport}b=b.replace(j,"\\[");b=b.replace(c,"\\]");a=Ext.query("[name="+b+"]",m.element.dom);k=a.length;for(d=0;d<k;d++){e=a[d];e=Ext.fly(e).up("."+g);if(e&&e.id){h.push(Ext.getCmp(e.id))}}return h},getGroupValues:function(){var a=[];this.getSameGroupFields().forEach(function(b){if(b.getChecked()){a.push(b.getValue())}});return a},setGroupValues:function(a){this.getSameGroupFields().forEach(function(b){b.setChecked((a.indexOf(b.getValue())!==-1))});return this},resetGroupValues:function(){this.getSameGroupFields().forEach(function(a){a.setChecked(a.originalState)});return this},reset:function(){this.setChecked(this.originalState);return this}});Ext.define("Ext.field.Picker",{extend:Ext.field.Text,config:{component:{useMask:true},clearIcon:false,usePicker:"auto",defaultPhonePickerConfig:null,defaultTabletPickerConfig:null,pickerSlotAlign:"center"},initialize:function(){var b=this,a=b.getComponent();b.callParent();a.on({scope:b,masktap:"onMaskTap"});a.doMaskTap=Ext.emptyFn},updateDefaultPhonePickerConfig:function(b){var a=this.phonePicker;if(a){a.setConfig(b)}},updateDefaultTabletPickerConfig:function(a){var b=this.tabletPicker;if(b){b.setConfig(a)}},applyUsePicker:function(a){if(a==="auto"){a=Ext.os.deviceType==="Phone"}return Boolean(a)},syncEmptyCls:Ext.emptyFn,onMaskTap:function(){if(!this.getDisabled()){this.onFocus()}return false},updateDisabled:function(b){var a=this.getComponent();if(a){a.setDisabled(b)}Ext.Component.prototype.updateDisabled.apply(this,arguments)},setDisabled:function(){Ext.Component.prototype.setDisabled.apply(this,arguments)},onFocus:function(b){if(this.getDisabled()){return false}var a=this.getComponent();this.fireEvent("focus",this,b);if(Ext.os.is.Android4){a.input.dom.focus()}a.input.dom.blur();this.isFocused=true;this.showPicker()},destroy:function(){var a=this;a.callParent();a.tabletPicker=a.phonePicker=Ext.destroy(a.tabletPicker,a.phonePicker)}});Ext.define("Ext.picker.Slot",{extend:Ext.dataview.DataView,xtype:"pickerslot",isSlot:true,config:{title:null,showTitle:true,cls:Ext.baseCSSPrefix+"picker-slot",name:null,value:null,flex:1,align:"left",displayField:"text",valueField:"value",itemTpl:null,scrollable:{x:false,indicators:false,momentumEasing:{minVelocity:2},slotSnapEasing:{duration:100}},verticallyCenterItems:true},constructor:function(){this.selectedIndex=0;this.callParent(arguments)},applyTitle:function(a){if(a){a=Ext.create("Ext.Component",{cls:Ext.baseCSSPrefix+"picker-slot-title",docked:"top",html:a})}return a},updateTitle:function(b,a){if(b){this.add(b);this.setupBar()}if(a){this.remove(a)}},updateShowTitle:function(a){var c=this.getTitle(),b=a?"show":"hide";if(c){c.on(b,this.setupBar,this,{single:true,delay:50});c[a?"show":"hide"]()}},updateDisplayField:function(a){if(!this.config.itemTpl){this.setItemTpl('<div class="'+Ext.baseCSSPrefix+'picker-item {cls} <tpl if="extra">'+Ext.baseCSSPrefix+'picker-invalid</tpl>">{'+a+"}</div>")}},updateAlign:function(a,c){var b=this.element;b.addCls(Ext.baseCSSPrefix+"picker-"+a);b.removeCls(Ext.baseCSSPrefix+"picker-"+c)},applyData:function(d){var g=[],c=d&&d.length,a,b,e;if(d&&Ext.isArray(d)&&c){for(a=0;a<c;a++){b=d[a];e={};if(Ext.isArray(b)){e[this.valueField]=b[0];e[this.displayField]=b[1]}else{if(Ext.isString(b)){e[this.valueField]=b;e[this.displayField]=b}else{if(Ext.isObject(b)){e=b}}}g.push(e)}}return d},initialize:function(){this.callParent();var a=this.getScrollable();this.on({scope:this,painted:"onPainted",itemtap:"doItemTap"});this.element.on({scope:this,touchstart:"onTouchStart",touchend:"onTouchEnd"});a.on({scope:this,scrollend:"onScrollEnd"})},onPainted:function(){this.setupBar()},getPicker:function(){if(!this.picker){this.picker=this.getParent()}return this.picker},setupBar:function(){if(!this.rendered){return}var a=this.element,l=this.container.element,e=this.getPicker(),g=e.bar,j=this.getValue(),b=this.getShowTitle(),i=this.getTitle(),d=this.getScrollable(),c=0,k,h;k=g.dom.getBoundingClientRect().height;if(b&&i){c=i.element.getHeight()}h=Math.ceil((a.getHeight()-c-k)/2);if(this.getVerticallyCenterItems()){l.setStyle({padding:h+"px 0 "+h+"px"})}d.refresh();d.setSlotSnapSize(k);this.setValue(j)},doItemTap:function(d,a,c,g){var b=this;b.selectedIndex=a;b.selectedNode=c;b.scrollToItem(c,true)},scrollToItem:function(d,c){var h=d.getY(),b=d.parent(),e=b.getY(),a=this.getScrollable(),g;g=h-e;a.scrollTo(0,g,c)},onTouchStart:function(){this.element.addCls(Ext.baseCSSPrefix+"scrolling")},onTouchEnd:function(){this.element.removeCls(Ext.baseCSSPrefix+"scrolling")},onScrollEnd:function(b,a,h){var g=this,d=Math.round(h/g.picker.bar.dom.getBoundingClientRect().height),c=g.getViewItems(),e=c[d];if(e){g.selectedIndex=d;g.selectedNode=e;g.fireEvent("slotpick",g,g.getValue(),g.selectedNode)}},getValue:function(c){var b=this.getStore(),a,d;if(!b){return}if(!this.rendered||!c){return this._value}if(this._value===false){return null}a=b.getAt(this.selectedIndex);d=a?a.get(this.getValueField()):null;return d},setValue:function(a){return this.doSetValue(a)},setValueAnimated:function(a){return this.doSetValue(a,true)},doSetValue:function(h,g){if(!this.rendered){this._value=h;return}var b=this.getStore(),a=this.getViewItems(),d=this.getValueField(),c,e;c=b.findExact(d,h);if(c==-1){c=0}e=Ext.get(a[c]);this.selectedIndex=c;if(e){this.scrollToItem(e,(g)?{duration:100}:false);this.select(this.selectedIndex)}this._value=h}});Ext.define("Ext.picker.Picker",{extend:Ext.Sheet,alias:"widget.picker",alternateClassName:"Ext.Picker",isPicker:true,config:{baseCls:Ext.baseCSSPrefix+"picker",doneButton:true,cancelButton:true,useTitles:false,slots:null,value:null,height:220,layout:{type:"hbox",align:"stretch"},centered:false,left:0,right:0,bottom:0,defaultType:"pickerslot",toolbarPosition:"top",toolbar:{xtype:"titlebar"}},initialize:function(){var b=this,a=Ext.baseCSSPrefix,c=this.innerElement;this.mask=c.createChild({cls:a+"picker-mask"});this.bar=this.mask.createChild({cls:a+"picker-bar"});b.on({scope:this,delegate:"pickerslot",slotpick:"onSlotPick"})},applyToolbar:function(a){if(a===true){a={}}Ext.applyIf(a,{docked:this.getToolbarPosition()});return Ext.factory(a,"Ext.TitleBar",this.getToolbar())},updateToolbar:function(a,b){if(a){this.add(a)}if(b){this.remove(b)}},applyDoneButton:function(a){if(a){if(Ext.isBoolean(a)){a={}}if(typeof a=="string"){a={text:a}}Ext.applyIf(a,{ui:"action",align:"right",text:"Done"})}return Ext.factory(a,"Ext.Button",this.getDoneButton())},updateDoneButton:function(c,a){var b=this.getToolbar();if(c){b.add(c);c.on("tap",this.onDoneButtonTap,this)}else{if(a){b.remove(a)}}},applyCancelButton:function(a){if(a){if(Ext.isBoolean(a)){a={}}if(typeof a=="string"){a={text:a}}Ext.applyIf(a,{align:"left",text:"Cancel"})}return Ext.factory(a,"Ext.Button",this.getCancelButton())},updateCancelButton:function(b,a){var c=this.getToolbar();if(b){c.add(b);b.on("tap",this.onCancelButtonTap,this)}else{if(a){c.remove(a)}}},updateUseTitles:function(d){var g=this.getInnerItems(),e=g.length,a=Ext.baseCSSPrefix+"use-titles",c,b;if(d){this.addCls(a)}else{this.removeCls(a)}for(c=0;c<e;c++){b=g[c];if(b.isSlot){b.setShowTitle(d)}}},applySlots:function(b){if(b){var c=b.length,a;for(a=0;a<c;a++){b[a].picker=this}}return b},updateSlots:function(a){var b=Ext.baseCSSPrefix,c;this.removeAll();if(a){this.add(a)}c=this.getInnerItems();if(c.length>0){c[0].addCls(b+"first");c[c.length-1].addCls(b+"last")}this.updateUseTitles(this.getUseTitles())},onDoneButtonTap:function(){var a=this._value,b=this.getValue(true);if(b!=a){this.fireEvent("change",this,b)}this.hide();Ext.util.InputBlocker.unblockInputs()},onCancelButtonTap:function(){this.fireEvent("cancel",this);this.hide();Ext.util.InputBlocker.unblockInputs()},onSlotPick:function(a){this.fireEvent("pick",this,this.getValue(true),a)},show:function(){if(this.getParent()===undefined){Ext.Viewport.add(this)}this.callParent(arguments);if(!this.isHidden()){this.setValue(this._value)}Ext.util.InputBlocker.blockInputs()},setValue:function(l,a){var g=this,d=g.getInnerItems(),e=d.length,k,j,c,b,h;if(!l){l={};for(b=0;b<e;b++){l[d[b].config.name]=null}}for(k in l){j=null;h=l[k];for(b=0;b<d.length;b++){c=d[b];if(c.config.name==k){j=c;break}}if(j){if(a){j.setValueAnimated(h)}else{j.setValue(h)}}}g._values=g._value=l;return g},setValueAnimated:function(a){this.setValue(a,true)},getValue:function(c){var b={},a=this.getItems().items,g=a.length,e,d;if(c){for(d=0;d<g;d++){e=a[d];if(e&&e.isSlot){b[e.getName()]=e.getValue(c)}}this._values=b}return this._values},getValues:function(){return this.getValue()},destroy:function(){var a=this;a.callParent();a.mask=a.bar=Ext.destroy(a.mask,a.bar)}});Ext.define("Ext.picker.Date",{extend:Ext.picker.Picker,xtype:"datepicker",alternateClassName:"Ext.DatePicker",config:{yearFrom:1980,yearTo:new Date().getFullYear(),monthText:"Month",dayText:"Day",yearText:"Year",slotOrder:["month","day","year"],doneButton:true},initialize:function(){this.callParent();this.on({scope:this,delegate:"> slot",slotpick:this.onSlotPick});this.on({scope:this,show:this.onSlotPick})},setValue:function(b,a){if(Ext.isDate(b)){b={day:b.getDate(),month:b.getMonth()+1,year:b.getFullYear()}}this.callParent([b,a]);this.onSlotPick()},getValue:function(l){var j={},e=this.getItems().items,d=e.length,a,h,c,g,k,b;for(b=0;b<d;b++){k=e[b];if(k instanceof Ext.picker.Slot){j[k.getName()]=k.getValue(l)}}if(j.year===null&&j.month===null&&j.day===null){return null}g=Ext.isNumber(j.year)?j.year:1;c=Ext.isNumber(j.month)?j.month:1;h=Ext.isNumber(j.day)?j.day:1;if(c&&g&&c&&h){a=this.getDaysInMonth(c,g)}h=(a)?Math.min(h,a):h;return new Date(g,c-1,h)},updateYearFrom:function(){if(this.initialized){this.createSlots()}},updateYearTo:function(){if(this.initialized){this.createSlots()}},updateMonthText:function(a,b){var g=this.getInnerItems,e=g.length,d,c;if(this.initialized){for(c=0;c<e;c++){d=g[c];if((typeof d.title=="string"&&d.title==b)||(d.title.html==b)){d.setTitle(a)}}}},updateDayText:function(a,c){var g=this.getInnerItems,e=g.length,d,b;if(this.initialized){for(b=0;b<e;b++){d=g[b];if((typeof d.title=="string"&&d.title==c)||(d.title.html==c)){d.setTitle(a)}}}},updateYearText:function(e){var d=this.getInnerItems,c=d.length,b,a;if(this.initialized){for(a=0;a<c;a++){b=d[a];if(b.title==this.yearText){b.setTitle(e)}}}},constructor:function(){this.callParent(arguments);this.createSlots()},createSlots:function(){var l=this,c=l.getSlotOrder(),n=l.getYearFrom(),e=l.getYearTo(),g=[],m=[],b=[],j=n>e,k,d,a;while(n){g.push({text:n,value:n});if(n===e){break}if(j){n--}else{n++}}a=l.getDaysInMonth(1,new Date().getFullYear());for(d=0;d<a;d++){m.push({text:d+1,value:d+1})}for(d=0,k=Ext.Date.monthNames.length;d<k;d++){b.push({text:Ext.Date.monthNames[d],value:d+1})}var h=[];c.forEach(function(i){h.push(l.createSlot(i,m,b,g))});l.setSlots(h)},createSlot:function(b,d,a,c){switch(b){case"year":return{name:"year",align:"center",data:c,title:this.getYearText(),flex:3};case"month":return{name:b,align:"right",data:a,title:this.getMonthText(),flex:4};case"day":return{name:"day",align:"center",data:d,title:this.getDayText(),flex:2}}},onSlotPick:function(){var h=this.getValue(true),g=this.getDaySlot(),e=h.getFullYear(),d=h.getMonth(),k=[],a,b;if(!h||!Ext.isDate(h)||!g){return}this.callParent(arguments);a=this.getDaysInMonth(d+1,e);for(b=0;b<a;b++){k.push({text:b+1,value:b+1})}if(g.getStore().getCount()==k.length){return}g.getStore().setData(k);var j=g.getStore(),n=g.getViewItems(),m=g.getValueField(),c,l;c=j.find(m,h.getDate());if(c==-1){return}l=Ext.get(n[c]);g.selectedIndex=c;g.scrollToItem(l);g.setValue(g.getValue(true))},getDaySlot:function(){var c=this.getInnerItems(),b=c.length,a,d;if(this.daySlot){return this.daySlot}for(a=0;a<b;a++){d=c[a];if(d.isSlot&&d.getName()=="day"){this.daySlot=d;return d}}return null},getDaysInMonth:function(c,b){var a=[31,28,31,30,31,30,31,31,30,31,30,31];return c==2&&this.isLeapYear(b)?29:a[c-1]},isLeapYear:function(a){return !!((a&3)===0&&(a%100||(a%400===0&&a)))},onDoneButtonTap:function(){var a=this._value,c=this.getValue(true),b=c;if(Ext.isDate(c)){b=c.toDateString()}if(Ext.isDate(a)){a=a.toDateString()}if(b!=a){this.fireEvent("change",this,c)}this.hide();Ext.util.InputBlocker.unblockInputs()}});Ext.define("Ext.field.DatePicker",{extend:Ext.field.Picker,alternateClassName:"Ext.form.DatePicker",xtype:"datepickerfield",config:{ui:"select",picker:true,destroyPickerOnHide:false,dateFormat:""},applyValue:function(b,a){if(!Ext.isDate(b)){if(b){b=Ext.Date.parse(b,this.getDateFormat())}else{b=null}}if(b&&a&&b.getTime()===a.getTime()){b=undefined}return b},updateValue:function(d,b){var c=this,a=c._picker;if(a&&a.isPicker){a.setValue(d)}if(d!==null){c.getComponent().setValue(Ext.Date.format(d,c.getDateFormat()))}else{c.getComponent().setValue("")}c.fireEvent("change",c,d,b)},applyDateFormat:function(a){return a||Ext.util.Format.defaultDateFormat},updateDateFormat:function(b){var a=this.getValue();if(Ext.isDate(a)){this.getComponent().setValue(Ext.Date.format(a,b))}},getFormattedValue:function(b){var a=this.getValue();return Ext.isDate(a)?Ext.Date.format(a,b||this.getDateFormat()):""},applyPicker:function(b,a){if(a&&a.isPicker){b=a.setConfig(b)}return b},getPicker:function(){var a=this._picker,b=this.getValue();if(a&&!a.isPicker){a=Ext.factory(a,Ext.picker.Date);if(b!==null){a.setValue(b)}}a.on({scope:this,change:"onPickerChange",hide:"onPickerHide"});this._picker=a;return a},onPickerChange:function(b,d){var c=this,a=c.getValue();c.setValue(d);c.fireEvent("select",c,d)},onPickerHide:function(){var b=this,a=b.getPicker();if(b.getDestroyPickerOnHide()&&a){a.destroy();b._picker=b.getInitialConfig().picker||true}},reset:function(){this.setValue(this.originalValue)},onFocus:function(b){var a=this.getComponent();this.fireEvent("focus",this,b);if(Ext.os.is.Android4){a.input.dom.focus()}a.input.dom.blur();if(this.getReadOnly()){return false}this.isFocused=true;this.getPicker().show()},destroy:function(){var a=this._picker;if(a&&a.isPicker){a.destroy()}this.callParent()}});Ext.define("Ext.field.DatePickerNative",{extend:Ext.field.DatePicker,alternateClassName:"Ext.form.DatePickerNative",xtype:"datepickernativefield",initialize:function(){this.callParent()},onFocus:function(d){var c=this;if(!(navigator.plugins&&navigator.plugins.dateTimePicker)){c.callParent();return}var h=function(e){c.setValue(e)};var a=function(i){console.log("DateTimePicker: error occurred or cancelled: "+i)};try{var g=c.getName()=="date"?navigator.plugins.dateTimePicker.selectDate:navigator.plugins.dateTimePicker.selectTime;g(h,a,{value:c.getValue()})}catch(b){a(b)}}});Ext.define("Ext.field.Email",{extend:Ext.field.Text,alternateClassName:"Ext.form.Email",xtype:"emailfield",config:{component:{type:"email"},autoCapitalize:false}});Ext.define("Ext.field.FileInput",{extend:Ext.field.Input,xtype:"fileinput",config:{type:"file",accept:null,capture:null,name:null,multiple:false},captureLookup:{video:"camcorder",image:"camera",audio:"microphone"},initialize:function(){var a=this;a.callParent();a.input.on({scope:a,change:"onInputChange"})},getValue:function(){var a=this.input;if(a){this._value=a.dom.value}return this._value},setValue:function(b){var a=this._value;this._value=b;if(String(this._value)!=String(a)&&this.initialized){this.onChange(this,this._value,a)}return this},getFiles:function(){var a=this.input;if(a){this.$files=a.dom.files}return this.$files},onInputChange:function(a){this.setValue(a.target.value)},onChange:function(b,c,a){this.fireEvent("change",b,c,a)},applyName:function(a){if(this.getMultiple()&&a.substr(-2,2)!=="[]"){a+="[]"}else{if((!this.getMultiple())&&a.substr(-2,2)==="[]"){a=a.substr(0,a.length-2)}}return a},applyMultiple:function(a){this.updateFieldAttribute("multiple",a?"":null);return a},updateMultiple:function(){var a=this.getName();if(!Ext.isEmpty(a)){this.setName(a)}},applyAccept:function(a){switch(a){case"video":case"audio":case"image":a=a+"/*";break}this.updateFieldAttribute("accept",a)},applyCapture:function(a){this.updateFieldAttribute("capture",a);return a}});Ext.define("Ext.field.File",{extend:Ext.field.Field,xtype:"filefield",config:{component:{xtype:"fileinput",fastFocus:false}},proxyConfig:{name:null,value:null,files:null,multiple:false,accept:null,capture:null},isFile:true,initialize:function(){var a=this;a.callParent();a.getComponent().on({scope:this,change:"onChange"})},onChange:function(b,c,a){b.fireEvent("change",this,c,a)}});Ext.define("Ext.field.Hidden",{extend:Ext.field.Text,alternateClassName:"Ext.form.Hidden",xtype:"hiddenfield",config:{component:{xtype:"input",type:"hidden"},ui:"hidden",hidden:true,tabIndex:-1}});Ext.define("Ext.field.Number",{extend:Ext.field.Text,xtype:"numberfield",alternateClassName:"Ext.form.Number",config:{component:{type:"number"},ui:"number"},proxyConfig:{minValue:null,maxValue:null,stepValue:null},applyPlaceHolder:function(a){this._enableNumericPlaceHolderHack=((!Ext.feature.has.NumericInputPlaceHolder)&&(!Ext.isEmpty(a)));return a},onFocus:function(a){if(this._enableNumericPlaceHolderHack){this.getComponent().input.dom.setAttribute("type","number")}this.callParent(arguments)},onBlur:function(a){if(this._enableNumericPlaceHolderHack){this.getComponent().input.dom.setAttribute("type","text")}this.callParent(arguments)},doInitValue:function(){var a=this.getInitialConfig().value;if(a){a=this.applyValue(a)}this.originalValue=a},applyValue:function(b){var a=this.getMinValue(),c=this.getMaxValue();if(Ext.isNumber(a)&&Ext.isNumber(b)){b=Math.max(b,a)}if(Ext.isNumber(c)&&Ext.isNumber(b)){b=Math.min(b,c)}b=parseFloat(b);return(isNaN(b))?"":b},getValue:function(){var a=parseFloat(this.callParent(),10);return(isNaN(a))?null:a},doClearIconTap:function(a,b){a.getComponent().setValue("");a.getValue();a.hideClearIcon()}});Ext.define("Ext.field.Password",{extend:Ext.field.Text,xtype:"passwordfield",alternateClassName:"Ext.form.Password",config:{autoCapitalize:false,revealable:false,revealed:false,component:{type:"password"}},isPassword:true,initialize:function(){this.callParent(arguments);this.addCls(Ext.baseCSSPrefix+"field-password")},updateRevealable:function(b,a){if(this.$revealIcon){this.getComponent().element.removeChild(this.$revealIcon);this.$revealIcon=null}if(b===true){this.$revealIcon=new Ext.Element(Ext.Element.create({cls:"x-reveal-icon"},true));this.$revealIcon.on({tap:"onRevealIconTap",touchstart:"onRevealIconPress",touchend:"onRevealIconRelease",scope:this});this.getComponent().element.appendChild(this.$revealIcon)}},updateRevealed:function(c,b){var a=this.getComponent();if(c){this.element.addCls(Ext.baseCSSPrefix+"revealed");a.setType("text")}else{this.element.removeCls(Ext.baseCSSPrefix+"revealed");a.setType("password")}},updateValue:function(b,a){this.toggleRevealIcon(this.isValidTextValue(b));this.callParent([b,a])},doKeyUp:function(b,d){var c=b.getValue(),a=b.isValidTextValue(b.getValue());b.toggleClearIcon(a);if(d.browserEvent.keyCode===13){b.fireAction("action",[b,d],"doAction")}b.toggleRevealIcon(a)},showRevealIcon:function(){var b=this,c=b.getValue(),a=c!==undefined&&c!==null&&c!=="";if(b.getRevealable()&&!b.getDisabled()&&a){b.element.addCls(Ext.baseCSSPrefix+"field-revealable")}return b},hideRevealIcon:function(){if(this.getRevealable()){this.element.removeCls(Ext.baseCSSPrefix+"field-revealable")}},onRevealIconTap:function(a){this.fireAction("revealicontap",[this,a],"doRevealIconTap")},doRevealIconTap:function(a,b){a.setRevealed(!this.getRevealed())},onRevealIconPress:function(){this.$revealIcon.addCls(Ext.baseCSSPrefix+"pressing")},onRevealIconRelease:function(){this.$revealIcon.removeCls(Ext.baseCSSPrefix+"pressing")},privates:{isValidTextValue:function(a){return(a!==undefined&&a!==null&&a!=="")},toggleRevealIcon:function(a){if(a){this.showRevealIcon()}else{this.hideRevealIcon()}}}});Ext.define("Ext.field.Radio",{extend:Ext.field.Checkbox,xtype:"radiofield",alternateClassName:"Ext.form.Radio",isRadio:true,config:{ui:"radio",component:{type:"radio",cls:Ext.baseCSSPrefix+"input-radio"}},getValue:function(){return this._value===undefined?null:this._value},setValue:function(a){this._value=a;return this},getSubmitValue:function(){var a=this._value;if(a===undefined||a===null){a=true}return(this.getChecked())?a:null},updateChecked:function(c,a){var b=this;b.callParent([c,a]);if(b.initialized&&c){b.refreshGroupValues(b)}},onMaskTap:function(a,c){var b=this,d=b.getComponent().input.dom;if(b.getDisabled()){return false}b.setChecked(true);return false},getGroupValue:function(){var a=this.getSameGroupFields(),c=a.length,b=0,d;for(;b<c;b++){d=a[b];if(d.getChecked()){return d.getValue()}}return null},setGroupValue:function(d){var a=this.getSameGroupFields(),c=a.length,b=0,e;for(;b<c;b++){e=a[b];if(e.getValue()===d){e.setChecked(true);return e}}},refreshGroupValues:function(b){var a=this.getSameGroupFields(),d=a.length,c=0,e;for(;c<d;c++){e=a[c];if(e!==b){e.setChecked(false)}}}});Ext.define("Ext.field.Search",{extend:Ext.field.Text,xtype:"searchfield",alternateClassName:"Ext.form.Search",config:{component:{type:"search"},ui:"search"}});Ext.define("Ext.field.Select",{extend:Ext.field.Picker,xtype:"selectfield",alternateClassName:"Ext.form.Select",config:{ui:"select",valueField:"value",displayField:"text",store:null,options:null,hiddenName:null,autoSelect:true,name:"picker",selection:null},twoWayBindable:{selection:1},publishes:{selection:1},applyValue:function(e){var d=this,a=e,c,b;d.getOptions();b=d.getStore();if((e||e===0)&&!e.isModel&&b){c=b.find(d.getValueField(),e,null,null,null,true);if(c===-1){c=b.find(d.getDisplayField(),e,null,null,null,true)}a=b.getAt(c)}return a},updateValue:function(e,b){var d=this,a=d.getComponent(),c="";if(e===null||(e&&e.isModel)){d.settingSelection=true;d.setSelection(e);d.settingSelection=false;if(e){c=e.get(d.getDisplayField())}}if(a){a.setValue(c)}if(d.initialized){d.fireEvent("change",d,e,b)}},getValue:function(){var a=this.getSelection();return a?a.get(this.getValueField()):null},applySelection:function(a){return a||null},updateSelection:function(a){if(!this.settingSelection){this.setValue(a?a.get(this.getValueField()):null)}},getPhonePicker:function(){var c=this,a=c.phonePicker,b;if(!a){b=c.getDefaultPhonePickerConfig();c.phonePicker=a=Ext.create("Ext.picker.Picker",Ext.apply({slots:[{align:c.getPickerSlotAlign(),name:c.getName(),valueField:c.getValueField(),displayField:c.getDisplayField(),value:c.getValue(),store:c.getStore()}],listeners:{change:c.onPickerChange,scope:c}},b))}return a},getTabletPicker:function(){var b=this,c=b.tabletPicker,a;if(!c){a=b.getDefaultTabletPickerConfig();b.tabletPicker=c=Ext.create("Ext.Panel",Ext.apply({left:0,top:0,modal:true,cls:Ext.baseCSSPrefix+"select-overlay",layout:"fit",hideOnMaskTap:true,width:Ext.os.is.Phone?"14em":"18em",height:(Ext.os.is.BlackBerry&&Ext.os.version.getMajor()===10)?"12em":(Ext.os.is.Phone?"12.5em":"22em"),items:{xtype:"list",store:b.getStore(),itemTpl:'<span class="x-list-label">{'+b.getDisplayField()+":htmlEncode}</span>",listeners:{select:b.onListSelect,itemtap:b.onListTap,scope:b}}},a))}return c},showPicker:function(){var g=this,j=g.getStore(),i=g.getValue(),c,a,h,e,d,b;if(!j||j.getCount()===0){return}if(g.getReadOnly()){return}g.isFocused=true;if(g.getUsePicker()){c=g.getPhonePicker();a=g.getName();h={};h[a]=i;c.setValue(h);if(!c.getParent()){Ext.Viewport.add(c)}c.show()}else{c=g.getTabletPicker();e=c.down("list");if(!c.getParent()){Ext.Viewport.add(c)}c.showBy(g.getComponent(),null);if(i||g.getAutoSelect()){j=e.getStore();d=j.find(g.getValueField(),i,null,null,null,true);b=j.getAt(d);if(b){e.select(b,null,true)}}}},onListSelect:function(c,a){var b=this;if(a){b.setValue(a)}},onListTap:function(){this.tabletPicker.hide({type:"fade",out:true,scope:this})},onPickerChange:function(d,g){var e=this,h=g[e.getName()],b=e.getStore(),c=b.find(e.getValueField(),h,null,null,null,true),a=b.getAt(c);e.setValue(a)},updateOptions:function(b){var a=this.getStore();if(!a){this.setStore(true);a=this._store}if(!b){a.clearData()}else{a.setData(b);this.onStoreDataChanged(a)}return this},applyStore:function(a){if(a===true){a=Ext.create("Ext.data.Store",{fields:[this.getValueField(),this.getDisplayField()],autoDestroy:true})}if(a){a=Ext.data.StoreManager.lookup(a)}return a},updateStore:function(b,e){var c=this,d=c.tabletPicker,a=c.phonePicker;if(e&&e.getAutoDestroy()){e.destroy()}if(b){b.on({scope:this,add:"onStoreDataChanged",remove:"onStoreDataChanged",update:"onStoreDataChanged",refresh:"onStoreDataChanged"});c.onStoreDataChanged(b)}if(c.getUsePicker()&&a){a.down("pickerslot").setStore(b)}else{if(d){d.down("dataview").setStore(b)}}},onStoreDataChanged:function(a){var c=this.getInitialConfig(),b=this.getValue();if(b||b===0){this.setValue(b)}if(this.getValue()===null){if(c.hasOwnProperty("value")){this.setValue(c.value)}if(this.getValue()===null&&this.getAutoSelect()){if(a.getCount()>0){this.setValue(a.getAt(0))}}}},reset:function(){var d=this,a,b,e,c;if(d.getAutoSelect()){b=d.getStore();a=d.originalValue?d.originalValue:b.getAt(0)}else{e=d.getUsePicker();c=e?d.phonePicker:d.tabletPicker;if(c){c=c.child(e?"pickerslot":"dataview");c.deselectAll()}a=null}d.setValue(a);return d},destroy:function(){var a=this.getStore();if(a&&a.getAutoDestroy()){a.destroy()}this.callParent()}});Ext.define("Ext.slider.Thumb",{extend:Ext.Component,xtype:"thumb",config:{baseCls:Ext.baseCSSPrefix+"thumb",pressedCls:Ext.baseCSSPrefix+"thumb-pressing",draggable:{direction:"horizontal"}},platformConfig:{ie10:{draggable:{translatable:{translationMethod:"csstransform"}}}},elementWidth:0,initialize:function(){var a=this;a.callParent();a.getDraggable().onBefore({beforedragstart:"onBeforeDragStart",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",scope:this});a.getDraggable().on({touchstart:"onPress",touchend:"onRelease",scope:a});a.element.on("resize","onElementResize",a)},updatePressedCls:function(b,c){var a=this.element;if(a.hasCls(c)){a.replaceCls(c,b)}},onPress:function(){var c=this,a=c.element,b=c.getPressedCls();if(!c.getDisabled()){a.addCls(b)}},onRelease:function(a){this.fireAction("release",[this,a],"doRelease")},doRelease:function(a,b){if(!a.getDisabled()){a.element.removeCls(a.getPressedCls())}},onBeforeDragStart:function(b,c,a,d){if(this.isDisabled()){return false}return this.fireEvent("beforedragstart",this,c,a,d)},onDragStart:function(b,c,a,d){this.fireEvent("dragstart",this,c,a,d)},onDrag:function(b,c,a,d){if(this.isDisabled()){return false}this.fireEvent("drag",this,c,a,d)},onDragEnd:function(b,c,a,d){if(this.isDisabled()){return false}this.fireEvent("dragend",this,c,a,d)},onElementResize:function(a,b){this.elementWidth=b.width},getElementWidth:function(){return this.elementWidth}});Ext.define("Ext.slider.Slider",{extend:Ext.Container,xtype:"slider",config:{baseCls:"x-slider",thumbConfig:{draggable:{translatable:{easingX:{duration:300,type:"ease-out"}}}},increment:1,value:0,minValue:0,maxValue:100,allowThumbsOverlapping:false,animation:true,readOnly:false},elementWidth:0,offsetValueRatio:0,activeThumb:null,constructor:function(a){a=a||{};if(a.hasOwnProperty("values")){a.value=a.values}this.callParent([a])},initialize:function(){var b=this.element,a;this.callParent();b.on({scope:this,tap:"onTap",resize:"onResize"});this.on({scope:this,delegate:"> thumb",tap:"onTap",beforedragstart:"onThumbBeforeDragStart",dragstart:"onThumbDragStart",drag:"onThumbDrag",dragend:"onThumbDragEnd"});a=this.getThumb(0);if(a){a.on("resize","onThumbResize",this)}},factoryThumb:function(){return Ext.factory(this.getThumbConfig(),Ext.slider.Thumb)},getThumbs:function(){return this.innerItems},getThumb:function(a){if(typeof a!="number"){a=0}return this.innerItems[a]},refreshOffsetValueRatio:function(){var b=this,c=b.getMaxValue()-b.getMinValue(),a=b.elementWidth-b.thumbWidth;b.offsetValueRatio=c===0?0:a/c},onThumbResize:function(){var a=this.getThumb(0);if(a){this.thumbWidth=a.getElementWidth()}this.refresh()},onResize:function(a,b){this.elementWidth=b.width;this.refresh()},refresh:function(){this.refreshing=true;this.refreshValue();this.refreshing=false},setActiveThumb:function(b){var a=this.activeThumb;if(a&&a!==b){a.setZIndex(null)}this.activeThumb=b;b.setZIndex(2);return this},onThumbBeforeDragStart:function(a,b){if(this.offsetValueRatio===0||b.absDeltaX<=b.absDeltaY||this.getReadOnly()){return false}},onThumbDragStart:function(a,c){var b=this;b.refreshAllThumbConstraints();c.stopPropagation();if(b.getAllowThumbsOverlapping()){b.setActiveThumb(a)}b.dragStartValue=b.getValue()[b.getThumbIndex(a)];b.fireEvent("dragstart",b,a,b.dragStartValue,c)},onThumbDrag:function(c,i,a){var h=this,d=h.getThumbIndex(c),g=h.offsetValueRatio,b=h.constrainValue(h.getMinValue()+a/g);i.stopPropagation();h.setIndexValue(d,b);h.fireEvent("drag",h,c,h.getValue(),i);return false},setIndexValue:function(d,i,b){var e=this,a=e.getThumb(d),j=e.getValue(),g=e.getMinValue(),c=e.offsetValueRatio,h=e.getIncrement(),k=a.getDraggable();k.setOffset((i-g)*c,null,b);j[d]=g+Math.round((k.offset.x/c)/h)*h},onThumbDragEnd:function(a,h){var d=this,c=d.getThumbIndex(a),g=d.getValue()[c],b=d.dragStartValue;d.snapThumbPosition(a,g);d.fireEvent("dragend",d,a,d.getValue(),h);if(b!==g){d.fireEvent("change",d,a,g,b)}},getThumbIndex:function(a){return this.getThumbs().indexOf(a)},refreshThumbConstraints:function(d){var b=this.getAllowThumbsOverlapping(),a=d.getDraggable().getOffset().x,c=this.getThumbs(),e=this.getThumbIndex(d),h=c[e-1],i=c[e+1],g=this.thumbWidth;if(h){h.getDraggable().addExtraConstraint({max:{x:a-((b)?0:g)}})}if(i){i.getDraggable().addExtraConstraint({min:{x:a+((b)?0:g)}})}},onTap:function(l){var p=this,h=p.element,s=Infinity,j,g,o,t,b,a,n,r,q,d,c,k,m;if(p.offsetValueRatio===0||p.isDisabled()||p.getReadOnly()){return}k=Ext.get(l.target);if(!k||(Ext.browser.engineName=="WebKit"&&k.hasCls("x-thumb"))){return}m=l.touch.point.x;c=h.getX();d=m-c-(p.thumbWidth/2);q=p.constrainValue(p.getMinValue()+d/p.offsetValueRatio);r=p.getValue();n=r.length;if(n===1){t=0}else{for(j=0;j<n;j++){o=r[j];g=Math.abs(o-q);if(g<s){s=g;t=j}}}b=r[t];a=p.getThumb(t);p.setIndexValue(t,q,p.getAnimation());p.refreshThumbConstraints(a);if(b!==q){p.fireEvent("change",p,a,q,b)}},updateThumbs:function(a){this.add(a)},applyValue:function(j,e){var d=Ext.Array.from(j||0),b=[],c=this.getMinValue(),a,g,h;for(g=0,h=d.length;g<h;g++){a=this.constrainValue(d[g]);if(a<c){a=c}b.push(a);c=a}if(!this.refreshing&&e){if(Ext.Array.equals(j,e)){b=undefined}}return b},updateValue:function(g,c){var e=this,b=e.getThumbs(),a=g.length,d;e.setThumbsCount(a);for(d=0;d<a;d++){e.snapThumbPosition(b[d],g[d])}},refreshValue:function(){this.refreshOffsetValueRatio();this.setValue(this.getValue())},constrainValue:function(e){var b=this,d=b.getMinValue(),g=b.getMaxValue(),a=b.getIncrement(),c;e=parseFloat(e);if(isNaN(e)){e=d}c=(e-d)%a;e-=c;if(Math.abs(c)>=(a/2)){e+=(c>0)?a:-a}e=Math.max(d,e);e=Math.min(g,e);return e},setThumbsCount:function(e){var a=this.getThumbs(),g=a.length,c,d,b;if(g>e){for(c=0,d=g-e;c<d;c++){b=a[a.length-1];b.destroy()}}else{if(g<e){for(c=0,d=e-g;c<d;c++){this.add(this.factoryThumb())}}}return this},setValues:function(a){this.setValue(a)},getValues:function(){return this.getValue()},applyIncrement:function(a){if(a===0){a=1}return Math.abs(a)},updateAllowThumbsOverlapping:function(b,a){if(typeof a!="undefined"){this.refreshValue()}},updateMinValue:function(b,a){if(typeof a!="undefined"){this.refreshValue()}},updateMaxValue:function(b,a){if(typeof a!="undefined"){this.refreshValue()}},updateIncrement:function(b,a){if(typeof a!="undefined"){this.refreshValue()}},updateDisabled:function(c){this.callParent(arguments);var a=this.getItems().items,d=a.length,b;for(b=0;b<d;b++){a[b].setDisabled(c)}},privates:{refreshAllThumbConstraints:function(){var b=this.getThumbs(),a=b.length,c;for(c=0;c<a;c++){this.refreshThumbConstraints(b[c])}},snapThumbPosition:function(a,c){var b=this.offsetValueRatio,d;if(isFinite(b)){d=Ext.Number.correctFloat((c-this.getMinValue())*b);a.getDraggable().setExtraConstraint(null).setOffset(d)}}}});Ext.define("Ext.field.Slider",{extend:Ext.field.Field,xtype:"sliderfield",alternateClassName:"Ext.form.Slider",config:{cls:Ext.baseCSSPrefix+"slider-field",liveUpdate:false,tabIndex:-1,readOnly:false,value:0},proxyConfig:{increment:1,minValue:0,maxValue:100},defaultBindProperty:"values",twoWayBindable:{values:1,value:1},constructor:function(a){a=a||{};if(a.hasOwnProperty("values")){a.value=a.values}this.callParent([a]);this.updateMultipleState()},initialize:function(){this.callParent();this.getComponent().on({scope:this,change:"onSliderChange",dragstart:"onSliderDragStart",drag:"onSliderDrag",dragend:"onSliderDragEnd"})},applyComponent:function(a){return Ext.factory(a,Ext.slider.Slider)},updateComponent:function(a,b){this.callParent([a,b]);a.setMinValue(this.getMinValue());a.setMaxValue(this.getMaxValue())},applyValue:function(b){var a=b;if(this.dragging&&this.isSyncing("value")){a=undefined}return a},updateValue:function(c,a){var b=this;if(!b.dragging){b.setComponentValue(c)}if(b.initialized){b.fireEvent("change",b,c,a)}},setComponentValue:function(a){this.getComponent().setValue(a)},onSliderChange:function(c,a,d,b){this.setValue(c.getValue());this.fireEvent("dragchange",this,c,a,d,b)},onSliderDragStart:function(c,b,a,d){this.dragging=true;this.fireEvent("dragstart",this,c,b,a,d)},onSliderDrag:function(c,a,d,g){var b=this;if(b.getLiveUpdate()){b.setValue(c.getValue())}b.fireEvent("drag",b,c,a,d,g)},onSliderDragEnd:function(c,b,a,d){this.dragging=false;this.fireEvent("dragend",this,c,b,a,d)},setValues:function(a){this.setValue(a);this.updateMultipleState()},getValues:function(){return this.getValue()},reset:function(){var b=this.config,a=(this.config.hasOwnProperty("values"))?b.values:b.value;this.setValue(a)},updateDisabled:function(a){this.callParent(arguments);this.getComponent().setDisabled(a)},updateReadOnly:function(a){this.getComponent().setReadOnly(a)},isDirty:function(){if(this.getDisabled()){return false}return this.getValue()!==this.originalValue},updateMultipleState:function(){var a=this.getValue();if(a&&a.length>1){this.addCls(Ext.baseCSSPrefix+"slider-multiple")}}});Ext.define("Ext.field.SingleSlider",{extend:Ext.field.Slider,xtype:"singlesliderfield",defaultBindProperty:"value",publishes:{value:1},initialize:function(){this.callParent();this.publishState("value",this.getValue())},applyValue:function(b,a){b=this.callParent([b,a]);if(b&&Ext.isArray(b)){b=b[0]}return b},getValue:function(){var a=this.callParent();if(a&&Ext.isArray(a)){a=a[0]}return a},onSliderChange:function(c,a,d,b){this.setValue(d);this.fireEvent("dragchange",this,c,d,b)},onSliderDragStart:function(c,b,a,d){this.fireEvent("dragstart",this,c,a,d)},onSliderDrag:function(c,a,d,g){var b=this;if(b.getLiveUpdate()){b.setValue(d)}b.fireEvent("drag",b,c,d,g)},onSliderDragEnd:function(c,b,a,d){this.fireEvent("dragend",this,c,a,d)}});Ext.define("Ext.util.TapRepeater",{mixins:{observable:Ext.mixin.Observable},config:{el:null,accelerate:true,interval:10,delay:250,preventDefault:true,stopDefault:false,timer:0,pressCls:null},constructor:function(a){var b=this;b.mixins.observable.constructor.call(b,a)},updateEl:function(c,b){var a={touchstart:"onTouchStart",touchend:"onTouchEnd",tap:"eventOptions",scope:this};if(b){b.un(a)}c.on(a)},eventOptions:function(a){if(this.getPreventDefault()){a.preventDefault()}if(this.getStopDefault()){a.stopEvent()}},destroy:function(){this.el=Ext.destroy(this.el);this.callParent()},onTouchStart:function(c){var b=this,a=b.getPressCls();clearTimeout(b.getTimer());if(a){b.getEl().addCls(a)}b.tapStartTime=new Date();b.fireEvent("touchstart",b,c);b.fireEvent("tap",b,c);if(b.getAccelerate()){b.delay=400}b.setTimer(Ext.defer(b.tap,b.getDelay()||b.getInterval(),b,[c]))},tap:function(b){var a=this;a.fireEvent("tap",a,b);a.setTimer(Ext.defer(a.tap,a.getAccelerate()?a.easeOutExpo(Ext.Date.getElapsed(a.tapStartTime),400,-390,12000):a.getInterval(),a,[b]))},easeOutExpo:function(e,a,h,g){return(e==g)?a+h:h*(-Math.pow(2,-10*e/g)+1)+a},onTouchEnd:function(b){var a=this;clearTimeout(a.getTimer());a.getEl().removeCls(a.getPressCls());a.fireEvent("touchend",a,b)}});Ext.define("Ext.field.Spinner",{extend:Ext.field.Number,xtype:"spinnerfield",alternateClassName:"Ext.form.Spinner",config:{cls:Ext.baseCSSPrefix+"spinner",minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,stepValue:0.1,accelerateOnTapHold:true,cycle:false,clearIcon:false,defaultValue:0,tabIndex:-1,groupButtons:true,component:{disabled:true},value:undefined},platformConfig:{android:{component:{disabled:false,readOnly:true}}},syncEmptyCls:Ext.emptyFn,updateComponent:function(c){var b=this,a=b.getCls();b.callParent(arguments);if(c){b.spinDownButton=Ext.Element.create({cls:a+"-button "+a+"-button-down"});b.spinUpButton=Ext.Element.create({cls:a+"-button "+a+"-button-up"});b.downRepeater=b.createRepeater(b.spinDownButton,b.onSpinDown);b.upRepeater=b.createRepeater(b.spinUpButton,b.onSpinUp)}},updateGroupButtons:function(a,e){var c=this,d=c.innerElement,b=c.getBaseCls()+"-grouped-buttons";c.getComponent();if(a!=e){if(a){c.addCls(b);d.appendChild(c.spinDownButton);d.appendChild(c.spinUpButton)}else{c.removeCls(b);d.insertFirst(c.spinDownButton);d.appendChild(c.spinUpButton)}}},applyValue:function(a){a=parseFloat(a);if(isNaN(a)||a===null){a=this.getDefaultValue()}a=Math.round(a*10)/10;return this.callParent([a])},createRepeater:function(c,b){var d=this,a=Ext.create("Ext.util.TapRepeater",{el:c,accelerate:d.getAccelerateOnTapHold()});a.on({tap:b,touchstart:"onTouchStart",touchend:"onTouchEnd",scope:d});return a},onSpinDown:function(){if(!this.getDisabled()&&!this.getReadOnly()){this.spin(true)}},onSpinUp:function(){if(!this.getDisabled()&&!this.getReadOnly()){this.spin(false)}},onTouchStart:function(a){if(!this.getDisabled()&&!this.getReadOnly()){a.getEl().addCls(Ext.baseCSSPrefix+"button-pressed")}},onTouchEnd:function(a){a.getEl().removeCls(Ext.baseCSSPrefix+"button-pressed")},spin:function(i){var c=this,b=c.getValue(),a=c.getStepValue(),h=i?"down":"up",e=c.getMinValue(),g=c.getMaxValue(),d;if(i){d=b-a}else{d=b+a}if(c.getCycle()){if(b==e&&d<e){d=g}if(b==g&&d>g){d=e}}c.setValue(d);d=c.getValue();c.fireEvent("spin",c,d,h);c.fireEvent("spin"+h,c,d)},updateDisabled:function(a){Ext.Component.prototype.updateDisabled.apply(this,arguments)},setDisabled:function(){Ext.Component.prototype.setDisabled.apply(this,arguments)},reset:function(){this.setValue(this.getDefaultValue())},destroy:function(){var a=this;Ext.destroy(a.downRepeater,a.upRepeater,a.spinDownButton,a.spinUpButton);a.downRepeater=a.upRepeater=a.spinDownButton=a.spinUpButton=null;a.callParent()}});Ext.define("Ext.slider.Toggle",{extend:Ext.slider.Slider,config:{baseCls:"x-toggle",minValueCls:"x-toggle-off",maxValueCls:"x-toggle-on"},initialize:function(){this.callParent();this.on({change:"onChange"})},applyMinValue:function(){return 0},applyMaxValue:function(){return 1},applyIncrement:function(){return 1},updateMinValueCls:function(c,b){var a=this.element;if(b&&a.hasCls(b)){a.replaceCls(b,c)}},updateMaxValueCls:function(c,b){var a=this.element;if(b&&a.hasCls(b)){a.replaceCls(b,c)}},setValue:function(b,a){this.callParent(arguments);this.onChange(this,this.getThumbs()[0],b,a)},setIndexValue:function(c,e,d){var b=this.getValue()[c];this.callParent(arguments);var a=this.getThumb(c),g=this.getValue()[c];if(b!==g){this.fireEvent("change",this,a,g,b)}},onChange:function(e,a,h,c){var i=h>0,b=e.getMaxValueCls(),g=e.getMinValueCls(),d=this.element;d.addCls(i?b:g);d.removeCls(i?g:b)},toggle:function(){var a=this.getValue();this.setValue((a==1)?0:1);return this},onTap:function(){if(this.isDisabled()||this.getReadOnly()){return}var b=this.getValue(),c=(b==1)?0:1,a=this.getThumb(0);this.setIndexValue(0,c,this.getAnimation());this.refreshThumbConstraints(a)}});Ext.define("Ext.field.Toggle",{extend:Ext.field.SingleSlider,xtype:"togglefield",alternateClassName:"Ext.form.Toggle",config:{cls:"x-toggle-field",labelAlign:"left",activeLabel:null,inactiveLabel:null,value:false},proxyConfig:{minValueCls:Ext.baseCSSPrefix+"toggle-off",maxValueCls:Ext.baseCSSPrefix+"toggle-on"},applyComponent:function(a){return Ext.factory(a,Ext.slider.Toggle)},updateActiveLabel:function(b,a){this.getComponent().element.dom.setAttribute("data-activelabel",b)},updateInactiveLabel:function(b,a){this.getComponent().element.dom.setAttribute("data-inactivelabel",b)},applyValue:function(a){if(typeof a!=="boolean"){a=a!==0}return a},updateValue:function(d,a){var c=this,e=c.getActiveLabel(),b=c.getInactiveLabel();if(e||b){c.setLabel(d?e:b)}c.callParent([d,a])},setComponentValue:function(a){this.getComponent().setValue(a?1:0)},toggle:function(){this.setValue(!this.getValue());return this}});Ext.define("Ext.field.Url",{extend:Ext.field.Text,xtype:"urlfield",alternateClassName:"Ext.form.Url",config:{autoCapitalize:false,component:{type:"url"}}});Ext.define("Ext.form.FieldSet",{extend:Ext.Container,alias:"widget.fieldset",config:{baseCls:Ext.baseCSSPrefix+"form-fieldset",title:null,instructions:null},applyTitle:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"top",baseCls:this.getBaseCls()+"-title"});return Ext.factory(a,Ext.Title,this._title)},updateTitle:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}},getTitle:function(){var a=this._title;if(a&&a instanceof Ext.Title){return a.getTitle()}return a},applyInstructions:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"bottom",baseCls:this.getBaseCls()+"-instructions"});return Ext.factory(a,Ext.Title,this._instructions)},updateInstructions:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}},getInstructions:function(){var a=this._instructions;if(a&&a instanceof Ext.Title){return a.getTitle()}return a},updateDisabled:function(a){this.getFieldsAsArray().forEach(function(b){b.setDisabled(a)});return this},getFieldsAsArray:function(){var a=[],b=function(c){if(c.isField){a.push(c)}if(c.isContainer){c.getItems().each(b)}};this.getItems().each(b);return a}});Ext.define("Ext.form.Panel",{alternateClassName:"Ext.form.FormPanel",extend:Ext.Panel,xtype:"formpanel",config:{baseCls:Ext.baseCSSPrefix+"form",standardSubmit:false,url:null,enctype:null,baseParams:null,submitOnAction:false,record:null,method:"post",scrollable:true,trackResetOnLoad:false,api:null,paramOrder:null,paramsAsHash:null,timeout:30,multipartDetection:true,enableSubmissionForm:true},getElementConfig:function(){var a=this.callParent();a.tag="form";a.children.push({tag:"input",type:"submit",style:"visibility: hidden; width: 0; height: 0; position: absolute; right: 0; bottom: 0;"});return a},initialize:function(){var a=this;a.callParent();a.element.on({submit:"onSubmit",scope:a})},applyEnctype:function(b){var a=this.element.dom||null;if(a){if(b){a.setAttribute("enctype",b)}else{a.setAttribute("enctype")}}},updateRecord:function(c){var a,b,d;if(c){b=this.getValues();for(d in b){if(b.hasOwnProperty(d)&&c.getField(d)){c.set(d,b[d])}}}return this},setRecord:function(a){var b=this;if(a&&a.data){b.setValues(a.data)}b._record=a;return this},onSubmit:function(b){var a=this;if(b&&!a.getStandardSubmit()){b.stopEvent()}else{this.submit(null,b)}},updateSubmitOnAction:function(a){if(a){this.on({action:"onFieldAction",scope:this})}else{this.un({action:"onFieldAction",scope:this})}},onFieldAction:function(a){if(this.getSubmitOnAction()){a.blur();this.submit()}},submit:function(a,g){a=a||{};var c=this,d=c.getValues(c.getStandardSubmit()||!a.submitDisabled),b=c.element.dom||{};if(this.getEnableSubmissionForm()){b=this.createSubmissionForm(b,d)}a=Ext.apply({url:c.getUrl()||b.action,submit:false,form:b,method:c.getMethod()||b.method||"post",autoAbort:false,params:null,waitMsg:null,headers:null,success:null,failure:null},a||{});return c.fireAction("beforesubmit",[c,d,a,g],"doBeforeSubmit",null,null,"after")},createSubmissionForm:function(e,c){var a=this.getFields(),d,b,g,h,i;if(e.nodeType===1){e=e.cloneNode(false);for(d in c){b=document.createElement("input");b.setAttribute("type","text");b.setAttribute("name",d);b.setAttribute("value",c[d]);e.appendChild(b)}}for(d in a){if(a.hasOwnProperty(d)){g=a[d];if(g.isFile){if(!e.$fileswap){e.$fileswap=[]}i=g.getComponent().input;h=i.dom;b=h.cloneNode(true);h.parentNode.insertBefore(b,h.nextSibling);e.appendChild(h);e.$fileswap.push({original:h,placeholder:b})}else{if(g.isPassword){if(g.getComponent().getType!=="password"){g.setRevealed(false)}}}}}return e},doBeforeSubmit:function(s,o,d){var c=d.form||{},h=false;if(this.getMultipartDetection()===true){this.getFieldsAsArray().forEach(function(i){if(i.isFile===true){h=true;return false}});if(h){c.setAttribute("enctype","multipart/form-data")}}if(d.enctype){c.setAttribute("enctype",d.enctype)}if(s.getStandardSubmit()){if(d.url&&Ext.isEmpty(c.action)){c.action=d.url}var p=this.query("spinnerfield"),k=p.length,r,b;for(r=0;r<k;r++){b=p[r];if(!b.getDisabled()){b.getComponent().setDisabled(false)}}c.method=(d.method||c.method).toLowerCase();c.submit()}else{var n=s.getApi(),g=d.url||s.getUrl(),a=d.scope||s,j=d.waitMsg,t=function(i,u){if(Ext.isFunction(d.failure)){d.failure.call(a,s,i,u)}s.fireEvent("exception",s,i)},l=function(i,u){if(Ext.isFunction(d.success)){d.success.call(d.scope||s,s,i,u)}s.fireEvent("submit",s,i)},m;if(d.waitMsg){if(typeof j==="string"){j={xtype:"loadmask",message:j}}s.setMasked(j)}if(n){m=n.submit;if(typeof m==="string"){m=Ext.direct.Manager.parseMethod(m);if(m){n.submit=m}}if(m){return m(this.element,function(u,i,v){s.setMasked(false);if(v){if(u.success){l(i,u)}else{t(i,u)}}else{t(i,u)}},this)}}else{var e=Ext.merge({},{url:g,timeout:this.getTimeout()*1000,form:c,scope:s},d);delete e.success;delete e.failure;e.params=Ext.merge(s.getBaseParams()||{},d.params);e.header=Ext.apply({"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},d.headers||{});e.callback=function(u,B,v){var y=this,x=v.responseText,A=v.responseXML,C=Ext.data.request.Ajax.parseStatus(v.status,v);if(c.$fileswap){var i,z;Ext.each(c.$fileswap,function(D){i=D.original;z=D.placeholder;z.parentNode.insertBefore(i,z.nextSibling);z.parentNode.removeChild(z)});c.$fileswap=null;delete c.$fileswap}y.setMasked(false);if(v.success===false){B=false}if(B){if(C&&x&&x.length===0){B=true}else{if(!Ext.isEmpty(v.responseBytes)){B=C.success}else{if(Ext.isString(x)&&v.request.options.responseType==="text"){v.success=true}else{if(Ext.isString(x)){try{v=Ext.decode(x)}catch(w){v.success=false;v.error=w;v.message=w.message}}else{if(Ext.isSimpleObject(x)){v=x;Ext.applyIf(v,{success:true})}}}if(!Ext.isEmpty(A)){v.success=true}B=!!v.success}}if(B){l(v,x)}else{t(v,x)}}else{t(v,x)}};if(Ext.feature.has.XHR2&&e.xhr2){delete e.form;var q=new FormData(c);if(e.params){Ext.iterate(e.params,function(i,u){if(Ext.isArray(u)){Ext.each(u,function(w){q.append(i,w)})}else{q.append(i,u)}});delete e.params}e.data=q}return Ext.Ajax.request(e)}}},load:function(k){k=k||{};var h=this,d=h.getApi(),b=h.getUrl()||k.url,c=k.waitMsg,j=function(l,m){h.setValues(m.data);if(Ext.isFunction(k.success)){k.success.call(k.scope||h,h,l,m)}h.fireEvent("load",h,l)},g=function(l,m){if(Ext.isFunction(k.failure)){k.failure.call(scope,h,l,m)}h.fireEvent("exception",h,l)},i,a,e;if(k.waitMsg){if(typeof c==="string"){c={xtype:"loadmask",message:c}}h.setMasked(c)}if(d){i=d.load;if(typeof i==="string"){i=Ext.direct.Manager.parseMethod(i);if(i){d.load=i}}if(i){a=i.directCfg.method;e=a.getArgs(h.getParams(k.params),h.getParamOrder(),h.getParamsAsHash());e.push(function(m,l,n){h.setMasked(false);if(n){j(l,m)}else{g(l,m)}},h);return i.apply(window,e)}}else{if(b){return Ext.Ajax.request({url:b,timeout:(k.timeout||this.getTimeout())*1000,method:k.method||"GET",autoAbort:k.autoAbort,headers:Ext.apply({"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},k.headers||{}),callback:function(l,p,m){var o=m.responseText,n=Ext.data.request.Ajax.parseStatus(m.status,m);h.setMasked(false);if(p){if(n&&o.length===0){p=true}else{m=Ext.decode(o);p=!!m.success}if(p){j(m,o)}else{g(m,o)}}else{g(m,o)}}})}}},getParams:function(a){return Ext.apply({},a,this.getBaseParams())},setValues:function(k){var c=this.getFields(),g=this,a,h,j,e,b,d;k=k||{};for(a in k){if(k.hasOwnProperty(a)){h=c[a];j=k[a];if(h){if(Ext.isArray(h)){e=h.length;for(b=0;b<e;b++){d=h[b];if(d.isRadio){d.setGroupValue(j);break}else{if(d.isCheckbox){if(Ext.isArray(j)){d.setChecked((j.indexOf(d._value)!=-1))}else{d.setChecked((j==d._value))}}else{if(Ext.isArray(j)){d.setValue(j[b])}}}}}else{if(h.isRadio||h.isCheckbox){h.setChecked(j)}else{h.setValue(j)}}if(g.getTrackResetOnLoad()){h.resetOriginalValue()}}}}return this},getValues:function(h,m){var g=this.getFields(),n={},e=Ext.isArray,k,l,b,c,a,j,d;b=function(o,i){if(!m&&(!i||i==="null")||o.isFile){return}if(o.isCheckbox){l=o.getSubmitValue()}else{l=o.getValue()}if(!(h&&o.getDisabled())){if(o.isRadio){if(o.isChecked()){n[i]=l}}else{c=n[i];if(!Ext.isEmpty(c)){if(!e(c)){c=n[i]=[c]}if(e(l)){c=n[i]=c.concat(l)}else{c.push(l)}}else{n[i]=l}}}};for(a in g){if(g.hasOwnProperty(a)){k=g[a];if(e(k)){j=k.length;for(d=0;d<j;d++){b(k[d],a)}}else{b(k,a)}}}return n},reset:function(){this.getFieldsAsArray().forEach(function(a){a.reset()});return this},updateDisabled:function(a){this.getFieldsAsArray().forEach(function(b){b.setDisabled(a)});return this},getFieldsAsArray:function(){var a=[],b=function(c){if(c.isField){a.push(c)}if(c.isContainer){c.getItems().each(b)}};this.getItems().each(b);return a},getFields:function(b){var a={},d;var c=function(e){if(e.isField){d=e.getName();if((b&&d==b)||typeof b=="undefined"){if(a.hasOwnProperty(d)){if(!Ext.isArray(a[d])){a[d]=[a[d]]}a[d].push(e)}else{a[d]=e}}}if(e.isContainer){e.items.each(c)}};this.getItems().each(c);return(b)?(a[b]||[]):a},getFieldsArray:function(){var a=[];var b=function(c){if(c.isField){a.push(c)}if(c.isContainer){c.items.each(b)}};this.items.each(b);return a},getFieldsFromItem:Ext.emptyFn,showMask:function(a,b){a=Ext.isObject(a)?a.message:a;if(a){this.setMasked({xtype:"loadmask",message:a})}else{this.setMasked(true)}return this},hideMask:function(){this.setMasked(false);return this},getFocusedField:function(){var a=this.getFieldsArray(),c=a.length,d,b;for(b=0;b<c;b++){d=a[b];if(d.isFocused){return d}}return null},getNextField:function(){var a=this.getFieldsArray(),c=this.getFocusedField(),b;if(c){b=a.indexOf(c);if(b!==a.length-1){b++;return a[b]}}return false},focusNextField:function(){var a=this.getNextField();if(a){a.focus();return a}return false},getPreviousField:function(){var a=this.getFieldsArray(),c=this.getFocusedField(),b;if(c){b=a.indexOf(c);if(b!==0){b--;return a[b]}}return false},focusPreviousField:function(){var a=this.getPreviousField();if(a){a.focus();return a}return false}});Ext.define("Ext.grid.cell.Base",{extend:Ext.Widget,cachedConfig:{align:"left",cls:null,hidden:false,innerCls:null},config:{column:null,record:null,value:null},element:{reference:"element",cls:Ext.baseCSSPrefix+"grid-cell",children:[{reference:"innerElement",cls:Ext.baseCSSPrefix+"grid-cell-inner"}]},defaultBindProperty:"value",hiddenCls:Ext.baseCSSPrefix+"grid-cell-hidden",getComputedWidth:function(){return this.getHidden()?0:this.getWidth()},updateAlign:function(c,a){var b=Ext.baseCSSPrefix+"grid-cell-align-";this.element.replaceCls(b+a,b+c)},updateCls:function(a,b){this.element.replaceCls(b,a)},updateInnerCls:function(b,a){if(b||a){this.innerElement.replaceCls(a,b)}},updateColumn:function(a){this.dataIndex=a?a.getDataIndex():null},applyHidden:function(a){return Boolean(a)},updateHidden:function(a){this.element.toggleCls(this.hiddenCls,a)},updateRecord:function(a){var b=this.dataIndex;if(a&&b){this.setValue(a.get(b))}},destroy:function(){this.setColumn(null);this.setRecord(null);this.callParent()}});Ext.define("Ext.grid.cell.Text",{extend:Ext.grid.cell.Base,xtype:"textcell",config:{encodeHtml:true,rawValue:null},updateRawValue:function(a){var b=this.innerElement.dom;if(this.getEncodeHtml()){b.textContent=a}else{b.innerHTML=a}},updateValue:function(){this.writeValue()},writeValue:function(){this.setRawValue(this.getValue())}});Ext.define("Ext.grid.cell.Cell",{extend:Ext.grid.cell.Text,xtype:"gridcell",updateRecord:function(c,d){var h=this,b=h.getColumn(),i,e,g,k,l,a,j;if(c&&b){e=b.getTpl();g=b.getRenderer();if(e){k=e.apply(c.getData(true));a=true}else{if(g){i=h.dataIndex;j=i?c.get(i):undefined;l=b.getScope();if(typeof g==="function"){k=g.call(l||b,j,c,i,h,b)}else{k=Ext.callback(g,l,[j,c,i,h,b],0,h)}a=true}}if(a){h.setRawValue(k);return}}h.callParent([c,d])}});Ext.define("Ext.grid.Row",{extend:Ext.Component,xtype:"gridrow",mixins:[Ext.mixin.Queryable],config:{baseCls:Ext.baseCSSPrefix+"grid-row",header:{xtype:"component",cls:"x-grid-header",html:" "},grid:null},constructor:function(a){this.cells=[];this.columnMap={};this.callParent([a])},applyHeader:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getHeader())}return a},updateHeader:function(b,a){if(a){a.destroy()}},updateGrid:function(c){var e=this,b,a,d;if(c){a=c.getColumns();for(b=0,d=a.length;b<d;b++){e.addColumn(a[b])}}},addColumn:function(a){this.insertColumn(this.cells.length,a)},getRefItems:function(){return this.cells},insertColumn:function(c,d){var e=this,b=e.cells,a=e.createCell(d);if(c===b.length){e.element.appendChild(a.element);b.push(a)}else{a.element.insertBefore(b[c].element);b.splice(c,0,a)}e.columnMap[d.getId()]=a},moveColumn:function(d,c,e){var b=this.cells,a=b[c];Ext.Array.move(b,c,e);if(e===b.length-1){this.element.appendChild(a.element)}else{a.element.insertBefore(b[e+1].element)}},removeColumn:function(c){var d=this,b=d.columnMap,e=c.getId(),a=b[e];if(a){Ext.Array.remove(d.cells,a);delete b[e];a.destroy()}},updateRecord:function(c){if(!c){return}var d=this.cells,b=d.length,e,a;for(e=0;e<b;++e){a=d[e];if(a.getRecord()===c){a.updateRecord(c)}else{a.setRecord(c)}}},setColumnWidth:function(c,b){var a=this.getCellByColumn(c);if(a){a.setWidth(b)}},showColumn:function(a){this.setCellHidden(a,false)},hideColumn:function(a){this.setCellHidden(a,true)},getCellByColumn:function(a){return this.columnMap[a.getId()]},getColumnByCell:function(a){return a.getColumn()},destroy:function(){var a=this;a.cells=Ext.destroy(a.cells,a.getHeader());a.setRecord(null);a.callParent()},privates:{createCell:function(b){var a=this.getCellCfg(b);a.$initParent=this;a=Ext.create(a);delete a.$initParent;return a},getCellCfg:function(a){return Ext.apply({parent:this,column:a,record:this.getRecord(),hidden:a.getHidden(),width:a.getComputedWidth()},a.getCell())},setCellHidden:function(b,c){var a=this.getCellByColumn(b);if(a){a.setHidden(c)}}}});Ext.define("Ext.grid.column.Column",{extend:Ext.Component,alternateClassName:"Ext.grid.column.Template",xtype:["column","templatecolumn"],config:{align:"left",cell:{xtype:"gridcell"},dataIndex:null,text:"&nbsp;",sortable:true,groupable:true,resizable:true,hideable:true,renderer:false,scope:null,editable:false,editor:null,defaultEditor:{xtype:"textfield",required:true},ignore:false,summaryType:null,summaryRenderer:null,minWidth:40,baseCls:Ext.baseCSSPrefix+"grid-column",sortedCls:Ext.baseCSSPrefix+"column-sorted",sortDirection:null,tpl:null,computedWidth:null},applyTpl:function(a){if(!a||!a.isXTemplate){a=new Ext.XTemplate(a)}return a},updateAlign:function(c,a){var b=Ext.baseCSSPrefix+"grid-column-align-";if(a){this.removeCls(b+c)}if(c){this.addCls(b+c)}},initialize:function(){this.callParent();this.element.on({tap:"onColumnTap",longpress:"onColumnLongPress",scope:this})},onColumnTap:function(a){this.fireEvent("tap",this,a)},onColumnLongPress:function(a){this.fireEvent("longpress",this,a)},updateText:function(a){this.setHtml(a||"&#160;")},updateWidth:function(b,a){this.callParent([b,a]);if(b!==null){this.setComputedWidth(b)}},updateFlex:function(a,b){var c=this,d=c.resizeListener;c.callParent([a,b]);if(!a){c.resizeListener=Ext.destroy(d)}else{if(!d){c.resizeListener=c.on("resize",c.onFlexResize,c,{destroyable:true})}}},onFlexResize:function(){this.setComputedWidth(this.element.getWidth(false,true))},getComputedWidth:function(){return this.isVisible(true)?this.callParent():0},updateComputedWidth:function(b,a){this.fireEvent("columnresize",this,b,a)},updateDataIndex:function(a){var b=this.getEditor();if(b){b.name=a}else{this.getDefaultEditor().name=a}},updateSortDirection:function(c,a){if(!this.getSortable()){return}var b=this.getSortedCls();if(a){this.element.removeCls(b+"-"+a.toLowerCase())}if(c){this.element.addCls(b+"-"+c.toLowerCase())}this.fireEvent("sort",this,c,a)},destroy:function(){this.resizeListener=Ext.destroy(this.resizeListener);this.callParent()}});Ext.define("Ext.grid.cell.Date",{extend:Ext.grid.cell.Text,xtype:"datecell",config:{format:""},updateColumn:function(b,a){this.callParent([b,a]);if(b){var c=b.getFormat();if(c!==null){this.setFormat(c)}}},applyFormat:function(a){return a||Ext.Date.defaultFormat},updateFormat:function(a){if(!this.isConfiguring){this.writeValue()}},writeValue:function(){var a=this.getValue();this.setRawValue(a?Ext.Date.format(a,this.getFormat()):null)}});Ext.define("Ext.grid.column.Date",{extend:Ext.grid.column.Column,xtype:"datecolumn",config:{format:null,cell:{xtype:"datecell"}}});Ext.define("Ext.grid.HeaderContainer",{extend:Ext.Container,xtype:"headercontainer",config:{baseCls:Ext.baseCSSPrefix+"grid-header-container",docked:"top",defaultType:"column",layout:{type:"hbox",align:"stretch"},sortable:true,scrollable:{autoRefresh:null,x:false,y:false},grid:null},initialize:function(){var a=this;a.columns=[];a.callParent();a.on({tap:"onHeaderTap",columnresize:"onColumnResize",show:"onColumnShow",hide:"onColumnHide",sort:"onColumnSort",scope:a,delegate:"column"});a.on({show:"onGroupShow",hide:"onGroupHide",add:"onColumnAdd",move:"onColumnMove",remove:"onColumnRemove",scope:a,delegate:"gridheadergroup"});a.on({add:"onColumnAdd",move:"onColumnMove",remove:"onColumnRemove",scope:a})},factoryItem:function(a){if(a.columns){return Ext.factory(a,Ext.grid.HeaderGroup)}return this.callParent([a])},getColumns:function(){return this.columns},getAbsoluteColumnIndex:function(d){var a=this.getInnerItems(),g=a.length,b=0,h,c,e;for(c=0;c<g;c++){e=a[c];if(e===d){return b}else{if(e.isHeaderGroup){h=e.innerIndexOf(d);if(h!==-1){b+=h;return b}else{b+=e.getInnerItems().length}}else{b+=1}}}},onColumnAdd:function(g,e){var j=this,c=j.columns,d=j.getAbsoluteColumnIndex(e),b,h,a;if(e.isHeaderGroup){b=e.getItems().items;for(a=0,h=b.length;a<h;a++){c.splice(d+a,0,b[a]);j.fireEvent("columnadd",j,b[a],e)}}else{c.splice(d,0,e);j.fireEvent("columnadd",j,e,null)}},onColumnMove:function(o,d){var l=this,e=l.columns,j=l.getAbsoluteColumnIndex(d),g,k,h,c,b,m,a,n;if(d.isHeaderGroup){g=d.getItems().items;for(h=0,k=g.length;h<k;h++){c=g[h];if(h===0){m=e.indexOf(c);b=m-j<0}if(b){n=j+k-1;a=m}else{a=m+h;n=j+h}Ext.Array.move(e,a,n);l.fireEvent("columnmove",l,c,d,a,n)}}else{a=e.indexOf(d);n=j;Ext.Array.move(e,a,n);l.fireEvent("columnmove",l,d,null,a,n)}},onColumnRemove:function(d,c){if(c.isHeaderGroup){var b=c.getItems().items,e=b.length,a;for(a=0;a<e;a++){Ext.Array.remove(this.columns,b[a]);this.fireEvent("columnremove",this,b[a])}}else{Ext.Array.remove(this.columns,c);this.fireEvent("columnremove",this,c)}},onHeaderTap:function(b){if(this.getSortable()&&!b.getIgnore()&&b.getSortable()){var c=b.getSortDirection()||"DESC",a=(c==="DESC")?"ASC":"DESC";b.setSortDirection(a)}this.fireEvent("columntap",this,b)},onColumnShow:function(a){this.fireEvent("columnshow",this,a)},onColumnHide:function(a){this.fireEvent("columnhide",this,a)},onGroupShow:function(e){var b=e.getInnerItems(),d=b.length,a,c;for(a=0;a<d;a++){c=b[a];if(!c.isHidden()){this.fireEvent("columnshow",this,c)}}},onGroupHide:function(e){var b=e.getInnerItems(),d=b.length,a,c;for(a=0;a<d;a++){c=b[a];this.fireEvent("columnhide",this,c)}},onColumnResize:function(c,b,a){this.fireEvent("columnresize",this,c,b,a)},onColumnSort:function(b,c,a){if(c!==null){this.fireEvent("columnsort",this,b,c,a)}},scrollTo:function(a){this.getScrollable().scrollTo(a)},setTotalWidth:function(a){var c=this.getScrollable(),b;if(c&&c.isTouchScroller){b=c.getInnerElement();if(b){b.setWidth(a);c.setSize({x:a,y:c.getSize().y})}}},destroy:function(){var b=this,a=b.spacerTask;if(a){a.cancel();b.spacerTask=null}b.setGrid(null);b.callParent()},privates:{updateSpacer:function(){var b=this,a=b.spacerTask;if(!a){b.spacerTask=a=new Ext.util.DelayedTask(b.doUpdateSpacer,b)}a.delay(1)},doUpdateSpacer:function(){var a=this.getGrid().getScrollable();this.element.setStyle("padding-right",a.getScrollbarSize().width+"px")}}});Ext.define("Ext.grid.HeaderGroup",{extend:Ext.Container,alias:"widget.gridheadergroup",isHeaderGroup:true,config:{text:"&nbsp;",columns:null,items:undefined,defaultType:"column",baseCls:Ext.baseCSSPrefix+"grid-headergroup",hidden:true,layout:{type:"hbox",align:"stretch"}},getElementConfig:function(){return{reference:"element",classList:["x-container","x-unsized"],children:[{reference:"textElement",className:"x-grid-headergroup-text"},{reference:"innerElement",className:"x-inner"}]}},applyItems:function(a,b){if(!a){a=this.getColumns()}this.callParent([a,b])},updateText:function(a){this.textElement.setHtml(a)},initialize:function(){var a=this;a.on({add:"doVisibilityCheck",remove:"doVisibilityCheck",show:"onColumnShow",hide:"onColumnHide",delegate:"> column",scope:"this"});a.on({show:"onShow",scope:"this"});a.callParent();a.doVisibilityCheck()},onColumnShow:function(a){if(this.getVisibleCount()===this.getInnerItems().length){this.show()}},onColumnHide:function(a){if(this.getVisibleCount()===0){this.hide()}},onShow:function(){var a;if(!this.getVisibleCount()){a=this.getComponent(0);if(a){a.show()}}},doVisibilityCheck:function(){var e=this,b=e.getInnerItems(),d=b.length,a,c;for(a=0;a<d;a++){c=b[a];if(!c.isHidden()){if(e.isHidden()){if(e.initialized){e.show()}else{e.setHidden(false)}}return}}e.hide()},destroy:function(){this.setColumns(null);this.callParent()},privates:{getVisibleCount:function(){var c=this.getInnerItems(),a=c.length,d=0,b;for(b=0;b<a;++b){d+=c[b].isHidden()?0:1}return d}}});Ext.define("Ext.grid.Grid",{extend:Ext.dataview.List,xtype:"grid",config:{defaultType:"gridrow",infinite:true,columns:null,baseCls:Ext.baseCSSPrefix+"grid",variableHeights:false,headerContainer:{xtype:"headercontainer"},hideHeaders:false,striped:true,itemCls:Ext.baseCSSPrefix+"list-item",scrollToTopOnRefresh:false,titleBar:{xtype:"titlebar",docked:"top"},title:""},initialize:function(){var d=this,b=d.getTitleBar(),c=d.getHeaderContainer(),e=d.getScrollable(),a;d.callParent();if(e){c.getScrollable().addPartner(e,"x")}a=d.container;if(b){a.add(d.getTitleBar())}a.add(c);d.scrollElement.addCls(Ext.baseCSSPrefix+"grid-scrollelement")},applyTitleBar:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.TitleBar)}return a},updateTitle:function(b){var a=this.getTitleBar();if(a){if(b){a.setTitle(b)}else{a.hide()}}},applyHeaderContainer:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.grid.HeaderContainer)}return a},updateHeaderContainer:function(c,a){var b=this;if(a){a.un({columnsort:"onColumnSort",columnresize:"onColumnResize",columnshow:"onColumnShow",columnhide:"onColumnHide",columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",scope:b})}if(c){c.on({columnsort:"onColumnSort",columnresize:"onColumnResize",columnshow:"onColumnShow",columnhide:"onColumnHide",columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",scope:b});c.setGrid(b)}},updateHideHeaders:function(a){var b=this.getHeaderContainer(),c=this.oldCtHeight||null;if(!a&&b.getHeight()!==0){return}if(a){this.oldCtHeight=b.getHeight()}b.setHeight(a?0:c)},addColumn:function(a){return this.getHeaderContainer().add(a)},removeColumn:function(a){return this.getHeaderContainer().remove(a)},insertColumn:function(a,b){return this.getHeaderContainer().insert(a,b)},onColumnAdd:function(a,e){var h=this,b,g,d,c,j;if(h.initialized&&!h.destroying){b=this.listItems;g=b.length;d=a.getColumns().indexOf(e);for(c=0;c<g;c++){j=b[c];j.insertColumn(d,e)}h.updateTotalColumnWidth();h.fireEvent("columnadd",h,e,d)}},onColumnMove:function(b,c,k,a,j){var h=this,g,e,d,l;if(h.initialized&&!h.destroying){g=h.listItems;e=g.length;for(d=0;d<e;d++){l=g[d];l.moveColumn(c,a,j)}h.fireEvent("columnmove",h,c,a,j)}},onColumnRemove:function(a,d){var g=this,b,e,c,h;if(g.initialized&&!g.destroying){b=g.listItems;e=b.length;for(c=0;c<e;c++){h=b[c];h.removeColumn(d)}g.updateTotalColumnWidth();g.fireEvent("columnremove",g,d)}},updateColumns:function(b){if(b&&b.length){var c=b.length,a;for(a=0;a<c;a++){this.addColumn(b[a])}this.updateTotalColumnWidth()}},getColumns:function(){return this.getHeaderContainer().getColumns()},onColumnResize:function(a,c,b,d){var j=this,h=j.listItems,g=h.length,e,k;if(!j.destroying){for(e=0;e<g;e++){k=h[e];k.setColumnWidth(c,b)}if(j.initialized){j.updateTotalColumnWidth();if(d!==null&&!c.getHidden()){j.fireEvent("columnresize",j,c,b)}}}},onColumnShow:function(b,e){var h=this,c,g,d,j,a;if(h.initialized&&!h.destroying){c=h.listItems;g=c.length;h.updateTotalColumnWidth();if(!e.getFlex()){a=e.getWidth()}for(d=0;d<g;d++){j=c[d];j.showColumn(e);if(a!==undefined){j.setColumnWidth(e,a)}}h.fireEvent("columnshow",h,e)}},onColumnHide:function(a,d){var g=this,b,e,c,h;if(g.initialized&&!g.destroying){b=g.listItems;e=b.length;g.updateTotalColumnWidth();for(c=0;c<e;c++){h=b[c];h.hideColumn(d)}g.fireEvent("columnhide",g,d)}},onColumnSort:function(a,c,e){var d=this,b=d.sortedColumn;if(b&&b!==c){b.setSortDirection(null)}d.sortedColumn=c;d.getStore().sort(c.getDataIndex(),e);d.fireEvent("columnsort",d,c,e)},refreshScroller:function(a){this.callParent([a]);this.getHeaderContainer().updateSpacer()},getTotalColumnWidth:function(){var h=this,c=h.getColumns(),g=c.length,a=0,b,e,d;for(b=0;b<g;b++){e=c[b];d=e.getParent();if(!e.isHidden()&&(!d.isHeaderGroup||!d.isHidden())){a+=e.getComputedWidth()}}return a},updateTotalColumnWidth:function(){var c=this,b=c.getScrollable(),a=this.getTotalColumnWidth(),d=c.getHeaderContainer();c.scrollElement.setWidth(a);d.setTotalWidth(a);d.updateSpacer();b.setSize({x:a,y:b.getSize().y})},createItem:function(a){a.grid=this;return this.callParent([a])},destroy:function(){this.destroying=true;this.callParent();this.destroying=false}});Ext.define("Ext.grid.cell.Boolean",{extend:Ext.grid.cell.Text,xtype:"booleancell",config:{falseText:"False",trueText:"True",undefinedText:""},updateColumn:function(b,a){this.callParent([b,a]);if(b){var c=b.getFalseText();if(c!==null){this.setFalseText(c)}c=b.getTrueText();if(c!==null){this.setTrueText(c)}c=b.getUndefinedText();if(c!==null){this.setUndefinedText(c)}}},updateFalseText:function(){if(!this.isConfiguring){this.writeValue()}},updateTrueText:function(){if(!this.isConfiguring){this.writeValue()}},updateUndefinedText:function(){if(!this.isConfiguring){this.writeValue()}},writeValue:function(){var a=this,b=a.getValue();if(b===undefined){b=a.getUndefinedText()}else{if(!b||b==="false"){b=a.getFalseText()}else{b=a.getTrueText()}}a.setRawValue(b)}});Ext.define("Ext.grid.cell.Number",{extend:Ext.grid.cell.Text,xtype:"numbercell",config:{format:"0,000.00"},updateColumn:function(b,a){this.callParent([b,a]);if(b){var c=b.getFormat();if(c!==null){this.setFormat(c)}}},updateFormat:function(a){if(!this.isConfiguring){this.writeValue()}},writeValue:function(){var b=this.getValue(),a=b||b===0;this.setRawValue(a?Ext.util.Format.number(b,this.getFormat()):null)}});Ext.define("Ext.grid.cell.Widget",{extend:Ext.grid.cell.Base,xtype:"widgetcell",config:{widget:null},applyWidget:function(b){if(b){var a=this.getParent();if(a&&!a.isSpecialRow){b=Ext.apply({parent:this},b);b=Ext.widget(b)}else{b=undefined}}return b},updateWidget:function(b,a){if(a){a.destroy()}if(b){this.innerElement.appendChild(b.element)}},updateValue:function(b){var a=this.getWidget(),c;if(a){c=a.defaultBindProperty;if(c){a.setConfig(c,b)}}},destroy:function(){this.setWidget(null);this.callParent()}});Ext.define("Ext.grid.column.Boolean",{extend:Ext.grid.column.Column,xtype:"booleancolumn",config:{trueText:null,falseText:null,undefinedText:null,defaultEditor:{xtype:"checkboxfield"},cell:{xtype:"booleancell"}}});Ext.define("Ext.grid.column.Number",{extend:Ext.grid.column.Column,xtype:"numbercolumn",config:{format:null,defaultEditor:{xtype:"numberfield"},cell:{xtype:"numbercell"}}});Ext.define("Ext.grid.plugin.ColumnResizing",{extend:Ext.Component,alias:"plugin.gridcolumnresizing",config:{grid:null},init:function(a){this.setGrid(a)},updateGrid:function(a,b){if(b){b.getHeaderContainer().renderElement.un({pinchstart:"onContainerPinchStart",pinch:"onContainerPinch",pinchend:"onContainerPinchEnd",scope:this})}if(a){a.getHeaderContainer().renderElement.on({pinchstart:"onContainerPinchStart",pinch:"onContainerPinch",pinchend:"onContainerPinchEnd",scope:this})}},onContainerPinchStart:function(c){var b=c.getTarget("."+Ext.baseCSSPrefix+"grid-column"),a;if(b){a=Ext.getCmp(b.id);if(a&&a.getResizable()){this.startColumnWidth=a.getWidth();this.resizeColumn=a;this.startDistance=c.distance;a.renderElement.addCls(Ext.baseCSSPrefix+"grid-column-resizing")}else{c.preventDefault()}}},onContainerPinch:function(c){var b=this.resizeColumn,a=c.distance-this.startDistance;if(b){this.currentColumnWidth=Math.ceil(this.startColumnWidth+a);b.renderElement.setWidth(this.currentColumnWidth)}},onContainerPinchEnd:function(){var a=this.resizeColumn;if(a){a.setWidth(this.currentColumnWidth+1);a.renderElement.removeCls(Ext.baseCSSPrefix+"grid-column-resizing");delete this.resizeColumn}}});Ext.define("Ext.grid.plugin.Editable",{extend:Ext.Component,alias:"plugin.grideditable",config:{grid:null,triggerEvent:"doubletap",formConfig:null,defaultFormConfig:{xtype:"formpanel",modal:true,scrollable:true,items:{xtype:"fieldset"}},toolbarConfig:{xtype:"titlebar",docked:"top",items:[{xtype:"button",ui:"decline",text:"Cancel",align:"left",action:"cancel"},{xtype:"button",ui:"confirm",text:"Submit",align:"right",action:"submit"}]},enableDeleteButton:true},init:function(a){this.setGrid(a)},updateGrid:function(a,b){var c=this.getTriggerEvent();if(b){b.renderElement.un(c,"onTrigger",this)}if(a){a.renderElement.on(c,"onTrigger",this)}},onCancelTap:function(){this.sheet.hide()},onSubmitTap:function(){this.form.getRecord().set(this.form.getValues());this.sheet.hide()},onSheetHide:function(){this.sheet.destroy();this.form=null;this.sheet=null},getRecordByTriggerEvent:function(b){var a=b.getTarget("."+Ext.baseCSSPrefix+"grid-row"),c;if(a){c=Ext.getCmp(a.id);if(c){return c.getRecord()}}return null},getEditorFields:function(c){var a=[],g=c.length,b,e,d;for(b=0;b<g;b++){e=c[b];if(e.getEditable()){d=Ext.apply({},e.getEditor()||e.getDefaultEditor());d.label=e.getText();a.push(d)}}return a},onTrigger:function(h){var j=this,a=j.getGrid(),l=j.getFormConfig(),c=j.getToolbarConfig(),d=j.getRecordByTriggerEvent(h),g,b,i,k;if(d){if(l){this.form=b=Ext.factory(l,Ext.form.Panel)}else{this.form=b=Ext.factory(j.getDefaultFormConfig());g=j.getEditorFields(a.getColumns());b.down("fieldset").setItems(g)}b.setRecord(d);k=Ext.factory(c,Ext.form.TitleBar);k.down("button[action=cancel]").on("tap","onCancelTap",this);k.down("button[action=submit]").on("tap","onSubmitTap",this);this.sheet=i=a.add({xtype:"sheet",items:[k,b],hideOnMaskTap:true,enter:"right",exit:"right",right:0,width:320,layout:"fit",stretchY:true,hidden:true});if(j.getEnableDeleteButton()){b.add({xtype:"button",text:"Delete",ui:"decline",margin:10,handler:function(){a.getStore().remove(d);i.hide()}})}i.on("hide","onSheetHide",this);i.show()}}});Ext.define("Ext.grid.plugin.MultiSelection",{extend:Ext.Component,alias:"plugin.gridmultiselection",config:{grid:null,selectionColumn:{width:60,xtype:"column",cls:Ext.baseCSSPrefix+"grid-multiselection-column",cell:{cls:Ext.baseCSSPrefix+"grid-multiselection-cell"},ignore:true,hidden:true},useTriggerButton:true,triggerText:"Select",cancelText:"Cancel",deleteText:"Delete"},init:function(b){this.setGrid(b);var a=b.getTitleBar();if(this.getUseTriggerButton()&&a){this.triggerButton=a.add({align:"right",xtype:"button",text:this.getTriggerText()});this.triggerButton.on({tap:"onTriggerButtonTap",scope:this})}b.getHeaderContainer().on({columntap:"onColumnTap",scope:this})},onTriggerButtonTap:function(){if(this.getSelectionColumn().isHidden()){this.enterSelectionMode()}else{this.deleteSelectedRecords();this.getGrid().deselectAll()}},onColumnTap:function(a,c){var b=this.getGrid();if(c===this.getSelectionColumn()){if(b.getSelectionCount()===b.getStore().getCount()){b.deselectAll()}else{b.selectAll()}}},enterSelectionMode:function(){this.triggerButton.setText(this.getDeleteText());this.triggerButton.setUi("decline");this.cancelButton=this.getGrid().getTitleBar().add({align:"right",xtype:"button",ui:"action",text:this.getCancelText(),scope:this});this.cancelButton.on({tap:"exitSelectionMode",scope:this});this.getSelectionColumn().show();this.getGrid().setMode("MULTI")},exitSelectionMode:function(){this.cancelButton.destroy();this.triggerButton.setText(this.getTriggerText());this.triggerButton.setUi(null);this.getSelectionColumn().hide();this.getGrid().setMode("SINGLE");this.getGrid().deselectAll()},deleteSelectedRecords:function(){this.getGrid().getStore().remove(this.getGrid().getSelection())},applySelectionColumn:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.grid.Column)}return a},updateSelectionColumn:function(c,b){var a=this.getGrid();if(a){if(b){a.removeColumn(b)}if(c){a.insertColumn(0,c)}}},onGridSelectionChange:function(){var a=this.getGrid(),b=this.getSelectionColumn();if(a.getSelectionCount()===a.getStore().getCount()){b.addCls(Ext.baseCSSPrefix+"grid-multiselection-allselected")}else{b.removeCls(Ext.baseCSSPrefix+"grid-multiselection-allselected")}},updateGrid:function(a,b){var c="."+Ext.baseCSSPrefix+"grid-multiselectioncell";if(b){b.removeColumn(this.getSelectionColumn());b.un({selectionchange:"onGridSelectionChange",scope:this})}if(a){a.insertColumn(0,this.getSelectionColumn());a.on({selectionchange:"onGridSelectionChange",scope:this})}}});Ext.define("Ext.grid.plugin.PagingToolbar",{extend:Ext.Component,alias:"plugin.gridpagingtoolbar",mixins:[Ext.mixin.Hookable],config:{grid:null,currentPage:1,totalPages:0,pageSize:0,totalCount:0,toolbar:{xtype:"toolbar",docked:"bottom",ui:"gray",cls:Ext.baseCSSPrefix+"grid-pagingtoolbar",items:[{xtype:"button",ui:"plain",iconCls:Ext.baseCSSPrefix+"grid-pagingtoolbar-prev",action:"previouspage"},{xtype:"component",role:"currentpage",width:20,cls:Ext.baseCSSPrefix+"grid-pagingtoolbar-currentpage"},{xtype:"component",role:"totalpages",width:50,tpl:"&nbsp;/ {totalPages}"},{xtype:"singlesliderfield",value:1,flex:1,minValue:1,role:"pageslider"},{xtype:"button",ui:"plain",iconCls:Ext.baseCSSPrefix+"grid-pagingtoolbar-next",action:"nextpage"}]}},init:function(a){var b=this;b.setGrid(a);a.container.add(b.getToolbar());if(a.getStore().getCount()){b.updatePageInfo(b.getCurrentPage())}},updateGrid:function(a,c){var b=this;if(c){c.un({updatevisiblecount:"onUpdateVisibleCount",scope:b});c.getStore().un({add:"onTotalCountChange",remove:"onTotalCountChange",refresh:"onTotalCountChange",scope:b});b.unbindHook(a,"onScrollBinder","checkPageChange")}if(a){a.on({updatevisiblecount:"onUpdateVisibleCount",scope:b});a.getStore().on({add:"onTotalCountChange",remove:"onTotalCountChange",refresh:"onTotalCountChange",clear:"onTotalCountChange",scope:b});b.bindHook(a,"onScrollBinder","checkPageChange")}},checkPageChange:function(){var g=this,c=g.getGrid(),b=g.getPageSize(),e=g.getCurrentPage(),a=g.getTotalCount(),h=c.topVisibleIndex,d=Math.floor(c.topVisibleIndex/b)+1;if(h&&d!==e){g.preventGridScroll=true;g.setCurrentPage(d);g.preventGridScroll=false}},applyToolbar:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Toolbar)}return a},updateToolbar:function(b){var a=this;if(b){a.currentPage=b.down("component[role=currentpage]");a.totalPages=b.down("component[role=totalpages]");a.pageSlider=b.down("sliderfield[role=pageslider]");a.nextPageButton=b.down("button[action=nextpage]");a.previousPageButton=b.down("button[action=previouspage]");a.pageSlider.on({change:"onPageChange",drag:"onPageSliderDrag",scope:a});a.nextPageButton.on({tap:"onNextPageTap",scope:a});a.previousPageButton.on({tap:"onPreviousPageTap",scope:a});a.currentPage.element.createChild({tag:"span"})}},onPageChange:function(b,a){this.setCurrentPage(a)},onPageSliderDrag:function(c,a,b){this.setCurrentPage(b)},onNextPageTap:function(){var a=this.getCurrentPage()+1;if(a<=this.getTotalPages()){this.setCurrentPage(a)}},onPreviousPageTap:function(){var a=this.getCurrentPage()-1;if(a>0){this.setCurrentPage(a)}},onTotalCountChange:function(a){this.setTotalCount(a.getCount())},onUpdateVisibleCount:function(d,c){c-=1;var b=d.getStore(),a=b.getCount(),e=Math.ceil(a/c);this.setTotalPages(e);this.setPageSize(c)},updateTotalPages:function(b){var a=this;a.getToolbar();a.totalPages.setData({totalPages:b});a.pageSlider.setMaxValue(b||1);a.updatePageInfo(a.getCurrentPage())},updateCurrentPage:function(a){this.updatePageInfo(a)},updateTotalCount:function(a){var b;if(a!==null&&a!==undefined){if(a===0){b=1}else{b=Math.ceil(a/this.getPageSize())}this.setTotalPages(b)}},updatePageButtons:function(){var b=this,a=b.getCurrentPage();b.previousPageButton.setDisabled(a===b.getTotalPages());b.nextPageButton.enable(a===1)},getPageTopRecord:function(g){var d=this.getGrid(),c=d&&d.getStore(),b=this.getPageSize(),e=(g-1)*b,a=c&&c.getAt(e);return a},privates:{updatePageInfo:function(c){var d=this,b=d.getGrid(),a;d.getToolbar();d.currentPage.element.dom.lastChild.innerHTML=c;d.pageSlider.setValue(c);a=d.getPageTopRecord(c);if(b&&!d.preventGridScroll&&a){b.scrollToRecord(a)}d.updatePageButtons()}}});Ext.define("Ext.grid.plugin.SummaryRow",{extend:Ext.grid.Row,alias:"plugin.gridsummaryrow",mixins:[Ext.mixin.Hookable],isSpecialRow:true,config:{grid:null,cls:Ext.baseCSSPrefix+"grid-summaryrow",emptyText:"",emptyCls:Ext.baseCSSPrefix+"grid-summaryrow-empty",docked:"top",translatable:{translationMethod:"csstransform"}},init:function(a){this.setGrid(a)},updateGrid:function(d,h){var g=this,c,a,e,b;g.storeListeners=Ext.destroy(g.storeListeners);if(d){c=d.getColumns();a=c.length;e=d.getHeaderContainer();g.storeListeners=d.getStore().onAfter({destroyable:true,scope:g,add:"doUpdateSummary",remove:"doUpdateSummary",update:"doUpdateSummary",refresh:"doUpdateSummary",clear:"doUpdateSummary"});d.getHeaderContainer().on({columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",columnshow:"onColumnShow",columnhide:"onColumnHide",columnresize:"onColumnResize",scope:g});if(d.initialized){d.container.insertAfter(g,e)}else{d.on("initialize",function(){d.container.insertAfter(g,e)},g,{single:true})}d.addCls(Ext.baseCSSPrefix+"grid-hassummaryrow");for(b=0;b<a;b++){g.onColumnAdd(e,c[b])}g.bindHook(d,"onScrollBinder","onGridScroll")}},onGridScroll:function(a){if(this.currentX!==a){this.translate(a);this.currentX=a}},onColumnAdd:function(a,b){this.insertColumn(a.getColumns().indexOf(b),b);this.updateRowWidth()},onColumnMove:function(a,c,e,b,d){this.moveColumn(c,b,d)},onColumnRemove:function(a,b){this.removeColumn(b);this.updateRowWidth()},onColumnShow:function(a,b){this.showColumn(b);this.updateRowWidth()},onColumnHide:function(a,b){this.hideColumn(b);this.updateRowWidth()},onColumnResize:function(a,c,b){this.setColumnWidth(c,b);this.updateRowWidth()},updateRowWidth:function(){this.setWidth(this.getGrid().getTotalColumnWidth())},doUpdateSummary:function(){var k=this,a=k.getGrid(),o=a.getStore(),d=a.getColumns(),h=d.length,b=k.getEmptyText(),l=k.getEmptyCls(),e,c,j,g,p,n,m;for(e=0;e<h;e++){c=d[e];j=c.getSummaryType();p=k.getCellByColumn(c);if(!c.getIgnore()&&j!==null){m=c.getDataIndex();g=c.getSummaryRenderer();if(Ext.isFunction(j)){n=j.call(o,o.data.items.slice(),m)}else{switch(j){case"sum":case"average":case"min":case"max":n=o[j](c.getDataIndex());break;case"count":n=o.getCount();break;default:n=Ext.callback(j,null,[o.data.items.slice(),m,o],0,k);break}}if(g!==null){j=typeof g;if(j==="function"){n=g.call(o,n,o,m,p)}else{if(j==="string"){n=Ext.callback(g,null,[n,o,m,p],0,k)}}}p.element.removeCls(l);p.setValue(n)}else{p.element.addCls(l);p.setValue(b)}}},destroy:function(){this.setGrid(null);this.callParent()},privates:{applyViewModel:function(){return undefined},getCellCfg:function(b){var a=Ext.apply({},this.callParent([b]));delete a.bind;return a}}});Ext.define("Ext.plugin.SortableList",{extend:Ext.Component,alias:"plugin.sortablelist",mixins:[Ext.mixin.Hookable],config:{list:null,handleSelector:"."+Ext.baseCSSPrefix+"list-sortablehandle"},init:function(a){this.setList(a)},updateList:function(a){if(a){if(a.initialized){this.attachListeners()}else{a.on({initialize:"attachListeners",scope:this,single:true})}}},attachListeners:function(){var b=this.getList(),a=b.getScrollable().getElement();this.scrollerElement=a;a.onBefore({dragstart:"onScrollerDragStart",scope:this})},onScrollerDragStart:function(b,a){if(Ext.DomQuery.is(a,this.getHandleSelector())){if(!this.animating){this.onDragStart(b,a)}return false}},onDragStart:function(c){var d=Ext.getCmp(c.getTarget("."+Ext.baseCSSPrefix+"list-item").id),b=this.getList(),a=b.getStore();this.scrollerElement.on({drag:"onDrag",dragend:"onDragEnd",scope:this});this.positionMap=b.getItemMap();this.listStore=a;this.previousIndexDistance=0;this.dragRow=d;this.dragRecord=d.getRecord();this.dragRowIndex=this.currentDragRowIndex=d.$dataIndex;this.dragRowHeight=this.positionMap.getItemHeight(this.dragRowIndex);if(b.getInfinite()){this.startTranslate=this.positionMap.map[this.dragRowIndex]}else{d.translate(0,0);this.startTranslate=0}d.addCls(Ext.baseCSSPrefix+"list-item-dragging")},onDrag:function(t){var s=this.getList(),n=s.listItems,h=s.getStore(),o=s.getStore().data,v=this.dragRow,j=v.id,p=s.getListItemInfo(),c=this.positionMap,g=0,q,u,m,l,x,w,r,b,d,a,k;this.dragRowPosition=this.startTranslate+t.deltaY;v.translate(0,this.dragRowPosition);x=c.findIndex(this.dragRowPosition+(this.dragRowHeight/2));l=s.getItemAt(x);if(l){g=x-this.currentDragRowIndex;if(g!==0){k=g<0;for(q=0,m=Math.abs(g);q<m;q++){if(k){r=this.currentDragRowIndex-q;u=s.getItemAt(r-1)}else{r=this.currentDragRowIndex+q;u=s.getItemAt(r+1)}b=c.map[r];u.translate(0,b);d=u.getRecord();a=d.id;Ext.Array.remove(o.items,d);o.items.splice(r,0,d);o.indices[j]=o.indices[a];o.indices[a]=r;s.updateListItem(u,r,p);u.$position=b}w=n.indexOf(v);Ext.Array.remove(n,v);n.splice(w+g,0,v);v.$dataIndex=x;v.$position=c.map[x];this.currentDragRowIndex=x}}},onDragEnd:function(){var b=this,e=b.dragRow,c=b.getList(),d=c.getListItemInfo(),a=e.$position;b.scrollerElement.un({drag:"onDrag",dragend:"onDragEnd",scope:b});b.animating=true;e.getTranslatable().on("animationend",function(){e.removeCls(Ext.baseCSSPrefix+"list-item-dragging");var g=this.currentDragRowIndex,h=this.dragRowIndex;if(g!==h){c.updateListItem(e,e.$dataIndex,d);e.$position=a;c.fireEvent("dragsort",c,e,g,h)}b.animating=false},b,{single:true});e.translate(0,a,{duration:100})}});Ext.define("Ext.grid.plugin.ViewOptions",{extend:Ext.Component,alias:"plugin.gridviewoptions",config:{grid:null,sheetWidth:320,sheet:{baseCls:Ext.baseCSSPrefix+"grid-viewoptions",xtype:"sheet",items:[{docked:"top",xtype:"titlebar",title:"Customize",items:{xtype:"button",text:"Done",ui:"action",align:"right",role:"donebutton"}}],hideOnMaskTap:false,enter:"right",exit:"right",modal:false,translatable:{translationMethod:"csstransform"},right:0,layout:"fit",stretchY:true},columnList:{xtype:"nestedlist",title:"Column",listConfig:{plugins:[{type:"sortablelist",handleSelector:"."+Ext.baseCSSPrefix+"column-options-sortablehandle"}],mode:"MULTI",infinite:true,itemTpl:['<div class="'+Ext.baseCSSPrefix+'column-options-itemwrap<tpl if="hidden"> {hiddenCls}</tpl>','<tpl if="grouped"> {groupedCls}</tpl>">','<div class="'+Ext.baseCSSPrefix+'column-options-sortablehandle"></div>','<tpl if="header">','<div class="'+Ext.baseCSSPrefix+'column-options-folder"></div>',"<tpl else>",'<div class="'+Ext.baseCSSPrefix+'column-options-leaf"></div>',"</tpl>",'<div class="'+Ext.baseCSSPrefix+'column-options-text">{text}</div>','<tpl if="groupable && dataIndex">','<div class="'+Ext.baseCSSPrefix+'column-options-groupindicator"></div>',"</tpl>",'<div class="'+Ext.baseCSSPrefix+'column-options-visibleindicator"></div>',"</div>"],triggerEvent:null,bufferSize:1,minimumBufferSize:1},store:{type:"tree",fields:["id","text","dataIndex","header","hidden","hiddenCls","grouped","groupedCls","groupable"],root:{text:"Columns"}},clearSelectionOnListChange:false},visibleIndicatorSelector:"."+Ext.baseCSSPrefix+"column-options-visibleindicator",groupIndicatorSelector:"."+Ext.baseCSSPrefix+"column-options-groupindicator"},_hiddenColumnCls:Ext.baseCSSPrefix+"column-options-hidden",_groupedColumnCls:Ext.baseCSSPrefix+"column-options-grouped",sheetVisible:false,init:function(a){this.setGrid(a)},updateGrid:function(a,b){if(b){b.getHeaderContainer().renderElement.un({dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",longpress:"onHeaderLongPress",scope:this});b.getHeaderContainer().un({columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",scope:this})}if(a){a.getHeaderContainer().renderElement.on({dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",longpress:"onHeaderLongPress",scope:this});a.getHeaderContainer().on({columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",columnhide:"onColumnHide",columnshow:"onColumnShow",scope:this})}},applySheet:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Sheet)}return a},applyColumnList:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Container)}return a},updateColumnList:function(a){if(a){a.on({listchange:"onListChange",scope:this});a.on({dragsort:"onColumnReorder",delegate:"> list",scope:this});this.attachTapListeners()}},updateSheet:function(b){var a=this.getSheetWidth();b.setWidth(a);b.translate(a);b.add(this.getColumnList())},onDoneButtonTap:function(){this.hideViewOptions()},onColumnReorder:function(c,k,j){var a=Ext.getCmp(k.getRecord().get("id")),g=a.getParent(),e=g.getInnerItems(),b,d,h;for(b=0,d=j;b<d;b++){h=e[b];if(!h.isHeaderGroup&&h.getIgnore()){j+=1}}this.isMoving=true;g.insert(j,a);this.isMoving=false},attachTapListeners:function(){var a=this.getColumnList().getActiveItem();if(!a.hasAttachedTapListeners){a.onBefore({itemtap:"onListItemTap",scope:this});a.hasAttachedTapListeners=true}},onListChange:function(c,g){var k=g.getStore(),j=k.getNode(),a=j.childNodes,h=a.length,d,b,e;for(d=0;d<h;d++){e=a[d];b=Ext.getCmp(e.getId());e.set("hidden",b.isHidden())}this.attachTapListeners()},onListItemTap:function(d,b,i,a,h){var c=this,g=false;if(Ext.fly(h.target).is(c.getVisibleIndicatorSelector())){c.onVisibleIndicatorTap(i,a,b);g=true}else{if(Ext.fly(h.target).is(c.getGroupIndicatorSelector())){c.onGroupIndicatorTap(i,a,b);g=true}}return !g},onVisibleIndicatorTap:function(d,a){var c=!a.get("hidden"),b=Ext.getCmp(a.get("id"));if(c){b.hide();a.set("hidden",true)}else{b.show();a.set("hidden",false)}},onGroupIndicatorTap:function(g,a){var e=this,d=!a.get("grouped"),c=e.getGrid().getStore(),b=e._groupedRecord;if(b){b.set("grouped",false)}if(d){c.setGrouper({property:a.get("dataIndex")});e._groupedRecord=a;a.set("grouped",true)}else{c.setGrouper(null);e._groupedRecord=null;a.set("grouped",false)}},onColumnHide:function(d,c){var e=this.getColumnList(),g=e.getActiveItem(),b=g.getStore(),a=b.getById(c.getId());if(a){a.set("hidden",true)}},onColumnShow:function(d,c){var e=this.getColumnList(),g=e.getActiveItem(),b=g.getStore(),a=b.getById(c.getId());if(a){a.set("hidden",false)}},onColumnAdd:function(c,e,i){if(e.getIgnore()||this.isMoving){return}var l=this,g=l.getColumnList(),p=g.getStore(),j=p.getRoot(),k=l._hiddenColumnCls,b=l.getGrid(),d=b.getGrouped(),a=b.getStore().getGrouper(),m=e.getDataIndex(),h={id:e.getId(),text:e.getText(),groupable:d&&e.getGroupable(),hidden:e.isHidden(),hiddenCls:k,grouped:!!(d&&a&&a.getProperty()===m),groupedCls:l._groupedColumnCls,dataIndex:e.getDataIndex(),leaf:true},o,n;if(i){n=j.findChild("id",i.getId());if(!n){o=i.getParent().indexOf(i);n=j.insertChild(o,{groupable:false,header:true,hidden:i.isHidden(),hiddenCls:k,id:i.getId(),text:i.getText()})}o=i.indexOf(e);j=n}else{o=c.indexOf(e)}j.insertChild(o,h)},onColumnMove:function(b,a,c){this.onColumnRemove(b,a);this.onColumnAdd(b,a,c)},onColumnRemove:function(d,c){if(c.getIgnore()||this.isMoving){return}var b=this.getColumnList().getStore().getRoot(),a=b.findChild("id",c.getId(),true);if(a){a.parentNode.removeChild(a,true)}},onDragStart:function(){var a=this.getSheetWidth(),b=this.getSheet();if(!this.sheetVisible){b.translate(a);this.startTranslate=a}else{b.translate(0);this.startTranslate=0}},onDrag:function(a){this.getSheet().translate(Math.max(this.startTranslate+a.deltaX,0))},onDragEnd:function(b){var a=this;if(b.flick.velocity.x>0.1){a.hideViewOptions()}else{a.showViewOptions()}},onHeaderLongPress:function(a){if(!this.sheetVisible){this.showViewOptions()}},hideViewOptions:function(){var a=this.getSheet();this.getGrid().getHeaderContainer().setSortable(true);a.translate(this.getSheetWidth(),0,{duration:100});a.getTranslatable().on("animationend",function(){if(a.getModal()){a.getModal().destroy();a.setModal(null)}a.hide(null)},this,{single:true});this.sheetVisible=false},showViewOptions:function(){var c=this,a=c.getSheet(),b=null;c.setup();if(!c.sheetVisible){c.getGrid().getHeaderContainer().setSortable(false);c.updateListInfo();a.show();a.translate(0,0,{duration:100});a.getTranslatable().on("animationend",function(){a.setModal(true);b=a.getModal();b.element.onBefore({tap:"hideViewOptions",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",scope:c})},c,{single:true});c.sheetVisible=true}},privates:{setup:function(){var b=this,a;if(b.doneSetup){return}b.doneSetup=true;a=b.getSheet();b.getGrid().add(a);a.translate(b.getSheetWidth());a.down("button[role=donebutton]").on({tap:"onDoneButtonTap",scope:b})},updateListInfo:function(){var d=this.getGrid(),b=d.getStore(),a=b.getGrouper(),c=a&&a.getProperty(),e=d.getHeaderContainer();this.getColumnList().getStore().getRoot().cascadeBy(function(h){var g=h.get("dataIndex");h.set("grouped",g&&g===c)})}}});Ext.define("Ext.navigation.Bar",{extend:Ext.TitleBar,isToolbar:true,config:{baseCls:Ext.baseCSSPrefix+"toolbar",cls:Ext.baseCSSPrefix+"navigation-bar",ui:"dark",title:null,defaultType:"button",layout:{type:"hbox"},defaultBackButtonText:"Back",animation:{duration:300},useTitleForBackButtonText:null,view:null,android2Transforms:false,backButton:{align:"left",ui:"back",hidden:true}},constructor:function(a){a=a||{};if(!a.items){a.items=[]}this.backButtonStack=[];this.activeAnimations=[];this.callParent([a])},applyBackButton:function(a){return Ext.factory(a,Ext.Button,this.getBackButton())},updateBackButton:function(a,b){if(b){this.remove(b)}if(a){this.add(a);a.on({scope:this,tap:this.onBackButtonTap})}},onBackButtonTap:function(){this.fireEvent("back",this)},updateView:function(b){var d=this,k,a,c,g,h,e,j;d.getItems();k=d.getBackButton();if(b){a=b.getInnerItems();for(c=0;c<a.length;c++){h=a[c];e=(h.getTitle)?h.getTitle():h.config.title;d.backButtonStack.push(e||"&nbsp;")}j=d.getTitleText();if(j===undefined){j=""}d.setTitle(j);g=d.getBackButtonText();if(g){k.setText(g);k.show()}}},onViewAdd:function(c,e){var d=this,b=d.backButtonStack,a,g;d.endAnimation();g=(e.getTitle)?e.getTitle():e.config.title;b.push(g||"&nbsp;");a=b.length>1;d.doChangeView(c,a,false)},onViewRemove:function(c){var d=this,b=d.backButtonStack,a;d.endAnimation();b.pop();a=b.length>1;d.doChangeView(c,a,true)},doChangeView:function(l,c,h){var s=this,p=s.leftBox,e=p.element,g=s.titleComponent,n=g.element,o=s.getBackButton(),m=s.getTitleText(),i=s.getBackButtonText(),r=s.getAnimation()&&l.getLayout().getAnimation(),q=r&&r.isAnimation&&l.isPainted(),d,j,a,k,b;if(q){j=s.createProxy(p.element);e.setStyle("opacity","0");o.setText(i);o[c?"show":"hide"]();a=s.createProxy(g.element.getParent());n.setStyle("opacity","0");s.setTitle(m);d=s.measureView(j,a,h);k=d.left;b=d.title;s.isAnimating=true;s.animate(e,k.element);s.animate(n,b.element,function(){n.setLeft(d.titleLeft);s.isAnimating=false;s.refreshTitlePosition()});s.animate(j.ghost,k.ghost);s.animate(a.ghost,b.ghost,function(){j.ghost.destroy();a.ghost.destroy()})}else{if(c){o.setText(i);o.show()}else{o.hide()}s.setTitle(m)}},measureView:function(e,u,k){var w=this,j=w.element,v=w.leftBox.element,p=w.titleComponent.element,l=Math.min(j.getWidth()/3,200),q=v.getWidth(),c=j.getX(),m=j.getWidth(),n=p.getX(),d=p.getLeft(true),s=p.getWidth(),r=e.x,t=e.width,a=e.left,i,b,g,x,o,h;h=c-r-t;if(k){i=h;b=Math.min(n-t,l)}else{b=h;i=Math.min(n-c,l)}g={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:0},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}};h=c-n+q;if((a+s)>n){o=c-n-s}if(k){p.setLeft(0);b=c+m-n-s;if(o!==undefined){i=o}else{i=h}}else{i=c+m-n-s;if(o!==undefined){b=o}else{b=h}i=Math.max(d,i)}x={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:d},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}};return{left:g,title:x,titleLeft:d}},animate:function(b,a,e){var c=this,d;b.setLeft(0);a=Ext.apply(a,{element:b,easing:"ease-in-out",duration:c.getAnimation().duration||250,preserveEndState:true});d=new Ext.fx.Animation(a);d.on("animationend",function(){if(e){e.call(c)}},c);Ext.Animator.run(d);c.activeAnimations.push(d)},endAnimation:function(){var a=this.activeAnimations,d,b,c;if(a){c=a.length;for(b=0;b<c;b++){d=a[b];if(d.isAnimating){d.stopAnimation()}else{d.destroy()}}this.activeAnimations=[]}},refreshTitlePosition:function(){if(!this.isAnimating){this.callParent()}},getBackButtonText:function(){var b=this.backButtonStack[this.backButtonStack.length-2],a=this.getUseTitleForBackButtonText();if(!a){if(b){b=this.getDefaultBackButtonText()}}return b},getTitleText:function(){return this.backButtonStack[this.backButtonStack.length-1]},beforePop:function(b){b--;for(var a=0;a<b;a++){this.backButtonStack.pop()}},updateHidden:function(a){if(!a){this.element.setStyle({position:"relative",top:"auto",left:"auto",width:"auto"})}else{this.element.setStyle({position:"absolute",top:"-1000px",left:"-1000px",width:this.element.getWidth()+"px"})}},createProxy:function(b){var e,a,g,d,c;e=b.dom.cloneNode(true);e.id=b.id+"-proxy";b.getParent().dom.appendChild(e);e=Ext.get(e);a=b.getX();g=b.getY();d=b.getLeft(true);c=b.getWidth();e.setStyle("position","absolute");e.setX(a);e.setY(g);e.setHeight(b.getHeight());e.setWidth(c);return{x:a,y:g,left:d,width:c,ghost:e}}});Ext.define("Ext.navigation.View",{extend:Ext.Container,alternateClassName:"Ext.NavigationView",xtype:"navigationview",config:{baseCls:Ext.baseCSSPrefix+"navigationview",navigationBar:{docked:"top"},defaultBackButtonText:"Back",useTitleForBackButtonText:false,layout:{type:"card",animation:{duration:300,easing:"ease-out",type:"slide",direction:"left"}}},initialize:function(){var b=this,a=b.getNavigationBar();if(a){a.on({back:b.onBackButtonTap,scope:b});b.relayEvents(a,"rightbuttontap");b.relayEvents(b,{add:"push",remove:"pop"})}},applyLayout:function(a){a=a||{};return a},onBackButtonTap:function(){this.pop();this.fireEvent("back",this)},push:function(a){return this.add(a)},pop:function(a){if(this.beforePop(a)){return this.doPop()}},beforePop:function(g){var e=this,h=e.getInnerItems(),d,a,c,b;if(Ext.isString(g)||Ext.isObject(g)){d=h.length-1;for(a=d;a>=0;a--){if((Ext.isString(g)&&Ext.ComponentQuery.is(h[a],g))||(Ext.isObject(g)&&g==h[a])){g=d-a;break}}if(!Ext.isNumber(g)){return false}}c=h.length;if(!Ext.isNumber(g)||g<1){g=1}g=Math.min(g,c-1);if(g){e.getNavigationBar().beforePop(g);b=h.splice(-g,g-1);for(a=0;a<b.length;a++){this.remove(b[a])}return true}return false},doPop:function(){var b=this,c=this.getInnerItems();b.remove(c[c.length-1]);if(c.length<3&&this.$backButton){this.$backButton.hide()}if(this.$titleContainer){var a=c[c.length-2];this.$titleContainer.setTitle((a.getTitle)?a.getTitle():a.config.title)}return this.getActiveItem()},getPreviousItem:function(){var a=this.getInnerItems();return a[a.length-2]},updateUseTitleForBackButtonText:function(b){var a=this.getNavigationBar();if(a){a.setUseTitleForBackButtonText(b)}},updateDefaultBackButtonText:function(b){var a=this.getNavigationBar();if(a){a.setDefaultBackButtonText(b)}},onBackButtonContainerAdd:function(b,a){a.on({scope:this,show:this.refreshBackButtonContainer,hide:this.refreshBackButtonContainer});this.refreshBackButtonContainer()},onBackButtonContainerRemove:function(b,a){a.un({scope:this,show:this.refreshBackButtonContainer,hide:this.refreshBackButtonContainer});this.refreshBackButtonContainer()},refreshBackButtonContainer:function(){if(!this.$backButtonContainer){return}var c=0,a=this.$backButtonContainer,b=a.items,d;for(;c<b.length;c++){d=b.get(c);if(!d.isHidden()){this.$backButtonContainer.show();return}}this.$backButtonContainer.hide()},applyNavigationBar:function(a){var b=this;if(!a){a={hidden:true,docked:"top"}}b.getItems();if(a.title){delete a.title}a.view=b;a.useTitleForBackButtonText=b.getUseTitleForBackButtonText();if(a.splitNavigation){b.$titleContainer=b.add({docked:"top",xtype:"titlebar",ui:"light",title:b.$currentTitle||""});var c=(a.splitNavigation===true)?{}:a.splitNavigation;b.$backButtonContainer=b.add({xtype:"toolbar",docked:"bottom",hidden:true});b.$backButtonContainer.on({scope:b,add:b.onBackButtonContainerAdd,remove:b.onBackButtonContainerRemove});b.$backButton=b.$backButtonContainer.add({xtype:"button",text:"Back",hidden:true,ui:"back"});if(a.items){b.$backButtonContainer.add(a.items)}if(c.items){b.$titleContainer.add(c.items)}b.$backButton.on({scope:b,tap:b.onBackButtonTap});a={hidden:true,docked:"top"}}return Ext.factory(a,Ext.navigation.Bar,this.getNavigationBar())},updateNavigationBar:function(a,b){if(b){this.remove(b,true)}if(a){this.add(a)}},applyActiveItem:function(d,a){var b=this,c=b.getInnerItems();b.getItems();if(!b.initialized){d=c.length-1}return this.callParent([d,a])},doResetActiveItem:function(d){var a=this,c=a.getInnerItems(),b=a.getLayout().getAnimation();if(d>0){if(b&&b.isAnimation){b.setReverse(true)}a.setActiveItem(d-1);a.getNavigationBar().onViewRemove(a,c[d],d)}},doRemove:function(){var a=this.getLayout().getAnimation();if(a&&a.isAnimation){a.setReverse(false)}this.callParent(arguments)},onItemAdd:function(d,a){var c=this,e=c.initialized,b;if(d&&d.getDocked()&&d.config.title===true){c.$titleContainer=d}c.doItemLayoutAdd(d,a);if(e&&d.isInnerItem()){c.setActiveItem(d);b=this.getNavigationBar();if(b){this.getNavigationBar().onViewAdd(c,d,a)}if(c.$backButtonContainer){c.$backButton.show()}}if(d&&d.isInnerItem()){c.updateTitleContainerTitle((d.getTitle)?d.getTitle():d.config.title)}if(e){c.fireEvent("add",c,d,a)}},updateTitleContainerTitle:function(a){if(this.$titleContainer){this.$titleContainer.setTitle(a)}else{this.$currentTitle=a}},reset:function(){return this.pop(this.getInnerItems().length)}});Ext.define("Ext.panel.Header",{extend:Ext.Container,xtype:"panelheader",isPanelHeader:true,baseCls:Ext.baseCSSPrefix+"panel-header",config:{glyph:null,icon:null,iconAlign:null,iconCls:null,title:null,titleAlign:null,layout:{type:"hbox",align:"center"}},add:function(m){var k=this,e=Ext.isArray(m),g=e?m.slice(0):[m],h=k.getItems(),a=h.length,b=g.length,j,d,b,l;for(d=0;d<b;++d){g[d]=k.factoryItem(g[d])}Ext.Array.sort(g,k.sortByWeight);if(a){h=h.items;l=0;for(d=0;d<b;++d){j=g[d];for(;l<a;++l){if(k.sortByWeight(j,h[l])<0){break}}k.insert(l,j);++l;++a}}else{k.callParent([g])}return e?g:m},applyTitle:function(c,a){var b=a;if(b){if(!c||typeof c==="string"){b.setText(c||"")}else{if(c){b.setConfig(c)}}}else{b=Ext.create(this.createTitle(c))}return b},createTitle:function(b){var a={xtype:"paneltitle",flex:1};if(b){if(typeof b==="string"){b={text:b}}Ext.merge(a,b)}return a},createTools:function(e,d){var h=e&&e.length,a=h&&[],g,b;d=d||null;for(b=0;b<h;++b){g=e[b];if(typeof g==="string"){g={xtype:"paneltool",type:g,toolOwner:d}}else{if(g.isInstance){if(d){g.setToolOwner(d)}}else{g=Ext.apply({xtype:"paneltool",toolOwner:d},g)}}a[b]=g}return a},updateGlyph:function(a){this.ensureTitle().setGlyph(a)},updateIcon:function(a){this.ensureTitle().setIcon(a)},updateIconAlign:function(b,a){this.ensureTitle().setIconAlign(b)},updateIconCls:function(a){this.ensureTitle().setIconCls(a)},updateTitle:function(b,a){if(a){a.setConfig(b)}else{this.add(b)}},updateTitleAlign:function(b,a){this.ensureTitle().setTextAlign(b)},updateUi:function(b,a){this.callParent([b,a]);this.ensureTitle().setUi(b)},privates:{clearTools:function(){var a=this.getItems().items,d,b;for(b=a.length;b-->0;){d=a[b];if(d.isPanelTool){this.remove(d)}}},ensureTitle:function(){var a=this,b=a.getTitle();if(!b){a.setTitle("");b=a.getTitle()}return b},sortByWeight:function(b,a){return(b.weight||0)-(a.weight||0)}}});Ext.define("Ext.panel.Title",{extend:Ext.Component,xtype:"paneltitle",isPanelTitle:true,_textAlign:"left",_iconAlign:"left",_text:"&#160;",cachedConfig:{textAlign:null,text:null,glyph:null,icon:null,iconAlign:null,iconCls:null},weight:-10,element:{unselectable:"on",reference:"element",cls:Ext.baseCSSPrefix+"panel-title-align-left",children:[{reference:"iconElement",style:"display:none",cls:Ext.baseCSSPrefix+"panel-title-icon "+Ext.baseCSSPrefix+"panel-title-icon-left"},{reference:"textElement",cls:Ext.baseCSSPrefix+"panel-title-text"}]},_textAlignClasses:{left:Ext.baseCSSPrefix+"panel-title-align-left",center:Ext.baseCSSPrefix+"panel-title-align-center",right:Ext.baseCSSPrefix+"panel-title-align-right"},_iconAlignClasses:{top:Ext.baseCSSPrefix+"panel-title-icon-top",right:Ext.baseCSSPrefix+"panel-title-icon-right",bottom:Ext.baseCSSPrefix+"panel-title-icon-bottom",left:Ext.baseCSSPrefix+"panel-title-icon-left"},baseCls:Ext.baseCSSPrefix+"panel-title",_titleSuffix:"-title",_glyphCls:Ext.baseCSSPrefix+"panel-title-glyph",_verticalCls:Ext.baseCSSPrefix+"panel-title-vertical",applyText:function(a){return a||"&#160;"},updateGlyph:function(g,c){g=g||0;var e=this,h=e._glyphCls,b=e.iconElement,a,d;e.glyph=g;e._syncIconVisibility();if(typeof g==="string"){d=g.split("@");g=d[0];a=d[1]||Ext._glyphFontFamily}if(!g){b.dom.innerHTML="";b.removeCls(h)}else{b.dom.innerHTML="&#"+g+";";b.addCls(h)}if(a){b.setStyle("font-family",a)}},updateIcon:function(b,d){var c=this,a;c._syncIconVisibility();a=c.iconElement;a.setStyle("background-image",b?"url("+b+")":"")},updateIconAlign:function(g,d){var c=this,a=c.iconElement,e=c._iconAlignClasses,b=c.el;if(d){a.removeCls(e[d])}a.addCls(e[g]);if(g==="top"||g==="left"){b.insertFirst(a)}else{b.appendChild(a)}if(g==="top"||g==="bottom"){b.addCls(c._verticalCls)}else{b.removeCls(c._verticalCls)}},updateIconCls:function(b,c){var a=this.iconElement;this._syncIconVisibility();if(c){a.removeCls(c)}if(b){a.addCls(b)}},updateText:function(a){this.textElement.setHtml(a)},updateTextAlign:function(d,b){var a=this,c=a._textAlignClasses;if(b){a.removeCls(c[b])}a.addCls(c[d])},privates:{_getVerticalAdjustDirection:function(){return"left"},_hasIcon:function(){return !!(this.getIcon()||this.getIconCls()||this.getGlyph())},_syncIconVisibility:function(){this.iconElement.setDisplayed(this._hasIcon())}}});Ext.define("Ext.panel.Tool",{extend:Ext.Component,xtype:["paneltool","tool"],isPanelTool:true,baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",element:{reference:"element",listeners:{click:"onClick",mousedown:"onMouseDown",mouseover:"onMouseOver",mouseout:"onMouseOut"},children:[{reference:"toolElement"}]},handler:null,scope:null,toolOwner:null,config:{iconCls:null,type:null},stopEvent:true,weight:10,updateIconCls:function(c,b){var a=this.toolElement;a.replaceCls(b,c)},updateType:function(c,d){var b=this.getBaseCls(),a=this.toolElement;a.replaceCls(d&&(b+"-"+d),c&&(b+"-"+c))},privates:{onClick:function(d,c){var b=this,a=b.handler||b.callback;if(b.disabled){return false}if(d.type!=="keydown"){b.el.removeCls(b.toolPressedCls+" "+b.toolOverCls)}if(b.stopEvent!==false){d.stopEvent()}if(a){Ext.callback(a,b.scope,[b.toolOwner||b.parent,b,d],0,b)}b.fireEvent("click",b,d,b.toolOwner||b.ownerCt);return true},onMouseDown:function(a){a.preventDefault();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.plugin.ListPaging",{extend:Ext.Component,alias:"plugin.listpaging",config:{autoPaging:false,loadMoreText:"Load More...",noMoreRecordsText:"No More Records",loadTpl:['<div class="{cssPrefix}loading-spinner" style="font-size: 180%; margin: 10px auto;">','<span class="{cssPrefix}loading-top"></span>','<span class="{cssPrefix}loading-right"></span>','<span class="{cssPrefix}loading-bottom"></span>','<span class="{cssPrefix}loading-left"></span>',"</div>",'<div class="{cssPrefix}list-paging-msg">{message}</div>'].join(""),loadMoreCmp:{xtype:"component",baseCls:Ext.baseCSSPrefix+"list-paging",scrollDock:"bottom",hidden:true},loadMoreCmpAdded:false,loadingCls:Ext.baseCSSPrefix+"loading",list:null,scroller:null,loading:false},init:function(c){var a=c.getScrollable(),b=c.getStore();this.setList(c);this.setScroller(a);this.bindStore(c.getStore());this.addLoadMoreCmp();c.updateStore=Ext.Function.createInterceptor(c.updateStore,this.bindStore,this);if(this.getAutoPaging()){a.on({scrollend:this.onScrollEnd,scope:this})}},bindStore:function(a,b){if(b){b.un({beforeload:this.onStoreBeforeLoad,load:this.onStoreLoad,filter:this.onFilter,scope:this})}if(a){a.on({beforeload:this.onStoreBeforeLoad,load:this.onStoreLoad,filter:this.onFilter,scope:this})}},disableDataViewMask:function(){var a=this.getList();this._listMask=a.getLoadingText();a.setLoadingText(null)},enableDataViewMask:function(){if(this._listMask){var a=this.getList();a.setLoadingText(this._listMask);delete this._listMask}},applyLoadTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},applyLoadMoreCmp:function(a){a=Ext.merge(a,{html:this.getLoadTpl().apply({cssPrefix:Ext.baseCSSPrefix,message:this.getLoadMoreText()}),scrollDock:"bottom",listeners:{tap:{fn:this.loadNextPage,scope:this,element:"element"}}});return Ext.factory(a,Ext.Component,this.getLoadMoreCmp())},onScrollEnd:function(b,a,d){var c=this.getList();if(!this.getLoading()&&d>=b.getMaxUserPosition().y){this.currentScrollToTopOnRefresh=c.getScrollToTopOnRefresh();c.setScrollToTopOnRefresh(false);this.loadNextPage()}},updateLoading:function(a){var b=this.getLoadMoreCmp(),c=this.getLoadingCls();if(a){b.addCls(c)}else{b.removeCls(c)}},onStoreBeforeLoad:function(a){if(a.getCount()===0){this.getLoadMoreCmp().hide()}},onStoreLoad:function(a){var d=this.getLoadMoreCmp(),b=this.getLoadTpl(),c=this.storeFullyLoaded()?this.getNoMoreRecordsText():this.getLoadMoreText();if(a.getCount()){d.show()}this.setLoading(false);d.setHtml(b.apply({cssPrefix:Ext.baseCSSPrefix,message:c}));if(this.currentScrollToTopOnRefresh!==undefined){this.getList().setScrollToTopOnRefresh(this.currentScrollToTopOnRefresh);delete this.currentScrollToTopOnRefresh}this.enableDataViewMask()},onFilter:function(a){if(a.getCount()===0){this.getLoadMoreCmp().hide()}else{this.getLoadMoreCmp().show()}},addLoadMoreCmp:function(){var b=this.getList(),a=this.getLoadMoreCmp();if(!this.getLoadMoreCmpAdded()){b.add(a);b.fireEvent("loadmorecmpadded",this,b);this.setLoadMoreCmpAdded(true)}return a},storeFullyLoaded:function(){var a=this.getList().getStore(),b=a.getTotalCount();return b!==null?a.getTotalCount()<=(a.currentPage*a.getPageSize()):false},loadNextPage:function(){var a=this;if(!a.storeFullyLoaded()){a.disableDataViewMask();a.setLoading(true);a.getList().getStore().nextPage({addRecords:true})}}});Ext.define("Ext.plugin.PullRefresh",{extend:Ext.Component,alias:"plugin.pullrefresh",config:{width:"100%",list:null,pullText:"Pull down to refresh...",releaseText:"Release to refresh...",loadingText:"Loading...",loadedText:"Loaded.",lastUpdatedText:"Last Updated:&nbsp;",scrollerAutoRefresh:false,autoSnapBack:true,snappingAnimationDuration:300,lastUpdatedDateFormat:"m/d/Y h:iA",overpullSnapBackDuration:300,pullTpl:['<div class="'+Ext.baseCSSPrefix+'list-pullrefresh-arrow"></div>','<div class="'+Ext.baseCSSPrefix+'loading-spinner">','<span class="'+Ext.baseCSSPrefix+'loading-top"></span>','<span class="'+Ext.baseCSSPrefix+'loading-right"></span>','<span class="'+Ext.baseCSSPrefix+'loading-bottom"></span>','<span class="'+Ext.baseCSSPrefix+'loading-left"></span>',"</div>",'<div class="'+Ext.baseCSSPrefix+'list-pullrefresh-wrap">','<h3 class="'+Ext.baseCSSPrefix+'list-pullrefresh-message">{message}</h3>','<div class="'+Ext.baseCSSPrefix+'list-pullrefresh-updated">{updated}</div>',"</div>"].join(""),translatable:true},$state:"pull",refreshCls:Ext.baseCSSPrefix+"list-pullrefresh",getState:function(){return this.$state},setState:function(a){this.$state=a;this.updateView()},$isSnappingBack:false,getIsSnappingBack:function(){return this.$isSnappingBack},setIsSnappingBack:function(a){this.$isSnappingBack=a},init:function(a){this.setList(a);this.initScrollable()},getElementConfig:function(){return{reference:"element",classList:["x-unsized"],children:[{reference:"innerElement",className:this.refreshCls}]}},initScrollable:function(){var b=this,c=b.getList(),a=c.getScrollable();if(!a||!a.isTouchScroller){return}a.setAutoRefresh(b.getScrollerAutoRefresh());b.lastUpdated=new Date();c.insert(0,b);a.on({scroll:b.onScrollChange,scope:b});b.updateView()},applyPullTpl:function(a){if(a instanceof Ext.XTemplate){return a}else{return new Ext.XTemplate(a)}},updateList:function(a,c){var b=this;if(a){a.on({order:"after",scrollablechange:b.initScrollable,scope:b})}if(c){c.un({order:"after",scrollablechange:b.initScrollable,scope:b})}},getPullHeight:function(){return this.innerElement.getHeight()},fetchLatest:function(){this.getList().getStore().fetch({page:1,start:0,callback:this.onLatestFetched,scope:this})},onLatestFetched:function(c){var j=this,k=j.getList().getStore(),b=k.getData(),a=c.length,g=[],h,e,d;for(d=0;d<a;d++){h=c[d];e=b.getByKey(h.getId());if(e){e.set(h.getData())}else{g.push(h)}e=undefined}k.insert(0,g);j.setState("loaded");j.fireEvent("latestfetched",j,g);if(j.getAutoSnapBack()){j.snapBack()}},snapBack:function(d){var b=this,c,a;if(this.getState()!=="loaded"&&d!==true){return}c=b.getList();a=c.getScrollable();b.setIsSnappingBack(true);a.doScrollTo(null,0,{callback:Ext.bind(b.onSnapBackEnd,b),duration:b.getSnappingAnimationDuration()})},onSnapBackEnd:function(){var b=this.getList(),a=b.getScrollable();a.setMinUserPosition({x:0,y:0});this.setState("pull");this.setIsSnappingBack(false)},onScrollChange:function(b,a,h){if(h>0){return}var c=this,g=c.getPullHeight(),e=c.getIsSnappingBack(),d=c.getState();if(d==="loaded"&&!e){c.snapBack()}if(d!=="loading"&&d!=="loaded"){if(-h>=g+10){c.setState("release");b.getElement().onBefore({dragend:"onScrollerDragEnd",single:true,scope:c})}else{if(d==="release"&&(-h<g+10)){c.setState("pull");b.getElement().unBefore({dragend:"onScrollerDragEnd",single:true,scope:c})}}}c.getTranslatable().translate(0,-h)},onScrollerDragEnd:function(){var b=this,d,c,a;if(b.getState()==="loading"){return}c=b.getList();a=c.getScrollable();d=b.getPullHeight();b.setState("loading");a.setMinUserPosition({x:0,y:-d});a.doScrollTo(0,-d,{callback:Ext.bind(b.fetchLatest,b),easingY:{duration:b.getOverpullSnapBackDuration()}},true)},updateView:function(){var c=this,h=c.innerElement,g=c.getState(),e=c.getLastUpdatedText()+Ext.util.Format.date(c.lastUpdated,c.getLastUpdatedDateFormat()),d={state:g,updated:e},b=g.charAt(0).toUpperCase()+g.slice(1).toLowerCase(),a="get"+b+"Text";if(c[a]&&Ext.isFunction(c[a])){d.message=c[a].call(c)}h.removeCls(["loaded","loading","release","pull"],c.refreshCls);h.addCls(g,c.refreshCls);c.getPullTpl().overwrite(h,d)}});Ext.define("Ext.plugin.Responsive",{extend:Ext.mixin.Responsive,alias:"plugin.responsive",pluginId:"responsive",isPlugin:true,constructor:function(d){var g=this,e=d.cmp,a=e.initialConfig,h=Ext.apply({responsiveConfig:a.responsiveConfig,responsiveFormulas:a.responsiveFormulas},d),b;delete h.cmp;delete h.type;g.cmp=e;g.initConfig(h);b=g.transformed;if(b){g.transformed=null;if(e.initConfig.$nullFn){e.setConfig(b)}else{e.initialConfig=Ext.merge(Ext.merge({},a),b)}}},init:Ext.emptyFn,privates:{transformInstanceConfig:function(c){var b=this.callParent([c]),a;this.transformed=b;a=Ext.apply({},c);delete a.responsiveConfig;delete a.responsiveFormulas;return a},updateResponsiveState:function(){var a=this.getResponsiveState();this.cmp.setConfig(a)}}});Ext.define("Ext.plugin.field.PlaceHolderLabel",{extend:Ext.AbstractPlugin,alias:"plugin.placeholderlabel",config:{field:null,labelVisible:false,cls:Ext.baseCSSPrefix+"placeholderlabel",showCls:Ext.baseCSSPrefix+"show-label"},constructor:function(a){this.initConfig(a);this.callParent([a])},init:function(a){this.setField(a);if(a.getValue()){this.setLabelVisible(true)}},maybeShowLabel:function(a){this.setLabelVisible(!!a.getValue())},getFieldListeners:function(){return{scope:this,keyup:this.maybeShowLabel,clearicontap:this.maybeShowLabel}},updateField:function(g,d){var e=this.getFieldListeners(),a=this.getCls(),c,b;if(d){d.un(e);d.removeCls(a)}if(g){c=g.getLabel();b={labelAlign:"top"};if(!c){b.label=g.getPlaceHolder()}g.on(e);g.addCls(a);g.setConfig(b)}},updateLabelVisible:function(a){var b=this.getField();if(b){b.toggleCls(this.getShowCls(),a)}}});Ext.define("Ext.tab.Tab",{extend:Ext.Button,xtype:"tab",alternateClassName:"Ext.Tab",isTab:true,config:{baseCls:Ext.baseCSSPrefix+"tab",pressedCls:Ext.baseCSSPrefix+"tab-pressed",activeCls:Ext.baseCSSPrefix+"tab-active",active:false,title:"&nbsp;"},updateIconCls:function(b,a){this.callParent([b,a]);if(a){this.removeCls("x-tab-icon")}if(b){this.addCls("x-tab-icon")}},updateTitle:function(a){this.setText(a)},updateActive:function(c,b){var a=this.getActiveCls();if(c&&!b){this.element.addCls(a);this.fireEvent("activate",this)}else{if(b){this.element.removeCls(a);this.fireEvent("deactivate",this)}}}},function(){this.override({activate:function(){this.setActive(true)},deactivate:function(){this.setActive(false)}})});Ext.define("Ext.tab.Bar",{extend:Ext.Toolbar,alternateClassName:"Ext.TabBar",xtype:"tabbar",config:{baseCls:Ext.baseCSSPrefix+"tabbar",defaultType:"tab",defaultTabUI:null,layout:{type:"hbox",align:"middle"}},eventedConfig:{activeTab:null},initialize:function(){var a=this;a.callParent();a.on({tap:"onTabTap",delegate:"> tab",scope:a})},onTabTap:function(a){this.setActiveTab(a)},applyActiveTab:function(b,c){if(!b&&b!==0){return}var a=this.parseActiveTab(b);if(!a){return}return a},updateDocked:function(a){var c=this.getLayout(),d=this.getInitialConfig(),b;if(!d.layout||!d.layout.pack){b=(a=="bottom")?"center":"left";if(c.isLayout){c.setPack(b)}else{c.pack=(c&&c.pack)?c.pack:b}}this.callParent(arguments)},updateActiveTab:function(b,a){if(b){b.setActive(true)}if(a&&a.parent){a.setActive(false)}},parseActiveTab:function(a){if(typeof a=="number"){return this.getItems().items[a]}else{if(typeof a=="string"){a=Ext.getCmp(a)}}return a},onItemAdd:function(c,a){var b=this.getDefaultTabUI();if(b&&c.isTab&&(c.getUi()==null)){c.setUi(b)}this.callParent([c,a])}});Ext.define("Ext.tab.Panel",{extend:Ext.Container,xtype:"tabpanel",alternateClassName:"Ext.TabPanel",config:{tabBar:true,tabBarPosition:"top",layout:{type:"card",animation:{type:"slide",direction:"left"}},cls:Ext.baseCSSPrefix+"tabpanel"},initialize:function(){this.callParent();this.on({beforeactivetabchange:"doTabChange",delegate:"> tabbar",scope:this});this.on({disabledchange:"onItemDisabledChange",delegate:"> component",scope:this})},applyScrollable:function(){return false},updateUi:function(a,b){this.callParent(arguments);if(this.initialized){this.getTabBar().setUi(a)}},updateActiveItem:function(d,k){if(d){var g=this.getInnerItems(),h=g.indexOf(k),j=g.indexOf(d),e=h>j,c=this.getLayout().getAnimation(),b=this.getTabBar(),i=b.parseActiveTab(h),a=b.parseActiveTab(j);if(c&&c.setReverse){c.setReverse(e)}this.callParent(arguments);if(j!=-1){this.forcedChange=true;b.setActiveTab(j);this.forcedChange=false;if(i){i.setActive(false)}if(a){a.setActive(true)}}}},doTabChange:function(a,d){var b=this.getActiveItem(),c;this.setActiveItem(a.indexOf(d));c=this.getActiveItem();return this.forcedChange||b!==c},applyTabBar:function(a){if(a===true){a={}}if(a){Ext.applyIf(a,{ui:this.getUi(),docked:this.getTabBarPosition()})}return Ext.factory(a,Ext.tab.Bar,this.getTabBar())},updateTabBar:function(a){if(a){this.add(a);this.setTabBarPosition(a.getDocked())}},updateTabBarPosition:function(b){var a=this.getTabBar();if(a){a.setDocked(b)}},onItemAdd:function(e){var m=this;if(!e.isInnerItem()){return m.callParent(arguments)}var c=m.getTabBar(),q=e.getInitialConfig(),d=q.tab||{},h=(e.getTitle)?e.getTitle():q.title,k=(e.getIconCls)?e.getIconCls():q.iconCls,l=(e.getHidden)?e.getHidden():q.hidden,p=(e.getDisabled)?e.getDisabled():q.disabled,r=(e.getBadgeText)?e.getBadgeText():q.badgeText,b=m.getInnerItems(),j=b.indexOf(e),n=c.getItems(),a=c.getActiveTab(),o=(n.length>=b.length)&&n.getAt(j),i=e.isPanel&&e.getHeader(),g;if(h&&!d.title){d.title=h}if(k&&!d.iconCls){d.iconCls=k}if(l&&!d.hidden){d.hidden=l}if(p&&!d.disabled){d.disabled=p}if(r&&!d.badgeText){d.badgeText=r}g=Ext.factory(d,Ext.tab.Tab,o);if(!o){c.insert(j,g)}e.tab=g;if(i){i.setHidden(true)}m.callParent(arguments);if(!a&&a!==0){c.setActiveTab(c.getActiveItem())}},onItemDisabledChange:function(a,b){if(a&&a.tab){a.tab.setDisabled(b)}},onItemRemove:function(b,a){this.getTabBar().remove(b.tab,this.getAutoDestroy());this.callParent(arguments)}});Ext.define("Ext.table.Cell",{extend:Ext.Container,xtype:"tablecell",config:{baseCls:"x-table-cell"},getElementConfig:function(){var a=this.callParent();a.children.length=0;return a}});Ext.define("Ext.table.Row",{extend:Ext.table.Cell,xtype:"tablerow",config:{baseCls:"x-table-row",defaultType:"tablecell"}});Ext.define("Ext.table.Table",{extend:Ext.Container,xtype:"table",config:{baseCls:"x-table",defaultType:"tablerow"},cachedConfig:{fixedLayout:false},fixedLayoutCls:"x-table-fixed",updateFixedLayout:function(a){this.innerElement[a?"addCls":"removeCls"](this.fixedLayoutCls)}});Ext.define("Ext.tip.ToolTip",{});Ext.define("Ext.util.Audio",{singleton:true,ctx:null,beep:function(a){this.oscillate(200,1,a)},oscillate:function(d,b,g){if(!this.ctx){this.ctx=new (window.audioContext||window.webkitAudioContext)()}if(!this.ctx){console.log("BEEP");return}b=(b%5)||0;try{var a=this.ctx.createOscillator();a.type=b;a.connect(this.ctx.destination);a.noteOn(0);Ext.defer(function(){a.noteOff(0);if(g){g()}},d)}catch(c){throw new Error("[Ext.util.Audio.oscillate] Error with Oscillator playback")}}});Ext.define("Ext.util.BufferedCollection",{extend:Ext.util.Collection,mixins:[Ext.mixin.Observable],config:{totalCount:0,autoSort:false,autoFilter:false,pageSize:0},updateTotalCount:function(a){this.length=a;this.all=this.items=Array.apply(null,new Array(a))},addPage:function(d,c){var b=this.getPageSize(),e=(d-1)*b,a=b;this.all.splice.apply(this.all,[e,a].concat(c));this.fireEvent("pageadded",d,c,this.items)},hasRange:function(d,a){var b=this.items,c;for(c=d;c<=a;c++){if(!b[c]){return false}}return true}});Ext.define("Ext.util.Droppable",{mixins:{observable:Ext.mixin.Observable},config:{baseCls:Ext.baseCSSPrefix+"droppable"},activeCls:Ext.baseCSSPrefix+"drop-active",invalidCls:Ext.baseCSSPrefix+"drop-invalid",hoverCls:Ext.baseCSSPrefix+"drop-hover",validDropMode:"intersect",disabled:false,group:"base",tolerance:null,monitoring:false,constructor:function(b,a){var c=this;a=a||{};Ext.apply(c,a);c.el=Ext.get(b);c.callParent();c.mixins.observable.constructor.call(c);if(!c.disabled){c.enable()}c.el.addCls(c.baseCls)},onDragStart:function(a,b){if(a.group===this.group){this.monitoring=true;this.el.addCls(this.activeCls);this.region=this.el.getBox(true);a.on({drag:this.onDrag,beforedragend:this.onBeforeDragEnd,dragend:this.onDragEnd,scope:this});if(this.isDragOver(a)){this.setCanDrop(true,a,b)}this.fireEvent("dropactivate",this,a,b)}else{a.on({dragend:function(){this.el.removeCls(this.invalidCls)},scope:this,single:true});this.el.addCls(this.invalidCls)}},isDragOver:function(a,b){return this.region[this.validDropMode](a.region)},onDrag:function(a,b){this.setCanDrop(this.isDragOver(a),a,b)},setCanDrop:function(c,a,b){if(c&&!this.canDrop){this.canDrop=true;this.el.addCls(this.hoverCls);this.fireEvent("dropenter",this,a,b)}else{if(!c&&this.canDrop){this.canDrop=false;this.el.removeCls(this.hoverCls);this.fireEvent("dropleave",this,a,b)}}},onBeforeDragEnd:function(a,b){a.cancelRevert=this.canDrop},onDragEnd:function(a,b){this.monitoring=false;this.el.removeCls(this.activeCls);a.un({drag:this.onDrag,beforedragend:this.onBeforeDragEnd,dragend:this.onDragEnd,scope:this});if(this.canDrop){this.canDrop=false;this.el.removeCls(this.hoverCls);this.fireEvent("drop",this,a,b)}this.fireEvent("dropdeactivate",this,a,b)},enable:function(){if(!this.mgr){this.mgr=Ext.util.Observable.observe(Ext.util.Draggable)}this.mgr.on({dragstart:this.onDragStart,scope:this});this.disabled=false},disable:function(){this.mgr.un({dragstart:this.onDragStart,scope:this});this.disabled=true},isDisabled:function(){return this.disabled},isMonitoring:function(){return this.monitoring}});Ext.define("Ext.util.TranslatableList",{extend:Ext.util.translatable.Abstract,config:{items:[]},applyItems:function(a){return Ext.Array.from(a)},doTranslate:function(a,j){var b=this.getItems(),h=0,c,e,d,g;for(c=0,e=b.length;c<e;c++){d=b[c];if(d&&!d._list_hidden){g=j+h;h+=d.$height;d.translate(0,g)}}}});
28})(this.Ext6 || (this.Ext6 = {}));