/*
 * Syracuse Core 1.2
 * Copyright(c) 2018, Archimed SA.
 */

var Ext=Ext||{};Ext.Boot=Ext.Boot||(function(n){var m=document,e=[],c={disableCaching:(/[?&](?:cache|disableCacheBuster)\b/i.test(location.search)||!(/http[s]?\:/i.test(location.href))||/(^|[ ;])ext-cache=1/.test(m.cookie))?false:true,disableCachingParam:"_dc",loadDelay:false,preserveScripts:true,charset:"UTF-8"},b={},l=/\.css(?:\?|$)/i,r=m.createElement("a"),p=typeof window!=="undefined",g={browser:p,node:!p&&(typeof require==="function"),phantom:(window&&(window._phantom||window.callPhantom))||/PhantomJS/.test(window.navigator.userAgent)},j=(Ext.platformTags={}),d=function(s){},a=function(v,s,t){if(t){a(v,t)}if(v&&s&&typeof s==="object"){for(var u in s){v[u]=s[u]}}return v},i=function(){var v=false,w=Array.prototype.shift.call(arguments),t,s,u,x;if(typeof arguments[arguments.length-1]==="boolean"){v=Array.prototype.pop.call(arguments)}u=arguments.length;for(t=0;t<u;t++){x=arguments[t];if(typeof x==="object"){for(s in x){w[v?s.toLowerCase():s]=x[s]}}}return w},h=(typeof Object.keys=="function")?function(s){if(!s){return[]}return Object.keys(s)}:function(t){var s=[],u;for(u in t){if(t.hasOwnProperty(u)){s.push(u)}}return s},k={loading:0,loaded:0,apply:a,env:g,config:c,assetConfig:b,scripts:{},currentFile:null,suspendedQueue:[],currentRequest:null,syncMode:false,debug:d,useElements:true,listeners:[],Request:q,Entry:o,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 A=this,D=navigator.userAgent,z=/Mobile(\/|\s)/.test(D),u=document.createElement("div"),y=function(G,H){if(H===undefined){H=window}var E="on"+G.toLowerCase(),F=(E in u);if(!F){if(u.setAttribute&&u.removeAttribute){u.setAttribute(E,"");F=typeof u[E]==="function";if(typeof u[E]!=="undefined"){u[E]=undefined}u.removeAttribute(E)}}return F},v=function(){var E={},K,M,N,G,F,H,I,O,J;H=A.browserPriority.length;for(F=0;F<H;F++){G=A.browserPriority[F];if(!J){N=A.browserPrefixes[G];I=D.match(new RegExp("("+N+")([\\w\\._]+)"));O=I&&I.length>1?parseInt(I[2]):0;if(O){J=true}}else{O=0}E[G]=O}if(E.ie){var L=document.documentMode;if(L>=8){E.ie=L}}O=E.ie||false;K=Math.max(O,A.maxIEVersion);for(F=8;F<=K;++F){M="ie"+F;E[M+"m"]=O?O<=F:0;E[M]=O?O===F:0;E[M+"p"]=O?O>=F:0}return E},x=function(){var L={},M,G,H,F,I,J,K,N,E;H=h(A.osPrefixes);I=H.length;for(F=0,E=0;F<I;F++){G=H[F];M=A.osPrefixes[G];J=D.match(new RegExp("("+M+")([^\\s;]+)"));K=J?J[1]:null;if(K&&(K==="HTC_"||K==="Silk/")){N=2.3}else{N=J&&J.length>1?parseFloat(J[J.length-1]):0}if(N){E++}L[G]=N}H=h(A.fallbackOSPrefixes);I=H.length;for(F=0;F<I;F++){G=H[F];if(E===0){M=A.fallbackOSPrefixes[G];J=D.toLowerCase().match(new RegExp(M));L[G]=J?true:0}else{L[G]=0}}return L},w=function(){var E={},K,G,H,F,I,J;H=h(A.devicePrefixes);I=H.length;for(F=0;F<I;F++){G=H[F];K=A.devicePrefixes[G];J=D.match(new RegExp(K));E[G]=J?true:0}return E},s=v(),C=x(),t=w(),B=k.loadPlatformsParam();i(j,s,C,t,B,true);j.phone=!!((j.iphone||j.ipod)||(!j.silk&&(j.android&&(j.android<3||z)))||(j.blackberry&&z)||(j.windowsphone));j.tablet=!!(!j.phone&&(j.ipad||j.android||j.silk||j.rimtablet||(j.ie10&&/; Touch/.test(D))));j.touch=y("touchend")||navigator.maxTouchPoints||navigator.msMaxTouchPoints;j.desktop=!j.phone&&!j.tablet;j.cordova=j.phonegap=!!(window.PhoneGap||window.Cordova||window.cordova);j.webview=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(D);j.androidstock=(j.android<=4.3)&&(j.safari||j.silk);i(j,B,true)},loadPlatformsParam:function(){var x=window.location.search.substr(1),w=x.split("&"),v={},t,z={},A,B,y,u,s;for(t=0;t<w.length;t++){A=w[t].split("=");v[A[0]]=A[1]}if(v.platformTags){A=v.platformTags.split(",");for(B=A.length,t=0;t<B;t++){y=A[t].split(":");u=y[0];s=true;if(y.length>1){s=y[1];if(s==="false"||s==="0"){s=false}}z[u]=s}}return z},filterPlatform:function(w,t){w=e.concat(w||e);t=e.concat(t||e);var x=w.length,s=t.length,v=(!x&&s),u,y;for(u=0;u<x&&!v;u++){y=w[u];v=!!j[y]}for(u=0;u<s&&v;u++){y=t[u];v=!j[y]}return v},init:function(){var A=m.getElementsByTagName("script"),v=A.length,y=/\/ext(\-[a-z\-]+)?\.js$/,t,z,B,C,s,u,w,x;for(w=0;w<v;w++){B=(z=A[w]).src;if(!B){continue}C=z.readyState||null;if(!s){if(y.test(B)){k.hasReadyState=("readyState" in z);k.hasAsync=("async" in z)||!k.hasReadyState;s=B}}if(!k.scripts[u=k.canonicalUrl(B)]){d("creating entry "+u+" in Boot.init");t=new o({key:u,url:B,done:C===null||C==="loaded"||C==="complete",el:z,prop:"src"})}}if(!s){z=A[A.length-1];s=z.src;k.hasReadyState=("readyState" in z);k.hasAsync=("async" in z)||!k.hasReadyState}k.baseUrl=s.substring(0,s.lastIndexOf("/")+1);x=window.location.origin||window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"");k.origin=x;k.detectPlatformTags();Ext.filterPlatform=k.filterPlatform},canonicalUrl:function(x){r.href=x;var w=r.href,t=c.disableCachingParam,v=t?w.indexOf(t+"="):-1,s,u;if(v>0&&((s=w.charAt(v-1))==="?"||s==="&")){u=w.indexOf("&",v);u=(u<0)?"":w.substring(u);if(u&&s==="?"){++v;u=u.substring(1)}w=w.substring(0,v-1)+u}return w},getConfig:function(s){return s?k.config[s]:k.config},setConfig:function(t,v){if(typeof t==="string"){k.config[t]=v}else{for(var u in t){k.setConfig(u,t[u])}}return k},getHead:function(){return k.docHead||(k.docHead=m.head||m.getElementsByTagName("head")[0])},create:function(v,u,s){var t=s||{};t.url=v;t.key=u;return k.scripts[u]=new o(t)},getEntry:function(v,s){var u=k.canonicalUrl(v),t=k.scripts[u];if(!t){t=k.create(v,u,s)}return t},registerContent:function(v,u,t){var s={content:t,loaded:true,css:u==="css"};return k.getEntry(v,s)},processRequest:function(s,t){s.loadEntries(t)},load:function(s){d("Boot.load called");var s=new q(s);if(s.sync||k.syncMode){return k.loadSync(s)}if(k.currentRequest){d("current active request, suspending this request");s.getEntries();k.suspendedQueue.push(s)}else{k.currentRequest=s;k.processRequest(s,false)}return k},loadSync:function(s){d("Boot.loadSync called");var s=new q(s);k.syncMode++;k.processRequest(s,true);k.syncMode--;return k},loadBasePrefix:function(s){s=new q(s);s.prependBaseUrl=true;return k.load(s)},loadSyncBasePrefix:function(s){s=new q(s);s.prependBaseUrl=true;return k.loadSync(s)},requestComplete:function(t){var s;if(k.currentRequest===t){k.currentRequest=null;while(k.suspendedQueue.length>0){s=k.suspendedQueue.shift();if(!s.done){d("resuming suspended request");k.load(s);break}}}if(!k.currentRequest&&k.suspendedQueue.length==0){k.fireListeners()}},isLoading:function(){return !k.currentRequest&&k.suspendedQueue.length==0},fireListeners:function(){var s;while(k.isLoading()&&(s=k.listeners.shift())){s()}},onBootReady:function(s){if(!k.isLoading()){s()}else{k.listeners.push(s)}},getPathsFromIndexes:function(s,t){return q.prototype.getPathsFromIndexes(s,t)},createLoadOrderMap:function(s){return q.prototype.createLoadOrderMap(s)},fetch:function(B,t,z,s){s=(s===undefined)?!!t:s;var C=new XMLHttpRequest(),y,A,u,w=false,x=function(){if(C&&C.readyState==4){A=(C.status===1223)?204:(C.status===0&&((self.location||{}).protocol==="file:"||(self.location||{}).protocol==="ionp:"))?200:C.status;u=C.responseText;y={content:u,status:A,exception:w};if(t){t.call(z,y)}C=null}};if(s){C.onreadystatechange=x}try{d("fetching "+B+" "+(s?"async":"sync"));C.open("GET",B,s);C.send(null)}catch(v){w=v;x();return y}if(!s){x()}return y},notifyAll:function(s){s.notifyRequests()}};function q(s){if(s.$isRequest){return s}var s=s.url?s:{url:s},u=s.url,v=u.charAt?[u]:u,t=s.charset||k.config.charset;a(s,{urls:v,charset:t});a(this,s)}q.prototype={$isRequest:true,createLoadOrderMap:function(v){var u=v.length,w={},t,s;for(t=0;t<u;t++){s=v[t];w[s.path]=s}return w},getLoadIndexes:function(x,y,B,w,E){var z=B[x],A,u,C,t,F,s,v,D,G;if(y[x]){return y}y[x]=true;F=false;while(!F){s=false;for(v in y){if(y.hasOwnProperty(v)){z=B[v];if(!z){continue}G=this.prepareUrl(z.path);t=k.getEntry(G);if(!E||!t||!t.done){C=z.requires;if(w&&z.uses){C=C.concat(z.uses)}for(A=C.length,u=0;u<A;u++){D=C[u];if(!y[D]){y[D]=true;s=true}}}}}if(!s){F=true}}return y},getPathsFromIndexes:function(v,x){var u=[],y=[],t,w,s;for(t in v){if(v.hasOwnProperty(t)&&v[t]){u.push(t)}}u.sort(function(z,A){return z-A});for(w=u.length,s=0;s<w;s++){y.push(x[u[s]].path)}return y},expandUrl:function(C,u,t,A){if(typeof C=="string"){C=[C]}var z=this,x=z.loadOrder,y=z.loadOrderMap;if(x){y=y||z.createLoadOrderMap(x);z.loadOrderMap=y;u=u||{};var w=C.length,B=[],s,v;for(s=0;s<w;s++){v=y[C[s]];if(v){z.getLoadIndexes(v.idx,u,x,t,A)}else{B.push(C[s])}}return z.getPathsFromIndexes(u,x).concat(B)}return C},expandUrls:function(C,w){if(typeof C=="string"){C=[C]}var s=[],u={},A,x=C.length,v,y,z,B;for(v=0;v<x;v++){A=this.expandUrl(C[v],{},w,true);for(y=0,z=A.length;y<z;y++){B=A[y];if(!u[B]){u[B]=true;s.push(B)}}}if(s.length==0){s=C}return s},expandLoadOrder:function(){var t=this,u=t.urls,s;if(!t.expanded){s=this.expandUrls(u,true);t.expanded=true}else{s=u}t.urls=s;if(u.length!=s.length){t.sequential=true}return t},getUrls:function(){this.expandLoadOrder();return this.urls},prepareUrl:function(s){if(this.prependBaseUrl){return k.baseUrl+s}return s},getEntries:function(){var v=this,s=v.entries,u,t,x,w;if(!s){s=[];x=v.getUrls();for(u=0;u<x.length;u++){w=v.prepareUrl(x[u]);t=k.getEntry(w,{buster:v.buster,charset:v.charset});t.requests.push(v);s.push(t)}v.entries=s}return s},loadEntries:function(z){var x=this,t=x.getEntries(),w=t.length,y=x.loadStart||0,s,u,v;if(z!==undefined){x.sync=z}x.loaded=x.loaded||0;x.loading=x.loading||w;for(v=y;v<w;v++){u=t[v];if(!u.loaded){s=t[v].load(x.sync)}else{s=true}if(!s){x.loadStart=v;u.onDone(function(){x.loadEntries(z)});break}}x.processLoadedEntries()},processLoadedEntries:function(){var w=this,s=w.getEntries(),v=s.length,x=w.startIndex||0,u,t;if(!w.done){for(u=x;u<v;u++){t=s[u];if(!t.loaded){w.startIndex=u;return}if(!t.evaluated){t.evaluate()}if(t.error){w.error=true}}w.notify()}},notify:function(){var v=this;if(!v.done){var t=v.error,u=v[t?"failure":"success"],s=("delay" in v)?v.delay:(t?1:k.config.chainDelay),w=v.scope||v;v.done=true;if(u){if(s===0||s>0){setTimeout(function(){u.call(w,v)},s)}else{u.call(w,v)}}v.fireListeners();k.requestComplete(v)}},onDone:function(s){var u=this,t=u.listeners||(u.listeners=[]);if(u.done){s(u)}else{t.push(s)}},fireListeners:function(){var t=this.listeners,s;if(t){d("firing request listeners");while((s=t.shift())){s(this)}}}};function o(v){if(v.$isEntry){return v}d("creating entry for "+v.url);var w=v.charset||k.config.charset,y=Ext.manifest,x=y&&y.loader,u=(v.cache!==undefined)?v.cache:(x&&x.cache),s,t;if(k.config.disableCaching){if(u===undefined){u=!k.config.disableCaching}if(u===false){s=+new Date()}else{if(u!==true){s=u}}if(s){t=(x&&x.cacheParam)||k.config.disableCachingParam;s=t+"="+s}}a(v,{charset:w,buster:s,requests:[]});a(this,v)}o.prototype={$isEntry:true,done:false,evaluated:false,loaded:false,isCrossDomain:function(){var s=this;if(s.crossDomain===undefined){d("checking "+s.getLoadUrl()+" for prefix "+k.origin);s.crossDomain=(s.getLoadUrl().indexOf(k.origin)!==0)}return s.crossDomain},isCss:function(){var t=this;if(t.css===undefined){if(t.url){var s=k.assetConfig[t.url];t.css=s?s.type==="css":l.test(t.url)}else{t.css=false}}return this.css},getElement:function(u){var t=this,s=t.el;if(!s){d("creating element for "+t.url);if(t.isCss()){u=u||"link";s=m.createElement(u);if(u=="link"){s.rel="stylesheet";t.prop="href"}else{t.prop="textContent"}s.type="text/css"}else{u=u||"script";s=m.createElement(u);s.type="text/javascript";t.prop="src";if(t.charset){s.charset=t.charset}if(k.hasAsync){s.async=false}}t.el=s}return s},getLoadUrl:function(){var s=this,t=k.canonicalUrl(s.url);if(!s.loadUrl){s.loadUrl=!!s.buster?(t+(t.indexOf("?")===-1?"?":"&")+s.buster):t}return s.loadUrl},fetch:function(u){var v=this.getLoadUrl(),s=!!u.async,t=u.complete;k.fetch(v,t,this,s)},onContentLoaded:function(v){var u=this,w=v.status,s=v.content,t=v.exception,x=this.getLoadUrl();u.loaded=true;if((t||w===0)&&!g.phantom){u.error=("Failed loading synchronously via XHR: '"+x+"'. It's likely that the file is either being loaded from a different domain or from the local file system where cross origin requests are not allowed for security reasons. Try asynchronous loading instead.")||true;u.evaluated=true}else{if((w>=200&&w<300)||w===304||g.phantom||(w===0&&s.length>0)){u.content=s}else{u.error=("Failed loading synchronously via XHR: '"+x+"'. Please verify that the file exists. XHR status code: "+w)||true;u.evaluated=true}}},createLoadElement:function(s){var v=this,t=v.getElement(),w=function(){if(this.readyState==="loaded"||this.readyState==="complete"){if(s){s()}}},u=function(){v.error=true;if(s){s()}};v.preserve=true;t.onerror=u;if(k.hasReadyState){t.onreadystatechange=w}else{t.onload=s}t[v.prop]=v.getLoadUrl()},onLoadElementReady:function(){k.getHead().appendChild(this.getElement());this.evaluated=true},inject:function(v,s){d("injecting content for "+this.url);var A=this,x=k.getHead(),B=A.url,z=A.key,t,w,y,u;if(A.isCss()){A.preserve=true;u=z.substring(0,z.lastIndexOf("/")+1);t=m.createElement("base");t.href=u;if(x.firstChild){x.insertBefore(t,x.firstChild)}else{x.appendChild(t)}t.href=t.href;if(B){v+="\n/*# sourceURL="+z+" */"}w=A.getElement("style");y=("styleSheet" in w);x.appendChild(t);if(y){x.appendChild(w);w.styleSheet.cssText=v}else{w.textContent=v;x.appendChild(w)}x.removeChild(t)}else{if(B){v+="\n//# sourceURL="+z}Ext.globalEval(v)}return A},loadCrossDomain:function(){var t=this,s=function(){t.loaded=t.evaluated=t.done=true;t.notifyRequests()};t.createLoadElement(function(){s()});t.evaluateLoadElement();return false},loadElement:function(){var t=this,s=function(){t.loaded=t.evaluated=t.done=true;t.notifyRequests()};t.createLoadElement(function(){s()});t.evaluateLoadElement();return true},loadSync:function(){var s=this;s.fetch({async:false,complete:function(t){s.onContentLoaded(t)}});s.evaluate();s.notifyRequests()},load:function(t){var s=this;if(!s.loaded){if(s.loading){return false}s.loading=true;if(!t){if(s.isCrossDomain()){return s.loadCrossDomain()}else{if(!s.isCss()&&k.hasReadyState){s.createLoadElement(function(){s.loaded=true;s.notifyRequests()})}else{if(k.useElements&&!(s.isCss()&&g.phantom)){return s.loadElement()}else{s.fetch({async:!t,complete:function(u){s.onContentLoaded(u);s.notifyRequests()}})}}}}else{s.loadSync()}}return true},evaluateContent:function(){this.inject(this.content);this.content=null},evaluateLoadElement:function(){k.getHead().appendChild(this.getElement())},evaluate:function(){var s=this;if(!s.evaluated){if(s.evaluating){return}s.evaluating=true;if(s.content!==undefined){s.evaluateContent()}else{if(!s.error){s.evaluateLoadElement()}}s.evaluated=s.done=true;s.cleanup()}},cleanup:function(){var u=this,t=u.el,v;if(!t){return}if(!u.preserve){u.el=null;t.parentNode.removeChild(t);for(v in t){try{if(v!==u.prop){t[v]=null}delete t[v]}catch(s){}}}t.onload=t.onerror=t.onreadystatechange=n},notifyRequests:function(){var v=this.requests,t=v.length,s,u;for(s=0;s<t;s++){u=v[s];u.processLoadedEntries()}if(this.done){this.fireListeners()}},onDone:function(s){var u=this,t=u.listeners||(u.listeners=[]);if(u.done){s(u)}else{t.push(s)}},fireListeners:function(){var t=this.listeners,s;if(t&&t.length>0){d("firing event listeners for url "+this.url);while((s=t.shift())){s(this)}}}};Ext.disableCacheBuster=function(t,u){var s=new Date();s.setTime(s.getTime()+(t?10*365:-1)*24*60*60*1000);s=s.toGMTString();m.cookie="ext-cache=1; expires="+s+"; path="+(u||"/")};if(g.node){k.prototype.load=k.prototype.loadSync=function(s){require(filePath);onLoad.call(scope)};k.prototype.init=n}k.init();return k}(function(){}));Ext.globalEval=Ext.globalEval||(this.execScript?function(a){execScript(a)}:function($$code){eval.call(window,$$code)});if(!Function.prototype.bind){(function(){var b=Array.prototype.slice,a=function(d){var c=b.call(arguments,1),e=this;if(c.length){return function(){var g=arguments;return e.apply(d,g.length?c.concat(b.call(g)):c)}}c=null;return function(){return e.apply(d,arguments)}};Function.prototype.bind=a;a.$extjs=true}())}Ext.setResourcePath=function(d,b){var a=Ext.manifest||(Ext.manifest={}),c=a.resources||(a.resources={});if(a){if(typeof d!=="string"){Ext.apply(c,d)}else{c[d]=b}a.resources=c}};Ext.getResourcePath=function(d,g,c){if(typeof d!=="string"){g=d.pool;c=d.packageName;d=d.path}var a=Ext.manifest,e=a&&a.resources,h=e[g],b=[];if(h==null){h=e.path;if(h==null){h="resources"}}if(h){b.push(h)}if(c){b.push(c)}b.push(d);return b.join("/")};var Ext=Ext||{};Ext._startTime=Date.now?Date.now():(+new Date());(function(){var e=this,m=Object.prototype,o=m.toString,d=["valueOf","toLocaleString","toString","constructor"],c=function(){},n=function(){},h=function(i){return i},b=function(){var i=b.caller.caller;return i.$owner.prototype[i.$name].apply(this,arguments)},k=Ext.manifest||{},g,j=/\[object\s*(?:Array|Arguments|\w*Collection|\w*List|HTML\s+document\.all\s+class)\]/,l=/^\\?\/Date\(([-+])?(\d+)(?:[+-]\d{4})?\)\\?\/$/;Ext.global=e;c.$nullFn=h.$nullFn=c.$emptyFn=h.$identityFn=n.$nullFn=true;n.$privacy="framework";Ext.suspendLayouts=Ext.resumeLayouts=c;for(g in {toString:1}){d=null}Ext.enumerables=d;Ext.apply=function(u,p,q){if(q){Ext.apply(u,q)}if(u&&p&&typeof p==="object"){var r,s,t;for(r in p){u[r]=p[r]}if(d){for(s=d.length;s--;){t=d[s];if(p.hasOwnProperty(t)){u[t]=p[t]}}}}return u};function a(r,q,p){var i,s;for(i in p){if(p.hasOwnProperty(i)){s=p[i];if(typeof s==="function"){if(q.$className){s.name=q.$className+"#"+i}s.$name=i;s.$owner=q;s.$previous=r.hasOwnProperty(i)?r[i]:b}r[i]=s}}}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:n,emptyFn:c,identityFn:h,frameStartTime:+new Date(),manifest:k,debugConfig:Ext.debugConfig||k.debug||{hooks:{"*":true}},validIdRe:/^[a-z_][a-z0-9\-_]*$/i,BLANK_IMAGE_URL:"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",makeIdSelector:function(i){if(!Ext.validIdRe.test(i)){Ext.Error.raise('Invalid id selector: "'+i+'"')}return"#"+i},id:function(p,q){if(p&&p.id){return p.id}var i=(q||Ext.idPrefix)+(++Ext.idSeed);if(p){p.id=i}return i},returnId:function(i){return i.getId()},returnTrue:function(){return true},emptyString:new String(),baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,$eventNameMap:{},$vendorEventRe:/^(DOMMouse|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},now:(e.performance&&e.performance.now)?function(){return performance.now()}:(Date.now||(Date.now=function(){return +new Date()})),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(t){for(var u,s,q=1,p=arguments,r=p.length;q<r;q++){u=t[s=p[q]];if(u!=null){t[s]=Ext.destroy(u)}}},override:function(r,i){if(r.$isClass){r.override(i)}else{if(typeof r==="function"){Ext.apply(r.prototype,i)}else{var p=r.self,q;if(p&&p.$isClass){q=i.privates;if(q){i=Ext.apply({},i);delete i.privates;a(r,p,q)}a(r,p,i)}else{Ext.apply(r,i)}}}return r},valueFrom:function(q,p,i){return Ext.isEmpty(q,i)?p:q},isEmpty:function(p,i){return(p==null)||(!i?p==="":false)||(Ext.isArray(p)&&p.length===0)},isArray:("isArray" in Array)?Array.isArray:function(i){return o.call(i)==="[object Array]"},isDate:function(i){return o.call(i)==="[object Date]"},isMSDate:function(i){if(!Ext.isString(i)){return false}return l.test(i)},isObject:(o.call(null)==="[object Object]")?function(i){return i!==null&&i!==undefined&&o.call(i)==="[object Object]"&&i.ownerDocument===undefined}:function(i){return o.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&&o.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 j.test(o.call(i))},isDebugEnabled:function(i,q){var p=Ext.debugConfig.hooks;if(p.hasOwnProperty(i)){return p[i]}var r=p["*"],t=0;if(q!==undefined){r=q}if(!i){return r}for(var s in p){var u=p[s];if(i.charAt(s.length)==="."){if(i.substring(0,s.length)===s){if(t<s.length){t=s.length;r=u}}}}return r}||c,clone:function(r){if(r===null||r===undefined){return r}if(r.nodeType&&r.cloneNode){return r.cloneNode(true)}var v=o.call(r),q,s,t,p,u;if(v==="[object Date]"){return new Date(r.getTime())}if(v==="[object Array]"){q=r.length;p=[];while(q--){p[q]=Ext.clone(r[q])}}else{if(v==="[object Object]"&&r.constructor===Object){p={};for(u in r){p[u]=Ext.clone(r[u])}if(d){for(s=d.length;s--;){t=d[s];if(r.hasOwnProperty(t)){p[t]=r[t]}}}}}return p||r},getUniqueGlobalNamespace:function(){var q=this.uniqueGlobalNamespace,p;if(q===undefined){p=0;do{q="ExtBox"+(++p)}while(e[q]!==undefined);e[q]=Ext;this.uniqueGlobalNamespace=q}return q},functionFactoryCache:{},cacheableFunctionFactory:function(){var t=this,i=Array.prototype.slice.call(arguments),p=t.functionFactoryCache,r,q,s;if(Ext.isSandboxed){s=i.length;if(s>0){s--;i[s]="var Ext=window."+Ext.name+";"+i[s]}}r=i.join("");q=p[r];if(!q){q=Function.prototype.constructor.apply(Function.prototype,i);p[r]=q}return q},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:{log:function(i,p){if(i&&e.console){if(!p||!(p in e.console)){p="log"}i="["+p.toUpperCase()+"] "+i;e.console[p](i)}},verbose:function(i){this.log(i,"verbose")},info:function(i){this.log(i,"info")},warn:function(i){this.log(i,"warn")},error:function(i){throw new Error(i)},deprecate:function(i){this.log(i,"warn")}}||{verbose:c,log:c,info:c,warn:c,error:function(i){throw new Error(i)},deprecate:c},getElementById:function(i){return document.getElementById(i)},splitAndUnescape:(function(){var i={};return function(q,p){if(!q){return[]}else{if(!p){return[q]}}var t=i[p]||(i[p]=new RegExp("\\\\"+p,"g")),u=[],s,r;s=q.split(p);while((r=s.shift())!==undefined){while(r.charAt(r.length-1)==="\\"&&s.length>0){r=r+p+s.shift()}r=r.replace(t,p);u.push(r)}return u}})()});Ext.returnTrue.$nullFn=Ext.returnId.$nullFn=true}());(function(){function a(){var c=this,b=c.sourceClass,d=c.sourceMethod,e=c.msg;if(d){if(e){d+="(): ";d+=e}else{d+="()"}}if(b){d=d?(b+"."+d):b}return d||e||""}Ext.Error=function(b){if(Ext.isString(b)){b={msg:b}}var c=new Error();Ext.apply(c,b);c.message=c.message||c.msg;c.toString=a;return c};Ext.apply(Ext.Error,{ignore:false,raise:function(b){b=b||{};if(Ext.isString(b)){b={msg:b}}var c=this,d=c.raise.caller,e,g;if(d){if(!b.sourceMethod&&(g=d.$name)){b.sourceMethod=g}if(!b.sourceClass&&(g=d.$owner)&&(g=g.$className)){b.sourceClass=g}}if(c.handle(b)!==true){e=a.call(b);Ext.log({msg:e,level:"error",dump:b,stack:true});throw new Ext.Error(b)}},handle:function(){return this.ignore}})})();Ext.deprecated=function(b){if(!b){b=""}function a(){Ext.Error.raise('The method "'+a.$owner.$className+"."+a.$name+'" has been removed. '+b)}return a;return Ext.emptyFn};(function(){if(typeof window==="undefined"){return}var a=0,b=function(){var c=Ext.log&&Ext.log.counters,e=c&&(c.error+c.warn+c.info+c.log),d;if(e&&a!==e){d=[];if(c.error){d.push("Errors: "+c.error)}if(c.warn){d.push("Warnings: "+c.warn)}if(c.info){d.push("Info: "+c.info)}if(c.log){d.push("Log: "+c.log)}window.status="*** "+d.join(" -- ");a=e}};setInterval(b,1000)}());Ext.Array=(function(){var a=Array.prototype,m=a.slice,t=(function(){var e=[],v,u=20;if(!e.splice){return false}while(u--){e.push("A")}e.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F");v=e.length;e.splice(13,0,"XXX");if(v+1!==e.length){return false}return true}()),r="indexOf" in a,s=true;function q(e,x){var w=e.length,v=new Array(w),u;for(u=0;u<w;u++){v[u]=u}v.sort(function(y,z){return x(e[y],e[z])||(y-z)});for(u=0;u<w;u++){v[u]=e[v[u]]}for(u=0;u<w;u++){e[u]=v[u]}return e}try{if(typeof document!=="undefined"){m.call(document.getElementsByTagName("body"))}}catch(b){s=false}var i=function(e,u){return(u<0)?Math.max(0,e.length+u):Math.min(e.length,u)},l=function(u,w,C,x){var e=x?x.length:0,y=u.length,A=i(u,w);if(A===y){if(e){u.push.apply(u,x)}}else{var B=Math.min(C,y-A),F=A+B,E=F+e-B,D=y-F,z=y-B,v;if(E<F){for(v=0;v<D;++v){u[E+v]=u[F+v]}}else{if(E>F){for(v=D;v--;){u[E+v]=u[F+v]}}}if(e&&A===z){u.length=z;u.push.apply(u,x)}else{u.length=z+e;for(v=0;v<e;++v){u[A+v]=x[v]}}}return u},k=function(e,u,w,v){if(v&&v.length){if(u===0&&!w){e.unshift.apply(e,v)}else{if(u<e.length){e.splice.apply(e,[u,w].concat(v))}else{e.push.apply(e,v)}}}else{e.splice(u,w)}return e},g=function(e,u,v){return l(e,u,v)},d=function(e,u,v){e.splice(u,v);return e},p=function(e,u,w){var v=i(e,u),x=e.slice(u,i(e,v+w));if(arguments.length<4){l(e,v,w)}else{l(e,v,w,m.call(arguments,3))}return x},o=function(e){return e.splice.apply(e,m.call(arguments,1))},c=t?d:g,j=t?k:l,n=t?o:p,h={binarySearch:function(e,y,u,x,v){var z=e.length,A,w;if(u instanceof Function){v=u;u=0;x=z}else{if(x instanceof Function){v=x;x=z}else{if(u===undefined){u=0}if(x===undefined){x=z}v=v||h.lexicalCompare}}--x;while(u<=x){A=(u+x)>>1;w=v(y,e[A]);if(w>=0){u=A+1}else{if(w<0){x=A-1}}}return u},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(e,u,y,x){e=h.from(e);var v,w=e.length;if(x!==true){for(v=0;v<w;v++){if(u.call(y||e[v],e[v],v,e)===false){return v}}}else{for(v=w-1;v>-1;v--){if(u.call(y||e[v],e[v],v,e)===false){return v}}}return true},forEach:("forEach" in a)?function(e,u,v){return e.forEach(u,v)}:function(e,u,x){for(var v=0,w=e.length;v<w;v++){u.call(x,e[v],v,e)}},indexOf:r?function(e,v,u){return a.indexOf.call(e,v,u)}:function(e,w,u){var v,x=e.length;for(v=(u<0)?Math.max(0,x+u):u||0;v<x;v++){if(e[v]===w){return v}}return -1},contains:r?function(e,u){return a.indexOf.call(e,u)!==-1}:function(e,v){var u,w;for(u=0,w=e.length;u<w;u++){if(e[u]===v){return true}}return false},toArray:function(w,x,u){if(!w||!w.length){return[]}if(typeof w==="string"){w=w.split("")}if(s){return m.call(w,x||0,u||w.length)}var e=[],v;x=x||0;u=u?((u<0)?w.length+u:u):w.length;for(v=x;v<u;v++){e.push(w[v])}return e},pluck:function(e,x){var y=[],u,w,v;for(u=0,w=e.length;u<w;u++){v=e[u];y.push(v[x])}return y},map:("map" in a)?function(e,u,v){Ext.Assert.isFunction(u,"Ext.Array.map must have a callback function passed as second argument.");return e.map(u,v)}:function(e,u,y){Ext.Assert.isFunction(u,"Ext.Array.map must have a callback function passed as second argument.");var x=[],v=0,w=e.length;for(;v<w;v++){x[v]=u.call(y,e[v],v,e)}return x},every:("every" in a)?function(e,u,v){Ext.Assert.isFunction(u,"Ext.Array.every must have a callback function passed as second argument.");return e.every(u,v)}:function(e,u,x){Ext.Assert.isFunction(u,"Ext.Array.every must have a callback function passed as second argument.");var v=0,w=e.length;for(;v<w;++v){if(!u.call(x,e[v],v,e)){return false}}return true},some:("some" in a)?function(e,u,v){Ext.Assert.isFunction(u,"Ext.Array.some must have a callback function passed as second argument.");return e.some(u,v)}:function(e,u,x){Ext.Assert.isFunction(u,"Ext.Array.some must have a callback function passed as second argument.");var v=0,w=e.length;for(;v<w;++v){if(u.call(x,e[v],v,e)){return true}}return false},equals:function(e,u){var w=e.length,x=u.length,v;if(e===u){return true}if(w!==x){return false}for(v=0;v<w;++v){if(e[v]!==u[v]){return false}}return true},clean:function(e){var x=[],u=0,w=e.length,v;for(;u<w;u++){v=e[u];if(!Ext.isEmpty(v)){x.push(v)}}return x},unique:function(e){var u=[],v=0,x=e.length,w;for(;v<x;v++){w=e[v];if(h.indexOf(u,w)===-1){u.push(w)}}return u},filter:("filter" in a)?function(e,u,v){Ext.Assert.isFunction(u,"Ext.Array.filter must have a filter function passed as second argument.");return e.filter(u,v)}:function(e,u,y){Ext.Assert.isFunction(u,"Ext.Array.filter must have a filter function passed as second argument.");var x=[],v=0,w=e.length;for(;v<w;v++){if(u.call(y,e[v],v,e)){x.push(e[v])}}return x},findBy:function(e,u,x){var v=0,w=e.length;for(;v<w;v++){if(u.call(x||e,e[v],v)){return e[v]}}return null},from:function(v,e){if(v===undefined||v===null){return[]}if(Ext.isArray(v)){return(e)?m.call(v):v}var u=typeof v;if(v&&v.length!==undefined&&u!=="string"&&(u!=="function"||!v.apply)){return h.toArray(v)}return[v]},remove:function(e,v){var u=h.indexOf(e,v);if(u!==-1){c(e,u,1)}return e},removeAt:function(e,v,u){var w=e.length;if(v>=0&&v<w){u=u||1;u=Math.min(u,w-v);c(e,v,u)}return e},include:function(e,u){if(!h.contains(e,u)){e.push(u)}},clone:function(e){return m.call(e)},merge:function(){var e=m.call(arguments),u=[],v,w;for(v=0,w=e.length;v<w;v++){u=u.concat(e[v])}return h.unique(u)},intersect:function(){var B=[],v=m.call(arguments),w,e,u,E,G,F,H,x,y,z,A,C,D;if(!v.length){return B}w=v.length;for(A=G=0;A<w;A++){F=v[A];if(!E||F.length<E.length){E=F;G=A}}E=h.unique(E);c(v,G,1);H=E.length;w=v.length;for(A=0;A<H;A++){x=E[A];z=0;for(C=0;C<w;C++){e=v[C];u=e.length;for(D=0;D<u;D++){y=e[D];if(x===y){z++;break}}}if(z===w){B.push(x)}}return B},difference:function(e,u){var v=m.call(e),y=v.length,w,x,z;for(w=0,z=u.length;w<z;w++){for(x=0;x<y;x++){if(v[x]===u[w]){c(v,x,1);x--;y--}}}return v},slice:([1,2].slice(1,undefined).length?function(e,u,v){return m.call(e,u,v)}:function(e,u,v){if(typeof u==="undefined"){return m.call(e)}if(typeof v==="undefined"){return m.call(e,u)}return m.call(e,u,v)}),sort:function(e,u){return q(e,u||h.lexicalCompare)},flatten:function(e){var v=[];function u(w){var x,y,z;for(x=0,y=w.length;x<y;x++){z=w[x];if(Ext.isArray(z)){u(z)}else{v.push(z)}}return v}return u(e)},min:function(e,u){var y=e[0],v,x,w;for(v=0,x=e.length;v<x;v++){w=e[v];if(u){if(u(y,w)===1){y=w}}else{if(w<y){y=w}}}return y},max:function(e,u){var y=e[0],v,x,w;for(v=0,x=e.length;v<x;v++){w=e[v];if(u){if(u(y,w)===-1){y=w}}else{if(w>y){y=w}}}return y},mean:function(e){return e.length>0?h.sum(e)/e.length:undefined},sum:function(e){var x=0,u,w,v;for(u=0,w=e.length;u<w;u++){v=e[u];x+=v}return x},toMap:function(e,u,x){var w={},v=e.length;if(!u){while(v--){w[e[v]]=v+1}}else{if(typeof u==="string"){while(v--){w[e[v][u]]=v+1}}else{while(v--){w[u.call(x,e[v])]=v+1}}}return w},toValueMap:function(u,z,D,v){var C={},A=u.length,w,e,x,y,B,E;if(!z){while(A--){E=u[A];C[E]=E}}else{if(!(y=(typeof z!=="string"))){v=D}e=v===1;w=v===2;while(A--){E=u[A];B=y?z.call(D,E):E[z];if(e){if(B in C){C[B].push(E)}else{C[B]=[E]}}else{if(w&&(B in C)){if((x=C[B]) instanceof Array){x.push(E)}else{C[B]=[x,E]}}else{C[B]=E}}}}return C},_replaceSim:l,_spliceSim:p,erase:c,insert:function(e,u,v){return j(e,u,0,v)},replace:j,splice:n,push:function(w){var u=arguments.length,e=1,v;if(w===undefined){w=[]}else{if(!Ext.isArray(w)){w=[w]}}for(;e<u;e++){v=arguments[e];Array.prototype.push[Ext.isIterable(v)?"apply":"call"](w,v)}return w},numericSortFn:function(e,u){return e-u}};Ext.each=h.each;h.union=h.merge;Ext.min=h.min;Ext.max=h.max;Ext.sum=h.sum;Ext.mean=h.mean;Ext.flatten=h.flatten;Ext.clean=h.clean;Ext.unique=h.unique;Ext.pluck=h.pluck;Ext.toArray=function(){return h.toArray.apply(h,arguments)};return h}());Ext.Assert={falsey:function(a,c){if(a){Ext.Error.raise(c||("Expected a falsey value but was "+a))}},falseyProp:function(c,d){Ext.Assert.truthy(c);var a=c[d];if(a){if(c.$className){d=c.$className+"#"+d}Ext.Error.raise("Expected a falsey value for "+d+" but was "+a)}},truthy:function(a,c){if(!a){Ext.Error.raise(c||("Expected a truthy value but was "+typeof a))}},truthyProp:function(c,d){Ext.Assert.truthy(c);var a=c[d];if(!a){if(c.$className){d=c.$className+"#"+d}Ext.Error.raise("Expected a truthy value for "+d+" but was "+typeof a)}}};(function(){function b(j,i){var k=Ext[j],h;return function(m,l){if(!k(m)){Ext.Error.raise(l||h||(h="Expected value to be "+i))}}}function c(j,i){var k=Ext[j],h;return function(l,m){Ext.Assert.truthy(l);if(!k(l[m])){Ext.Error.raise(h||(h="Expected "+(l.$className?l.$className+"#":"")+m+" to be "+i))}}}function d(j,i){var k=Ext[j],h;return function(m,l){if(k(m)){Ext.Error.raise(l||h||(h="Expected value to NOT be "+i))}}}function e(j,i){var k=Ext[j],h;return function(l,m){Ext.Assert.truthy(l);if(k(l[m])){Ext.Error.raise(h||(h="Expected "+(l.$className?l.$className+"#":"")+m+" to NOT be "+i))}}}for(var g in Ext){if(g.substring(0,2)=="is"&&Ext.isFunction(Ext[g])){var a=g.substring(2);Ext.Assert[g]=b(g,a);Ext.Assert[g+"Prop"]=c(g,a);Ext.Assert["isNot"+a]=d(g,a);Ext.Assert["isNot"+a+"Prop"]=e(g,a)}}}());Ext.String=(function(){var m=/^[\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,h=/('|\\)/g,i=/([-.*+?\^${}()|\[\]\/\\])/g,a=/^\s+|\s+$/g,o=/\s+/,n=/(^[^a-z]*|[^\w])/gi,c,e,d,g,l=function(q,p){return c[p]},k=function(q,p){return(p in e)?e[p]:String.fromCharCode(parseInt(p.substr(2),10))},b=function(q,p){if(q===null||q===undefined||p===null||p===undefined){return false}return p.length<=q.length},j;return j={insert:function(r,t,p){if(!r){return t}if(!t){return r}var q=r.length;if(!p&&p!==0){p=q}if(p<0){p*=-1;if(p>=q){p=0}else{p=q-p}}if(p===0){r=t+r}else{if(p>=r.length){r+=t}else{r=r.substr(0,p)+t+r.substr(p)}}return r},startsWith:function(r,t,p){var q=b(r,t);if(q){if(p){r=r.toLowerCase();t=t.toLowerCase()}q=r.lastIndexOf(t,0)===0}return q},endsWith:function(t,p,q){var r=b(t,p);if(r){if(q){t=t.toLowerCase();p=p.toLowerCase()}r=t.indexOf(p,t.length-p.length)!==-1}return r},createVarName:function(p){return p.replace(n,"")},htmlEncode:function(p){return(!p)?p:String(p).replace(d,l)},htmlDecode:function(p){return(!p)?p:String(p).replace(g,k)},hasHtmlCharacters:function(p){return d.test(p)},addCharacterEntities:function(t){var p=[],r=[],s,q;for(s in t){q=t[s];e[s]=q;c[q]=s;p.push(q);r.push(s)}d=new RegExp("("+p.join("|")+")","g");g=new RegExp("("+r.join("|")+"|&#[0-9]{1,5};)","g")},resetCharacterEntities:function(){c={};e={};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(m,"")}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,t){if(r&&r.length>q){if(t){var s=r.substr(0,q-2),p=Math.max(s.lastIndexOf(" "),s.lastIndexOf("."),s.lastIndexOf("!"),s.lastIndexOf("?"));if(p!==-1&&p>=(q-15)){return s.substr(0,p)+"..."}}return r.substr(0,q-3)+"..."}return r},escapeRegex:function(p){return p.replace(i,"\\$1")},createRegex:function(t,s,p,q){var r=t;if(t!=null&&!t.exec){r=j.escapeRegex(String(t));if(s!==false){r="^"+r}if(p!==false){r+="$"}r=new RegExp(r,(q!==false)?"i":"")}return r},escape:function(p){return p.replace(h,"\\$1")},toggle:function(q,r,p){return q===r?p:r},leftPad:function(s,r,p){var q=String(s);p=p||" ";while(q.length<r){q=p+q}return q},repeat:function(s,q,t){if(q<1){q=0}for(var p=[],r=q;r--;){p.push(s)}return p.join(t||"")},splitWords:function(p){if(p&&typeof p=="string"){return p.replace(a,"").split(o)}return p||[]}}}());Ext.String.resetCharacterEntities();Ext.htmlEncode=Ext.String.htmlEncode;Ext.htmlDecode=Ext.String.htmlDecode;Ext.urlAppend=Ext.String.urlAppend;Ext.Date=(function(){var k,e=Date,j=/(\\.)/g,c=/([gGhHisucUOPZ]|MS)/,b=/([djzmnYycU]|MS)/,i=/\\/gi,g=/\{(\d+)\}/g,d=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/"),h=Ext.String.leftPad,a=["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 h(m.getUTCFullYear(),4,"0")+"-"+h(m.getUTCMonth()+1,2,"0")+"-"+h(m.getUTCDate(),2,"0")+"T"+h(m.getUTCHours(),2,"0")+":"+h(m.getUTCMinutes(),2,"0")+":"+h(m.getUTCSeconds(),2,"0")+"."+h(m.getUTCMilliseconds(),3,"0")+"Z"}}function l(n){var m=Array.prototype.slice.call(arguments,1);return n.replace(g,function(p,o){return m[o]})}return k={now:e.now,toString:function(m){if(!m){m=new e()}return m.getFullYear()+"-"+h(m.getMonth()+1,2,"0")+"-"+h(m.getDate(),2,"0")+"T"+h(m.getHours(),2,"0")+":"+h(m.getMinutes(),2,"0")+":"+h(m.getSeconds(),2,"0")},getElapsed:function(m,n){return Math.abs(m-(n||k.now()))},useStrict:false,formatCodeToRegex:function(m,n){var o=k.parseCodes[m];if(o){o=typeof o==="function"?o():o;k.parseCodes[m]=o}return o?Ext.applyIf({c:o.c?l(o.c,n||"{0}"):o.c},o):{g:0,c:null,s:Ext.String.escapeRegex(m)}},parseFunctions:{MS:function(m,o){var n=(m||"").match(d);return n?new e(((n[1]||"")+n[2])*1):null},time:function(m,o){var n=parseInt(m,10);if(n||n===0){return new e(n)}return null},timestamp:function(m,o){var n=parseInt(m,10);if(n||n===0){return new e(n*1000)}return null}},parseRegexes:[],formatFunctions:{MS:function(){return"\\/Date("+this.getTime()+")\\/"},time:function(){return this.getTime().toString()},timestamp:function(){return k.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 k.monthNames[m].substring(0,3)},getShortDayName:function(m){return k.dayNames[m].substring(0,3)},getMonthNumber:function(m){return k.monthNumbers[m.substring(0,1).toUpperCase()+m.substring(1,3).toLowerCase()]},formatContainsHourInfo:function(m){return c.test(m.replace(j,""))},formatContainsDateInfo:function(m){return b.test(m.replace(j,""))},unescapeFormat:function(m){return m.replace(i,"")},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 m="Y-m-dTH:i:sP",n=[],p,q=m.length,o;for(p=0;p<q;++p){o=m.charAt(p);n.push(o==="T"?"'T'":k.getFormatCode(o))}return n.join(" + ")},C:function(){return"m.toISOString()"},U:"Math.round(m.getTime() / 1000)"},isValid:function(v,r,n,p,q,u,t){p=p||0;q=q||0;u=u||0;t=t||0;var o=k.add(new e(v<100?100:v,r-1,n,p,q,u,t),k.YEAR,v<100?v-100:0);return v===o.getFullYear()&&r===o.getMonth()+1&&n===o.getDate()&&p===o.getHours()&&q===o.getMinutes()&&u===o.getSeconds()&&t===o.getMilliseconds()},parse:function(n,m,q){var o=k.parseFunctions;if(o[m]==null){k.createParser(m)}return o[m].call(k,n,Ext.isDefined(q)?q:k.useStrict)},parseDate:function(n,m,o){return k.parse(n,m,o)},getFormatCode:function(m){var n=k.formatCodes[m];if(n){n=typeof n==="function"?n():n;k.formatCodes[m]=n}return n||("'"+Ext.String.escape(m)+"'")},createFormat:function(o){var n=[],q=false,m="",p;for(p=0;p<o.length;++p){m=o.charAt(p);if(!q&&m==="\\"){q=true}else{if(q){q=false;n.push("'"+Ext.String.escape(m)+"'")}else{if(m==="\n"){n.push("'\\n'")}else{n.push(k.getFormatCode(m))}}}}k.formatFunctions[o]=Ext.functionFactory("var m=this;return "+n.join("+"))},createParser:function(q){var v=k.parseRegexes.length,p=1,n=[],u=[],w=false,o="",r=0,s=q.length,m=[],t;for(;r<s;++r){o=q.charAt(r);if(!w&&o==="\\"){w=true}else{if(w){w=false;u.push(Ext.String.escape(o))}else{t=k.formatCodeToRegex(o,p);p+=t.g;u.push(t.s);if(t.g&&t.c){if(t.calcAtEnd){m.push(t.c)}else{n.push(t.c)}}}}}n=n.concat(m);k.parseRegexes[v]=new RegExp("^"+u.join("")+"$","i");k.parseFunctions[q]=Ext.functionFactory("input","strict",l(a,v,n.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(k.getShortDayName(n)),++n){}return{g:0,c:null,s:"(?:"+m.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+k.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:"("+k.monthNames.join("|")+")"}},M:function(){for(var m=[],n=0;n<12;m.push(k.getShortMonthName(n)),++n){}return Ext.applyIf({s:"("+m.join("|")+")"},k.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 n=[],m=[k.formatCodeToRegex("Y",1),k.formatCodeToRegex("m",2),k.formatCodeToRegex("d",3),k.formatCodeToRegex("H",4),k.formatCodeToRegex("i",5),k.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){",k.formatCodeToRegex("P",8).c,"}else{",k.formatCodeToRegex("O",8).c,"}","}"].join("\n")}],o,p;for(o=0,p=m.length;o<p;++o){n.push(m[o].c)}return{g:1,c:n.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 k.format(m,n)},isEqual:function(m,n){if(m&&n){return(m.getTime()===n.getTime())}return !(m||n)},format:function(m,n){var o=k.formatFunctions;if(!Ext.isDate(m)){return""}if(o[n]==null){k.createFormat(n)}return o[n].call(m)+""},getTimezone:function(m){return m.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,5})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(n,m){var o=n.getTimezoneOffset();return(o>0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(o)/60),2,"0")+(m?":":"")+Ext.String.leftPad(Math.abs(o%60),2,"0")},getDayOfYear:function(o){var r=0,n=k.clone(o),q=o.getMonth(),p;for(p=0,n.setDate(1),n.setMonth(0);p<q;n.setMonth(++p)){r+=k.getDaysInMonth(n)}return r+o.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(m){var n=(m.getDay()-(m.getDate()-1))%7;return(n<0)?(n+7):n},getLastDayOfMonth:function(m){return k.getLastDateOfMonth(m).getDay()},getFirstDateOfMonth:function(m){return new e(m.getFullYear(),m.getMonth(),1)},getLastDateOfMonth:function(m){return new e(m.getFullYear(),m.getMonth(),k.getDaysInMonth(m))},getDaysInMonth:(function(){var m=[31,28,31,30,31,30,31,31,30,31,30,31];return function(n){var o=n.getMonth();return o===1&&k.isLeapYear(n)?29:m[o]}}()),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(p,n){if(isNaN(p.getTime())){return p}if(n){return k.clearTime(k.clone(p))}var o=p.getDate(),q,m;p.setHours(0);p.setMinutes(0);p.setSeconds(0);p.setMilliseconds(0);if(p.getDate()!==o){for(q=1,m=k.add(p,k.HOUR,q);m.getDate()!==o;q++,m=k.add(p,k.HOUR,q)){}p.setDate(o);p.setHours(m.getHours())}return p},add:function(o,r,s){var n=k.clone(o),p,q,m=0;if(!r||s===0){return n}q=s-parseInt(s,10);s=parseInt(s,10);if(s){switch(r.toLowerCase()){case k.MILLI:n.setTime(n.getTime()+s);break;case k.SECOND:n.setTime(n.getTime()+s*1000);break;case k.MINUTE:n.setTime(n.getTime()+s*60*1000);break;case k.HOUR:n.setTime(n.getTime()+s*60*60*1000);break;case k.DAY:n.setDate(n.getDate()+s);break;case k.MONTH:p=o.getDate();if(p>28){p=Math.min(p,k.getLastDateOfMonth(k.add(k.getFirstDateOfMonth(o),k.MONTH,s)).getDate())}n.setDate(p);n.setMonth(o.getMonth()+s);break;case k.YEAR:p=o.getDate();if(p>28){p=Math.min(p,k.getLastDateOfMonth(k.add(k.getFirstDateOfMonth(o),k.YEAR,s)).getDate())}n.setDate(p);n.setFullYear(o.getFullYear()+s);break}}if(q){switch(r.toLowerCase()){case k.MILLI:m=1;break;case k.SECOND:m=1000;break;case k.MINUTE:m=1000*60;break;case k.HOUR:m=1000*60*60;break;case k.DAY:m=1000*60*60*24;break;case k.MONTH:p=k.getDaysInMonth(n);m=1000*60*60*24*p;break;case k.YEAR:p=(k.isLeapYear(n)?366:365);m=1000*60*60*24*p;break}if(m){n.setTime(n.getTime()+m*q)}}return n},subtract:function(m,n,o){return k.add(m,n,-o)},between:function(m,o,n){var p=m.getTime();return o.getTime()<=p&&p<=n.getTime()},compat:function(){var m,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"],q=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"],t=v.length,n=q.length,u,o,r;for(r=0;r<t;r++){u=v[r];e[u]=k[u]}for(m=0;m<n;m++){o=q[m];e.prototype[o]=function(){var p=Array.prototype.slice.call(arguments);p.unshift(this);return k[o].apply(k,p)}}},diff:function(p,o,q){var n,m=+o-p;switch(q){case k.MILLI:return m;case k.SECOND:return Math.floor(m/1000);case k.MINUTE:return Math.floor(m/60000);case k.HOUR:return Math.floor(m/3600000);case k.DAY:return Math.floor(m/86400000);case"w":return Math.floor(m/604800000);case k.MONTH:n=(o.getFullYear()*12+o.getMonth())-(p.getFullYear()*12+p.getMonth());if(k.add(p,q,n)>o){return n-1}return n;case k.YEAR:n=o.getFullYear()-p.getFullYear();if(k.add(p,q,n)>o){return n-1}else{return n}}},align:function(m,p,o){var n=new e(+m);switch(p.toLowerCase()){case k.MILLI:return n;case k.SECOND:n.setUTCSeconds(n.getUTCSeconds()-n.getUTCSeconds()%o);n.setUTCMilliseconds(0);return n;case k.MINUTE:n.setUTCMinutes(n.getUTCMinutes()-n.getUTCMinutes()%o);n.setUTCSeconds(0);n.setUTCMilliseconds(0);return n;case k.HOUR:n.setUTCHours(n.getUTCHours()-n.getUTCHours()%o);n.setUTCMinutes(0);n.setUTCSeconds(0);n.setUTCMilliseconds(0);return n;case k.DAY:if(o===7||o===14){n.setUTCDate(n.getUTCDate()-n.getUTCDay()+1)}n.setUTCHours(0);n.setUTCMinutes(0);n.setUTCSeconds(0);n.setUTCMilliseconds(0);return n;case k.MONTH:n.setUTCMonth(n.getUTCMonth()-(n.getUTCMonth()-1)%o,1);n.setUTCHours(0);n.setUTCMinutes(0);n.setUTCSeconds(0);n.setUTCMilliseconds(0);return n;case k.YEAR:n.setUTCFullYear(n.getUTCFullYear()-n.getUTCFullYear()%o,1,1);n.setUTCHours(0);n.setUTCMinutes(0);n.setUTCSeconds(0);n.setUTCMilliseconds(0);return m}}}}());Ext.Function=(function(){var j=0,b,a=[],d=[],i=0,c={},l=window,k=l.requestAnimationFrame||l.webkitRequestAnimationFrame||l.mozRequestAnimationFrame||l.oRequestAnimationFrame||function(m){var n=Ext.now(),p=Math.max(0,16-(n-j)),o=l.setTimeout(function(){m(n+p)},p);j=n+p;return o},h=function(){var p=a.length,o,n,m;b=null;for(n=0;n<p;n++){m=a[n];o=m[3];if(c[o]){m[0].apply(m[1]||Ext.global,m[2]||d);delete c[o]}}a=a.slice(p)},g=function(){Ext.elevateFunction(h)},e={flexSetter:function(m){return function(p,q){var o,n;if(p!==null){if(typeof p!=="string"){for(o in p){if(p.hasOwnProperty(o)){m.call(this,o,p[o])}}if(Ext.enumerables){for(n=Ext.enumerables.length;n--;){o=Ext.enumerables[n];if(p.hasOwnProperty(o)){m.call(this,o,p[o])}}}}else{m.call(this,p,q)}}return this}},bind:function(o,q,n,m){if(arguments.length===2){return function(){return o.apply(q,arguments)}}var p=o,r=Array.prototype.slice;return function(){var s=n||arguments;if(m===true){s=r.call(arguments,0);s=s.concat(n)}else{if(typeof m=="number"){s=r.call(arguments,0);Ext.Array.insert(s,m,n)}}return p.apply(q||Ext.global,s)}},bindCallback:function(n,q,m,p,o){return function(){var r=Ext.Array.slice(arguments);return Ext.callback(n,q,m?m.concat(r):r,p,o)}},pass:function(n,m,o){if(!Ext.isArray(m)){if(Ext.isIterable(m)){m=Ext.Array.clone(m)}else{m=m!==undefined?[m]:[]}}return function(){var p=m.slice();p.push.apply(p,arguments);return n.apply(o||this,p)}},alias:function(n,m){return function(){return n[m].apply(n,arguments)}},clone:function(m){return function(){return m.apply(this,arguments)}},createInterceptor:function(n,m,p,o){if(!Ext.isFunction(m)){return n}else{o=Ext.isDefined(o)?o:null;return function(){var r=this,q=arguments;m.target=r;m.method=n;return(m.apply(p||r||Ext.global,q)!==false)?n.apply(r||Ext.global,q):o}}},createDelayed:function(p,o,q,n,m){if(q||n){p=Ext.Function.bind(p,q,n,m)}return function(){var s=this,r=Array.prototype.slice.call(arguments);setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(p,s,r)}else{p.apply(s,r)}},o)}},defer:function(o,p,q,n,m){o=Ext.Function.bind(o,q,n,m);if(p>0){return setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(o)}else{o()}},p)}o();return 0},interval:function(o,p,q,n,m){o=Ext.Function.bind(o,q,n,m);return setInterval(function(){if(Ext.elevateFunction){Ext.elevateFunction(o)}else{o()}},p)},createSequence:function(n,m,o){if(!m){return n}else{return function(){var p=n.apply(this,arguments);m.apply(o||this,arguments);return p}}},createBuffered:function(o,n,p,m){var q;return function(){var r=m||Array.prototype.slice.call(arguments,0),s=p||this;if(q){clearTimeout(q)}q=setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(o,s,r)}else{o.apply(s,r)}},n)}},createAnimationFrame:function(n,p,m,o){var q;o=o||3;return function(){var r=m||Array.prototype.slice.call(arguments,0);p=p||this;if(o===3&&q){e.cancelAnimationFrame(q)}if((o&1)||!q){q=e.requestAnimationFrame(function(){q=null;n.apply(p,r)})}}},requestAnimationFrame:function(n,q,m){var p=++i,o=Array.prototype.slice.call(arguments,0);o[3]=p;c[p]=1;a.push(o);if(!b){b=k(Ext.elevateFunction?g:h)}return p},cancelAnimationFrame:function(m){delete c[m]},createThrottled:function(o,p,s){var r=0,m,q,t,n=function(){if(Ext.elevateFunction){Ext.elevateFunction(o,s,q)}else{o.apply(s,q)}r=Ext.now();t=null};return function(){if(!s){s=this}m=Ext.now()-r;q=arguments;if(m>=p){clearTimeout(t);n()}else{if(!t){t=Ext.defer(n,p-m)}}}},createBarrier:function(m,n,o){return function(){if(!--m){n.apply(o,arguments)}}},interceptBefore:function(p,o,m,q){var n=p[o]||Ext.emptyFn;return(p[o]=function(){var r=m.apply(q||this,arguments);n.apply(this,arguments);return r})},interceptAfter:function(p,o,m,q){var n=p[o]||Ext.emptyFn;return(p[o]=function(){n.apply(this,arguments);return m.apply(q||this,arguments)})},makeCallback:function(m,n){if(!n[m]){if(n.$className){Ext.Error.raise('No method "'+m+'" on '+n.$className)}Ext.Error.raise('No method "'+m+'"')}return function(){return n[m].apply(n,arguments)}}};Ext.defer=e.defer;Ext.interval=e.interval;Ext.pass=e.pass;Ext.bind=e.bind;Ext.deferCallback=e.requestAnimationFrame;return e})();Ext.Number=(new function(){var b=this,c=(0.9).toFixed()!=="1",d=Math,a={count:false,inclusive:false,wrap:true};Ext.apply(b,{Clip:{DEFAULT:a,COUNT:Ext.applyIf({count:true},a),INCLUSIVE:Ext.applyIf({inclusive:true},a),NOWRAP:Ext.applyIf({wrap:false},a)},clipIndices:function(l,k,m){m=m||a;var g=0,n=m.wrap,e,h,j;k=k||[];for(j=0;j<2;++j){e=h;h=k[j];if(h==null){h=g}else{if(j&&m.count){h+=e;h=(h>l)?l:h}else{if(n){h=(h<0)?(l+h):h}if(j&&m.inclusive){++h}h=(h<0)?0:((h>l)?l:h)}}g=l}k[0]=e;k[1]=(h<e)?e:h;return k},constrain:function(h,g,e){var i=parseFloat(h);if(g===null){g=h}if(e===null){e=h}return(i<g)?g:((i>e)?e:i)},snap:function(j,e,i,h){var g;if(j===undefined||j<i){return i||0}if(e){g=j%e;if(g!==0){j-=g;if(g*2>=e){j+=e}else{if(g*2<-e){j-=e}}}}return b.constrain(j,i,h)},snapInRange:function(j,e,h,g){var i;h=(h||0);if(j===undefined||j<h){return h}if(e&&(i=((j-h)%e))){j-=i;i*=2;if(i>=e){j+=e}}if(g!==undefined){if(j>(g=b.snapInRange(g,e,h))){j=g}}return j},sign:function(e){e=+e;if(e===0||isNaN(e)){return e}return(e>0)?1:-1},toFixed:c?function(h,g){g=g||0;var e=d.pow(10,g);return(d.round(h*e)/e).toFixed(g)}:function(g,e){return g.toFixed(e)},from:function(g,e){if(isFinite(g)){g=parseFloat(g)}return !isNaN(g)?g:e},randomInt:function(e,g){return d.floor(d.random()*(g-e+1)+e)},correctFloat:function(e){return parseFloat(e.toPrecision(14))}});Ext.num=function(){return b.from.apply(this,arguments)}}());(function(){var g=function(){},e=/^\?/,b=/(\[):?([^\]]*)\]/g,c=/^([^\[]+)/,d=/\+/g,a=Ext.Object={chain:Object.create||function(h){g.prototype=h;var i=new g();g.prototype=null;return i},clear:function(i){for(var h in i){delete i[h]}return i},freeze:Object.freeze?function(j,h){if(j&&typeof j==="object"&&!Object.isFrozen(j)){Object.freeze(j);if(h){for(var i in j){a.freeze(j[i],h)}}}return j}:Ext.identityFn,toQueryObjects:function(k,o,m){var n=a.toQueryObjects,l=[],h,j;if(Ext.isArray(o)){for(h=0,j=o.length;h<j;h++){if(m){l=l.concat(n(k+"["+h+"]",o[h],true))}else{l.push({name:k,value:o[h]})}}}else{if(Ext.isObject(o)){for(h in o){if(o.hasOwnProperty(h)){if(m){l=l.concat(n(k+"["+h+"]",o[h],true))}else{l.push({name:k,value:o[h]})}}}}else{l.push({name:k,value:o})}}return l},toQueryString:function(m,q){var o=[],p=[],h,k,l,n,r;for(h in m){if(m.hasOwnProperty(h)){o=o.concat(a.toQueryObjects(h,m[h],q))}}for(k=0,l=o.length;k<l;k++){n=o[k];r=n.value;if(Ext.isEmpty(r)){r=""}else{if(Ext.isDate(r)){r=Ext.Date.toString(r)}}p.push(encodeURIComponent(n.name)+"="+encodeURIComponent(String(r)))}return p.join("&")},fromQueryString:function(w,x){var v=w.replace(e,"").split("&"),t={},z,h,r,A,k,o,u,l,y,p,q,n,m,s;for(k=0,o=v.length;k<o;k++){u=v[k];if(u.length>0){h=u.split("=");r=h[0];r=r.replace(d,"%20");r=decodeURIComponent(r);A=h[1];if(A!==undefined){A=A.replace(d,"%20");A=decodeURIComponent(A)}else{A=""}if(!x){if(t.hasOwnProperty(r)){if(!Ext.isArray(t[r])){t[r]=[t[r]]}t[r].push(A)}else{t[r]=A}}else{p=r.match(b);q=r.match(c);if(!q){throw new Error('[Ext.Object.fromQueryString] Malformed query string given, failed parsing name from "'+u+'"')}r=q[0];n=[];if(p===null){t[r]=A;continue}for(l=0,y=p.length;l<y;l++){m=p[l];m=(m.length===2)?"":m.substring(1,m.length-1);n.push(m)}n.unshift(r);z=t;for(l=0,y=n.length;l<y;l++){m=n[l];if(l===y-1){if(Ext.isArray(z)&&m===""){z.push(A)}else{z[m]=A}}else{if(z[m]===undefined||typeof z[m]==="string"){s=n[l+1];z[m]=(Ext.isNumeric(s)||s==="")?[]:{}}z=z[m]}}}}}return t},each:function(l,j,n){var h=Ext.enumerables,k,m;if(l){n=n||l;for(m in l){if(l.hasOwnProperty(m)){if(j.call(n,m,l[m],l)===false){return}}}if(h){for(k=h.length;k--;){if(l.hasOwnProperty(m=h[k])){if(j.call(n,m,l[m],l)===false){return}}}}}},eachValue:function(l,j,n){var h=Ext.enumerables,k,m;n=n||l;for(m in l){if(l.hasOwnProperty(m)){if(j.call(n,l[m])===false){return}}}if(h){for(k=h.length;k--;){if(l.hasOwnProperty(m=h[k])){if(j.call(n,l[m])===false){return}}}}},merge:function(j){var k=1,m=arguments.length,n=a.merge,h=Ext.clone,o,l,q,p;for(;k<m;k++){o=arguments[k];for(l in o){q=o[l];if(q&&q.constructor===Object){p=j[l];if(p&&p.constructor===Object){n(p,q)}else{j[l]=h(q)}}else{j[l]=q}}}return j},mergeIf:function(j){var k=1,m=arguments.length,h=Ext.clone,n,l,o;for(;k<m;k++){n=arguments[k];for(l in n){if(!(l in j)){o=n[l];if(o&&o.constructor===Object){j[l]=h(o)}else{j[l]=o}}}}return j},getAllKeys:function(i){var h=[],j;for(j in i){h.push(j)}return h},getKey:function(h,j){for(var i in h){if(h.hasOwnProperty(i)&&h[i]===j){return i}}return null},getValues:function(h){var j=[],i;for(i in h){if(h.hasOwnProperty(i)){j.push(h[i])}}return j},getKeys:(typeof Object.keys=="function")?function(h){if(!h){return[]}return Object.keys(h)}:function(i){var h=[],j;for(j in i){if(i.hasOwnProperty(j)){h.push(j)}}return h},getSize:function(h){var j=0,i;for(i in h){if(h.hasOwnProperty(i)){j++}}return j},isEmpty:function(i){for(var h in i){if(i.hasOwnProperty(h)){return false}}return true},equals:(function(){var h=function(j,k){var i;for(i in j){if(j.hasOwnProperty(i)){if(j[i]!==k[i]){return false}}}return true};return function(i,j){if(i===j){return true}if(i&&j){return h(i,j)&&h(j,i)}else{if(!i&&!j){return i===j}else{return false}}}})(),fork:function(i){var j,h,k;if(i&&i.constructor===Object){j=a.chain(i);for(h in i){k=i[h];if(k){if(k.constructor===Object){j[h]=a.fork(k)}else{if(k instanceof Array){j[h]=Ext.Array.clone(k)}}}}}else{j=i}return j},defineProperty:("defineProperty" in Object)?Object.defineProperty:function(j,i,h){if(!Object.prototype.__defineGetter__){return}if(h.get){j.__defineGetter__(i,h.get)}if(h.set){j.__defineSetter__(i,h.set)}},classify:function(i){var m=i,k=[],l={},j=function(){var o=0,p=k.length,q;for(;o<p;o++){q=k[o];this[q]=new l[q]()}},h,n;for(h in i){if(i.hasOwnProperty(h)){n=i[h];if(n&&n.constructor===Object){k.push(h);l[h]=a.classify(n)}}}j.prototype=m;return j}};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 e=/^[a-zA-Z_][a-zA-Z0-9_\-]*$/i,b=/([\W]{1})/g,c=/^(\d)/g,a=function(h,g){return"\\"+g},d=function(h,g){return"\\00"+g.charCodeAt(0).toString(16)+" "};return function(g){return e.test(g)?g:g.replace(b,a).replace(c,d)}}()),callback:function(b,i,a,e,c,d){if(!b){return}var g=(i in Ext._namedScopes);if(b.charAt){if((!i||g)&&c){i=c.resolveListenerScope(g?i:d)}if(!i||!Ext.isObject(i)){Ext.Error.raise('Named method "'+b+'" requires a scope object')}if(!Ext.isFunction(i[b])){Ext.Error.raise('No method named "'+b+'" on '+(i.$className||"scope object"))}b=i[b]}else{if(g){i=d||c}else{if(!i){i=c}}}var h;if(b&&Ext.isFunction(b)){i=i||Ext.global;if(e){Ext.defer(b,e,i,a)}else{if(Ext.elevateFunction){h=Ext.elevateFunction(b,i,a)}else{if(a){h=b.apply(i,a)}else{h=b.call(i)}}}}return h},coerce:function(a,d){var b=Ext.typeOf(a),e=Ext.typeOf(d),c=typeof a==="string";if(b!==e){switch(e){case"string":return String(a);case"number":return Number(a);case"boolean":return c&&(!a||a==="false"||a==="0")?false:Boolean(a);case"null":return c&&(!a||a==="null")?null:false;case"undefined":return c&&(!a||a==="undefined")?undefined:false;case"date":return c&&isNaN(a)?Ext.Date.parse(a,Ext.Date.defaultFormat):Date(Number(a))}}return a},copyTo:function(a,g,e,h){if(typeof e==="string"){e=e.split(Ext.propertyNameSplitRe)}for(var d,b=0,c=e?e.length:0;b<c;b++){d=e[b];if(h||g.hasOwnProperty(d)){a[d]=g[d]}}return a},copy:function(a,g,e,h){if(typeof e==="string"){e=e.split(Ext.propertyNameSplitRe)}for(var d,b=0,c=e?e.length:0;b<c;b++){d=e[b];if(g.hasOwnProperty(d)||(h&&d in g)){a[d]=g[d]}}return a},propertyNameSplitRe:/[,;\s]+/,copyToIf:function(a,g,e){if(typeof e==="string"){e=e.split(Ext.propertyNameSplitRe)}for(var d,b=0,c=e?e.length:0;b<c;b++){d=e[b];if(a[d]===undefined){a[d]=g[d]}}return a},copyIf:function(a,g,e){if(typeof e==="string"){e=e.split(Ext.propertyNameSplitRe)}for(var d,b=0,c=e?e.length:0;b<c;b++){d=e[b];if(!(d in a)&&(d in g)){a[d]=g[d]}}return a},extend:(function(){var b=Object.prototype.constructor,a=function(d){var c;for(c in d){if(!d.hasOwnProperty(c)){continue}this[c]=d[c]}};return function(e,h,d){if(Ext.isObject(h)){d=h;h=e;e=d.constructor!==b?d.constructor:function(){h.apply(this,arguments)}}if(!h){Ext.Error.raise({sourceClass:"Ext",sourceMethod:"extend",msg:"Attempting to extend from a class which has not been loaded on the page."})}var c=function(){},g,i=h.prototype;c.prototype=i;g=e.prototype=new c();g.constructor=e;e.superclass=i;if(i.constructor===b){i.constructor=h}e.override=function(j){Ext.override(e,j)};g.override=a;g.proto=g;e.override(d);e.extend=function(j){return Ext.extend(e,j)};return e}}()),iterate:function(b,a,c){if(Ext.isEmpty(b)){return}if(c===undefined){c=b}if(Ext.isIterable(b)){Ext.Array.each.call(Ext.Array,b,a,c)}else{Ext.Object.each.call(Ext.Object,b,a,c)}},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){if(!Ext.isDomReady){Ext.Error.raise("getScrollbarSize called before DomReady")}var d=Ext._scrollbarSize;if(c||!d){var a=document.body,b=document.createElement("div");b.style.width=b.style.height="100px";b.style.overflow="scroll";b.style.position="absolute";a.appendChild(b);Ext._scrollbarSize=d={width:b.offsetWidth-b.clientWidth,height:b.offsetHeight-b.clientHeight};a.removeChild(b)}return d},typeOf:(function(){var a=/\S/,b=Object.prototype.toString,d={number:1,string:1,"boolean":1,"undefined":1},c={"[object Array]":"array","[object Date]":"date","[object Boolean]":"boolean","[object Number]":"number","[object RegExp]":"regexp"};return function(i){if(i===null){return"null"}var g=typeof i,e,h;if(d[g]){return g}e=c[h=b.call(i)];if(e){return e}if(g==="function"){return"function"}if(g==="object"){if(i.nodeType!==undefined){if(i.nodeType===3){return a.test(i.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}Ext.Error.raise({sourceClass:"Ext",sourceMethod:"typeOf",msg:'Failed to determine the type of "'+i+'".'});return h}}()),factory:function(c,b,d,a){var e=Ext.ClassManager,g;if(!c||c.isInstance){if(d&&d!==c){d.destroy()}return c}if(a){if(typeof c==="string"){return e.instantiateByAlias(a+"."+c)}else{if(Ext.isObject(c)&&"type" in c){return e.instantiateByAlias(a+"."+c.type,c)}}}if(c===true){return d||Ext.create(b)}if(!Ext.isObject(c)){Ext.Logger.error("Invalid config, must be a valid config object")}if("xtype" in c){g=e.instantiateByAlias("widget."+c.xtype,c)}else{if("xclass" in c){g=Ext.create(c.xclass,c)}}if(g){if(d){d.destroy()}return g}if(d){return d.setConfig(c)}return Ext.create(b,c)},log:(function(){var d=/string|number|boolean/;function a(k,e,g,q){var h,o,p,j,l,n,i=[];if(Ext.isArray(k)){l="[";n="]"}else{if(Ext.isObject(k)){l="{";n="}"}}if(!g){g=3}if(e>g){return l+"..."+n}e=e||1;var m=(new Array(e)).join("    ");for(j in k){if(k.hasOwnProperty(j)){p=k[j];o=typeof p;if(o==="function"){if(!q){continue}h=o}else{if(o==="undefined"){h=o}else{if(p===null||d.test(o)||Ext.isDate(p)){h=Ext.encode(p)}else{if(Ext.isArray(p)){h=this.dumpObject(p,e+1,g,q)}else{if(Ext.isObject(p)){h=this.dumpObject(p,e+1,g,q)}else{h=o}}}}}i.push(m+j+": "+h)}}if(i.length){return l+"\n    "+i.join(",\n    ")+"\n"+m+n}return l+n}function b(l){var m,g,e=Ext.global.console,j="log",i=b.indent||0,o,p,h,n,k;b.indent=i;if(typeof l!=="string"){m=l;l=m.msg||"";j=m.level||j;g=m.dump;p=m.stack;o=m.prefix;h=m.fn;if(m.indent){++b.indent}else{if(m.outdent){b.indent=i=Math.max(i-1,0)}}if(g&&!(e&&e.dir)){l+=a(g);g=null}}if(arguments.length>1){l+=Array.prototype.slice.call(arguments,1).join("")}if(o){l=o+" - "+l}l=i?Ext.String.repeat(" ",b.indentSize*i)+l:l;if(j!=="log"){l="["+j.charAt(0).toUpperCase()+"] "+l}if(h){l+="\nCaller: "+h.toString()}if(e){if(e[j]){e[j](l)}else{e.log(l)}if(g){e.dir(g)}if(p&&e.trace){if(!e.firebug||j!=="error"){e.trace()}}}else{if(Ext.isOpera){opera.postError(l)}else{n=b.out;k=b.max;if(n.length>=k){Ext.Array.erase(n,0,n.length-3*Math.floor(k/4))}n.push(l)}}++b.count;++b.counters[j]}function c(g,e){if(typeof e[0]==="string"){e.unshift({})}e[0].level=g;b.apply(this,e)}b.error=function(){c("error",Array.prototype.slice.call(arguments))};b.info=function(){c("info",Array.prototype.slice.call(arguments))};b.warn=function(){c("warn",Array.prototype.slice.call(arguments))};b.count=0;b.counters={error:0,warn:0,info:0,log:0};b.indentSize=2;b.out=[];b.max=750;return b}())||(function(){var a=function(){};a.info=a.warn=a.error=Ext.emptyFn;return a}())});(function(){var a=[""],b=/([^\d\.])/,c=/[^\d]/g,d=/[\-+]/g,e=/\s/g,g=/_/g,h;Ext.Version=h=function(t,k){var m=this,o=m.padModes,j,l,n,p,q,r,s;if(t.isVersion){t=t.version}m.version=s=String(t).toLowerCase().replace(g,".").replace(d,"");j=s.charAt(0);if(j in o){s=s.substring(1);n=o[j]}else{n=k?o[k]:0}m.pad=n;r=s.search(b);m.shortVersion=s;if(r!==-1){m.release=q=s.substr(r,t.length);m.shortVersion=s.substr(0,r);q=h.releaseValueMap[q]||q}m.releaseValue=q||n;m.shortVersion=m.shortVersion.replace(c,"");m.parts=p=s.split(".");for(l=p.length;l--;){p[l]=parseInt(p[l],10)}if(n===Infinity){p.push(n)}m.major=p[0]||n;m.minor=p[1]||n;m.patch=p[2]||n;m.build=p[3]||n;return m};h.prototype={isVersion:true,padModes:{"~":NaN,"^":Infinity},release:"",compareTo:function(q){var p=this,n=p.pad,o=p.parts,m=o.length,v=q.isVersion?q:new h(q),t=v.pad,u=v.parts,s=u.length,k=Math.max(m,s),j,l,r;for(j=0;j<k;j++){l=(j<m)?o[j]:n;r=(j<s)?u[j]:t;if(l<r){return -1}if(l>r){return 1}}l=p.releaseValue;r=v.releaseValue;if(l<r){return -1}if(l>r){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(i){return this.compareTo(i)>0},isGreaterThanOrEqual:function(i){return this.compareTo(i)>=0},isLessThan:function(i){return this.compareTo(i)<0},isLessThanOrEqual:function(i){return this.compareTo(i)<=0},equals:function(i){return this.compareTo(i)===0},match:function(i){i=String(i);return this.version.substr(0,i.length)===i},toArray:function(){var i=this;return[i.getMajor(),i.getMinor(),i.getPatch(),i.getBuild(),i.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(i){return this.compareTo(i)>0},lt:function(i){return this.compareTo(i)<0},gtEq:function(i){return this.compareTo(i)>=0},ltEq:function(i){return this.compareTo(i)<=0}};Ext.apply(h,{aliases:{from:{extjs:"ext",core:"sencha-core"},to:{ext:["extjs"],"sencha-core":["core"]}},releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(i){return !i?0:(isNaN(i)?this.releaseValueMap[i]||i:parseInt(i,10))},compare:function(i,j){var k=i.isVersion?i:new h(i);return k.compareTo(j)},set:function(k,m,o){var j=h.aliases.to[m],n=o.isVersion?o:new h(o),l;k[m]=n;if(j){for(l=j.length;l-->0;){k[j[l]]=n}}return n}});Ext.apply(Ext,{compatVersions:{},versions:{},lastRegisteredVersion:null,getCompatVersion:function(j){var k=Ext.compatVersions,i;if(!j){i=k.ext||k.touch||k.core}else{i=k[h.aliases.from[j]||j]}return i||Ext.getVersion(j)},setCompatVersion:function(i,j){h.set(Ext.compatVersions,i,j)},setVersion:function(i,j){Ext.lastRegisteredVersion=h.set(Ext.versions,i,j);return this},getVersion:function(i){var j=Ext.versions;if(!i){return j.ext||j.touch||j.core}return j[h.aliases.from[i]||i]},checkVersion:function(x,q){var o=Ext.isArray(x),j=h.aliases.from,k=o?x:a,p=k.length,z=Ext.versions,l=z.ext||z.touch,m,n,r,t,s,u,w,v,y;if(!o){a[0]=x}for(m=0;m<p;++m){if(!Ext.isString(w=k[m])){r=Ext.checkVersion(w.and||w.or,!w.or);if(w.not){r=!r}}else{if(w.indexOf(" ")>=0){w=w.replace(e,"")}n=w.indexOf("@");if(n<0){v=w;y=l}else{u=w.substring(0,n);if(!(y=z[j[u]||u])){if(q){return false}continue}v=w.substring(n+1)}n=v.indexOf("-");if(n<0){if(v.charAt(n=v.length-1)==="+"){t=v.substring(0,n);s=null}else{t=s=v}}else{if(n>0){t=v.substring(0,n);s=v.substring(n+1)}else{t=null;s=v.substring(n+1)}}r=true;if(t){t=new h(t,"~");r=t.ltEq(y)}if(r&&s){s=new h(s,"~");r=s.gtEq(y)}}if(r){if(!q){return true}}else{if(q){return false}}}return !!q},deprecate:function(j,l,i,k){if(h.compare(Ext.getVersion(j),l)<1){i.call(k)}}})}());(function(b){var d=(b&&b.packages)||{},a=b&&b.compatibility,c,e;for(c in d){e=d[c];Ext.setVersion(c,e.version)}if(a){if(Ext.isString(a)){Ext.setCompatVersion("core",a)}else{for(c in a){Ext.setCompatVersion(c,a[c])}}}if(!d.ext&&!d.touch){Ext.setVersion("ext","5.1.2.748");Ext.setVersion("sencha-core","5.1.2.748")}})(Ext.manifest);Ext.Config=function(c){var b=this,a=c.charAt(0).toUpperCase()+c.substr(1);b.name=c;b.names={internal:"_"+c,initializing:"is"+a+"Initializing",apply:"apply"+a,update:"update"+a,get:"get"+a,set:"set"+a,initGet:"initGet"+a,doSet:"doSet"+a,changeEvent:c.toLowerCase()+"change"};b.root=b};Ext.Config.map={};Ext.Config.get=function(b){var a=Ext.Config.map,c=a[b]||(a[b]=new Ext.Config(b));return c};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())},getInternalName:function(a){return a.$configPrefixed?this.names.internal:this.name},mergeNew:function(c,d,g,b){var e,a;if(!d){e=c}else{if(!c){e=d}else{e=Ext.Object.chain(d);for(a in c){if(!b||!(a in e)){e[a]=c[a]}}}}return e},mergeSets:function(b,c,d){var e=c?Ext.Object.chain(c):{},a,g;if(b instanceof Array){for(a=b.length;a--;){g=b[a];if(!d||!(g in e)){e[g]=true}}}else{if(b){if(b.constructor===Object){for(a in b){g=b[a];if(!d||!(a in e)){e[a]=g}}}else{if(!d||!(b in e)){e[b]=true}}}}return e},makeGetter:function(){var a=this.name,b=this.names.internal;return function(){var c=this.$configPrefixed?b:a;return this[c]}},makeInitGetter:function(){var c=this.name,d=this.names,e=d.set,a=d.get,b=d.initializing;return function(){var g=this;g[b]=true;delete g[a];g[e](g.config[c]);delete g[b];return g[a].apply(g,arguments)}},makeSetter:function(){var c=this.name,d=this.names,e=d.internal,b=d.get,a=d.apply,h=d.update,g;g=function(l){var j=this,i=j.$configPrefixed?e:c,k=j[i];delete j[b];if(!j[a]||(l=j[a](l,k))!==undefined){if(l!==(k=j[i])){j[i]=l;if(j[h]){j[h](l,k)}}}return j};g.$isDefault=true;return g}};(function(){var b=Ext.Config,a=b.map,c=Ext.Object;Ext.Configurator=function(d){var e=this,g=d.prototype,h=d.superclass?d.superclass.self.$config:null;e.cls=d;if(h){e.configs=c.chain(h.configs);e.cachedConfigs=c.chain(h.cachedConfigs);e.initMap=c.chain(h.initMap);e.values=c.chain(h.values);e.needsFork=h.needsFork}else{e.configs={};e.cachedConfigs={};e.initMap={};e.values={}}g.config=g.defaultConfig=e.values;d.$config=e};Ext.Configurator.prototype={self:Ext.Configurator,needsFork:false,initList:null,add:function(h,q){var n=this,g=n.cls,i=n.configs,d=n.cachedConfigs,k=n.initMap,v=g.prototype,r=q&&q.$config.configs,y=n.values,m,p,l,o,e,j,t,u,w,x;for(t in h){x=h[t];m=x&&x.constructor===Object;p=m&&"$value" in x?x:null;if(p){l=!!p.cached;x=p.$value;m=x&&x.constructor===Object}o=p&&p.merge;e=i[t];if(e){if(q){o=e.merge;if(!o){continue}p=null}else{o=o||e.merge}if(!q&&l&&!d[t]){Ext.Error.raise("Redefining config as cached: "+t+" in class: "+g.$className)}j=y[t];if(o){x=o.call(e,x,j,g,q)}else{if(m){if(j&&j.constructor===Object){x=c.merge({},j,x)}}}}else{if(r){e=r[t];p=null}else{e=b.get(t)}i[t]=e;if(e.cached||l){d[t]=true}u=e.names;if(!v[w=u.get]){v[w]=e.getGetter()}if(!v[w=u.set]){v[w]=e.getSetter()}}if(p){if(e.owner!==g){i[t]=e=Ext.Object.chain(e);e.owner=g}Ext.apply(e,p);delete e.$value}if(!n.needsFork&&x&&(x.constructor===Object||x instanceof Array)){n.needsFork=true}if(x!==null){k[t]=true}else{if(v.$configPrefixed){v[i[t].names.internal]=null}else{v[i[t].name]=null}if(t in k){k[t]=false}}y[t]=x}},configure:function(p,q){var u=this,g=u.configs,o=u.initMap,n=u.initListMap,m=u.initList,y=u.cls.prototype,B=u.values,z=0,j=!m,d,e,k,x,l,r,t,w,v,A,s,C,h;B=u.needsFork?c.fork(B):c.chain(B);if(j){u.initList=m=[];u.initListMap=n={};p.isFirstInstance=true;for(v in o){x=o[v];e=g[v];s=e.cached;if(x){w=e.names;A=B[v];if(!y[w.set].$isDefault||y[w.apply]||y[w.update]||typeof A==="object"){if(s){(d||(d=[])).push(e)}else{m.push(e);n[v]=true}p[w.get]=e.initGetter||e.getInitGetter()}else{y[e.getInternalName(y)]=A}}else{if(s){y[e.getInternalName(y)]=undefined}}}}t=d&&d.length;if(t){for(l=0;l<t;++l){r=d[l].getInternalName(y);p[r]=null}for(l=0;l<t;++l){w=(e=d[l]).names;k=w.get;if(p.hasOwnProperty(k)){p[w.set](B[e.name]);delete p[k]}}for(l=0;l<t;++l){r=d[l].getInternalName(y);y[r]=p[r];delete p[r]}}if(q&&q.platformConfig){q=u.resolvePlatformConfig(p,q)}if(j){if(p.afterCachedConfig&&!p.afterCachedConfig.$nullFn){p.afterCachedConfig(q)}}p.isConfiguring=true;p.config=B;for(l=0,t=m.length;l<t;++l){e=m[l];p[e.names.get]=e.initGetter||e.getInitGetter()}if(p.transformInstanceConfig){q=p.transformInstanceConfig(q)}if(q){for(v in q){A=q[v];e=g[v];if(!e){h=p.self.prototype[v];if(p.$configStrict&&(typeof h==="function")&&!h.$nullFn){Ext.Error.raise("Cannot override method "+v+" on "+p.$className+" instance.")}p[v]=A}else{if(!e.lazy){++z}if(!n[v]){p[e.names.get]=e.initGetter||e.getInitGetter()}if(e.merge){A=e.merge(A,B[v],p)}else{if(A&&A.constructor===Object){C=B[v];if(C&&C.constructor===Object){A=c.merge(B[v],A)}else{A=Ext.clone(A)}}}}B[v]=A}}if(p.beforeInitConfig&&!p.beforeInitConfig.$nullFn){if(p.beforeInitConfig(q)===false){return}}if(q){for(v in q){if(!z){break}e=g[v];if(e&&!e.lazy){--z;w=e.names;k=w.get;if(p.hasOwnProperty(k)){p[w.set](B[v]);delete p[w.get]}}}}for(l=0,t=m.length;l<t;++l){e=m[l];w=e.names;k=w.get;if(!e.lazy&&p.hasOwnProperty(k)){p[w.set](B[e.name]);delete p[k]}}delete p.isConfiguring},getCurrentConfig:function(g){var e=g.defaultConfig,d={},h;for(h in e){d[h]=g[a[h].names.get]()}return d},merge:function(j,d,h){var i=this.configs,k,l,e,g;for(k in h){l=h[k];g=i[k];if(g){if(g.merge){l=g.merge(l,d[k],j)}else{if(l&&l.constructor===Object){e=d[k];if(e&&e.constructor===Object){l=Ext.Object.merge(e,l)}else{l=Ext.clone(l)}}}}d[k]=l}return d},reconfigure:function(m,n,r){var h=m.config,e=[],t=m.$configStrict&&!(r&&r.strict===false),g=this.configs,j=r&&r.defaults,d,k,l,o,p,q,s;for(p in n){if(j&&m.hasOwnProperty(p)){continue}h[p]=n[p];d=g[p];if(d){m[d.names.get]=d.initGetter||d.getInitGetter()}else{s=m.self.prototype[p];if(t){if((typeof s==="function")&&!s.$nullFn){Ext.Error.raise("Cannot override method "+p+" on "+m.$className+" instance.");continue}else{if(p!=="type"){Ext.log.warn('No such config "'+p+'" for class '+m.$className)}}}}e.push(p)}for(l=0,o=e.length;l<o;l++){p=e[l];d=g[p];if(d){q=d.names;k=q.get;if(m.hasOwnProperty(k)){m[q.set](n[p]);delete m[k]}}else{d=a[p]||Ext.Config.get(p);q=d.names;if(m[q.set]){m[q.set](n[p])}else{m[p]=n[p]}}}},resolvePlatformConfig:function(e,g){var k=g&&g.platformConfig,l=g,d,h,j;if(k){h=Ext.getPlatformConfigKeys(k);j=h.length;if(j){l=Ext.merge({},l);for(d=0,j=h.length;d<j;++d){this.merge(e,l,k[h[d]])}}}return l}}}());Ext.Base=(function(h){var m=[],e,g=[],i=function(s,t){var r=this,u,p,q;if(s){p=Ext.Config.map[s];if(!p){Ext.Logger.error("Invalid property name for getter: '"+s+"' for '"+r.$className+"'.")}q=p.names.get;if(t&&r.hasOwnProperty(q)){u=r.config[s]}else{u=r[q]()}}else{u=r.getCurrentConfig()}return u},l=function(s,r,q){var p='"'+s+'" is deprecated.';if(q){p+=" "+q}else{if(r){p+=' Please use "'+r+'" instead.'}}return function(){Ext.Error.raise(p)}},a=function(r,s,q,p){if(!p){p='"'+s+'" is deprecated.'}if(q){p+=' Please use "'+q+'" instead.'}if(p){Ext.Object.defineProperty(r,s,{get:function(){Ext.Error.raise(p)},set:function(t){Ext.Error.raise(p)},configurable:true})}},k=function(p){return function(){return this[p].apply(this,arguments)}},o=Ext.Version,j=/^\d/,n={},b={},c=function(){},d=c.prototype;Ext.apply(c,{$className:"Ext.Base",$isClass:true,create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},addDeprecations:function(s){var y=this,p=[],q=Ext.getCompatVersion(s.name),t=(y.$className||"")+"#",r,H,x,A,F,u,v,w,B,D,C,z,E,G;for(H in s){if(j.test(H)){G=new Ext.Version(H);G.deprecations=s[H];p.push(G)}}p.sort(o.compare);for(x=p.length;x--;){r=(G=p[x]).deprecations;F=y.prototype;E=r.statics;u=q&&q.lt(G);if(!u){}else{if(!u){break}}while(r){B=r.methods;if(B){for(D in B){z=B[D];w=null;if(!z){Ext.Assert.isNotDefinedProp(F,D);w=l(t+D)}else{if(Ext.isString(z)){Ext.Assert.isNotDefinedProp(F,D);Ext.Assert.isDefinedProp(F,z);if(u){w=k(z)}else{w=l(t+D,z)}}else{A="";if(z.message||z.fn){A=z.message;z=z.fn}v=F.hasOwnProperty(D)&&F[D];if(u&&z){z.$owner=y;z.$name=D;z.name=t+D;if(v){z.$previous=v}w=z}else{if(!v){w=l(t+D,null,A)}}}}if(w){F[D]=w}}}B=r.properties;if(B&&!u){for(D in B){C=B[D];if(Ext.isString(C)){a(F,t+D,C)}else{if(C&&C.message){a(F,t+D,null,C.message)}else{a(F,t+D)}}}}r=E;E=null;F=y}}},extend:function(t){var r=this,u=t.prototype,v,p,q,s,w;v=r.prototype=Ext.Object.chain(u);v.self=r;r.superclass=v.superclass=u;if(!t.$isClass){for(p in d){if(p in v){v[p]=d[p]}}}w=u.$inheritableStatics;if(w){for(p=0,q=w.length;p<q;p++){s=w[p];if(!r.hasOwnProperty(s)){r[s]=t[s]}}}if(t.$onExtended){r.$onExtended=t.$onExtended.slice()}r.getConfigurator()},$onExtended:[],triggerExtended:function(){Ext.classSystemMonitor&&Ext.classSystemMonitor(this,"Ext.Base#triggerExtended",arguments);var q=this.$onExtended,s=q.length,r,p;if(s>0){for(r=0;r<s;r++){p=q[r];p.fn.apply(p.scope||this,arguments)}}},onExtended:function(p,q){this.$onExtended.push({fn:p,scope:q});return this},addStatics:function(p){this.addMembers(p,true);return this},addInheritableStatics:function(t){var r,q,v=this.prototype,u,s;r=v.$inheritableStatics;q=v.$hasInheritableStatics;if(!r){r=v.$inheritableStatics=[];q=v.$hasInheritableStatics={}}var p=Ext.getClassName(this)+".";for(u in t){if(t.hasOwnProperty(u)){s=t[u];if(typeof s=="function"){s.name=p+u}this[u]=s;if(!q[u]){q[u]=true;r.push(u)}}}return this},addMembers:function(A,w,C){var y=this,p=Ext.Function.clone,G=w?y:y.prototype,r=!w&&G.defaultConfig,t=Ext.enumerables,D=A.privates,q,v,x,z,B,F,E;var s=(y.$className||"")+"#";if(D){delete A.privates;if(!w){E=D.statics;delete D.statics}F=D.privacy||C||"framework";y.addMembers(D,w,F);if(E){y.addMembers(E,true,F)}}for(B in A){if(A.hasOwnProperty(B)){z=A[B];if(C===true){C="framework"}if(z&&z.$nullFn&&C!==z.$privacy){Ext.Error.raise("Cannot use stock function for private method "+(y.$className?y.$className+"#":"")+B)}if(typeof z==="function"&&!z.$isClass&&!z.$nullFn){if(z.$owner){z=p(z)}if(G.hasOwnProperty(B)){z.$previous=G[B]}z.$owner=y;z.$name=B;z.name=s+B;var u=G[B];if(C){z.$privacy=C;if(u&&u.$privacy&&u.$privacy!==C){Ext.privacyViolation(y,u,z,w)}}else{if(u&&u.$privacy){Ext.privacyViolation(y,u,z,w)}}}else{if(r&&(B in r)&&!G.config.hasOwnProperty(B)){(q||(q={}))[B]=z;continue}}G[B]=z}}if(q){y.addConfig(q)}if(t){for(v=0,x=t.length;v<x;++v){if(A.hasOwnProperty(B=t[v])){z=A[B];if(z&&!z.$nullFn){if(z.$owner){z=p(z)}z.$owner=y;z.$name=B;z.name=s+B;if(G.hasOwnProperty(B)){z.$previous=G[B]}}G[B]=z}}}return this},addMember:function(q,p){n[q]=p;this.addMembers(n);delete n[q];return this},borrow:function(p,s){Ext.classSystemMonitor&&Ext.classSystemMonitor(this,"Ext.Base#borrow",arguments);var v=p.prototype,t={},q,r,u;s=Ext.Array.from(s);for(q=0,r=s.length;q<r;q++){u=s[q];t[u]=v[u]}return this.addMembers(t)},override:function(t){var s=this,v=t.statics,r=t.inheritableStatics,q=t.config,u=t.mixins,p=t.cachedConfig;if(v||r||q){t=Ext.apply({},t)}if(v){s.addMembers(v,true);delete t.statics}if(r){s.addInheritableStatics(r);delete t.inheritableStatics}if(q){s.addConfig(q);delete t.config}if(p){s.addCachedConfig(p);delete t.cachedConfig}delete t.mixins;s.addMembers(t);if(u){s.mixin(u)}return s},callParent:function(p){var q;return(q=this.callParent.caller)&&(q.$previous||((q=q.$owner?q:q.caller)&&q.$owner.superclass.self[q.$name])).apply(this,p||m)},callSuper:function(p){var q;return(q=this.callSuper.caller)&&((q=q.$owner?q:q.caller)&&q.$owner.superclass.self[q.$name]).apply(this,p||m)},mixin:function(y,u){var s=this,t,z,q,B,p,r,A,x,w;if(typeof y!=="string"){w=y;if(w instanceof Array){for(p=0,r=w.length;p<r;p++){t=w[p];s.mixin(t.prototype.mixinId||t.$className,t)}}else{for(var v in w){s.mixin(v,w[v])}}return}t=u.prototype;z=s.prototype;if(t.onClassMixedIn){t.onClassMixedIn.call(u,s)}if(!z.hasOwnProperty("mixins")){if("mixins" in z){z.mixins=Ext.Object.chain(z.mixins)}else{z.mixins={}}}for(q in t){x=t[q];if(q==="mixins"){Ext.applyIf(z.mixins,x)}else{if(!(q==="mixinId"||q==="config")&&(z[q]===undefined)){z[q]=x}}}B=t.$inheritableStatics;if(B){for(p=0,r=B.length;p<r;p++){A=B[p];if(!s.hasOwnProperty(A)){s[A]=u[A]}}}if("config" in t){s.addConfig(t.config,u)}z.mixins[y]=t;if(t.afterClassMixedIn){t.afterClassMixedIn.call(u,s)}return s},addConfig:function(q,r){var p=this.$config||this.getConfigurator();p.add(q,r)},addCachedConfig:function(q,r){var p={},s;for(s in q){p[s]={cached:true,$value:q[s]}}this.addConfig(p,r)},getConfigurator:function(){return this.$config||new Ext.Configurator(this)},getName:function(){return Ext.getClassName(this)},createAlias:h(function(p,q){b[p]=function(){return this[q].apply(this,arguments)};this.override(b);delete b[p]})});for(e in c){if(c.hasOwnProperty(e)){g.push(e)}}c.$staticMembers=g;c.getConfigurator();c.addMembers({$className:"Ext.Base",isInstance:true,$configPrefixed:true,$configStrict:true,isConfiguring:false,isFirstInstance:false,statics:function(){var p=this.statics.caller,q=this.self;if(!p){return q}return p.$owner},callParent:function(p){var q,t=(q=this.callParent.caller)&&(q.$previous||((q=q.$owner?q:q.caller)&&q.$owner.superclass[q.$name]));if(!t){q=this.callParent.caller;var s,r;if(!q.$owner){if(!q.caller){throw new Error("Attempting to call a protected method from the public scope, which is not allowed")}q=q.caller}s=q.$owner.superclass;r=q.$name;if(!(r in s)){throw new Error("this.callParent() was called but there's no such method ("+r+") found in the parent class ("+(Ext.getClassName(s)||"Object")+")")}}return t.apply(this,p||m)},callSuper:function(p){var q,t=(q=this.callSuper.caller)&&((q=q.$owner?q:q.caller)&&q.$owner.superclass[q.$name]);if(!t){q=this.callSuper.caller;var s,r;if(!q.$owner){if(!q.caller){throw new Error("Attempting to call a protected method from the public scope, which is not allowed")}q=q.caller}s=q.$owner.superclass;r=q.$name;if(!(r in s)){throw new Error("this.callSuper() was called but there's no such method ("+r+") found in the parent class ("+(Ext.getClassName(s)||"Object")+")")}}return t.apply(this,p||m)},self:c,constructor:function(){return this},getConfigurator:function(){return this.$config||this.self.getConfigurator()},initConfig:function(q){var r=this,p=r.getConfigurator();r.initConfig=Ext.emptyFn;r.initialConfig=q||{};p.configure(r,q);return r},beforeInitConfig:Ext.emptyFn,getConfig:i,setConfig:function(r,t,s){var q=this,p;if(r){if(typeof r==="string"){p={};p[r]=t}else{p=r}q.getConfigurator().reconfigure(q,p,s)}return q},getCurrentConfig:function(){var p=this.getConfigurator();return p.getCurrentConfig(this)},hasConfig:function(p){return p in this.defaultConfig},getInitialConfig:function(q){var p=this.config;if(!q){return p}return p[q]},$links:null,link:function(r,s){var q=this,p=q.$links||(q.$links={});p[r]=true;q[r]=s;return s},unlink:function(t){var s=this,p,r,q,u;if(!Ext.isArray(t)){Ext.Error.raise("Invalid argument - expected array of strings")}for(p=0,r=t.length;p<r;p++){q=t[p];u=s[q];if(u){if(u.isInstance&&!u.isDestroyed){u.destroy()}else{if(u.parentNode&&"nodeType" in u){u.parentNode.removeChild(u)}}}s[q]=null}return s},destroy:function(){var q=this,p=q.$links;q.destroy=Ext.emptyFn;q.isDestroyed=true;if(p){q.$links=null;q.unlink(Ext.Object.getKeys(p))}}});d.callOverridden=d.callParent;Ext.privacyViolation=function(p,t,v,u){var x=v.$name,r=t.$owner&&t.$owner.$className,y=u?"static ":"",w=v.$privacy?"Private "+y+v.$privacy+' method "'+x+'"':"Public "+y+'method "'+x+'"';if(p.$className){w=p.$className+": "+w}if(!t.$privacy){w+=r?" hides public method inherited from "+r:" hides inherited public method."}else{w+=r?" conflicts with private "+t.$privacy+" method declared by "+r:" conflicts with inherited private "+t.$privacy+" method."}var q=Ext.getCompatVersion();var z=Ext.getVersion();if(z&&q&&q.lt(z)){Ext.log.error(w)}else{Ext.Error.raise(w)}};return c}(Ext.Function.flexSetter));(function(a,b){(Ext.util||(Ext.util={})).Cache=a=function(c){var e=this,d;if(c){Ext.apply(e,c)}e.head=d={id:(e.seed=0),key:null,value:null};e.map={};d.next=d.prev=d};a.prototype=b={maxSize:100,count:0,clear:function(){var e=this,d=e.head,c=d.next;d.next=d.prev=d;if(!e.evict.$nullFn){for(;c!==d;c=c.next){e.evict(c.key,c.value)}}e.count=0},each:function(d,g){g=g||this;for(var e=this.head,c=e.next;c!==e;c=c.next){if(d.call(g,c.key,c.value)){break}}},get:function(e){var h=this,d=h.head,g=h.map,c=g[e];if(c){if(c.prev!==d){h.unlinkEntry(c);h.linkEntry(c)}}else{g[e]=c={id:++h.seed,key:e,value:h.miss.apply(h,arguments)};h.linkEntry(c);++h.count;while(h.count>h.maxSize){h.unlinkEntry(d.prev,true);--h.count}}return c.value},evict:Ext.emptyFn,linkEntry:function(c){var e=this.head,d=e.next;c.next=d;c.prev=e;e.next=c;d.prev=c},unlinkEntry:function(c,d){var e=c.next,g=c.prev;g.next=e;e.prev=g;if(d){this.evict(c.key,c.value)}}};b.destroy=b.clear}());(function(){var c,a=Ext.Base,b=a.$staticMembers,e=function(g,h){return(g.length-h.length)||((g<h)?-1:((g>h)?1:0))};function d(g){function h(){return this.constructor.apply(this,arguments)||null}if(g){h.name=g}return h}Ext.Class=c=function(g,h,i){if(typeof g!="function"){i=h;h=g;g=null}if(!h){h={}}g=c.create(g,h);c.process(g,h,i);return g};Ext.apply(c,{makeCtor:d,onBeforeCreated:function(g,h,i){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,">> Ext.Class#onBeforeCreated",arguments);g.addMembers(h);i.onCreated.call(g,g);Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"<< Ext.Class#onBeforeCreated",arguments)},create:function(g,h){var j=b.length,k;if(!g){g=d(h.$className)}while(j--){k=b[j];g[k]=a[k]}return g},process:function(g,h,o){var t=h.preprocessors||c.defaultPreprocessors,u=this.preprocessors,k={onBeforeCreated:this.onBeforeCreated},r=[],p,s,l,n,m,v,q;delete h.preprocessors;g._classHooks=k;for(l=0,n=t.length;l<n;l++){p=t[l];if(typeof p=="string"){p=u[p];s=p.properties;if(s===true){r.push(p.fn)}else{if(s){for(m=0,v=s.length;m<v;m++){q=s[m];if(h.hasOwnProperty(q)){r.push(p.fn);break}}}}}else{r.push(p)}}k.onCreated=o?o:Ext.emptyFn;k.preprocessors=r;this.doProcess(g,h,k)},doProcess:function(g,h,j){var k=this,m=j.preprocessors,l=m.shift(),i=k.doProcess;for(;l;l=m.shift()){if(l.call(k,g,h,j,i)===false){return}}j.onBeforeCreated.apply(k,arguments)},preprocessors:{},registerPreprocessor:function(h,g,j,i,k){if(!i){i="last"}if(!j){j=[h]}this.preprocessors[h]={name:h,properties:j||false,fn:g};this.setDefaultPreprocessorPosition(h,i,k);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,j,k){var g=this.defaultPreprocessors,h;if(typeof j=="string"){if(j==="first"){g.unshift(i);return this}else{if(j==="last"){g.push(i);return this}}j=(j==="after")?1:-1}h=Ext.Array.indexOf(g,k);if(h!==-1){Ext.Array.splice(g,Math.max(0,h+j),0,i)}return this}});c.registerPreprocessor("extend",function(j,k,m){Ext.classSystemMonitor&&Ext.classSystemMonitor(j,"Ext.Class#extendPreProcessor",arguments);var g=Ext.Base,h=g.prototype,l=k.extend,o,p,n;delete k.extend;if(l&&l!==Object){o=l}else{o=g}p=o.prototype;if(!o.$isClass){for(n in h){if(!p[n]){p[n]=h[n]}}}j.extend(o);j.triggerExtended.apply(j,arguments);if(k.onClassExtended){j.onExtended(k.onClassExtended,j);delete k.onClassExtended}},true);c.registerPreprocessor("privates",function(g,h){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#privatePreprocessor",arguments);var j=h.privates,k=j.statics,i=j.privacy||true;delete h.privates;delete j.statics;g.addMembers(j,false,i);if(k){g.addMembers(k,true,i)}});c.registerPreprocessor("statics",function(g,h){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#staticsPreprocessor",arguments);g.addStatics(h.statics);delete h.statics});c.registerPreprocessor("inheritableStatics",function(g,h){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#inheritableStaticsPreprocessor",arguments);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=e;Ext.getPlatformConfigKeys=function(h){var i=[],g,j;for(g in h){j=Ext.expressionCache.get(g);if(j(Ext.platformTags)){i.push(g)}}i.sort(e);return i};c.registerPreprocessor("platformConfig",function(h,o,q){var z=o.platformConfig,l=o.config,g,k,m,n,p,t,w,C,x,A,y,r,u,s,v,B;delete o.platformConfig;if(z instanceof Array){l=l||{};B=(Ext.theme||(Ext.theme={name:"Default"})).name;for(r=0,u=z.length;r<u;r++){y=z[r];x=y.platform;delete y.platform;A=[].concat(y.theme);v=A.length;delete y.theme;if(x&&Ext.filterPlatform(x)){Ext.merge(l,y)}if(v){for(s=0;s<v;s++){if(B===A[s]){Ext.merge(l,y)}}}}}else{n=h.getConfigurator();k=n.configs;t=Ext.getPlatformConfigKeys(z);for(r=0,u=t.length;r<u;++r){m=z[t[r]];p=g=null;for(w in m){C=m[w];if(l&&w in l){(g||(g={}))[w]=C;(p||(p={}))[w]=l[w];delete l[w]}else{if(w in k){(g||(g={}))[w]=C}else{o[w]=C}}}if(p){n.add(p)}if(g){n.add(g)}}}});c.registerPreprocessor("config",function(g,h){if(h.hasOwnProperty("$configPrefixed")){g.prototype.$configPrefixed=h.$configPrefixed}g.addConfig(h.config);delete h.config});c.registerPreprocessor("cachedConfig",function(g,h){if(h.hasOwnProperty("$configPrefixed")){g.prototype.$configPrefixed=h.$configPrefixed}g.addCachedConfig(h.cachedConfig);delete h.cachedConfig});c.registerPreprocessor("mixins",function(g,h,i){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#mixinsPreprocessor",arguments);var j=h.mixins,k=i.onCreated;delete h.mixins;i.onCreated=function(){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#mixinsPreprocessor#beforeCreated",arguments);i.onCreated=k;g.mixin(j);return i.onCreated.apply(this,arguments)}});Ext.extend=function(g,j,i){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#extend-backwards-compatible",arguments);if(arguments.length===2&&Ext.isObject(j)){i=j;j=g;g=null}var h;if(!j){throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page.")}i.extend=j;i.preprocessors=["extend","statics","inheritableStatics","mixins","platformConfig","config"];if(g){h=new c(g,i);h.prototype.constructor=g}else{h=new c(i)}h.prototype.override=function(l){for(var k in l){if(l.hasOwnProperty(k)){this[k]=l[k]}}};return h}}());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){return this.addMapping(b,a,this.aliasToName,this.nameToAliases)},addAlternate:function(b,a){return this.addMapping(b,a,this.alternateToName,this.nameToAlternates)},addMapping:function(g,d,p,o){var m=g.$className||g,l=m,e=this._array1,b,c,h,j,k,n;if(Ext.isString(m)){l={};l[m]=d}for(h in l){c=l[h];if(Ext.isString(c)){e[0]=c;c=e}k=c.length;n=o[h]||(o[h]=[]);for(j=0;j<k;++j){if(!(b=c[j])){continue}if(p[b]!==h){if(p[b]){Ext.log.warn("Overriding existing mapping: '"+b+"' From '"+p[b]+"' to '"+h+"'. Is this intentional?")}p[b]=h;n.push(b)}}}},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(g,d,a){var p=this,b=p.aliasToName,c=p.alternateToName,t=p.nameToAliases,u=p.nameToAlternates,m=a?d:{},s=[],h=Ext.isString(g)?[g]:g,k=h.length,w=p.wildcardRe,e,j,l,o,q,r,v;for(j=0;j<k;++j){if((e=h[j]).indexOf("*")<0){if(!(r=b[e])){if(!(r=c[e])){r=e}}if(!(r in m)&&!(d&&(r in d))){m[r]=1;s.push(r)}}else{v=new RegExp("^"+e.replace(w,"(.*?)")+"$");for(r in t){if(!(r in m)&&!(d&&(r in d))){if(!(o=v.test(r))){q=(l=t[r]).length;while(!o&&q-->0){o=v.test(l[q])}l=u[r];if(l&&!o){q=l.length;while(!o&&q-->0){o=v.test(l[q])}}}if(o){m[r]=1;s.push(r)}}}}}return s},getPath:function(a){var b=this,c=b.paths,e="",d;if(a in c){e=c[a]}else{d=b.getPrefix(a);if(d){a=a.substring(d.length+1);e=c[d];if(e){e+="/"}}e+=a.replace(b.dotRe,"/")+".js"}return e},getPrefix:function(a){if(a in this.paths){return a}var e=this.getPrefixes(),b=e.length,c,d;while(b-->0){c=(d=e[b]).length;if(c<a.length&&a.charAt(c)==="."&&d===a.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(k){var j=this,d=j.aliasToName,g=j.alternateToName,l=j.nameToAliases,m=j.nameToAlternates,c=l[k],e=m[k],h,b;delete l[k];delete m[k];if(c){for(h=c.length;h--;){if(k===(b=c[h])){delete d[b]}}}if(e){for(h=e.length;h--;){if(k===(b=e[h])){delete g[b]}}}},resolveName:function(b){var a=this,c;if(!(b in a.nameToAliases)){if(!(c=a.aliasToName[b])){c=a.alternateToName[b]}}return c||b},select:function(d,g){var b=this,a={},e={excludes:a,exclude:function(){b.getNamesByExpression(arguments,a,true);return this}},c;for(c in d){e[c]=b.selectMethod(a,d[c],g||d)}return e},selectMethod:function(a,b,d){var c=this;return function(g){var e=Ext.Array.slice(arguments,1);e.unshift(c.getNamesByExpression(g,a));return b.apply(d,e)}},setPath:Ext.Function.flexSetter(function(b,c){var a=this;a.paths[b]=c;a.names.push(b);a.prefixes=null;return a}),_compareNames:function(b,c){var a=b.length-c.length;if(!a){a=(b<c)?-1:1}return a}};Ext.ClassManager=(function(h,a,e,d,k){var m=Ext.Class.makeCtor,l=typeof window==="undefined",n=Ext.apply(new Ext.Inventory(),{classes:{},classState:{},existCache:{},namespaceRewrites:[{from:"Ext.",to:Ext}],enableNamespaceParseCache:true,namespaceParseCache:{},instantiators:[],isCreated:function(t){var u,v,w,y,x;if(typeof t!=="string"||t.length<1){throw new Error("[Ext.ClassManager] Invalid classname, must be a string and must not be empty")}if(n.classes[t]||n.existCache[t]){return true}y=k;x=n.parseNamespace(t);for(u=0,v=x.length;u<v;u++){w=x[u];if(typeof w!=="string"){y=w}else{if(!y||!y[w]){return false}y=y[w]}}n.triggerCreated(t);return true},createdListeners:[],nameCreatedListeners:{},existsListeners:[],nameExistsListeners:{},overrideMap:{},triggerCreated:function(t,u){n.existCache[t]=u||1;n.classState[t]+=40;n.notify(t,n.createdListeners,n.nameCreatedListeners)},onCreated:function(u,v,t){n.addListener(u,v,t,n.createdListeners,n.nameCreatedListeners)},notify:function(u,y,B){var t=n.getAlternatesByName(u),C=[u],v,z,w,D,x,A;for(v=0,z=y.length;v<z;v++){x=y[v];x.fn.call(x.scope,u)}while(C){for(v=0,z=C.length;v<z;v++){A=C[v];y=B[A];if(y){for(w=0,D=y.length;w<D;w++){x=y[w];x.fn.call(x.scope,A)}delete B[A]}}C=t;t=null}},addListener:function(u,z,t,x,y){if(Ext.isArray(t)){u=Ext.Function.createBarrier(t.length,u,z);for(v=0;v<t.length;v++){this.addListener(u,null,t[v],x,y)}return}var v,w={fn:u,scope:z};if(t){if(this.isCreated(t)){u.call(z,t);return}if(!y[t]){y[t]=[]}y[t].push(w)}else{x.push(w)}},parseNamespace:function(y){if(typeof y!=="string"){throw new Error("[Ext.ClassManager] Invalid namespace, must be a string")}var t=this.namespaceParseCache,z,B,C,x,A,u,D,v,w;if(this.enableNamespaceParseCache){if(t.hasOwnProperty(y)){return t[y]}}z=[];B=this.namespaceRewrites;C=k;x=y;for(v=0,w=B.length;v<w;v++){A=B[v];u=A.from;D=A.to;if(x===u||x.substring(0,u.length)===u){x=x.substring(u.length);if(typeof D!=="string"){C=D}else{z=z.concat(D.split("."))}break}}z.push(C);z=z.concat(x.split("."));if(this.enableNamespaceParseCache){t[y]=z}return z},setNamespace:function(w,A){var z=k,y=this.parseNamespace(w),v=y.length-1,u=y[v],t,x;for(t=0;t<v;t++){x=y[t];if(typeof x!=="string"){z=x}else{if(!z[x]){z[x]={}}z=z[x]}}z[u]=A;return z[u]},createNamespaces:function(){var y=k,x,w,t,u,v,z;for(t=0,v=arguments.length;t<v;t++){x=this.parseNamespace(arguments[t]);for(u=0,z=x.length;u<z;u++){w=x[u];if(typeof w!=="string"){y=w}else{if(!y[w]){y[w]={}}y=y[w]}}}return y},set:function(u,w){var t=this,v=t.getName(w);t.classes[u]=t.setNamespace(u,w);if(v&&v!==u){t.addAlternate(v,u)}return this},get:function(w){var t=this.classes,z,y,x,u,v;if(t[w]){return t[w]}z=k;y=this.parseNamespace(w);for(u=0,v=y.length;u<v;u++){x=y[u];if(typeof x!=="string"){z=x}else{if(!z||!z[x]){return null}z=z[x]}}return z},addNameAliasMappings:function(t){this.addAlias(t)},addNameAlternateMappings:function(t){this.addAlternate(t)},getByAlias:function(t){return this.get(this.getNameByAlias(t))},getName:function(t){return t&&t.$className||""},getClass:function(t){return t&&t.self||null},create:function(t,w,u){if(t!=null&&typeof t!=="string"){throw new Error("[Ext.define] Invalid class name '"+t+"' specified, must be a non-empty string")}var v=m(t);if(typeof w==="function"){w=w(v)}if(t){if(n.classes[t]){Ext.log.warn("[Ext.define] Duplicate class name '"+t+"' specified, must be a non-empty string")}v.name=t}w.$className=t;return new h(v,w,function(){var E=w.postprocessors||n.defaultPostprocessors,F=n.postprocessors,D=[],A,x,z,y,G,B,C;delete w.postprocessors;for(x=0,z=E.length;x<z;x++){A=E[x];if(typeof A==="string"){A=F[A];B=A.properties;if(B===true){D.push(A.fn)}else{if(B){for(y=0,G=B.length;y<G;y++){C=B[y];if(w.hasOwnProperty(C)){D.push(A.fn);break}}}}}else{D.push(A)}}w.postprocessors=D;w.createdFn=u;n.processCreate(t,this,w)})},processCreate:function(t,u,v){var x=this,y=v.postprocessors.shift(),w=v.createdFn;if(!y){Ext.classSystemMonitor&&Ext.classSystemMonitor(t,"Ext.ClassManager#classCreated",arguments);if(t){x.set(t,u)}delete u._classHooks;if(w){w.call(u,u)}if(t){x.triggerCreated(t)}return}if(y.call(x,t,u,v,x.processCreate)!==false){x.processCreate(t,u,v)}},createOverride:function(t,x,w){var z=this,C=x.override,D=x.requires,E=x.uses,A=x.mixins,B,v=x.compatibility,y,u=function(){var F,G,H,I,J;if(!y){G=D?D.slice(0):[];if(A){if(!(B=A instanceof Array)){for(I in A){if(Ext.isString(F=A[I])){G.push(F)}}}else{for(H=0,J=A.length;H<J;++H){if(Ext.isString(F=A[H])){G.push(F)}}}}y=true;if(G.length){Ext.require(G,u);return}}if(B){for(H=0,J=A.length;H<J;++H){if(Ext.isString(F=A[H])){A[H]=Ext.ClassManager.get(F)}}}else{if(A){for(I in A){if(Ext.isString(F=A[I])){A[I]=Ext.ClassManager.get(F)}}}}F=z.get(C);delete x.override;delete x.compatibility;delete x.requires;delete x.uses;Ext.override(F,x);Ext.Loader.history.push(t);if(E){Ext.Loader.addUsedClasses(E)}if(w){w.call(F,F)}};n.overrideMap[t]=true;if(!v||Ext.checkVersion(v)){z.onCreated(u,z,C)}z.triggerCreated(t,2);return z},instantiateByAlias:function(){var t=arguments[0],u=e.call(arguments),v=this.getNameByAlias(t);if(!v){throw new Error("[Ext.createByAlias] Unrecognized alias: "+t)}u[0]=v;return Ext.create.apply(Ext,u)},instantiate:function(){Ext.log.warn("Ext.ClassManager.instantiate() is deprecated.  Use Ext.create() instead.");return Ext.create.apply(Ext,arguments)},dynInstantiate:function(u,t){t=d(t,true);t.unshift(u);return Ext.create.apply(Ext,t)},getInstantiator:function(x){var w=this.instantiators,v,u,t;v=w[x];if(!v){u=x;t=[];for(u=0;u<x;u++){t.push("a["+u+"]")}v=w[x]=new Function("c","a","return new c("+t.join(",")+")");v.name="Ext.create"+x}return v},postprocessors:{},defaultPostprocessors:[],registerPostprocessor:function(u,t,w,v,x){if(!v){v="last"}if(!w){w=[u]}this.postprocessors[u]={name:u,properties:w||false,fn:t};this.setDefaultPostprocessorPosition(u,v,x);return this},setDefaultPostprocessors:function(t){this.defaultPostprocessors=d(t);return this},setDefaultPostprocessorPosition:function(v,w,x){var t=this.defaultPostprocessors,u;if(typeof w==="string"){if(w==="first"){t.unshift(v);return this}else{if(w==="last"){t.push(v);return this}}w=(w==="after")?1:-1}u=Ext.Array.indexOf(t,x);if(u!==-1){Ext.Array.splice(t,Math.max(0,u+w),0,v)}return this}});n.registerPostprocessor("alias",function(y,u,v){Ext.classSystemMonitor&&Ext.classSystemMonitor(y,"Ext.ClassManager#aliasPostProcessor",arguments);var t=Ext.Array.from(v.alias),w,x;for(w=0,x=t.length;w<x;w++){a=t[w];this.addAlias(u,a)}},["xtype","alias"]);n.registerPostprocessor("singleton",function(w,t,u,v){Ext.classSystemMonitor&&Ext.classSystemMonitor(w,"Ext.ClassManager#singletonPostProcessor",arguments);if(u.singleton){v.call(this,w,new t(),u)}else{return true}return false});n.registerPostprocessor("alternateClassName",function(z,v,w){Ext.classSystemMonitor&&Ext.classSystemMonitor(z,"Ext.ClassManager#alternateClassNamePostprocessor",arguments);var u=w.alternateClassName,x,y,t;if(!(u instanceof Array)){u=[u]}for(x=0,y=u.length;x<y;x++){t=u[x];if(typeof t!=="string"){throw new Error("[Ext.define] Invalid alternate of: '"+t+"' for class: '"+z+"'; must be a valid string")}this.set(t,v)}});n.registerPostprocessor("debugHooks",function(v,t,u){Ext.classSystemMonitor&&Ext.classSystemMonitor(t,"Ext.Class#debugHooks",arguments);if(Ext.isDebugEnabled(t.$className,u.debugHooks.$enabled)){delete u.debugHooks.$enabled;Ext.override(t,u.debugHooks)}var w=t.isInstance?t.self:t;delete w.prototype.debugHooks});n.registerPostprocessor("deprecated",function(v,t,u){Ext.classSystemMonitor&&Ext.classSystemMonitor(t,"Ext.Class#deprecated",arguments);var w=t.isInstance?t.self:t;w.addDeprecations(u.deprecated);delete w.prototype.deprecated});Ext.apply(Ext,{create:function(){var v=arguments[0],w=typeof v,t=e.call(arguments,1),u;if(w==="function"){u=v}else{if(w!=="string"&&t.length===0){t=[v];if(!(v=v.xclass)){v=t[0].xtype;if(v){v="widget."+v}}}if(typeof v!=="string"||v.length<1){throw new Error("[Ext.create] Invalid class name or alias '"+v+"' specified, must be a non-empty string")}v=n.resolveName(v);u=n.get(v)}if(!u){!l&&Ext.log.warn("[Ext.Loader] Synchronously loading '"+v+"'; consider adding Ext.require('"+v+"') above Ext.onReady");Ext.syncRequire(v);u=n.get(v)}if(!u){throw new Error("[Ext.create] Unrecognized class name / alias: "+v)}if(typeof u!=="function"){throw new Error("[Ext.create] Singleton '"+v+"' cannot be instantiated.")}return n.getInstantiator(t.length)(u,t)},widget:function(w,v){var y=w,t,u,x;if(typeof y!=="string"){v=w;y=v.xtype;u=v.xclass}else{v=v||{}}if(v.isComponent){return v}if(!u){t="widget."+y;u=n.getNameByAlias(t)}if(u){x=n.get(u)}if(!x){return Ext.create(u||t,v)}return new x(v)},createByAlias:a(n,"instantiateByAlias"),define:function(t,v,u){Ext.classSystemMonitor&&Ext.classSystemMonitor(t,"ClassManager#define",arguments);if(v.override){n.classState[t]=20;return n.createOverride.apply(n,arguments)}n.classState[t]=10;return n.create.apply(n,arguments)},undefine:function(u){Ext.classSystemMonitor&&Ext.classSystemMonitor(u,"Ext.ClassManager#undefine",arguments);var t=n.classes,z,y,x,w;delete n.namespaceParseCache[u];delete t[u];delete n.existCache[u];delete n.classState[u];n.removeName(u);z=n.parseNamespace(u);y=z.length-1;x=z[0];for(w=1;w<y;w++){x=x[z[w]];if(!x){return}}try{delete x[z[y]]}catch(v){x[z[y]]=undefined}},getClassName:a(n,"getName"),getDisplayName:function(t){if(t){if(t.displayName){return t.displayName}if(t.$name&&t.$class){return Ext.getClassName(t.$class)+"#"+t.$name}if(t.$className){return t.$className}}return"Anonymous"},getClass:a(n,"getClass"),namespace:a(n,"createNamespaces")});Ext.createWidget=Ext.widget;Ext.ns=Ext.namespace;h.registerPreprocessor("className",function(t,u){if("$className" in u){t.$className=u.$className;t.displayName=t.$className}Ext.classSystemMonitor&&Ext.classSystemMonitor(t,"Ext.ClassManager#classNamePreprocessor",arguments)},true,"first");h.registerPreprocessor("alias",function(v,w){Ext.classSystemMonitor&&Ext.classSystemMonitor(v,"Ext.ClassManager#aliasPreprocessor",arguments);var z=v.prototype,D=d(w.xtype),u=d(w.alias),A="widget.",B=A.length,E=Array.prototype.slice.call(z.xtypesChain||[]),F=Ext.merge({},z.xtypesMap||{}),x,y,t,C;for(x=0,y=u.length;x<y;x++){t=u[x];if(typeof t!=="string"||t.length<1){throw new Error("[Ext.define] Invalid alias of: '"+t+"' for class: '"+p+"'; must be a valid string")}if(t.substring(0,B)===A){C=t.substring(B);Ext.Array.include(D,C)}}v.xtype=w.xtype=D[0];w.xtypes=D;for(x=0,y=D.length;x<y;x++){C=D[x];if(!F[C]){F[C]=true;E.push(C)}}w.xtypesChain=E;w.xtypesMap=F;Ext.Function.interceptAfter(w,"onClassCreated",function(){Ext.classSystemMonitor&&Ext.classSystemMonitor(v,"Ext.ClassManager#aliasPreprocessor#afterClassCreated",arguments);var I=z.mixins,G,H;for(G in I){if(I.hasOwnProperty(G)){H=I[G];D=H.xtypes;if(D){for(x=0,y=D.length;x<y;x++){C=D[x];if(!F[C]){F[C]=true;E.push(C)}}}}}});for(x=0,y=D.length;x<y;x++){C=D[x];if(typeof C!=="string"||C.length<1){throw new Error("[Ext.define] Invalid xtype of: '"+C+"' for class: '"+p+"'; must be a valid non-empty string")}Ext.Array.include(u,A+C)}w.alias=u},["xtype","alias"]);if(Ext.manifest){var o=Ext.manifest,i=o.classes,s=o.paths,b={},c={},j,q,p,r,g;if(s){if(o.bootRelative){g=Ext.Boot.baseUrl;for(r in s){if(s.hasOwnProperty(r)){s[r]=g+s[r]}}}n.setPath(s)}if(i){for(j in i){c[j]=[];b[j]=[];q=i[j];if(q.alias){b[j]=q.alias}if(q.alternates){c[j]=q.alternates}}}n.addAlias(b);n.addAlternate(c)}return n}(Ext.Class,Ext.Function.alias,Array.prototype.slice,Ext.Array.from,Ext.global));(Ext.env||(Ext.env={})).Browser=function(v,u){var q=this,d=q.browserPrefixes,k=q.enginePrefixes,a=v.match(new RegExp("((?:"+Ext.Object.getValues(d).join(")|(?:")+"))([\\w\\._]+)")),g=v.match(new RegExp("((?:"+Ext.Object.getValues(k).join(")|(?:")+"))([\\w\\._]+)")),c=q.browserNames,b=c.other,j=q.engineNames,h=j.other,e="",l="",o="",n=false,m,t,r,s,p;q.userAgent=v;if(/Edge\//.test(v)){a=v.match(/(Edge\/)([\w.]+)/)}if(a){b=c[Ext.Object.getKey(d,a[1])];if(b==="Safari"&&/^Opera/.test(v)){b="Opera"}e=new Ext.Version(a[2])}if(g){h=j[Ext.Object.getKey(k,g[1])];l=new Ext.Version(g[2])}if(h==="Trident"&&b!=="IE"){b="IE";var w=v.match(/.*rv:(\d+.\d+)/);if(w&&w.length){w=w[1];e=new Ext.Version(w)}}if(v.match(/FB/)&&b==="Other"){b=c.safari;h=j.webkit}if(v.match(/Android.*Chrome/g)){b="ChromeMobile"}if(v.match(/OPR/)){b="Opera";a=v.match(/OPR\/(\d+.\d+)/);e=new Ext.Version(a[1])}Ext.apply(this,{engineName:h,engineVersion:l,name:b,version:e});this.setFlag(b,true,u);if(e){o=e.getMajor()||"";if(q.is.IE){o=parseInt(o,10);r=document.documentMode;if(r===7||(o===7&&r!==8&&r!==9&&r!==10)){o=7}else{if(r===8||(o===8&&r!==8&&r!==9&&r!==10)){o=8}else{if(r===9||(o===9&&r!==7&&r!==8&&r!==10)){o=9}else{if(r===10||(o===10&&r!==7&&r!==8&&r!==9)){o=10}else{if(r===11||(o===11&&r!==7&&r!==8&&r!==9&&r!==10)){o=11}}}}}p=Math.max(o,11);for(m=7;m<=p;++m){t="isIE"+m;if(o<=m){Ext[t+"m"]=true}if(o===m){Ext[t]=true}if(o>=m){Ext[t+"p"]=true}}}if(q.is.Opera&&parseInt(o,10)<=12){Ext.isOpera12m=true}Ext.chromeVersion=Ext.isChrome?o:0;Ext.firefoxVersion=Ext.isFirefox?o:0;Ext.ieVersion=Ext.isIE?o:0;Ext.operaVersion=Ext.isOpera?o:0;Ext.safariVersion=Ext.isSafari?o:0;Ext.webKitVersion=Ext.isWebKit?o:0;this.setFlag(b+o,true,u);this.setFlag(b+e.getShortVersion())}for(m in c){if(c.hasOwnProperty(m)){s=c[m];this.setFlag(s,b===s)}}this.setFlag(s);if(l){this.setFlag(h+(l.getMajor()||""));this.setFlag(h+l.getShortVersion())}for(m in j){if(j.hasOwnProperty(m)){s=j[m];this.setFlag(s,h===s,u)}}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){n=true;this.setFlag("PhoneGap");this.setFlag("Cordova")}if(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(v)){n=true}this.setFlag("WebView",n);this.isStrict=Ext.isStrict=document.compatMode==="CSS1Compat";this.isSecure=Ext.isSecure;this.identity=b+o+(this.isStrict?"Strict":"Quirks")};Ext.env.Browser.prototype={constructor:Ext.env.Browser,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"},engineNames:{webkit:"WebKit",gecko:"Gecko",presto:"Presto",trident:"Trident",other:"Other"},enginePrefixes:{webkit:"AppleWebKit/",gecko:"Gecko/",presto:"Presto/",trident:"Trident/"},browserPrefixes:{ie:"MSIE ",edge:"Edge/",firefox:"Firefox/",chrome:"Chrome/",safari:"Version/",opera:"OPR/",dolfin:"Dolfin/",webosbrowser:"wOSBrowser/",chromeMobile:"CrMo/",chromeiOS:"CriOS/",silk:"Silk/"},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(o,l,a){var h=this,k=h.names,n=h.prefixes,j,p="",c=h.is,b,m,e,d,g;a=a||Ext.browser;for(b in n){if(n.hasOwnProperty(b)){m=n[b];e=o.match(new RegExp("(?:"+m+")([^\\s;]+)"));if(e){j=k[b];g=e[1];if(g&&g==="HTC_"){p=new Ext.Version("2.3")}else{if(g&&g==="Silk/"){p=new Ext.Version("2.3")}else{p=new Ext.Version(e[e.length-1])}}break}}}if(!j){j=k[(o.toLowerCase().match(/mac|win|linux/)||["other"])[0]];p=new Ext.Version("")}this.name=j;this.version=p;if(l){this.setFlag(l.replace(/ simulator$/i,""))}this.setFlag(j);if(p){this.setFlag(j+(p.getMajor()||""));this.setFlag(j+p.getShortVersion())}for(b in k){if(k.hasOwnProperty(b)){d=k[b];if(!c.hasOwnProperty(j)){this.setFlag(d,(j===d))}}}if(this.name==="iOS"&&window.screen.height===568){this.setFlag("iPhone5")}if(a.is.Safari||a.is.Silk){if(this.is.Android2||this.is.Android3||a.version.shortVersion===501){a.setFlag("AndroidStock");a.setFlag("AndroidStock2")}if(this.is.Android4){a.setFlag("AndroidStock");a.setFlag("AndroidStock4")}}};Ext.env.OS.prototype={constructor:Ext.env.OS,names:{ios:"iOS",android:"Android",windowsPhone:"WindowsPhone",webos:"webOS",blackberry:"BlackBerry",rimTablet:"RIMTablet",mac:"MacOS",win:"Windows",tizen:"Tizen",linux:"Linux",bada:"Bada",chrome:"ChromeOS",other:"Other"},prefixes:{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/",chrome:"CrOS "},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 d=Ext.global.navigator,j=d.userAgent,e=Ext.env.OS,b=(Ext.is||(Ext.is={})),g,h,a;e.prototype.flags=b;Ext.os=g=new e(j,d.platform);h=g.name;Ext["is"+h]=true;Ext.isMac=b.Mac=b.MacOS;var i=window.location.search.match(/deviceType=(Tablet|Phone)/),c=window.deviceType;if(i&&i[1]){a=i[1]}else{if(c==="iPhone"){a="Phone"}else{if(c==="iPad"){a="Tablet"}else{if(!g.is.Android&&!g.is.iOS&&!g.is.WindowsPhone&&/Windows|Linux|MacOS/.test(h)){a="Desktop";Ext.browser.is.WebView=!!Ext.browser.is.Ripple}else{if(g.is.iPad||g.is.RIMTablet||g.is.Android3||Ext.browser.is.Silk||(g.is.Android4&&j.search(/mobile/i)===-1)){a="Tablet"}else{a="Phone"}}}}}g.setFlag(a,true);g.deviceType=a;delete e.prototype.flags}());Ext.feature={has:function(a){return !!this.has[a]},testElements:{},getTestElement:function(b,a){if(b===undefined){b="div"}else{if(typeof b!=="string"){return b}}if(a){return document.createElement(b)}if(!this.testElements[b]){this.testElements[b]=document.createElement(b)}return this.testElements[b]},isStyleSupported:function(c,d){var b=this.getTestElement(d).style,a=Ext.String.capitalize(c);if(typeof b[c]!=="undefined"||typeof b[Ext.browser.getStylePrefix(c)+a]!=="undefined"){return true}return false},isStyleSupportedWithoutPrefix:function(b,c){var a=this.getTestElement(c).style;if(typeof a[b]!=="undefined"){return true}return false},isEventSupported:function(d,e){if(e===undefined){e=window}var a=this.getTestElement(e),b="on"+d.toLowerCase(),c=(b in a);if(!c){if(a.setAttribute&&a.removeAttribute){a.setAttribute(b,"");c=typeof a[b]==="function";if(typeof a[b]!=="undefined"){a[b]=undefined}a.removeAttribute(b)}}return c},getStyle:function(a,c){var d=a.ownerDocument.defaultView,b=(d?d.getComputedStyle(a,null):a.currentStyle);return(b||a.style)[c]},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(d){var e=this,b=document,l=e.toRun||e.tests,g=l.length,a=b.createElement("div"),i=[],j=Ext.supports,c=e.has,h,k,o,m;if(!Ext.theme){Ext.theme={name:"Default"}}Ext.theme.is={};Ext.theme.is[Ext.theme.name]=true;a.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(d){b.body.appendChild(a)}o=e.preDetected[Ext.browser.identity]||[];while(g--){k=l[g];m=o[g];h=k.name;if(m===undefined){if(!d&&k.ready){i.push(k);continue}m=k.fn.call(e,b,a)}j[h]=c[h]=m}if(d){b.body.removeChild(a)}e.toRun=i},report:function(){var c=[],b=this.tests.length,a;for(a=0;a<b;++a){c.push(this.has[this.tests[a].name]?1:0)}Ext.log(Ext.browser.identity+": ["+c.join(",")+"]")},preDetected:{},tests:[{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:"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 a=this.getTestElement(),b=false;a.innerHTML="<!--[if vml]><br><![endif]-->";b=(a.childNodes.length===1);a.innerHTML="";return b}},{name:"touchScroll",fn:function(){return false}},{name:"Touch",fn:function(){return false}},{name:"TouchEvents",fn:function(){return false}},{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:"CssTransforms",fn:function(){return this.isStyleSupported("transform")}},{name:"CssTransformNoPrefix",fn:function(){return this.isStyleSupportedWithoutPrefix("transform")}},{name:"Css3dTransforms",fn:function(){return this.has("CssTransforms")&&this.isStyleSupported("perspective")&&!Ext.browser.is.AndroidStock2}},{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:"ProperHBoxStretching",ready:true,fn:function(){var a=document.createElement("div"),c=a.appendChild(document.createElement("div")),b=c.appendChild(document.createElement("div")),d;a.setAttribute("style","width: 100px; height: 100px; position: relative;");c.setAttribute("style","position: absolute; display: -ms-flexbox; display: -webkit-flex; display: -moz-flexbox; display: flex; -ms-flex-direction: row; -webkit-flex-direction: row; -moz-flex-direction: row; flex-direction: row; min-width: 100%;");b.setAttribute("style","width: 200px; height: 50px;");document.body.appendChild(a);d=c.offsetWidth;document.body.removeChild(a);return(d>100)}},{name:"matchesSelector",fn:function(){var a=document.documentElement,d="matches",e="webkitMatchesSelector",b="msMatchesSelector",c="mozMatchesSelector";return a[d]?d:a[e]?e:a[b]?b:a[c]?c:null}},{name:"RightMargin",ready:true,fn:function(b,a){var c=b.defaultView;return !(c&&c.getComputedStyle(a.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,a,c){c=b.defaultView;return !(c&&c.getComputedStyle(a.lastChild,null).backgroundColor!=="transparent")}},{name:"ComputedStyle",ready:true,fn:function(b,a,c){c=b.defaultView;return c&&c.getComputedStyle}},{name:"Float",fn:function(a){return"cssFloat" in a.documentElement.style}},{name:"CSS3BorderRadius",ready:true,fn:function(a){var b=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],d=false,c;for(c=0;c<b.length;c++){if(a.documentElement.style[b[c]]!==undefined){d=true}}return d&&!Ext.isIE9}},{name:"CSS3LinearGradient",fn:function(b,a){var h="background-image:",j="-webkit-gradient(linear, left top, right bottom, from(black), to(white))",i="linear-gradient(left top, black, white)",c="-moz-"+i,d="-ms-"+i,e="-o-"+i,g=[h+j,h+i,h+c,h+d,h+e];a.style.cssText=g.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(b,a){if(Ext.isIE8){return false}a.firstChild.style.cssText="opacity:0.73";return a.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(b){var a=b.body,e=false,c=b.createElement("div"),d=c.style;if(c.getBoundingClientRect){d.position="absolute";d.top="0";d.WebkitTransform=d.MozTransform=d.msTransform=d.OTransform=d.transform="rotate(90deg)";d.width="100px";d.height="30px";a.appendChild(c);e=c.getBoundingClientRect().height!==100;a.removeChild(c)}return e}},{name:"ChildContentClearedWhenSettingInnerHTML",ready:true,fn:function(){var b=this.getTestElement(),a;b.innerHTML="<div>a</div>";a=b.firstChild;b.innerHTML="<div>b</div>";return a.innerHTML!=="a"}},{name:"IncludePaddingInWidthCalculation",ready:true,fn:function(b,a){return a.childNodes[1].firstChild.offsetWidth===210}},{name:"IncludePaddingInHeightCalculation",ready:true,fn:function(b,a){return a.childNodes[1].firstChild.offsetHeight===210}},{name:"TextAreaMaxLength",fn:function(a){return("maxlength" in a.createElement("textarea"))}},{name:"GetPositionPercentage",ready:true,fn:function(b,a){return Ext.feature.getStyle(a.childNodes[2],"left")==="10%"}},{name:"PercentageHeightOverflowBug",ready:true,fn:function(a){var c=false,d,b;if(Ext.getScrollbarSize().height){b=this.getTestElement();d=b.style;d.height="50px";d.width="50px";d.overflow="auto";d.position="absolute";b.innerHTML=['<div style="display:table;height:100%;">','<div style="width:51px;"></div>',"</div>"].join("");a.body.appendChild(b);if(b.firstChild.offsetHeight===50){c=true}a.body.removeChild(b)}return c}},{name:"xOriginBug",ready:true,fn:function(d,c){c.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 e=document.getElementById("b1").getBoundingClientRect(),a=document.getElementById("b2").getBoundingClientRect(),b=document.getElementById("b3").getBoundingClientRect();return(a.left!==e.left&&b.right!==e.right)}},{name:"ScrollWidthInlinePaddingBug",ready:true,fn:function(a){var c=false,d,b;b=a.createElement("div");d=b.style;d.height="50px";d.width="50px";d.padding="10px";d.overflow="hidden";d.position="absolute";b.innerHTML='<span style="display:inline-block;zoom:1;height:60px;width:60px;"></span>';a.body.appendChild(b);if(b.scrollWidth===70){c=true}a.body.removeChild(b);return c}},{name:"rtlVertScrollbarOnRight",ready:true,fn:function(b,a){a.innerHTML='<div style="height:100px;width:100px;direction:rtl;overflow:scroll"><div style="width:20px;height:200px;"></div></div>';var d=a.firstChild,c=d.firstChild;return(c.offsetLeft+c.offsetWidth!==d.offsetLeft+d.offsetWidth)}},{name:"rtlVertScrollbarOverflowBug",ready:true,fn:function(b,a){a.innerHTML='<div style="height:100px;width:100px;direction:rtl;overflow:auto"><div style="width:95px;height:200px;"></div></div>';var c=a.firstChild;return c.clientHeight===c.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}},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,events:[],firing:false,generation:0,listeners:[],nextId:0,sortGeneration:0,state:0,timer:null,bind:function(){var b=Ext.env.Ready,a=document;if(!b.bound){if(a.readyState==="complete"){b.onReadyEvent({type:a.readyState||"body"})}else{b.bound=1;if(Ext.browser.is.PhoneGap&&!Ext.os.is.Desktop){b.bound=2;a.addEventListener("deviceready",b.onReadyEvent,false)}a.addEventListener("DOMContentLoaded",b.onReadyEvent,false);window.addEventListener("load",b.onReadyEvent,false)}}},block:function(){++this.blocks;Ext.isReady=false},fireReady:function(){var a=Ext.env.Ready;if(!a.state){Ext._readyTime=Ext.now();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.now();a.invokeAll();Ext._afterReadytime=Ext.now()}},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 c=this,b=c.listeners,a;if(!c.blocks){Ext.isReady=true}c.firing=true;while(b.length){if(c.sortGeneration!==c.generation){c.sortGeneration=c.generation;b.sort(c.sortFn)}a=b.pop();if(c.blocks&&!a.dom){b.push(a);break}c.invoke(a)}c.firing=false},makeListener:function(a,d,b){var c={fn:a,id:++this.nextId,scope:d,dom:false,priority:0};if(b){Ext.apply(c,b)}c.phase=c.dom?0:1;return c},on:function(a,e,d){var c=Ext.env.Ready,b=c.makeListener(a,e,d);if(c.state===2&&!c.firing&&(b.dom||!c.blocks)){c.invoke(b)}else{c.listeners.push(b);++c.generation;if(!c.bound){c.bind()}}},onReadyEvent:function(a){var b=Ext.env.Ready;if(Ext.elevateFunction){Ext.elevateFunction(b.doReadyEvent,b,arguments)}else{b.doReadyEvent(a)}},doReadyEvent:function(a){var b=this;if(a&&a.type){b.events.push(a)}if(b.bound>0){b.unbind();b.bound=-1}if(!b.state){b.fireReady()}},sortFn:function(c,d){return -((c.phase-d.phase)||(d.priority-c.priority)||(c.id-d.id))},unblock:function(){var a=this;if(a.blocks){if(!--a.blocks){if(a.state===2&&!a.firing){a.invokeAll()}}}},unbind:function(){var b=this,a=document;if(b.bound>1){a.removeEventListener("deviceready",b.onReadyEvent,false)}a.removeEventListener("DOMContentLoaded",b.onReadyEvent,false);window.removeEventListener("load",b.onReadyEvent,false)}};(function(){var a=Ext.env.Ready;if(Ext.isIE9m){Ext.apply(a,{scrollTimer:null,readyStatesRe:/complete/i,pollScroll:function(){var c=true;try{document.documentElement.doScroll("left")}catch(b){c=false}if(c&&document.body){a.onReadyEvent({type:"doScroll"})}else{a.scrollTimer=Ext.defer(a.pollScroll,20)}return c},bind:function(){if(a.bound){return}var b=document,d;try{d=window.frameElement===undefined}catch(c){}if(!d||!b.documentElement.doScroll){a.pollScroll=Ext.emptyFn}else{if(a.pollScroll()){return}}if(b.readyState==="complete"){a.onReadyEvent({type:"already "+(b.readyState||"body")})}else{b.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(b,e,d){var c={dom:true};if(d){Ext.apply(c,d)}a.on(b,e,c)};Ext.onReady=function(b,d,c){a.on(b,d,c)};Ext.onInternalReady=function(b,d,c){a.on(b,d,Ext.apply({priority:1000},c))};a.bind()}());Ext.Loader=(new function(){var l=this,m=Ext.ClassManager,e=Ext.Boot,g=Ext.Class,n=Ext.env.Ready,d=Ext.Function.alias,i=["extend","mixins","requires"],k={},j=[],o=[],p=[],c={},b={},a={enabled:true,scriptChainDelay:false,disableCaching:true,disableCachingParam:"_dc",paths:m.paths,preserveScripts:true,scriptCharset:undefined},h={disableCaching:true,disableCachingParam:true,preserveScripts:true,scriptChainDelay:"loadDelay"};Ext.apply(l,{isInHistory:k,isLoading:false,history:j,config:a,readyListeners:o,optionalRequires:p,requiresMap:c,hasFileLoadError:false,scriptsLoading:0,classesLoading:[],syncModeEnabled:false,missingQueue:b,init:function(){var z=document.getElementsByTagName("script"),A=z[z.length-1].src,y=A.substring(0,A.lastIndexOf("/")+1),w=Ext._classPathMetadata,x=Ext.Microloader,v=Ext.manifest,u,q,t,r,s;if(A.indexOf("packages/sencha-core/src/")!==-1){y=y+"../../"}else{if(A.indexOf("/core/src/class/")!==-1){y=y+"../../../"}}if(!m.getPath("Ext")){m.setPath("Ext",y+"src")}if(w){Ext._classPathMetadata=null;l.addClassPathMappings(w)}if(v){u=v.loadOrder;q=Ext.Boot.baseUrl;if(u&&v.bootRelative){for(t=u.length,r=0;r<t;r++){s=u[r];s.path=q+s.path}}}if(x){n.block();x.onMicroloaderReady(function(){n.unblock()})}},setConfig:Ext.Function.flexSetter(function(r,s){if(r==="paths"){l.setPath(s)}else{a[r]=s;var q=h[r];if(q){e.setConfig((q===true)?r:q,s)}}return l}),getConfig:function(q){return q?a[q]:a},setPath:function(){m.setPath.apply(m,arguments);return l},addClassPathMappings:function(q){m.setPath(q);return l},addBaseUrlClassPathMappings:function(r){for(var q in r){r[q]=e.baseUrl+r[q]}Ext.Loader.addClassPathMappings(r)},getPath:function(q){return m.getPath(q)},require:function(s,t,u,r){if(r){return l.exclude(r).require(s,t,u)}var q=m.getNamesByExpression(s);return l.load(q,t,u)},syncRequire:function(){var r=l.syncModeEnabled;l.syncModeEnabled=true;var q=l.require.apply(l,arguments);l.syncModeEnabled=r;return q},exclude:function(q){var r=m.select({require:function(s,t,u){return l.load(s,t,u)},syncRequire:function(s,t,v){var w=l.syncModeEnabled;l.syncModeEnabled=true;var u=l.load(s,t,v);l.syncModeEnabled=w;return u}});r.exclude(q);return r},load:function(s,q,x){if(q){if(q.length){q=l.makeLoadCallback(s,q)}q=q.bind(x||Ext.global)}var u=[],v=s.length,r,t,w,z=[],y=m.classState;for(t=0;t<v;++t){r=m.resolveName(s[t]);if(!m.isCreated(r)){u.push(r);b[r]=l.getPath(r);if(!y[r]){z.push(b[r])}}}w=u.length;if(w){l.missingCount+=w;Ext.Array.push(l.classesLoading,u);m.onCreated(function(){Ext.Array.remove(l.classesLoading,u);Ext.each(u,function(A){Ext.Array.remove(l.classesLoading,A)});if(q){Ext.callback(q,x,arguments)}l.checkReady()},l,u);if(!a.enabled){Ext.Error.raise("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((u.length>1)?"es":"")+": "+u.join(", "))}if(z.length){l.loadScripts({url:z,_classNames:u})}else{l.checkReady()}}else{if(q){q.call(x)}l.checkReady()}if(l.syncModeEnabled){if(v===1){return m.get(s[0])}}return l},makeLoadCallback:function(r,q){return function(){var s=[],t=r.length;while(t-->0){s[t]=m.get(r[t])}return q.apply(this,s)}},onLoadFailure:function(){var r=this,q=r.onError;l.hasFileLoadError=true;--l.scriptsLoading;if(q){q.call(r.userScope,r)}else{Ext.log.error("[Ext.Loader] Some requested files failed to load.")}l.checkReady()},onLoadSuccess:function(){var r=this,q=r.onLoad;--l.scriptsLoading;if(q){q.call(r.userScope,r)}l.checkReady()},reportMissingClasses:function(){if(!l.syncModeEnabled&&!l.scriptsLoading&&l.isLoading&&!l.hasFileLoadError){var q=[],s=[];for(var r in b){q.push(r);s.push(b[r])}if(q.length){throw new Error("The following classes are not declared even if their files have been loaded: '"+q.join("', '")+"'. Please check the source code of their corresponding files for possible typos: '"+s.join("', '"))}}},onReady:function(q,t,u,s){if(u){n.on(q,t,s)}else{var r=n.makeListener(q,t,s);if(l.isLoading){o.push(r)}else{n.invoke(r)}}},addUsedClasses:function(q){var r,s,t;if(q){q=(typeof q==="string")?[q]:q;for(s=0,t=q.length;s<t;s++){r=q[s];if(typeof r==="string"&&!Ext.Array.contains(p,r)){p.push(r)}}}return l},triggerReady:function(){var q,r=p;if(l.isLoading&&r.length){p=[];l.require(r)}else{l.isLoading=false;o.sort(n.sortFn);while(o.length&&!l.isLoading){q=o.pop();n.invoke(q)}n.unblock()}},historyPush:function(q){if(q&&!k[q]&&!m.overrideMap[q]){k[q]=true;j.push(q)}return l},loadScripts:function(u){var s=Ext.manifest,q=s&&s.loadOrder,r=s&&s.loadOrderMap,t;++l.scriptsLoading;if(q&&!r){s.loadOrderMap=r=e.createLoadOrderMap(q)}l.checkReady();t=Ext.apply({loadOrder:q,loadOrderMap:r,charset:a.scriptCharset,success:l.onLoadSuccess,failure:l.onLoadFailure,sync:l.syncModeEnabled,_classNames:[]},u);t.userScope=t.scope;t.scope=t;e.load(t)},loadScriptsSync:function(r){var q=l.syncModeEnabled;l.syncModeEnabled=true;l.loadScripts({url:r});l.syncModeEnabled=q},loadScriptsSyncBasePrefix:function(r){var q=l.syncModeEnabled;l.syncModeEnabled=true;l.loadScripts({url:r,prependBaseUrl:true});l.syncModeEnabled=q},loadScript:function(v){var s=typeof v==="string",q=v instanceof Array,r=!q&&!s,y=r?v.url:v,t=r&&v.onError,u=r&&v.onLoad,x=r&&v.scope,w={url:y,scope:x,onLoad:u,onError:t,_classNames:[]};l.loadScripts(w)},flushMissingQueue:function(){var s,t,r=0,q=0;for(s in b){r++;t=b[s];if(m.isCreated(s)){delete b[s]}else{if(m.existCache[s]===2){delete b[s]}else{++q}}}this.missingCount=q},checkReady:function(){var r=l.isLoading,q;l.flushMissingQueue();q=l.missingCount+l.scriptsLoading;if(q&&!r){n.block();l.isLoading=!!q}else{if(!q&&r){l.triggerReady()}}}});Ext.require=d(l,"require");Ext.syncRequire=d(l,"syncRequire");Ext.exclude=d(l,"exclude");g.registerPreprocessor("loader",function(r,t,y,s){Ext.classSystemMonitor&&Ext.classSystemMonitor(r,"Ext.Loader#loaderPreprocessor",arguments);var C=this,v=[],w,q=m.getName(r),z,A,B,G,H,D,E,F;for(z=0,B=i.length;z<B;z++){D=i[z];if(t.hasOwnProperty(D)){E=t[D];if(typeof E==="string"){v.push(E)}else{if(E instanceof Array){for(A=0,G=E.length;A<G;A++){H=E[A];if(typeof H==="string"){v.push(H)}}}else{if(typeof E!=="function"){for(A in E){if(E.hasOwnProperty(A)){H=E[A];if(typeof H==="string"){v.push(H)}}}}}}}}if(v.length===0){return}if(q){c[q]=v}var u=[],x;if(q){F=l.requiredByMap||(l.requiredByMap={});for(z=0,B=v.length;z<B;z++){w=v[z];(F[w]||(F[w]=[])).push(q)}x=function(I){u.push(I);if(c[I]){if(Ext.Array.contains(c[I],q)){Ext.Error.raise("Circular requirement detected! '"+q+"' and '"+u[1]+"' mutually require each other. Path: "+u.join(" -> ")+" -> "+u[0])}for(z=0,B=c[I].length;z<B;z++){x(c[I][z])}}};x(q)}(q?l.exclude(q):l).require(v,function(){for(z=0,B=i.length;z<B;z++){D=i[z];if(t.hasOwnProperty(D)){E=t[D];if(typeof E==="string"){t[D]=m.get(E)}else{if(E instanceof Array){for(A=0,G=E.length;A<G;A++){H=E[A];if(typeof H==="string"){t[D][A]=m.get(H)}}}else{if(typeof E!=="function"){for(var I in E){if(E.hasOwnProperty(I)){H=E[I];if(typeof H==="string"){t[D][I]=m.get(H)}}}}}}}}s.call(C,r,t,y)});return false},true,"after","className");m.registerPostprocessor("uses",function(A,s,t){Ext.classSystemMonitor&&Ext.classSystemMonitor(s,"Ext.Loader#usesPostprocessor",arguments);var z=Ext.manifest,y=z&&z.loadOrder,q=z&&z.classes,B,r,w,x,u,v;if(y){r=q[A];if(r&&!isNaN(u=r.idx)){w=y[u];B=w.uses;v={};for(x=B.length,u=0;u<x;u++){v[B[u]]=true}B=Ext.Boot.getPathsFromIndexes(v,y,true);if(B.length>0){l.loadScripts({url:B,sequential:true})}}}if(t.uses){B=t.uses;l.addUsedClasses(B)}});m.onCreated(l.historyPush);l.init()}());Ext._endTime=new Date().getTime();if(Ext._beforereadyhandler){Ext._beforereadyhandler()}Ext.define("Ext.Mixin",function(a){return{statics:{addHook:function(d,i,g,h){var e=Ext.isFunction(d),c=function(){var j=arguments,k=e?d:h[d],l=this.callParent(j);k.apply(this,j);return l},b=i.hasOwnProperty(g)&&i[g];if(e){d.$previous=Ext.emptyFn}c.$name=g;c.$owner=i.self;if(b){c.$previous=b.$previous;b.$previous=c}else{i[g]=c}}},onClassExtended:function(d,e){var i=e.mixinConfig,h=e.xhooks,l=d.superclass,j=e.onClassMixedIn,k,c,b,g;if(h){delete e.xhooks;(i||(e.mixinConfig=i={})).on=h}if(i){k=l.mixinConfig;if(k){e.mixinConfig=i=Ext.merge({},k,i)}e.mixinId=i.id;if(i.beforeHooks){Ext.Error.raise('Use of "beforeHooks" is deprecated - use "before" instead')}if(i.hooks){Ext.Error.raise('Use of "hooks" is deprecated - use "after" instead')}if(i.afterHooks){Ext.Error.raise('Use of "afterHooks" is deprecated - use "after" instead')}c=i.before;b=i.after;h=i.on;g=i.extended}if(c||b||h||g){e.onClassMixedIn=function(o){var n=this.prototype,p=o.prototype,m;if(c){Ext.Object.each(c,function(q,r){o.addMember(q,function(){if(n[r].apply(this,arguments)!==false){return this.callParent(arguments)}})})}if(b){Ext.Object.each(b,function(q,r){o.addMember(q,function(){var s=this.callParent(arguments);n[r].apply(this,arguments);return s})})}if(h){for(m in h){a.addHook(h[m],p,m,n)}}if(g){o.onExtended(function(){var q=Ext.Array.slice(arguments,0);q.unshift(o);return g.apply(this,q)},this)}if(j){j.apply(this,arguments)}}}}}});Ext.util=Ext.util||{};Ext.util.DelayedTask=function(g,i,a,c,e){var h=this,d,b=function(){var j=Ext.GlobalEvents;clearInterval(h.id);h.id=null;g.apply(i,a||[]);if(e!==false&&j.hasListeners.idle){j.fireEvent("idle")}};c=typeof c==="boolean"?c:true;h.id=null;h.delay=function(k,l,m,j){if(c){h.cancel()}if(typeof k==="number"){d=k}g=l||g;i=m||i;a=j||a;if(!h.id){h.id=Ext.interval(b,d)}};h.cancel=function(){if(h.id){clearInterval(h.id);h.id=null}}};Ext.define("Ext.util.Event",function(){var b=Array.prototype.slice,a=Ext.Array.insert,d=Ext.Array.toArray,c={};return{isEvent:true,suspended:0,noOptions:{},constructor:function(g,e){this.name=e;this.observable=g;this.listeners=[]},addListener:function(j,y,w,g,t){var u=this,e=false,v=u.observable,h=u.name,s,q,x,o,l,k,p,n,m,r;if(y&&!Ext._namedScopes[y]&&(typeof j==="string")&&(typeof y[j]!=="function")){Ext.Error.raise("No method named '"+j+"' found on scope object")}if(u.findListener(j,y)===-1){q=u.createListener(j,y,w,g,t);if(u.firing){u.listeners=u.listeners.slice(0)}s=u.listeners;n=p=s.length;x=w&&w.priority;l=u._highestNegativePriorityIndex;k=l!==undefined;if(x){o=(x<0);if(!o||k){for(m=(o?l:0);m<p;m++){r=s[m].o?s[m].o.priority||0:0;if(r<x){n=m;break}}}else{u._highestNegativePriorityIndex=n}}else{if(k){n=l}}if(!o&&n<=l){u._highestNegativePriorityIndex++}if(n===p){s[p]=q}else{a(s,n,[q])}if(v.isElement){v._getPublisher(h).subscribe(v,h,w.delegated!==false,w.capture)}e=true}return e},createListener:function(g,n,m,e,j){var k=this,l=Ext._namedScopes[n],i={fn:g,scope:n,ev:k,caller:e,manager:j,namedScope:l,defaultScope:l?(n||k.observable):undefined,lateBound:typeof g==="string"},h=g,q=false,p;if(m){i.o=m;if(m.single){h=k.createSingle(h,i,m,n);q=true}if(m.target){h=k.createTargeted(h,i,m,n,q);q=true}if(m.delay){h=k.createDelayed(h,i,m,n,q);q=true}if(m.buffer){h=k.createBuffered(h,i,m,n,q);q=true}if(k.observable.isElement){p=m.type;if(p){i.type=p}}}i.fireFn=h;i.wrapped=q;return i},findListener:function(e,k){var j=this.listeners,g=j.length,h;while(g--){h=j[g];if(h){if(h.fn===e&&h.scope==k){return g}}}return -1},removeListener:function(g,v,l){var r=this,u=false,s=r.observable,e=r.name,n,h,t,m,q,p,o,j;l=l||r.findListener(g,v);if(l!=-1){n=r.listeners[l];t=n.o;h=r._highestNegativePriorityIndex;if(r.firing){r.listeners=r.listeners.slice(0)}if(n.task){n.task.cancel();delete n.task}m=n.tasks&&n.tasks.length;if(m){while(m--){n.tasks[m].cancel()}delete n.tasks}r.listeners.splice(l,1);q=n.manager;if(q){p=q.managedListeners;if(p){for(j=p.length;j--;){o=p[j];if(o.item===r.observable&&o.ename===e&&o.fn===g&&o.scope===v){p.splice(j,1)}}}}if(h){if(l<h){r._highestNegativePriorityIndex--}else{if(l===h&&l===r.listeners.length){delete r._highestNegativePriorityIndex}}}if(s.isElement){s._getPublisher(e).unsubscribe(s,e,t.delegated!==false,t.capture)}u=true}return u},clearListeners:function(){var h=this.listeners,e=h.length,g;while(e--){g=h[e];this.removeListener(g.fn,g.scope)}},suspend:function(){++this.suspended},resume:function(){if(this.suspended){--this.suspended}},isSuspended:function(){return this.suspended>0},fire:function(){var v=this,u=v.listeners,j=u.length,r=v.observable.isElement,w,l,o,q,g,t,s,m,k,x,h,p,n;if(!v.suspended&&j>0){v.firing=true;g=arguments.length?b.call(arguments,0):[];s=g.length;if(r){n=g[0]}for(q=0;q<j;q++){t=u[q];w=t.o;if(r){if(k){n.setCurrentTarget(k)}x=t.type;if(x){h=n;n=g[0]=h.chain({type:x})}Ext.EventObject=n}p=g;if(w){if(r){l=w.delegate;if(l){m=n.getTarget("#"+n.currentTarget.id+" "+l);if(m){g[1]=m;k=n.currentTarget;n.setCurrentTarget(m)}else{continue}}if(w.preventDefault){n.preventDefault()}if(w.stopPropagation){n.stopPropagation()}if(w.stopEvent){n.stopEvent()}}g[s]=w;if(w.args){p=w.args.concat(g)}}o=v.getFireInfo(t);if(o.fn.apply(o.scope,p)===false){return(v.firing=false)}if(h){n=g[0]=h;h=null}}}v.firing=false;return true},getFireInfo:function(i,h){var l=this.observable,e=i.fireFn,m=i.scope,k=i.namedScope,g;if(!h&&i.wrapped){c.fn=e;return c}g=h?i.fn:e;var j=g;if(i.lateBound){if(!m||k){m=(i.caller||l).resolveListenerScope(i.defaultScope)}if(!m){Ext.Error.raise('Unable to dynamically resolve scope for "'+i.ev.name+'" listener on '+this.observable.id)}if(!Ext.isFunction(m[g])){Ext.Error.raise('No method named "'+g+'" on '+(m.$className||"scope object."))}g=m[g]}else{if(k&&k.isController){m=(i.caller||l).resolveListenerScope(i.defaultScope);if(!m){Ext.Error.raise('Unable to dynamically resolve scope for "'+i.ev.name+'" listener on '+this.observable.id)}}else{if(!m||k){m=l}}}c.fn=g;c.scope=m;if(!g){Ext.Error.raise('Unable to dynamically resolve method "'+j+'" on '+this.observable.$className)}return c},createTargeted:function(e,g,h,i,j){return function(){if(h.target===arguments[0]){var k;if(!j){k=g.ev.getFireInfo(g,true);e=k.fn;i=k.scope}return e.apply(i,arguments)}}},createBuffered:function(e,g,h,i,j){g.task=new Ext.util.DelayedTask();return function(){var k;if(!j){k=g.ev.getFireInfo(g,true);e=k.fn;i=k.scope}g.task.delay(h.buffer,e,i,d(arguments))}},createDelayed:function(e,g,h,i,j){return function(){var l=new Ext.util.DelayedTask(),k;if(!j){k=g.ev.getFireInfo(g,true);e=k.fn;i=k.scope}if(!g.tasks){g.tasks=[]}g.tasks.push(l);l.delay(h.delay||10,e,i,d(arguments))}},createSingle:function(e,g,h,i,j){return function(){var k=g.ev,n=k.observable,m=g.fn,l;if(n){n.removeListener(k.name,m,i)}else{k.removeListener(m,i)}if(!j){l=k.getFireInfo(g,true);e=l.fn;i=l.scope}return e.apply(i,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 a=this.id,c,d,g,e,b;if(!(a||a===0)){c=this.self.prototype;d=this.defaultIdSeparator;e=Ext.mixin.Identifiable.uniqueIds;if(!c.hasOwnProperty("identifiablePrefix")){g=this.xtype;if(g){b=this.defaultIdPrefix+g.replace(this.idCleanRegex,d)+d}else{if(!(b=c.$className)){b=this.defaultIdPrefix+"anonymous"+d}else{b=b.replace(this.idCleanRegex,d).toLowerCase()+d}}c.identifiablePrefix=b}b=this.identifiablePrefix;if(!e.hasOwnProperty(b)){e[b]=0}a=this.id=b+(++e[b])}this.getUniqueId=this.getOptimizedId;return a},setId:function(a){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(g){var d=Ext.emptyFn,c=[],a=Array.prototype,b=a.slice,e=function(h){if(h instanceof e){return h}this.observable=h;if(arguments[1].isObservable){this.managedListeners=true}this.args=b.call(arguments,1)};e.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(j,h,k){var i=function(m,l){return h.apply(k,[m].concat(l))};this.captureArgs(j,i,k)},captureArgs:function(i,h,j){i.fireEventArgs=Ext.Function.createInterceptor(i.fireEventArgs,h,j)},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(q,k,h){var j=q.listeners=[],r=h||q.prototype,s=r.listeners,p=k?k.listeners:q.superclass.self.listeners,l,n,m;if(p){j.push(p)}if(s){n=s.scope;if(!n){s.scope="self"}else{m=Ext._namedScopes[n];if(m&&m.isController){s.scope="self.controller"}}j.push(s);r.listeners=null}if(!q.HasListeners){var i=function(){},o=q.superclass.HasListeners||(k&&k.HasListeners)||g.HasListeners;q.prototype.HasListeners=q.HasListeners=i;i.prototype=q.hasListeners=new o()}}},isObservable:true,eventsSuspended:0,constructor:function(j){var o=this,p=o.self,k,n,h,m,l;if(o.$observableInitialized){return}o.$observableInitialized=true;o.hasListeners=new o.HasListeners();o.events=o.events||{};k=p.listeners;if(k&&!o._addDeclaredListeners(k)){p.listeners=null}n=(j&&j.listeners)||o.listeners;if(n){if(n instanceof Array){for(l=0,m=n.length;l<m;++l){o.addListener(n[l])}}else{o.addListener(n)}}h=(j&&j.bubbleEvents)||o.bubbleEvents;if(h){o.enableBubble(h)}if(o.$applyConfigs){Ext.apply(o,j)}else{o.initConfig(j)}if(n){o.listeners=null}},onClassExtended:function(i,h){if(!i.HasListeners){g.prepareClass(i,i.prototype.$observableMixedIn?undefined:h)}},$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(k,i,j,q,o,n){var m=this,l=m.managedListeners=m.managedListeners||[],h,p;if(typeof i!=="string"){p=arguments.length>4?o:i;o=i;for(i in o){if(o.hasOwnProperty(i)){h=o[i];if(!k.$eventOptions[i]){m.addManagedListener(k,i,h.fn||h,h.scope||o.scope||q,h.fn?h:p,true)}}}if(o&&o.destroyable){return new e(m,k,o)}}else{if(j!==d){k.doAddListener(i,j,q,o,null,m,m);if(!n&&o&&o.destroyable){return new e(m,k,i,j,q)}}}},removeManagedListener:function(m,j,k,r){var p=this,q,h,o,n,l;if(typeof j!=="string"){q=j;for(j in q){if(q.hasOwnProperty(j)){h=q[j];if(!m.$eventOptions[j]){p.removeManagedListener(m,j,h.fn||h,h.scope||q.scope||r)}}}}else{o=p.managedListeners?p.managedListeners.slice():[];j=Ext.canonicalEventName(j);for(l=0,n=o.length;l<n;l++){p.removeManagedListenerItem(false,o[l],m,j,k,r)}}},fireEvent:function(h){return this.fireEventArgs(h,b.call(arguments,1))},resolveListenerScope:function(h){var i=Ext._namedScopes[h];if(i){if(i.isController){Ext.Error.raise('scope: "controller" can only be specified on classes that derive from Ext.Component or Ext.Widget')}if(i.isSelf||i.isThis){h=null}}return h||this},fireEventArgs:function(j,h){j=Ext.canonicalEventName(j);var l=this,k=l.events,i=k&&k[j],m=true;if(l.hasListeners[j]){m=l.doFireEvent(j,h||c,i?i.bubble:false)}return m},fireAction:function(i,h,j,m,k,l){k=k?Ext.Object.chain(k):{};k.single=true;k.priority=((l==="after")?-99.5:99.5);this.doAddListener(i,j,m,k);this.fireEventArgs(i,h)},doFireEvent:function(k,h,i){var n=this,l,j,m=true;do{if(n.eventsSuspended){if((l=n.eventQueue)){l.push([k,h])}return m}else{j=n.events&&n.events[k];if(j&&j!==true){if((m=j.fire.apply(j,h))===false){break}}}}while(i&&(n=n.getBubbleParent()));return m},getBubbleParent:function(){var h=this,i=h.getBubbleTarget&&h.getBubbleTarget();if(i&&i.isObservable){return i}return null},addListener:function(j,l,t,r,s,h){var o=this,q=Ext._namedScopes,i,p,n,m,k;if(typeof j!=="string"){r=j;t=r.scope;p=t&&q[t];n=p&&p.isSelf;k=((o.isComponent||o.isWidget)&&r.element)?o.$elementEventOptions:o.$eventOptions;for(j in r){i=r[j];if(!k[j]){m=i.scope;if(m&&n){p=q[m];if(p&&p.isController){m="self.controller"}}o.doAddListener(j,i.fn||i,m||t,i.fn?i:r,s,h)}}if(r&&r.destroyable){return new e(o,r)}}else{o.doAddListener(j,l,t,r,s,h);if(r&&r.destroyable){return new e(o,j,l,t,r)}}return o},removeListener:function(i,k,n,j){var l=this,h,m;if(typeof i!=="string"){m=i;j=j||l.$eventOptions;for(i in m){if(m.hasOwnProperty(i)){h=m[i];if(!l.$eventOptions[i]){l.doRemoveListener(i,h.fn||h,h.scope||m.scope)}}}}else{l.doRemoveListener(i,k,n)}return l},clearListeners:function(){var l=this,i=l.events,j=l.hasListeners,h,k;if(i){for(k in i){if(i.hasOwnProperty(k)){h=i[k];if(h.isEvent){delete j[k];h.clearListeners()}}}}l.clearManagedListeners()},purgeListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeListeners has been deprecated. Please use clearListeners.")}return this.clearListeners.apply(this,arguments)},clearManagedListeners:function(){var l=this,k=l.managedListeners?l.managedListeners.slice():[],h=0,j=k.length;for(;h<j;h++){l.removeManagedListenerItem(true,k[h])}l.managedListeners=[]},removeManagedListenerItem:function(j,l,k,h,i,m){if(j||(l.item===k&&l.ename===h&&(!i||l.fn===i)&&(!m||l.scope===m))){l.item.doRemoveListener(l.ename,l.fn,l.scope,l.options);if(!j){Ext.Array.remove(this.managedListeners,l)}}},purgeManagedListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeManagedListeners has been deprecated. Please use clearManagedListeners.")}return this.clearManagedListeners.apply(this,arguments)},hasListener:function(h){h=Ext.canonicalEventName(h);return !!this.hasListeners[h]},isSuspended:function(h){var j=this.eventsSuspended>0,i=this.events;if(!j&&h&&i){h=i[h];if(h&&h.isEvent){return h.isSuspended()}}return j},suspendEvents:function(h){++this.eventsSuspended;if(h&&!this.eventQueue){this.eventQueue=[]}},suspendEvent:function(){var n=this,k=n.events,m=arguments.length,l,j,h;for(l=0;l<m;l++){h=arguments[l];h=Ext.canonicalEventName(h);j=k[h];if(!j||!j.isEvent){j=n._initEvent(h)}j.suspend()}},resumeEvent:function(){var j=this.events||0,l=j&&arguments.length,k,h;for(k=0;k<l;k++){h=j[arguments[k]];if(h&&h.resume){h.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(n,h,o){var l=this,k=h.length,j=0,m,p={};for(;j<k;j++){m=h[j];p[m]=l.createRelayer(o?o+m:m)}l.mon(n,p,null,null,undefined);return new e(l,n,p)},createRelayer:function(j,h){var i=this;return function(){return i.fireEventArgs.call(i,j,h?b.apply(arguments,h):arguments)}},enableBubble:function(k){if(k){var o=this,p=(typeof k=="string")?arguments:k,l=o.events,n=l&&p.length,h,j,m;for(m=0;m<n;++m){h=p[m];h=Ext.canonicalEventName(h);j=l[h];if(!j||!j.isEvent){j=o._initEvent(h)}o.hasListeners._incr_(h);j.bubble=true}}},destroy:function(){this.clearListeners();this.callParent()},privates:{doAddListener:function(i,k,s,p,q,h,n){var o=this,m=p&&p.managedName,j,l,r;q=q||(p&&p.order);if(q){r=(p&&p.priority);if(!r){p=p?Ext.Object.chain(p):{};p.priority=o.$orderToPriority[q]}}i=Ext.canonicalEventName(i);if(!k){Ext.Error.raise("Cannot add '"+i+"' listener to "+o.$className+" instance.  No function specified.")}if(!n&&(s&&s.isObservable&&(s!==o))){n=s}if(n){l=n.managedListeners=n.managedListeners||[];l.push({item:o,ename:m||i,fn:k,scope:s,options:p})}j=(o.events||(o.events={}))[i];if(!j||!j.isEvent){j=o._initEvent(i)}if(k!==d){if(j.addListener(k,s,p,h,n)){o.hasListeners._incr_(i)}}},doRemoveListener:function(h,k,m){var l=this,j=l.events,i;h=Ext.canonicalEventName(h);i=j&&j[h];if(!k){Ext.Error.raise("Cannot remove '"+h+"' listener to "+l.$className+" instance.  No function specified.")}if(i&&i.isEvent){if(i.removeListener(k,m)){l.hasListeners._decr_(h)}}},_initEvent:function(h){return(this.events[h]=new Ext.util.Event(this,h))}},deprecated:{"5.0":{methods:{addEvents:null}},"5.1":{methods:{addBeforeListener:function(h,i,k,j){return this.addListener(h,i,k,j,"before")},addAfterListener:function(h,i,k,j){return this.addListener(h,i,k,j,"after")},removeBeforeListener:function(h,i,k,j){return this.removeListener(h,i,k,j,"before")},removeAfterListener:function(h,i,k,j){return this.removeListener(h,i,k,j,"after")},onBefore:"addBeforeListener",onAfter:"addAfterListener",unBefore:"removeBeforeListener",unAfter:"removeAfterListener"}}}}},function(){var c=this,e=c.prototype,b=function(){},d=function(i){if(!i.HasListeners){var h=i.prototype;h.$observableMixedIn=1;c.prepareClass(i,this);i.onExtended(function(k,j){Ext.classSystemMonitor&&Ext.classSystemMonitor("extend mixin",arguments);c.prepareClass(k,null,j)});if(h.onClassMixedIn){Ext.override(i,{onClassMixedIn:function(j){d.call(this,j);this.callParent(arguments)}})}else{h.onClassMixedIn=function(j){d.call(this,j)}}}g.call(this,i)},g=e.onClassMixedIn;b.prototype={_decr_:function(h){if(!--this[h]){delete this[h]}},_incr_:function(h){if(this.hasOwnProperty(h)){++this[h]}else{this[h]=1}}};e.HasListeners=c.HasListeners=b;c.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener",setListeners:"addListener"});c.observeClass=c.observe;function a(k){var i=(this.methodEvents=this.methodEvents||{})[k],m,n,h,l=this,j;if(!i){this.methodEvents[k]=i={};i.originalFn=this[k];i.methodName=k;i.before=[];i.after=[];j=function(p,q,o){if((n=p.apply(q||l,o))!==undefined){if(typeof n=="object"){if(n.returnValue!==undefined){m=n.returnValue}else{m=n}h=!!n.cancel}else{if(n===false){h=true}else{m=n}}}};this[k]=function(){var o=Array.prototype.slice.call(arguments,0),p,q,r;m=n=undefined;h=false;for(q=0,r=i.before.length;q<r;q++){p=i.before[q];j(p.fn,p.scope,o);if(h){return m}}if((n=i.originalFn.apply(l,o))!==undefined){m=n}for(q=0,r=i.after.length;q<r;q++){p=i.after[q];j(p.fn,p.scope,o);if(h){return m}}return m}}return i}Ext.apply(e,{onClassMixedIn:d,beforeMethod:function(i,h,j){a.call(this,i).before.push({fn:h,scope:j})},afterMethod:function(i,h,j){a.call(this,i).after.push({fn:h,scope:j})},removeMethodListener:function(m,j,n){var h=this.getMethodEvent(m),k,l;for(k=0,l=h.before.length;k<l;k++){if(h.before[k].fn==j&&h.before[k].scope==n){Ext.Array.erase(h.before,k,1);return}}for(k=0,l=h.after.length;k<l;k++){if(h.after[k].fn==j&&h.after[k].scope==n){Ext.Array.erase(h.after,k,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(a,e){var c=this,b=c.map,d;if(arguments.length===1){e=a;a=c.getKey(e)}if(!c.containsKey(a)){c.add(a,e)}d=b[a];b[a]=e;c.generation++;if(c.hasListeners.replace){c.fireEvent("replace",c,a,e,d)}return e},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(b){var a=[],c,d=this.map;for(c in d){if(d.hasOwnProperty(c)){a.push(b?c:d[c])}}return a},each:function(a,e){var b=Ext.apply({},this.map),c,d=this.length;e=e||this;for(c in b){if(b.hasOwnProperty(c)){if(a.call(e,c,b[c],d)===false){break}}}return this},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])}}a.resumeEvents();return a},findKey:function(c){var a,b=this.map;for(a in b){if(b.hasOwnProperty(a)&&b[a]===c){return a}}return undefined}});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){var b=this.all.getKey(a);if(b===undefined){Ext.Error.raise("Key is undefined. Please ensure the item has a key before registering the item.")}if(this.all.containsKey(b)){Ext.Error.raise('Registering duplicate id "'+b+'" with '+this.$className)}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,c){var d=a[this.typeName]||a.type||c,b=this.types[d];if(b===undefined){Ext.Error.raise("The '"+d+"' type has not been registered with this manager")}return new b(a)},onAvailable:function(d,c,g){var a=this.all,e,b;if(a.containsKey(d)){e=a.get(d);c.call(g||e,e)}else{b=function(j,i,h){if(i==d){c.call(g||h,h);a.un("add",b)}};a.on("add",b)}},each:function(a,b){this.all.each(a,b||this)},getCount:function(){return this.all.getCount()}});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(c,d,b){var a;a=this.liveConnections[Number(c)];if(a){a.onFlashStateChange(d,b)}else{Ext.warn.log("onFlashStateChange for unknown connection ID: "+c)}},registerConnection:function(a){var b=this.connectionIndex;this.conectionIndex=this.connectionIndex+1;this.liveConnections[b]=a;return b},injectFlashPlugin:function(){var c=this,a,b;c.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("/");b="/plugins/flash/FlashPlugin.swf";b=[Ext.Loader.getPath("Ext.data.Connection"),"../../plugins/flash/FlashPlugin.swf"].join("/");if(Ext.flashPluginPath){b=Ext.flashPluginPath}Ext.Loader.loadScript({url:a,onLoad:function(){var h="11.4.0";var i="playerProductInstall.swf";var e={};var g={};g.quality="high";g.bgcolor="#ffffff";g.allowscriptaccess="sameDomain";g.allowfullscreen="true";var d={};d.id="ext-flash-polyfill";d.name="polyfill";d.align="middle";swfobject.embedSWF(b,"ext-flash-polyfill","0","0",h,i,e,g,d)},onError:function(){Ext.Error.raise("Could not load flash-loader file swfobject.js from "+flashLoader)},scope:c});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){Ext.warn.log("Aborting a connection that's completed its transfer: "+this.url);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(a){var b=this.responseHeaders;return(b&&b[a])||null},open:function(c,e,a,g,d){var b=this;b.method=c;b.url=e;b.async=a!==false;b.user=g;b.password=d;if(!b.async){Ext.Error.raise("Binary posts are only supported in async mode: "+e)}if(b.method!="POST"){Ext.log.warn("Binary data can only be sent as a POST request: "+e)}},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 a=this,b,c;a.javascriptId=Ext.data.flash.BinaryXhr.registerConnection(a);b={method:a.method,url:a.url,user:a.user,password:a.password,mimeType:a.mimeType,requestHeaders:a.requestHeaders,body:a.body,javascriptId:a.javascriptId};c=Ext.data.flash.BinaryXhr.flashPlugin.postBinary(b)},setReadyState:function(b){var a=this;if(a.readyState!=b){a.readyState=b;a.onreadystatechange()}},setRequestHeader:function(a,b){this.requestHeaders[a]=b},onreadystatechange:Ext.emptyFn,parseData:function(a){var b=this;this.status=a.status||0;b.responseHeaders={};if(b.mimeType){b.responseHeaders["content-type"]=b.mimeType}if(a.reason=="complete"){this.responseBytes=a.data;b.responseHeaders["content-length"]=a.data.length}else{if(a.reason=="error"||a.reason=="securityError"){this.statusText=a.text;b.responseHeaders["content-length"]=0}else{Ext.Error.raise("Unkown reason code in data: "+a.reason)}}},onFlashStateChange:function(c,a){var b=this;if(c==4){b.parseData(a);delete Ext.data.flash.BinaryXhr.liveConnections[b.javascriptId]}b.setReadyState(c)}});Ext.define("Ext.data.Connection",{mixins:{observable:Ext.mixin.Observable},statics:{requestId:0},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(d){d=d||{};var c=this,i=d.scope||window,j=d.username||c.getUsername(),e=d.password||c.getPassword()||"",a,h,g,b,k,l;if(c.fireEvent("beforerequest",c,d)!==false){h=c.setOptions(d,i);if(c.isFormUpload(d)){c.upload(d.form,h.url,h.data,d);return null}if(d.autoAbort||c.getAutoAbort()){c.abort()}a=d.async!==false?(d.async||c.getAsync()):false;l=c.openRequest(d,h,a,j,e);k=c.getIsXdr();if(!k){b=c.setupHeaders(l,d,h.data,h.params)}g={id:++Ext.data.Connection.requestId,xhr:l,headers:b,options:d,async:a,binary:d.binary||c.getBinary(),timeout:Ext.defer(function(){g.timedout=true;c.abort(g)},d.timeout||c.getTimeout())};c.requests[g.id]=g;c.latestId=g.id;if(a){if(!k){l.onreadystatechange=Ext.Function.bind(c.onStateChange,c,[g])}}if(k){c.processXdrRequest(g,l)}l.send(h.data);if(!a){return c.onComplete(g)}return g}else{Ext.callback(d.callback,d.scope,[d,undefined,undefined]);return null}},processXdrRequest:function(b,c){var a=this;delete b.headers;b.contentType=b.options.contentType||a.getDefaultXdrContentType();c.onload=Ext.Function.bind(a.onStateChange,a,[b,true]);c.onerror=c.ontimeout=Ext.Function.bind(a.onStateChange,a,[b,false])},processXdrResponse:function(a,b){a.getAllResponseHeaders=function(){return[]};a.getResponseHeader=function(){return""};a.contentType=b.contentType||this.getDefaultXdrContentType()},upload:function(d,q,p,o){d=Ext.getDom(d);o=o||{};var l=Ext.id(),e=document.createElement("iframe"),j=[],c="multipart/form-data",b={target:d.target,method:d.method,encoding:d.encoding,enctype:d.enctype,action:d.action},a=function(h,u){i=document.createElement("input");Ext.fly(i).set({type:"hidden",value:u,name:h});d.appendChild(i);j.push(i)},i,n,s,m,t,r,k,g;Ext.fly(e).set({id:l,name:l,cls:Ext.baseCSSPrefix+"hidden-display",src:Ext.SSL_SECURE_URL,tabIndex:-1});document.body.appendChild(e);if(document.frames){document.frames[l].name=l}Ext.fly(d).set({target:l,method:"POST",enctype:c,encoding:c,action:q||b.action});if(p){n=Ext.Object.fromQueryString(p)||{};for(m in n){if(n.hasOwnProperty(m)){s=n[m];if(Ext.isArray(s)){t=s.length;for(r=0;r<t;r++){a(m,s[r])}}else{a(m,s)}}}}Ext.get(e).on({load:Ext.Function.bind(this.onUploadComplete,this,[e,o]),single:!Ext.isOpera});d.submit();Ext.fly(d).set(b);for(k=j.length,g=0;g<k;g++){Ext.removeNode(j[g])}},onUploadComplete:function(g,i){var h=this,j={responseText:"",responseXML:null},a,k,c,b;try{c=(g&&(g.contentWindow.document||g.contentDocument))||(window.frames[g.id]||{}).document;if(c){if(Ext.isOpera&&c.location==Ext.SSL_SECURE_URL){return}if(c.body){if((b=c.body.firstChild)&&/pre/i.test(b.tagName)){j.responseText=b.textContent||b.innerText}else{if((b=c.getElementsByTagName("textarea")[0])){j.responseText=b.value}else{j.responseText=c.body.textContent||c.body.innerText}}}j.responseXML=c.XMLDocument||c;a=i.success;k=true}else{Ext.Error.raise("Could not acquire a suitable connection for the file upload service.")}}catch(d){j.responseText='{success:false,message:"'+Ext.String.trim(d.message||d.description)+'"}';a=i.failure;k=false}h.fireEvent(k?"requestcomplete":"requestexception",h,j,i);Ext.callback(a,i.scope,[j,i]);Ext.callback(i.callback,i.scope,[i,k,j]);Ext.defer(Ext.removeNode,100,Ext,[g])},isFormUpload:function(b){var a=this.getForm(b);if(a){return(b.isUpload||(/multipart\/form-data/i).test(a.getAttribute("enctype")))}return false},getForm:function(b){var a=b.form||null;if(a){a=Ext.getDom(a)}return a},setOptions:function(i,k){var g=this,j=i.params||{},d=g.getExtraParams(),m=i.urlParams,l=i.url||g.getUrl(),a=i.cors,e=i.jsonData,h,c,b;if(a!==undefined){g.setCors(a)}if(Ext.isFunction(j)){j=j.call(k,i)}if(Ext.isFunction(l)){l=l.call(k,i)}l=this.setupUrl(i,l);if(!l){Ext.Error.raise({options:i,msg:"No URL specified"})}b=i.rawData||i.binaryData||i.xmlData||e||null;if(e&&!Ext.isPrimitive(e)){b=Ext.encode(b)}if(i.binaryData){if(!Ext.isArray(i.binaryData)){Ext.log.warn("Binary submission data must be an array of byte values! Instead got "+typeof(i.binaryData))}if(g.nativeBinaryPostSupport()){b=(new Uint8Array(i.binaryData));if((Ext.isChrome&&Ext.chromeVersion<22)||Ext.isSafari||Ext.isGecko){b=b.buffer}}}if(Ext.isObject(j)){j=Ext.Object.toQueryString(j)}if(Ext.isObject(d)){d=Ext.Object.toQueryString(d)}j=j+((d)?((j)?"&":"")+d:"");m=Ext.isObject(m)?Ext.Object.toQueryString(m):m;j=this.setupParams(i,j);h=(i.method||g.getMethod()||((j||b)?"POST":"GET")).toUpperCase();this.setupMethod(i,h);c=i.disableCaching!==false?(i.disableCaching||g.getDisableCaching()):false;if(h==="GET"&&c){l=Ext.urlAppend(l,(i.disableCachingParam||g.getDisableCachingParam())+"="+(new Date().getTime()))}if((h=="GET"||b)&&j){l=Ext.urlAppend(l,j);j=null}if(m){l=Ext.urlAppend(l,m)}return{url:l,method:h,data:b||j||null}},setupUrl:function(b,c){var a=this.getForm(b);if(a){c=c||a.action}return c},setupParams:function(b,c){var a=this.getForm(b),d;if(a&&!this.isFormUpload(b)){d=Ext.Element.serializeForm(a);c=c?(c+"&"+d):d}return c},setupMethod:function(b,a){if(this.isFormUpload(b)){return"POST"}return a},setupHeaders:function(o,k,b,l){var j=this,g=Ext.apply({},k.headers||{},j.getDefaultHeaders()||{}),a=j.getDefaultPostHeader(),h=k.jsonData,p=k.xmlData,m="Content-Type",n=Ext.isDefined(k.useDefaultXhrHeader)?k.useDefaultXhrHeader:j.getUseDefaultXhrHeader(),i,d;if(!g.hasOwnProperty(m)&&(b||l)){if(b){if(k.rawData){a="text/plain"}else{if(p&&Ext.isDefined(p)){a="text/xml"}else{if(h&&Ext.isDefined(h)){a="application/json"}}}}g[m]=a}if(n&&!g["X-Requested-With"]){g["X-Requested-With"]=j.getDefaultXhrHeader()}if(g[m]===undefined||g[m]===null){delete g[m]}try{for(i in g){if(g.hasOwnProperty(i)){d=g[i];o.setRequestHeader(i,d)}}}catch(c){j.fireEvent("exception",i,d)}return g},newRequest:function(b){var a=this,c;if(b.binaryData){if(a.nativeBinaryPostSupport()){c=a.getXhrInstance()}else{c=new Ext.data.flash.BinaryXhr()}}else{if(a.getCors()&&Ext.isIE&&Ext.ieVersion<=9){c=a.getXdrInstance();a.setIsXdr(true)}else{c=a.getXhrInstance();a.setIsXdr(false)}}return c},openRequest:function(c,e,a,g,d){var b=this,h=b.newRequest(c);if(g){h.open(e.method,e.url,a,g,d)}else{if(b.getIsXdr()){h.open(e.method,e.url)}else{h.open(e.method,e.url,a)}}if(c.binary||b.getBinary()){if(window.Uint8Array){h.responseType="arraybuffer"}else{if(h.overrideMimeType){h.overrideMimeType("text/plain; charset=x-user-defined")}else{if(!Ext.isIE){Ext.log.warn("Your browser does not support loading binary data using Ajax.")}}}}if(c.withCredentials||b.getWithCredentials()){h.withCredentials=true}return h},getXdrInstance:function(){var a;if(Ext.ieVersion>=8){a=new XDomainRequest()}else{Ext.Error.raise({msg:"Your browser does not support CORS"})}return a},getXhrInstance:(function(){var d=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],b=0,c=d.length,g;for(;b<c;++b){try{g=d[b];g();break}catch(a){}}return g}()),isLoading:function(b){if(!b){b=this.getLatest()}if(!(b&&b.xhr)){return false}var c=b.xhr.readyState,a=Ext.data.flash&&Ext.data.flash.BinaryXhr;return((b.xhr instanceof a)&&c!=4)||!(c===0||c==4)},abort:function(c){var b=this,d;if(!c){c=b.getLatest()}if(c&&b.isLoading(c)){d=c.xhr;try{d.onreadystatechange=null}catch(a){d.onreadystatechange=Ext.emptyFn}d.abort();b.clearTimeout(c);if(!c.timedout){c.aborted=true}b.onComplete(c);b.cleanup(c)}},abortAll:function(){var b=this.requests,a;for(a in b){if(b.hasOwnProperty(a)){this.abort(b[a])}}},getLatest:function(){var a=this.latestId,b;if(a){b=this.requests[a]}return b||null},onStateChange:function(c,d){var b=this,a=Ext.GlobalEvents;if((c.xhr&&c.xhr.readyState==4)||b.getIsXdr()){b.clearTimeout(c);b.onComplete(c,d);b.cleanup(c);if(a.hasListeners.idle){a.fireEvent("idle")}}},clearTimeout:function(a){clearTimeout(a.timeout);delete a.timeout},cleanup:function(a){a.xhr=null;delete a.xhr},onComplete:function(d,j){var b=this,c=d.options,k,h,i,g;try{k=d.xhr;h=b.parseStatus(k.status);if(h.success){h.success=k.readyState===4}}catch(a){h={success:false,isException:false}}i=b.getIsXdr()?j:h.success;if(i){g=b.createResponse(d);b.fireEvent("requestcomplete",b,g,c);Ext.callback(c.success,c.scope,[g,c])}else{if(h.isException||d.aborted||d.timedout){g=b.createException(d)}else{g=b.createResponse(d)}b.fireEvent("requestexception",b,g,c);Ext.callback(c.failure,c.scope,[g,c])}Ext.callback(c.callback,c.scope,[c,i,g]);delete b.requests[d.id];return g},parseStatus:function(b){b=b==1223?204:b;var c=(b>=200&&b<300)||b==304,a=false;if(!c){switch(b){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:a=true;break}}return{success:c,isException:a}},createResponse:function(k){var j=this,m=k.xhr,e=j.getIsXdr(),c={},i=e?[]:m.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),b=i.length,h,d,g,l,a;while(b--){h=i[b];d=h.indexOf(":");if(d>=0){g=h.substr(0,d).toLowerCase();if(h.charAt(d+1)==" "){++d}c[g]=h.substr(d+1)}}k.xhr=null;delete k.xhr;l={request:k,requestId:k.id,status:m.status,statusText:m.statusText,getResponseHeader:function(n){return c[n.toLowerCase()]},getAllResponseHeaders:function(){return c}};if(e){j.processXdrResponse(l,m)}if(k.binary){l.responseBytes=j.getByteArray(m)}else{l.responseText=m.responseText;l.responseXML=m.responseXML}m=null;return l},createException:function(a){return{request:a,requestId:a.id,status:a.aborted?-1:0,statusText:a.aborted?"transaction aborted":"communication failure",aborted:a.aborted,timedout:a.timedout}},getByteArray:function(l){var h=l.response,j=l.responseBody,b=Ext.data.flash&&Ext.data.flash.BinaryXhr,a,k,g,d;if(l instanceof b){a=l.responseBytes}else{if(window.Uint8Array){a=h?new Uint8Array(h):[]}else{if(Ext.isIE9p){try{a=new VBArray(j).toArray()}catch(c){a=[]}}else{if(Ext.isIE){if(!this.self.vbScriptInjected){this.injectVBScript()}getIEByteArray(l.responseBody,a=[])}else{a=[];k=l.responseText;g=k.length;for(d=0;d<g;d++){a.push(k.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},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(){this.queue=[];this.taskQueue=[];this.runningQueue=[];this.idleQueue=[];this.isRunning=false;this.isIdle=true;this.run=Ext.Function.bind(this.run,this);if(Ext.os.is.iOS){Ext.interval(this.watch,500,this)}},start:function(b,c,a){this.queue.push(arguments);if(!this.isRunning){if(this.hasOwnProperty("idleTimer")){clearTimeout(this.idleTimer);delete this.idleTimer}if(this.hasOwnProperty("idleQueueTimer")){clearTimeout(this.idleQueueTimer);delete this.idleQueueTimer}this.isIdle=false;this.isRunning=true;this.startCountTime=Ext.now();this.count=0;this.doStart()}},watch:function(){if(this.isRunning&&Ext.now()-this.lastRunTime>=500){this.run()}},run:function(){if(!this.isRunning){return}var g=this.runningQueue,c,d;this.lastRunTime=Ext.now();this.frameStartTime=Ext.now();g.push.apply(g,this.queue);for(c=0,d=g.length;c<d;c++){this.invoke(g[c])}g.length=0;var e=this.frameStartTime,h=this.startCountTime,b=e-h,a=++this.count;if(b>=200){this.onFpsChanged(a*1000/b,a,b);this.startCountTime=e;this.count=0}this.doIterate()},onFpsChanged:Ext.emptyFn,onStop:Ext.emptyFn,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(b,h,a){if(!this.isRunning){return}var g=this.queue,e=g.length,c,d;for(c=0;c<e;c++){d=g[c];if(d[0]===b&&d[1]===h&&d[2]===a){g.splice(c,1);c--;e--}}if(e===0){this.doStop();this.onStop();this.isRunning=false;this.idleTimer=Ext.defer(this.whenIdle,100,this)}},onIdle:function(b,h,a){var e=this.idleQueue,c,g,d;for(c=0,g=e.length;c<g;c++){d=e[c];if(b===d[0]&&h===d[1]&&a===d[2]){return}}e.push(arguments);if(this.isIdle){this.processIdleQueue()}},unIdle:function(b,h,a){var e=this.idleQueue,c,g,d;for(c=0,g=e.length;c<g;c++){d=e[c];if(b===d[0]&&h===d[1]&&a===d[2]){e.splice(c,1);return true}}return false},queueTask:function(b,c,a){this.taskQueue.push(arguments);this.processTaskQueue()},dequeueTask:function(b,h,a){var e=this.taskQueue,c,g,d;for(c=0,g=e.length;c<g;c++){d=e[c];if(b===d[0]&&h===d[1]&&a===d[2]){e.splice(c,1);c--;g--}}},invoke:function(c){var b=c[0],d=c[1],a=c[2];b=(typeof b=="string"?d[b]:b);if(Ext.isArray(a)){b.apply(d,a)}else{b.call(d,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 b=this.idleQueue,a;if(b.length>0){a=b.shift();this.invoke(a);this.processIdleQueue()}},processTaskQueue:function(){if(!this.hasOwnProperty("taskQueueTimer")){this.taskQueueTimer=Ext.defer(this.processTaskQueueItem,15,this)}},processTaskQueueItem:function(){delete this.taskQueueTimer;var b=this.taskQueue,a;if(b.length>0){a=b.shift();this.invoke(a);this.processTaskQueue()}},showFps:function(){Ext.onInternalReady(function(){Ext.Viewport.add([{xtype:"component",bottom:50,left:0,width:50,height:20,html:"Average",style:"background-color: black; color: white; text-align: center; line-height: 20px; font-size: 8px;"},{id:"__averageFps",xtype:"component",bottom:0,left:0,width:50,height:50,html:"0",style:"background-color: red; color: white; text-align: center; line-height: 50px;"},{xtype:"component",bottom:50,left:50,width:50,height:20,html:"Min (Last 1k)",style:"background-color: black; color: white; text-align: center; line-height: 20px; font-size: 8px;"},{id:"__minFps",xtype:"component",bottom:0,left:50,width:50,height:50,html:"0",style:"background-color: orange; color: white; text-align: center; line-height: 50px;"},{xtype:"component",bottom:50,left:100,width:50,height:20,html:"Max (Last 1k)",style:"background-color: black; color: white; text-align: center; line-height: 20px; font-size: 8px;"},{id:"__maxFps",xtype:"component",bottom:0,left:100,width:50,height:50,html:"0",style:"background-color: yellow; color: black; text-align: center; line-height: 50px;"},{xtype:"component",bottom:50,left:150,width:50,height:20,html:"Current",style:"background-color: black; color: white; text-align: center; line-height: 20px; font-size: 8px;"},{id:"__currentFps",xtype:"component",bottom:0,left:150,width:50,height:50,html:"0",style:"background-color: green; color: white; text-align: center; line-height: 50px;"}]);Ext.AnimationQueue.resetFps()})},resetFps:function(){var c=Ext.getCmp("__currentFps"),a=Ext.getCmp("__averageFps"),h=Ext.getCmp("__minFps"),e=Ext.getCmp("__maxFps"),g=1000,d=0,b=0,i=0;Ext.AnimationQueue.onFpsChanged=function(j){b++;if(!(b%10)){g=1000;d=0}i+=j;g=Math.min(g,j);d=Math.max(d,j);c.setHtml(Math.round(j));a.setHtml(Math.round(i/b));h.setHtml(Math.round(g));e.setHtml(Math.round(d))}}},function(){var b=window.location.search.substr(1),a=b.split("&");if(Ext.Array.contains(a,"showfps")){Ext.AnimationQueue.showFps()}});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(b){var d=this,a=d.all,c=b.getId(),e=d.onAvailableCallbacks;if(c===undefined){Ext.Error.raise("Component id is undefined. Please ensure the component has an id.")}if(c in a){Ext.Error.raise('Registering duplicate component id "'+c+'"')}a[c]=b;if(b.reference){d.references[c]=b}++d.count;if(!d.hasFocusListener){Ext.on("focus",d.onGlobalFocus,d);d.hasFocusListener=true}e=e&&e[c];if(e&&e.length){d.notifyAvailable(b)}},unregister:function(a){var b=a.getId();if(a.reference){delete this.references[b]}delete this.all[b];this.count--},markReferencesDirty:function(){this.referencesDirty=true},fixReferences:function(){var b=this,c=b.references,a;if(b.referencesDirty){for(a in c){if(c.hasOwnProperty(a)){c[a].fixReference()}}b.referencesDirty=false}},onAvailable:function(d,c,h){var g=this,b=g.onAvailableCallbacks,a=g.all,e;if(d in a){e=a[d];c.call(h||e,e)}else{if(d){if(!Ext.isArray(b[d])){b[d]=[]}b[d].push(function(i){c.call(h||i,i)})}}},notifyAvailable:function(b){var a=this.onAvailableCallbacks[b&&b.getId()]||[];while(a.length){(a.shift())(b)}},each:function(a,b){return Ext.Object.each(this.all,a,b)},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(b){var h=this,k=b.toElement,g=b.fromElement,j=Ext.Component.fromElement(k),d=Ext.Component.fromElement(g),a=h.getCommonAncestor(d,j),c,i;if(d&&!(d.isDestroyed||d.destroying)){if(d.focusable&&g===d.getFocusEl().dom){c=new Ext.event.Event(b.event);c.type="blur";c.target=g;c.relatedTarget=k;d.onBlur(c)}for(i=d;i&&i!==a;i=i.getRefOwner()){if(!(i.isDestroyed||i.destroying)){i.onFocusLeave({event:b.event,type:"focusleave",target:g,relatedTarget:k,fromComponent:d,toComponent:j})}}}if(j&&!j.isDestroyed){if(j.focusable&&k===j.getFocusEl().dom){c=new Ext.event.Event(b.event);c.type="focus";c.relatedTarget=g;c.target=k;j.onFocus(c)}for(i=j;i&&i!==a;i=i.getRefOwner()){i.onFocusEnter({event:b.event,type:"focusenter",relatedTarget:g,target:k,fromComponent:d,toComponent:j})}}},getCommonAncestor:function(a,b){if(a===b){return a}while(a&&!(a.isAncestor(b)||a===b)){a=a.getRefOwner()}return a},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(b,e){var d=this,a,c;d.removeAtKey(b);c=d.last;a={prev:c,next:null,key:b,value:e};if(c){c.next=a}else{d.first=a}d.last=a;d.callParent([b,a]);d.prune();return e},insertBefore:function(c,e,g){var d=this,b,a;if(g=this.map[this.findKey(g)]){b=d.findKey(e);if(b){d.unlinkEntry(a=d.map[b])}else{a={prev:g.prev,next:g,key:c,value:e}}if(g.prev){a.prev.next=a}else{d.first=a}a.next=g;g.prev=a;d.prune();return e}else{return d.add(c,e)}},get:function(b){var a=this.map[b];if(a){if(a.next){this.moveToEnd(a)}return a.value}},removeAtKey:function(a){this.unlinkEntry(this.map[a]);return this.callParent(arguments)},clear:function(a){this.first=this.last=null;return this.callParent(arguments)},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(b,g,e){var d=this,a=e?d.last:d.first,c=d.length;g=g||d;while(a){if(b.call(g,a.key,a.value,c)===false){break}a=e?a.prev:a.next}return d},findKey:function(c){var a,b=this.map;for(a in b){if(b.hasOwnProperty(a)&&b[a].value===c){return a}}return undefined},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].value)}}c.resumeEvents();return c},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)}}}});Ext.define("Ext.ComponentQuery",{singleton:true},function(){var a=this,o=Ext.util.Operators,m=/(\d*)n\+?(\d*)/,n=/\D/,q=/^(\s)+/,s=/\\(.)/g,p=new Ext.util.LruCache({maxSize:100}),g=["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(""),h=function(t,u){return u.method.apply(this,[t].concat(u.args))},j=function(w,y){var z=[],v=0,x=w.length,t,u=y!==">";for(;v<x;v++){t=w[v];if(t.getRefItems){z=z.concat(t.getRefItems(u))}}return z},i=function(v){var x=[],u=0,w=v.length,t;for(;u<w;u++){t=v[u];while(!!(t=t.getRefOwner())){x.push(t)}}return x},e=function(v,z,y){if(z==="*"){return v.slice()}else{var x=[],u=0,w=v.length,t;for(;u<w;u++){t=v[u];if(t.isXType(z,y)){x.push(t)}}return x}},b=function(x,D,B,u){var G=[],w=0,z=x.length,A,C,t,F,y,E,v;if(D.charAt(0)==="@"){A=true;D=D.substr(1)}if(D.charAt(0)==="?"){A=true;C=true;D=D.substr(1)}for(;w<z;w++){t=x[w];v=t.getConfigurator&&t.self.$config.configs[D];if(v){F=t[v.names.get]()}else{if(A&&!t.hasOwnProperty(D)){continue}else{F=t[D]}}if(C){G.push(t)}else{if(B==="~="){if(F){if(!Ext.isArray(F)){F=F.split(" ")}for(y=0,E=F.length;y<E;y++){if(o[B](Ext.coerce(F[y],u),u)){G.push(t);break}}}}else{if(B==="/="){if(F!=null&&u.test(F)){G.push(t)}}else{if(!u?!!t[D]:o[B](Ext.coerce(F,u),u)){G.push(t)}}}}}return G},c=function(w,v){var y=[],u=0,x=w.length,t;for(;u<x;u++){t=w[u];if(t.getItemId()===v){y.push(t)}}return y},d=function(t,u,v){return a.pseudos[u](t,v)},l=/^(\s?([>\^])\s?|\s|$)/,r=/^(#)?((?:\\\.|[\w\-])+|\*)(?:\((true|false)\))?/,k=[{re:/^\.((?:\\\.|[\w\-])+)(?:\((true|false)\))?/,method:e,argTransform:function(t){var u=t[0];Ext.log.warn('"'+u+'" ComponentQuery selector style is deprecated, use "'+u.replace(/^\./,"")+'" without the leading dot instead');if(t[1]!==undefined){t[1]=t[1].replace(s,"$1")}return t.slice(1)}},{re:/^(?:\[((?:[@?$])?[\w\-]*)\s*(?:([\^$*~%!\/]?=)\s*(['"])?((?:\\\]|.)*?)\3)?(?!\\)\])/,method:b,argTransform:function(t){var B=t[0],A=t[1],z=t[2],v=t[4],u;if(v!==undefined){v=v.replace(s,"$1");var w=Ext.String.format,y="ComponentQuery selector '{0}' has an unescaped ({1}) character at the {2} of the attribute value pattern. Usually that indicates an error where the opening quote is not followed by the closing quote. If you need to match a ({1}) character at the {2} of the attribute value, escape the quote character in your pattern: (\\{1})",x;if(x=/^(['"]).*?[^'"]$/.exec(v)){Ext.log.warn(w(y,B,x[1],"beginning"))}else{if(x=/^[^'"].*?(['"])$/.exec(v)){Ext.log.warn(w(y,B,x[1],"end"))}}}if(z==="/="){u=p.get(v);if(u){v=u}else{v=p.add(v,new RegExp(v))}}return[A,z,v]}},{re:/^#((?:\\\.|[\w\-])+)/,method:c},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:d,argTransform:function(t){if(t[2]!==undefined){t[2]=t[2].replace(s,"$1")}return t.slice(1)}},{re:/^(?:\{([^\}]+)\})/,method:g}];a.Query=Ext.extend(Object,{constructor:function(t){t=t||{};Ext.apply(this,t)},execute:function(y){var w=this.operations,x=[],v,t,u;for(t=0,u=w.length;t<u;t++){v=w[t];x=x.concat(this._execute(y,v))}return x},_execute:function(x,w){var t=0,u=w.length,v,y;if(!x){y=Ext.ComponentManager.getAll()}else{if(Ext.isIterable(x)){y=x}else{if(x.isMixedCollection){y=x.items}}}for(;t<u;t++){v=w[t];if(v.mode==="^"){y=i(y||[x])}else{if(v.mode){y=j(y||[x],v.mode)}else{y=h(y||j([x]),v)}}if(t===u-1){return y}}return[]},is:function(t){var x=this.operations,y=false,v=x.length,w,u;if(v===0){return true}for(u=0;u<v;u++){w=x[u];y=this._is(t,w);if(y){return y}}return false},_is:function(u,C){var z=C.length,t=[u],B,v,y,A,x,w;for(v=z-1;v>=0;--v){B=C[v];A=B.mode;if(A){if(A==="^"){t=j(t," ")}else{if(A===">"){x=[];for(y=0,z=t.length;y<z;++y){w=t[y].getRefOwner();if(w){x.push(w)}}t=x}else{t=i(t)}}if(t.length===0){return false}}else{t=h(t,B);if(t.length===0){return false}}}return true},getMatches:function(t,w){var v=w.length,u;for(u=0;u<v;++u){t=h(t,w[u]);if(t.length===0){break}}return t},isMultiMatch:function(){return this.operations.length>1}});Ext.apply(a,{cache:new Ext.util.LruCache({maxSize:100}),pseudos:{not:function(u,z){var v=0,x=u.length,y=[],w=-1,t;for(;v<x;++v){t=u[v];if(!a.is(t,z)){y[++w]=t}}return y},first:function(t){var u=[];if(t.length>0){u.push(t[0])}return u},last:function(t){var u=t.length,v=[];if(u>0){v.push(t[u-1])}return v},focusable:function(u){var w=u.length,x=[],v=0,t;for(;v<w;v++){t=u[v];if(t.isFocusable&&t.isFocusable()){x.push(t)}}return x},"nth-child":function(u,t){var B=[],y=m.exec(t==="even"&&"2n"||t==="odd"&&"2n+1"||!n.test(t)&&"n+"+t||t),v=(y[1]||1)-0,x=y[2]-0,w,z,A;for(w=0;z=u[w];w++){A=w+1;if(v===1){if(x===0||A===x){B.push(z)}}else{if((A+x)%v===0){B.push(z)}}}return B},scrollable:function(u){var w=u.length,x=[],v=0,t;for(;v<w;v++){t=u[v];if(t.scrollable||t._scrollable){x.push(t)}}return x}},query:function(B,A){if(!B){return Ext.ComponentManager.all.getArray()}var y=[],w=[],u={},x=a.cache.get(B),z,t,v;if(!x){x=a.cache.add(B,a.parse(B))}y=x.execute(A);if(x.isMultiMatch()){z=y.length;for(v=0;v<z;v++){t=y[v];if(!u[t.id]){w.push(t);u[t.id]=true}}y=w}return y},visitPreOrder:function(x,v,u,w,t){a._visit(true,x,v,u,w,t)},visitPostOrder:function(x,v,u,w,t){a._visit(false,x,v,u,w,t)},_visit:function(z,E,B,w,D,v){var A=a.cache.get(E),t=[B],u,y=0,x,C;if(!A){A=a.cache.add(E,a.parse(E))}C=A.is(B);if(B.getRefItems){u=B.getRefItems();y=u.length}if(v){Ext.Array.push(t,v)}if(z){if(C){if(w.apply(D||B,t)===false){return false}}}for(x=0;x<y;x++){if(a._visit.call(a,z,E,u[x],w,D,v)===false){return false}}if(!z){if(C){if(w.apply(D||B,t)===false){return false}}}},is:function(t,v){if(!v){return true}var u=a.cache.get(v);if(!u){u=a.cache.add(v,a.parse(v))}return u.is(t)},parse:function(x){var v=[],y,w,t,u;y=Ext.splitAndUnescape(x,",");for(t=0,u=y.length;t<u;t++){w=Ext.String.trim(y[t]);if(w===""){Ext.Error.raise('Invalid ComponentQuery selector: ""')}v.push(a._parse(w))}return new a.Query({operations:v})},_parse:function(C){var B=[],H=Ext.String.trim,w=k.length,v,F,E,x,A,D,G,u,y,z,t;while(C&&v!==C){v=C;F=C.match(r);if(F){x=F[1];E=H(F[2]).replace(s,"$1");if(x==="#"){B.push({method:c,args:[E]})}else{B.push({method:e,args:[E,Boolean(F[3])]})}C=C.replace(F[0],"").replace(q,"$1")}while(!(A=C.match(l))){for(u=0;C&&u<w;u++){y=k[u];D=C.match(y.re);z=y.method;G=y.argTransform;if(D){if(G){t=G(D)}else{t=D.slice(1)}B.push({method:Ext.isString(y.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[z].concat(D.slice(1)))):y.method,args:t});C=C.replace(D[0],"").replace(q,"$1");break}if(u===(w-1)){Ext.Error.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(A[1]){B.push({mode:A[2]||A[1]});C=C.replace(A[0],"").replace(q,"")}}return B}})});Ext.define("Ext.Evented",{alternateClassName:"Ext.EventedBase",mixins:[Ext.mixin.Observable],statics:{generateSetter:function(b){var g=b.names,e=b.name,h=g.internal,a=g.apply,c=g.changeEvent,d=g.doSet;return function(n){var l=this,k=l.$configPrefixed?h:e,j=l.initialized,m,i=l[a];if(i){n=i.call(l,n,l[k]);if(n===undefined){return l}}m=l[k];if(n!==m){if(j){l.fireAction(c,[l,n,m],l.doSet,l,{nameMap:g})}else{l[k]=n;if(l[d]){l[d](n,m)}}}return this}}},initialized:false,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.initialized=true},doSet:function(a,e,c,d){var b=d.nameMap;a[b.internal]=e;if(a[b.doSet]){a[b.doSet].call(this,e,c)}},onClassExtended:function(c,e){if(!e.hasOwnProperty("eventedConfig")){return}var d=e.config,g=e.eventedConfig,a="eventedSetter",h,b;if(d){Ext.applyIf(d,g)}else{c.addConfig(g)}for(h in g){if(g.hasOwnProperty(h)){b=Ext.Config.get(h);e[b.names.set]=b[a]||(b[a]=this.generateSetter(b))}}}});Ext.define("Ext.util.Positionable",{mixinId:"positionable",_positionTopLeft:["position","top","left"],_alignRe:/^([a-z]+)-([a-z]+)(\?)?$/,afterSetPosition:Ext.emptyFn,getAnchorToXY:function(){Ext.Error.raise("getAnchorToXY is not implemented in "+this.$className)},getBorderPadding:function(){Ext.Error.raise("getBorderPadding is not implemented in "+this.$className)},getLocalX:function(){Ext.Error.raise("getLocalX is not implemented in "+this.$className)},getLocalXY:function(){Ext.Error.raise("getLocalXY is not implemented in "+this.$className)},getLocalY:function(){Ext.Error.raise("getLocalY is not implemented in "+this.$className)},getX:function(){Ext.Error.raise("getX is not implemented in "+this.$className)},getXY:function(){Ext.Error.raise("getXY is not implemented in "+this.$className)},getY:function(){Ext.Error.raise("getY is not implemented in "+this.$className)},setLocalX:function(){Ext.Error.raise("setLocalX is not implemented in "+this.$className)},setLocalXY:function(){Ext.Error.raise("setLocalXY is not implemented in "+this.$className)},setLocalY:function(){Ext.Error.raise("setLocalY is not implemented in "+this.$className)},setX:function(){Ext.Error.raise("setX is not implemented in "+this.$className)},setXY:function(){Ext.Error.raise("setXY is not implemented in "+this.$className)},setY:function(){Ext.Error.raise("setY is not implemented in "+this.$className)},adjustForConstraints:function(c,a){var b=this.getConstrainVector(a,c);if(b){c[0]+=b[0];c[1]+=b[1]}return c},alignTo:function(c,g,e,a){var d=this,b=d.el;return d.setXY(d.getAlignToXY(c,g,e),b.anim&&!!a?b.anim(a):false)},calculateAnchorXY:function(a,d,e,j){var h=this,c=h.el,b=document,g=(c.dom===b.body||c.dom===b),l=Math.round,m,k,i;a=(a||"tl").toLowerCase();j=j||{};k=j.width||(g?Ext.Element.getViewportWidth():h.getWidth());i=j.height||(g?Ext.Element.getViewportHeight():h.getHeight());switch(a){case"tl":m=[0,0];break;case"bl":m=[0,i];break;case"tr":m=[k,0];break;case"c":m=[l(k*0.5),l(i*0.5)];break;case"t":m=[l(k*0.5),0];break;case"l":m=[0,l(i*0.5)];break;case"r":m=[k,l(i*0.5)];break;case"b":m=[l(k*0.5),i];break;case"tc":m=[l(k*0.5),0];break;case"bc":m=[l(k*0.5),i];break;case"br":m=[k,i]}return[m[0]+d,m[1]+e]},convertPositionSpec:Ext.identityFn,getAlignToXY:function(d,t,o){var k=this,j,i,c,m,e,n,l,g,v,u,h,a,b,q,p,s,r,w,z;d=Ext.get(d.el||d);if(!d||!d.dom){Ext.Error.raise({sourceClass:"Ext.util.Positionable",sourceMethod:"getAlignToXY",msg:"Attempted to align an element that doesn't exist"})}o=o||[0,0];t=(!t||t==="?"?"tl-bl?":(!(/-/).test(t)&&t!==""?"tl-"+t:t||"tl-bl")).toLowerCase();t=k.convertPositionSpec(t);c=t.match(k._alignRe);if(!c){Ext.Error.raise({sourceClass:"Ext.util.Positionable",sourceMethod:"getAlignToXY",el:d,position:t,offset:o,msg:'Attemmpted to align an element with an invalid position: "'+t+'"'})}a=c[1];b=c[2];h=!!c[3];m=k.getAnchorXY(a,true);e=k.getAnchorToXY(d,b,false);w=e[0]-m[0]+o[0];z=e[1]-m[1]+o[1];if(h){j=k.constrainTo||k.container||k.el.parent();j=Ext.get(j.el||j);i=j.getConstrainRegion();i.right=i.left+j.el.dom.clientWidth;n=k.getWidth();l=k.getHeight();g=d.getRegion();q=a.charAt(0);p=a.charAt(a.length-1);s=b.charAt(0);r=b.charAt(b.length-1);v=(w<g.right&&w+n>=g.left)&&((q=="t"&&s=="b")||(q=="b"&&s=="t"));u=(z<g.bottom&&z+l>=g.top)&&((p=="r"&&r=="l")||(p=="l"&&r=="r"));if(w+n>i.right){if(u){w=g.left-n;u=false}else{w=i.right-n}}if(w<i.left){w=u?g.right:i.left}if(z+l>i.bottom){if(v){z=g.top-l;v=false}else{z=i.bottom-l}}if(z<i.top){z=v?g.bottom:i.top}}return[w,z]},getAnchorXY:function(a,h,k){var i=this,j=i.getXY(),c=i.el,b=document,g=c.dom==b.body||c.dom==b,l=c.getScroll(),d=g?l.left:h?0:j[0],e=g?l.top:h?0:j[1];return i.calculateAnchorXY(a,d,e,k)},getBox:function(d,g){var i=this,l=g?i.getLocalXY():i.getXY(),k=l[0],m=l[1],j=i.getWidth(),e=i.getHeight(),c,a,b;if(d){c=i.getBorderPadding();a=c.beforeX;b=c.beforeY;k+=a;m+=b;j-=(a+c.afterX);e-=(b+c.afterY)}return{x:k,left:k,0:k,y:m,top:m,1:m,width:j,height:e,right:k+j,bottom:m+e}},calculateConstrainedPosition:function(b,k,d,l){var g=this,m,c=g.floatParent,h=c?c.getTargetEl():null,i,a,j,n=false,e;if(d&&c){i=h.getXY();a=h.getBorderPadding();i[0]+=a.beforeX;i[1]+=a.beforeY;if(k){j=[k[0]+i[0],k[1]+i[1]]}}else{j=k}b=b||g.constrainTo||h||g.container||g.el.parent();if(d&&j){j=g.reverseTranslateXY(j)}m=((g.constrainHeader&&g.header.rendered)?g.header:g).getConstrainVector(b,j,l);if(m){n=k||g.getPosition(d);n[0]+=m[0];n[1]+=m[1]}return n},getConstrainRegion:function(){var h=this,c=h.el,e=c.dom.nodeName==="BODY",b=c.dom,a=c.getBorders(),i=c.getXY(),g=i[0]+a.beforeX,k=i[1]+a.beforeY,j,l,d;if(e){j=c.getScroll();g=j.left;k=j.top;l=Ext.Element.getViewportWidth();d=Ext.Element.getViewportHeight()}else{l=b.clientWidth;d=b.clientHeight}return new Ext.util.Region(k,g+l,k+d,g)},getConstrainVector:function(c,e,g){var i=this.getRegion(),j=[0,0],h=(this.shadow&&this.constrainShadow&&!this.shadowDisabled)?this.shadow.getShadowSize():undefined,d=false,a,b=this.constraintInsets;if(!(c instanceof Ext.util.Region)){c=Ext.get(c.el||c);a=c.getViewSize();c=c.getConstrainRegion();c.right=c.left+a.width;c.bottom=c.top+a.height}if(b){b=Ext.isObject(b)?b:Ext.Element.parseBox(b);c.adjust(b.top,b.right,b.bottom,b.left)}if(e){i.translateBy(e[0]-i.x,e[1]-i.y)}if(g){i.right=i.left+g[0];i.bottom=i.top+g[1]}if(h){c.adjust(h[0],-h[1],-h[2],h[3])}if(i.right>c.right){d=true;j[0]=(c.right-i.right)}if(i.left+j[0]<c.left){d=true;j[0]=(c.left-i.left)}if(i.bottom>c.bottom){d=true;j[1]=(c.bottom-i.bottom)}if(i.top+j[1]<c.top){d=true;j[1]=(c.top-i.top)}return d?j:false},getOffsetsTo:function(c){var b=this.getXY(),a=Ext.fly(c.el||c).getXY();return[b[0]-a[0],b[1]-a[1]]},getRegion:function(){var a=this.getBox();return new Ext.util.Region(a.top,a.right,a.bottom,a.left)},getViewRegion:function(){var g=this,b=g.el,d=b.dom.nodeName==="BODY",a,i,h,j,e,k,c;if(d){i=b.getScroll();e=i.left;j=i.top;k=Ext.Element.getViewportWidth();c=Ext.Element.getViewportHeight()}else{a=g.getBorderPadding();h=g.getXY();e=h[0]+a.beforeX;j=h[1]+a.beforeY;k=g.getWidth(true);c=g.getHeight(true)}return new Ext.util.Region(j,e+k,j+c,e)},move:function(c,d,a){var h=this,l=h.getXY(),k=l[0],m=l[1],g=[k-d,m],i=[k+d,m],j=[k,m-d],b=[k,m+d],e={l:g,left:g,r:i,right:i,t:j,top:j,up:j,b:b,bottom:b,down:b};c=c.toLowerCase();h.setXY([e[c][0],e[c][1]],a)},setBox:function(a){var b=this,c,d;if(a.isRegion){a={x:a.left,y:a.top,width:a.right-a.left,height:a.bottom-a.top}}b.constrainBox(a);c=a.x;d=a.y;b.setXY([c,d]);b.setSize(a.width,a.height);b.afterSetPosition(c,d);return b},constrainBox:function(a){var c=this,b,d,e;if(c.constrain||c.constrainHeader){d=("x" in a)?a.x:a.left;e=("y" in a)?a.y:a.top;b=c.calculateConstrainedPosition(null,[d,e],false,[a.width,a.height]);if(b){a.x=b[0];a.y=b[1]}}},translatePoints:function(b,c){var a=this.translateXY(b,c);return{left:a.x,top:a.y}},translateXY:function(h,j){var c=this,a=c.el,e=a.getStyle(c._positionTopLeft),d=e.position==="relative",b=parseFloat(e.left),g=parseFloat(e.top),i=c.getXY();if(Ext.isArray(h)){j=h[1];h=h[0]}if(isNaN(b)){b=d?0:a.dom.offsetLeft}if(isNaN(g)){g=d?0:a.dom.offsetTop}b=(typeof h==="number")?h-i[0]+b:undefined;g=(typeof j==="number")?j-i[1]+g:undefined;return{x:b,y:g}},reverseTranslateXY:function(j){var a=j,c=this.el,h=[],b=c.dom,d=b.offsetParent,g,e,i,k;if(d){g=c.isStyle("position","relative"),e=Ext.fly(d).getXY(),i=j[0]+e[0]+d.clientLeft;k=j[1]+e[1]+d.clientTop;if(g){i+=c.getPadding("l");k+=c.getPadding("t")}a=[i,k]}return a}});Ext.define("Ext.overrides.util.Positionable",{override:"Ext.util.Positionable",anchorTo:function(d,b,j,e,i,g){var h=this,k=!Ext.isEmpty(i),a=function(){h.alignTo(d,b,j,e);Ext.callback(g,h)},c=h.getAnchor();h.removeAnchor();Ext.apply(c,{fn:a,scroll:k});Ext.on("resize",a,null);if(k){Ext.getWin().on("scroll",a,null,{buffer:!isNaN(i)?i:50})}a();return h},getAnchor:function(){var c=this.el,b,a;if(!c.dom){return}b=c.getData();a=b._anchor;if(!a){a=b._anchor={}}return a},removeAnchor:function(){var a=this.getAnchor();if(a&&a.fn){Ext.un("resize",a.fn);if(a.scroll){Ext.getWin().on("scroll",a.fn)}delete a.fn}return this},setBox:function(b,a){var c=this;if(b.isRegion){b={x:b.left,y:b.top,width:b.right-b.left,height:b.bottom-b.top}}if(a){c.constrainBox(b);c.animate(Ext.applyIf({to:b,listeners:{afteranimate:Ext.Function.bind(c.afterSetPosition,c,[b.x,b.y])}},a))}else{c.callParent([b])}return c}});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);a.dom.setAttribute("data-sticky",true)}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,j,h,b){var d=this,a=d.el,g=d.target,e=d.offsets,c=Math.max;if(a){if(i==null){i=g.getX()}if(j==null){j=g.getY()}if(h==null){h=g.getWidth()}if(b==null){b=g.getHeight()}if(e){i=i+e.x;j=j+e.y;h=c(h+e.w,0);b=c(b+e.h,0)}a.setXY([i,j]);a.setSize(h,b)}},setZIndex:function(a){this.zIndex=a;if(this.el){this.el.setStyle("z-index",a)}},show:function(){var d=this,e=d.target,g=d.zIndex,b=d.el,c=d.getInsertionTarget().dom,a;if(!b){b=d.el=d.getPool().checkOut()}d.beforeShow();if(g==null){g=(parseInt(e.getStyle("z-index"),10))}if(g){b.setStyle("z-index",g)}b.setStyle("position",d.fixed?"fixed":"");a=b.dom;if(a.nextSibling!==c){e.dom.parentNode.insertBefore(a,c)}b.show();d.realign();d.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(a){var b=this,e,d,c,g;b.callParent([a]);b.elementConfig={cls:b.cls,role:"presentation"};c=b.offset;g=Math.floor(c/2);b.opacity=50;switch(b.mode.toLowerCase()){case"drop":e={x:0,y:0,w:c,h:c};if(Ext.supports.CSS3BoxShadow){d={x:c,y:c,h:-c,w:-c}}else{d={x:-g,y:-g,h:-g,w:-g}}break;case"sides":e={x:-c,y:0,w:c*2,h:c};if(Ext.supports.CSS3BoxShadow){d={x:0,y:c,h:-c,w:0}}else{d={x:1+g-2*c,y:-(1+g),h:-1,w:g-1}}break;case"frame":e={x:-c,y:-c,w:c*2,h:c*2};if(Ext.supports.CSS3BoxShadow){d={x:0,y:0,h:0,w:0}}else{d={x:1+g-2*c,y:1+g-2*c,h:c-g-1,w:c-g-1}}break;case"bottom":e={x:-c,y:0,w:c*2,h:c};if(Ext.supports.CSS3BoxShadow){d={x:0,y:c,h:-c,w:0}}else{d={x:0,y:c,h:0,w:0}}break}b.offsets=d;b.outerOffsets=e},getShadowSize:function(){var a=this,c=a.el?a.offset:0,d=[c,c,c,c],b=a.mode.toLowerCase();if(a.el&&b!=="frame"){d[0]=0;if(b=="drop"){d[3]=0}}return d},boxShadowProperty:(function(){var a="boxShadow",b=document.documentElement.style;if(!("boxShadow" in b)){if("WebkitBoxShadow" in b){a="WebkitBoxShadow"}else{if("MozBoxShadow" in b){a="MozBoxShadow"}}}return a}()),beforeShow:function(){var a=this,c=a.el.dom.style,b=a.shim;if(Ext.supports.CSS3BoxShadow){c[a.boxShadowProperty]="0 0 "+(a.offset+2)+"px #888"}else{c.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+a.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(a.offset)+")"}if(b){b.realign()}},setOpacity:function(b){var a=this.el;if(a){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){b=Math.floor(b*100/2)/100}this.opacity=b;a.setOpacity(b)}}});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(g,l,k,b,h){var i=this,a=false,j=i.name,c,e,d;k=k||{};if(k.delegated===false||Ext.event.publisher.Dom.instance.directEvents[j]){if(k.capture){d=i.directCaptures||(i.directCaptures=new Ext.util.Event(i.observable,j));a=d.addListener(g,l,k,b,h)}else{e=i.directs||(i.directs=new Ext.util.Event(i.observable,j));a=e.addListener(g,l,k,b,h)}}else{if(k.capture){c=i.captures||(i.captures=new Ext.util.Event(i.observable,j));a=c.addListener(g,l,k,b,h)}else{a=i.callParent([g,l,k,b,h])}}return a},removeListener:function(d,i){var g=this,a=g.captures,c=g.directs,b=g.directCaptures,h=false,e=g.findListener(d,i);if(e!==-1){h=g.callParent([d,i,e])}else{if(c){e=c.findListener(d,i)}if(e!==-1){h=c.removeListener(d,i,e)}else{if(a){e=a.findListener(d,i)}if(e!==-1){h=a.removeListener(d,i,e)}else{if(b){e=b.findListener(d,i);if(e!==-1){h=b.removeListener(d,i,e)}}}}}return h},clearListeners:function(){var d=this,b=d.directCaptures,c=d.directs,a=d.captures;if(b){b.clearListeners()}if(c){c.clearListeners()}if(a){a.clearListeners()}d.callParent()},suspend:function(){var d=this,b=d.directCaptures,c=d.directs,a=d.captures;if(b){b.suspend()}if(c){c.suspend()}if(a){a.suspend()}d.callParent()},resume:function(){var d=this,b=d.directCaptures,c=d.directs,a=d.captures;if(b){b.resume()}if(c){c.resume()}if(a){a.resume()}d.callParent()}});Ext.define("Ext.event.publisher.Publisher",{handledEvents:[],statics:{publishers:{},publishersByEvent:{}},constructor:function(){var a=this,b=a.type;a.handles={};if(!b){Ext.Error.raise("Event publisher '"+a.$className+"' defined without a 'type' property.")}if(a.self.instance){Ext.Error.raise("Cannot create multiple instances of '"+a.$className+"'. Use '"+a.$className+".instance' to retrieve the singleton instance.")}a.registerEvents();Ext.event.publisher.Publisher.publishers[b]=a},registerEvents:function(b){var g=this,h=Ext.event.publisher.Publisher.publishersByEvent,c=b||g.handledEvents,e=c.length,a,d;for(d=0;d<e;d++){a=c[d];g.handles[a]=1;h[a]=g}},fire:function(b,d,a){var c;if(b.hasListeners[d]){c=b.events[d];if(c){c.fire.apply(c,a)}}},subscribe:function(){Ext.Error.raise("Ext.event.publisher.Publisher subclass '"+this.$className+'" has no subscribe method.')},unsubscribe:function(){Ext.Error.raise("Ext.event.publisher.Publisher subclass '"+this.$className+'" has no unsubscribe method.')},destroy:Ext.emptyFn});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){if(!(a instanceof this.statics())){Ext.Error.raise("Offset must be an instance of Ext.util.Offset")}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(g,e,a,c){var d=this;d.y=d.top=d[1]=g;d.right=e;d.bottom=a;d.x=d.left=d[0]=c},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(g){var d=this,h=Math.max(d.y,g.y),e=Math.min(d.right,g.right),a=Math.min(d.bottom,g.bottom),c=Math.max(d.x,g.x);if(a>h&&e>c){return new this.self(h,e,a,c)}else{return false}},union:function(g){var d=this,h=Math.min(d.y,g.y),e=Math.max(d.right,g.right),a=Math.max(d.bottom,g.bottom),c=Math.min(d.x,g.x);return new this.self(h,e,a,c)},constrainTo:function(c){var b=this,a=Ext.Number.constrain;b.top=b.y=a(b.top,c.y,c.bottom);b.bottom=a(b.bottom,c.y,c.bottom);b.left=b.x=a(b.left,c.x,c.right);b.right=a(b.right,c.x,c.right);return b},adjust:function(g,e,a,c){var d=this;d.top=d.y+=g;d.left=d.x+=c;d.right+=e;d.bottom+=a;return d},getOutOfBoundOffset:function(a,c){if(!Ext.isObject(a)){if(a=="x"){return this.getOutOfBoundOffsetX(c)}else{return this.getOutOfBoundOffsetY(c)}}else{c=a;var b=new Ext.util.Offset();b.x=this.getOutOfBoundOffsetX(c.x);b.y=this.getOutOfBoundOffsetY(c.y);return b}},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(a,d,b){if(Ext.isObject(a)){var c;b=d;d=a;if(d.copy){c=d.copy()}else{c={x:d.x,y:d.y}}c.x=this.restrictX(d.x,b);c.y=this.restrictY(d.y,b);return c}else{if(a=="x"){return this.restrictX(d,b)}else{return this.restrictY(d,b)}}},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(b,c){if(arguments.length==1){c=b.y;b=b.x}var a=this;a.top=a.y+=c;a.right+=b;a.bottom+=c;a.left=a.x+=b;return a},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+"]"},isCloseTo:function(a,b){if(typeof b=="number"){return this.getDistanceTo(a)<=b}var e=a.x,g=a.y,c=b.x,d=b.y;return(this.x<=e+c&&this.x>=e-c&&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(c){if(!c||typeof c!=="object"){c=this.origin}var a=this.x-c.x,b=this.y-c.y;return Math.sqrt(a*a+b*b)},getAngleTo:function(c){if(!c||typeof c!=="object"){c=this.origin}var a=this.x-c.x,b=this.y-c.y;return Math.atan2(b,a)*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(c){var d=this,i=d.self,h=d.self.resolveTextNode,a=c.changedTouches,b=a?a[0]:c,j=c.type,e,g;d.pageX=b.pageX;d.pageY=b.pageY;d.target=d.delegatedTarget=h(c.target);g=c.relatedTarget;if(g){d.relatedTarget=h(g)}d.browserEvent=d.event=c;d.type=j;d.button=c.button||0;d.shiftKey=c.shiftKey;d.ctrlKey=c.ctrlKey||c.metaKey||false;d.altKey=c.altKey;d.charCode=c.charCode||0;d.keyCode=c.keyCode;d.buttons=c.buttons;if(d.button===0&&d.buttons===0){d.buttons=1}if(i.forwardTab!==undefined&&i.focusEvents[j]){d.forwardTab=i.forwardTab}if(i.mouseEvents[j]||i.clickEvents[j]){e="mouse"}else{if(i.pointerEvents[j]){e=i.pointerTypes[c.pointerType]}else{if(i.touchEvents[j]){e="touch"}}}if(e){d.pointerType=e}d.timeStamp=d.time=+(c.timeStamp||new Date())},chain:function(b){var a=Ext.Object.chain(this);a.parentEvent=this;return Ext.apply(a,b)},correctWheelDelta:function(a){var c=this.WHEEL_SCALE,b=Math.round(a/c);if(!b&&a){b=(a<0)?-1:1}return b},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.keyCode||this.charCode},getPoint:function(){var a=this.getXY();return new Ext.util.Point(a[0],a[1])},getRelatedTarget:function(d,a,c){var b=this.relatedTarget,e=null;if(b){if(d){e=Ext.fly(b).findParent(d,a,c)}else{e=c?Ext.get(b):b}}return e},getTarget:function(c,a,b){return c?Ext.fly(this.target).findParent(c,a,b):(b?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,a=0,b=0;if(Ext.isDefined(c.wheelDeltaX)){a=c.wheelDeltaX;b=c.wheelDeltaY}else{if(c.wheelDelta){b=c.wheelDelta}else{if(c.detail){b=-c.detail;if(b>100){b=3}else{if(b<-100){b=-3}}if(Ext.isDefined(c.axis)&&c.axis===c.HORIZONTAL_AXIS){a=b;b=0}}}}return{x:d.correctWheelDelta(a),y:d.correctWheelDelta(b)}},getX:function(){return this.getXY()[0]},getXY:function(){var e=this,h=e.xy;if(!h){h=e.xy=[e.pageX,e.pageY];var g=h[0],b,c,d,a;if(!g&&g!==0){b=e.browserEvent;c=document;d=c.documentElement;a=c.body;h[0]=b.clientX+(d&&d.scrollLeft||a&&a.scrollLeft||0)-(d&&d.clientLeft||a&&a.clientLeft||0);h[1]=b.clientY+(d&&d.scrollTop||a&&a.scrollTop||0)-(d&&d.clientTop||a&&a.clientTop||0)}}return h},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,b=c.keyCode,a=c.type==="keypress";return((!a||Ext.isGecko)&&b>=33&&b<=40)||(!d&&(b===c.RETURN||b===c.TAB||b===c.ESC))},isSpecialKey:function(){var d=this,c=d.keyCode,a=Ext.isGecko,b=d.type==="keypress";return(a&&b&&d.charCode===0)||(this.isNavKeyPress())||(c===d.BACKSPACE)||(c===d.ENTER)||(c>=16&&c<=20)||((!b||a)&&c>=44&&c<=46)},makeUnpreventable:function(){this.browserEvent.preventDefault=Ext.emptyFn},preventDefault:function(){var a=this,b=a.parentEvent;a.defaultPrevented=true;if(b){b.defaultPrevented=true}a.browserEvent.preventDefault();return a},setCurrentTarget:function(a){this.currentTarget=this.delegatedTarget=a},stopEvent:function(){return this.preventDefault().stopPropagation()},stopPropagation:function(){var b=this,a=b.browserEvent,c=b.parentEvent;b.isStopped=true;if(c){c.isStopped=true}if(!a.stopPropagation){a.cancelBubble=true;return b}a.stopPropagation();return b},within:function(b,c,a){var d;if(b){d=c?this.getRelatedTarget():this.getTarget()}return d?Ext.fly(b).contains(d)||!!(a&&d===Ext.getDom(b)):false},deprecated:{"4.0":{methods:{getPageX:"getX",getPageY:"getY"}}}},function(b){var c=b.prototype,a={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 d;if(Ext.isGecko){d=3}else{if(Ext.isMac){if(Ext.isSafari&&Ext.webKitVersion>=532){d=120}else{d=12}d*=3}else{d=120}}return d}())};Ext.apply(b,a);Ext.apply(c,a);c.getTrueXY=c.getXY});Ext.define("Ext.overrides.event.Event",{override:"Ext.event.Event",mousedownEvents:{mousedown:1,pointerdown:1,touchstart:1},injectEvent:(function(){var a,e={},c;if(!Ext.isIE9m&&document.createEvent){a={createHtmlEvent:function(i,k,g,h){var j=i.createEvent("HTMLEvents");j.initEvent(k,g,h);return j},createMouseEvent:function(o,t,h,j,n,k,l,m,g,s,q,i,r){var p=o.createEvent("MouseEvents"),u=o.defaultView||window;if(p.initMouseEvent){p.initMouseEvent(t,h,j,u,n,k,l,k,l,m,g,s,q,i,r)}else{p=o.createEvent("UIEvents");p.initEvent(t,h,j);p.view=u;p.detail=n;p.screenX=k;p.screenY=l;p.clientX=k;p.clientY=l;p.ctrlKey=m;p.altKey=g;p.metaKey=q;p.shiftKey=s;p.button=i;p.relatedTarget=r}return p},createUIEvent:function(j,l,g,h,i){var k=j.createEvent("UIEvents"),m=j.defaultView||window;k.initUIEvent(l,g,h,m,i);return k},fireEvent:function(h,i,g){h.dispatchEvent(g)}}}else{if(document.createEventObject){c={0:1,1:4,2:2};a={createHtmlEvent:function(i,k,g,h){var j=i.createEventObject();j.bubbles=g;j.cancelable=h;return j},createMouseEvent:function(o,t,h,j,n,k,l,m,g,s,q,i,r){var p=o.createEventObject();p.bubbles=h;p.cancelable=j;p.detail=n;p.screenX=k;p.screenY=l;p.clientX=k;p.clientY=l;p.ctrlKey=m;p.altKey=g;p.shiftKey=s;p.metaKey=q;p.button=c[i]||i;p.relatedTarget=r;return p},createUIEvent:function(j,l,g,h,i){var k=j.createEventObject();k.bubbles=g;k.cancelable=h;return k},fireEvent:function(h,i,g){h.fireEvent("on"+i,g)}}}}Ext.Object.each({load:[false,false],unload:[false,false],select:[true,false],change:[true,false],submit:[true,true],reset:[true,false],resize:[true,false],scroll:[true,false]},function(i,j){var g=j[0],h=j[1];e[i]=function(m,l){var k=a.createHtmlEvent(i,g,h);a.fireEvent(m,i,k)}});function d(i,h){var g=(i!=="mousemove");return function(l,k){var m=k.getXY(),j=a.createMouseEvent(l.ownerDocument,i,true,g,h,m[0],m[1],k.ctrlKey,k.altKey,k.shiftKey,k.metaKey,k.button,k.relatedTarget);a.fireEvent(l,i,j)}}Ext.each(["click","dblclick","mousedown","mouseup","mouseover","mousemove","mouseout"],function(g){e[g]=d(g,1)});Ext.Object.each({focusin:[true,false],focusout:[true,false],activate:[true,true],focus:[false,false],blur:[false,false]},function(i,j){var g=j[0],h=j[1];e[i]=function(m,l){var k=a.createUIEvent(m.ownerDocument,i,g,h,1);a.fireEvent(m,i,k)}});if(!a){e={};a={}}function b(h,g){}return function(j){var h=this,g=e[h.type]||b,i=j?(j.dom||j):h.getTarget();g(i,h)}}()),preventDefault:function(){var b=this,a=b.browserEvent,c=b.parentEvent,e,d;if(typeof a.type!=="unknown"){b.defaultPrevented=true;if(c){c.defaultPrevented=true}if(a.preventDefault){a.preventDefault()}else{if(a.type==="mousedown"){d=a.target;e=d.getAttribute("unselectable");if(e!=="on"){d.setAttribute("unselectable","on");Ext.defer(function(){d.setAttribute("unselectable",e)},1)}}a.returnValue=false;if(a.ctrlKey||a.keyCode>111&&a.keyCode<124){a.keyCode=-1}}}return b},stopPropagation:function(){var b=this,a=b.browserEvent;if(typeof a.type!=="unknown"){if(b.mousedownEvents[b.type]){Ext.GlobalEvents.fireMouseDown(b)}b.callParent()}return b},deprecated:{"5.0":{methods:{clone:function(){return new this.self(this.browserEvent,this)}}}}},function(){var b=this,a,c=function(g){if(g.keyCode===9){b.forwardTab=!g.shiftKey}},d=function(g){if(g.keyCode===9){delete b.forwardTab}};if(Ext.isIE9m){a={0:0,1:0,4:1,2:2};b.override({statics:{enableIEAsync:function(e){var h,g={};for(h in e){g[h]=e[h]}return g}},constructor:function(e,h,j,g){var i=this;i.callParent([e,h,j,g]);i.button=a[e.button];if(e.type==="contextmenu"){i.button=2}i.toElement=e.toElement;i.fromElement=e.fromElement},mouseLeaveRe:/(mouseout|mouseleave)/,mouseEnterRe:/(mouseover|mouseenter)/,enableIEAsync:function(e){this.browserEvent=this.self.enableIEAsync(e)},getRelatedTarget:function(i,e,h){var g=this,k,j;if(!g.relatedTarget){k=g.type;if(g.mouseLeaveRe.test(k)){j=g.toElement}else{if(g.mouseEnterRe.test(k)){j=g.fromElement}}if(j){g.relatedTarget=g.self.resolveTextNode(j)}}return g.callParent([i,e,h])}});document.attachEvent("onkeydown",c);document.attachEvent("onkeyup",d);window.attachEvent("onunload",function(){document.detachEvent("onkeydown",c);document.detachEvent("onkeyup",d)})}else{if(document.addEventListener){document.addEventListener("keydown",c,true);document.addEventListener("keyup",d,true)}}});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},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,scroll: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 e=this,g=Ext.event.publisher.Publisher.publishersByEvent,a=e.handledDomEvents,d=a.length,c=0,b;for(;c<d;c++){b=a[c];e.handles[b]=1;g[b]=e}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(c,b,a){b.dom.addEventListener(c,a?this.onDirectCaptureEvent:this.onDirectEvent,a)},removeDirectListener:function(c,b,a){b.dom.removeEventListener(c,a?this.onDirectCaptureEvent:this.onDirectEvent,a)},subscribe:function(c,d,b,a){var g=this,h,e;if(b&&!g.directEvents[d]){h=a?g.captureSubscribers:g.bubbleSubscribers;if(!g.handles[d]&&!g.delegatedListeners[d]){g.addDelegatedListener(d)}if(h[d]){++h[d]}else{h[d]=1}}else{h=a?g.directCaptureSubscribers:g.directSubscribers;e=c.id;h=h[d]||(h[d]={});if(h[e]){++h[e]}else{h[e]=1;g.addDirectListener(d,c,a)}}},unsubscribe:function(e,g,d,b){var i=this,c,a,j,h;if(d&&!i.directEvents[g]){c=i.captureSubscribers;a=i.bubbleSubscribers;j=b?c:a;if(j[g]){--j[g]}if(!i.handles[g]&&!a[g]&&!c[g]){this.removeDelegatedListener(g)}}else{j=b?i.directCaptureSubscribers:i.directSubscribers;h=e.id;j=j[g];if(j[h]){--j[h]}if(!j[h]){delete j[h];i.removeDirectListener(g,e,b)}}},getPropagatingTargets:function(c){var a=c,d=[],b;while(a){d.push(a);b=a.parentNode;if(!b){b=a.defaultView}a=b}return d},publish:function(c,j,a){var h=this,k,b,d,g;if(Ext.isArray(j)){k=j}else{if(h.captureEvents[c]){b=Ext.cache[j.id];k=b?[b]:[]}else{k=h.getPropagatingTargets(j)}}g=k.length;if(h.captureSubscribers[c]){for(d=g;d--;){b=Ext.cache[k[d].id];if(b){h.fire(b,c,a,false,true);if(a.isStopped){break}}}}if(!a.isStopped&&h.bubbleSubscribers[c]){for(d=0;d<g;d++){b=Ext.cache[k[d].id];if(b){h.fire(b,c,a,false,false);if(a.isStopped){break}}}}},fire:function(d,h,c,b,a){var g;if(d.hasListeners[h]){g=d.events[h];if(g){if(a&&b){g=g.directCaptures}else{if(a){g=g.captures}else{if(b){g=g.directs}}}if(g){c.setCurrentTarget(d.dom);g.fire(c,c.target)}}}},onDelegatedEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDelegatedEvent,this,[a])}else{this.doDelegatedEvent(a)}},doDelegatedEvent:function(a,b){var c=this,d=a.timeStamp;a=new Ext.event.Event(a);if(c.isEventBlocked(a)){return false}c.beforeEvent(a);Ext.frameStartTime=d;c.reEnterCount++;c.publish(a.type,a.target,a);c.reEnterCount--;if(b!==false){c.afterEvent(a)}return a},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(c,a){var d=this,b=c.currentTarget,g=c.timeStamp;c=new Ext.event.Event(c);if(d.isEventBlocked(c)){return}d.beforeEvent(c);Ext.frameStartTime=g;d.reEnterCount++;d.fire(Ext.cache[b.id],c.type,c,true,a);d.reEnterCount--;d.afterEvent(c)},beforeEvent:function(b){var a=b.browserEvent,c=Ext.event.publisher.Dom,g,d;if(a.type==="touchstart"){g=a.touches;if(g.length===1){d=g[0];c.lastTouchStartX=d.pageX;c.lastTouchStartY=d.pageY}}},afterEvent:function(b){var a=b.browserEvent,g=a.type,d=Ext.event.publisher.Dom,c=Ext.GlobalEvents;if(b.self.pointerEvents[g]&&b.pointerType!=="mouse"){d.lastScreenPointerEventTime=Ext.now()}if(g==="touchend"){d.lastTouchEndTime=Ext.now()}if(!this.reEnterCount&&c.hasListeners.idle&&!c.idleEventMask[g]){c.fireEvent("idle")}},isEventBlocked:function(a){var b=this,g=a.type,d=Ext.event.publisher.Dom,c=Ext.now();if(Ext.isGecko&&a.type==="click"&&a.button===2){return true}return(b.blockedPointerEvents[g]&&a.pointerType!=="mouse")||(b.blockedCompatibilityMouseEvents[g]&&(c-d.lastScreenPointerEventTime<1000))||(Ext.supports.TouchEvents&&a.self.mouseEvents[a.type]&&Math.abs(a.pageX-d.lastTouchStartX)<15&&Math.abs(a.pageY-d.lastTouchStartY)<15&&(Ext.now()-d.lastTouchEndTime)<1000)},destroy:function(){var a;for(a in this.delegatedListeners){this.removeDelegatedListener(a)}},reset:function(){var a=Ext.event.publisher.Dom;a.lastScreenPointerEventTime=a.lastTouchEndTime=a.lastTouchStartX=a.lastTouchStartY=undefined}},function(c){var b=document,a=b.defaultView,d=c.prototype;if((Ext.os.is.iOS&&Ext.os.version.getMajor()<5)||Ext.browser.is.AndroidStock||!(a&&a.addEventListener)){d.target=b}else{d.target=a}c.instance=new c()});Ext.define("Ext.overrides.event.publisher.Dom",{override:"Ext.event.publisher.Dom"},function(b){if(Ext.isIE9m){var a=document.body,e=b.prototype,d,c;e.target=document;e.directBoundListeners={};d=function(h,i,g){h.target=h.srcElement||window;h.currentTarget=this;if(g){i.onDirectCaptureEvent(h)}else{i.onDirectEvent(h)}};c=function(g,h){g.target=g.srcElement||window;g.currentTarget=this;h.onDirectCaptureEvent(g)};b.override({addDelegatedListener:function(g){this.delegatedListeners[g]=1;this.target.attachEvent("on"+g,this.onDelegatedEvent)},removeDelegatedListener:function(g){delete this.delegatedListeners[g];this.target.detachEvent("on"+g,this.onDelegatedEvent)},addDirectListener:function(l,k,h){var n=this,j=k.dom,g=Ext.Function.bind(d,j,[n,h],true),i=n.directBoundListeners,m=i[l]||(i[l]={});m[j.id]=g;if(j.attachEvent){j.attachEvent("on"+l,g)}else{n.callParent([l,k,h])}},removeDirectListener:function(j,i,g){var h=i.dom;if(h.detachEvent){h.detachEvent("on"+j,this.directBoundListeners[j][h.id])}else{this.callParent([j,i,g])}},doDelegatedEvent:function(g,h){g.target=g.srcElement||window;if(g.type==="focusin"){g.relatedTarget=g.fromElement===a?null:g.fromElement}else{if(g.type==="focusout"){g.relatedTarget=g.toElement===a?null:g.toElement}}return this.callParent([g,h])}});Ext.apply(e.directEvents,e.captureEvents);Ext.apply(e.directEvents,{change:1,input:1,paste:1});e.captureEvents={}}});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(d){var h=this,g=h.handledDomEvents,l=Ext.supports,m=l.TouchEvents,e=Ext.Function,k=h.onTouchStart,j=h.onTouchMove,i=h.onTouchEnd,c=e.createAnimationFrame(h.onTouchStart,h,null,1),b=e.createAnimationFrame(h.onTouchMove,h),a=e.createAnimationFrame(h.onTouchEnd,h,null,1);h._handlers={touchstart:k,touchmove:j,touchend:i,touchcancel:i,pointerdown:k,pointermove:j,pointerup:i,pointercancel:i,MSPointerDown:k,MSPointerMove:j,MSPointerUp:i,MSPointerCancel:i,mousedown:k,mousemove:j,mouseup:i};h._asyncHandlers={touchstart:c,touchmove:b,touchend:a,touchcancel:a,pointerdown:c,pointermove:b,pointerup:a,pointercancel:a,MSPointerDown:c,MSPointerMove:b,MSPointerUp:a,MSPointerCancel:a,mousedown:c,mousemove:b,mouseup:a};h.activeTouchesMap={};h.activeTouches=[];h.changedTouches=[];h.recognizers=[];if(m){h.onTargetTouchMove=h.onTargetTouchMove.bind(h);h.onTargetTouchEnd=h.onTargetTouchEnd.bind(h)}if(l.PointerEvents){g.push("pointerdown","pointermove","pointerup","pointercancel");h.mousePointerType="mouse"}else{if(l.MSPointerEvents){g.push("MSPointerDown","MSPointerMove","MSPointerUp","MSPointerCancel");h.mousePointerType=4}else{if(m){g.push("touchstart","touchmove","touchend","touchcancel")}}}if(!g.length||(m&&Ext.isWebKit&&Ext.os.is.Desktop)){g.push("mousedown","mousemove","mouseup")}h.initConfig(d);return h.callParent()},onReady:function(){this.callParent();Ext.Array.sort(this.recognizers,function(e,g){var c=e.priority,d=g.priority;return(c>d)?1:(c<d)?-1:0})},registerRecognizer:function(e){var d=this,a=e.handledEvents,c=a.length,b;e.setOnRecognized(d.onRecognized);e.setCallbackScope(d);for(b=0;b<c;b++){d.handledEvents.push(a[b])}d.registerEvents(a);d.recognizers.push(e)},onRecognized:function(c,b,g){var j=this,a=b.changedTouches,h=a.length,k,l,d,m;g=g||{};g.type=c;g.target=a[0].target;g.isStopped=false;b=b.chain(g);if(h>1){k=[];for(d=0;d<h;d++){m=a[d];k.push(m.targets)}l=j.getCommonTargets(k)}else{l=a[0].targets}j.publish(c,l,b)},getCommonTargets:function(h){var b=h[0],e=h.length;if(e===1){return b}var a=[],c=1,g,k,d;while(true){g=b[b.length-c];if(!g){return a}for(d=1;d<e;d++){k=h[d];if(k[k.length-c]!==g){return a}}a.unshift(g);c++}return a},invokeRecognizers:function(d,a){var h=this.recognizers,c=h.length,b,g;if(d==="onStart"){for(b=0;b<c;b++){h[b].isActive=true}}for(b=0;b<c;b++){g=h[b];if(g.isActive&&g[d].call(g,a)===false){g.isActive=false}}},updateTouches:function(g,k){var m=this,c=g.browserEvent,q=c.changedTouches||[c],a=m.activeTouches,b=m.activeTouchesMap,d=[],p,j,o,n,h,l,r,s;for(h=0,l=q.length;h<l;h++){p=q[h];if("identifier" in p){j=p.identifier}else{if("pointerId" in p){j=p.pointerId}else{j=1}}o=b[j];if(!o){n=Ext.event.Event.resolveTextNode(p.target);o=b[j]={identifier:j,target:n,targets:m.getPropagatingTargets(n)};a.push(o)}if(k){delete b[j];Ext.Array.remove(a,o)}r=p.pageX;s=p.pageY;o.pageX=r;o.pageY=s;o.point=new Ext.util.Point(r,s);d.push(o)}g.touches=Ext.Array.clone(a);g.changedTouches=d},doDelegatedEvent:function(a){var b=this;a=b.callParent([a,false]);if(a){if(!a.button||a.button<1){b.handlers[a.type].call(b,a)}b.afterEvent(a)}},onTouchStart:function(a){var b=this,c=a.target;if(a.browserEvent.type==="touchstart"){c.addEventListener("touchmove",b.onTargetTouchMove);c.addEventListener("touchend",b.onTargetTouchEnd);c.addEventListener("touchcancel",b.onTargetTouchEnd)}b.updateTouches(a);if(!b.isStarted){b.isStarted=true;b.invokeRecognizers("onStart",a);if(Ext.enableGarbageCollector){Ext.dom.GarbageCollector.pause()}}b.invokeRecognizers("onTouchStart",a)},onTouchMove:function(a){var b=this,c=b.mousePointerType;if(b.isStarted){if(c&&a.browserEvent.pointerType===c&&a.buttons===0){a.type=Ext.dom.Element.prototype.eventMap.touchend;a.button=0;b.onTouchEnd(a);return}b.updateTouches(a);if(a.changedTouches.length>0){b.invokeRecognizers("onTouchMove",a)}}},onTouchEnd:function(a){var b=this;if(!b.isStarted){return}b.updateTouches(a,true);b.invokeRecognizers(b.isCancelEvent[a.type]?"onTouchCancel":"onTouchEnd",a);if(!b.activeTouches.length){b.isStarted=false;b.invokeRecognizers("onEnd",a);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(a){var b=this,c=a.target;c.removeEventListener("touchmove",b.onTargetTouchMove);c.removeEventListener("touchend",b.onTargetTouchEnd);c.removeEventListener("touchcancel",b.onTargetTouchEnd);if(!Ext.getBody().contains(c)){b.onTouchEnd(new Ext.event.Event(a))}},updateAsync:function(a){this.handlers=a?this._asyncHandlers:this._handlers},reset:function(){var c=this,e=c.recognizers,b=e.length,a,d;c.activeTouchesMap={};c.activeTouches=[];c.changedTouches=[];c.isStarted=false;for(a=0;a<b;a++){d=e[a];d.reset();d.isActive=false}this.callParent()}},function(a){a.instance=new a()});Ext.define("Ext.overrides.event.publisher.Gesture",{override:"Ext.event.publisher.Gesture"},function(){if(Ext.isIE9m){this.override({updateTouches:function(b,c){var a=b.browserEvent,d=b.getXY();a.pageX=d[0];a.pageY=d[1];this.callParent([b,c])},doDelegatedEvent:function(a){this.callParent([Ext.event.Event.enableIEAsync(a)])}})}});Ext.define("Ext.event.publisher.Focus",{extend:Ext.event.publisher.Dom,type:"focus",handledEvents:["focusenter","focusleave"],handledDomEvents:["focusin","focusout"],doDelegatedEvent:function(a,b){var c=this,d;a=c.callParent([a,false]);if(a){if(a.type==="focusout"){if(a.relatedTarget==null){c.processFocusIn(a,a.target,document.body,b)}}else{d=a.relatedTarget;if(d==null||!d.tagName){d=document.body}c.processFocusIn(a,d,a.target,b)}}},processFocusIn:function(b,d,k,g){var h=this,a=Ext.Element.getCommonAncestor(k,d,true),i,j=[],c;for(i=d;i&&i!==a;i=i.parentNode){j.push(i)}if(j.length){c=h.createSyntheticEvent("focusleave",b,d,k);h.publish("focusleave",j,c);j.length=0;if(c.isStopped){return}}for(i=k;i!==a;i=i.parentNode){j.push(i)}c=h.createSyntheticEvent("focusenter",b,k,d);h.publish("focusenter",j,c);if(c.isStopped){return}if(g){h.afterEvent(b)}Ext.GlobalEvents.fireEvent("focus",{event:c,toElement:k,fromElement:d})},createSyntheticEvent:function(c,a,e,d){var b=new Ext.event.Event(a);b.type=c;b.relatedTarget=d;b.target=e;return b}},function(a){var b;if(!Ext.supports.FocusinFocusoutEvents){this.override({handledDomEvents:["focus","blur"],doDelegatedEvent:function(c,d){var g=this,h;c=g.callSuper([c,false]);if(c){h=c.target!==window&&c.target!==document;if(c.type==="blur"){if(!h){if(c.explicitOriginalTarget===a.previousActiveElement){if(c.target===window){clearTimeout(b);b=0;g.processFocusIn(c,a.previousActiveElement,document.body,d);a.previousActiveElement=null}}}else{b=setTimeout(function(){b=0;g.processFocusIn(c,c.target,document.body,d);a.previousActiveElement=null},0)}a.previousActiveElement=h?c.target:null}else{clearTimeout(b);b=0;g.processFocusIn(c,a.previousActiveElement||document.body,h?c.target:document.body,d)}}}})}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(b,a){this.link(b,a)},doInitElement:function(){var d=this.referenceAttributeName,h,g,a,b,e,c;h=this.elementTemplate.cloneNode(true);g=h.querySelectorAll(this.referenceSelector);for(a=0,b=g.length;a<b;a++){e=g[a];c=e.getAttribute(d);e.removeAttribute(d);this.linkElement(c,e)}}});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(b,c,a){this.request(true);this.readQueue.push(arguments)},requestWrite:function(b,c,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 e=this.readQueue,l=this.writeQueue,g=null,d;if(this.mode){d=e;if(l.length>0){g=false}}else{d=l;if(e.length>0){g=true}}var k=d.slice(),b,c,j,a,h;d.length=0;for(b=0,c=k.length;b<c;b++){j=k[b];a=j[0];h=j[1];if(typeof a==="string"){a=h[a]}if(j.length>2){a.apply(h,j[2])}else{a.call(h)}}k.length=0;if(g!==null){this.request(g)}}});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 e=this.getElement();if(!e||e.isDestroyed){return false}var k=e.getWidth(),h=e.getHeight(),b=this.getContentWidth(),a=this.getContentHeight(),d=this.contentWidth,c=this.contentHeight,i=this.info,j=false,g;this.width=k;this.height=h;this.contentWidth=b;this.contentHeight=a;g=((d!==b?1:0)+(c!==a?2:0));if(g>0){i.width=k;i.height=h;i.contentWidth=b;i.contentHeight=a;i.flag=g;j=true;this.getCallback().apply(this.getScope(),this.getArgs())}return j},refresh:function(a){if(this.refreshSize()||a){Ext.TaskQueue.requestWrite("refreshMonitors",this)}},destroy:function(){var a=this.getElement();this.bindListeners(false);if(a&&!a.isDestroyed){a.removeCls(Ext.baseCSSPrefix+"size-monitored")}delete this._element;this.callParent()}});Ext.define("Ext.util.sizemonitor.Default",{extend:Ext.util.sizemonitor.Abstract,updateElement:function(a){},bindListeners:function(a){var b=this.getElement().dom;if(!b){return}if(a){b.onresize=this.refresh}else{delete b.onresize}},getContentBounds:function(){return this.getElement().dom.getBoundingClientRect()},getContentWidth:function(){return this.getElement().getWidth()},getContentHeight:function(){return this.getElement().getHeight()}});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(a){var b=a?"addEventListener":"removeEventListener";this.expandMonitor[b]("scroll",this.onScroll,true);this.shrinkMonitor[b]("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.isDestroyed){b.scrollLeft=a;b.scrollTop=a}if(c&&!c.isDestroyed){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(a){var b=a?"addEventListener":"removeEventListener";this.expandMonitor[b](Ext.browser.is.Firefox?"underflow":"overflowchanged",this.onExpand,true);this.shrinkMonitor[b](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.isDestroyed){return}var b=this.expandHelper,d=this.shrinkHelper,a=this.getContentBounds(),g=a.width,c=a.height,e;if(b&&!b.isDestroyed){e=b.style;e.width=(g+1)+"px";e.height=(c+1)+"px"}if(d&&!d.isDestroyed){e=d.style;e.width=g+"px";e.height=c+"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{if(Ext.browser.is.WebKit){if(!Ext.browser.is.Silk&&Ext.browser.engineVersion.gtEq("535")){return new b.OverflowChange(a)}else{return new b.Scroll(a)}}else{if(Ext.browser.is.IE11){return new b.Scroll(a)}else{return new b.Default(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(a){var b=a.id,d=this.subscribers,c=this.monitors;if(d[b]){++d[b]}else{d[b]=1;c[b]=new Ext.util.SizeMonitor({element:a,callback:this.onElementResize,scope:this,args:[a]})}a.on("painted","forceRefresh",c[b]);return true},unsubscribe:function(a){var b=a.id,e=this.subscribers,c=this.monitors,d;if(e[b]&&!--e[b]){delete e[b];d=c[b];a.un("painted","forceRefresh",d);d.destroy();delete c[b]}},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 b=this.monitorElement,c=b.parentNode,a=this.getElement();this.bindListeners(false);delete this.monitorElement;if(a&&!a.isDestroyed){a.removeCls(Ext.baseCSSPrefix+"paint-monitored");delete this._element}if(c){c.removeChild(b)}this.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.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.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=a.id,c=this.subscribers;if(c[b]){++c[b]}else{c[b]=1;this.monitors[b]=new Ext.util.PaintMonitor({element:a,callback:this.onElementPainted,scope:this,args:[a]})}},unsubscribe:function(a){var b=a.id,d=this.subscribers,c=this.monitors;if(d[b]&&!--d[b]){delete d[b];c[b].destroy();delete c[b]}},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 Z=window,o=document,aa="ext-window",p="ext-document",Y="width",r="height",y="min-width",x="min-height",w="max-width",v="max-height",Q="top",J="right",d="bottom",t="left",W="visibility",s="hidden",m="display",z="none",ac="z-index",F="position",I="relative",O="static",L="-",ab=/\w/g,N=/\s+/,i=/[\s]+/,S=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,a=/table-row|table-.*-group/,R=/top/i,b={t:"border-top-width",r:"border-right-width",b:"border-bottom-width",l:"border-left-width"},D={t:"padding-top",r:"padding-right",b:"padding-bottom",l:"padding-left"},u={t:"margin-top",r:"margin-right",b:"margin-bottom",l:"margin-left"},E=[D.l,D.r,D.t,D.b],c=[b.l,b.r,b.t,b.b],B=/\d+$/,T=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,l="px",g=/(-[a-z])/gi,k=/([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,H=/^\d+(?:\.\d*)?px$/i,G={},h=function(ae,ad){return ad.charAt(1).toUpperCase()},X=Ext.baseCSSPrefix+"hidden-visibility",n=Ext.baseCSSPrefix+"hidden-display",C=Ext.baseCSSPrefix+"hidden-offsets",M=Ext.baseCSSPrefix+"sized",U=Ext.baseCSSPrefix+"unsized",P=Ext.baseCSSPrefix+"stretched",A=Ext.baseCSSPrefix+"no-touch-scroll",j={style:"style",className:"className",cls:"cls",classList:"classList",text:"text",hidden:"hidden",html:"html",children:"children"},V,K,e;return{alternateClassName:["Ext.Element"],mixins:[Ext.util.Positionable,Ext.mixin.Observable],observableType:"element",isElement:true,skipGarbageCollection:true,identifiablePrefix:"ext-element-",styleHooks:{},validIdRe:Ext.validIdRe,blockedEvents:Ext.supports.EmulatedMouseOver?{mouseover:1}:{},longpressEvents:{longpress:1,taphold:1},constructor:function(ad){var af=this,ae;if(typeof ad==="string"){ad=o.getElementById(ad)}if(!ad){Ext.Error.raise("Invalid domNode reference or an id of an existing domNode: "+ad);return null}if(Ext.cache[ad.id]){Ext.Error.raise("Element cache already contains an entry for id '"+ad.id+"'.  Use Ext.get() to create or retrieve Element instances.")}af.dom=ad;ae=ad.id;if(ae){af.id=ae}else{ae=ad.id=af.getUniqueId()}if(!af.validIdRe.test(af.id)){Ext.Error.raise('Invalid Element "id": "'+af.id+'"')}af.el=af;Ext.cache[ae]=af;af.mixins.observable.constructor.call(af)},inheritableStatics:{cache:Ext.cache={},VISIBILITY:1,DISPLAY:2,OFFSETS:3,unitRe:T,useDelegatedEvents:true,validNodeTypes:{1:1,9:1},addUnits:function(ad,ae){if(typeof ad==="number"){return ad+(ae||l)}if(ad===""||ad==="auto"||ad==null){return ad||""}if(B.test(ad)){return ad+(ae||l)}if(!T.test(ad)){Ext.Logger.warn("Warning, size detected ("+ad+") not a valid property value on Element.addUnits.");return ad||""}return ad},create:function(ad,af){var al=this,ai=j.hidden,ag,ah,an,ao,am,aj,ak,ae;if(!ad){ad={}}if(ad.isElement){return af?ad.dom:ad}else{if("nodeType" in ad){return af?ad:Ext.get(ad)}}if(typeof ad==="string"){return o.createTextNode(ad)}an=ad.tag;if(!an){an="div"}if(ad.namespace){ag=o.createElementNS(ad.namespace,an)}else{ag=o.createElement(an)}ah=ag.style;if(ad[ai]){ae=ad.className;ae=(ae==null)?"":ae+" ";ad.className=ae+n;delete ad[ai]}for(am in ad){if(am!=="tag"){ao=ad[am];switch(am){case j.style:if(typeof ao==="string"){ag.setAttribute(am,ao)}else{for(aj in ao){if(ao.hasOwnProperty(aj)){ah[aj]=ao[aj]}}}break;case j.className:case j.cls:ag.className=ao;break;case j.classList:ag.className=ao.join(" ");break;case j.text:ag.textContent=ao;break;case j.html:ag.innerHTML=ao;break;case j.children:for(aj=0,ak=ao.length;aj<ak;aj++){ag.appendChild(al.create(ao[aj],true))}break;default:if(ao!=null){ag.setAttribute(am,ao)}}}}if(af){return ag}else{return al.get(ag)}},detach:function(){var ad=this.dom;if(ad&&ad.parentNode&&ad.tagName!=="BODY"){ad.parentNode.removeChild(ad)}return this},fly:function(ad,ae){return Ext.fly(ad,ae)},fromPoint:function(ad,ae){return Ext.get(o.elementFromPoint(ad,ae))},get:function(af){var al=this,ad=Ext.cache,am,ae,ah,ag,ai,ak,aj;if(!af){return null}function an(ao){Ext.Error.raise("DOM element with id "+ao+" in Element cache is not the same as element in the DOM. Make sure to clean up Element instances using destroy()")}if(af.isFly){af=af.dom}if(typeof af==="string"){ah=af;if(ad.hasOwnProperty(ah)){ag=ad[ah];if(ag.skipGarbageCollection||!Ext.isGarbage(ag.dom)){ae=Ext.getElementById?Ext.getElementById(ah):o.getElementById(ah);if(ae&&(ae!==ag.dom)){an(ah)}return ag}else{ag.destroy()}}if(ah===aa){return q.get(Z)}else{if(ah===p){return q.get(o)}}ae=Ext.getElementById?Ext.getElementById(ah):o.getElementById(ah);if(ae){return new q(ae)}}am=af.nodeType;if(am){ai=(am===9);aj=al.validNodeTypes[am]}else{ak=(af.window==af)}if(aj||ak){ah=af.id;if(ad.hasOwnProperty(ah)){ag=ad[ah];if(ag.skipGarbageCollection||af===ag.dom||!Ext.isGarbage(ag.dom)){if(af!==ag.dom){an(ah)}return ag}else{ag.destroy()}}if(af===o){af.id=p}if(af==Z){af.id=aa}af=new q(af);if(ak||ai){af.skipGarbageCollection=true}return af}if(af.isElement){return af}if(af.isComposite){return af}if(Ext.isIterable(af)){return al.select(af)}return null},getActiveElement:function(){var ad=o.activeElement;if(!ad||!ad.focus){ad=o.body}return ad},getDocumentHeight:function(){return Math.max(!Ext.isStrict?o.body.scrollHeight:o.documentElement.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return Math.max(!Ext.isStrict?o.body.scrollWidth:o.documentElement.scrollWidth,this.getViewportWidth())},getOrientation:function(){if(Ext.supports.OrientationChange){return(Z.orientation==0)?"portrait":"landscape"}return(Z.innerHeight>Z.innerWidth)?"portrait":"landscape"},getViewportHeight:function(){return Z.innerHeight},getViewportWidth:function(){return Z.innerWidth},getViewSize:function(){return{width:q.getViewportWidth(),height:q.getViewportHeight()}},normalize:function(ad){return G[ad]||(G[ad]=ad.replace(g,h))},parseBox:function(ad){ad=ad||0;var ag=typeof ad,af,ae;if(ag==="number"){return{top:ad,right:ad,bottom:ad,left:ad}}else{if(ag!=="string"){return ad}}af=ad.split(" ");ae=af.length;if(ae===1){af[1]=af[2]=af[3]=af[0]}else{if(ae===2){af[2]=af[0];af[3]=af[1]}else{if(ae===3){af[3]=af[1]}}}return{top:parseFloat(af[0])||0,right:parseFloat(af[1])||0,bottom:parseFloat(af[2])||0,left:parseFloat(af[3])||0}},parseStyles:function(af){var ae={},ad;if(af){k.lastIndex=0;while((ad=k.exec(af))){ae[ad[1]]=ad[2]||""}}return ae},select:function(af,ad,ae){return Ext.fly(ae||o).select(af,ad)},query:function(af,ad,ae){return Ext.fly(ae||o).query(af,ad)},unitizeBox:function(ad,af){var ae=this;ad=ae.parseBox(ad);return ae.addUnits(ad.top,af)+" "+ae.addUnits(ad.right,af)+" "+ae.addUnits(ad.bottom,af)+" "+ae.addUnits(ad.left,af)},serializeForm:function(aj){var ai=aj.elements||(o.forms[aj]||Ext.getDom(aj)).elements,ak=false,ah=encodeURIComponent,ad="",ag=ai.length,af,am,ar,aq,al,ae,an,ao,ap;for(ae=0;ae<ag;ae++){af=ai[ae];am=af.name;ar=af.type;aq=af.options;if(!af.disabled&&am){if(/select-(one|multiple)/i.test(ar)){ao=aq.length;for(an=0;an<ao;an++){ap=aq[an];if(ap.selected){al=ap.hasAttribute("value");ad+=Ext.String.format("{0}={1}&",ah(am),ah(al?ap.value:ap.text))}}}else{if(!(/file|undefined|reset|button/i.test(ar))){if(!(/radio|checkbox/i.test(ar)&&!af.checked)&&!(ar=="submit"&&ak)){ad+=ah(am)+"="+ah(af.value)+"&";ak=/submit/i.test(ar)}}}}}return ad.substr(0,ad.length-1)},getCommonAncestor:function(ad,ae,af){e=e||new Ext.dom.Fly();e.attach(Ext.getDom(ad));while(!e.isAncestor(ae)){if(e.dom.parentNode){e.attach(e.dom.parentNode)}else{e.attach(document.body);break}}return af?e.dom:Ext.get(e)}},addCls:function(am,an,ao){var ak=this,af=ak.getData(),ag,ae,aj,ad,ah,ai,al;if(!am){return ak}if(!af.isSynchronized){ak.synchronize()}ae=ak.dom;aj=af.classMap;ad=af.classList;an=an?an+L:"";ao=ao?L+ao:"";if(typeof am==="string"){am=am.split(N)}for(ah=0,ai=am.length;ah<ai;ah++){al=am[ah];if(al){al=an+al+ao;if(!aj[al]){aj[al]=true;ad.push(al);ag=true}}}if(ag){ae.className=ad.join(" ")}return ak},addStyles:function(ag,ai){var ak=0,ah=(ag||"").match(ab),ad,ae=ah.length,af,aj=[];if(ae===1){ak=Math.abs(parseFloat(this.getStyle(ai[ah[0]]))||0)}else{if(ae){for(ad=0;ad<ae;ad++){af=ah[ad];aj.push(ai[af])}aj=this.getStyle(aj);for(ad=0;ad<ae;ad++){af=ah[ad];ak+=parseFloat(aj[ai[af]])||0}}}return ak},addUnits:function(ad,ae){return q.addUnits(ad,ae)},adjustDirect2DDimension:function(ae){var ak=this,ag=ak.dom,af=ak.getStyle("display"),ai=ag.style.display,aj=ag.style.position,al=ae===Y?0:1,ad=ag.currentStyle,ah;if(af==="inline"){ag.style.display="inline-block"}ag.style.position=af.match(a)?"absolute":"static";ah=(parseFloat(ad[ae])||parseFloat(ad.msTransformOrigin.split(" ")[al])*2)%1;ag.style.position=aj;if(af==="inline"){ag.style.display=ai}return ah},animate:function(ad){ad=new Ext.fx.Animation(ad);ad.setElement(this);this._activeAnimation=ad;ad.on({animationend:this._onAnimationEnd});Ext.Animator.run(ad)},_onAnimationEnd:function(){this._activeAnimation=null},getActiveAnimation:function(){return this._activeAnimation},append:function(){this.appendChild.apply(this,arguments)},appendChild:function(ae,ai){var ah=this,ag,af,ad;if(ae.nodeType||ae.dom||typeof ae==="string"){ae=Ext.getDom(ae);ah.dom.appendChild(ae);return !ai?Ext.get(ae):ae}else{if(ae.length){ag=Ext.fly(document.createDocumentFragment());af=ae.length;for(ad=0;ad<af;ad++){ag.appendChild(ae[ad],ai)}ah.dom.appendChild(ag.dom);return ai?ag.dom:ag}else{return ah.createChild(ae,null,ai)}}},appendTo:function(ad){Ext.getDom(ad).appendChild(this.dom);return this},applyStyles:function(ad){if(ad){if(typeof ad==="function"){ad=ad.call()}if(typeof ad==="string"){ad=q.parseStyles(ad)}if(typeof ad==="object"){this.setStyle(ad)}}return this},blur:function(){var af=this,ad=af.dom;if(ad!==o.body){try{ad.blur()}catch(ae){}return af}else{return af.focus(undefined,ad)}},cacheScrollValues:function(){var ah=this,aj=[],ai=[],ae,ad,af,ag;K=K||new Ext.dom.Fly();ae=ah.query("*");for(af=0,ag=ae.length;af<ag;af++){ad=ae[af];if(ad.scrollTop>0||ad.scrollLeft!==0){ai.push(ad);aj.push(K.attach(ad).getScroll())}}return function(){var am,ak,al;for(ak=0,al=ai.length;ak<al;ak++){am=aj[ak];K.attach(ai[ak]);K.setScrollLeft(am.left);K.setScrollTop(am.top)}}},center:function(ad){return this.alignTo(ad||o,"c-c")},child:function(ag,af){var ae=this,ad=Ext.get(ae).id;return ae.selectNode(Ext.makeIdSelector(ad)+" > "+ag,!!af)},constrainScrollLeft:function(ae){var ad=this.dom;return Math.max(Math.min(ae,ad.scrollWidth-ad.clientWidth),0)},constrainScrollTop:function(ae){var ad=this.dom;return Math.max(Math.min(ae,ad.scrollHeight-ad.clientHeight),0)},createChild:function(ad,ae,af){ad=ad||{tag:"div"};if(ae){return Ext.DomHelper.insertBefore(ae,ad,af!==true)}else{return Ext.DomHelper.append(this.dom,ad,af!==true)}},contains:function(ae){if(!ae){return false}var af=this,ad=Ext.getDom(ae);return(ad===af.dom)||af.isAncestor(ad)},destroy:function(){var ae=this,ad=ae.dom;if(ae.isDestroyed){Ext.Logger.warn('Cannot destroy Element "'+ae.id+'". Already destroyed.');return}if(ad){if(ad===o.body){Ext.Error.raise("Cannot destroy body element.")}else{if(ad===o){Ext.Error.raise("Cannot destroy document object.")}else{if(ad===Z){Ext.Error.raise("Cannot destroy window object")}}}}if(ad&&ad.parentNode){ad.parentNode.removeChild(ad)}ae.collect()},detach:function(){var ad=this.dom;if(ad&&ad.parentNode&&ad.tagName!=="BODY"){ad.parentNode.removeChild(ad)}return this},disableShadow:function(){var ad=this.shadow;if(ad){ad.hide();ad.disabled=true}},disableShim:function(){var ad=this.shim;if(ad){ad.hide();ad.disabled=true}},disableTouchContextMenu:function(){this._contextMenuListenerRemover=this.on({MSHoldVisual:function(ad){ad.preventDefault()},destroyable:true,delegated:false})},disableTouchScroll:function(){this.addCls(A);this.on({touchmove:function(ad){ad.preventDefault()},translate:false})},doReplaceWith:function(ae){var ad=this.dom;ad.parentNode.replaceChild(Ext.getDom(ae),ad)},doScrollIntoView:function(ae,ai,ad,ah,ag,an){K=K||new Ext.dom.Fly();var aj=this,af=aj.dom,ao=K.attach(ae)[ag](),ap=ae.scrollTop,am=aj.getScrollIntoViewXY(ae,ao,ap),ak=am.x,al=am.y;if(ah){if(ad){ad=Ext.apply({listeners:{afteranimate:function(){K.attach(af).highlight()}}},ad)}else{K.attach(af).highlight()}}if(al!==ap){K.attach(ae).scrollTo("top",al,ad)}if(ai!==false&&(ak!==ao)){K.attach(ae)[an]("left",ak,ad)}return aj},down:function(ae,ad){return this.selectNode(ae,!!ad)},enableShadow:function(af,ad){var ae=this,ag=ae.shadow||(ae.shadow=new Ext.dom.Shadow(Ext.apply({target:ae},af))),ah=ae.shim;if(ah){ah.offsets=ag.outerOffsets;ah.shadow=ag;ag.shim=ah}if(ad===true||(ad!==false&&ae.isVisible())){ag.show()}else{ag.hide()}ag.disabled=false},enableShim:function(af,ad){var ae=this,ah=ae.shim||(ae.shim=new Ext.dom.Shim(Ext.apply({target:ae},af))),ag=ae.shadow;if(ag){ah.offsets=ag.outerOffsets;ah.shadow=ag;ag.shim=ah}if(ad===true||(ad!==false&&ae.isVisible())){ah.show()}else{ah.hide()}ah.disabled=false},findParent:function(ah,ae,ag){var af=this,ai=af.dom,aj=o.documentElement,ad=0;if(ae||ae===0){if(typeof ae!=="number"){aj=Ext.getDom(ae);ae=Number.MAX_VALUE}}else{ae=50}while(ai&&ai.nodeType===1&&ad<ae&&ai!==aj){if(Ext.fly(ai).is(ah)){return ag?Ext.get(ai):ai}ad++;ai=ai.parentNode}return null},findParentNode:function(ag,ad,af){var ae=Ext.fly(this.dom.parentNode);return ae?ae.findParent(ag,ad,af):null},first:function(ae,ad){return this.matchNode("nextSibling","firstChild",ae,ad)},focus:function(ad,ae){var ag=this;ae=ae||ag.dom;try{if(Number(ad)){Ext.defer(ag.focus,ad,ag,[null,ae])}else{Ext.GlobalEvents.fireEvent("beforefocus",ae);ae.focus()}}catch(af){}return ag},collect:function(){var ae=this,ad=ae.dom,af=ae.shadow,ag=ae.shim;if(!ae.isFly){ae.mixins.observable.destroy.call(ae);delete Ext.cache[ae.id];ae.isDestroyed=true;ae.el=null}if(ad){ad._extData=ae.dom=null}if(af){af.hide();ae.shadow=null}if(ag){ag.hide();ae.shim=null}},getAnchorToXY:function(ae,ad,af,ag){return ae.getAnchorXY(ad,af,ag)},getAttribute:function(ae,af){var ad=this.dom;return af?(ad.getAttributeNS(af,ae)||ad.getAttribute(af+":"+ae)):(ad.getAttribute(ae)||ad[ae]||null)},getAttributes:function(){var ae=this.dom.attributes,ah={},ad,af,ag;for(af=0,ag=ae.length;af<ag;af++){ad=ae[af];ah[ad.name]=ad.value}return ah},getBottom:function(ad){return(ad?this.getLocalY():this.getY())+this.getHeight()},getById:function(af,ad){var ae=o.getElementById(af)||this.dom.querySelector(Ext.makeIdSelector(af));return ad?ae:(ae?Ext.get(ae):null)},getBorderPadding:function(){var ae=this.getStyle(E),ad=this.getStyle(c);return{beforeX:(parseFloat(ad[b.l])||0)+(parseFloat(ae[D.l])||0),afterX:(parseFloat(ad[b.r])||0)+(parseFloat(ae[D.r])||0),beforeY:(parseFloat(ad[b.t])||0)+(parseFloat(ae[D.t])||0),afterY:(parseFloat(ad[b.b])||0)+(parseFloat(ae[D.b])||0)}},getBorders:function(){var ad=this.getStyle(c);return{beforeX:(parseFloat(ad[b.l])||0),afterX:(parseFloat(ad[b.r])||0),beforeY:(parseFloat(ad[b.t])||0),afterY:(parseFloat(ad[b.b])||0)}},getBorderWidth:function(ad){return this.addStyles(ad,b)},getData:function(af){var ae=this.dom,ad;if(ae){ad=ae._extData;if(!ad&&!af){ae._extData=ad={}}}return ad},getFirstChild:function(){return Ext.get(this.dom.firstElementChild)},getHeight:function(ad,ai){var ah=this,ag=ah.isStyle("display","none"),af,ae;if(ag){return 0}af=ah.dom.offsetHeight;if(Ext.supports.Direct2DBug){ae=ah.adjustDirect2DDimension(r);if(ai){af+=ae}else{if(ae>0&&ae<0.5){af++}}}if(ad){af-=ah.getBorderWidth("tb")+ah.getPadding("tb")}return(af<0)?0:af},getHtml:function(){return this.dom?this.dom.innerHTML:""},getLeft:function(ad){return ad?this.getLocalX():this.getX()},getLocalX:function(){var ad=this,ae,af=ad.getStyle("left");if(!af||af==="auto"){af=0}else{if(H.test(af)){af=parseFloat(af)}else{af=ad.getX();ae=ad.dom.offsetParent;if(ae){af-=Ext.fly(ae).getX()}}}return af},getLocalXY:function(){var ad=this,ae,af=ad.getStyle(["left","top"]),ag=af.left,ah=af.top;if(!ag||ag==="auto"){ag=0}else{if(H.test(ag)){ag=parseFloat(ag)}else{ag=ad.getX();ae=ad.dom.offsetParent;if(ae){ag-=Ext.fly(ae).getX()}}}if(!ah||ah==="auto"){ah=0}else{if(H.test(ah)){ah=parseFloat(ah)}else{ah=ad.getY();ae=ad.dom.offsetParent;if(ae){ah-=Ext.fly(ae).getY()}}}return[ag,ah]},getLocalY:function(){var ad=this,ae,af=ad.getStyle("top");if(!af||af==="auto"){af=0}else{if(H.test(af)){af=parseFloat(af)}else{af=ad.getY();ae=ad.dom.offsetParent;if(ae){af-=Ext.fly(ae).getY()}}}return af},getMargin:(function(){var ae={t:"top",l:"left",r:"right",b:"bottom"},ad=["margin-top","margin-left","margin-right","margin-bottom"];return function(ai){var ag=this,aj,af,ah;if(!ai){aj=ag.getStyle(ad);ah={};if(aj&&typeof aj==="object"){ah={};for(af in u){ah[af]=ah[ae[af]]=parseFloat(aj[u[af]])||0}}}else{ah=ag.addStyles(ai,u)}return ah}})(),getPadding:function(ad){return this.addStyles(ad,D)},getParent:function(){return Ext.get(this.dom.parentNode)},getRight:function(ad){return(ad?this.getLocalX():this.getX())+this.getWidth()},getScroll:function(){var ah=this,af=ah.dom,ae=o.documentElement,ag,ai,ad=document.body;if(af===o||af===ad){ag=ae.scrollLeft||(ad?ad.scrollLeft:0);ai=ae.scrollTop||(ad?ad.scrollTop:0)}else{ag=af.scrollLeft;ai=af.scrollTop}return{left:ag,top:ai}},getScrollIntoViewXY:function(ae,al,am){var ag=this.dom,af=Ext.getDom(ae),aj=this.getOffsetsTo(af),av=ag.offsetWidth,ah=ag.offsetHeight,ai=aj[0]+al,an=aj[1]+am,ad=an+ah,ak=ai+av,ap=af.clientHeight,au=af.clientWidth,aq=al,at=am,ao=at+ap,ar=aq+au;if(ah>ap||an<at){am=an}else{if(ad>ao){am=ad-ap}}if(av>au||ai<aq){al=ai}else{if(ak>ar){al=ak-au}}return{x:al,y:am}},getScrollLeft:function(){var ad=this.dom;if(ad===o||ad===document.body){return this.getScroll().left}else{return ad.scrollLeft}},getScrollTop:function(){var ad=this.dom;if(ad===o||ad===document.body){return this.getScroll().top}else{return ad.scrollTop}},getSize:function(ad){return{width:this.getWidth(ad),height:this.getHeight(ad)}},getStyle:function(ap,aj){var al=this,ae=al.dom,am=typeof ap!=="string",ah=al.styleHooks,ao=ap,aq=ao,ak=1,af,ad,at,ag,an,ar,ai;if(am){at={};ao=aq[0];ai=0;if(!(ak=aq.length)){return at}}if(!ae||ae.documentElement){return at||""}af=ae.style;if(aj){ar=af}else{ar=ae.ownerDocument.defaultView.getComputedStyle(ae,null);if(!ar){aj=true;ar=af}}do{ag=ah[ao];if(!ag){ah[ao]=ag={name:q.normalize(ao)}}if(ag.get){an=ag.get(ae,al,aj,ar)}else{ad=ag.name;an=ar[ad]}if(!am){return an}at[ao]=an;ao=aq[++ai]}while(ai<ak);return at},getStyleValue:function(ad){return this.dom.style.getPropertyValue(ad)},getTop:function(ad){return ad?this.getLocalY():this.getY()},getValue:function(ad){var ae=this.dom.value;return ad?parseInt(ae,10):ae},getViewSize:function(){var ad=this.dom;if(ad===o||ad===o.body){return{width:q.getViewportWidth(),height:q.getViewportHeight()}}else{return{width:ad.clientWidth,height:ad.clientHeight}}},getVisibilityMode:function(){var ae=this,ad=ae.getData(),af=ad.visibilityMode;if(af===undefined){ad.visibilityMode=af=q.DISPLAY}return af},getWidth:function(ad,ai){var ah=this,ae=ah.dom,ag=ah.isStyle("display","none"),aj,ak,af;if(ag){return 0}if(Ext.supports.BoundingClientRect){aj=ae.getBoundingClientRect();ak=(ah.vertical&&!Ext.supports.RotatedBoundingClientRect)?(aj.bottom-aj.top):(aj.right-aj.left);ak=ai?ak:Math.ceil(ak)}else{ak=ae.offsetWidth}if(Ext.supports.Direct2DBug&&!ah.vertical){af=ah.adjustDirect2DDimension(Y);if(ai){ak+=af}else{if(af>0&&af<0.5){ak++}}}if(ad){ak-=ah.getBorderWidth("lr")+ah.getPadding("lr")}return(ak<0)?0:ak},getX:function(){return this.getXY()[0]},getXY:function(){var ag=Math.round,ae=this.dom,ai=0,aj=0,ad,ah;if(ae!==o&&ae!==o.body){try{ad=ae.getBoundingClientRect()}catch(af){ad={left:0,top:0}}ai=ag(ad.left);aj=ag(ad.top);ah=Ext.getDoc().getScroll();ai+=ah.left;aj+=ah.top}return[ai,aj]},getY:function(){return this.getXY()[1]},getZIndex:function(){return parseInt(this.getStyle("z-index"),10)},hasCls:function(ae){var ad=this.getData();if(!ad.isSynchronized){this.synchronize()}return ad.classMap.hasOwnProperty(ae)},hide:function(){this.setVisible(false);return this},insertAfter:function(ad){ad=Ext.getDom(ad);ad.parentNode.insertBefore(this.dom,ad.nextSibling);return this},insertBefore:function(ad){ad=Ext.getDom(ad);ad.parentNode.insertBefore(this.dom,ad);return this},insertFirst:function(ad,ae){ad=ad||{};if(ad.nodeType||ad.dom||typeof ad==="string"){ad=Ext.getDom(ad);this.dom.insertBefore(ad,this.dom.firstChild);return !ae?Ext.get(ad):ad}else{return this.createChild(ad,this.dom.firstChild,ae)}},insertHtml:function(ag,ae,af){var ad=Ext.DomHelper.insertHtml(ag,this.dom,ae);return af?Ext.get(ad):ad},insertSibling:function(af,am,ak){var aj=this,ad=Ext.DomHelper,ai=(am||"before").toLowerCase()==="after",al,ah,ag,ae;if(Ext.isIterable(af)){ag=af.length;ah=Ext.fly(document.createDocumentFragment());if(Ext.isArray(af)){for(ae=0;ae<ag;ae++){al=ah.appendChild(af[ae],ak)}}else{for(ae=0;ae<ag;ae++){ah.dom.appendChild(al=af[0])}if(ak===false){al=Ext.get(al)}}aj.dom.parentNode.insertBefore(ah.dom,ai?aj.dom.nextSibling:aj.dom);return al}af=af||{};if(af.nodeType||af.dom){al=aj.dom.parentNode.insertBefore(Ext.getDom(af),ai?aj.dom.nextSibling:aj.dom);if(!ak){al=Ext.get(al)}}else{if(ai&&!aj.dom.nextSibling){al=ad.append(aj.dom.parentNode,af,!ak)}else{al=ad[ai?"insertAfter":"insertBefore"](aj.dom,af,!ak)}}return al},is:function(af){var ad=this.dom,ae;if(!af){ae=true}else{if(!ad.tagName){ae=false}else{if(Ext.isFunction(af)){ae=af(ad)}else{ae=ad[Ext.supports.matchesSelector](af)}}}return ae},isAncestor:function(af){var ag=false,ae=this.dom,ad=Ext.getDom(af);if(ae&&ad){if(ae.contains){return ae.contains(ad)}else{if(ae.compareDocumentPosition){return !!(ae.compareDocumentPosition(ad)&16)}else{while((ad=ad.parentNode)){ag=ad===ae||ag}}}}return ag},isPainted:(function(){return !Ext.browser.is.IE?function(){var ad=this.dom;return Boolean(ad&&ad.offsetParent)}:function(){var ad=this.dom;return Boolean(ad&&(ad.offsetHeight!==0&&ad.offsetWidth!==0))}})(),isStyle:function(ad,ae){return this.getStyle(ad)===ae},isVisible:function(ad){var ae=this.dom,af;if(!ae){return false}if(!V){V=new Ext.dom.Fly()}for(af=ae.ownerDocument.documentElement;ae!==af;ae=ae.parentNode){if(!ae||ae.nodeType===11||(V.attach(ae)).isStyle(W,s)||V.isStyle(m,z)){return false}if(!ad){break}}return true},last:function(ae,ad){return this.matchNode("previousSibling","lastChild",ae,ad)},maskIframes:function(){var ad=document.getElementsByTagName("iframe");Ext.each(ad,function(ae){var af=Ext.fly(ae.parentNode),ag=af.mask();ag.setStyle("background-color","transparent")})},matchNode:function(ad,ai,ah,ag){var ae=this.dom,af;if(!ae){return null}af=ae[ai];while(af){if(af.nodeType===1&&(!ah||Ext.fly(af,"_matchNode").is(ah))){return !ag?Ext.get(af):af}af=af[ad]}return null},next:function(ae,ad){return this.matchNode("nextSibling","nextSibling",ae,ad)},parent:function(ae,ad){return this.matchNode("parentNode","parentNode",ae,ad)},position:function(ae,ah,af,ag){var ad=this;if(ad.dom.tagName!=="BODY"){if(!ae&&ad.isStyle(F,O)){ad.setStyle(F,I)}else{if(ae){ad.setStyle(F,ae)}}if(ah){ad.setStyle(ac,ah)}if(af||ag){ad.setXY([af||false,ag||false])}}},prev:function(ae,ad){return this.matchNode("previousSibling","previousSibling",ae,ad)},query:function(am,ad,an){var ae=this.dom,al,ah,ai,aj,ak,af,ag;if(!ae){return null}ad=(ad!==false);am=am.split(",");if(!an){al=[]}for(af=0,ah=am.length;af<ah;af++){if(typeof am[af]==="string"){if(an){aj=ae.querySelector(am[af]);return ad?aj:Ext.get(aj)}ak=ae.querySelectorAll(am[af]);for(ag=0,ai=ak.length;ag<ai;ag++){al.push(ad?ak[ag]:Ext.get(ak[ag]))}}}return al},radioCls:function(ad){var ae=this.dom.parentNode.childNodes,ah;ad=Ext.isArray(ad)?ad:[ad];for(var af=0,ag=ae.length;af<ag;af++){ah=ae[af];if(ah&&ah.nodeType===1){Ext.fly(ah).removeCls(ad)}}return this.addCls(ad)},redraw:function(){var ad=this.dom,ae=ad.style;ae.display="none";ad.offsetHeight;ae.display=""},remove:function(){this.destroy()},removeChild:function(ad){this.dom.removeChild(Ext.getDom(ad));return this},removeCls:function(am,an,ao){var ak=this,af=ak.getData(),ag,ae,aj,ad,ah,ai,al;if(!am){return ak}if(!af.isSynchronized){ak.synchronize()}ae=ak.dom;aj=af.classMap;ad=af.classList;an=an?an+L:"";ao=ao?L+ao:"";if(typeof am==="string"){am=am.split(N)}for(ah=0,ai=am.length;ah<ai;ah++){al=am[ah];if(al){al=an+al+ao;if(aj[al]){delete aj[al];Ext.Array.remove(ad,al);ag=true}}}if(ag){ae.className=ad.join(" ")}return ak},repaint:function(){var ad=this;ad.addCls(Ext.baseCSSPrefix+"repaint");Ext.defer(function(){if(ad.dom){Ext.fly(ad.dom).removeCls(Ext.baseCSSPrefix+"repaint")}},1);return ad},replace:function(af,ad){af=Ext.getDom(af);var ah=af.parentNode,ag=af.id,ae=this.dom;if(!ah){Ext.Error.raise('Cannot replace element "'+ag+'". It is not attached to a parent node.')}if(ad!==false&&ag&&Ext.cache[ag]){ah.insertBefore(ae,af);Ext.get(af).destroy()}else{ah.replaceChild(ae,af)}return this},replaceCls:function(am,al,an,ao){var aj=this,ae,ai,ad,ag,ah,ak,af=aj.getData();if(!am&&!al){return aj}am=am||[];al=al||[];if(!af.isSynchronized){aj.synchronize()}if(!ao){ao=""}ae=aj.dom;ai=af.classMap;ad=af.classList;an=an?an+L:"";ao=ao?L+ao:"";if(typeof am==="string"){am=am.split(N)}if(typeof al==="string"){al=al.split(N)}for(ag=0,ah=am.length;ag<ah;ag++){ak=an+am[ag]+ao;if(ai[ak]){delete ai[ak];Ext.Array.remove(ad,ak)}}for(ag=0,ah=al.length;ag<ah;ag++){ak=an+al[ag]+ao;if(!ai[ak]){ai[ak]=true;ad.push(ak)}}ae.className=ad.join(" ");return aj},replaceWith:function(af){var ag=this,ae=ag.dom,ai=ae.parentNode,ad=Ext.cache,ah;ag.clearListeners();if(af.nodeType||af.dom||typeof af==="string"){af=Ext.get(af);ah=ai.insertBefore(af.dom,ae)}else{ah=Ext.DomHelper.insertBefore(ae,af)}ai.removeChild(ae);ag.dom=ah;if(!ag.isFly){delete ad[ag.id];ad[ag.id=Ext.id(ah)]=ag}return ag},resolveListenerScope:function(ae){var ad=this.component;return ad?ad.resolveListenerScope(ae):this},scroll:function(ag,ah,ad){if(!this.isScrollable()){return false}ag=ag.charAt(0);var aj=this,ai=aj.dom,al=ag==="r"||ag==="l"?"left":"top",ak=false,af,ae;if(ag==="l"||ag==="t"||ag==="u"){ah=-ah}if(al==="left"){af=ai.scrollLeft;ae=aj.constrainScrollLeft(af+ah)}else{af=ai.scrollTop;ae=aj.constrainScrollTop(af+ah)}if(ae!==af){this.scrollTo(al,ae,ad);ak=true}return ak},scrollBy:function(ae,af,ad){var ah=this,ag=ah.dom;if(ae.length){ad=af;af=ae[1];ae=ae[0]}else{if(typeof ae!="number"){ad=af;af=ae.y;ae=ae.x}}if(ae){ah.scrollTo("left",ah.constrainScrollLeft(ag.scrollLeft+ae),ad)}if(af){ah.scrollTo("top",ah.constrainScrollTop(ag.scrollTop+af),ad)}return ah},scrollChildIntoView:function(ad,ae){Ext.fly(ad).scrollIntoView(this,ae)},scrollIntoView:function(ae,ag,ad,af){ae=Ext.getDom(ae)||Ext.getBody().dom;return this.doScrollIntoView(ae,ag,ad,af,"getScrollLeft","scrollTo")},scrollTo:function(ai,ak,ad){var aj=R.test(ai),ag=this,ah=aj?"scrollTop":"scrollLeft",af=ag.dom,ae;if(!ad||!ag.anim){af[ah]=ak}else{ae={to:{}};ae.to[ah]=ak;if(Ext.isObject(ad)){Ext.applyIf(ae,ad)}ag.animate(ae)}return ag},select:function(ag,ad){var af,ae;if(typeof ag==="string"){ae=this.query(ag,!ad)}else{if(ag.length===undefined){Ext.Error.raise("Invalid selector specified: "+ag)}else{ae=ag;af=true}}return ad?new Ext.CompositeElement(ae,!af):new Ext.CompositeElementLite(ae,true)},selectNode:function(ae,ad){return this.query(ae,ad,true)},set:function(ae,ah){var ag=this,af=ag.dom,ad,ai;for(ad in ae){if(ae.hasOwnProperty(ad)){ai=ae[ad];if(ad==="style"){ag.applyStyles(ai)}else{if(ad==="cls"){af.className=ai}else{if(ah!==false){if(ai===undefined){af.removeAttribute(ad)}else{af.setAttribute(ad,ai)}}else{af[ad]=ai}}}}}return ag},setBottom:function(ad){this.dom.style[d]=q.addUnits(ad);return this},setBorder:function(ad){var af=this,ae=af.dom.style;if(ad||ad===0){ad=af.self.unitizeBox((ad===true)?1:ad);ae.setProperty("border-width",ad,"important")}else{ae.removeProperty("border-top-width");ae.removeProperty("border-right-width");ae.removeProperty("border-bottom-width");ae.removeProperty("border-left-width")}},setCls:function(ad){var ai=this,ae=ai.getData(),af,ag,aj,ah;if(!ae.isSynchronized){ai.synchronize()}ah=ae.classMap;if(typeof ad==="string"){ad=ad.split(N)}for(af=0,ag=ad.length;af<ag;af++){aj=ad[af];if(!ah[aj]){ah[aj]=true}}ae.classList=ad.slice();ai.dom.className=ad.join(" ")},setHeight:function(ad){var ae=this;ae.dom.style[r]=q.addUnits(ad);if(ae.shadow||ae.shim){ae.syncUnderlays()}return ae},setHtml:function(ad){if(this.dom){this.dom.innerHTML=ad}},setId:function(af){var ag=this,ae=ag.id,ad=Ext.cache;if(ae){delete ad[ae]}ag.dom.id=af;ag.id=af;ad[af]=ag;return ag},setLeft:function(ad){var ae=this;ae.dom.style[t]=q.addUnits(ad);if(ae.shadow||ae.shim){ae.syncUnderlays()}return ae},setLocalX:function(af){var ad=this,ae=ad.dom.style;ae.right="auto";ae.left=(af===null)?"auto":af+"px";if(ad.shadow||ad.shim){ad.syncUnderlays()}return ad},setLocalXY:function(af,ag){var ad=this,ae=ad.dom.style;ae.right="auto";if(af&&af.length){ag=af[1];af=af[0]}if(af===null){ae.left="auto"}else{if(af!==undefined){ae.left=af+"px"}}if(ag===null){ae.top="auto"}else{if(ag!==undefined){ae.top=ag+"px"}}if(ad.shadow||ad.shim){ad.syncUnderlays()}return ad},setLocalY:function(ae){var ad=this;ad.dom.style.top=(ae===null)?"auto":ae+"px";if(ad.shadow||ad.shim){ad.syncUnderlays()}return ad},setMargin:function(ae){var af=this,ad=af.dom.style;if(ae||ae===0){ae=af.self.unitizeBox((ae===true)?5:ae);ad.setProperty("margin",ae,"important")}else{ad.removeProperty("margin-top");ad.removeProperty("margin-right");ad.removeProperty("margin-bottom");ad.removeProperty("margin-left")}},setMaxHeight:function(ad){this.dom.style[v]=q.addUnits(ad);return this},setMaxWidth:function(ad){this.dom.style[w]=q.addUnits(ad);return this},setMinHeight:function(ad){this.dom.style[x]=q.addUnits(ad);return this},setMinWidth:function(ad){this.dom.style[y]=q.addUnits(ad);return this},setPadding:function(af){var ae=this,ad=ae.dom.style;if(af||af===0){af=ae.self.unitizeBox((af===true)?5:af);ad.setProperty("padding",af,"important")}else{ad.removeProperty("padding-top");ad.removeProperty("padding-right");ad.removeProperty("padding-bottom");ad.removeProperty("padding-left")}},setRight:function(ad){this.dom.style[J]=q.addUnits(ad);return this},setScrollLeft:function(ad){this.dom.scrollLeft=ad;return this},setScrollTop:function(ad){this.dom.scrollTop=ad;return this},setSize:function(ag,ad){var ae=this,af=ae.dom.style;if(Ext.isObject(ag)){ad=ag.height;ag=ag.width}af.width=q.addUnits(ag);af.height=q.addUnits(ad);if(ae.shadow||ae.shim){ae.syncUnderlays()}return ae},setSizeState:function(ag){var ae=this,ad,af;if(ag===true){ad=M;af=[U,P]}else{if(ag===false){ad=U;af=[M,P]}else{if(ag===null){ad=P;af=[M,U]}else{af=[M,U,P]}}}if(ad){ae.addCls(ad)}ae.removeCls(af);return ae},setStyle:function(ai,ak){var ag=this,ad=ag.dom,af=ag.styleHooks,aj=ad.style,ah=ai,ae;if(typeof ah==="string"){ae=af[ah];if(!ae){af[ah]=ae={name:q.normalize(ah)}}ak=(ak==null)?"":ak;if(ae.set){ae.set(ad,ak,ag)}else{aj[ae.name]=ak}if(ae.afterSet){ae.afterSet(ad,ak,ag)}}else{for(ah in ai){if(ai.hasOwnProperty(ah)){ae=af[ah];if(!ae){af[ah]=ae={name:q.normalize(ah)}}ak=ai[ah];ak=(ak==null)?"":ak;if(ae.set){ae.set(ad,ak,ag)}else{aj[ae.name]=ak}if(ae.afterSet){ae.afterSet(ad,ak,ag)}}}}return ag},setText:function(ad){this.dom.textContent=ad},setTop:function(ae){var ad=this;ad.dom.style[Q]=q.addUnits(ae);if(ad.shadow||ad.shim){ad.syncUnderlays()}return ad},setUnderlaysVisible:function(af){var ad=this.shadow,ae=this.shim;if(ad&&!ad.disabled){if(af){ad.show()}else{ad.hide()}}if(ae&&!ae.disabled){if(af){ae.show()}else{ae.hide()}}},setVisibility:function(ae){var ad=this.dom.style;if(ae){ad.removeProperty("visibility")}else{ad.setProperty("visibility","hidden","important")}},setVisibilityMode:function(ad){if(ad!==1&&ad!==2&&ad!==3){Ext.Error.raise("visibilityMode must be one of the following: Ext.Element.DISPLAY, Ext.Element.VISIBILITY, or Ext.Element.OFFSETS")}this.getData().visibilityMode=ad;return this},setVisible:function(ag){var ad=this,af=ad.getVisibilityMode(),ae=ag?"removeCls":"addCls";switch(af){case q.DISPLAY:ad.removeCls([X,C]);ad[ae](n);break;case q.VISIBILITY:ad.removeCls([n,C]);ad[ae](X);break;case q.OFFSETS:ad.removeCls([X,n]);ad[ae](C);break}if(ad.shadow||ad.shim){ad.setUnderlaysVisible(ag)}return ad},setWidth:function(ae){var ad=this;ad.dom.style[Y]=q.addUnits(ae);if(ad.shadow||ad.shim){ad.syncUnderlays()}return ad},setX:function(ad){return this.setXY([ad,false])},setXY:function(ah){var ad=this,af=ad.translatePoints(ah),ag=ad.dom.style,ae;ad.position();ag.right="auto";for(ae in af){if(!isNaN(af[ae])){ag[ae]=af[ae]+"px"}}if(ad.shadow||ad.shim){ad.syncUnderlays()}return ad},setY:function(ad){return this.setXY([false,ad])},setZIndex:function(ae){var ad=this;if(ad.shadow){ad.shadow.setZIndex(ae)}if(ad.shim){ad.shim.setZIndex(ae)}return ad.setStyle("z-index",ae)},show:function(){this.setVisible(true);return this},swapCls:function(ae,aj,af,ah){if(af===undefined){af=true}var ag=this,ad=af?ae:aj,ai=af?aj:ae;if(ai){ag.removeCls(ah?ah+"-"+ai:ai)}if(ad){ag.addCls(ah?ah+"-"+ad:ad)}return ag},synchronize:function(){var ak=this,af=ak.dom,ah={},ae=af.className,ad,ai,aj,al,ag=ak.getData();if(ae&&ae.length>0){ad=af.className.split(i);for(ai=0,aj=ad.length;ai<aj;ai++){al=ad[ai];ah[al]=true}}else{ad=[]}ag.classList=ad;ag.classMap=ah;ag.isSynchronized=true;return ak},syncUnderlays:function(){var af=this,ag=af.shadow,ah=af.shim,ad=af.dom,ak,aj,al,ai,ae;if(af.isVisible()){ak=af.getXY();aj=ak[0];al=ak[1];ai=ad.offsetWidth;ae=ad.offsetHeight;if(ag&&!ag.hidden){ag.realign(aj,al,ai,ae)}if(ah&&!ah.hidden){ah.realign(aj,al,ai,ae)}}},toggleCls:function(ad,ae){if(typeof ae!=="boolean"){ae=!this.hasCls(ad)}return(ae)?this.addCls(ad):this.removeCls(ad)},toggle:function(){this.setVisible(!this.isVisible());return this},translate:function(){var ad="webkitTransform" in o.createElement("div").style?"webkitTransform":"transform";return function(ae,af,ag){this.dom.style[ad]="translate3d("+(ae||0)+"px, "+(af||0)+"px, "+(ag||0)+"px)"}}(),unmaskIframes:function(){var ad=document.getElementsByTagName("iframe");Ext.each(ad,function(ae){var af=Ext.fly(ae.parentNode);af.unmask()})},unwrap:function(){var af=this.dom,ah=af.parentNode,ag,ad=Ext.Element.getActiveElement(),ae,ai;ae=Ext.cache[ad.id];if(ae){ad=ae}if(this.contains(ad)){Ext.GlobalEvents.suspendEvent("focus");if(ae){ad.suspendEvent("focus","blur")}ai=true}if(ah){ag=ah.parentNode;ag.insertBefore(af,ah);ag.removeChild(ah)}else{ag=document.createDocumentFragment();ag.appendChild(af)}if(ai){if(ae){ad.focus();ad.resumeEvent("focus","blur")}else{Ext.fly(ad).focus()}Ext.GlobalEvents.resumeEvent("focus")}return this},up:function(af,ad,ae){return this.findParentNode(af,ad,!ae)},update:function(ad){return this.setHtml(ad)},wrap:function(af,ak,al){var ah=this,ag=ah.dom,ai=Ext.DomHelper.insertBefore(ag,af||{tag:"div"},!ak),am=ai,ad=Ext.Element.getActiveElement(),ae,aj;if(al){am=ai.selectNode(al,ak)}ae=Ext.cache[ad.id];if(ae){ad=ae}if(ah.contains(ad)){Ext.GlobalEvents.suspendEvent("focus");if(ae){ad.suspendEvent("focus","blur")}aj=true}am.appendChild(ag);if(aj){if(ae){ad.focus();ad.resumeEvent("focus","blur")}else{Ext.fly(ad).focus()}Ext.GlobalEvents.resumeEvent("focus")}return ai},privates:{doAddListener:function(af,ag,an,ak,al,ae,ah){var ai=this,am=af,aj,ad,ao;af=Ext.canonicalEventName(af);if(!ai.blockedEvents[af]){aj=ai.mixins.observable.doAddListener;ak=ak||{};if(ai.longpressEvents[af]){ai.disableTouchContextMenu()}if(q.useDelegatedEvents===false){ak.delegated=ak.delegated||false}if(ak.translate!==false){ad=ai.additiveEvents[af];if(ad){ak.type=af;af=ad;aj.call(ai,af,ag,an,ak,al,ae,ah)}ao=ai.eventMap[af];if(ao){ak.type=ak.type||af;if(ah){ak.managedName=am}af=ao}}aj.call(ai,af,ag,an,ak,al,ae,ah);if(ah&&ao){delete ak.managedName}delete ak.type}},doRemoveListener:function(af,ag,aj){var ah=this,ai,ak,ad,ae;if(!ah.blockedEvents[af]){ai=ah.mixins.observable.doRemoveListener;if(ah.longpressEvents[af]){ae=this._contextMenuListenerRemover;if(ae){ae.destroy()}}ad=ah.additiveEvents[af];if(ad){af=ad;ai.call(ah,af,ag,aj)}ak=ah.eventMap[af];if(ak){ai.call(ah,ak,ag,aj)}ai.call(ah,af,ag,aj)}},_initEvent:function(ad){return(this.events[ad]=new Ext.dom.ElementEvent(this,ad))},_getPublisher:function(ad){var af=Ext.event.publisher.Publisher,ae=af.publishersByEvent[ad];if(!ae||(this.dom===window&&ad==="resize")){ae=af.publishers.dom}return ae}},deprecated:{"5.0":{methods:{cssTranslate:null,getHTML:"getHtml",getOuterHeight:null,getOuterWidth:null,getPageBox:function(af){var aj=this,ae=aj.dom,ah=ae.nodeName==="BODY",am=ah?q.getViewportWidth():ae.offsetWidth,ag=ah?q.getViewportHeight():ae.offsetHeight,an=aj.getXY(),al=an[1],ak=an[0]+am,ad=an[1]+ag,ai=an[0];if(af){return new Ext.util.Region(al,ak,ad,ai)}else{return{left:ai,top:al,width:am,height:ag,right:ak,bottom:ad}}},getScrollParent:null,isDescendent:null,isTransparent:function(ad){var ae=this.getStyle(ad);return ae?S.test(ae):false},purgeAllListeners:"clearListeners",removeAllListeners:"clearListeners",setHTML:"setHtml",setTopLeft:null}}}}},function(g){var d=document,z=g.prototype,A=Ext.supports,w="pointerdown",x="pointermove",y="pointerup",v="pointercancel",r="MSPointerDown",s="MSPointerMove",t="MSPointerUp",q="MSPointerCancel",j="mousedown",m="mousemove",p="mouseup",o="mouseover",n="mouseout",k="mouseenter",l="mouseleave",F="touchstart",E="touchmove",D="touchend",C="touchcancel",b="click",c="dblclick",B="tap",e="doubletap",h=z.eventMap={},a=z.additiveEvents={},u=Ext.id,i;Ext.id=function(I,J){var G=Ext.getDom(I,true),K,H;if(!G){H=u(I,J)}else{if(!(H=G.id)){H=u(null,J||g.prototype.identifiablePrefix);if(Ext.isSandboxed){K=Ext.sandboxPrefix||(Ext.sandboxPrefix=Ext.sandboxName.toLowerCase()+"-");H=K+H}G.id=H}}return H};if(A.PointerEvents){h[j]=w;h[m]=x;h[p]=y;h[F]=w;h[E]=x;h[D]=y;h[C]=v;h[b]=B;h[c]=e;h[o]="pointerover";h[n]="pointerout";h[k]="pointerenter";h[l]="pointerleave"}else{if(A.MSPointerEvents){h[w]=r;h[x]=s;h[y]=t;h[v]=q;h[j]=r;h[m]=s;h[p]=t;h[F]=r;h[E]=s;h[D]=t;h[C]=q;h[b]=B;h[c]=e;h[o]="MSPointerOver";h[n]="MSPointerOut"}else{if(A.TouchEvents){h[w]=F;h[x]=E;h[y]=D;h[v]=C;h[j]=F;h[m]=E;h[p]=D;h[b]=B;h[c]=e;if(Ext.isWebKit&&Ext.os.is.Desktop){h[F]=j;h[E]=m;h[D]=p;h[C]=p;a[j]=j;a[m]=m;a[p]=p;a[F]=F;a[E]=E;a[D]=D;a[C]=C;a[w]=j;a[x]=m;a[y]=p;a[v]=p}}else{h[w]=j;h[x]=m;h[y]=p;h[v]=p;h[F]=j;h[E]=m;h[D]=p;h[C]=p}}}if(Ext.isWebKit){h.transitionend=Ext.browser.getVendorProperyName("transitionEnd");h.animationstart=Ext.browser.getVendorProperyName("animationStart");h.animationend=Ext.browser.getVendorProperyName("animationEnd")}if(!Ext.supports.MouseWheel&&!Ext.isOpera){h.mousewheel="DOMMouseScroll"}i=z.$eventOptions=Ext.Object.chain(z.$eventOptions);i.translate=i.capture=i.delegate=i.delegated=i.stopEvent=i.preventDefault=i.stopPropagation=i.element=1;z.getTrueXY=z.getXY;Ext.select=g.select;Ext.query=g.query;Ext.apply(Ext,{get:function(G){return g.get(G)},getDom:function(G){if(!G||!d){return null}return G.dom||(typeof G==="string"?Ext.getElementById(G):G)},getBody:function(){if(!Ext._bodyEl){if(!d.body){throw new Error("[Ext.getBody] document.body does not yet exist")}Ext._bodyEl=Ext.get(d.body)}return Ext._bodyEl},getHead:function(){if(!Ext._headEl){Ext._headEl=Ext.get(d.head||d.getElementsByTagName("head")[0])}return Ext._headEl},getDoc:function(){if(!Ext._docEl){Ext._docEl=Ext.get(d)}return Ext._docEl},getWin:function(){if(!Ext._winEl){Ext._winEl=Ext.get(window)}return Ext._winEl},removeNode:function(I){I=I.dom||I;var H=I&&I.id,G=Ext.cache[H],J;if(G){G.destroy()}else{if(I&&(I.nodeType===3||I.tagName.toUpperCase()!=="BODY")){J=I.parentNode;if(J){J.removeChild(I)}}}}});Ext.isGarbage=function(G){return G&&G.nodeType===1&&G.tagName!=="BODY"&&G.tagName!=="HTML"&&(!G.parentNode||(!G.offsetParent&&((Ext.isIE8?d.all[G.id]:d.getElementById(G.id))!==G)&&!(Ext.detachedBodyEl&&Ext.detachedBodyEl.isAncestor(G))))}});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(b){var e=a.isCollection?a.items:a,g=e.length,h=true,d,c;for(d=0;h&&d<g;d++){c=e[d];if(!c.getDisabled()){h=c.filter(b)}}return h}},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){var b=Ext.util.Filter.isInvalid(a);if(b){Ext.log.warn(b)}this.initConfig(a)},preventConvert:{"in":1},filter:function(c){var d=this,b=d._filterFn||d.getFilterFn(),a=d.getConvert(),e=d._value;d._filterValue=e;d.isDateValue=Ext.isDate(e);if(d.isDateValue){d.dateValue=e.getTime()}if(a&&!d.preventConvert[d.getOperator()]){d._filterValue=a.call(d.scope||d,e)}return b.call(d.scope||d,c)},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,a=b._filterFn,c;if(!a){c=b.getOperator();if(c){a=b.operatorFns[c]}else{a=b.createRegexFilter()}b._filterFn=a}return a},createRegexFilter:function(){var d=this,a=!!d.getAnyMatch(),b=!!d.getExactMatch(),e=d.getValue(),c=Ext.String.createRegex(e,!a,!a&&b,!d.getCaseSensitive());return function(g){var h=d.getPropertyValue(g);return c?c.test(h):(h==null)}},getPropertyValue:function(a){var b=this._root,c=(b==null)?a:a[b];return c[this._property]},getState:function(){var a=this.getInitialConfig(),c={},b;for(b in a){if(a.hasOwnProperty(b)){c[b]=a[b]}}delete c.root;c.value=this.getValue();return c},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(b){var a=false;if(b){a=Ext.isEmpty(this.getValue())}this.setDisabled(a)},privates:{getCandidateValue:function(a,g,d){var c=this,b=c._convert,e=c.getPropertyValue(a);if(b){e=b.call(c.scope||c,e)}else{if(!d){e=Ext.coerce(e,g)}}return e}}},function(){var b=this.prototype,a=(b.operatorFns={"<":function(c){var d=this._filterValue;return this.getCandidateValue(c,d)<d},"<=":function(c){var d=this._filterValue;return this.getCandidateValue(c,d)<=d},"=":function(c){var d=this,e=d._filterValue;c=d.getCandidateValue(c,e);if(d.isDateValue&&c instanceof Date){c=c.getTime();e=d.dateValue}return c==e},"===":function(c){var d=this,e=d._filterValue;c=d.getCandidateValue(c,e,true);if(d.isDateValue&&c instanceof Date){c=c.getTime();e=d.dateValue}return c===e},">=":function(c){var d=this._filterValue;return this.getCandidateValue(c,d)>=d},">":function(c){var d=this._filterValue;return this.getCandidateValue(c,d)>d},"!=":function(c){var d=this,e=d._filterValue;c=d.getCandidateValue(c,e);if(d.isDateValue&&c instanceof Date){c=c.getTime();e=d.dateValue}return c!=e},"!==":function(c){var d=this,e=d._filterValue;c=d.getCandidateValue(c,e,true);if(d.isDateValue&&c instanceof Date){c=c.getTime();e=d.dateValue}return c!==e},"in":function(c){var d=this._filterValue;return Ext.Array.contains(d,this.getCandidateValue(c,d))},like:function(c){var d=this._filterValue;return d&&this.getCandidateValue(c,d).toLowerCase().indexOf(d.toLowerCase())>-1},"/=":function(c){var g=this,h=g._filterValue;c=g.getCandidateValue(c,h);if(h!==g.lastRegExpSource){g.lastRegExpSource=h;try{g.regex=new RegExp(h,"i")}catch(d){g.regex=null}}return g.regex?g.regex.test(c):false}});a["=="]=a["="];a.gt=a[">"];a.ge=a[">="];a.lt=a["<"];a.le=a["<="];a.eq=a["="];a.ne=a["!="]});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(a,b){var c=this;if(arguments.length===1&&Ext.isObject(a)){c.initialConfig=a;Ext.apply(c,a)}else{c.allowFunctions=a===true;if(b){c.getKey=b}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)},allowFunctions:false,add:function(a,c){var b=this.length,d;if(arguments.length===1){d=this.insert(b,a)}else{d=this.insert(b,a,c)}return d},getKey:function(a){return a.id},replace:function(b,d){var c=this,e,a;if(arguments.length==1){d=arguments[0];b=c.getKey(d)}e=c.map[b];if(typeof b=="undefined"||b===null||typeof e=="undefined"){return c.add(b,d)}c.generation++;a=c.indexOfKey(b);c.items[a]=d;c.map[b]=d;if(c.hasListeners.replace){c.fireEvent("replace",b,e,d)}return d},reorder:function(d){var e=this,b=e.items,a=0,c=b.length,h=[],i=[],g;e.suspendEvents();for(g in d){h[d[g]]=b[g]}for(a=0;a<c;a++){if(d[a]==undefined){i.push(b[a])}}for(a=0;a<c;a++){if(h[a]==undefined){h[a]=i.shift()}}e.clear();e.addAll(h);e.resumeEvents()},updateKey:function(h,g){var e=this,d=e.map,a=e.indexOfKey(h),b=e.indexMap,c;if(a>-1){c=d[h];delete d[h];delete b[h];d[g]=c;b[g]=a;e.keys[a]=g;e.indexGeneration=++e.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(a,g){var d=Ext.Array.push([],this.items),b=0,e=d.length,c;for(;b<e;b++){c=d[b];if(a.call(g||c,c,b,e)===false){break}}},eachKey:function(a,g){var d=this.keys,c=this.items,b=0,e=d.length;for(;b<e;b++){a.call(g||window,d[b],c[b],b,e)}},findBy:function(a,g){var d=this.keys,c=this.items,b=0,e=c.length;for(;b<e;b++){if(a.call(g||window,c[b],d[b])){return c[b]}}return null},find:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead.")}return this.findBy.apply(this,arguments)},insert:function(a,b,c){var d;if(Ext.isIterable(b)){d=this.doInsert(a,b,c)}else{if(arguments.length>2){d=this.doInsert(a,[b],[c])}else{d=this.doInsert(a,[b])}d=d[0]}return d},doInsert:function(d,g,l){var j=this,e,p,c,h=g.length,a=h,b=j.hasListeners.add,q,k={},o,m,n;if(l!=null){j.useLinearSearch=true}else{l=g;g=new Array(h);for(c=0;c<h;c++){g[c]=this.getKey(l[c])}}j.suspendEvents();for(c=0;c<h;c++){e=g[c];p=j.indexOfKey(e);if(p!==-1){if(p<d){d--}j.removeAt(p)}if(e!=null){if(k[e]!=null){o=true;a--}k[e]=c}}j.resumeEvents();if(o){m=g;n=l;g=new Array(a);l=new Array(a);c=0;for(e in k){g[c]=m[k[e]];l[c]=n[k[e]];c++}h=a}q=d===j.length&&j.indexGeneration===j.generation;Ext.Array.insert(j.items,d,l);Ext.Array.insert(j.keys,d,g);j.length+=h;j.generation++;if(q){j.indexGeneration=j.generation}for(c=0;c<h;c++,d++){e=g[c];if(e!=null){j.map[e]=l[c];if(q){j.indexMap[e]=d}}if(b){j.fireEvent("add",d,l[c],e)}}return l},remove:function(c){var b=this,d,a;if(!b.useLinearSearch&&(d=b.getKey(c))){a=b.indexOfKey(d)}else{a=Ext.Array.indexOf(b.items,c)}return(a===-1)?false:b.removeAt(a)},removeAll:function(b){var c=this,a;if(b||c.hasListeners.remove){if(b){for(a=b.length-1;a>=0;--a){c.remove(b[a])}}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(b,h){var e=this,g,c,a,d,j,k;if(b<e.length&&b>=0){if(!h){h=1}d=Math.min(b+h,e.length);h=d-b;k=d===e.length;j=k&&e.indexGeneration===e.generation;for(a=b;a<d;a++){c=e.keys[a];if(c!=null){delete e.map[c];if(j){delete e.indexMap[c]}}}g=e.items[a-1];e.length-=h;e.generation++;if(j){e.indexGeneration=e.generation}if(k){e.items.length=e.keys.length=e.length}else{e.items.splice(b,h);e.keys.splice(b,h)}return g}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,b=e.indexMap={},c=e.keys,d=c.length,a;for(a=0;a<d;a++){b[c[a]]=a}e.indexGeneration=e.generation},get:function(b){var c=this,d=c.map[b],a=d!==undefined?d:(typeof b=="number")?c.items[b]:undefined;return typeof a!="function"||c.allowFunctions?a: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(d,e,g,a){var j=this.extractValues(d,e),c=j.length,h=0,b;g=g||0;a=(a||a===0)?a:c-1;for(b=g;b<=a;b++){h+=j[b]}return h},collect:function(e,g,a){var l=this.extractValues(e,g),d=l.length,b={},j=[],k,h,c;for(c=0;c<d;c++){k=l[c];h=String(k);if((a||!Ext.isEmpty(k))&&!b[h]){b[h]=true;j.push(k)}}return j},extractValues:function(a,b){var c=this.items;if(b){c=Ext.Array.pluck(c,b)}return Ext.Array.pluck(c,a)},hasRange:function(b,a){return(a<this.length)},getRange:function(h,a){var d=this,b=d.items,e=[],c=b.length,i,g;if(c<1){return e}if(h>a){g=true;i=h;h=a;a=i}if(h<0){h=0}if(a==null||a>=c){a=c-1}e=b.slice(h,a+1);if(g&&e.length){e.reverse()}return e},filter:function(d,e,a,b){var c=[];if(Ext.isString(d)){c.push(new Ext.util.Filter({property:d,value:e,anyMatch:a,caseSensitive:b}))}else{if(Ext.isArray(d)||d instanceof Ext.util.Filter){c=c.concat(d)}}return this.filterBy(Ext.util.Filter.createFilterFn(c))},filterBy:function(a,j){var g=this,h=new g.self(g.initialConfig),d=g.keys,c=g.items,e=c.length,b;h.getKey=g.getKey;for(b=0;b<e;b++){if(a.call(j||g,c[b],d[b])){h.add(d[b],c[b])}}h.useLinearSearch=g.useLinearSearch;return h},findIndex:function(c,e,d,a,b){if(Ext.isEmpty(e,false)){return -1}e=this.createValueMatcher(e,a,b);return this.findIndexBy(function(g){return g&&e.test(g[c])},null,d)},findIndexBy:function(a,h,j){var g=this,d=g.keys,c=g.items,b=j||0,e=c.length;for(;b<e;b++){if(a.call(h||g,c[b],d[b])){return b}}return -1},createValueMatcher:function(e,a,b,d){if(!e.exec){var c=Ext.String.escapeRegex;e=String(e);if(a===true){e=c(e)}else{e="^"+c(e);if(d===true){e+="$"}}e=new RegExp(e,b?"":"i")}return e},clone:function(){var b=this,a=new b.self(b.initialConfig);a.add(b.keys,b.items);a.useLinearSearch=b.useLinearSearch;return a}});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(g,j){var e=b.isCollection?b.items:b,h=e.length,c,d;for(d=0;d<h;++d){c=e[d].sort(g,j);if(c){return c}}return a&&a(g,j)}}},multiplier:1,constructor:function(a){if(a&&!this.isGrouper){if(!a.property===!a.sorterFn){Ext.Error.raise("A Sorter requires either a property or a sorterFn.")}}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(a,b){var d=this,i=d._transform,h=d._root,e=d._property,c,g;if(h){a=a[h];b=b[h]}c=a[e];g=b[e];if(i){c=i(c);g=i(g)}return(c>g)?1:(c<g?-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(){return{root:this.getRoot(),property:this.getProperty(),direction:this.getDirection()}},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,e){var g=a[0].sort(d,e),c=a.length,b=1;for(;!g&&b<c;b++){g=a[b].sort.call(a[b],d,e)}return g}:function(){return 0}}},applySorters:function(b){var a=this,c=a.getSorters()||new Ext.util.MixedCollection(false,Ext.returnId);if(b){c.addAll(a.decodeSorters(b))}return c},sort:function(i,b,d,c){var e=this,h,g,a=e.getSorters();if(!a){e.setSorters(null);a=e.getSorters()}if(Ext.isArray(i)){c=d;d=b}else{if(Ext.isObject(i)){i=[i];c=d;d=b}else{if(Ext.isString(i)){h=a.get(i);if(!h){h={property:i,direction:b}}else{if(b==null){h.toggle()}else{h.setDirection(b)}}i=[h]}}}if(i&&i.length){i=e.decodeSorters(i);switch(d){case"multi":a.insert(0,i[0]);g=a.getCount()-e.multiSortLimit;if(g>0){a.removeRange(e.multiSortLimit,g)}break;case"prepend":a.insert(0,i);break;case"append":a.addAll(i);break;case undefined:case null:case"replace":a.clear();a.addAll(i);break;default:Ext.Error.raise('Sorter insertion point must be "multi", "prepend", "append" or "replace"')}}if(c!==false){e.fireEvent("beforesort",e,i);e.onBeforeSort(i);if(e.getSorterCount()){e.doSort(e.generateComparator())}}return i},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(h){if(!Ext.isArray(h)){if(h===undefined){h=[]}else{h=[h]}}var d=h.length,g=Ext.util.Sorter,e=this.getModel?this.getModel():this.model,b,a,c;for(c=0;c<d;c++){a=h[c];if(!(a instanceof g)){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(e&&!a.transform){b=e.getField(a.property);a.transform=b&&b.sortType!==Ext.identityFn?b.sortType:undefined}h[c]=new Ext.util.Sorter(a)}}return h},getFirstSorter:function(){var d=this.getSorters().items,b=d.length,a=0,c;for(;a<b;++a){c=d[a];if(!c.isGrouper){return c}}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(n,b,e){var l=this,g,k,d=String(b).toUpperCase()=="DESC"?-1:1,a=[],j=l.keys,h=l.items,m;e=e||function(c,i){return c-i};for(g=0,k=h.length;g<k;g++){a[a.length]={key:j[g],value:h[g],index:g}}Ext.Array.sort(a,function(c,i){return e(c[n],i[n])*d||(c.index<i.index?-1:1)});for(g=0,k=a.length;g<k;g++){m=a[g];h[g]=m.value;j[g]=m.key;l.indexMap[m.key]=g}l.generation++;l.indexGeneration=l.generation;l.fireEvent("sort",l)},sortBy:function(j){var h=this,c=h.items,b,e=h.keys,d,g=c.length,a;for(a=0;a<g;a++){c[a].$extCollectionIndex=a}Ext.Array.sort(c,function(i,k){return j(i,k)||(i.$extCollectionIndex<k.$extCollectionIndex?-1:1)});for(a=0;a<g;a++){b=c[a];d=h.getKey(b);e[a]=d;h.indexMap[d]=a;delete b.$extCollectionIndex}h.generation++;h.indexGeneration=h.generation;h.fireEvent("sort",h,c,e)},findInsertionIndex:function(g,h){var d=this,c=d.items,i=0,b=c.length-1,e,a;if(!h){h=d.generateComparator()}while(i<=b){e=(i+b)>>1;a=h(g,c[e]);if(a>=0){i=e+1}else{if(a<0){b=e-1}}}return i},reorder:function(a){this.callParent([a]);this.fireEvent("sort",this)},sortByKey:function(a,b){this._sort("key",a,b||function(c,d){var e=String(c).toUpperCase(),g=String(d).toUpperCase();return e>g?1:(e<g?-1:0)})}});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(a){var b=new Ext.util.TaskRunner.Task(a);b.manager=this;return b},start:function(c){var a=this,b=Ext.Date.now();if(!c.pending){a.tasks.push(c);c.pending=true}c.stopped=false;c.taskStartTime=b;c.taskRunTime=c.fireOnStart!==false?0:c.taskStartTime;c.taskRunCount=0;if(!a.firing){if(c.fireOnStart!==false){a.startTimer(0,b)}else{a.startTimer(c.interval,b)}}return c},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 h=this,q=h.tasks,l=Ext.Date.now(),k=1e+99,g=q.length,c=Ext.GlobalEvents,a,j,d,o,n,m,b;h.timerId=null;h.firing=true;for(d=0;d<g||d<(g=q.length);++d){o=q[d];if(!(m=o.stopped)){a=o.taskRunTime+o.interval;if(a<=l){n=1;if(o.hasOwnProperty("fireIdleEvent")){b=o.fireIdleEvent}else{b=h.fireIdleEvent}try{n=o.run.apply(o.scope||o,o.args||[++o.taskRunCount])}catch(p){try{Ext.log({fn:o.run,prefix:"Error while running task",stack:p.stack,msg:p,level:"error"});if(o.onError){n=o.onError.call(o.scope||o,o,p)}}catch(e){}}o.taskRunTime=l;if(n===false||o.taskRunCount===o.repeat){h.stop(o);m=true}else{m=o.stopped;a=l+o.interval}}if(!m&&o.duration&&o.duration<=(l-o.taskStartTime)){h.stop(o);m=true}}if(m){o.pending=false;if(!j){j=q.slice(0,d)}}else{if(j){j.push(o)}if(k>a){k=a}}}if(j){h.tasks=j}h.firing=false;if(h.tasks.length){h.startTimer(k-l,Ext.Date.now())}if(b!==false&&c.hasListeners.idle){c.fireEvent("idle")}},startTimer:function(d,c){var b=this,a=c+d,e=b.timerId;if(e&&b.nextExpires-a>b.interval){clearTimeout(e);e=null}if(!e){if(d<b.interval){d=b.interval}b.timerId=Ext.defer(b.timerFn,d);b.nextExpires=a}}},function(){var a=this,b=a.prototype;b.destroy=b.stopAll;a.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)}});b=a.Task.prototype;b.destroy=b.stop});Ext.define("Ext.fx.target.Target",{isAnimTarget:true,constructor:function(a){this.target=a;this.id=this.getId()},getId:function(){return this.target.id},remove:function(){Ext.destroy(this.target)}});Ext.define("Ext.fx.target.Element",{extend:Ext.fx.target.Target,type:"element",getElVal:function(b,a,c){if(c===undefined){if(a==="x"){c=b.getX()}else{if(a==="y"){c=b.getY()}else{if(a==="scrollTop"){c=b.getScroll().top}else{if(a==="scrollLeft"){c=b.getScroll().left}else{if(a==="height"){c=b.getHeight()}else{if(a==="width"){c=b.getWidth()}else{c=b.getStyle(a)}}}}}}}return c},getAttr:function(a,c){var b=this.target;return[[b,this.getElVal(b,a,c)]]},setAttr:function(k){var e=k.length,b,a,h,c,d,g;for(c=0;c<e;c++){b=k[c].attrs;for(a in b){if(b.hasOwnProperty(a)){g=b[a].length;for(d=0;d<g;d++){h=b[a][d];this.setElVal(h[0],a,h[1])}}}}},setElVal:function(b,a,c){if(a==="x"){b.setX(c)}else{if(a==="y"){b.setY(c)}else{if(a==="scrollTop"){b.scrollTo("top",c)}else{if(a==="scrollLeft"){b.scrollTo("left",c)}else{if(a==="width"){b.setWidth(c)}else{if(a==="height"){b.setHeight(c)}else{b.setStyle(a,c)}}}}}}}});Ext.define("Ext.fx.target.ElementCSS",{extend:Ext.fx.target.Element,setAttr:function(s,l){var e={attrs:[],duration:[],easing:[]},n=s.length,d=function(){this.setStyle(Ext.supports.CSS3Prefix+"TransitionProperty",null);this.setStyle(Ext.supports.CSS3Prefix+"TransitionDuration",null);this.setStyle(Ext.supports.CSS3Prefix+"TransitionTimingFunction",null)},r={single:true},b,c,a,h,g,q,k,m,p;for(k=0;k<n;k++){c=s[k];g=c.duration;h=c.easing;c=c.attrs;for(a in c){if(Ext.Array.indexOf(e.attrs,a)==-1){e.attrs.push(a.replace(/[A-Z]/g,function(i){return"-"+i.toLowerCase()}));e.duration.push(g+"ms");e.easing.push(h)}}}b=e.attrs.join(",");g=e.duration.join(",");h=e.easing.join(", ");for(k=0;k<n;k++){c=s[k].attrs;for(a in c){p=c[a].length;for(m=0;m<p;m++){q=c[a][m];q[0].setStyle(Ext.supports.CSS3Prefix+"TransitionProperty",l?"":b);q[0].setStyle(Ext.supports.CSS3Prefix+"TransitionDuration",l?"":g);q[0].setStyle(Ext.supports.CSS3Prefix+"TransitionTimingFunction",l?"":h);q[0].setStyle(a,q[1]);if(l){q=q[0].dom.offsetWidth}else{q[0].on(Ext.supports.CSS3TransitionEnd,d,q[0],r)}}}}}});Ext.define("Ext.fx.target.CompositeElement",{extend:Ext.fx.target.Element,isComposite:true,constructor:function(a){a.id=a.id||Ext.id(null,"ext-composite-");this.callParent([a])},getAttr:function(a,j){var g=[],h=this.target,c=h.elements,e=c.length,d,b;for(d=0;d<e;d++){b=c[d];if(b){b=h.getElement(b);g.push([b,this.getElVal(b,a,j)])}}return g},setAttr:function(p){var o=this.target,l=p.length,d=o.elements,n=d.length,q,h,b,a,c,e,g,m;for(e=0;e<l;e++){b=p[e].attrs;for(a in b){if(b.hasOwnProperty(a)){m=b[a].length;for(g=0;g<m;g++){q=b[a][g][1];for(h=0;h<n;++h){c=d[h];if(c){c=o.getElement(c);this.setElVal(c,a,q)}}}}}}},remove:function(){this.target.destroy()}});Ext.define("Ext.fx.target.CompositeElementCSS",{extend:Ext.fx.target.CompositeElement,setAttr:function(){return Ext.fx.target.ElementCSS.prototype.setAttr.apply(this,arguments)}});Ext.define("Ext.fx.target.Sprite",{extend:Ext.fx.target.Target,type:"draw",getFromPrim:function(c,a){var b;switch(a){case"rotate":case"rotation":b=c.attr.rotation;return{x:b.x||0,y:b.y||0,degrees:b.degrees||0};case"scale":case"scaling":b=c.attr.scaling;return{x:b.x||1,y:b.y||1,cx:b.cx||0,cy:b.cy||0};case"translate":case"translation":b=c.attr.translation;return{x:b.x||0,y:b.y||0};default:return c.attr[a]}},getAttr:function(a,b){return[[this.target,b!==undefined?b:this.getFromPrim(this.target,a)]]},setAttr:function(o){var k=o.length,n=[],d,a,b,c,m,g,p,e,h,q,r,l;for(e=0;e<k;e++){d=o[e].attrs;for(a in d){b=d[a];l=b.length;for(h=0;h<l;h++){m=b[h][0];c=b[h][1];if(a==="translate"||a==="translation"){p={x:c.x,y:c.y}}else{if(a==="rotate"||a==="rotation"){q=c.x;if(isNaN(q)){q=null}r=c.y;if(isNaN(r)){r=null}p={degrees:c.degrees,x:q,y:r}}else{if(a==="scale"||a==="scaling"){q=c.x;if(isNaN(q)){q=null}r=c.y;if(isNaN(r)){r=null}p={x:q,y:r,cx:c.cx,cy:c.cy}}else{if(a==="width"||a==="height"||a==="x"||a==="y"){p=parseFloat(c)}else{p=c}}}}g=Ext.Array.indexOf(n,m);if(g===-1){n.push([m,{}]);g=n.length-1}n[g][1][a]=p}}}k=n.length;for(e=0;e<k;e++){n[e][0].setAttributes(n[e][1])}this.target.redraw()}});Ext.define("Ext.fx.target.CompositeSprite",{extend:Ext.fx.target.Sprite,getAttr:function(a,h){var d=[],g=[].concat(this.target.items),c=g.length,b,e;for(b=0;b<c;b++){e=g[b];d.push([e,h!==undefined?h:this.getFromPrim(e,a)])}return d}});Ext.define("Ext.fx.target.Component",{extend:Ext.fx.target.Target,type:"component",getPropMethod:{top:function(){return this.getPosition(true)[1]},left:function(){return this.getPosition(true)[0]},x:function(){return this.getPosition()[0]},y:function(){return this.getPosition()[1]},height:function(){return this.getHeight()},width:function(){return this.getWidth()},opacity:function(){return this.el.getStyle("opacity")}},setMethods:{top:"setPosition",left:"setPosition",x:"setPagePosition",y:"setPagePosition",height:"setSize",width:"setSize",opacity:"setOpacity"},getAttr:function(a,b){return[[this.target,b!==undefined?b:this.getPropMethod[a].call(this.target)]]},setAttr:function(s,e,g){var n=this,m=s.length,b,a,r,d,k,t,l,u,v,c,q={},p;for(d=0;d<m;d++){b=s[d].attrs;for(a in b){t=b[a].length;for(k=0;k<t;k++){r=b[a][k];p=q[n.setMethods[a]]||(q[n.setMethods[a]]={});p.target=r[0];p[a]=r[1]}}if(q.setPosition){r=q.setPosition;l=(r.left===undefined)?undefined:parseFloat(r.left);u=(r.top===undefined)?undefined:parseFloat(r.top);r.target.setPosition(l,u)}if(q.setPagePosition){r=q.setPagePosition;r.target.setPagePosition(r.x,r.y)}if(q.setSize){r=q.setSize;v=(r.width===undefined)?r.target.getWidth():parseFloat(r.width);c=(r.height===undefined)?r.target.getHeight():parseFloat(r.height);r.target.el.setSize(v,c);if(g||n.dynamic){Ext.GlobalEvents.on({idle:Ext.Function.bind(r.target.setSize,r.target,[v,c]),single:true})}}if(q.setOpacity){r=q.setOpacity;r.target.el.setStyle("opacity",r.opacity)}}}});Ext.define("Ext.fx.Queue",{constructor:function(){this.targets=new Ext.util.HashMap();this.fxQueue={}},getFxDefaults:function(b){var a=this.targets.get(b);if(a){return a.fxDefaults}return{}},setFxDefaults:function(c,a){var b=this.targets.get(c);if(b){b.fxDefaults=Ext.apply(b.fxDefaults||{},a)}},stopAnimation:function(d){var b=this,c=b.getFxQueue(d),a=c.length;while(a){c[a-1].end();a--}},getActiveAnimation:function(b){var a=this.getFxQueue(b);return(a&&!!a.length)?a[0]:false},hasFxBlock:function(b){var a=this.getFxQueue(b);return a&&a[0]&&a[0].block},getFxQueue:function(d){if(!d){return false}var a=this,b=a.fxQueue[d],c=a.targets.get(d);if(!c){return false}if(!b){a.fxQueue[d]=[];if(c.type!=="element"){c.target.on("destroy",function(){a.fxQueue[d]=[]})}}return a.fxQueue[d]},queueFx:function(a){var c=this,e=a.target,d,b;if(!e){return}d=c.getFxQueue(e.getId());b=d.length;if(b){if(a.concurrent){a.paused=false}else{d[b-1].on("afteranimate",function(){a.paused=false})}}else{a.paused=false}a.on("afteranimate",function(){Ext.Array.remove(d,a);if(d.length===0){c.targets.remove(a.target)}if(a.remove){if(e.type==="element"){var g=Ext.get(e.id);if(g){g.destroy()}}}},c,{single:true});d.push(a)}});Ext.define("Ext.fx.Manager",{singleton:true,mixins:{queue:Ext.fx.Queue},constructor:function(){var a=this;a.items=new Ext.util.MixedCollection();a.targetArr={};a.mixins.queue.constructor.call(a);a.taskRunner=new Ext.util.TaskRunner()},interval:16,forceJS:true,createTarget:function(b){var a=this,d=!a.forceJS&&Ext.supports.Transitions,c;a.useCSS3=d;if(b){if(b.tagName||Ext.isString(b)||b.isFly){b=Ext.get(b);c=new Ext.fx.target["Element"+(d?"CSS":"")](b)}else{if(b.dom){c=new Ext.fx.target["Element"+(d?"CSS":"")](b)}else{if(b.isComposite){c=new Ext.fx.target["CompositeElement"+(d?"CSS":"")](b)}else{if(b.isSprite){c=new Ext.fx.target.Sprite(b)}else{if(b.isCompositeSprite){c=new Ext.fx.target.CompositeSprite(b)}else{if(b.isComponent){c=new Ext.fx.target.Component(b)}else{if(b.isAnimTarget){return b}else{return null}}}}}}}a.targets.add(c);return c}else{return null}},addAnim:function(a){var c=this,b=c.items,d=c.task;b.add(a.id,a);if(!d&&b.length){d=c.task={run:c.runner,interval:c.interval,scope:c};c.taskRunner.start(d)}},removeAnim:function(a){var c=this,b=c.items,d=c.task;b.removeAtKey(a.id);if(d&&!b.length){c.taskRunner.stop(d);delete c.task}},runner:function(){var e=this,c=e.items.getRange(),b=0,d=c.length,a;e.targetArr={};e.timestamp=new Date();for(;b<d;b++){a=c[b];if(a.isReady()){e.startAnim(a)}}for(b=0;b<d;b++){a=c[b];if(a.isRunning()){e.runAnim(a)}}e.applyPendingAttrs()},startAnim:function(a){a.start(this.timestamp)},runAnim:function(a,c){if(!a){return}var e=this,i=e.useCSS3&&a.target.type==="element",b=e.timestamp-a.startTime,d=(b>=a.duration),h,g;if(c){b=a.duration;d=true}h=this.collectTargetData(a,b,i,d);if(i){a.target.setAttr(h.anims[a.id].attributes,true);e.collectTargetData(a,a.duration,i,d);a.paused=true;h=a.target.target;if(a.target.isComposite){h=a.target.target.last()}g={};g[Ext.supports.CSS3TransitionEnd]=a.lastFrame;g.scope=a;g.single=true;h.on(g)}return h},jumpToEnd:function(a){var c=this,d,b;if(!c.targetArr){c.targetArr={};b=true}d=c.runAnim(a,true);c.applyAnimAttrs(d,d.anims[a.id]);if(b){c.targetArr=null}},collectTargetData:function(a,b,g,c){var e=a.target.getId(),d=this.targetArr[e];if(!d){d=this.targetArr[e]={id:e,el:a.target,anims:{}}}d.anims[a.id]={id:a.id,anim:a,elapsed:b,isLastFrame:c,attributes:[{duration:a.duration,easing:(g&&a.reverse)?a.easingFn.reverse().toCSS3():a.easing,attrs:a.runAnim(b)}]};return d},applyAnimAttrs:function(c,b){var a=b.anim;if(b.attributes&&a.isRunning()){c.el.setAttr(b.attributes,false,b.isLastFrame);if(b.isLastFrame){a.lastFrame()}}},applyPendingAttrs:function(){var e=this.targetArr,d,g,c,a,b;for(g in e){if(e.hasOwnProperty(g)){d=e[g];for(b in d.anims){if(d.anims.hasOwnProperty(b)){c=d.anims[b];a=c.anim;if(c.attributes&&a.isRunning()){d.el.setAttr(c.attributes,false,c.isLastFrame);if(c.isLastFrame){a.lastFrame()}}}}}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:Ext.util.Observable},isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(a){var b=this;a=Ext.apply(b,a||{});b.config=a;b.id=Ext.id(null,"ext-animator-");b.mixins.observable.constructor.call(b,a);b.timeline=[];b.createTimeline(b.keyframes);if(b.target){b.applyAnimator(b.target);Ext.fx.Manager.addAnim(b)}},sorter:function(c,d){return c.pct-d.pct},createTimeline:function(e){var h=this,b=[],m=h.to||{},c=h.duration,l,j,d,g,k,a;for(k in e){if(e.hasOwnProperty(k)&&h.animKeyFramesRE.test(k)){a={attrs:Ext.apply(e[k],m)};if(k==="from"){k=0}else{if(k==="to"){k=100}}a.pct=parseInt(k,10);b.push(a)}}Ext.Array.sort(b,h.sorter);g=b.length;for(d=0;d<g;d++){l=(b[d-1])?c*(b[d-1].pct/100):0;j=c*(b[d].pct/100);h.timeline.push({duration:j-l,attrs:b[d].attrs})}},applyAnimator:function(k){var j=this,b=[],l=j.timeline,h=l.length,a,e,d,c,g;if(j.fireEvent("beforeanimate",j)!==false){for(g=0;g<h;g++){a=l[g];c=a.attrs;e=c.easing||j.easing;d=c.damper||j.damper;delete c.easing;delete c.damper;a=new Ext.fx.Anim({target:k,easing:e,damper:d,duration:a.duration,paused:true,to:c});b.push(a)}j.animations=b;j.target=a.target;for(g=0;g<h-1;g++){a=b[g];a.nextAnim=b[g+1];a.on("afteranimate",function(){this.nextAnim.paused=false});a.on("afteranimate",function(){this.fireEvent("keyframe",this,++this.keyframeStep)},j)}b[h-1].on("afteranimate",function(){this.lastFrame()},j)}},start:function(e){var d=this,a=d.delay,c=d.delayStart,b;if(a){if(!c){d.delayStart=e;return}else{b=e-c;if(b<a){return}else{e=new Date(c.getTime()+a)}}}if(d.fireEvent("beforeanimate",d)!==false){d.startTime=e;d.running=true;d.animations[d.keyframeStep].paused=false}},lastFrame:function(){var c=this,a=c.iterations,b=c.currentIteration;b++;if(b<a){c.startTime=new Date();c.currentIteration=b;c.keyframeStep=0;c.applyAnimator(c.target);c.animations[c.keyframeStep].paused=false}else{c.currentIteration=0;c.end()}},end:function(){var a=this;a.fireEvent("afteranimate",a,a.startTime,new Date()-a.startTime)},isReady:function(){return this.paused===false&&this.running===false&&this.iterations>0},isRunning:function(){return false}});Ext.define("Ext.fx.CubicBezier",{singleton:true,cubicBezierAtTime:function(p,i,j,k,l,h){var e=3*i,c=3*(k-i)-e,a=1-e-c,g=3*j,d=3*(l-j)-g,b=1-g-d;function m(q){return((a*q+c)*q+e)*q}function n(s,q){var r=o(s,q);return((b*r+d)*r+g)*r}function o(w,r){var t,u,v,y,q,s;for(v=w,s=0;s<8;s++){y=m(v)-w;if(Math.abs(y)<r){return v}q=(3*a*v+2*c)*v+e;if(Math.abs(q)<1e-06){break}v=v-y/q}t=0;u=1;v=w;if(v<t){return t}if(v>u){return u}while(t<u){y=m(v);if(Math.abs(y-w)<r){return v}if(w>y){t=v}else{u=v}v=(u-t)/2+t}return v}return n(p,1/(200*h))},cubicBezier:function(b,d,c,e){var a=function(g){return Ext.fx.CubicBezier.cubicBezierAtTime(g,b,d,c,e,1)};a.toCSS3=function(){return"cubic-bezier("+[b,d,c,e].join(",")+")"};a.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-c,1-e,1-b,1-d)};return a}});Ext.define("Ext.fx.Easing",function(){var c=Math,d=c.PI,e=c.pow,g=c.sin,h=c.sqrt,a=c.abs,b=1.70158;return{singleton:true,linear:Ext.identityFn,ease:function(i){var j=0.07813000000000001-i/2,k=h(0.0066+j*j),m=k-j,o=e(a(m),1/3)*(m<0?-1:1),p=-k-j,r=e(a(p),1/3)*(p<0?-1:1),l=o+r+0.25;return e(1-l,2)*3*l*0.1+(1-l)*3*l*l+l*l*l},easeIn:function(i){return e(i,1.7)},easeOut:function(i){return e(i,0.48)},easeInOut:function(i){var j=0.48-i/1.04,k=h(0.1734+j*j),m=k-j,o=e(a(m),1/3)*(m<0?-1:1),p=-k-j,r=e(a(p),1/3)*(p<0?-1:1),l=o+r+0.5;return(1-l)*3*l*l+l*l*l},backIn:function(i){return i*i*((b+1)*i-b)},backOut:function(i){i=i-1;return i*i*((b+1)*i+b)+1},elasticIn:function(i){if(i===0||i===1){return i}var j=0.3,k=j/4;return e(2,-10*i)*g((i-k)*(2*d)/j)+1},elasticOut:function(i){return 1-Ext.fx.Easing.elasticIn(1-i)},bounceIn:function(i){return 1-Ext.fx.Easing.bounceOut(1-i)},bounceOut:function(j){var m=7.5625,k=2.75,i;if(j<(1/k)){i=m*j*j}else{if(j<(2/k)){j-=(1.5/k);i=m*j*j+0.75}else{if(j<(2.5/k)){j-=(2.25/k);i=m*j*j+0.9375}else{j-=(2.625/k);i=m*j*j+0.984375}}}return i}}},function(b){var a=b.self,c=a.prototype;a.addMembers({"back-in":c.backIn,"back-out":c.backOut,"ease-in":c.easeIn,"ease-out":c.easeOut,"elastic-in":c.elasticIn,"elastic-out":c.elasticOut,"bounce-in":c.bounceIn,"bounce-out":c.bounceOut,"ease-in-out":c.easeInOut})});Ext.define("Ext.fx.DrawPath",{singleton:true,pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,is:function(a,b){b=String(b).toLowerCase();return(b=="object"&&a===Object(a))||(b=="undefined"&&typeof a==b)||(b=="null"&&a===null)||(b=="array"&&Array.isArray&&Array.isArray(a))||(Object.prototype.toString.call(a).toLowerCase().slice(8,-1))==b},path2string:function(){return this.join(",").replace(Ext.fx.DrawPath.pathToStringRE,"$1")},pathToString:function(a){return a.join(",").replace(Ext.fx.DrawPath.pathToStringRE,"$1")},parsePathString:function(d){if(!d){return null}var c={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},a=[],b=this;if(b.is(d,"array")&&b.is(d[0],"array")){a=b.pathClone(d)}if(!a.length){String(d).replace(b.pathCommandRE,function(e,g,h){var j=[],i=g.toLowerCase();h.replace(b.pathValuesRE,function(k,l){if(l){j.push(+l)}});if(i=="m"&&j.length>2){a.push([g].concat(Ext.Array.splice(j,0,2)));i="l";g=(g=="m")?"l":"L"}while(j.length>=c[i]){a.push([g].concat(Ext.Array.splice(j,0,c[i])));if(!c[i]){break}}})}a.toString=b.path2string;return a},pathClone:function(e){var g=[],c,d,a,b;if(!this.is(e,"array")||!this.is(e&&e[0],"array")){e=this.parsePathString(e)}for(a=0,b=e.length;a<b;a++){g[a]=[];for(c=0,d=e[a].length;c<d;c++){g[a][c]=e[a][c]}}g.toString=this.path2string;return g},pathToAbsolute:function(h){if(!this.is(h,"array")||!this.is(h&&h[0],"array")){h=this.parsePathString(h)}var m=[],n=0,o=0,e=0,g=0,a=0,c=h.length,l,k,b,d;if(c&&h[0][0]=="M"){n=+h[0][1];o=+h[0][2];e=n;g=o;a++;m[0]=["M",n,o]}for(;a<c;a++){l=m[a]=[];k=h[a];if(k[0]!=k[0].toUpperCase()){l[0]=k[0].toUpperCase();switch(l[0]){case"A":l[1]=k[1];l[2]=k[2];l[3]=k[3];l[4]=k[4];l[5]=k[5];l[6]=+(k[6]+n);l[7]=+(k[7]+o);break;case"V":l[1]=+k[1]+o;break;case"H":l[1]=+k[1]+n;break;case"M":e=+k[1]+n;g=+k[2]+o;default:b=1;d=k.length;for(;b<d;b++){l[b]=+k[b]+((b%2)?n:o)}}}else{b=0;d=k.length;for(;b<d;b++){m[a][b]=k[b]}}switch(l[0]){case"Z":n=e;o=g;break;case"H":n=l[1];break;case"V":o=l[1];break;case"M":k=m[a];d=k.length;e=k[d-2];g=k[d-1];default:k=m[a];d=k.length;n=k[d-2];o=k[d-1]}}m.toString=this.path2string;return m},interpolatePaths:function(l,m){var h=this,j=h.pathToAbsolute(l),k=h.pathToAbsolute(m),a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},b={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},c=function(t,p){if(t[p].length>7){t[p].shift();var s=t[p];while(s.length){Ext.Array.splice(t,p++,0,["C"].concat(Ext.Array.splice(s,0,6)))}Ext.Array.erase(t,p,1);g=Math.max(j.length,k.length||0)}},d=function(u,v,p,s,t){if(u&&v&&u[t][0]=="M"&&v[t][0]!="M"){Ext.Array.splice(v,t,0,["M",s.x,s.y]);p.bx=0;p.by=0;p.x=u[t][1];p.y=u[t][2];g=Math.max(j.length,k.length||0)}},e,g,n,o,r,q;for(e=0,g=Math.max(j.length,k.length||0);e<g;e++){j[e]=h.command2curve(j[e],a);c(j,e);(k[e]=h.command2curve(k[e],b));c(k,e);d(j,k,a,b,e);d(k,j,b,a,e);n=j[e];o=k[e];r=n.length;q=o.length;a.x=n[r-2];a.y=n[r-1];a.bx=parseFloat(n[r-4])||a.x;a.by=parseFloat(n[r-3])||a.y;b.bx=(parseFloat(o[q-4])||b.x);b.by=(parseFloat(o[q-3])||b.y);b.x=o[q-2];b.y=o[q-1]}return[j,k]},command2curve:function(c,a){var b=this;if(!c){return["C",a.x,a.y,a.x,a.y,a.x,a.y]}if(c[0]!="T"&&c[0]!="Q"){a.qx=a.qy=null}switch(c[0]){case"M":a.X=c[1];a.Y=c[2];break;case"A":c=["C"].concat(b.arc2curve.apply(b,[a.x,a.y].concat(c.slice(1))));break;case"S":c=["C",a.x+(a.x-(a.bx||a.x)),a.y+(a.y-(a.by||a.y))].concat(c.slice(1));break;case"T":a.qx=a.x+(a.x-(a.qx||a.x));a.qy=a.y+(a.y-(a.qy||a.y));c=["C"].concat(b.quadratic2curve(a.x,a.y,a.qx,a.qy,c[1],c[2]));break;case"Q":a.qx=c[1];a.qy=c[2];c=["C"].concat(b.quadratic2curve(a.x,a.y,c[1],c[2],c[3],c[4]));break;case"L":c=["C"].concat(a.x,a.y,c[1],c[2],c[1],c[2]);break;case"H":c=["C"].concat(a.x,a.y,c[1],a.y,c[1],a.y);break;case"V":c=["C"].concat(a.x,a.y,a.x,c[1],a.x,c[1]);break;case"Z":c=["C"].concat(a.x,a.y,a.X,a.Y,a.X,a.Y);break}return c},quadratic2curve:function(e,h,c,d,g,i){var a=1/3,b=2/3;return[a*e+b*c,a*h+b*d,a*g+b*c,a*i+b*d,g,i]},rotate:function(d,g,b){var a=Math.cos(b),c=Math.sin(b),e=d*a-g*c,h=d*c+g*a;return{x:e,y:h}},arc2curve:function(Y,ad,P,R,b,u,V,Z,ae,N){var G=this,K=Math.PI,M=G.radian,a=K*120/180,L=M*(+b||0),O=[],E=Math,F=E.cos,H=E.sin,I=E.sqrt,C=E.abs,D=E.asin,ab,X,ac,o,Q,S,s,e,g,l,m,j,c,T,d,U,W,p,q,w,z,A,B,J,r,v,n,aa,af;if(!N){ab=G.rotate(Y,ad,-L);Y=ab.x;ad=ab.y;ab=G.rotate(Z,ae,-L);Z=ab.x;ae=ab.y;X=(Y-Z)/2;ac=(ad-ae)/2;o=(X*X)/(P*P)+(ac*ac)/(R*R);if(o>1){o=I(o);P=o*P;R=o*R}Q=P*P;S=R*R;s=(u==V?-1:1)*I(C((Q*S-Q*ac*ac-S*X*X)/(Q*ac*ac+S*X*X)));e=s*P*ac/R+(Y+Z)/2;g=s*-R*X/P+(ad+ae)/2;l=D(((ad-g)/R).toFixed(7));m=D(((ae-g)/R).toFixed(7));l=Y<e?K-l:l;m=Z<e?K-m:m;if(l<0){l=K*2+l}if(m<0){m=K*2+m}if(V&&l>m){l=l-K*2}if(!V&&m>l){m=m-K*2}}else{l=N[0];m=N[1];e=N[2];g=N[3]}j=m-l;if(C(j)>a){n=m;aa=Z;af=ae;m=l+a*(V&&m>l?1:-1);Z=e+P*F(m);ae=g+R*H(m);O=G.arc2curve(Z,ae,P,R,b,0,V,aa,af,[m,n,e,g])}j=m-l;c=F(l);T=H(l);d=F(m);U=H(m);W=E.tan(j/4);p=4/3*P*W;q=4/3*R*W;w=[Y,ad];z=[Y+p*T,ad-q*c];A=[Z+p*U,ae-q*d];B=[Z,ae];z[0]=2*w[0]-z[0];z[1]=2*w[1]-z[1];if(N){return[z,A,B].concat(O)}else{O=[z,A,B].concat(O).join().split(",");J=[];v=O.length;for(r=0;r<v;r++){J[r]=r%2?G.rotate(O[r-1],O[r],L).y:G.rotate(O[r],O[r+1],L).x}return J}}});Ext.define("Ext.fx.PropertyHandler",{statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(d,c,b,e,a){b=(typeof b=="number")?b:1;var i=this.unitRE,g=i.exec(d),h,j;if(g){d=g[1];j=g[2];if(!this.scrollRE.test(a)&&!j&&this.pixelDefaultsRE.test(a)){j="px"}}d=+d||0;g=i.exec(c);if(g){c=g[1];j=g[2]||j}c=+c||0;h=(e!=null)?e:d;return{from:d,delta:(c-h)*b,units:j}},get:function(d,c,b,h,a){var m=d.length,n=[],e,g,o,k,l;for(e=0;e<m;e++){if(h){g=h[e][1].from}if(Ext.isArray(d[e][1])&&Ext.isArray(c)){o=[];k=0;l=d[e][1].length;for(;k<l;k++){o.push(this.computeDelta(d[e][1][k],c[k],b,g,a))}n.push([d[e][0],o])}else{n.push([d[e][0],this.computeDelta(d[e][1],c,b,g,a)])}}return n},set:function(l,a){var e=l.length,g=[],b,k,h,d,c;for(b=0;b<e;b++){k=l[b][1];if(Ext.isArray(k)){h=[];c=0;d=k.length;for(;c<d;c++){h.push(k[c].from+k[c].delta*a+(k[c].units||0))}g.push([l[b][0],h])}else{g.push([l[b][0],k.from+k.delta*a+(k.units||0)])}}return g}},stringHandler:{computeDelta:function(d,c,b,e,a){return{from:d,delta:c}},get:function(d,c,b,h,a){var j=d.length,k=[],e,g;for(e=0;e<j;e++){k.push([d[e][0],this.computeDelta(d[e][1],c,b,g,a)])}return k},set:function(g,a){var c=g.length,d=[],b,e;for(b=0;b<c;b++){e=g[b][1];d.push([g[b][0],e.delta])}return d}},color:{rgbRE:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,hexRE:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,hex3RE:/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,parseColor:function(b,c){c=(typeof c=="number")?c:1;var h=false,k=[this.hexRE,this.rgbRE,this.hex3RE],e=k.length,g,a,j,d;for(d=0;d<e;d++){j=k[d];a=(d%2===0)?16:10;g=j.exec(b);if(g&&g.length===4){if(d===2){g[1]+=g[1];g[2]+=g[2];g[3]+=g[3]}h={red:parseInt(g[1],a),green:parseInt(g[2],a),blue:parseInt(g[3],a)};break}}return h||b},computeDelta:function(c,b,a,d){c=this.parseColor(c);b=this.parseColor(b,a);var e=d?d:c,h=typeof e,g=typeof b;if(h==="string"||h==="undefined"||g==="string"||g==="undefined"){return b||e}return{from:c,delta:{red:Math.round((b.red-e.red)*a),green:Math.round((b.green-e.green)*a),blue:Math.round((b.blue-e.blue)*a)}}},get:function(j,b,a,e){var g=j.length,h=[],c,d;for(c=0;c<g;c++){if(e){d=e[c][1].from}h.push([j[c][0],this.computeDelta(j[c][1],b,a,d)])}return h},set:function(k,b){var e=k.length,g=[],d,j,h,c,a;for(d=0;d<e;d++){j=k[d][1];if(j){c=j.from;a=j.delta;j=(typeof j==="object"&&"red" in j)?"rgb("+j.red+", "+j.green+", "+j.blue+")":j;j=(typeof j==="object"&&j.length)?j[0]:j;if(typeof j==="undefined"){return[]}h=typeof j==="string"?j:"rgb("+[(c.red+Math.round(a.red*b))%256,(c.green+Math.round(a.green*b))%256,(c.blue+Math.round(a.blue*b))%256].join(",")+")";g.push([k[d][0],h])}}return g}},object:{interpolate:function(d,a){a=(typeof a==="number")?a:1;var b={},c;for(c in d){b[c]=parseFloat(d[c])*a}return b},computeDelta:function(d,c,a,e){d=this.interpolate(d);c=this.interpolate(c,a);var h=e?e:d,b={},g;for(g in c){b[g]=c[g]-h[g]}return{from:d,delta:b}},get:function(j,b,a,e){var g=j.length,h=[],c,d;for(c=0;c<g;c++){if(e){d=e[c][1].from}h.push([j[c][0],this.computeDelta(j[c][1],b,a,d)])}return h},set:function(l,b){var e=l.length,g=[],h={},d,c,a,k,j;for(d=0;d<e;d++){k=l[d][1];c=k.from;a=k.delta;for(j in c){h[j]=c[j]+a[j]*b}g.push([l[d][0],h])}return g}},path:{computeDelta:function(c,b,a,d){a=(typeof a==="number")?a:1;var e;c=+c||0;b=+b||0;e=(d!=null)?d:c;return{from:c,delta:(b-e)*a}},forcePath:function(a){if(!Ext.isArray(a)&&!Ext.isArray(a[0])){a=Ext.fx.DrawPath.parsePathString(a)}return a},get:function(q,c,a,h){var d=this.forcePath(c),n=[],r=q.length,t,p,e,b,g,l,m,o,s;for(e=0;e<r;e++){s=this.forcePath(q[e][1]);b=Ext.fx.DrawPath.interpolatePaths(s,d);s=b[0];d=b[1];t=s.length;o=[];for(l=0;l<t;l++){b=[s[l][0]];p=s[l].length;for(m=1;m<p;m++){g=h&&h[0][1][l][m].from;b.push(this.computeDelta(s[l][m],d[l][m],a,g))}o.push(b)}n.push([q[e][0],o])}return n},set:function(p,d){var l=p.length,n=[],e,g,h,m,a,b,c,o;for(e=0;e<l;e++){b=p[e][1];m=[];c=b.length;for(g=0;g<c;g++){a=[b[g][0]];o=b[g].length;for(h=1;h<o;h++){a.push(b[g][h].from+b[g][h].delta*d)}m.push(a.join(","))}n.push([p[e][0],m.join(",")])}return n}}}},function(){var d=["outlineColor","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","fill","stroke"],b=d.length,a=0,c;for(;a<b;a++){c=d[a];this[c]=this.color}d=["cursor"];b=d.length;a=0;for(;a<b;a++){c=d[a];this[c]=this.stringHandler}});Ext.define("Ext.fx.Anim",{mixins:{observable:Ext.util.Observable},isAnimation:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",damper:1,bezierRE:/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,reverse:false,running:false,paused:false,iterations:1,autoEnd:false,alternate:false,currentIteration:0,startTime:0,frameCount:0,constructor:function(a){var c=this,b;a=a||{};if(a.keyframes){return new Ext.fx.Animator(a)}Ext.apply(c,a);if(c.from===undefined){c.from={}}c.propHandlers={};c.config=a;c.target=Ext.fx.Manager.createTarget(c.target);c.easingFn=Ext.fx.Easing[c.easing];c.target.dynamic=c.dynamic;if(!c.easingFn){c.easingFn=String(c.easing).match(c.bezierRE);if(c.easingFn&&c.easingFn.length===5){b=c.easingFn;c.easingFn=Ext.fx.CubicBezier.cubicBezier(+b[1],+b[2],+b[3],+b[4])}}c.id=Ext.id(null,"ext-anim-");c.mixins.observable.constructor.call(c);Ext.fx.Manager.addAnim(c);if(a.autoEnd){c.running=true;c.jumpToEnd()}},setAttr:function(a,b){return Ext.fx.Manager.items.get(this.id).setAttr(this.target,a,b)},initAttrs:function(){var e=this,c=e.from,j=e.to,d=e.initialFrom||{},g={},i,b,h,a;for(a in j){if(j.hasOwnProperty(a)){i=e.target.getAttr(a,c[a]);b=j[a];if(!Ext.fx.PropertyHandler[a]){if(Ext.isObject(b)){h=e.propHandlers[a]=Ext.fx.PropertyHandler.object}else{h=e.propHandlers[a]=Ext.fx.PropertyHandler.defaultHandler}}else{h=e.propHandlers[a]=Ext.fx.PropertyHandler[a]}g[a]=h.get(i,b,e.damper,d[a],a)}}e.currentAttrs=g},start:function(e){var d=this,a=d.delay,c=d.delayStart,b;if(a){if(!c){d.delayStart=e;return}else{b=e-c;if(b<a){return}else{e=new Date(c.getTime()+a)}}}if(d.fireEvent("beforeanimate",d)!==false){d.startTime=e;if(!d.paused&&!d.currentAttrs){d.initAttrs()}d.running=true;d.frameCount=0}},jumpToEnd:function(){var a=this;if(!a.endWasCalled){if(!a.currentAttrs){a.initAttrs()}Ext.fx.Manager.jumpToEnd(a);a.end()}},runAnim:function(g){var i=this,b=i.currentAttrs,c=i.duration,e=i.easingFn,j=i.propHandlers,k={},d,l,a,h;if(g>=c){g=c;h=true}if(i.reverse){g=c-g}for(a in b){if(b.hasOwnProperty(a)){l=b[a];d=h?1:e(g/c);k[a]=j[a].set(l,d)}}i.frameCount++;return k},lastFrame:function(){var c=this,a=c.iterations,b=c.currentIteration;b++;if(b<a){if(c.alternate){c.reverse=!c.reverse}c.startTime=new Date();c.currentIteration=b;c.paused=false}else{c.currentIteration=0;c.end();c.fireEvent("lastframe",c,c.startTime)}},endWasCalled:0,end:function(){var a=this;if(a.endWasCalled++){return}a.startTime=0;a.paused=false;a.running=false;Ext.fx.Manager.removeAnim(a);a.fireEvent("afteranimate",a,a.startTime);Ext.callback(a.callback,a.scope,[a,a.startTime]);if(a.remove){a.target.destroy()}},isReady:function(){return this.paused===false&&this.running===false&&this.iterations>0},isRunning:function(){return this.paused===false&&this.running===true&&this.isAnimator!==true}});Ext.enableFx=true;Ext.define("Ext.util.Animate",{mixinId:"animate",isAnimate:true,animate:function(a){var b=this;if(Ext.fx.Manager.hasFxBlock(b.id)){return b}Ext.fx.Manager.queueFx(new Ext.fx.Anim(b.anim(a)));return this},anim:function(a){if(!Ext.isObject(a)){return(a)?{}:false}var b=this;if(a.stopAnimation){b.stopAnimation()}Ext.applyIf(a,Ext.fx.Manager.getFxDefaults(b.id));return Ext.apply({target:b,paused:true},a)},getAnimationProps:function(){var b=this,a=b.layout;return a&&a.animate?a.animate:{}},stopFx:Ext.Function.alias(Ext.util.Animate,"stopAnimation"),stopAnimation:function(){Ext.fx.Manager.stopAnimation(this.id);return this},syncFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:true});return this},sequenceFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:false});return this},hasActiveFx:Ext.Function.alias(Ext.util.Animate,"getActiveAnimation"),getActiveAnimation:function(){return Ext.fx.Manager.getActiveAnimation(this.id)}});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(a){var b=this;if(!a){return b.detach()}b.dom=a;if(!Ext.cache[a.id]){b.getData().isSynchronized=false}return b},detach:function(){this.dom=null},addListener:function(){Ext.Error.raise("Cannot use addListener() on Ext.dom.Fly instances. Please use Ext.get() to retrieve an Ext.dom.Element instance instead.")}||null,removeListener:function(){Ext.Error.raise("Cannot use removeListener() on Ext.dom.Fly instances. Please use Ext.get() to retrieve an Ext.dom.Element instance instead.")}||null},function(a){var b={};a.cache=b;Ext.fly=function(d,h){var e=null,g=Ext.fly,i,c;h=h||(g.caller&&g.caller.$name)||"_global";d=Ext.getDom(d);if(d){i=d.nodeType;if(a.prototype.validNodeTypes[i]||(!i&&(d.window==d))){e=Ext.cache[d.id];if(!e||e.dom!==d){e=b[h]||(b[h]=new a());e.dom=d;c=e.getData(true);if(c){c.isSynchronized=false}}}}return e}});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(d,c){if(typeof c==="function"&&!b[d]){b[d]=function(){return this.invoke(d,arguments)}}})}},constructor:function(a,b){if(b){this.elements=a||[]}else{this.elements=[];this.add(a)}},getElement:function(a){var b=this._fly||(this._fly=new Ext.dom.Fly());return b.attach(a)},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(b,e){var a=this.elements,c,d;if(!b){return this}if(typeof b=="string"){b=Ext.fly(e||document).query(b)}else{if(b.isComposite){b=b.elements}else{if(!Ext.isIterable(b)){b=[b]}}}for(c=0,d=b.length;c<d;++c){a.push(this.transformElement(b[c]))}return this},invoke:function(d,a){var h=this,c=h.elements,g=c.length,j,b,e;if(e!==0){j=(h.isLite?Ext.dom.Fly:Ext.dom.Element).prototype;for(e=0;e<g;e++){b=c[e];if(b){j[d].apply(h.getElement(b),a)}}}return h},item:function(b){var a=this.elements[b],c=null;if(a){c=this.getElement(a)}return c},slice:function(b,a){return Ext.Array.slice(this.elements,b,a)},each:function(c,j){var h=this,b=h.elements,g=b.length,d,a;for(d=0;d<g;d++){a=b[d];if(a){a=this.getElement(a);if(c.call(j||a,a,h,d)===false){break}}}return h},fill:function(a){var b=this;b.elements=[];b.add(a);return b},insert:function(a,b){Ext.Array.insert(this.elements,a,b)},filter:function(k){var h=this,c=h.elements,g=c.length,j=[],d=0,e=typeof k=="function",a,b;for(;d<g;d++){b=c[d];a=false;if(b){b=h.getElement(b);if(e){a=k.call(b,b,h,d)!==false}else{a=b.is(k)}if(a){j.push(h.transformElement(b))}}}h.elements=j;return h},indexOf:function(a){return Ext.Array.indexOf(this.elements,this.transformElement(a))},replaceElement:function(c,g,b){var e=!isNaN(c)?c:this.indexOf(c),a;if(e>-1){g=Ext.getDom(g);if(b){a=this.elements[e];a.parentNode.insertBefore(g,a);Ext.removeNode(a)}Ext.Array.splice(this.elements,e,1,g)}return this},clear:function(d){var c=this,a=c.elements,b=a.length-1;if(d){for(;b>=0;b--){Ext.removeNode(a[b])}}this.elements=[]},addElements:function(c,d){if(!c){return this}if(typeof c==="string"){c=Ext.dom.Element.selectorFunction(c,d)}var g=this.elements,b=c.length,a;for(a=0;a<b;a++){g.push(Ext.get(c[a]))}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(d,h){d=[].concat(d);var g=this,b=g.elements,e=d.length,i,a,c;for(c=0;c<e;c++){i=d[c];if((a=(b[i]||b[i=g.indexOf(i)]))){if(h){if(a.dom){a.destroy()}else{Ext.removeNode(a)}}Ext.Array.erase(b,i,1)}}return g},destroy:function(){return this.invoke("destroy",arguments)}},function(a){var b=a.prototype;a.importElementMethods();b.on=b.addListener});Ext.define("Ext.overrides.dom.Element",(function(){var j,N=window,i=document,q="hidden",s="isClipped",B="overflow",C="overflow-x",D="overflow-y",z="originalClip",p="height",M="width",K="visibility",h="display",v="none",y="offsets",A="originalDisplay",L="visibilityMode",t="isVisible",x=Ext.baseCSSPrefix+"hidden-offsets",b=['<div class="{0}-tl" role="presentation">','<div class="{0}-tr" role="presentation">','<div class="{0}-tc" role="presentation"></div>',"</div>","</div>",'<div class="{0}-ml" role="presentation">','<div class="{0}-mr" role="presentation">','<div class="{0}-mc" role="presentation"></div>',"</div>","</div>",'<div class="{0}-bl" role="presentation">','<div class="{0}-br" role="presentation">','<div class="{0}-bc" role="presentation"></div>',"</div>","</div>"].join(""),H=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,G=/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,I=/\ssrc=([\'\"])(.*?)\1/i,w=/\S/,J=/\stype=([\'\"])(.*?)\1/i,u=/^-ms-/,c=/(-[a-z])/gi,d=function(R,Q){return Q.charAt(1).toUpperCase()},O=Ext.baseCSSPrefix+"masked",P=Ext.baseCSSPrefix+"masked-relative",l=Ext.baseCSSPrefix+"mask-msg",a=/^body/i,E={},n=function(S){var Q=S.getData(),R=Q[A];if(R===undefined){Q[A]=R=""}return R},o=function(R){var Q=R.getData(),S=Q[L];if(S===undefined){Q[L]=S=j.VISIBILITY}return S},k=i.createRange?i.createRange():null,r={INPUT:true,TEXTAREA:true};if(Ext.isIE8){var F=Ext.removeNode,m=i.createElement("div"),g=[],e=Ext.Function.createBuffered(function(){var R=g.length,Q;for(Q=0;Q<R;Q++){m.appendChild(g[Q])}m.innerHTML="";g.length=0},10);Ext.removeNode=function(Q){Q=Q.dom||Q;F(Q);g[g.length]=Q;e()}}return{override:"Ext.dom.Element",mixins:[Ext.util.Animate],skipGarbageCollection:false,_init:function(Q){j=Q},statics:{selectableCls:Ext.baseCSSPrefix+"selectable",unselectableCls:Ext.baseCSSPrefix+"unselectable",tabIndexAttributeName:Ext.isIE8?"tabIndex":"tabindex",tabbableSelector:'a[href],button,iframe,input,select,textarea,[tabindex],[contenteditable="true"]',naturallyFocusableTags:{BUTTON:true,IFRAME:true,EMBED:true,INPUT:true,OBJECT:true,SELECT:true,TEXTAREA:true,HTML:Ext.isIE?true:false},naturallyTabbableTags:{BUTTON:true,IFRAME:true,INPUT:true,SELECT:true,TEXTAREA:true,OBJECT:Ext.isIE8m?true:false},tabbableSavedFlagAttribute:"data-tabindexsaved",tabbableSavedAttribute:"data-savedtabindex",normalize:function(Q){if(Q==="float"){Q=Ext.supports.Float?"cssFloat":"styleFloat"}return E[Q]||(E[Q]=Q.replace(u,"ms-").replace(c,d))},getViewportHeight:function(){return Ext.isIE9m?i.documentElement.clientHeight:N.innerHeight},getViewportWidth:function(){return(!Ext.isStrict&&!Ext.isOpera)?document.body.clientWidth:Ext.isIE9m?i.documentElement.clientWidth:N.innerWidth}},addClsOnClick:function(Q,V,U){var T=this,R=T.dom,S=Ext.isFunction(V);T.on("mousedown",function(){if(S&&V.call(U||T,T)===false){return false}Ext.fly(R).addCls(Q);var W=Ext.getDoc(),X=function(){Ext.fly(R).removeCls(Q);W.removeListener("mouseup",X)};W.on("mouseup",X)});return T},addClsOnFocus:function(Q,V,U){var T=this,R=T.dom,S=Ext.isFunction(V);T.on("focus",function(){if(S&&V.call(U||T,T)===false){return false}Ext.fly(R).addCls(Q)});T.on("blur",function(){Ext.fly(R).removeCls(Q)});return T},addClsOnOver:function(Q,V,U){var T=this,R=T.dom,S=Ext.isFunction(V);T.hover(function(){if(S&&V.call(U||T,T)===false){return}Ext.fly(R).addCls(Q)},function(){Ext.fly(R).removeCls(Q)});return T},addKeyListener:function(S,R,T){var Q;if(typeof S!=="object"||Ext.isArray(S)){Q={target:this,key:S,fn:R,scope:T}}else{Q={target:this,key:S.key,shift:S.shift,ctrl:S.ctrl,alt:S.alt,fn:R,scope:T}}return new Ext.util.KeyMap(Q)},addKeyMap:function(Q){return new Ext.util.KeyMap(Ext.apply({target:this},Q))},afterAnimate:function(){var Q=this.shadow;if(Q&&!Q.disabled&&!Q.animate){Q.show()}},anchorAnimX:function(Q){var R=(Q==="l")?"right":"left";this.dom.style[R]="0px"},anim:function(R){if(!Ext.isObject(R)){return(R)?{}:false}var U=this,S=R.duration||Ext.fx.Anim.prototype.duration,T=R.easing||"ease",Q;if(R.stopAnimation){U.stopAnimation()}Ext.applyIf(R,Ext.fx.Manager.getFxDefaults(U.id));Ext.fx.Manager.setFxDefaults(U.id,{delay:0});Q={target:U.dom,remove:R.remove,alternate:R.alternate||false,duration:S,easing:T,callback:R.callback,listeners:R.listeners,iterations:R.iterations||1,scope:R.scope,block:R.block,concurrent:R.concurrent,delay:R.delay||0,paused:true,keyframes:R.keyframes,from:R.from||{},to:Ext.apply({},R)};Ext.apply(Q.to,R.to);delete Q.to.to;delete Q.to.from;delete Q.to.remove;delete Q.to.alternate;delete Q.to.keyframes;delete Q.to.iterations;delete Q.to.listeners;delete Q.to.target;delete Q.to.paused;delete Q.to.callback;delete Q.to.scope;delete Q.to.duration;delete Q.to.easing;delete Q.to.concurrent;delete Q.to.block;delete Q.to.stopAnimation;delete Q.to.delay;return Q},animate:function(S){var V=this,R=V.dom.id||Ext.id(V.dom),U,Q,T;if(!Ext.fx.Manager.hasFxBlock(R)){if(S.listeners){U=S.listeners;delete S.listeners}if(S.internalListeners){S.listeners=S.internalListeners;delete S.internalListeners}T=S.autoEnd;delete S.autoEnd;Q=new Ext.fx.Anim(V.anim(S));Q.on({afteranimate:"afterAnimate",beforeanimate:"beforeAnimate",scope:V,single:true});if(U){Q.on(U)}Ext.fx.Manager.queueFx(Q);if(T){Q.jumpToEnd()}}return V},beforeAnimate:function(){var Q=this.shadow;if(Q&&!Q.disabled&&!Q.animate){Q.hide()}},boxWrap:function(Q){Q=Q||Ext.baseCSSPrefix+"box";var R=Ext.get(this.insertHtml("beforeBegin","<div class='"+Q+"' role='presentation'>"+Ext.String.format(b,Q)+"</div>"));R.selectNode("."+Q+"-mc").appendChild(this.dom);return R},clean:function(S){var T=this,R=T.dom,Q=T.getData(),U=R.firstChild,V=-1,W;if(Q.isCleaned&&S!==true){return T}while(U){W=U.nextSibling;if(U.nodeType===3){if(!(w.test(U.nodeValue))){R.removeChild(U)}else{if(W&&W.nodeType===3){U.appendData(Ext.String.trim(W.data));R.removeChild(W);W=U.nextSibling;U.nodeIndex=++V}}}else{Ext.fly(U,"_clean").clean();U.nodeIndex=++V}U=W}Q.isCleaned=true;return T},empty:k?function(){var Q=this.dom;if(Q.firstChild){k.setStartBefore(Q.firstChild);k.setEndAfter(Q.lastChild);k.deleteContents()}}:function(){var Q=this.dom;while(Q.lastChild){Q.removeChild(Q.lastChild)}},clearListeners:function(){this.removeAnchor();this.callParent()},clearPositioning:function(Q){Q=Q||"";return this.setStyle({left:Q,right:Q,top:Q,bottom:Q,"z-index":"",position:"static"})},createProxy:function(Q,U,R){Q=(typeof Q==="object")?Q:{tag:"div",role:"presentation",cls:Q};var S=this,T=U?Ext.DomHelper.append(U,Q,true):Ext.DomHelper.insertBefore(S.dom,Q,true);T.setVisibilityMode(j.DISPLAY);T.hide();if(R&&S.setBox&&S.getBox){T.setBox(S.getBox())}return T},clearOpacity:function(){return this.setOpacity("")},clip:function(){var R=this,Q=R.getData(),S;if(!Q[s]){Q[s]=true;S=R.getStyle([B,C,D]);Q[z]={o:S[B],x:S[C],y:S[D]};R.setStyle(B,q);R.setStyle(C,q);R.setStyle(D,q)}return R},destroy:function(){var U=this,R=U.dom,Q=U.getData(),S,T;if(R&&U.isAnimate){U.stopAnimation()}U.callParent();if(R&&Ext.isIE8&&(R.window!=R)&&(R.nodeType!==9)&&(R.tagName!=="BODY")&&(R.tagName!=="HTML")){g[g.length]=R;e()}if(Q){S=Q.maskEl;T=Q.maskMsg;if(S){S.destroy()}if(T){T.destroy()}}},enableDisplayMode:function(Q){var R=this;R.setVisibilityMode(j.DISPLAY);if(Q!==undefined){R.getData()[A]=Q}return R},fadeIn:function(S){var R=this,Q=R.dom;R.animate(Ext.apply({},S,{opacity:1,internalListeners:{beforeanimate:function(T){var U=Ext.fly(Q,"_anim");if(U.isStyle("display","none")){U.setDisplayed("")}else{U.show()}}}}));return this},fadeOut:function(S){var R=this,Q=R.dom;S=Ext.apply({opacity:0,internalListeners:{afteranimate:function(T){if(Q&&T.to.opacity===0){var U=Ext.fly(Q,"_anim");if(S.useDisplay){U.setDisplayed(false)}else{U.hide()}}}}},S);R.animate(S);return R},fixDisplay:function(){var Q=this;if(Q.isStyle(h,v)){Q.setStyle(K,q);Q.setStyle(h,n(Q));if(Q.isStyle(h,v)){Q.setStyle(h,"block")}}},frame:function(R,S,V){var U=this,T=U.dom,Q;R=R||"#C3DAF9";S=S||1;V=V||{};Q=function(){var Y=Ext.fly(T,"_anim"),W=this,X,Z,aa;Y.show();X=Y.getBox();Z=Ext.getBody().createChild({role:"presentation",id:Y.dom.id+"-anim-proxy",style:{position:"absolute","pointer-events":"none","z-index":35000,border:"0px solid "+R}});aa=new Ext.fx.Anim({target:Z,duration:V.duration||1000,iterations:S,from:{top:X.y,left:X.x,borderWidth:0,opacity:1,height:X.height,width:X.width},to:{top:X.y-20,left:X.x-20,borderWidth:10,opacity:0,height:X.height+40,width:X.width+40}});aa.on("afteranimate",function(){Z.destroy();W.end()})};U.animate({duration:(Math.max(V.duration,500)*2)||2000,listeners:{beforeanimate:{fn:Q}},callback:V.callback,scope:V.scope});return U},getColor:function(Q,S,W){var X=this.getStyle(Q),R=W||W===""?W:"#",T,V,U=0;if(!X||(/transparent|inherit/.test(X))){return S}if(/^r/.test(X)){X=X.slice(4,X.length-1).split(",");V=X.length;for(;U<V;U++){T=parseInt(X[U],10);R+=(T<16?"0":"")+T.toString(16)}}else{X=X.replace("#","");R+=X.length===3?X.replace(/^(\w)(\w)(\w)$/,"$1$1$2$2$3$3"):X}return(R.length>5?R.toLowerCase():S)},getLoader:function(){var S=this,Q=S.getData(),R=Q.loader;if(!R){Q.loader=R=new Ext.ElementLoader({target:S})}return R},getPositioning:function(Q){var S=this.getStyle(["left","top","position","z-index"]),R=this.dom;if(Q){if(S.left==="auto"){S.left=R.offsetLeft+"px"}if(S.top==="auto"){S.top=R.offsetTop+"px"}}return S},ghost:function(Q,U){var T=this,S=T.dom,R;Q=Q||"b";R=function(){var V=Ext.fly(S,"_anim"),Z=V.getWidth(),W=V.getHeight(),aa=V.getXY(),X=V.getPositioning(),Y={opacity:0};switch(Q){case"t":Y.y=aa[1]-W;break;case"l":Y.x=aa[0]-Z;break;case"r":Y.x=aa[0]+Z;break;case"b":Y.y=aa[1]+W;break;case"tl":Y.x=aa[0]-Z;Y.y=aa[1]-W;break;case"bl":Y.x=aa[0]-Z;Y.y=aa[1]+W;break;case"br":Y.x=aa[0]+Z;Y.y=aa[1]+W;break;case"tr":Y.x=aa[0]+Z;Y.y=aa[1]-W;break}this.to=Y;this.on("afteranimate",function(){var ab=Ext.fly(S,"_anim");if(ab){ab.hide();ab.clearOpacity();ab.setPositioning(X)}})};T.animate(Ext.applyIf(U||{},{duration:500,easing:"ease-out",listeners:{beforeanimate:R}}));return T},hide:function(Q){if(typeof Q==="string"){this.setVisible(false,Q);return this}this.setVisible(false,this.anim(Q));return this},highlight:function(R,Y){var X=this,S=X.dom,V={},Z,aa,Q,W,T,U;Y=Y||{};W=Y.listeners||{};Q=Y.attr||"backgroundColor";V[Q]=R||"ffff9c";if(!Y.to){aa={};aa[Q]=Y.endColor||X.getColor(Q,"ffffff","")}else{aa=Y.to}Y.listeners=Ext.apply(Ext.apply({},W),{beforeanimate:function(){Z=S.style[Q];var ab=Ext.fly(S,"_anim");ab.clearOpacity();ab.show();T=W.beforeanimate;if(T){U=T.fn||T;return U.apply(T.scope||W.scope||N,arguments)}},afteranimate:function(){if(S){S.style[Q]=Z}T=W.afteranimate;if(T){U=T.fn||T;U.apply(T.scope||W.scope||N,arguments)}}});X.animate(Ext.apply({},Y,{duration:1000,easing:"ease-in",from:V,to:aa}));return X},hover:function(T,S,U,R){var Q=this;Q.on("mouseenter",T,U||Q.dom,R);Q.on("mouseleave",S,U||Q.dom,R);return Q},initDD:function(S,Q,T){var R=new Ext.dd.DD(Ext.id(this.dom),S,Q);return Ext.apply(R,T)},initDDProxy:function(S,Q,T){var R=new Ext.dd.DDProxy(Ext.id(this.dom),S,Q);return Ext.apply(R,T)},initDDTarget:function(S,Q,T){var R=new Ext.dd.DDTarget(Ext.id(this.dom),S,Q);return Ext.apply(R,T)},isFocusable:function(){var Q=this.dom,R=false,S;if(Q&&!Q.disabled){S=Q.nodeName;R=!!Ext.Element.naturallyFocusableTags[S]||((S==="A"||S==="LINK")&&!!Q.href)||Q.getAttribute("tabindex")!=null||Q.contentEditable==="true";if(Ext.isIE8&&S==="INPUT"&&Q.type==="hidden"){R=false}R=R&&this.isVisible(true)}return R},isInputField:function(){var R=this.dom,Q=R.contentEditable;if((r[R.tagName]&&R.type!=="button")||(Q===""||Q==="true")){return true}return false},isTabbable:function(){var Q=this.dom,T=false,S,R,U;if(Q&&!Q.disabled){S=Q.nodeName;U=Q.getAttribute("tabindex");R=U!=null;U-=0;if(S==="A"||S==="LINK"){if(Q.href){T=R&&U<0?false:true}else{if(Q.contentEditable==="true"){T=!R||(R&&U>=0)?true:false}else{T=R&&U>=0?true:false}}}else{if(Q.contentEditable==="true"||Ext.Element.naturallyTabbableTags[S]){T=R&&U<0?false:true}else{if(R&&U>=0){T=true}}}if(Ext.isIE8&&S==="INPUT"&&Q.type==="hidden"){T=false}T=T&&(!this.component||this.component.isVisible(true))&&this.isVisible(true)}return T},isMasked:function(R){var V=this,Q=V.getData(),T=Q.maskEl,U=Q.maskMsg,S=false,W;if(T&&T.isVisible()){if(U){U.center(V)}S=true}else{if(R){W=V.findParentNode();if(W){return Ext.fly(W).isMasked(R)}}}return S},isScrollable:function(){var Q=this.dom;return Q.scrollHeight>Q.clientHeight||Q.scrollWidth>Q.clientWidth},load:function(Q){this.getLoader().load(Q);return this},mask:function(W,X,S){var V=this,R=V.dom,Q=V.getData(),T=Q.maskEl,U;if(!(a.test(R.tagName)&&V.getStyle("position")==="static")){V.addCls(P)}if(T){T.destroy()}T=Ext.DomHelper.append(R,{role:"presentation",cls:Ext.baseCSSPrefix+"mask "+Ext.baseCSSPrefix+"border-box",children:{role:"presentation",cls:X?l+" "+X:l,cn:{tag:"div",role:"presentation",cls:Ext.baseCSSPrefix+"mask-msg-inner",cn:{tag:"div",role:"presentation",cls:Ext.baseCSSPrefix+"mask-msg-text",html:W||""}}}},true);U=Ext.get(T.dom.firstChild);Q.maskEl=T;V.addCls(O);T.setDisplayed(true);if(typeof W==="string"){U.setDisplayed(true);U.center(V)}else{U.setDisplayed(false)}if(R===i.body){T.addCls(Ext.baseCSSPrefix+"mask-fixed")}else{V.saveTabbableState()}V.saveChildrenTabbableState();if(Ext.isIE9m&&R!==i.body&&V.isStyle("height","auto")){T.setSize(undefined,S||V.getHeight())}return T},monitorMouseLeave:function(Q,R,U){var T=this,V,S={mouseleave:function(W){if(Ext.isIE9m){W.enableIEAsync()}V=Ext.defer(R,Q,U||T,[W])},mouseenter:function(){clearTimeout(V)}};T.on(S);return S},puff:function(U){var T=this,S=T.dom,Q,R=T.getBox(),V=T.getStyle(["width","height","left","right","top","bottom","position","z-index","font-size","opacity"],true);U=Ext.applyIf(U||{},{easing:"ease-out",duration:500,useDisplay:false});Q=function(){var W=Ext.fly(S,"_anim");W.clearOpacity();W.show();this.to={width:R.width*2,height:R.height*2,x:R.x-(R.width/2),y:R.y-(R.height/2),opacity:0,fontSize:"200%"};this.on("afteranimate",function(){var X=Ext.fly(S,"_anim");if(X){if(U.useDisplay){X.setDisplayed(false)}else{X.hide()}X.setStyle(V);Ext.callback(U.callback,U.scope)}})};T.animate({duration:U.duration,easing:U.easing,listeners:{beforeanimate:{fn:Q}}});return T},selectable:function(){var Q=this;Q.dom.unselectable="";Q.removeCls(j.unselectableCls);Q.addCls(j.selectableCls);return Q},setCapture:function(){var Q=this.dom;if(Ext.isIE9m&&Q.setCapture){Q.setCapture()}},setDisplayed:function(R){var Q=this;if(typeof R==="boolean"){R=R?n(Q):v}Q.setStyle(h,R);if(Q.shadow||Q.shim){Q.setUnderlaysVisible(R!==v)}return Q},setHeight:function(R,Q){var S=this;if(!Q||!S.anim){S.callParent(arguments)}else{if(!Ext.isObject(Q)){Q={}}S.animate(Ext.applyIf({to:{height:R}},Q))}return S},setHorizontal:function(){var R=this,Q=R.verticalCls;delete R.vertical;if(Q){delete R.verticalCls;R.removeCls(Q)}delete R.setWidth;delete R.setHeight;if(!Ext.isIE8){delete R.getWidth;delete R.getHeight}delete R.styleHooks},updateText:function(S){var R=this,Q,T;if(Q){T=Q.firstChild;if(!T||(T.nodeType!==3||T.nextSibling)){T=i.createTextNode();R.empty();Q.appendChild(T)}if(S){T.data=S}}},setHtml:function(S,V,Q,X){var W=this,T,R,U;if(!W.dom){return W}S=S||"";R=W.dom;if(V!==true){R.innerHTML=S;Ext.callback(Q,W);return W}T=Ext.id();S+='<span id="'+T+'" role="presentation"></span>';U=Ext.interval(function(){var aa,ab,Y,ad,ae,Z,ac;if(!(Z=i.getElementById(T))){return false}clearInterval(U);Ext.removeNode(Z);aa=Ext.getHead().dom;while((ab=H.exec(S))){Y=ab[1];ad=Y?Y.match(I):false;if(ad&&ad[2]){ac=i.createElement("script");ac.src=ad[2];ae=Y.match(J);if(ae&&ae[2]){ac.type=ae[2]}aa.appendChild(ac)}else{if(ab[2]&&ab[2].length>0){if(X){Ext.functionFactory(ab[2]).call(X)}else{Ext.globalEval(ab[2])}}}}Ext.callback(Q,X||W)},20);R.innerHTML=S.replace(G,"");return W},setOpacity:function(S,Q){var R=this;if(!R.dom){return R}if(!Q||!R.anim){R.setStyle("opacity",S)}else{if(typeof Q!="object"){Q={duration:350,easing:"ease-in"}}R.animate(Ext.applyIf({to:{opacity:S}},Q))}return R},setPositioning:function(Q){return this.setStyle(Q)},setVertical:function(Q,R){var S=this,T=j.prototype;S.vertical=true;if(R){S.addCls(S.verticalCls=R)}S.setWidth=T.setHeight;S.setHeight=T.setWidth;if(!Ext.isIE8){S.getWidth=T.getHeight;S.getHeight=T.getWidth}S.styleHooks=(Q===270)?T.verticalStyleHooks270:T.verticalStyleHooks90},setSize:function(T,R,Q){var S=this;if(Ext.isObject(T)){Q=R;R=T.height;T=T.width}if(!Q||!S.anim){S.dom.style.width=j.addUnits(T);S.dom.style.height=j.addUnits(R);if(S.shadow||S.shim){S.syncUnderlays()}}else{if(Q===true){Q={}}S.animate(Ext.applyIf({to:{width:T,height:R}},Q))}return S},setVisible:function(T,Q){var S=this,R=S.dom,U=o(S);if(typeof Q==="string"){switch(Q){case h:U=j.DISPLAY;break;case K:U=j.VISIBILITY;break;case y:U=j.OFFSETS;break}S.setVisibilityMode(U);Q=false}if(!Q||!S.anim){if(U===j.DISPLAY){return S.setDisplayed(T)}else{if(U===j.OFFSETS){S[T?"removeCls":"addCls"](x)}else{if(U===j.VISIBILITY){S.fixDisplay();R.style.visibility=T?"":q}}}}else{if(T){S.setOpacity(0.01);S.setVisible(true)}if(!Ext.isObject(Q)){Q={duration:350,easing:"ease-in"}}S.animate(Ext.applyIf({callback:function(){if(!T){Ext.fly(R).setVisible(false).setOpacity(1)}},to:{opacity:(T)?1:0}},Q))}S.getData()[t]=T;if(S.shadow||S.shim){S.setUnderlaysVisible(T)}return S},setWidth:function(S,Q){var R=this;if(!Q||!R.anim){R.callParent(arguments)}else{if(!Ext.isObject(Q)){Q={}}R.animate(Ext.applyIf({to:{width:S}},Q))}return R},setX:function(R,Q){return this.setXY([R,this.getY()],Q)},setXY:function(S,Q){var R=this;if(!Q||!R.anim){R.callParent([S])}else{if(!Ext.isObject(Q)){Q={}}R.animate(Ext.applyIf({to:{x:S[0],y:S[1]}},Q))}return this},setY:function(R,Q){return this.setXY([this.getX(),R],Q)},show:function(Q){if(typeof Q==="string"){this.setVisible(true,Q);return this}this.setVisible(true,this.anim(Q));return this},slideIn:function(Q,V,X){var U=this,S=U.dom,T=S.style,R,Y,W,Z;Q=Q||"t";V=V||{};R=function(){var ab=this,ae=V.listeners,ad=Ext.fly(S,"_anim"),ac,af,aa,ag;if(!X){ad.fixDisplay()}ac=ad.getBox();if((Q=="t"||Q=="b")&&ac.height===0){ac.height=S.scrollHeight}else{if((Q=="l"||Q=="r")&&ac.width===0){ac.width=S.scrollWidth}}af=ad.getStyle(["width","height","left","right","top","bottom","position","z-index"],true);ad.setSize(ac.width,ac.height);if(V.preserveScroll){W=ad.cacheScrollValues()}ag=ad.wrap({role:"presentation",id:Ext.id()+"-anim-wrap-for-"+ad.dom.id,style:{visibility:X?"visible":"hidden"}});Z=ag.dom.parentNode;ag.setPositioning(ad.getPositioning());if(ag.isStyle("position","static")){ag.position("relative")}ad.clearPositioning("auto");ag.clip();if(W){W()}ad.setStyle({visibility:"",position:"absolute"});if(X){ag.setSize(ac.width,ac.height)}switch(Q){case"t":aa={from:{width:ac.width+"px",height:"0px"},to:{width:ac.width+"px",height:ac.height+"px"}};T.bottom="0px";break;case"l":aa={from:{width:"0px",height:ac.height+"px"},to:{width:ac.width+"px",height:ac.height+"px"}};U.anchorAnimX(Q);break;case"r":aa={from:{x:ac.x+ac.width,width:"0px",height:ac.height+"px"},to:{x:ac.x,width:ac.width+"px",height:ac.height+"px"}};U.anchorAnimX(Q);break;case"b":aa={from:{y:ac.y+ac.height,width:ac.width+"px",height:"0px"},to:{y:ac.y,width:ac.width+"px",height:ac.height+"px"}};break;case"tl":aa={from:{x:ac.x,y:ac.y,width:"0px",height:"0px"},to:{width:ac.width+"px",height:ac.height+"px"}};T.bottom="0px";U.anchorAnimX("l");break;case"bl":aa={from:{y:ac.y+ac.height,width:"0px",height:"0px"},to:{y:ac.y,width:ac.width+"px",height:ac.height+"px"}};U.anchorAnimX("l");break;case"br":aa={from:{x:ac.x+ac.width,y:ac.y+ac.height,width:"0px",height:"0px"},to:{x:ac.x,y:ac.y,width:ac.width+"px",height:ac.height+"px"}};U.anchorAnimX("r");break;case"tr":aa={from:{x:ac.x+ac.width,width:"0px",height:"0px"},to:{x:ac.x,width:ac.width+"px",height:ac.height+"px"}};T.bottom="0px";U.anchorAnimX("r");break}ag.show();Y=Ext.apply({},V);delete Y.listeners;Y=new Ext.fx.Anim(Ext.applyIf(Y,{target:ag,duration:500,easing:"ease-out",from:X?aa.to:aa.from,to:X?aa.from:aa.to}));Y.on("afteranimate",function(){var ah=Ext.fly(S,"_anim");ah.setStyle(af);if(X){if(!V.preventHide){if(V.useDisplay){ah.setDisplayed(false)}else{ah.hide()}}}if(ag.dom){if(ag.dom.parentNode){ag.dom.parentNode.insertBefore(ah.dom,ag.dom)}else{Z.appendChild(ah.dom)}ag.destroy()}if(W){W()}ab.end()});if(ae){Y.on(ae)}};U.animate({duration:V.duration?Math.max(V.duration,500)*2:1000,listeners:{beforeanimate:R}});return U},slideOut:function(Q,R){return this.slideIn(Q,R,true)},swallowEvent:function(S,V){var U=this,Q,R,T=function(W){W.stopPropagation();if(V){W.preventDefault()}};if(Ext.isArray(S)){R=S.length;for(Q=0;Q<R;Q++){U.on(S[Q],T)}return U}U.on(S,T);return U},switchOff:function(T){var S=this,R=S.dom,Q;T=Ext.applyIf(T||{},{easing:"ease-in",duration:500,remove:false,useDisplay:false});Q=function(){var V=Ext.fly(R,"_anim"),U=this,Y=V.getSize(),Z=V.getXY(),W,X;V.clearOpacity();V.clip();X=V.getPositioning();W=new Ext.fx.Animator({target:R,duration:T.duration,easing:T.easing,keyframes:{33:{opacity:0.3},66:{height:1,y:Z[1]+Y.height/2},100:{width:1,x:Z[0]+Y.width/2}}});W.on("afteranimate",function(){var aa=Ext.fly(R,"_anim");if(T.useDisplay){aa.setDisplayed(false)}else{aa.hide()}aa.clearOpacity();aa.setPositioning(X);aa.setSize(Y);U.end()})};S.animate({duration:(Math.max(T.duration,500)*2),listeners:{beforeanimate:{fn:Q}},callback:T.callback,scope:T.scope});return S},syncContent:function(aa){aa=Ext.getDom(aa);var ad=aa.childNodes,ab=ad.length,S=this.dom,V=S.childNodes,T=V.length,X,U,ac,Z,Y,Q,R,W=S._extData;if(Ext.isIE9m&&S.mergeAttributes){S.mergeAttributes(aa,true);S.src=aa.src}else{Y=aa.attributes;Q=Y.length;for(X=0;X<Q;X++){R=Y[X].name;if(R!=="id"){S.setAttribute(R,Y[X].value)}}}if(W){W.isSynchronized=false}if(ab!==T){S.innerHTML=aa.innerHTML;return}for(X=0;X<ab;X++){ac=ad[X];U=V[X];Z=ac.nodeType;if(Z!==U.nodeType||(Z===1&&ac.tagName!==U.tagName)){S.innerHTML=aa.innerHTML;return}if(Z===3){U.data=ac.data}else{if(ac.id&&U.id!==ac.id){U.id=ac.id}U.style.cssText=ac.style.cssText;U.className=ac.className;Ext.fly(U,"_syncContent").syncContent(ac)}}},toggle:function(Q){var R=this;R.setVisible(!R.isVisible(),R.anim(Q));return R},unmask:function(){var S=this,Q=S.getData(),R=Q.maskEl,T;if(R){T=R.dom.style;if(T.clearExpression){T.clearExpression("width");T.clearExpression("height")}if(R){R.destroy();delete Q.maskEl}S.removeCls([O,P])}S.restoreChildrenTabbableState();if(S.dom!==i.body){S.restoreTabbableState()}},unclip:function(){var S=this,R=S.getData(),Q;if(R[s]){R[s]=false;Q=R[z];if(Q.o){S.setStyle(B,Q.o)}if(Q.x){S.setStyle(C,Q.x)}if(Q.y){S.setStyle(D,Q.y)}}return S},translate:function(Q,R,S){if(Ext.supports.CssTransforms&&!Ext.isIE9m){this.callParent(arguments)}else{if(Q!=null){this.dom.style.left=Q+"px"}if(R!=null){this.dom.style.top=R+"px"}}},unselectable:function(){var Q=this;if(Ext.isOpera){Q.dom.unselectable="on"}Q.removeCls(j.selectableCls);Q.addCls(j.unselectableCls);return Q},privates:{needsTabIndex:function(){var Q=this.dom,S,R;if(Q){S=Q.nodeName;R=!!Ext.Element.naturallyFocusableTags[S]||((S==="A"||S==="LINK")&&!!Q.href)||Q.getAttribute("tabindex")!=null||Q.contentEditable==="true";return !R}},findTabbableElements:function(Q,V,S,R){Q=Q!=undefined?Q:true;var T=this,U;U=T.selectTabbableElements(Q,V,S,R);if(T.isTabbable()){U.unshift(Q?T.dom:T)}return U},selectTabbableElements:function(Q,Z,V,R){var Y=[],X,W,S,T,U,ac,aa,ab;Q=Q!=undefined?Q:true;X=this.dom.querySelectorAll(Z||Ext.Element.tabbableSelector);U=X.length;if(!U){return Y}if(R){T=U-1;ac=0;aa=-1}else{T=0;ac=U-1;aa=1}for(;;T+=aa){if((aa>0&&T>ac)||(aa<0&&T<ac)){break}W=X[T];ab=W.getAttribute("tabindex")-0;if(!(ab<0)){S=Q?Ext.fly(W):Ext.get(W);if(S.isTabbable()){Y.push(Q?W:S)}}if(Y.length>=V){return Y}}return Y},selectFirstTabbableElement:function(Q,S){var R=this.selectTabbableElements(Q,S,1,false);return R[0]},selectLastTabbableElement:function(Q,S){var R=this.selectTabbableElements(true,S,1,true)[0];return(Q!==false)?R:Ext.get(R)},saveTabbableState:function(Q){var S=Ext.Element.tabbableSavedFlagAttribute,R=this.dom;if(R.hasAttribute(S)){return}Q=Q||Ext.Element.tabbableSavedAttribute;if(R.hasAttribute("tabindex")){R.setAttribute(Q,R.getAttribute("tabindex"))}else{R.setAttribute(Q,"none")}R.setAttribute("tabindex",-1);R.setAttribute(S,true);return this},restoreTabbableState:function(Q){var T=Ext.Element.tabbableSavedFlagAttribute,R=this.dom,S;Q=Q||Ext.Element.tabbableSavedAttribute;if(!R.hasAttribute(T)||!R.hasAttribute(Q)){return}S=R.getAttribute(Q);if(S==="none"){R.removeAttribute("tabindex")}else{R.setAttribute("tabindex",S)}R.removeAttribute(Q);R.removeAttribute(T);return this},saveChildrenTabbableState:function(Q){var S,R,T,U;if(this.dom){S=this.selectTabbableElements();for(T=0,U=S.length;T<U;T++){R=Ext.fly(S[T]);R.saveTabbableState(Q)}}return S},restoreChildrenTabbableState:function(Q,S){var R,T,U;if(this.dom){Q=Q||Ext.Element.tabbableSavedAttribute;S=S||this.dom.querySelectorAll("["+Q+"]");for(T=0,U=S.length;T<U;T++){R=Ext.fly(S[T]);R.restoreTabbableState(Q)}}return S}},deprecated:{"4.0":{methods:{pause:function(R){var Q=this;Ext.fx.Manager.setFxDefaults(Q.id,{delay:R});return Q},scale:function(S,Q,R){this.animate(Ext.apply({},R,{width:S,height:Q}));return this},shift:function(Q){this.animate(Q);return this}}},"4.2":{methods:{moveTo:function(R,S,Q){return this.setXY([R,S],Q)},setBounds:function(T,U,S,R,Q){return this.setBox({x:T,y:U,width:S,height:R},Q)},setLeftTop:function(Q,T){var R=this,S=R.dom.style;S.left=j.addUnits(Q);S.top=j.addUnits(T);if(R.shadow||R.shim){R.syncUnderlays()}return R},setLocation:function(R,S,Q){return this.setXY([R,S],Q)}}},"5.0":{methods:{getAttributeNS:function(R,Q){return this.getAttribute(Q,R)},getCenterXY:function(){return this.getAlignToXY(i,"c-c")},getComputedHeight:function(){return Math.max(this.dom.offsetHeight,this.dom.clientHeight)||parseFloat(this.getStyle(p))||0},getComputedWidth:function(){return Math.max(this.dom.offsetWidth,this.dom.clientWidth)||parseFloat(this.getStyle(M))||0},getStyleSize:function(){var T=this,Q=this.dom,S=(Q===i||Q===i.body),U,V,R;if(S){return{width:j.getViewportWidth(),height:j.getViewportHeight()}}U=T.getStyle(["height","width"],true);if(U.width&&U.width!=="auto"){V=parseFloat(U.width)}if(U.height&&U.height!=="auto"){R=parseFloat(U.height)}return{width:V||T.getWidth(true),height:R||T.getHeight(true)}},isBorderBox:function(){return true},isDisplayed:function(){return !this.isStyle("display","none")},focusable:"isFocusable"}}}}})(),function(){var i=Ext.dom.Element,o=i.prototype,u=!Ext.isIE8,e=document,x=e.defaultView,n=/alpha\(opacity=(.*)\)/i,t=/^\s+|\s+$/g,q=o.styleHooks,r=Ext.supports,w,v,h,m,g,a,l;o._init(i);delete o._init;Ext.plainTableCls=Ext.baseCSSPrefix+"table-plain";Ext.plainListCls=Ext.baseCSSPrefix+"list-plain";if(Ext.CompositeElementLite){Ext.CompositeElementLite.importElementMethods()}q.opacity={name:"opacity",afterSet:function(k,A,y){var z=y.shadow;if(z){z.setOpacity(A)}}};if(!r.Opacity&&Ext.isIE){Ext.apply(q.opacity,{get:function(k){var y=k.style.filter,z,A;if(y.match){z=y.match(n);if(z){A=parseFloat(z[1]);if(!isNaN(A)){return A?A/100:0}}}return 1},set:function(k,A){var y=k.style,z=y.filter.replace(n,"").replace(t,"");y.zoom=1;if(typeof(A)==="number"&&A>=0&&A<1){A*=100;y.filter=z+(z.length?" ":"")+"alpha(opacity="+A+")"}else{y.filter=z}}})}if(!r.matchesSelector){var p=/^([a-z]+|\*)?(?:\.([a-z][a-z\-_0-9]*))?$/i,d=/\-/g,j,c=function(z,y){var k=new RegExp("(?:^|\\s+)"+y.replace(d,"\\-")+"(?:\\s+|$)");if(z&&z!=="*"){z=z.toUpperCase();return function(A){return A.tagName===z&&k.test(A.className)}}return function(A){return k.test(A.className)}},s=function(k){k=k.toUpperCase();return function(y){return y.tagName===k}},b={};o.matcherCache=b;o.is=function(D){if(!D){return true}var y=this.dom,k,B,F,C,A,z,E;if(y.nodeType!==1){return false}if(!(F=Ext.isFunction(D)?D:b[D])){if(!(B=D.match(p))){C=y.parentNode;if(!C){A=true;C=j||(j=e.createDocumentFragment());j.appendChild(y)}z=Ext.Array.indexOf(Ext.fly(C,"_is").query(D),y)!==-1;if(A){j.removeChild(y)}return z}E=B[1];k=B[2];b[D]=F=k?c(E,k):s(E)}return F(y)}}if(!x||!x.getComputedStyle){o.getStyle=function(J,C){var F=this,y=F.dom,G=typeof J!=="string",I=J,K=I,E=1,D=C,M=F.styleHooks,k,z,N,A,H,L,B;if(G){N={};I=K[0];B=0;if(!(E=K.length)){return N}}if(!y||y.documentElement){return N||""}z=y.style;if(C){L=z}else{L=y.currentStyle;if(!L){D=true;L=z}}do{A=M[I];if(!A){M[I]=A={name:i.normalize(I)}}if(A.get){H=A.get(y,F,D,L)}else{k=A.name;H=L[k]}if(!G){return H}N[I]=H;I=K[++B]}while(B<E);return N}}if(Ext.isIE8){l=function(k,y,z,A){if(A[this.styleName]==="none"){return"0px"}return A[this.name]};h=["Top","Right","Bottom","Left"];m=h.length;while(m--){g=h[m];a="border"+g+"Width";q["border-"+g.toLowerCase()+"-width"]=q[a]={name:a,styleName:"border"+g+"Style",get:l}}}Ext.apply(Ext,{enableGarbageCollector:true,isBorderBox:true,useShims:false,getDetachedBody:function(){var k=Ext.detachedBodyEl;if(!k){k=e.createElement("div");Ext.detachedBodyEl=k=new Ext.dom.Fly(k);k.isDetachedBody=true}return k},getElementById:function(z){var y=e.getElementById(z),k;if(!y&&(k=Ext.detachedBodyEl)){y=k.dom.querySelector(Ext.makeIdSelector(z))}return y},addBehaviors:function(z){if(!Ext.isReady){Ext.onInternalReady(function(){Ext.addBehaviors(z)})}else{var y={},A,k,B;for(k in z){if((A=k.split("@"))[1]){B=A[0];if(!y[B]){y[B]=Ext.fly(document).select(B,true)}y[B].on(A[1],z[k])}}y=null}}});if(Ext.isIE9m){Ext.getElementById=function(z){var y=e.getElementById(z),k;if(!y&&(k=Ext.detachedBodyEl)){y=k.dom.all[z]}return y};o.getById=function(B,k){var y=this.dom,C=null,A,z;if(y){z=(u&&e.getElementById(B))||y.all[B];if(z){if(k){C=z}else{A=Ext.cache[B];if(A){if(A.skipGarbageCollection||!Ext.isGarbage(A.dom)){C=A}else{Ext.Error.raise("Stale Element with id '"+z.id+"' found in Element cache. Make sure to clean up Element instances using destroy()");A.destroy()}}C=C||new Ext.Element(z)}}}return C}}else{if(!e.querySelector){Ext.getDetachedBody=Ext.getBody;Ext.getElementById=function(k){return e.getElementById(k)};o.getById=function(z,k){var y=e.getElementById(z);return k?y:(y?Ext.get(y):null)}}}if(Ext.isIE&&!(Ext.isIE9p&&e.documentMode>=9)){o.getAttribute=function(y,z){var k=this.dom,A;if(z){A=typeof k[z+":"+y];if(A!=="undefined"&&A!=="unknown"){return k[z+":"+y]||null}return null}if(y==="for"){y="htmlFor"}return k[y]||null}}Ext.onInternalReady(function(){var L=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,k=[],J=o.setWidth,H=o.setHeight,I=o.setSize,K=/^\d+(?:\.\d*)?px$/i,z,E,G,y;if(r.FixedTableWidthBug){q.width={name:"width",set:function(M,R,N){var Q=M.style,O=N._needsTableWidthFix,P=Q.display;if(O){Q.display="none"}Q.width=R;if(O){M.scrollWidth;Q.display=P}}};o.setWidth=function(S,M){var O=this,N=O.dom,R=N.style,P=O._needsTableWidthFix,Q=R.display;if(P&&!M){R.display="none"}J.call(O,S,M);if(P&&!M){N.scrollWidth;R.display=Q}return O};o.setSize=function(T,O,M){var P=this,N=P.dom,S=N.style,Q=P._needsTableWidthFix,R=S.display;if(Q&&!M){S.display="none"}I.call(P,T,O,M);if(Q&&!M){N.scrollWidth;S.display=R}return P}}if(Ext.isIE8){q.height={name:"height",set:function(N,R,O){var M=O.component,Q,P;if(M&&M._syncFrameHeight&&this===M.el){P=M.frameBody.dom.style;if(K.test(R)){Q=M.getFrameInfo();if(Q){P.height=(parseInt(R,10)-Q.height)+"px"}}else{if(!R||R==="auto"){P.height=""}}}N.style.height=R}};o.setHeight=function(Q,M){var N=this.component,P,O;if(N&&N._syncFrameHeight&&this===N.el){O=N.frameBody.dom.style;if(!Q||Q==="auto"){O.height=""}else{P=N.getFrameInfo();if(P){O.height=(Q-P.height)+"px"}}}return H.call(this,Q,M)};o.setSize=function(R,Q,M){var N=this.component,P,O;if(N&&N._syncFrameHeight&&this===N.el){O=N.frameBody.dom.style;if(!Q||Q==="auto"){O.height=""}else{P=N.getFrameInfo();if(P){O.height=(Q-P.height)+"px"}}}return I.call(this,R,Q,M)}}Ext.getDoc().on("selectstart",function(O,M){var P=i.selectableCls,R=i.unselectableCls,Q=M&&M.tagName;Q=Q&&Q.toLowerCase();if(Q==="input"||Q==="textarea"){return}while(M&&M.nodeType===1&&M!==e.documentElement){var N=Ext.fly(M);if(N.hasCls(P)){return}if(N.hasCls(R)){O.stopEvent();return}M=M.parentNode}});function C(M,N,O,P){var Q=P[this.name]||"";return L.test(Q)?"transparent":Q}function F(M,O,N){return function(){M.selectionStart=O;M.selectionEnd=N}}function D(S){var O=r.DisplayChangeInputSelectionBug,P=r.DisplayChangeTextAreaSelectionBug,M,R,Q,N;if(O||P){M=i.getActiveElement();R=M&&M.tagName;if((P&&R==="TEXTAREA")||(O&&R==="INPUT"&&M.type==="text")){if(Ext.fly(S).isAncestor(M)){Q=M.selectionStart;N=M.selectionEnd;if(Ext.isNumber(Q)&&Ext.isNumber(N)){return F(M,Q,N)}}}}return Ext.emptyFn}function A(N,P,Q,S){var R=S.marginRight,O,M;if(R!=="0px"){O=N.style;M=O.display;O.display="inline-block";R=(Q?S:N.ownerDocument.defaultView.getComputedStyle(N,null)).marginRight;O.display=M}return R}function B(O,Q,R,T){var S=T.marginRight,P,M,N;if(S!=="0px"){P=O.style;M=D(O);N=P.display;P.display="inline-block";S=(R?T:O.ownerDocument.defaultView.getComputedStyle(O,"")).marginRight;P.display=N;M()}return S}if(!r.RightMargin){q.marginRight=q["margin-right"]={name:"marginRight",get:(r.DisplayChangeInputSelectionBug||r.DisplayChangeTextAreaSelectionBug)?B:A}}if(!r.TransparentColor){z=["background-color","border-color","color","outline-color"];for(E=z.length;E--;){G=z[E];y=i.normalize(G);q[G]=q[y]={name:y,get:C}}}o.verticalStyleHooks90=w=Ext.Object.chain(q);o.verticalStyleHooks270=v=Ext.Object.chain(q);w.width=q.height||{name:"height"};w.height=q.width||{name:"width"};w["margin-top"]={name:"marginLeft"};w["margin-right"]={name:"marginTop"};w["margin-bottom"]={name:"marginRight"};w["margin-left"]={name:"marginBottom"};w["padding-top"]={name:"paddingLeft"};w["padding-right"]={name:"paddingTop"};w["padding-bottom"]={name:"paddingRight"};w["padding-left"]={name:"paddingBottom"};w["border-top"]={name:"borderLeft"};w["border-right"]={name:"borderTop"};w["border-bottom"]={name:"borderRight"};w["border-left"]={name:"borderBottom"};v.width=q.height||{name:"height"};v.height=q.width||{name:"width"};v["margin-top"]={name:"marginRight"};v["margin-right"]={name:"marginBottom"};v["margin-bottom"]={name:"marginLeft"};v["margin-left"]={name:"marginTop"};v["padding-top"]={name:"paddingRight"};v["padding-right"]={name:"paddingBottom"};v["padding-bottom"]={name:"paddingLeft"};v["padding-left"]={name:"paddingTop"};v["border-top"]={name:"borderRight"};v["border-right"]={name:"borderBottom"};v["border-bottom"]={name:"borderLeft"};v["border-left"]={name:"borderTop"};if(!Ext.scopeCss){k.push(Ext.baseCSSPrefix+"body")}if(r.Touch){k.push(Ext.baseCSSPrefix+"touch")}if(Ext.isIE&&Ext.isIE9m){k.push(Ext.baseCSSPrefix+"ie",Ext.baseCSSPrefix+"ie9m");k.push(Ext.baseCSSPrefix+"ie8p");if(Ext.isIE8){k.push(Ext.baseCSSPrefix+"ie8")}else{k.push(Ext.baseCSSPrefix+"ie9",Ext.baseCSSPrefix+"ie9p")}if(Ext.isIE8m){k.push(Ext.baseCSSPrefix+"ie8m")}}if(Ext.isIE10){k.push(Ext.baseCSSPrefix+"ie10")}if(Ext.isIE11){k.push(Ext.baseCSSPrefix+"ie11")}if(Ext.isGecko){k.push(Ext.baseCSSPrefix+"gecko")}if(Ext.isOpera){k.push(Ext.baseCSSPrefix+"opera")}if(Ext.isOpera12m){k.push(Ext.baseCSSPrefix+"opera12m")}if(Ext.isWebKit){k.push(Ext.baseCSSPrefix+"webkit")}if(Ext.isSafari){k.push(Ext.baseCSSPrefix+"safari")}if(Ext.isChrome){k.push(Ext.baseCSSPrefix+"chrome")}if(Ext.isMac){k.push(Ext.baseCSSPrefix+"mac")}if(Ext.isLinux){k.push(Ext.baseCSSPrefix+"linux")}if(!r.CSS3BorderRadius){k.push(Ext.baseCSSPrefix+"nbr")}if(!r.CSS3LinearGradient){k.push(Ext.baseCSSPrefix+"nlg")}if(r.Touch){k.push(Ext.baseCSSPrefix+"touch")}Ext.getBody().addCls(k)},null,{priority:1500})});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})},fireResize:function(){var c=this,a=Ext.Element,d=a.getViewportWidth(),b=a.getViewportHeight();if(c.curHeight!==b||c.curWidth!==d){c.curHeight=b;c.curWidth=d;c.fireEvent("resize",d,b)}}},function(a){Ext.on=function(){return a.addListener.apply(a,arguments)};Ext.un=function(){return a.removeListener.apply(a,arguments)}});Ext.define("Ext.overrides.GlobalEvents",{override:"Ext.GlobalEvents",attachListeners:function(){this.callParent();Ext.getDoc().on("mousedown",this.fireMouseDown,this)},fireMouseDown:function(a){this.fireEvent("mousedown",a)},deprecated:{5:{methods:{addListener:function(b,d,j,g,h,a,c){var e,i;if(b==="ready"){i=d}else{if(typeof b!=="string"){for(e in b){if(e==="ready"){i=b[e]}}}}if(i){Ext.log.warn("Ext.on('ready', fn) is deprecated.  Please use Ext.onReady(fn) instead.");Ext.onReady(i)}this.callParent([b,d,j,g,h,a,c])}}}}});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.Error.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.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(e,c,b){var d=String(e);return(c<0)?d.substr(Math.max(d.length+c,0),b):d.substr(c,b)}:function(d,c,b){return String(d).substr(c,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(j,b,c,d){var h="",e=",0",g=0;j=j-0;if(j<0){j=-j;h="-"}c=Ext.isDefined(c)?c:a.currencyPrecision;e+=(c>0?".":"");for(;g<c;g++){e+="0"}j=a.number(j,e);if((d||a.currencyAtEnd)===true){return Ext.String.format("{0}{1}{2}",h,j,b||a.currencySign)}else{return Ext.String.format("{0}{1}{2}",h,b||a.currencySign,j)}},date:function(c,b){if(!c){return""}if(!Ext.isDate(c)){c=new Date(Date.parse(c))}return Ext.Date.dateFormat(c,b||Ext.Date.defaultFormat)},dateRenderer:function(b){return function(c){return a.date(c,b)}},hex:function(d,b){var c=parseInt(d||0,10).toString(16);if(b){if(b<0){b=-b;if(c.length>b){c=c.substring(c.length-b)}}while(c.length<b){c="0"+c}}return c},or:function(c,b){return c||b},pick:function(e,b,d){if(Ext.isNumber(e)){var c=arguments[e+1];if(c){return c}}return e?d:b},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,b){var c=Number(d);if(typeof b==="number"){b=Math.pow(10,b);c=Math.round(d*b)/b}else{if(b===undefined){c=Math.round(c)}}return c},number:function(p,h){if(!h){return p}if(isNaN(p)){return""}var g=a.formatFns[h];if(!g){var k=h,c=a.thousandSeparator,d=a.decimalSeparator,l=0,n="",i,m,e,o,b,j;if(h.substr(h.length-2)==="/i"){if(!a.I18NFormatCleanRe||a.lastDecimalSeparator!==d){a.I18NFormatCleanRe=new RegExp("[^\\d\\"+d+"#]","g");a.lastDecimalSeparator=d}h=h.substr(0,h.length-2);i=h.indexOf(c)!==-1;m=h.replace(a.I18NFormatCleanRe,"").split(d)}else{i=h.indexOf(",")!==-1;m=h.replace(a.formatCleanRe,"").split(".")}e=h.replace(a.formatPattern,"");if(m.length>2){Ext.Error.raise({sourceClass:"Ext.util.Format",sourceMethod:"number",value:p,formatString:h,msg:"Invalid number format, should have no more than 1 decimal"})}else{if(m.length===2){l=m[1].length;o=m[1].match(a.hashRe);if(o){j=o[0].length;n='trailingZeroes=new RegExp(Ext.String.escapeRegex(utilFormat.decimalSeparator) + "*0{0,'+j+'}$")'}}}b=["var utilFormat=Ext.util.Format,extNumber=Ext.Number,neg,absVal,fnum,parts"+(i?",thousandSeparator,thousands=[],j,n,i":"")+(e?',formatString="'+h+'",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, "+l+");",n,";"];if(i){if(l){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(l){b[b.length]="fnum += utilFormat.decimalSeparator+parts[1];"}}else{if(l){b[b.length]='if(utilFormat.decimalSeparator!=="."){parts=fnum.split(".");fnum=parts[0]+utilFormat.decimalSeparator+parts[1];}'}}b[b.length]='if(neg&&fnum!=="'+(l?"0."+Ext.String.repeat("0",l):"0")+'") { fnum="-"+fnum; }';if(o){b[b.length]='fnum=fnum.replace(trailingZeroes,"");'}b[b.length]="return ";if(e){b[b.length]="formatString.replace(formatPattern, fnum);"}else{b[b.length]="fnum;"}b[b.length]="};";g=a.formatFns[k]=Ext.functionFactory("Ext",b.join(""))(Ext)}return g(p)},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(b){if(typeof b==="object"){var d=[],c;for(c in b){if(b.hasOwnProperty(c)){d.push(c,'="',c==="style"?Ext.DomHelper.generateStyles(b[c],null,true):Ext.htmlEncode(b[c]),'" ')}}b=d.join("")}return b||""},plural:function(d,c,b){return d+" "+(d===1?c:(b?b: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(b){b=b||0;if(typeof b==="number"){return{top:b,right:b,bottom:b,left:b}}var d=b.split(" "),c=d.length;if(c===1){d[1]=d[2]=d[3]=d[0]}else{if(c===2){d[2]=d[0];d[3]=d[1]}else{if(c===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(c){var g=this,a=arguments,b=[],d,e=a.length,h;g.initialConfig={};if(e===1&&Ext.isArray(c)){a=c;e=a.length}if(e>1){for(d=0;d<e;d++){h=a[d];if(typeof h==="object"){Ext.apply(g.initialConfig,h);Ext.apply(g,h)}else{b.push(h)}}}else{b.push(c)}g.html=b.join("")},isTemplate:true,disableFormats:false,tokenRe:/\{(?:(?:(\d+)|([a-z_][\w\-]*))(?::([a-z_\.]+)(?:\(([^\)]*?)?\))?)?)\}/gi,apply:function(b){var a=this;if(a.compiled){if(!a.fn){a.compile()}return a.fn(b).join("")}return a.evaluate(b)},evaluate:function(g){var c=this,e=!c.disableFormats,a=Ext.util.Format,d=c;function b(k,j,l,i,h){if(l==null||l===""){l=j}if(i&&e){if(h){h=[g[l]].concat(Ext.functionFactory("return ["+h+"];")())}else{h=[g[l]]}if(i.substr(0,5)==="this."){return d[i.substr(5)].apply(d,h)}else{if(a[i]){return a[i].apply(a,h)}else{return k}}}else{return g[l]!==undefined?g[l]:""}}return c.html.replace(c.tokenRe,b)},applyOut:function(c,b){var a=this;if(a.compiled){if(!a.fn){a.compile()}b.push.apply(b,a.fn(c))}else{b.push(a.apply(c))}return b},applyTemplate:function(){return this.apply.apply(this,arguments)},set:function(b,a){var c=this;c.html=b;c.compiled=!!a;c.fn=null;return c},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,e,b,a){if(c==null||c===""){c='"'+e+'"'}else{if(this.stringFormat){c=parseInt(c)+1}}if(b&&this.disableFormats!==true){a=a?","+a:"";if(b.substr(0,5)==="this."){b=b+"("}else{if(Ext.util.Format[b]){b="fm."+b+"("}else{return d}}return"',"+b+"v["+c+"]"+a+"),'"}else{return"',v["+c+"] == undefined ? '' : v["+c+"],'"}},insertFirst:function(a,c,b){return this.doInsert("afterBegin",a,c,b)},insertBefore:function(a,c,b){return this.doInsert("beforeBegin",a,c,b)},insertAfter:function(a,c,b){return this.doInsert("afterEnd",a,c,b)},append:function(a,c,b){return this.doInsert("beforeEnd",a,c,b)},doInsert:function(e,a,d,c){var b=Ext.DomHelper.insertHtml(e,Ext.getDom(a),this.apply(d));return c?Ext.get(b):b},overwrite:function(a,d,c){var b=Ext.DomHelper.overwrite(Ext.getDom(a),this.apply(d));return c?Ext.get(b):b}},function(e){var b=/\{\d+\}/,d=function(g){if(b.test(g)){g=new e(g,c);return function(){return g.apply(arguments)}}else{return function(){return g}}},c={useFormat:false,compiled:true,stringFormat:true},a={};Ext.String.format=Ext.util.Format.format=function(g){var h=a[g]||(a[g]=d(g));return h.apply(this,arguments)}});Ext.define("Ext.mixin.Inheritable",{extend:Ext.Mixin,mixinConfig:{id:"inheritable"},getInherited:function(d){var g=this,b=(d&&g.inheritedStateInner)||g.inheritedState,h=g.ownerCt||g.initOwnerCt,e=g.isContainer,i,c,a;if(!b||b.invalid){i=g.getRefOwner();if(h){a=g.ownerLayout===h.layout}g.inheritedState=b=Ext.Object.chain(i?i.getInherited(a):Ext.rootInheritedState);if(e){g.inheritedStateInner=c=Ext.Object.chain(b)}g.initInheritedState(b,c);b=(e&&d)?g.inheritedStateInner:g.inheritedState}return b},getInheritedConfig:function(b,d){var e=this.inheritedState,a,c;if(!e||e.invalid){e=this.getInherited()}c=e[b];if(d&&e.hasOwnProperty(b)){a=c;delete e[b];c=e[b];e[b]=a}return c},fixReference:function(){var a=this,b;if(a.reference){b=a.lookupReferenceHolder();if(b){b.attachReference(a)}}},resolveListenerScope:function(a,g){var c=this,b=(typeof g==="boolean"),d=Ext._namedScopes[a],e;if(!d){e=c.getInheritedConfig("defaultListenerScope",b?g:true)||a||c}else{if(d.isController){e=c.getInheritedConfig("controller",b?g:!d.isSelf)}else{if(d.isSelf){e=c.getInheritedConfig("defaultListenerScope",b&&g)||c}else{if(d.isThis){e=c}}}}return e||null},resolveSatelliteListenerScope:function(e,a){var b=this,c=Ext._namedScopes[a],d;if(!c){d=b.getInheritedConfig("defaultListenerScope")||a||b}else{if(c.isController){d=b.getInheritedConfig("controller")}else{if(c.isSelf){d=b.getInheritedConfig("defaultListenerScope")||e}else{if(c.isThis){d=e}}}}return d||null},lookupReferenceHolder:function(a){return this.getInheritedConfig("referenceHolder",a!==false)||null},getRefOwner:function(){return this.ownerCt||this.initOwnerCt||this.ownerCmp||this.floatParent},invalidateInheritedState:function(){var a=this.inheritedState;if(a){a.invalid=true;delete this.inheritedState}}},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(a,b){return this.mergeSets(a,b)}},reference:null,session:{$value:null,lazy:true},twoWayBindable:{$value:null,lazy:true,merge:function(a,b){return this.mergeSets(a,b)}},viewModel:{$value:null,lazy:true}},defaultBindProperty:null,validRefRe:/^[a-z_][a-z0-9_]*$/i,initInheritedState:function(c){var d=this,e=d.getReference(),a=d.getController(),h=d.getConfig("viewModel",true),g=d.getConfig("session",true),b=d.getDefaultListenerScope();if(a){c.controller=a}if(b){c.defaultListenerScope=d}else{if(a){c.defaultListenerScope=a}}if(h){if(!h.isViewModel){h=d}c.viewModel=h}if(g){if(!g.isSession){g=d}c.session=g}if(e){d.referenceKey=(c.referencePath||"")+e;d.viewModelKey=(c.viewModelPath||"")+e}},lookupController:function(a){return this.getInheritedConfig("controller",a)||null},lookupSession:function(b){var a=b?null:this.getSession();if(!a){a=this.getInheritedConfig("session",b);if(a&&!a.isSession){a=a.getInherited().session=a.getSession()}}return a||null},lookupViewModel:function(b){var a=b?null:this.getViewModel();if(!a){a=this.getInheritedConfig("viewModel",b);if(a&&!a.isViewModel){a=a.getInherited().viewModel=a.getViewModel()}}return a||null},publishState:function(h,k){var d=this,g=d.viewModelKey,j=d.publishedState,b=d.getBind(),a=b&&h&&b[h],c=0,e,i,l;if(a&&!a.syncing&&!a.isReadOnly()){if(!(a.calls===0&&(k==null||k===d.getInitialConfig()[h]))){a.setValue(k)}}if(!g||!(i=d.getPublishes())){return}if(!(l=d.lookupViewModel())){return}if(h&&j){if(!i[h]){return}if(!(k&&k.constructor===Object)&&!(k instanceof Array)){if(j[h]===k){return}}g+=".";g+=h}else{j=j||(d.publishedState={});for(e in i){++c;if(e===h){j[e]=k}else{j[e]=d[e]}}if(!c){return}k=j}l.set(g,k)},privates:{addBindableUpdater:function(d){var c=this,b=c.self.$config.configs,a=b[d],e;if(a&&!c.hasOwnProperty(e=a.names.update)){c[e]=a.bindableUpdater||(a.root.bindableUpdater=c.makeBindableUpdater(a))}},applyBind:function(c,d){var h=this,k=h.lookupViewModel(),j=h.getTwoWayBindable(),g=h._getBindTemplateScope,a,i,e;if(!d||typeof d==="string"){d={}}if(!k){Ext.Error.raise("Cannot use bind config without a viewModel")}if(Ext.isString(c)){if(!h.defaultBindProperty){Ext.Error.raise(h.$className+" has no defaultBindProperty - Please specify a bind object")}a=c;c={};c[h.defaultBindProperty]=a}for(i in c){e=c[i];a=d[i];if(a&&typeof a!=="string"){a.destroy();a=null}if(e){a=k.bind(e,h.onBindNotify,h);a._config=Ext.Config.get(i);a.getTemplateScope=g;if(!h[a._config.names.set]){Ext.Error.raise("Cannot bind "+i+" on "+h.$className+" - missing a "+a._config.names.set+" method.")}}d[i]=a;if(j&&j[i]&&!a.isReadOnly()){h.addBindableUpdater(i)}}return d},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},applyReference:function(a){var b=this.validRefRe||Ext.validIdRe;if(a&&!b.test(a)){Ext.Error.raise('Invalid reference "'+a+'" for '+this.getId()+" - not a valid identifier")}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(d){var b=this,a,c;if(!(d&&d.isViewModel)){a={parent:b.lookupViewModel(true)};a.session=b.getSession();if(!c&&!a.parent){a.session=b.lookupSession()}if(d){if(d.constructor===Object){Ext.apply(a,d)}else{if(typeof d==="string"){a.type=d}}}d=Ext.Factory.viewModel(a)}return d},_getBindTemplateScope:function(){return this.scope.resolveListenerScope()},initBindable:function(){this.initBindable=Ext.emptyFn;this.getBind();this.getPublishes()},makeBindableUpdater:function(a){var b=a.names.update;return function(d,e){var c=this,g=c.self.prototype[b];if(g){g.call(c,d,e)}c.publishState(a.name,d)}},onBindNotify:function(c,b,a){a.syncing=(a.syncing+1)||1;this[a._config.names.set](c);--a.syncing},removeBindings:function(){var b=this.bind,c,a;if(b&&typeof b!=="string"){for(c in b){a=b[c];a.destroy();a._config=a.getTemplateScope=null}}this.bind=null},updateSession:function(a){var b=this.getInherited();if(a){b.session=a}else{delete b.session}},updateViewModel:function(c){var b=this.getInherited(),a=this.getController();if(c){b.viewModel=c;c.setView(this);if(a){a.initViewModel(c)}}else{delete b.viewModel}}}});Ext.define("Ext.Widget",{extend:Ext.Evented,xtype:"widget",mixins:[Ext.mixin.Inheritable,Ext.mixin.Bindable],isWidget:true,element:{reference:"element"},observableType:"component",eventedConfig:{width:null,height:null},template:[],constructor:function(a){var b=this;b.initId(a);b.initElement();b.mixins.observable.constructor.call(b,a);Ext.ComponentManager.register(b)},afterCachedConfig:function(){var e=this,g=e.self.prototype,j=e.referenceList,k=e.renderElement.dom,l,a,c,d,h,b;g.renderTemplate=l=document.createDocumentFragment();l.appendChild(k.cloneNode(true));b=l.querySelectorAll("[id]");for(c=0,d=b.length;c<d;c++){a=b[c];a.removeAttribute("id")}for(c=0,d=j.length;c<d;c++){h=j[c];e[h].dom.removeAttribute("reference")}},applyWidth:function(a){return this.filterLengthValue(a)},applyHeight:function(a){return this.filterLengthValue(a)},destroy:function(){var c=this,e=c.referenceList,a,b,d;for(a=0,b=e.length;a<b;a++){d=e[a];if(c.hasOwnProperty(d)){c[d].destroy();c[d]=null}}c.callParent();Ext.ComponentManager.unregister(c)},doSetWidth:function(a){this.element.setWidth(a)},doSetHeight:function(a){this.element.setHeight(a)},getElementConfig:function(){var b=this,a=b.element;if(!("children" in a)){a=Ext.apply({children:b.getTemplate()},a)}return a},getItemId:function(){return this.itemId||this.id},getSize:function(){return{width:this.getWidth(),height:this.getHeight()}},getTemplate:function(){return this.template},initElement:function(){var g=this,h=g.self.prototype,d=g.getId(),k=g.referenceList=[],a=true,o,n,b,m,c,e,l,j;if(h.hasOwnProperty("renderTemplate")){o=g.renderTemplate.cloneNode(true);n=o.firstChild}else{a=false;o=document.createDocumentFragment();n=Ext.Element.create(g.processElementConfig.call(h),true);o.appendChild(n)}m=o.querySelectorAll("[reference]");for(c=0,e=m.length;c<e;c++){l=m[c];j=l.getAttribute("reference");if(a){l.removeAttribute("reference")}if(j==="element"){if(b){Ext.Error.raise("Duplicate 'element' reference detected in '"+g.$className+"' template.")}l.id=d;b=g.el=g.addElementReference(j,l)}else{g.addElementReferenceOnDemand(j,l)}k.push(j)}if(!b){Ext.Error.raise("No 'element' reference found in '"+g.$className+"' template.")}if(n===b.dom){g.renderElement=b}else{g.addElementReferenceOnDemand("renderElement",n)}},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]},resolveListenerScope:function(a){return this.mixins.inheritable.resolveListenerScope.call(this,a)},setSize:function(b,a){if(b!==undefined){this.setWidth(b)}if(a!==undefined){this.setHeight(a)}},onFocus:Ext.emptyFn,onBlur:Ext.emptyFn,onFocusEnter:Ext.emptyFn,onFocusLeave:Ext.emptyFn,isAncestor:function(){return false},privates:{addElementReferenceOnDemand:function(b,a){if(this._elementListeners[b]){this.addElementReference(b,a)}else{Ext.Object.defineProperty(this,b,{get:function(){delete this[b];return this.addElementReference(b,a)},configurable:true})}},addElementReference:function(g,a){var e=this,h=e[g]=Ext.get(a),d=e._elementListeners[g],b,c;h.skipGarbageCollection=true;h.component=e;if(d){d=Ext.clone(d);d.scope=e;for(b in d){c=d[b];if(typeof c==="object"){c.scope=e}}h.on(d)}return h},detachFromBody:function(){Ext.getDetachedBody().appendChild(this.element);this.isDetached=true},doAddListener:function(d,b,h,e,g,a,c){if(e&&"element" in e){if(this.referenceList.indexOf(e.element)===-1){Ext.Logger.error("Adding event listener with an invalid element reference of '"+e.element+"' for this component. Available values are: '"+this.referenceList.join("', '")+"'",this)}this[e.element].doAddListener(d,b,h||this,e,g)}this.callParent([d,b,h,e,g,a,c])},filterLengthValue:function(a){if(a==="auto"||(!a&&a!==0)){return null}return a},getFocusEl:function(){return this.element},initElementListeners:function(b){var h=this,m=h.self.superclass,k=m._elementListeners,j=b.reference,a=b.children,c,e,l,g,d;if(h.hasOwnProperty("_elementListeners")){c=h._elementListeners}else{c=h._elementListeners=(k?Ext.Object.chain(k):{})}if(j){e=b.listeners;if(e){if(k){l=k[j];if(l){e=Ext.Object.chain(l);Ext.apply(e,b.listeners)}}c[j]=e;b.listeners=null}}if(a){for(d=0,g=a.length;d<g;d++){h.initElementListeners(a[d])}}},initId:function(a){var d=this,b=d.config,c=(a&&a.id)||(b&&b.id);if(c){d.setId(c);d.id=c}else{d.getId()}},processElementConfig:function(){var b=this,c=b.self.superclass,a;if(b.hasOwnProperty("_elementConfig")){a=b._elementConfig}else{a=b._elementConfig=b.getElementConfig();if(c.isWidget){b.processElementConfig.call(c)}b.initElementListeners(a)}return a},reattachToBody:function(){this.isDetached=false}}},function(a){(a.prototype.$elementEventOptions=Ext.Object.chain(Ext.Element.prototype.$eventOptions)).element=1});Ext.define("Ext.overrides.Widget",{override:"Ext.Widget",$configStrict:false,isComponent:true,liquidLayout:true,rendered:true,rendering:true,config:{renderTo:null},cachedConfig:{baseCls:Ext.baseCSSPrefix+"widget"},constructor:function(a){var b=this,c;b.callParent([a]);b.getComponentLayout();c=b.getRenderTo();if(c){b.render(c)}},addCls:function(a){this.el.addCls(a)},addClsWithUI:function(a){this.el.addCls(a)},afterComponentLayout:Ext.emptyFn,finishRender:function(){this.rendering=false;this.initBindable()},getComponentLayout:function(){var b=this,a=b.componentLayout;if(!a){a=b.componentLayout=new Ext.layout.component.Auto();a.setOwner(b)}return a},getTdCls:function(){return Ext.baseCSSPrefix+this.getTdType()+"-"+(this.ui||"default")+"-cell"},getTdType:function(){return this.xtype},getItemId:function(){return this.itemId||this.id},getSizeModel:function(){return Ext.Component.prototype.getSizeModel.apply(this,arguments)},onAdded:function(a,e,c){var d=this,b=d.inheritedState;d.ownerCt=a;if(b&&c){d.invalidateInheritedState()}if(d.reference){Ext.ComponentManager.markReferencesDirty()}},onRemoved:function(a){var b=this,c;if(b.reference){c=b.lookupReferenceHolder();if(c){c.clearReference(b)}}if(!a){b.removeBindings()}if(b.inheritedState&&!a){b.invalidateInheritedState()}b.ownerCt=b.ownerLayout=null},parseBox:function(a){return Ext.Element.parseBox(a)},removeCls:function(a){this.el.removeCls(a)},removeClsWithUI:function(a){this.el.removeCls(a)},render:function(a,e){var c=this,b=c.element,g=Ext.Component.prototype,d;if(!c.ownerCt||c.floating){if(Ext.scopeCss){b.addCls(g.rootCls)}b.addCls(g.borderBoxCls)}if(e){d=a.childNodes[e];if(d){Ext.fly(a).insertBefore(b,d);return}}Ext.fly(a).appendChild(b)},setPosition:function(a,b){this.el.setLocalXY(a,b)},up:function(){return Ext.Component.prototype.up.apply(this,arguments)},isAncestor:function(){return Ext.Component.prototype.isAncestor.apply(this,arguments)},onFocusEnter:function(){return Ext.Component.prototype.onFocusEnter.apply(this,arguments)},onFocusLeave:function(){return Ext.Component.prototype.onFocusLeave.apply(this,arguments)},focus:Ext.emptyFn,isFocusable:Ext.emptyFn},function(a){var b=a.prototype;if(Ext.isIE8){b.addElementReferenceOnDemand=b.addElementReference}});Ext.define("Ext.util.XTemplateParser",{constructor:function(a){Ext.apply(this,a)},doTpl:Ext.emptyFn,parse:function(r){var l=this,j=r.length,c={elseif:"elif"},w=l.topRe,b=l.actionsRe,i,q,p,k,v,n,h,u,d,e,a,o,g;l.level=0;l.stack=q=[];for(i=0;i<j;i=e){w.lastIndex=i;k=w.exec(r);if(!k){l.doText(r.substring(i,j));break}d=k.index;e=w.lastIndex;if(i<d){p=r.substring(i,d);if(!(g&&Ext.String.trim(p)==="")){l.doText(p)}}g=false;if(k[1]){e=r.indexOf("%}",d+2);l.doEval(r.substring(d+2,e));e+=2}else{if(k[2]){e=r.indexOf("]}",d+2);l.doExpr(r.substring(d+2,e));e+=2}else{if(k[3]){l.doTag(k[3])}else{if(k[4]){a=null;while((u=b.exec(k[4]))!==null){p=u[2]||u[3];if(p){p=Ext.String.htmlDecode(p);v=u[1];v=c[v]||v;a=a||{};n=a[v];if(typeof n=="string"){a[v]=[n,p]}else{if(n){a[v].push(p)}else{a[v]=p}}}}if(!a){if(l.elseRe.test(k[4])){l.doElse()}else{if(l.defaultRe.test(k[4])){l.doDefault()}else{l.doTpl();q.push({type:"tpl"})}}}else{if(a["if"]){l.doIf(a["if"],a);q.push({type:"if"})}else{if(a["switch"]){l.doSwitch(a["switch"],a);q.push({type:"switch"});g=true}else{if(a["case"]){l.doCase(a["case"],a)}else{if(a.elif){l.doElseIf(a.elif,a)}else{if(a["for"]){++l.level;if(o=l.propRe.exec(k[4])){a.propName=o[1]||o[2]}l.doFor(a["for"],a);q.push({type:"for",actions:a})}else{if(a.foreach){++l.level;if(o=l.propRe.exec(k[4])){a.propName=o[1]||o[2]}l.doForEach(a.foreach,a);q.push({type:"foreach",actions:a})}else{if(a.exec){l.doExec(a.exec,a);q.push({type:"exec",actions:a})}}}}}}}}}else{if(k[0].length===5){q.push({type:"tpl"})}else{h=q.pop();l.doEnd(h.type,h.actions);if(h.type=="for"||h.type=="foreach"){--l.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(c){var b=this,a=b.generate(c);return b.useEval?b.evalTpl(a):(new Function("Ext",a))(Ext)},generate:function(d){var c=this,b="var fm=Ext.util.Format,ts=Object.prototype.toString;",a;c.maxLevel=0;c.body=["var c0=values, a0="+c.createArrayTest(0)+", p0=parent, n0=xcount, i0=xindex, k0, v;\n"];if(c.definitions){if(typeof c.definitions==="string"){c.definitions=[c.definitions,b]}else{c.definitions.push(b)}}else{c.definitions=[b]}c.switches=[];c.parse(d);c.definitions.push((c.useEval?"$=":"return")+" function ("+c.fnArgs+") {",c.body.join(""),"}");a=c.definitions.join("\n");c.definitions.length=c.body.length=c.switches.length=0;delete c.definitions;delete c.body;delete c.switches;return a},doText:function(c){var a=this,b=a.body;c=c.replace(a.aposRe,"\\'").replace(a.newLineRe,"\\n");if(a.useIndex){b.push("out[out.length]='",c,"'\n")}else{b.push("out.push('",c,"')\n")}},doExpr:function(a){var b=this.body;b.push("if ((v="+a+") != null) out");if(this.useIndex){b.push("[out.length]=v+''\n")}else{b.push(".push(v+'')\n")}},doTag:function(b){var a=this.parseTag(b);if(a){this.doExpr(a)}else{this.doText("{"+b+"}")}},doElse:function(){this.body.push("} else {\n")},doEval:function(a){this.body.push(a,"\n")},doIf:function(a,b){var c=this;if(a==="."){c.body.push("if (values) {\n")}else{if(c.propNameRe.test(a)){c.body.push("if (",c.parseTag(a),") {\n")}else{c.body.push("if (",c.addFn(a),c.callFn,") {\n")}}if(b.exec){c.doExec(b.exec)}},doElseIf:function(a,b){var c=this;if(a==="."){c.body.push("else if (values) {\n")}else{if(c.propNameRe.test(a)){c.body.push("} else if (",c.parseTag(a),") {\n")}else{c.body.push("} else if (",c.addFn(a),c.callFn,") {\n")}}if(b.exec){c.doExec(b.exec)}},doSwitch:function(a){var c=this,b;if(a==="."||a==="#"){b=a==="."?"values":"xindex";c.body.push("switch (",b,") {\n")}else{if(c.propNameRe.test(a)){c.body.push("switch (",c.parseTag(a),") {\n")}else{c.body.push("switch (",c.addFn(a),c.callFn,") {\n")}}c.switches.push(0)},doCase:function(a){var e=this,b=Ext.isArray(a)?a:[a],g=e.switches.length-1,d,c;if(e.switches[g]){e.body.push("break;\n")}else{e.switches[g]++}for(c=0,g=b.length;c<g;++c){d=e.intRe.exec(b[c]);b[c]=d?d[1]:("'"+b[c].replace(e.aposRe,"\\'")+"'")}e.body.push("case ",b.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(d,a){var c=this,b=c.level-1;if(d=="for"||d=="foreach"){if(a.exec){c.doExec(a.exec)}c.body.push("}\n");c.body.push("parent=p",b,";values=r",b+1,";xcount=n"+b+";xindex=i",b,"+1;xkey=k",b,";\n")}else{if(d=="if"||d=="switch"){c.body.push("}\n")}}},doFor:function(a,b){var d=this,g,c=d.level,h=c-1,e;if(a==="."){g="values"}else{if(d.propNameRe.test(a)){g=d.parseTag(a)}else{g=d.addFn(a)+d.callFn}}if(d.maxLevel<c){d.maxLevel=c;d.body.push("var ")}if(a=="."){e="c"+c}else{e="a"+h+"?c"+h+"[i"+h+"]:c"+h}d.body.push("i",c,"=0,n",c,"=0,c",c,"=",g,",a",c,"=",d.createArrayTest(c),",r",c,"=values,p",c,",k",c,";\n","p",c,"=parent=",e,"\n","if (c",c,"){if(a",c,"){n",c,"=c",c,".length;}else if (c",c,".isMixedCollection){c",c,"=c",c,".items;n",c,"=c",c,".length;}else if(c",c,".isStore){c",c,"=c",c,".data.items;n",c,"=c",c,".length;}else{c",c,"=[c",c,"];n",c,"=1;}}\n","for (xcount=n",c,";i",c,"<n"+c+";++i",c,"){\n","values=c",c,"[i",c,"]");if(b.propName){d.body.push(".",b.propName)}d.body.push("\n","xindex=i",c,"+1\n");if(b.between){d.body.push('if(xindex>1){ out.push("',b.between,'"); } \n')}},doForEach:function(a,b){var d=this,g,c=d.level,h=c-1,e;if(a==="."){g="values"}else{if(d.propNameRe.test(a)){g=d.parseTag(a)}else{g=d.addFn(a)+d.callFn}}if(d.maxLevel<c){d.maxLevel=c;d.body.push("var ")}if(a=="."){e="c"+c}else{e="a"+h+"?c"+h+"[i"+h+"]:c"+h}d.body.push("i",c,"=-1,n",c,"=0,c",c,"=",g,",a",c,"=",d.createArrayTest(c),",r",c,"=values,p",c,",k",c,";\n","p",c,"=parent=",e,"\n","for(k",c," in c",c,"){\n","xindex=++i",c,"+1;\n","xkey=k",c,";\n","values=c",c,"[k",c,"];");if(b.propName){d.body.push(".",b.propName)}if(b.between){d.body.push('if(xindex>1){ out.push("',b.between,'"); } \n')}},createArrayTest:("isArray" in Array)?function(a){return"Array.isArray(c"+a+")"}:function(a){return"ts.call(c"+a+')==="[object Array]"'},doExec:function(a,b){var d=this,e="f"+d.definitions.length,c=d.guards[d.strict?0:1];d.definitions.push("function "+e+"("+d.fnArgs+") {",c.doTry," var $v = values; with($v) {","  "+a," }",c.doCatch,"}");d.body.push(e+d.callFn+"\n")},guards:[{doTry:"",doCatch:""},{doTry:"try { ",doCatch:' } catch(e) {\nExt.log.warn("XTemplate evaluation exception: " + e.message);\n}'}],addFn:function(a){var c=this,d="f"+c.definitions.length,b=c.guards[c.strict?0:1];if(a==="."){c.definitions.push("function "+d+"("+c.fnArgs+") {"," return values","}")}else{if(a===".."){c.definitions.push("function "+d+"("+c.fnArgs+") {"," return parent","}")}else{c.definitions.push("function "+d+"("+c.fnArgs+") {",b.doTry," var $v = values; with($v) {","  return("+a+")"," }",b.doCatch,"}")}}return d},parseTag:function(h){var e=this,c=e.tagRe.exec(h),g,b,a,d,i;if(!c){return null}g=c[1];b=c[2];a=c[3];d=c[4];if(g=="."){if(!e.validTypes){e.definitions.push("var validTypes={string:1,number:1,boolean:1};");e.validTypes=true}i='validTypes[typeof values] || ts.call(values) === "[object Date]" ? values : ""'}else{if(g=="#"){i="xindex"}else{if(g=="$"){i="xkey"}else{if(g.substr(0,7)=="parent."){i=g}else{if(isNaN(g)&&g.indexOf("-")==-1&&g.indexOf(".")!=-1){i="values."+g}else{i="values['"+g+"']"}}}}}if(d){i="("+i+d+")"}if(b&&e.useFormat){a=a?","+a:"";if(b.substr(0,5)!="this."){b="fm."+b+"("}else{b+="("}}else{return i}return b+i+a+")"},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,emptyObj:{},fn:null,strict:false,apply:function(b,a){return this.applyOut(b,[],a).join("")},applyOut:function(h,d,g){var c=this,a;if(!c.fn){a=new Ext.util.XTemplateCompiler({useFormat:c.disableFormats!==true,definitions:c.definitions,strict:c.strict});c.fn=a.compile(c.html)}if(c.strict){c.fn(d,h,g||c.emptyObj,1,1)}else{try{c.fn(d,h,g||c.emptyObj,1,1)}catch(b){Ext.log.warn("XTemplate evaluation exception: "+b.message)}}return d},compile:function(){return this},statics:{getTpl:function(a,b){var d=a[b],c;if(d&&!d.isTemplate){d=Ext.ClassManager.dynInstantiate("Ext.XTemplate",d);if(a.hasOwnProperty(b)){c=a}else{for(c=a.self.prototype;c&&!c.hasOwnProperty(b);c=c.superclass){}}c[b]=d;d.owner=c}return d||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(p,d,a){d=Ext.canonicalEventName(d);var m=this,b=m.bus,o=b[d],n,c,j,k,g,l,h,e;if(!o){return true}for(n in o){if(o.hasOwnProperty(n)&&m.match(p,n,m.controller)){c=o[n];for(j in c){if(c.hasOwnProperty(j)){k=c[j];if(k.controller.isActive()){g=k.list;l=g.length;for(h=0;h<l;h++){e=g[h];if(e.fire.apply(e,a)===false){return false}}}}}}}return true},listen:function(v,c){var o=this,a=o.bus,j=o.idProperty,p=o.monitoredClasses,q=p.length,d=c.getId(),l=(o.type==="component"),s=l?c.getRefMap():null,h,w,k,u,r,m,t,g,n,e,b;for(u in v){n=v[u];if(l){u=s[u]||u}if(n){if(j){if(!/^[*#]/.test(u)){Ext.Error.raise("Selectors containing id should begin with #")}u=u==="*"?u:u.substring(1)}for(e in n){r=null;m=n[e];t=c;e=Ext.canonicalEventName(e);g=new Ext.util.Event(c,e);if(Ext.isObject(m)){r=m;m=r.fn;t=r.scope||c;delete r.fn;delete r.scope}if((!r||!r.scope)&&typeof m==="string"){if(!t[m]){Ext.Error.raise('Cannot resolve "'+m+'" on controller.')}t=null}else{if(typeof m==="string"){m=t[m]}}g.addListener(m,t,r);for(h=0;h<q;++h){b=p[h].hasListeners;if(b){b._incr_(e)}}w=a[e]||(a[e]={});w=w[u]||(w[u]={});k=w[d]||(w[d]={controller:c,list:[]});k.list.push(g)}}}},match:function(c,b){var a=this.idProperty;if(a){return b==="*"||c[a]===b}return false},monitor:function(c){var b=this,d=c.isInstance?c:c.prototype,a=d.doFireEvent;b.monitoredClasses.push(c);d.doFireEvent=function(g,e){var h=a.apply(this,arguments);if(h!==false&&!this.isSuspended(g)){h=b.dispatch(this,g,e)}return h}},unlisten:function(c){var a=this.bus,k=c,p=this.monitoredClasses,q=p.length,d,e,g,o,m,r,s,h,n,l,b;if(c.isController){k=c.getId()}for(e in a){e=Ext.canonicalEventName(e);if(a.hasOwnProperty(e)&&(s=a[e])){for(r in s){d=s[r];l=d[k];if(l){g=l.list;if(g){for(h=0,o=g.length;h<o;++h){m=g[h];m.clearListeners();for(n=0;n<q;++n){b=p[n].hasListeners;if(b){b._decr_(m.name)}}}delete d[k]}}}}}},destroy:function(){this.monitoredClasses=this.bus=null}});Ext.define("Ext.app.domain.Component",{extend:Ext.app.EventDomain,singleton:true,type:"component",constructor:function(){this.callParent();this.monitor(Ext.Widget)},dispatch:function(e,d,a){var b=e.lookupController(false),c,g;while(b){c=b.compDomain;if(c){if(c.dispatch(e,d,a)===false){return false}}g=b.getView();b=g?g.lookupController(true):null}return this.callParent(arguments)},match:function(b,a){return b.is(a)}});Ext.define("Ext.util.ProtoElement",function(){var a=Ext.String.splitWords,b=Ext.Array.toMap;return{isProtoEl:true,clsProp:"cls",styleProp:"style",removedProp:"removed",styleIsText:false,constructor:function(d){var e=this,c,g;if(d){Ext.apply(e,d);c=e.cls;g=e.style;delete e.cls}e.classList=c?a(c):[];e.classMap=c?b(e.classList):{};if(g){if(typeof g==="string"){e.style=Ext.Element.parseStyles(g)}else{if(Ext.isFunction(g)){e.styleFn=g;delete e.style}else{e.style=Ext.apply({},g)}}}},flush:function(){this.flushClassList=[];this.removedClasses={};delete this.style;delete this.unselectableAttr},addCls:function(g){if(!g){return this}var n=this,d=(typeof g==="string")?a(g):g,k=d.length,l=n.classList,m=n.classMap,h=n.flushClassList,j=0,e;for(;j<k;++j){e=d[j];if(!m[e]){m[e]=true;l.push(e);if(h){h.push(e);delete n.removedClasses[e]}}}return n},hasCls:function(c){return c in this.classMap},removeCls:function(e){var l=this,j=l.classList,m=(l.classList=[]),n=b(a(e)),h=j.length,k=l.classMap,o=l.removedClasses,g,d;for(g=0;g<h;++g){d=j[g];if(n[d]){if(o){if(k[d]){o[d]=true;Ext.Array.remove(l.flushClassList,d)}}delete k[d]}else{m.push(d)}}return l},setStyle:function(d,g){var c=this,e=c.style||(c.style={});if(typeof d==="string"){if(arguments.length===1){c.setStyle(Ext.Element.parseStyles(d))}else{e[d]=g}}else{Ext.apply(e,d)}return c},unselectable:function(){this.addCls(Ext.dom.Element.unselectableCls);if(Ext.isOpera){this.unselectableAttr=true}},writeTo:function(h){var d=this,c=d.flushClassList||d.classList,e=d.removedClasses,g;if(d.styleFn){g=Ext.apply({},d.styleFn());Ext.apply(g,d.style)}else{g=d.style}h[d.clsProp]=c.join(" ");if(g){h[d.styleProp]=d.styleIsText?Ext.DomHelper.generateStyles(g,null,true):g}if(e){e=Ext.Object.getKeys(e);if(e.length){h[d.removedProp]=e.join(" ")}}if(d.unselectableAttr){h.unselectable="on"}return h}}});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.Factory=function(b){var a=this;a.aliasPrefix=b+".";a.cache={};a.name=b.replace(a.fixNameRe,a.fixNameFn);a.type=b};Ext.Factory.prototype={defaultProperty:"type",instanceProp:"isInstance",create:function(d,e){var i=this,h=Ext.ClassManager,b=i.cache,a,c,g,j;if(d){if(d[i.instanceProp]){return d}if(typeof d==="string"){j=d;d={};d[i.defaultProperty]=j}c=d.xclass;j=d.type}if(c){if(!(g=h.get(c))){return h.instantiate(c,d)}}else{if(!(j=j||e||i.defaultType)){g=i.defaultClass}if(!j&&!g){Ext.Error.raise("No type specified for "+i.type+".create")}if(!g&&!(g=b[j])){a=i.aliasPrefix+j;c=h.getNameByAlias(a);if(!(g=c&&h.get(c))){return h.instantiateByAlias(a,d)}b[j]=g}}return g.isInstance?g:new g(d)},fixNameRe:/\.[a-z]/ig,fixNameFn:function(a){return a.substring(1).toUpperCase()},clearCache:function(){this.cache={}}};Ext.Factory.define=function(g,a){var d=Ext.Factory,b,c,e;if(g.constructor===Object){Ext.Object.each(g,d.define,d)}else{c=new Ext.Factory(g);if(a){if(a.constructor===Object){Ext.apply(c,a);if(typeof(b=c.xclass)==="string"){c.defaultClass=Ext.ClassManager.get(b)}}else{c.defaultType=a}}d[c.name]=e=c.create.bind(c);e.instance=c}return e};Ext.define("Ext.mixin.Factoryable",{mixinId:"factoryable",onClassMixedIn:function(h){var g=h.prototype,e=g.factoryConfig,a=g.alias,b={},d,c;a=a&&a.length&&a[0];if(a&&(d=a.lastIndexOf("."))>0){b.type=a.substring(0,d);b.defaultType=a.substring(d+1)}if(e){delete g.factoryConfig;Ext.apply(b,e)}c=Ext.Factory.define(b.type,b);if(h.create===Ext.Base.create){h.create=c}}});Ext.define("Ext.scroll.Scroller",{extend:Ext.Evented,alias:"scroller.scroller",mixins:[Ext.mixin.Factoryable],factoryConfig:{defaultType:"dom"},isScroller:true,config:{direction:undefined,directionLock:false,disabled:null,element:undefined,indicators:null,maxPosition:null,maxUserPosition:null,minPosition:{x:0,y:0},minUserPosition:{x:0,y:0},momentumEasing:null,size:null,x:true,y:true},statics:{create:function(a){return Ext.Factory.scroller(a,Ext.supports.Touch?"touch":"dom")}},constructor:function(a){var b=this;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,a){var b=this,e=b._partners||(b._partners={}),c=d._partners||(d._partners={});e[d.getId()]={scroller:d,axis:a};c[b.getId()]={scroller:b,axis:a}},applyElement:function(b,e){var d=this,a,c;if(e){d.scrollListener.destroy()}if(b){if(b.isElement){a=b}else{a=Ext.get(b);if(!a&&(typeof b==="string")){Ext.Error.raise("Cannot create Ext.scroll.Scroller instance. Element with id '"+b+"' not found.")}}if(a.dom===document.documentElement){c=Ext.getWin()}else{c=a}d.scrollListener=c.on({scroll:d.onDomScroll,scope:d,destroyable:true});return a}},updateDirectionLock:Ext.emptyFn,updateDisabled:Ext.emptyFn,updateIndicators:Ext.emptyFn,updateMaxPosition:Ext.emptyFn,updateMaxUserPosition:Ext.emptyFn,updateMinPosition:Ext.emptyFn,updateMinUserPosition:Ext.emptyFn,updateMomenumEasing:Ext.emptyFn,updateSize:Ext.emptyFn,updateX:Ext.emptyFn,updateY: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(b,c,a){var d=this.getPosition();if(b){if(b.length){a=c;c=b[1];b=b[0]}else{if(typeof b!=="number"){a=c;c=b.y;b=b.x}}}b=(typeof b==="number")?b+d.x:null;c=(typeof c==="number")?c+d.y:null;return this.doScrollTo(b,c,a)},scrollIntoView:function(b,d,a,c){var e=this,k=e.getPosition(),h,i,j,g=e.getElement();if(b){h=Ext.fly(b).getScrollIntoViewXY(g,k.x,k.y);i=(d===false)?k.x:h.x;j=h.y;if(c){e.on({scrollend:"doHighlight",scope:e,single:true,args:[b,c]})}e.doScrollTo(i,j,a)}},isInView:function(a){var c=this,g={x:false,y:false},b,d=c.getElement(),e;if(a&&d.contains(a)){e=d.getRegion();b=Ext.fly(a).getRegion();g.x=b.right>e.left&&b.left<e.right;g.y=b.bottom>e.top&&b.top<e.bottom}return g},scrollTo:function(c,d,a){var b;if(c){if(c.length){a=d;d=c[1];c=c[0]}else{if(typeof c!=="number"){a=d;d=c.y;c=c.x}}}if(c<0||d<0){b=this.getMaxPosition();if(c<0){c+=b.x}if(d<0){d+=b.y}}this.doScrollTo(c,d,a)},updateDirection:function(a){var b=this,c,d;if(!a){c=b.getX();d=b.getY();if(c&&d){a=(d==="scroll"&&c==="scroll")?"both":"auto"}else{if(d){a="vertical"}else{if(c){a="horizontal"}}}b._direction=a}else{if(a==="auto"){c=true;d=true}else{if(a==="vertical"){c=false;d=true}else{if(a==="horizontal"){c=true;d=false}else{if(a==="both"){c="scroll";d="scroll"}}}}b.setX(c);b.setY(d)}},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:{convertX:function(a){return a},doHighlight:function(a,b){if(b!==true){Ext.fly(a).highlight(b)}else{Ext.fly(a).highlight()}},fireScrollStart:function(c,d){var b=this,a=b.component;b.invokePartners("onPartnerScrollStart",c,d);if(b.hasListeners.scrollstart){b.fireEvent("scrollstart",b,c,d)}if(a&&a.onScrollStart){a.onScrollStart(c,d)}Ext.GlobalEvents.fireEvent("scrollstart",b,c,d)},fireScroll:function(c,d){var b=this,a=b.component;b.invokePartners("onPartnerScroll",c,d);if(b.hasListeners.scroll){b.fireEvent("scroll",b,c,d)}if(a&&a.onScrollMove){a.onScrollMove(c,d)}Ext.GlobalEvents.fireEvent("scroll",b,c,d)},fireScrollEnd:function(c,d){var b=this,a=b.component;b.invokePartners("onPartnerScrollEnd",c,d);if(b.hasListeners.scrollend){b.fireEvent("scrollend",b,c,d)}if(a&&a.onScrollEnd){a.onScrollEnd(c,d)}Ext.GlobalEvents.fireEvent("scrollend",b,c,d)},initXStyle:function(){var a=this.getElement(),b=this.getX();if(a&&a.dom){if(a.dom===document.body){a=Ext.get(document.documentElement)}if(!b){b="hidden"}else{if(b===true){b="auto"}}a.setStyle("overflow-x",b)}},initYStyle:function(){var a=this.getElement(),b=this.getY();if(a&&a.dom){if(a.dom===document.body){a=Ext.get(document.documentElement)}if(!b){b="hidden"}else{if(b===true){b="auto"}}a.setStyle("overflow-y",b)}},invokePartners:function(b,e,g){var d=this._partners,c,a;if(!this.suspendSync){for(a in d){c=d[a].scroller;c[b](this,e,g)}}},suspendPartnerSync:function(){this.suspendSync=(this.suspendSync||0)+1},resumePartnerSync:function(){if(this.suspendSync){this.suspendSync--}},onDomScroll:function(){var b=this,c=b.getPosition(),d=c.x,e=c.y,a;if(b.isTouchScroller&&Ext.supports.touchScroll===2){a=b.getElement().dom;a.scrollTop=a.scrollLeft=0;return}if(!b.isScrolling){b.isScrolling=true;b.fireScrollStart(d,e)}b.fireScroll(d,e);b.onDomScrollEnd()},onDomScrollEnd:function(){var a=this,b=a.getPosition(),c=b.x,d=b.y;a.isScrolling=false;a.trackingScrollLeft=c;a.trackingScrollTop=d;a.fireScrollEnd(c,d)},onPartnerScroll:function(b,c,d){var a=b._partners[this.getId()].axis;if(a){if(a==="x"){d=null}else{if(a==="y"){c=null}}}this.doScrollTo(c,d,false,true)},restoreState:function(){var c=this,b=c.getElement(),a;if(b){a=b.dom;if(c.trackingScrollTop!==undefined){a.scrollTop=c.trackingScrollTop;a.scrollLeft=c.trackingScrollLeft}}},onPartnerScrollStart:function(){this.suspendPartnerSync()},onPartnerScrollEnd:function(){this.resumePartnerSync()}}});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(a){var b=Math.log(1-(a/10));this.theta=b;this.alpha=b/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 a=Ext.Date.now()-this.getStartTime(),c=(a/this.getAcceleration()),b=c*Math.pow(Math.E,-this.getSpringTension()*c);return this.getStartValue()+(this.getStartVelocity()*b)}});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 h=this.getMomentum(),a=this.getBounce(),i=h.getStartVelocity(),c=i>0?1:-1,g=this.getMinMomentumValue(),e=this.getMaxMomentumValue(),b=(c==1)?e:g,d=this.lastValue,j,k;if(i===0){return this.getStartValue()}if(!this.isOutOfBound){j=h.getValue();k=h.getVelocity();if(Math.abs(k)<this.getMinVelocity()){this.isEnded=true}if(j>=g&&j<=e){return j}this.isOutOfBound=true;a.setStartTime(Ext.Date.now()).setStartVelocity(k).setStartValue(b)}j=a.getValue();if(!this.isEnded){if(!this.isBouncingBack){if(d!==null){if((c==1&&j<d)||(c==-1&&j>d)){this.isBouncingBack=true}}}else{if(Math.round(j)==b){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 b=Ext.Date.now()-this.getStartTime(),d=this.getDuration(),g=this.getStartValue(),e=this.getEndValue(),c=this.distance,h=b/d,i=1-h,j=1-Math.pow(i,this.getExponent()),a=g+(j*c);if(b>=d){this.isEnded=true;return e}return a}});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(b,c,a){if(a){return this.translateAnimated(b,c,a)}if(this.isAnimating){this.stopAnimation()}if(!isNaN(b)&&typeof b=="number"){this.x=b}if(!isNaN(c)&&typeof c=="number"){this.y=c}this.doTranslate(b,c)},translateAxis:function(b,c,a){var d,e;if(b=="x"){d=c}else{e=c}return this.translate(d,e,a)},getPosition:function(){var a=this,b=a.position;b.x=-a.x;b.y=-a.y;return b},animate:function(a,b){this.activeEasingX=a;this.activeEasingY=b;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(h,i,a){var e=this;if(!Ext.isObject(a)){a={}}if(e.isAnimating){e.stopAnimation()}e.callback=a.callback;e.callbackScope=a.scope;var g=Ext.Date.now(),b=a.easing,c=(typeof h=="number")?(a.easingX||b||e.getEasingX()||true):null,d=(typeof i=="number")?(a.easingY||b||e.getEasingY()||true):null;if(c){c=e.factoryEasing(c);c.setStartTime(g);c.setStartValue(e.x);c.setEndValue(h);if("duration" in a){c.setDuration(a.duration)}}if(d){d=e.factoryEasing(d);d.setStartTime(g);d.setStartValue(e.y);d.setEndValue(i);if("duration" in a){d.setDuration(a.duration)}}return e.animate(c,d)},doAnimationFrame:function(){var c=this,a=c.activeEasingX,b=c.activeEasingY,d=Date.now(),e,g;if(!c.isAnimating){return}c.lastRun=d;if(a===null&&b===null){c.stopAnimation();return}if(a!==null){c.x=e=Math.round(a.getValue());if(a.isEnded){c.activeEasingX=null;c.fireEvent("axisanimationend",c,"x",e)}}else{e=c.x}if(b!==null){c.y=g=Math.round(b.getValue());if(b.isEnded){c.activeEasingY=null;c.fireEvent("axisanimationend",c,"y",g)}}else{g=c.y}if(c.lastX!==e||c.lastY!==g){c.doTranslate(e,g);c.lastX=e;c.lastY=g}c.fireEvent("animationframe",c,e,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(arguments)}});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(b,c){var a=this.getElement();if(!this.isDestroyed&&!a.isDestroyed){a.translate(b,c)}},destroy:function(){var a=this.getElement();if(a&&!a.isDestroyed){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(c,d){var b=this.getWrapper(),a;if(b){a=b.dom;if(typeof c=="number"){a.scrollLeft=500000-c}if(typeof d=="number"){a.scrollTop=500000-d}}},destroy:function(){var a=this.getElement(),b=this.wrapper;if(b){if(!a.isDestroyed){if(this.getUseWrapper()){b.doReplaceWith(a)}a.removeCls(Ext.baseCSSPrefix+"translatable")}if(!b.isDestroyed){b.removeCls(Ext.baseCSSPrefix+"translatable-container");b.un("painted","refresh",this)}delete this.wrapper;delete this._element}this.callParent()}});Ext.define("Ext.util.translatable.ScrollParent",{extend:Ext.util.translatable.Dom,isScrollParent:true,applyElement:function(b){var a=Ext.get(b);if(a){this.parent=a.parent()}return a},doTranslate:function(b,c){var a=this.parent;a.setScrollLeft(Math.round(-b));a.setScrollTop(Math.round(-c))},getPosition:function(){var a=this,c=a.position,b=a.parent;c.x=b.getScrollLeft();c.y=b.getScrollTop();return c}});Ext.define("Ext.util.translatable.CssPosition",{extend:Ext.util.translatable.Dom,doTranslate:function(b,c){var a=this.getElement().dom.style;if(typeof b=="number"){a.left=b+"px"}if(typeof c=="number"){a.top=c+"px"}},destroy:function(){var a=this.getElement().dom.style;a.left=null;a.top=null;this.callParent(arguments)}});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(b){var c=this,a;c.callParent([b]);a=c.getAxis();c.names=c.names[a];c.element.addCls(c.cls+" "+c.cls+"-"+a)},hide:function(){var b=this,a=b.getHideDelay();if(a){b._hideTimer=Ext.defer(b.doHide,a,b)}else{b.doHide()}},setValue:function(p){var j=this,c=j.element,l=j.names,a=j.getAxis(),o=j.getScroller(),i=o.getMaxUserPosition()[a],d=o.getElementSize()[a],b=j.length,k=j.getMinLength(),e=b,h=d-b-j.sizeAdjust,n=Math.round,g=Math.max,m;if(p<0){e=n(g(b+(b*p/d),k));m=0}else{if(p>i){e=n(g(b-(b*(p-i)/d),k));m=h+b-e}else{m=n(p/i*h)}}j[l.translate](m);c[l.setLength](e)},show:function(){var c=this,b=c.element,a=b.getActiveAnimation();if(a){a.end()}if(b.stopAnimation){b.stopAnimation()}if(!c._inDom){c.getScroller().getElement().appendChild(b);c._inDom=true;if(!c.size){c.cacheStyles()}}c.refreshLength();clearTimeout(c._hideTimer);b.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 a=this.getHideAnimation(),b=this.element;if(a){b.animate(a)}else{b.setStyle("opacity",0)}},hasOpposite:function(){return this.getScroller().isAxisEnabled(this.oppositeAxis[this.getAxis()])},onHideAnimationEnd:function(){this.element.setStyle("opacity","0")},refreshLength:function(){var e=this,g=e.names,a=e.getAxis(),i=e.getScroller(),j=i.getSize()[a],c=i.getElementSize()[a],h=c/j,b=e.margin*2,k=e.hasOpposite()?(b+e.size):b,d=Math.max(Math.round((c-k)*h),e.getMinLength());e.sizeAdjust=k;e.length=d;e.element[g.setLength](d)},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},slotSnapSize:{x:0,y:0},slotSnapOffset:{x:0,y:0},startMomentumResetTime:300,translatable:{translationMethod:"auto",useWrapper:false},refreshOnIdle:true},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.position={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()},applyRefreshOnIdle:function(c,b){var a=this;if(c){Ext.GlobalEvents.on("idle",a.onIdle,a)}else{if(b){Ext.GlobalEvents.un("idle",a.onIdle,a)}}return c},applyBounceEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applyElementSize:function(c){var b=this.getElement(),a,d,e;if(!b){return null}a=b.dom;if(!a){return}if(c==null){d=a.clientWidth;e=a.clientHeight}else{d=c.x;e=c.y}return{x:d,y:e}},applyIndicators:function(a,c){var b=this,e,h,d,g;if(a){if(a===true){e=h={}}else{d=a.x;g=a.y;if(d||g){e=(d==null||d===true)?{}:d;h=(d==null||g===true)?{}:g}else{e=h=a}}if(c){if(e){c.x.setConfig(e)}else{c.x.destroy();c.x=null}if(h){c.y.setConfig(h)}else{c.y.destroy();c.y=null}a=c}else{a={x:null,y:null};if(e){a.x=new Ext.scroll.Indicator(Ext.applyIf({axis:"x",scroller:b,hideDelay:100},e))}if(h){a.y=new Ext.scroll.Indicator(Ext.applyIf({axis:"y",scroller:b,hideDelay:100},h))}}}else{if(c){c.x=c.y=Ext.destroy(c.x,c.y)}}return a},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)}if(this.isConfiguring&&!a){Ext.Error.raise("Cannot create Ext.scroll.TouchScroller instance with null innerElement")}return a},applySize:function(e,c){var b,a,d,g,h;if(e==null){b=this.getElement();if(!b){return null}a=b.dom;d=this.getInnerElement().dom;g=Math.max(d.scrollWidth,a.clientWidth);h=Math.max(d.scrollHeight,a.clientHeight)}else{if(typeof e==="number"){g=e;h=e}else{g=e.x;h=e.y}}if(c&&c.x===g&&c.y===h){e=undefined}else{e={x:g,y:h}}return e},applySlotSnapOffset:function(a){if(typeof a==="number"){return{x:a,y:a}}return a},applySlotSnapSize:function(a){if(typeof a==="number"){return{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(a,b){return Ext.factory(a,Ext.util.Translatable,b)},destroy:function(){var c=this,a=c.getElement(),b=c.getInnerElement(),d=c.sizeMonitors;if(d){d.element.destroy();d.container.destroy()}if(a&&!a.isDestroyed){a.removeCls(c.cls)}if(b&&!b.isDestroyed){b.removeCls(c.scrollerCls)}if(c._isWrapped){if(!a.isDestroyed){c.unwrapContent()}b.destroy();if(c.FixedHBoxStretching){b.parent().destroy()}}c.setElement(null);c.setInnerElement(null);Ext.GlobalEvents.un("idle",c.onIdle,c);Ext.destroy(c.getTranslatable());c.callParent(arguments)},getPosition:function(){return this.position},refresh:function(a,b){++this.refreshCounter;if(a){this.doRefresh(b)}},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(a,g){var e=this,c=e.getInnerElement(),b=this.FixedHBoxStretching,d;if(!c){c=a.dom.firstChild;if(b&&c){c=c.dom.firstChild}if(!c||c.nodeType!==1||!Ext.fly(c).hasCls(e.scrollerCls)){c=e.wrapContent(a)}e.setInnerElement(c)}if(!b){a.addCls(e.cls)}if(e.isConfiguring){if(!e.getTranslatable().isScrollParent){a.dom.style.overflowX=a.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){if(e.getAutoRefresh()){e.toggleResizeListeners(true)}e.setSize(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(){if(!this.isConfiguring){this.refreshAxes()}},updateTranslatable:function(a){a.setElement(this.getInnerElement());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(c){var b=this,d,a;if(b.refreshCounter&&b.getElement()){b.stopAnimation();b.getTranslatable().refresh();if(c){d=c.size;a=c.elementSize;if(d){b.setSize(d)}if(a){b.setElementSize(a)}}else{b.setSize(null);b.setElementSize(null)}b.fireEvent("refresh",b);b.refreshCounter=0}},doScrollTo:function(l,m,b,a){var e=this,d=e.isDragging,c;if(e.isDestroyed||!e.getElement()){return e}a=a||e.isDragging;var i=e.getTranslatable(),g=e.position,h=false,j,k;if(!d||e.isAxisEnabled("x")){if(isNaN(l)||typeof l!=="number"){l=g.x}else{if(!a){l=e.constrainX(l)}if(g.x!==l){g.x=l;h=true}}j=e.convertX(-l)}if(!d||e.isAxisEnabled("y")){if(isNaN(m)||typeof m!=="number"){m=g.y}else{if(!a){m=e.constrainY(m)}if(g.y!==m){g.y=m;h=true}}k=-m}if(h){if(b){c=function(){e.onScroll()};if(b===true){b={callback:c}}else{if(b.callback){b.callback=Ext.Function.createSequence(b.callback,c)}else{b.callback=c}}i.translateAnimated(j,k,b)}else{i.translate(j,k);e.onScroll()}}return e},getAnimationEasing:function(a,g){if(!this.isAxisEnabled(a)){return null}var m=this,c=m.position[a],n=m.getMinUserPosition()[a],l=m.getMaxUserPosition()[a],k=m.getMaxAbsoluteVelocity(),b=null,d=m.dragEndTime,o=g.flick.velocity[a],j=a==="x",i,h;if(c<n){b=n}else{if(c>l){b=l}}if(j){c=m.convertX(c);b=m.convertX(b)}if(b!==null){h=m.getBounceEasing()[a];h.setConfig({startTime:d,startValue:-c,endValue:-b});return h}if(o===0){return null}if(o<-k){o=-k}else{if(o>k){o=k}}if(Ext.browser.is.IE){o*=2}h=m.getMomentumEasing()[a];i={startTime:d,startValue:-c,startVelocity:o*1.5,minMomentumValue:-l,maxMomentumValue:0};if(j){m.convertEasingConfig(i)}h.setConfig(i);return h},getSnapPosition:function(a){var c=this,i=c.getSlotSnapSize()[a],h=null,e,g,b,d;if(i!==0&&c.isAxisEnabled(a)){e=c.position[a];g=c.getSlotSnapOffset()[a];b=c.getMaxUserPosition()[a];d=Math.floor((e-g)%i);if(d!==0){if(e!==b){if(Math.abs(d)>i/2){h=Math.min(b,e+((d>0)?i-d:d-i))}else{h=e-d}}else{h=e-d}}}return h},hideIndicators:function(){var b=this,a=b.getIndicators(),c,d;if(a){if(b.isAxisEnabled("x")){c=a.x;if(c){c.hide()}}if(b.isAxisEnabled("y")){d=a.y;if(d){d.hide()}}}},isAxisEnabled:function(a){this.getX();this.getY();return this.isAxisEnabledFlags[a]},onAnimationEnd:function(){this.snapToBoundary();this.onScrollEnd()},onAnimationFrame:function(b,c,d){var a=this.position;a.x=this.convertX(-c);a.y=-d;this.onScroll()},onAxisDrag:function(a,c){if(!this.isAxisEnabled(a)){return}var m=this,g=m.flickStartPosition,h=m.flickStartTime,k=m.lastDragPosition,e=m.dragDirection,p=m.position[a],n=m.getMinUserPosition()[a],l=m.getMaxUserPosition()[a],r=m.startPosition[a],i=k[a],b=r-c,j=e[a],q=m.getOutOfBoundRestrictFactor(),s=m.getStartMomentumResetTime(),o=Ext.Date.now(),d;if(b<n){b*=q}else{if(b>l){d=b-l;b=l+d*q}}if(b>i){e[a]=1}else{if(b<i){e[a]=-1}}if((j!==0&&(e[a]!==j))||(o-h[a])>s){g[a]=p;h[a]=o}k[a]=b},onDomScroll:function(){var b=this,a,c;if(b.getTranslatable().isScrollParent){a=b.getElement().dom;c=b.position;c.x=a.scrollLeft;c.y=a.scrollTop}b.callParent()},onDrag:function(a){var c=this,b=c.lastDragPosition;if(!c.isDragging){return}c.onAxisDrag("x",c.convertX(a.deltaX));c.onAxisDrag("y",a.deltaY);c.doScrollTo(b.x,b.y)},onDragEnd:function(a){var d=this,b,c;if(!d.isDragging){return}d.dragEndTime=Ext.Date.now();d.onDrag(a);d.isDragging=false;b=d.getAnimationEasing("x",a);c=d.getAnimationEasing("y",a);if(b||c){d.getTranslatable().animate(b,c)}else{d.onScrollEnd()}},onDragStart:function(i){var m=this,d=m.getDirection(),a=i.absDeltaX,b=i.absDeltaY,g=m.getDirectionLock(),o=m.startPosition,j=m.flickStartPosition,k=m.flickStartTime,l=m.lastDragPosition,c=m.position,h=m.dragDirection,p=c.x,q=c.y,n=Ext.Date.now();m.isDragging=true;if(g&&d!=="both"){if((d==="horizontal"&&a>b)||(d==="vertical"&&b>a)){i.stopPropagation()}else{m.isDragging=false;return}}l.x=p;l.y=q;j.x=p;j.y=q;o.x=p;o.y=q;k.x=n;k.y=n;h.x=0;h.y=0;m.dragStartTime=n;m.isDragging=true;m.onScrollStart()},onElementResize:function(a,b){this.refresh(true,{elementSize:{x:b.width,y:b.height}})},onElementScroll:function(a,b){b.scrollTop=b.scrollLeft=0},onEvent:function(b){var c=this,a=b.browserEvent;if((!c.self.isTouching||c.isTouching)&&((!c.getTranslatable().isScrollParent)||(!c.isMouseEvent[a.type]&&a.pointerType!=="mouse"))&&(c.getY()||c.getX())){c[c.listenerMap[b.type]](b)}},onIdle:function(){this.doRefresh()},onInnerElementResize:function(a,b){this.refresh(true,{size:{x:b.width,y:b.height}})},onMouseWheel:function(d){var i=this,a=d.getWheelDeltas(),b=-a.x,c=-a.y,l=i.position,h=i.getMaxUserPosition(),k=i.getMinUserPosition(),g=Math.max,j=Math.min,m=g(j(l.x+b,h.x),k.x),n=g(j(l.y+c,h.y),k.y);b=m-l.x;c=n-l.y;if(!b&&!c){return}d.stopEvent();i.onScrollStart();i.scrollBy(b,c);i.onScroll();i.onScrollEnd()},onPartnerScrollEnd:function(){this.hideIndicators()},onPartnerScrollStart:function(){this.showIndicators()},onScroll:function(){var b=this,c=b.position,d=c.x,g=c.y,a=b.getIndicators(),e,h;if(a){if(b.isAxisEnabled("x")){e=a.x;if(e){e.setValue(d)}}if(b.isAxisEnabled("y")){h=a.y;if(h){h.setValue(g)}}}b.fireScroll(d,g)},onScrollEnd:function(){var a=this,b=a.position;a.hideIndicators();if(!a.isTouching&&!a.snapToSlot()){a.fireScrollEnd(b.x,b.y)}a.isScrolling=Ext.isScrolling=false},onScrollStart:function(){var a=this,b=a.position;a.showIndicators();a.isScrolling=Ext.isScrolling=true;a.fireScrollStart(b.x,b.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;Ext.getDoc().on({touchend:"onTouchEnd",scope:a,single:true});a.stopAnimation();a.isTouching=a.self.isTouching=true},refreshAxes:function(){var g=this,b=g.isAxisEnabledFlags,h=g.getSize(),a=g.getElementSize(),c=g.getIndicators(),d,e,i,k,j,l;if(!h||!a){return}d=Math.max(0,h.x-a.x);e=Math.max(0,h.y-a.y);i=g.getX();k=g.getY();g.setMaxPosition({x:d,y:e});if(i===true||i==="auto"){b.x=!!d}else{if(i===false){b.x=false;j=c&&c.x;if(j){j.hide()}}else{if(i==="scroll"){b.x=true}}}if(k===true||k==="auto"){b.y=!!e}else{if(k===false){b.y=false;l=c&&c.y;if(l){l.hide()}}else{if(k==="scroll"){b.y=true}}}g.setMaxUserPosition({x:b.x?d:0,y:b.y?e:0});if(Ext.supports.touchScroll===1){g.initXStyle();g.initYStyle()}},showIndicators:function(){var b=this,a=b.getIndicators(),c,d;if(a){if(b.isAxisEnabled("x")){c=a.x;if(c){c.show()}}if(b.isAxisEnabled("y")){d=a.y;if(d){d.show()}}}},snapToBoundary:function(){if(this.isConfiguring){return}var d=this,i=d.position,e=d.getMinUserPosition(),a=d.getMaxUserPosition(),g=e.x,h=e.y,b=a.x,c=a.y,j=Math.round(i.x),k=Math.round(i.y);if(j<g){j=g}else{if(j>b){j=b}}if(k<h){k=h}else{if(k>c){k=c}}d.doScrollTo(j,k)},snapToSlot:function(){var b=this,c=b.getSnapPosition("x"),d=b.getSnapPosition("y"),a=b.getSlotSnapEasing();if(c!==null||d!==null){b.doScrollTo(c,d,{easingX:a.x,easingY:a.y});return true}return false},stopAnimation:function(){this.getTranslatable().stopAnimation()},toggleResizeListeners:function(d){var b=this,a=b.getElement(),c=d?"on":"un";if(a){a[c]("resize","onElementResize",b);b.getInnerElement()[c]("resize","onInnerElementResize",b)}},unwrapContent:function(){var c=this.getInnerElement().dom,b=this.getElement().dom,a;while((a=c.firstChild)){b.insertBefore(a,c)}},wrapContent:function(c){var d=document.createElement("div"),b=c.dom,a;while(a=b.lastChild){d.insertBefore(a,d.firstChild)}b.appendChild(d);this.setInnerElement(d);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(),c=0,d=0,a;if(b&&!b.isDestroyed){a=b.dom;c=a.scrollWidth-a.clientWidth;d=a.scrollHeight-a.clientHeight}return{x:c,y:d}},getMaxUserPosition:function(){var c=this,b=c.getElement(),d=0,e=0,a;if(b&&!b.isDestroyed){a=b.dom;if(c.getX()){d=a.scrollWidth-a.clientWidth}if(c.getY()){e=a.scrollHeight-a.clientHeight}}return{x:d,y:e}},getPosition:function(){var a=this.getElement(),c=0,d=0,b;if(a&&!a.isDestroyed){b=this.getElementScroll(a);c=b.left;d=b.top}return{x:c,y:d}},getSize:function(){var b=this.getElement(),c,a;if(b&&!b.isDestroyed){a=b.dom;c={x:a.scrollWidth,y:a.scrollHeight}}else{c={x:0,y:0}}return c},setSize:Ext.emptyFn,updateElement:function(a,b){this.initXStyle();this.initYStyle()},updateX:function(a){this.initXStyle()},updateY:function(a){this.initYStyle()},privates:{doScrollTo:function(h,j,a){var e=this,c=e.getElement(),d,b,g,i,k;if(c&&!c.isDestroyed){b=this.getElement().dom;i=(h===Infinity);k=(j===Infinity);if(i||k){d=e.getMaxPosition();if(i){h=d.x}if(k){j=d.y}}h=e.convertX(h);if(a){g={};if(j!=null){g.scrollTop=j}if(h!=null){g.scrollLeft=h}c.animate(Ext.mergeIf({to:{scrollTop:j,scrollLeft:h}},a))}else{if(j!=null){b.scrollTop=j}if(h!=null){b.scrollLeft=h}}}},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.documentElement})})});Ext.define("Ext.util.Floating",{mixinId:"floating",focusOnToFront:true,shadow:"sides",animateShadow:false,constrain:false,config:{activeCounter:0,alwaysOnTop:false},preventDefaultAlign:false,_visModeMap:{visibility:1,display:2,offsets:3},constructor:function(){var b=this,a=b.el,c=b.shadow,e,d;if(c){d={mode:(c===true)?"sides":c};e=b.shadowOffset;if(e){d.offset=e}d.animate=b.animateShadow;d.fixed=b.fixed;a.enableShadow(d,false)}if(b.shim||Ext.useShims){a.enableShim({fixed:b.fixed},false)}a.setVisibilityMode(b._visModeMap[b.hideMode]);if(b.modal&&!(Ext.enableFocusManager)){b.el.on("keydown",b.onKeyDown,b)}b.el.on({mousedown:b.onMouseDown,scope:b,capture:true});b.registerWithOwnerCt();b.initHierarchyEvents()},alignTo:function(b,e,d,a){var c=this;if(!c._lastAlignToEl){Ext.on("scroll",c.onAlignToScroll,c)}c._lastAlignToEl=b;c._lastAlignToPos=e;c.mixins.positionable.alignTo.call(c,b,e,d,a)},initFloatConstrain:function(){var b=this,a=b.floatParent;if((b.constrain||b.constrainHeader)&&!b.constrainTo){b.constrainTo=a?a.getTargetEl():b.container}},initHierarchyEvents:function(){var a=this,b=this.syncHidden;if(!a.hasHierarchyEventListeners){a.mon(Ext.GlobalEvents,{hide:b,collapse:b,show:b,expand:b,added:b,scope:a});a.hasHierarchyEventListeners=true}},registerWithOwnerCt:function(){var a=this,b=a.ownerCt,c=a.zIndexParent;if(c){c.unregisterFloatingItem(a)}c=a.zIndexParent=a.up("[floating]");a.floatParent=b||c;a.initFloatConstrain();delete a.ownerCt;if(c){c.registerFloatingItem(a)}else{Ext.WindowManager.register(a)}},onKeyDown:function(a){var g=this,h,c,b,d;if(a.getKey()===a.TAB){h=a.shiftKey;c=g.query(":focusable");if(c.length){b=c[0];d=c[c.length-1];if(!h&&d.hasFocus){a.stopEvent();b.focus()}else{if(h&&b.hasFocus){a.stopEvent();d.focus()}}}}},onMouseDown:function(b){var d=this,c=d.focusTask,g=b.parentEvent,h=g&&g.type==="touchstart",j,a,i;if(d.floating&&(!c||!c.id)){j=b.target;a=d.el.dom;while(!h&&j&&j!==a){if(Ext.fly(j).isFocusable()){h=true}j=j.parentNode}i=Ext.WindowManager.getActive()===d&&(j===a||h);if(!i){d.toFront(h)}}},onBeforeFloatLayout:function(){this.el.preventSync=true},onAfterFloatLayout:function(){var a=this.el;if(a.shadow||a.shim){a.setUnderlaysVisible(true);a.syncUnderlays()}},syncHidden:function(){var c=this,a=c.hidden||!c.rendered,b=c.hierarchicallyHidden=c.isHierarchicallyHidden(),d=c.pendingShow;if(a!==b){if(b){c.hide();c.pendingShow=true}else{if(d){delete c.pendingShow;if(d.length){c.show.apply(c,d)}else{c.show()}}}}},setZIndex:function(a){var b=this;b.el.setZIndex(a);a+=10;if(b.floatingDescendants){a=Math.floor(b.floatingDescendants.setBase(a)/100)*100+10000}return a},doConstrain:function(a){var b=this,c=b.calculateConstrainedPosition(a,null,true);if(c){b.setPosition(c)}},updateActiveCounter:function(a){var b=this.zIndexParent;if(b&&this.bringParentToFront!==false){b.setActiveCounter(++Ext.ZIndexManager.activeCounter)}b=this.zIndexManager;if(b){b.onComponentUpdate(this)}},updateAlwaysOnTop:function(a){var b=this.zIndexManager;if(b){b.onComponentUpdate(this)}},toFront:function(b){var a=this;if(a.zIndexManager.bringToFront(a,b||!a.focusOnToFront)){if(a.hasListeners.tofront){a.fireEvent("tofront",a,a.el.getZIndex())}}return a},setActive:function(a,c){var d=this,b;if(a){if(d.el.shadow&&!d.maximized){d.el.enableShadow(null,true)}if(c){b=Ext.ComponentManager.getActiveComponent();if(!b||!b.up(d)){d.focus()}}d.fireEvent("activate",d)}else{d.fireEvent("deactivate",d)}},toBack:function(){this.zIndexManager.sendToBack(this);return this},center:function(){var a=this,b;if(a.isVisible()){b=a.getAlignToXY(a.container,"c-c");a.setPagePosition(b)}else{a.needsCenter=true}return a},onFloatShow:function(){if(this.needsCenter){this.center()}delete this.needsCenter;if(this.toFrontOnShow){this.toFront()}},fitContainer:function(a){var c=this,g=c.floatParent,b=g?g.getTargetEl():c.container,d=b.getViewSize(),e=g||(b.dom!==document.body)?[0,0]:b.getXY();d.x=e[0];d.y=e[1];c.setBox(d,a)},privates:{onFloatDestroy:function(){this.clearAlignEl()},clearAlignEl:function(){var a=this;if(a._lastAlignToEl){Ext.un("scroll",a.onAlignToScroll,a);a._lastAlignPos=a._lastAlignToEl=null}},onAlignToScroll:function(d){var c=this,b=c._lastAlignToEl,a;if(b&&!d.getElement().contains(c.el)){a=b.isElement?b.dom:b;if(a&&!Ext.isGarbage(a)){c.alignTo(b,c._lastAlignToPos)}else{c.clearAlignEl()}}}}});Ext.define("Ext.util.ElementContainer",{mixinId:"elementCt",config:{childEls:{$value:{},cached:true,lazy:true,merge:function(d,e,g,c){var a=e?Ext.Object.chain(e):{},b,h;if(d instanceof Array){for(b=d.length;b--;){h=d[b];if(!c||!(h in a)){if(typeof h==="string"){a[h]={name:h,itemId:h}}else{a[h.name]=h}}}}else{if(d){if(d.constructor===Object){for(b in d){if(!c||!(b in a)){h=d[b];if(h===true){a[b]={itemId:b}}else{if(typeof h==="string"){a[b]={itemId:h}}else{a[b]=h;if(!("itemId" in h)){h.itemId=b}}}a[b].name=b}}}else{if(!c||!(d in a)){a[d]={name:d,itemId:d}}}}}return a}}},destroy:function(){var d=this,b=d.getChildEls(),a,c;for(c in b){a=d[c];if(a){if(a.destroy){a.component=null;a.destroy()}d[c]=null}}},privates:{afterClassMixedIn:function(c){var b=c.prototype,a=b.childEls;if(a){delete b.childEls;c.getConfigurator().add({childEls:a})}},attachChildEls:function(e,m){var l=this,b=l.getChildEls(),d=m||l,a=d.id+"-",o=!d.frame,c,g,h,j,n,p,i;for(c in b){h=b[c];if(o&&h.frame){continue}n=h.select;if(n){p=e.select(n,true)}else{if(!(n=h.selectNode)){if(!(i=h.id)){i=a+h.itemId;p=Ext.cache[i]}else{p=Ext.cache[i]||e.getById(i)}}else{p=e.selectNode(n,false)}}if(p){if(p.isElement){p.component=d}else{if(p.isComposite&&!p.isLite){g=p.elements;for(j=g.length;j--;){g[j].component=d}}}}l[c]=p||null}}}});Ext.define("Ext.util.Renderable",{mixinId:"renderable",frameCls:Ext.baseCSSPrefix+"frame",frameIdRegex:/[\-]frame\d+[TMB][LCR]$/,frameElNames:["TL","TC","TR","ML","MC","MR","BL","BC","BR","Table"],frameTpl:["{%this.renderDockedItems(out,values,0);%}",'<tpl if="top">','<tpl if="left"><div id="{fgid}TL" data-ref="frameTL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl>{frameElCls}" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}TR" data-ref="frameTR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl>{frameElCls}" role="presentation"></tpl>','<div id="{fgid}TC" data-ref="frameTC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl>{frameElCls}" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>",'<tpl if="left"><div id="{fgid}ML" data-ref="frameML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl>{frameElCls}" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}MR" data-ref="frameMR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl>{frameElCls}" role="presentation"></tpl>','<div id="{fgid}Body" data-ref="frameBody" class="{frameBodyCls} {frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl>{frameElCls}" role="presentation">',"{%this.applyRenderTpl(out, values)%}","</div>",'<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>','<tpl if="bottom">','<tpl if="left"><div id="{fgid}BL" data-ref="frameBL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl>{frameElCls}" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}BR" data-ref="frameBR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl>{frameElCls}" role="presentation"></tpl>','<div id="{fgid}BC" data-ref="frameBC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl>{frameElCls}" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>","{%this.renderDockedItems(out,values,1);%}"],frameTableTpl:["{%this.renderDockedItems(out,values,0);%}",'<table id="{fgid}Table" data-ref="frameTable" class="{frameCls} ',Ext.baseCSSPrefix+'table-plain" cellpadding="0" role="presentation">','<tpl if="top">','<tr role="presentation">','<tpl if="left"><td id="{fgid}TL" data-ref="frameTL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl>{frameElCls}" role="presentation"></td></tpl>','<td id="{fgid}TC" data-ref="frameTC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl>{frameElCls}" role="presentation"></td>','<tpl if="right"><td id="{fgid}TR" data-ref="frameTR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl>{frameElCls}" role="presentation"></td></tpl>',"</tr>","</tpl>",'<tr role="presentation">','<tpl if="left"><td id="{fgid}ML" data-ref="frameML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl>{frameElCls}" role="presentation"></td></tpl>','<td id="{fgid}Body" data-ref="frameBody" class="{frameBodyCls} {frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl>{frameElCls}" style="{mcStyle}" role="presentation">',"{%this.applyRenderTpl(out, values)%}","</td>",'<tpl if="right"><td id="{fgid}MR" data-ref="frameMR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl>{frameElCls}" role="presentation"></td></tpl>',"</tr>",'<tpl if="bottom">','<tr role="presentation">','<tpl if="left"><td id="{fgid}BL" data-ref="frameBL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl>{frameElCls}" role="presentation"></td></tpl>','<td id="{fgid}BC" data-ref="frameBC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl>{frameElCls}" role="presentation"></td>','<tpl if="right"><td id="{fgid}BR" data-ref="frameBR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl>{frameElCls}" role="presentation"></td></tpl>',"</tr>","</tpl>","</table>","{%this.renderDockedItems(out,values,1);%}"],_renderState:0,_layerCls:Ext.baseCSSPrefix+"layer",_fixedLayerCls:Ext.baseCSSPrefix+"fixed-layer",statics:{makeRenderSetter:function(a,c){var b=a.name;return function(h){var e=this,d=(e.renderConfigs||(e.renderConfigs={})),g=d[c];if(e._renderState>=c){(a.setter||a.getSetter()).call(e,h)}else{if(!g){d[c]=g={}}if(!(b in g)){g[b]=e[b]}e[b]=h}return e}},processRenderConfig:function(l,c,m){var h=this.prototype,d=this.getConfigurator(),i=Ext.util.Renderable,e=i.makeRenderSetter,j=l[c],a,b,g,k;for(g in j){b=Ext.Config.get(g);if(!h[k=b.names.set]){a=(b.renderSetter||(b.renderSetter={}));h[k]=a[m]||(a[m]=e(b,m))}}delete l[c];d.add(j)}},onClassMixedIn:function(e){var a=e.override,d=this.processRenderConfig,c=function(g){if(g.beforeRenderConfig){this.processRenderConfig(g,"beforeRenderConfig",1)}if(g.renderConfig){this.processRenderConfig(g,"renderConfig",3)}a.call(this,g)},b=function(h,g){h.override=c;h.processRenderConfig=d;if(g.beforeRenderConfig){h.processRenderConfig(g,"beforeRenderConfig",1)}if(g.renderConfig){h.processRenderConfig(g,"renderConfig",3)}};b(e,e.prototype);e.onExtended(b)},afterRender:function(){var g=this,c={},i=g.protoEl,j=g.el,b,e,h,d,a;g.finishRenderChildren();g._renderState=4;if(g.contentEl){h=Ext.baseCSSPrefix;d=h+"hidden-";a=g.contentEl=Ext.get(g.contentEl);a.component=g;a.removeCls([h+"hidden",d+"display",d+"offsets"]);g.getContentTarget().appendChild(a.dom)}i.writeTo(c);e=c.removed;if(e){j.removeCls(e)}e=c.cls;if(e.length){j.addCls(e)}e=c.style;if(c.style){j.setStyle(e)}g.protoEl=null;if(!g.ownerCt){g.updateLayout()}if(!(g.x&&g.y)&&(g.pageX||g.pageY)){g.setPagePosition(g.pageX,g.pageY)}if(g.disableOnRender){g.onDisable()}if(Ext.enableAria){g.ariaApplyAfterRenderAttributes()}b=g.controller;if(b&&b.afterRender){b.afterRender(g)}},afterFirstLayout:function(j,g){var h=this,k=h.x,m=h.y,b=h.defaultAlign,a=h.alignOffset,c,d,e,i,l;if(!h.ownerLayout){d=k!==undefined;e=m!==undefined}if(h.floating&&!h.preventDefaultAlign&&(!d||!e)){if(h.floatParent){i=h.floatParent.getTargetEl().getViewRegion();l=h.el.getAlignToXY(h.alignTarget||h.floatParent.getTargetEl(),b,a);i.x=l[0]-i.x;i.y=l[1]-i.y}else{l=h.el.getAlignToXY(h.alignTarget||h.container,b,a);i=h.el.translateXY(l[0],l[1])}k=d?k:i.x;m=e?m:i.y;d=e=true}if(d||e){h.setPosition(k,m)}h.onBoxReady(j,g);c=h.controller;if(c&&c.boxReady){c.boxReady(h)}},beforeRender:function(){var e=this,c=e.floating,d=e.getComponentLayout(),a,b;e._renderState=1;b=e.controller;if(b&&b.beforeRender){b.beforeRender(e)}e.initBindable();if(e.renderConfigs){e.flushRenderConfigs()}if(e.reference){e.publishState()}if(c){e.addCls(e.fixed?e._fixedLayerCls:e._layerCls);a=c.cls;if(a){e.addCls(a)}}e.frame=e.frame||e.alwaysFramed;if(!d.initialized){d.initLayout()}e.initOverflow();e.setUI(e.ui)},doApplyRenderTpl:function(b,d){var a=d.$comp,c;if(!a.rendered){c=a.initRenderTpl();c.applyOut(d.renderData,b)}},getElConfig:function(){var g=this,a=g.autoEl,d=g.getFrameInfo(),b={tag:"div",tpl:d?g.initFramingTpl(d.table):g.initRenderTpl()},e=g.layoutTargetCls,h=g.protoEl,c;g.initStyles(h);if(e&&!d){h.addCls(e)}h.writeTo(b);h.flush();if(Ext.isString(a)){b.tag=a}else{Ext.apply(b,a)}if(Ext.enableAria&&g.ariaRenderAttributesToElement){Ext.apply(b,g.ariaGetRenderAttributes())}b.id=g.id;if(b.tpl){if(d){b.tplData=c=g.getFrameRenderData();c.renderData=g.initRenderData()}else{b.tplData=g.initRenderData()}}return b},getInsertPosition:function(a){if(a!==undefined){if(Ext.isNumber(a)){a=this.container.dom.childNodes[a]}else{a=Ext.getDom(a)}}return a},getRenderTree:function(){var a=this,b=null;if(!a.hasListeners.beforerender||a.fireEvent("beforerender",a)!==false){a._renderState=1;a.beforeRender();a.rendering=true;a._renderState=2;b=a.getElConfig();if(a.el){b.id=a.$pid=Ext.id(null,a.el.identifiablePrefix)}}return b},initRenderData:function(){var a=this;return Ext.apply({$comp:a,id:a.id,ui:a.ui,uiCls:a.uiCls,baseCls:a.baseCls,componentCls:a.componentCls,frame:a.frame,renderScroller:a.touchScroll,scrollerCls:a.scrollerCls,role:a.ariaRole,childElCls:""},a.renderData)},onRender:function(g,a){var e=this,i=e.x,j=e.y,d=null,b=e.el,h,c;e.applyRenderSelectors();e.rendering=null;e.rendered=true;e._renderState=3;if(e.renderConfigs){e.flushRenderConfigs()}if(i!=null){d={x:i}}if(j!=null){(d=d||{}).y=j}if(!e.getFrameInfo()){h=e.width;c=e.height;if(typeof h==="number"){d=d||{};d.width=h}if(typeof c==="number"){d=d||{};d.height=c}}if(e.touchScroll===1){e.getOverflowEl().disableTouchScroll()}e.lastBox=b.lastBox=d},render:function(a,g){var c=this,b=c.el,e=c.ownerLayout,i,h,d;if(b&&!b.isElement){c.wrapPrimaryEl(b);b=c.el}Ext.suspendLayouts();a=c.initContainer(a);d=c.getInsertPosition(g);if(!b){h=c.getRenderTree();if(e&&e.transformItemRenderTree){h=e.transformItemRenderTree(h)}if(h){if(d){b=Ext.DomHelper.insertBefore(d,h)}else{b=Ext.DomHelper.append(a,h)}c.wrapPrimaryEl(b);c.cacheRefEls(b)}}else{if(!c.hasListeners.beforerender||c.fireEvent("beforerender",c)!==false){c.beforeRender();c.needsRenderTpl=c.rendering=true;c._renderState=2;c.initStyles(b);if(c.allowDomMove!==false){if(d){a.dom.insertBefore(b.dom,d)}else{a.dom.appendChild(b.dom)}}}else{i=true}}if(b&&!i){c.finishRender(g)}Ext.resumeLayouts(!c.hidden&&!a.isDetachedBody)},ensureAttachedToBody:function(c){var b=this,a;while(b.ownerCt){b=b.ownerCt}if(b.container.isDetachedBody){b.container=a=Ext.getBody();a.appendChild(b.el.dom);if(c){b.updateLayout()}if(typeof b.x==="number"||typeof b.y==="number"){b.setPosition(b.x,b.y)}}},privates:{applyRenderSelectors:function(){var b=this,e=b.renderSelectors,a=b.el,c,d;b.attachChildEls(a);if(e){for(d in e){c=e[d];if(c){b[d]=a.selectNode(c,false)}}}},cacheRefEls:function(c){c=c||this.el;var a=Ext.cache,d=Ext.dom.Element,b=c.isElement?c.dom:c,j=b.querySelectorAll("[data-ref]"),g=j.length,h,e;for(e=0;e<g;e++){h=j[e];if(!a[h.id]){new d(h)}}},doAutoRender:function(){var a=this;if(!a.rendered){if(a.floating){a.render(a.renderTo||document.body)}else{a.render(Ext.isBoolean(a.autoRender)?Ext.getBody():a.autoRender)}}},doRenderContent:function(c,d){var b=d.$comp,a=b.data;if(b.html){Ext.DomHelper.generateMarkup(b.html,c);delete b.html}if(b.tpl){if(!b.tpl.isTemplate){b.tpl=new Ext.XTemplate(b.tpl)}if(a){b.data=a=a.isEntity?a.getData(true):a;b.tpl.applyOut(a,c)}}},doRenderFramingDockedItems:function(c,d,a){var b=d.$comp;if(!b.rendered&&b.doRenderDockedItems){d.renderData.$skipDockedItems=true;b.doRenderDockedItems.call(this,c,d,a)}},flushRenderConfigs:function(){var d=this,b=d.renderConfigs,h=d._renderState,a,c,e,g,j;if(b){for(c=0;c<=h;++c){a=b[c];if(a){b[c]=null;for(e in a){j=a[e];(g||(g={}))[e]=d[e];d[e]=j}}}if(g){d.setConfig(g)}}},finishRender:function(b){var i=this,a=Ext.cache,j,g,h,k,c,d,e;if(!i.el||i.$pid){if(i.container){e=a[i.id];d=e?e.dom:i.container.getById(i.id,true)}else{h=i.$pid||i.id;e=a[h];d=e?e.dom:Ext.getDom(h)}if(!i.el){i.wrapPrimaryEl(d)}else{delete i.$pid;if(!i.el.dom){i.wrapPrimaryEl(i.el)}d.parentNode.insertBefore(i.el.dom,d);j=d;d=i.el.dom;g=d.firstChild;while(j.firstChild){d.insertBefore(j.firstChild,g)}i.el.addCls(j.className);Ext.removeNode(j)}}else{if(i.needsRenderTpl){k=i.initRenderTpl();if(k){c=i.initRenderData();k.insertFirst(i.getTargetEl(),c)}i.cacheRefEls()}}i.el.component=i;if(!i.container){i.container=Ext.get(i.el.dom.parentNode)}if(i.ctCls){i.container.addCls(i.ctCls)}i.onRender(i.container,b);if(!i.overflowInited){i.initOverflow()}i.el.setVisibilityMode(Ext.Element[i.hideMode.toUpperCase()]);if(i.overCls){i.el.hover(i.addOverCls,i.removeOverCls,i)}if(i.hasListeners.render){i.fireEvent("render",i)}i.afterRender();if(i.hasListeners.afterrender){i.fireEvent("afterrender",i)}i.initEvents();if(i.hidden){i.el.hide()}},finishRenderChildren:function(){var a=this.getComponentLayout();a.finishRender()},getFrameRenderData:function(){var c=this,a=c.frameSize,b="";if(c._syncFrameHeight&&c.height){b="height:"+(c.height-a.height)+"px"}return{$comp:c,fgid:c.id+"-frame",ui:c.ui,uiCls:c.uiCls,frameCls:c.frameCls,frameBodyCls:c.layoutTargetCls||"",baseCls:c.baseCls,top:!!a.top,left:!!a.left,right:!!a.right,bottom:!!a.bottom,mcStyle:b,frameElCls:""}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius||!this.frame){return false}var n=this,i=n.frameInfoCache,e=n.getFramingInfoCls()+"-frameInfo",h=i[e],s,m,l,k,g,j,d,c,a,b,r,q,o,p;if(h==null){s=Ext.fly(n.getStyleProxy(e),"frame-style-el");m=s.getStyle("font-family");if(m){m=m.split("-");l=parseInt(m[1],10);k=parseInt(m[2],10);g=parseInt(m[3],10);j=parseInt(m[4],10);d=parseInt(m[5],10);c=parseInt(m[6],10);a=parseInt(m[7],10);b=parseInt(m[8],10);r=parseInt(m[9],10);q=parseInt(m[10],10);o=parseInt(m[11],10);p=parseInt(m[12],10);h={table:m[0].charAt(0)==="t",vertical:m[0].charAt(1)==="v",top:l,right:k,bottom:g,left:j,width:j+k,height:l+g,border:{top:d,right:c,bottom:a,left:b,width:b+c,height:d+a},padding:{top:r,right:q,bottom:o,left:p,width:p+q,height:r+o}}}else{h=false}if(n.frame===true&&!h){Ext.log.error("You have set frame: true explicity on this component ("+n.getXType()+") and it does not have any framing defined in the CSS template. In this case IE cannot figure out what sizes to use and thus framing on this component will be disabled.")}i[e]=h}n.frame=!!h;n.frameSize=h;return h},getFramingInfoCls:function(){return this.baseCls+"-"+this.ui},getStyleProxy:function(a){var b=this.styleProxyEl||(Ext.Component.prototype.styleProxyEl=Ext.getBody().createChild({"data-sticky":true,role:"presentation",style:{position:"absolute",top:"-10000px"}},null,true));b.className=a;return b},getFrameTpl:function(a){return this.getTpl(a?"frameTableTpl":"frameTpl")},initContainer:function(a){var b=this;if(!a&&b.el){a=b.el.dom.parentNode;b.allowDomMove=false}b.container=a.dom?a:Ext.get(a);return b.container},initOverflow:function(){var b=this,d=b.getOverflowStyle(),e=b.scrollFlags,c=b.getOverflowEl(),a=(e.y||e.x),g=b.touchScroll=(a&&Ext.supports.touchScroll);if(!a||!c||!c.isElement){return}b.overflowInited=true;if(g===2){c.setStyle("overflow","hidden")}else{c.setStyle(d)}},doRenderPadding:function(b,c){var a=c.$comp;if(a.touchScroll){b.push("padding:",a.unitizeBox(a.padding))}},initFramingTpl:function(a){var b=this.getFrameTpl(a);if(b&&!b.applyRenderTpl){this.setupFramingTpl(b)}return b},initRenderTpl:function(){var a=this.getTpl("renderTpl");if(a&&!a.renderContent){this.setupRenderTpl(a)}return a},setupFramingTpl:function(a){a.applyRenderTpl=this.doApplyRenderTpl;a.renderDockedItems=this.doRenderFramingDockedItems},setupRenderTpl:function(a){a.renderBody=a.renderContent=this.doRenderContent;a.renderPadding=this.doRenderPadding},updateFrame:function(){if(Ext.supports.CSS3BorderRadius||!this.frame){return}var o=this,d=o.el.dom,l=o.frameTable,r=o.frameBody,s=r.dom,k=o.getFrameInfo(),b,a,c,e,g,h,j,m,n,p,q;c=document.createElement("div");h=o.getFrameRenderData();m=o.getFrameTpl(k.table);m.insertFirst(c,h);q=c.querySelectorAll("[data-ref]");p=c.querySelector('[data-ref="frameBody"]');for(g=s;g.parentNode!==d;){g=g.parentNode}while(c.firstChild){d.insertBefore(c.firstChild,g)}p.parentNode.replaceChild(s,p);s.className=p.className;r.setSize();b=o.getChildEls();if(l){l.destroy();o.frameTable=null}for(a in b){if(b[a].frame){e=o[a];if(e&&e!==r){e.destroy();o[a]=null}}}for(n=q.length;n--;){a=(j=q[n]).getAttribute("data-ref");if(a!=="frameBody"){o[a]=new Ext.dom.Element(j)}}},frameInfoCache:{}}});Ext.define("Ext.state.Provider",{mixins:{observable:Ext.util.Observable},prefix:"ext-",constructor:function(a){var b=this;Ext.apply(b,a);b.state={};b.mixins.observable.constructor.call(b)},get:function(b,a){var c=this.state[b];return c===undefined?a:c},clear:function(b){var a=this;delete a.state[b];a.fireEvent("statechange",a,b,null)},set:function(b,c){var a=this;a.state[b]=c;a.fireEvent("statechange",a,b,c)},decodeValue:function(i){var d=this,e=/^(a|n|d|b|s|o|e)\:(.*)$/,c=e.exec(unescape(i)),a,g,b,j,k,h;if(!c||!c[1]){return}g=c[1];i=c[2];switch(g){case"e":return null;case"n":return parseFloat(i);case"d":return new Date(Date.parse(i));case"b":return(i==="1");case"a":a=[];if(i){j=i.split("^");k=j.length;for(h=0;h<k;h++){i=j[h];a.push(d.decodeValue(i))}}return a;case"o":a={};if(i){j=i.split("^");k=j.length;for(h=0;h<k;h++){i=j[h];b=i.split("=");a[b[0]]=d.decodeValue(b[1])}}return a;default:return i}},encodeValue:function(g){var b="",c=0,a,e,d;if(g==null){return"e:1"}else{if(typeof g==="number"){a="n:"+g}else{if(typeof g==="boolean"){a="b:"+(g?"1":"0")}else{if(Ext.isDate(g)){a="d:"+g.toUTCString()}else{if(Ext.isArray(g)){for(e=g.length;c<e;c++){b+=this.encodeValue(g[c]);if(c!==e-1){b+="^"}}a="a:"+b}else{if(typeof g==="object"){for(d in g){if(typeof g[d]!=="function"&&g[d]!==undefined){b+=d+"="+this.encodeValue(g[d])+"^"}}a="o:"+b.substring(0,b.length-1)}else{a="s:"+g}}}}}}return escape(a)}});Ext.define("Ext.state.Manager",{singleton:true,constructor:function(){this.provider=new Ext.state.Provider()},setProvider:function(a){this.provider=a},get:function(b,a){return this.provider.get(b,a)},set:function(a,b){this.provider.set(a,b)},clear:function(a){this.provider.clear(a)},getProvider:function(){return this.provider}});Ext.define("Ext.state.Stateful",{mixinId:"state",stateful:false,saveDelay:100,constructor:function(){var a=this;if(!a.stateEvents){a.stateEvents=[]}if(a.stateful!==false){a.addStateEvents(a.stateEvents);a.initState()}},addStateEvents:function(c){var e=this,d,a,g,b;if(e.stateful&&e.getStateId()){b=(typeof c==="string")?arguments:c;g=e.stateEventsByName||(e.stateEventsByName={});for(d=b.length;d--;){a=b[d];if(a&&!g[a]){g[a]=1;e.on(a,e.onStateChange,e)}}}},onStateChange:function(){var b=this,a=b.saveDelay,d,c;if(!b.stateful){return}if(a){if(!b.stateTask){d=Ext.state.Stateful;c=d.runner||(d.runner=new Ext.util.TaskRunner());b.stateTask=c.newTask({run:b.saveState,scope:b,interval:a,repeat:1,fireIdleEvent:false})}b.stateTask.start()}else{b.saveState()}},saveState:function(){var e=this,c=e.stateful&&e.getStateId(),a=e.hasListeners,h,g,b,d,k,j;if(c){k=e.getState()||{};h=e.getPlugins()||[];for(b=0,d=h.length;b<d;b++){g=h[b];if(g&&g.getState){j=g.getState(k);if(j&&!k[g.ptype]){k[g.ptype]=j}}}if(!a.beforestatesave||e.fireEvent("beforestatesave",e,k)!==false){Ext.state.Manager.set(c,k);if(a.statesave){e.fireEvent("statesave",e,k)}}}},getState:function(){return null},applyState:function(a){if(a){Ext.apply(this,a)}},getStateId:function(){var a=this;return a.stateId||(a.autoGenId?null:a.id)},initState:function(){var g=this,d=g.stateful&&g.getStateId(),b=g.hasListeners,l,a,c,e,j,h,k;if(d){a=Ext.state.Manager.get(d);if(a){l=Ext.apply({},a);if(!b.beforestaterestore||g.fireEvent("beforestaterestore",g,a)!==false){j=g.getPlugins()||[];for(c=0,e=j.length;c<e;c++){h=j[c];if(h){k=h.ptype;if(h.applyState){h.applyState(l[k],a)}delete l[k]}}g.applyState(l);if(b.staterestore){g.fireEvent("staterestore",g,a)}}}}},savePropToState:function(c,d,e){var b=this,g=b[c],a=b.initialConfig;if(b.hasOwnProperty(c)){if(!a||a[c]!==g){if(d){d[e||c]=g}return true}}return false},savePropsToState:function(d,e){var b=this,a,c;if(typeof d==="string"){b.savePropToState(d,e)}else{for(a=0,c=d.length;a<c;++a){b.savePropToState(d[a],e)}}return e},destroy:function(){var a=this,b=a.stateTask;if(b){b.destroy();a.stateTask=null}a.clearListeners()}});Ext.define("Ext.util.Focusable",{mixinId:"focusable",hasFocus:false,focusable:false,focusCls:"focus",initFocusable:Ext.emptyFn,initFocusableEvents:function(){this.initFocusableElement()},getFocusClsEl:function(){return this.getFocusEl()},getFocusEl:function(){return this.element||this.el},destroyFocusable:function(){this.focusListeners=Ext.destroy(this.focusListeners);delete this.focusTask},enableFocusable:Ext.emptyFn,disableFocusable:function(){var d=this,c,a=d.focusCls,b;if(d.hasFocus){c=d.findFocusTarget();if(c){c.focus()}}b=d.getFocusClsEl();if(a&&b){b.removeCls(d.removeClsWithUI(a,true))}},isFocusable:function(a){var c=this,b;if(!c.focusable&&(!c.isContainer||!a)){return false}b=c.getFocusEl();if(b&&c.canFocus()){return b.isFocusable(a)}return false},canFocus:function(){var a=this;return(a.isContainer||a.focusable)&&a.rendered&&!a.destroying&&!a.isDestroyed&&!a.disabled&&a.isVisible(true)},focus:function(i,c,a,h){var g=this,e,d,b;if((!g.focusable&&!g.isContainer)||g.isDestroyed||g.destroying){return}if(c){g.getFocusTask().delay(Ext.isNumber(c)?c:10,g.focus,g,[i,false,a,h]);return g}g.cancelFocus();if(g.canFocus()){if(e=g.getFocusEl()){if(e.isComponent){return e.focus(i,c,a,h)}d=e.dom;if(d){if(e.needsTabIndex()){d.tabIndex=-1}if(g.floating){b=g.container.dom.scrollTop}e.focus();if(i){if(Ext.isArray(i)){if(g.selectText){g.selectText.apply(g,i)}}else{if(d.select){d.select()}else{if(g.selectText){g.selectText()}}}}Ext.callback(a,h)}if(g.floating){if(g!==g.zIndexManager.getActive()){g.toFront(true)}if(b!==undefined){g.container.dom.scrollTop=b}}}}else{e=g.findFocusTarget();if(e){return e.focus(i,c,a,h)}}return g},cancelFocus:function(){var a=this.getFocusTask();if(a){a.cancel()}},beforeBlur:Ext.emptyFn,onBlur:function(b){var g=this,a=g.focusableContainer,c=g.focusCls,d;if(!g.focusable||g.destroying){return}g.beforeBlur(b);if(a){a.beforeFocusableChildBlur(g,b)}d=g.getFocusClsEl();if(c&&d){d.removeCls(g.removeClsWithUI(c,true))}if(g.validateOnBlur){g.validate()}g.hasFocus=false;g.fireEvent("blur",g,b);g.postBlur(b);if(a){a.afterFocusableChildBlur(g,b)}},postBlur:Ext.emptyFn,beforeFocus:Ext.emptyFn,onFocus:function(b){var g=this,a=g.focusableContainer,c=g.focusCls,d;if(!g.focusable){return}if(g.canFocus()){g.beforeFocus(b);if(a){a.beforeFocusableChildFocus(g,b)}d=g.getFocusClsEl();if(c&&d){d.addCls(g.addClsWithUI(c,true))}if(!g.hasFocus){g.hasFocus=true;g.fireEvent("focus",g,b)}g.postFocus(b);if(a){a.afterFocusableChildFocus(g,b)}}},postFocus:Ext.emptyFn,getTabIndex:function(){var c=this,a,b;if(!c.focusable){return}a=c.getFocusEl();if(a){if(a.isComponent){b=a.getTabIndex()}else{if(a.isElement){b=a.getAttribute(Ext.Element.tabIndexAttributeName)}else{return}}c.tabIndex=b}else{b=c.tabIndex}return b-0},setTabIndex:function(c){var b=this,a;if(!b.focusable){return}b.tabIndex=c;a=b.getFocusEl();if(a){if(a.isComponent){a.setTabIndex(c)}else{if(a.isElement){a.set({tabindex:c})}}}},onFocusEnter:function(a){var b=this;b.previousFocus=a.fromComponent||a.relatedTarget;b.containsFocus=true;b.fireEvent("focusenter",b,a)},onFocusLeave:function(a){var b=this;b.previousFocus=null;b.containsFocus=false;b.fireEvent("focusleave",b,a)},privates:{revertFocus:function(){var b=this,a=b.previousFocus;b.previousFocus=null;if(a&&b.containsFocus){if(a.isComponent){a.focus()}else{a=Ext.fly(a);if(Ext.isIE8||(a.isFocusable&&a.isFocusable())){a.focus()}}}},findFocusTarget:function(){var b=this,c,a;for(c=b.up(":not([disabled])");c;c=c.up(":not([disabled])")){a=Ext.ComponentQuery.query(":focusable:not([hasFocus])",c);if(a.length){return a[0]}if(c.isFocusable&&c.isFocusable()){return c}}},initFocusableElement:function(){var b=this,d=b.tabIndex,a=b.getFocusEl(),c;if(a&&!a.isComponent){c=a.needsTabIndex();if(c||d!=null){a.dom.setAttribute("tabindex",d)}a.dom.setAttribute(Ext.Component.componentIdAttribute,b.id)}},getFocusTask:function(){if(!this.focusTask){this.focusTask=Ext.focusTask}return this.focusTask},blur:function(){var b=this,a;if(!b.focusable||!b.rendered){return}a=b.getFocusEl();if(a){b.blurring=true;a.blur();delete b.blurring}return b},disableTabbing:function(){var c=this,a=c.el,b;if(!c.focusable){return}b=c.getFocusEl();if(a){a.saveChildrenTabbableState()}if(b){b=b.isComponent?b.getFocusEl():b;b.saveTabbableState()}},enableTabbing:function(){var c=this,a=c.el,b;if(!c.focusable){return}b=c.getFocusEl();if(b){b=b.isComponent?b.getFocusEl():b;b.restoreTabbableState()}if(a){a.restoreChildrenTabbableState()}}}},function(){if(!Ext.focusTask){Ext.focusTask=new Ext.util.DelayedTask()}});Ext.define("Ext.Component",{alternateClassName:"Ext.AbstractComponent",xtype:["component","box"],mixins:[Ext.mixin.Inheritable,Ext.util.Floating,Ext.util.Positionable,Ext.util.Observable,Ext.mixin.Bindable,Ext.util.Animate,Ext.util.ElementContainer,Ext.util.Renderable,Ext.state.Stateful,Ext.util.Focusable],statics:{AUTO_ID:1000,pendingLayouts:null,layoutSuspendCount:0,DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g,componentIdAttribute:"componentId",cancelLayout:function(a,c){var b=this.runningLayoutContext||this.pendingLayouts;if(b){b.cancelComponent(a,false,c)}},fromElement:function(e,h){var d=Ext.Component.componentIdAttribute,g=Ext.getDom(e),a=Ext.ComponentManager.all,c,b;if(h){h=Ext.getDom(h)}else{h=document.body.parentNode}while(g&&g.nodeType===1&&g!==h){c=g.getAttribute(d)||g.id;if(c){b=a[c];if(b){return b}}g=g.parentNode}return null},flushLayouts:function(){var b=this,a=b.pendingLayouts;if(a&&a.invalidQueue.length){b.pendingLayouts=null;b.runningLayoutContext=a;Ext.override(a,{runComplete:function(){b.runningLayoutContext=null;var c=this.callParent();if(Ext.GlobalEvents.hasListeners.afterlayout){Ext.GlobalEvents.fireEvent("afterlayout")}return c}});a.run()}},resumeLayouts:function(a){if(this.layoutSuspendCount&&!--this.layoutSuspendCount){if(a){this.flushLayouts()}if(Ext.GlobalEvents.hasListeners.resumelayouts){Ext.GlobalEvents.fireEvent("resumelayouts")}}},suspendLayouts:function(){++this.layoutSuspendCount},updateLayout:function(a,b){var c=this,e=c.runningLayoutContext,d;if(e){e.queueInvalidate(a)}else{d=c.pendingLayouts||(c.pendingLayouts=new Ext.layout.Context());d.queueInvalidate(a);if(!b&&!c.layoutSuspendCount&&!a.isLayoutSuspended()){c.flushLayouts()}}}},$configPrefixed:false,$configStrict:false,config:{data:null,maxHeight:null,maxWidth:null,minHeight:null,minWidth:null,scrollable:null},defaultBindProperty:"html",alignTarget:null,autoRender:false,autoShow:false,baseCls:Ext.baseCSSPrefix+"component",childEls:{frameTable:{frame:true},frameTL:{frame:"tl"},frameTC:{frame:"tc"},frameTR:{frame:"tr"},frameML:{frame:"ml"},frameBody:{frame:"mc"},frameMR:{frame:"mr"},frameBL:{frame:"bl"},frameBC:{frame:"bc"},frameBR:{frame:"br"}},componentLayout:"autocomponent",defaultAlign:"c-c",disabled:false,disabledRe:/^(?:button|input|select|textarea|optgroup|option|fieldset)$/i,nonMaskableRe:(function(){var a=["input","select","textarea","optgroup","option","table"];if(Ext.isIE9m&&!(Ext.isIE9&&!Ext.isIEQuirks)){a.push("p")}return new RegExp("^(?:"+a.join("|")+")$","i")}()),disabledCls:Ext.baseCSSPrefix+"item-disabled",draggable:false,floating:false,hidden:false,hideMode:"display",maskElement:null,renderTpl:['<tpl if="renderScroller">','<div class="{scrollerCls}" style="{%this.renderPadding(out, values)%}">',"</tpl>","{%this.renderContent(out,values)%}",'<tpl if="renderScroller"></div></tpl>'],resizeHandles:"all",shrinkWrap:2,toFrontOnShow:true,synthetic:false,tplWriteMode:"overwrite",ui:"default",uiCls:[],weight:null,allowDomMove:true,autoGenId:false,borderBoxCls:Ext.baseCSSPrefix+"border-box",componentLayoutCounter:0,contentPaddingProperty:"padding",deferLayouts:false,frameSize:null,horizontalPosProp:"left",isComponent:true,_isLayoutRoot:false,layoutSuspendCount:0,liquidLayout:false,maskOnDisable:true,offsetsCls:Ext.baseCSSPrefix+"hidden-offsets",rendered:false,rootCls:Ext.baseCSSPrefix+"body",scrollerCls:Ext.baseCSSPrefix+"scroll-scroller",scrollerSelector:"."+Ext.baseCSSPrefix+"scroll-scroller",_scrollFlags:{auto:{auto:{overflowX:"auto",overflowY:"auto",x:true,y:true,both:true},"false":{overflowX:"auto",overflowY:"hidden",x:true,y:false,both:false},scroll:{overflowX:"auto",overflowY:"scroll",x:true,y:true,both:true}},"false":{auto:{overflowX:"hidden",overflowY:"auto",x:false,y:true,both:false},"false":{overflowX:"hidden",overflowY:"hidden",x:false,y:false,both:false},scroll:{overflowX:"hidden",overflowY:"scroll",x:false,y:true,both:false}},scroll:{auto:{overflowX:"scroll",overflowY:"auto",x:true,y:true,both:true},"false":{overflowX:"scroll",overflowY:"hidden",x:true,y:false,both:false},scroll:{overflowX:"scroll",overflowY:"scroll",x:true,y:true,both:true}},none:{overflowX:"",overflowY:"",x:false,y:false,both:false}},_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}},validIdRe:Ext.validIdRe,constructor:function(b){var g=this,d,e,l,c,a,h,j,k;b=b||{};if(b.initialConfig){if(b.isAction){g.baseAction=b}b=b.initialConfig}else{if(b.tagName||b.dom||Ext.isString(b)){b={applyTo:b,id:b.id||b}}}g.initialConfig=b;g.getId();g.protoEl=new Ext.util.ProtoElement();g.$calledInitConfig=true;g.initConfig(b);delete g.$calledInitConfig;if(g.scrollable==null){a=g.autoScroll;if(a){k=!!a}else{h=g.overflowX;j=g.overflowY;if(h||j){k={x:(h&&h!=="hidden")?h:false,y:(j&&j!=="hidden")?j:false}}}if(k){g.setScrollable(k)}}l=g.xhooks;if(l){delete g.xhooks;Ext.override(g,l)}g.mixins.elementCt.constructor.call(g);if(!g.validIdRe.test(g.id)){Ext.Error.raise('Invalid component "id": "'+g.id+'"')}if(!g.validIdRe.test(g.itemId)){Ext.Error.raise('Invalid component "itemId": "'+g.itemId+'"')}g.setupProtoEl();if(g.cls){g.initialCls=g.cls;g.protoEl.addCls(g.cls)}if(g.style){g.initialStyle=g.style;g.protoEl.setStyle(g.style)}g.renderData=g.renderData||{};g.initComponent();if(!g.preventRegister){Ext.ComponentManager.register(g)}g.mixins.state.constructor.call(g);g.addStateEvents("resize");c=g.getController();if(c){c.init(g)}if(g.plugins){for(d=0,e=g.plugins.length;d<e;d++){g.plugins[d]=g.initPlugin(g.plugins[d])}}g.loader=g.getLoader();if(g.disabled){g.disabled=false;g.disable(true)}if(g.renderTo){g.render(g.renderTo)}if(g.autoShow&&!g.initOwnerCt){g.show()}if(Ext.isDefined(g.disabledClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: disabledClass has been deprecated. Please use disabledCls.")}g.disabledCls=g.disabledClass;delete g.disabledClass}if(g.baseAction){g.baseAction.addComponent(g)}},beforeInitConfig:function(){if(!this.$calledInitConfig){Ext.Error.raise("initConfig should not be called by subclasses, it will be called by Ext.Component")}this.mixins.observable.constructor.call(this)},addCls:function(a){var c=this,b=c.rendered?c.el:c.protoEl;b.addCls.apply(b,arguments);return c},addClsWithUI:function(b,j){var h=this,d=[],e=0,k=h.uiCls=Ext.Array.clone(h.uiCls),a=h.activeUI,g,c;if(typeof b==="string"){b=(b.indexOf(" ")<0)?[b]:Ext.String.splitWords(b)}g=b.length;for(;e<g;e++){c=b[e];if(c&&!h.hasUICls(c)){k.push(c);if(a){d=d.concat(h.addUIClsToElement(c))}}}if(j!==true&&a){h.addCls(d)}return d},afterComponentLayout:function(g,a,d,c){var b=this,e;if(++b.componentLayoutCounter===1){e=b.scrollable;if(e){if(b.touchScroll&&e.isTouchScroller){e.setInnerElement(b.getScrollerEl())}e.setElement(b.getOverflowEl());if(Ext.isIE){Ext.on("show",b.onGlobalShow,b)}}b.afterFirstLayout(g,a)}if(g!==d||a!==c){b.refreshScroll();b.onResize(g,a,d,c)}if(b.floating){b.onAfterFloatLayout()}},addPlugin:function(b){var a=this;b=a.constructPlugin(b);if(a.plugins){a.plugins.push(b)}else{a.plugins=[b]}if(a.pluginsInitialized){a.initPlugin(b)}return b},addPropertyToState:function(d,c,e){var b=this,a=arguments.length;if(a===3||b.hasOwnProperty(c)){if(a<3){e=b[c]}if(e!==b.initialConfig[c]){(d||(d={}))[c]=e}}return d},addUIClsToElement:function(i){var e=this,a=e.baseCls+"-"+e.ui+"-"+i,g=[Ext.baseCSSPrefix+i,e.baseCls+"-"+i,a],c,b,d,h;if(e.rendered&&e.frame&&!Ext.supports.CSS3BorderRadius){a+="-";c=e.getChildEls();for(b in c){h=c[b].frame;if(h&&h!==true){d=e[b];if(d){d.addCls(a+h)}}}}return g},removeUIClsFromElement:function(i){var e=this,a=e.baseCls+"-"+e.ui+"-"+i,g=[Ext.baseCSSPrefix+i,e.baseCls+"-"+i,a],c,b,d,h;if(e.rendered&&e.frame&&!Ext.supports.CSS3BorderRadius){a+="-";c=e.getChildEls();for(b in c){h=c[b].frame;if(h&&h!==true){d=e[b];if(d){d.removeCls(a+h)}}}}return g},adjustPosition:function(c,d){var b=this,a;if(b.isContainedFloater()){a=b.floatParent.getTargetEl().getViewRegion();c+=a.left;d+=a.top}return{x:c,y:d}},afterHide:function(a,d){var c=this,b=c.focusableContainer;c.hiddenByLayout=null;if(this.ownerLayout){this.updateLayout({isRoot:false})}Ext.callback(a,d||c);c.fireHierarchyEvent("hide");c.fireEvent("hide",c);if(b){b.onFocusableChildHide(c)}},afterSetPosition:function(b,c){var a=this;a.onPosition(b,c);if(a.hasListeners.move){a.fireEvent("move",a,b,c)}},afterShow:function(a,b,h){var e=this,g=e.el,c,i,d;a=e.getAnimateTarget(a);if(!e.ghost){a=null}if(a){i={x:g.getX(),y:g.getY(),width:g.dom.offsetWidth,height:g.dom.offsetHeight};c={x:a.getX(),y:a.getY(),width:a.dom.offsetWidth,height:a.dom.offsetHeight};g.addCls(e.offsetsCls);d=e.ghost();d.el.stopAnimation();d.setX(-10000);e.ghostBox=i;d.el.animate({from:c,to:i,listeners:{afteranimate:function(){delete d.componentLayout.lastComponentSize;e.unghost();delete e.ghostBox;g.removeCls(e.offsetsCls);e.onShowComplete(b,h)}}})}else{e.onShowComplete(b,h)}e.fireHierarchyEvent("show")},animate:function(a){var l=this,j,i,p,q,o,c,b,e,r,d,g,k,s,t,n,m;a=a||{};o=a.to||{};if(Ext.fx.Manager.hasFxBlock(l.id)){return l}j=Ext.isDefined(o.width);if(j){q=Ext.Number.constrain(o.width,l.minWidth,l.maxWidth)}i=Ext.isDefined(o.height);if(i){p=Ext.Number.constrain(o.height,l.minHeight,l.maxHeight)}if(!a.dynamic&&(j||i)){e=(a.from?a.from.width:undefined)||l.getWidth();r=e;d=(a.from?a.from.height:undefined)||l.getHeight();g=d;k=false;if(i&&p>d){g=p;k=true}if(j&&q>e){r=q;k=true}if(i||j){m=l.el.getStyle("overflow");if(m!=="hidden"){l.el.setStyle("overflow","hidden")}}if(k){c=!Ext.isNumber(l.width);b=!Ext.isNumber(l.height);l.setSize(r,g);l.el.setSize(e,d);if(c){delete l.width}if(b){delete l.height}}if(j){o.width=q}if(i){o.height=p}}s=l.constrain;t=l.constrainHeader;if(s||t){l.constrain=l.constrainHeader=false;n=a.callback;a.callback=function(){l.constrain=s;l.constrainHeader=t;if(n){n.call(a.scope||l,arguments)}if(m!=="hidden"){l.el.setStyle("overflow",m)}}}return l.mixins.animate.animate.apply(l,arguments)},applyScrollable:function(e,c){var b=this,d=b.rendered,g,a;if(e){if(e===true||typeof e==="string"){g=b._scrollableCfg[e];if(!g){Ext.Error.raise("'"+e+"' is not a valid value for 'scrollable'")}e=g}if(c){c.setConfig(e);e=c}else{e=Ext.Object.chain(e);if(d){e.element=b.getOverflowEl();a=b.getScrollerEl();if(a){e.innerElement=a}}e.autoRefresh=false;if(Ext.supports.touchScroll===1){e.translatable={translationMethod:"scrollparent"};e.indicators=false}e=Ext.scroll.Scroller.create(e);e.component=b}}else{if(c){e=c;c.setConfig({x:false,y:false})}}if(b.rendered){if(e){b.getOverflowStyle()}else{b.scrollFlags=b._scrollFlags.none}b.updateLayout()}return e},beforeComponentLayout:function(){return true},beforeDestroy:Ext.emptyFn,beforeLayout:function(){if(this.floating){this.onBeforeFloatLayout()}},beforeSetPosition:function(h,j,b){var e=this,g=null,i,c,d,a;if(h){if(Ext.isNumber(i=h[0])){b=j;j=h[1];h=i}else{if((i=h.x)!==undefined){b=j;j=h.y;h=i}}}if(e.constrain||e.constrainHeader){g=e.calculateConstrainedPosition(null,[h,j],true);if(g){h=g[0];j=g[1]}}c=(h!==undefined);d=(j!==undefined);if(c||d){e.x=h;e.y=j;a=e.adjustPosition(h,j);g={x:a.x,y:a.y,anim:b,hasX:c,hasY:d}}return g},beforeShow:Ext.emptyFn,bubble:function(b,d,a){var c=this;while(c){if(b.apply(d||c,a||[c])===false){break}c=c.getBubbleTarget()}return this},cloneConfig:function(c){c=c||{};var b=c.id||Ext.id(),a=Ext.applyIf(c,this.initialConfig),d;a.id=b;d=Ext.getClass(this);return new d(a)},destroy:function(){var b=this,e=b.renderSelectors,h=b.getConfig("viewModel",true),g=b.getConfig("session",true),d,c,a;if(!b.isDestroyed){if(!b.hasListeners.beforedestroy||b.fireEvent("beforedestroy",b)!==false){b.destroying=true;c=b.floatParent||b.ownerCt;if(b.floating){delete b.floatParent;if(b.zIndexManager){b.zIndexManager.unregister(b);b.zIndexManager=null}}b.removeBindings();b.beforeDestroy();if(h&&h.isViewModel){h.destroy();b.viewModel=null}if(g&&g.isSession){if(g.getAutoDestroy()){g.destroy()}b.session=null}if(c&&c.remove){c.remove(b,false)}b.stopAnimation();b.onDestroy();Ext.destroy(b.plugins);b.componentLayout=null;if(b.hasListeners.destroy){b.fireEvent("destroy",b)}if(!b.preventRegister){Ext.ComponentManager.unregister(b)}b.mixins.state.destroy.call(b);if(b.floating){b.onFloatDestroy()}b.clearListeners();if(b.rendered){if(!b.preserveElOnDestroy){b.el.destroy()}b.el.component=null;b.mixins.elementCt.destroy.call(b);if(e){for(d in e){if(e.hasOwnProperty(d)){a=b[d];if(a){delete b[d];a.destroy()}}}}b.data=b.el=b.frameBody=b.rendered=null}b.destroying=false;b.isDestroyed=true}}},disable:function(e,b){var d=this,a=d.focusableContainer,c=d.getInherited();if(!b){c.disabled=true;d.savedDisabled=true}if(d.maskOnDisable){c.disableMask=true}if(!d.disabled){d.addCls(d.disabledCls);if(d.rendered){d.onDisable()}else{d.disableOnRender=true}d.disabled=true;if(e!==true){d.fireEvent("disable",d)}if(a){a.onFocusableChildDisable(d)}}return d},enable:function(e,b){var d=this,a=d.focusableContainer,c=d.getInherited();if(!b){delete d.getInherited().disabled;d.savedDisabled=false}if(d.maskOnDisable){delete c.disableMask}if(d.disabled){if(!(b&&c.hasOwnProperty("disabled"))){d.disableOnRender=false;d.removeCls(d.disabledCls);if(d.rendered){d.onEnable()}d.disabled=false;if(e!==true){d.fireEvent("enable",d)}if(a){a.onFocusableChildEnable(d)}}}return d},findParentBy:function(a){var b;for(b=this.getRefOwner();b&&!a(b,this);b=b.getRefOwner()){}return b||null},findParentByType:function(a){return Ext.isFunction(a)?this.findParentBy(function(b){return b.constructor===a}):this.up(a)},findPlugin:function(d){var a,c=this.plugins,b=c&&c.length;for(a=0;a<b;a++){if(c[a].ptype===d){return c[a]}}},getAnimateTarget:function(a){a=a||this.animateTarget;if(a){a=a.isComponent?a.getEl():Ext.get(a)}return a||null},getBubbleTarget:function(){return this.getRefOwner()},getComponentLayout:function(){var a=this;if(!a.componentLayout||!a.componentLayout.isLayout){a.setComponentLayout(Ext.layout.Layout.create(a.componentLayout,"autocomponent"))}return a.componentLayout},getEl:function(){return this.el},getHeight:function(){return this.el.getHeight()},initInheritedState:function(a){var c=this,b=c.componentLayout;if(c.hidden){a.hidden=true}if(c.collapseImmune){a.collapseImmune=true}if(c.modelValidation!==undefined){a.modelValidation=c.modelValidation}if(c.savedDisabled){a.disabled=true}c.mixins.bindable.initInheritedState.call(c,a);if(b&&b.initInheritedState){b.initInheritedState(a)}},getId:function(){var a=this,b;if(!(a.id||(a.id=a.initialConfig.id))){b=a.getXType();if(b){b=b.replace(Ext.Component.INVALID_ID_CHARS_Re,"-")}else{b=Ext.name.toLowerCase()+"-comp"}a.id=b+"-"+a.getAutoId()}return a.id},getItemId:function(){return this.itemId||this.id},getLoader:function(){var b=this,a=b.loader;if(a){if(!a.isLoader){b.loader=new Ext.ComponentLoader(Ext.apply({target:b},a))}else{a.setTarget(b)}return b.loader}return null},getMaskTarget:function(){return this.maskElement?this[this.maskElement]:null},getPlugin:function(c){var a,d=this.plugins,b=d&&d.length;for(a=0;a<b;a++){if(d[a].pluginId===c){return d[a]}}return null},getPosition:function(c){var d=this,e,b=d.isContainedFloater(),a;if((c===true)&&!b){return[d.getLocalX(),d.getLocalY()]}e=d.getXY();if((c===true)&&b){a=d.floatParent.getTargetEl().getViewRegion();e[0]-=a.left;e[1]-=a.top}return e},getScrollX:function(){var a=this.getScrollable();return a?a.getPosition().x:0},getScrollY:function(){var a=this.getScrollable();return a?a.getPosition().y:0},getSize:function(a){return this.el.getSize(a)},getSizeModel:function(j){var g=this,h=Ext.layout.SizeModel,i=g.componentLayout.ownerContext,q=g.width,c=g.height,p,o,b,a,d,k,l,m,n,r,e=g.floating||g.floated;if(i){r=i.widthModel;d=i.heightModel}if(!r||!d){b=((p=typeof q)==="number");a=((o=typeof c)==="number");n=e||!(k=g.ownerLayout);if(n){l=Ext.layout.Layout.prototype.autoSizePolicy;m=e?3:g.shrinkWrap;if(b){r=h.configured}if(a){d=h.configured}}else{l=k.getItemSizePolicy(g,j);m=k.isItemShrinkWrap(g)}if(i){i.ownerSizePolicy=l}m=(m===true)?3:(m||0);if(n&&m){if(q&&p==="string"){m&=2}if(c&&o==="string"){m&=1}}if(m!==3){if(!j){j=g.ownerCt&&g.ownerCt.getSizeModel()}if(j){m|=(j.width.shrinkWrap?1:0)|(j.height.shrinkWrap?2:0)}}if(!r){if(!l.setsWidth){if(b){r=h.configured}else{r=(m&1)?h.shrinkWrap:h.natural}}else{if(l.readsWidth){if(b){r=h.calculatedFromConfigured}else{r=(m&1)?h.calculatedFromShrinkWrap:h.calculatedFromNatural}}else{r=h.calculated}}}if(!d){if(!l.setsHeight){if(a){d=h.configured}else{d=(m&2)?h.shrinkWrap:h.natural}}else{if(l.readsHeight){if(a){d=h.calculatedFromConfigured}else{d=(m&2)?h.calculatedFromShrinkWrap:h.calculatedFromNatural}}else{d=h.calculated}}}}return r.pairsByHeightOrdinal[d.ordinal]},getState:function(){var a=this,c=null,b=a.getSizeModel();if(b.width.configured){c=a.addPropertyToState(c,"width")}if(b.height.configured){c=a.addPropertyToState(c,"height")}return c},getWidth:function(){return this.el.getWidth()},getXType:function(){return this.self.xtype},getXTypes:function(){var c=this.self,d,a,b;if(!c.xtypes){d=[];a=this;while(a){b=a.xtypes;if(b!==undefined){d.unshift.apply(d,b)}a=a.superclass}c.xtypeChain=d;c.xtypes=d.join("/")}return c.xtypes},hasCls:function(a){var b=this.rendered?this.el:this.protoEl;return b.hasCls.apply(b,arguments)},hasUICls:function(a){var b=this,c=b.uiCls||[];return Ext.Array.contains(c,a)},hide:function(a,b,d){var c=this;if(c.pendingShow){c.pendingShow=false}if(!(c.rendered&&!c.isVisible())){if(!c.hasListeners.beforehide||c.fireEvent("beforehide",c)!==false||c.hierarchicallyHidden){c.getInherited().hidden=c.hidden=true;if(c.rendered){c.onHide.apply(c,arguments)}}}return c},initComponent:function(){var b=this,c=b.width,a=b.height;if(b.plugins&&!b.plugins.processed){b.plugins=b.constructPlugins()}b.pluginsInitialized=true;if(c!=null||a!=null){b.setSize(c,a)}if(b.listeners){b.on(b.listeners);b.listeners=null}if(b.focusable){b.initFocusable()}},initEvents:function(){var g=this,b=g.afterRenderEvents,a,c,h,d,e;if(b){for(h in b){c=g[h];if(c&&c.on){a=b[h];for(d=0,e=a.length;d<e;++d){g.mon(c,a[d])}}}}if(g.focusable){g.initFocusableEvents()}},is:function(a){return Ext.ComponentQuery.is(this,a)},isDescendantOf:function(a){var b;for(b=this.getRefOwner();b&&b!==a;b=b.getRefOwner()){}return b||null},isAncestor:function(a){while(a){if(a.getRefOwner()===this){return true}a=a.getRefOwner()}},isDisabled:function(){return this.disabled},isDraggable:function(){return !!this.draggable},isDroppable:function(){return !!this.droppable},isFloating:function(){return this.floating},isHidden:function(){return this.hidden},isHierarchicallyHidden:function(){var a=this,b=false,c,d;for(;(c=a.ownerCt||a.floatParent);a=c){d=c.getInherited();if(d.hidden){b=true;break}if(a.getInherited().collapseImmune){if(c.collapsed&&!a.collapseImmune){b=true;break}}else{b=!!d.collapsed;break}}return b},isLayoutChild:function(a){return !this.floating&&!!this.up(a)},isLayoutRoot:function(){var a=this,b=a.ownerLayout;if(!b||a._isLayoutRoot||a.floating){return true}return b.isItemLayoutRoot(a)},isLayoutSuspended:function(){var a=this,b;while(a){if(a.layoutSuspendCount||a.suspendLayout){return true}b=a.ownerLayout;if(!b){break}a=b.owner}return false},isVisible:function(a){var c=this,b;if(c.hidden||!c.rendered||c.isDestroyed){b=true}else{if(a){b=c.isHierarchicallyHidden()}}return !b},isXType:function(b,a){return a?(Ext.Array.indexOf(this.xtypes,b)!==-1):!!this.xtypesMap[b]},isMasked:function(a){var b=this;return !!(b.masked||(b.loadMask&&b.loadMask.isVisible())||(a&&b.getInherited().masked))},setMasked:function(b){var c=this,a=c.focusableContainer;if(b){c.masked=true;c.getInherited().masked=b}else{c.masked=false;delete c.getInherited().masked}if(a){a.onFocusableChildMasked(c,b)}return c},mask:function(c,d,b){var a=this.lastBox,e=this.getMaskTarget()||this.el;if(a){b=a.height}e.mask(c,d,b);this.setMasked(true)},nextNode:function(j,b){var e=this,g=e.ownerCt,h,c,d,a,k;if(b&&e.is(j)){return e}if(g){for(c=g.items.items,a=Ext.Array.indexOf(c,e)+1,d=c.length;a<d;a++){k=c[a];if(k.is(j)){return k}if(k.down){h=k.down(j);if(h){return h}}}return g.nextNode(j)}return null},nextSibling:function(h){var g=this.ownerCt,d,e,b,a;if(g){d=g.items;b=d.indexOf(this)+1;if(b){if(h){for(e=d.getCount();b<e;b++){if((a=d.getAt(b)).is(h)){return a}}}else{if(b<d.getCount()){return d.getAt(b)}}}}return null},onAdded:function(a,e,c){var d=this,b=d.inheritedState;d.ownerCt=a;if(b&&c){d.invalidateInheritedState()}if(d.reference){Ext.ComponentManager.markReferencesDirty()}if(d.hasListeners&&d.hasListeners.added){d.fireEvent("added",d,a,e)}if(Ext.GlobalEvents.hasListeners.added){d.fireHierarchyEvent("added")}},onRemoved:function(a){var b=this,c;if(Ext.GlobalEvents.hasListeners.removed){b.fireHierarchyEvent("removed")}if(b.hasListeners.removed){b.fireEvent("removed",b,b.ownerCt)}if(b.reference){c=b.lookupReferenceHolder();if(c){c.clearReference(b)}}if(!a){b.removeBindings()}if(b.inheritedState&&!a){b.invalidateInheritedState()}b.ownerCt=b.ownerLayout=null},onBoxReady:function(c,a){var b=this;if(b.resizable){b.initResizable(b.resizable)}if(b.draggable){b.initDraggable()}if(b.hasListeners.boxready){b.fireEvent("boxready",b,c,a)}},onDestroy:function(){var c=this,b=c.controller,a=c.focusableContainer;if(c.bind){c.removeBindings()}if(b){b.destroy()}c.controller=null;if(c.rendered){Ext.destroy(c.dd,c.resizer,c.proxy,c.proxyWrap,c.resizerComponent,c.scrollable,c.contentEl)}if(a){a.onFocusableChildDestroy(c)}if(c.focusable){c.destroyFocusable()}Ext.destroy(c.componentLayout,c.loadMask,c.floatingDescendants)},onDisable:function(){var b=this,a,c;if(b.focusable){b.disableFocusable()}if(b.maskOnDisable&&!b.getInheritedConfig("disableMask",true)){a=b.el.dom;c=a.nodeName;if(b.disabledRe.test(c)){a.disabled=true}if(!b.nonMaskableRe.test(c)){b.mask()}}},onEnable:function(){var b=this,a,c;if(b.focusable){b.enableFocusable()}if(b.maskOnDisable&&b.getInherited().hasOwnProperty("masked")){a=b.el.dom;c=a.nodeName;if(b.disabledRe.test(c)){a.disabled=false}if(!b.nonMaskableRe.test(c)){b.unmask()}}},onGlobalShow:function(a){if(this.up(a)){this.getScrollable().restoreState()}},onHide:function(a,b,g){var e=this,d,c,h;e.revertFocus();a=e.getAnimateTarget(a);if(!e.ghost){a=null}if(a){h={x:a.getX(),y:a.getY(),width:a.dom.offsetWidth,height:a.dom.offsetHeight};d=e.ghost();d.el.stopAnimation();c=e.getSize();d.el.animate({to:h,listeners:{afteranimate:function(){delete d.componentLayout.lastComponentSize;d.el.hide();d.setHiddenState(true);d.el.setSize(c);e.afterHide(b,g)}}})}e.el.hide();if(!a){e.afterHide(b,g)}},onPosition:Ext.emptyFn,onResize:function(e,a,d,c){var b=this;if(b.floating&&b.constrain){b.doConstrain()}if(b.hasListeners.resize){b.fireEvent("resize",b,e,a,d,c)}},onShow:function(){var a=this;a.el.show();a.updateLayout({isRoot:false});if(a.floating){if(a.maximized){a.fitContainer()}else{if(a.constrain){a.doConstrain()}}}},onShowComplete:function(a,d){var c=this,b=c.focusableContainer;if(c.floating){c.onFloatShow()}Ext.callback(a,d||c);c.fireEvent("show",c);if(b){b.onFocusableChildShow(c)}delete c.hiddenByLayout},onShowVeto:Ext.emptyFn,previousNode:function(h,b){var d=this,e=d.ownerCt,g,c,a,j;if(b&&d.is(h)){return d}if(e){for(c=e.items.items,a=Ext.Array.indexOf(c,d)-1;a>-1;a--){j=c[a];if(j.query){g=j.query(h);g=g[g.length-1];if(g){return g}}if(j.is(h)){return j}}return e.previousNode(h,true)}return null},previousSibling:function(g){var e=this.ownerCt,d,b,a;if(e){d=e.items;b=d.indexOf(this);if(b!==-1){if(g){for(--b;b>=0;b--){if((a=d.getAt(b)).is(g)){return a}}}else{if(b){return d.getAt(--b)}}}}return null},registerFloatingItem:function(a){var b=this;if(!b.floatingDescendants){b.floatingDescendants=new Ext.ZIndexManager(b)}b.floatingDescendants.register(a)},removeCls:function(a){var c=this,b=c.rendered?c.el:c.protoEl;b.removeCls.apply(b,arguments);return c},removeClsWithUI:function(b,l){var j=this,d=[],g=0,e=Ext.Array,k=e.remove,m=j.uiCls=e.clone(j.uiCls),a=j.activeUI,h,c;if(typeof b==="string"){b=(b.indexOf(" ")<0)?[b]:Ext.String.splitWords(b)}h=b.length;for(g=0;g<h;g++){c=b[g];if(c&&j.hasUICls(c)){k(m,c);if(a){d=d.concat(j.removeUIClsFromElement(c))}}}if(l!==true&&a){j.removeCls(d)}return d},resumeLayouts:function(a){var b=this;if(!b.rendered){return}if(!b.layoutSuspendCount){Ext.log.warn("Mismatched call to resumeLayouts - layouts are currently not suspended.")}if(b.layoutSuspendCount&&!--b.layoutSuspendCount){b.suspendLayout=false;if(a&&!b.isLayoutSuspended()){b.updateLayout(a)}}},scrollBy:function(b,c,a){var d=this.getScrollable();if(d){d.scrollBy(b,c,a)}},scrollTo:function(c,d,a){var b=this.getScrollable();if(b){b.scrollTo(c,d,a)}},setAutoScroll:function(a){this.setScrollable(!!a);return this},setBorder:function(a,d){var c=this,b=!!d;if(c.rendered||b){if(!b){d=c.el}if(!a){a=0}else{if(a===true){a="1px"}else{a=this.unitizeBox(a)}}d.setStyle("border-width",a);if(!b){c.updateLayout()}}c.border=a},setDock:function(a){var b=this,c=b.ownerCt;if(a!==b.dock){if(c&&c.moveDocked){c.moveDocked(b,a)}else{b.dock=a}}return b},setDisabled:function(a){return this[a?"disable":"enable"]()},setFlex:function(a){this.flex=a},setHeight:function(a){return this.setSize(undefined,a)},setLoading:function(b,d){var c=this,a={target:c};if(c.rendered){if(b!==false){if(Ext.isString(b)){a.msg=b}else{Ext.apply(a,b)}if(!c.loadMask||!c.loadMask.isLoadMask){if(d&&a.useTargetEl==null){a.useTargetEl=true}c.loadMask=new Ext.LoadMask(a)}else{Ext.apply(c.loadMask,a)}if(c.loadMask.isVisible()){c.loadMask.afterShow()}else{c.loadMask.show()}}else{if(c.loadMask&&c.loadMask.isLoadMask){c.loadMask.hide()}}}return c.loadMask},setMargin:function(a,c){var b=this;if(b.rendered){if(!a&&a!==0){a=""}else{if(a===true){a=5}a=this.unitizeBox(a)}b.margin=a;b.margin$=null;b.getEl().setStyle("margin",a);if(!c){b.updateLayout(b._notAsLayoutRoot)}}else{b.margin=a}},setOverflowXY:function(a,b){this.setScrollable({x:(a&&a!=="hidden")?a:false,y:(b&&b!=="hidden")?b:false});return this},setPagePosition:function(e,g,a){var c=this,d,b;if(Ext.isArray(e)){g=e[1];e=e[0]}c.pageX=e;c.pageY=g;if(c.floating){if(c.isContainedFloater()){b=c.floatParent.getTargetEl().getViewRegion();if(Ext.isNumber(e)&&Ext.isNumber(b.left)){e-=b.left}if(Ext.isNumber(g)&&Ext.isNumber(b.top)){g-=b.top}}else{d=c.el.translateXY(e,g);e=d.x;g=d.y}c.setPosition(e,g,a)}else{d=c.el.translateXY(e,g);c.setPosition(d.x,d.y,a)}return c},setPosition:function(d,e,a){var b=this,c=b.beforeSetPosition.apply(b,arguments);if(c&&b.rendered){d=c.x;e=c.y;if(a){if(d!==b.getLocalX()||e!==b.getLocalY()){b.stopAnimation();b.animate(Ext.apply({duration:1000,listeners:{afteranimate:Ext.Function.bind(b.afterSetPosition,b,[d,e])},to:{left:d,top:e}},a))}}else{b.setLocalXY(d,e);b.afterSetPosition(d,e)}}return b},setScrollX:function(c,a){var b=this.getScrollable();if(b){b.scrollTo(c,null,a)}},setScrollY:function(c,a){var b=this.getScrollable();if(b){b.scrollTo(null,c,a)}},setSize:function(g,a){var c=this,h,b,e=c.width,d=c.height;if(g&&typeof g==="object"){a=g.height;g=g.width}if(typeof g==="number"){c.width=Ext.Number.constrain(g,c.minWidth,c.maxWidth)}else{if(g===null){delete c.width}else{if(typeof g==="string"){h=true;c.width=g}}}if(typeof a==="number"){c.height=Ext.Number.constrain(a,c.minHeight,c.maxHeight)}else{if(a===null){delete c.height}else{if(typeof a==="string"){b=true;c.height=a}}}if(c.rendered&&c.isVisible()){if(e!==c.width||d!==c.height){if(c.liquidLayout||h||b){c.el.setSize(c.width,c.height)}c.updateLayout(c._notAsLayoutRoot)}}return c},setStyle:function(b,c){var a=this.el||this.protoEl;a.setStyle(b,c);return this},setUI:function(d){var c=this,e=c.uiCls,a=c.activeUI,b;if(d===a){return}if(a){b=c.removeClsWithUI(e,true);if(b.length){c.removeCls(b)}c.removeUIFromElement()}else{c.uiCls=[]}c.ui=d;c.activeUI=d;c.addUIToElement();b=c.addClsWithUI(e,true);if(b.length){c.addCls(b)}if(c.rendered){c.updateLayout()}},setVisible:function(a){return this[a?"show":"hide"]()},setHidden:function(a){return this.setVisible(!a)},setWidth:function(a){return this.setSize(a)},show:function(a,b,e){var c=this,d=c.rendered;if(c.hierarchicallyHidden||(c.floating&&!d&&c.isHierarchicallyHidden())){if(!d){c.initHierarchyEvents()}if(arguments.length>1){arguments[0]=null;c.pendingShow=arguments}else{c.pendingShow=true}}else{if(d&&c.isVisible()){if(c.floating){c.onFloatShow()}}else{if(c.fireEvent("beforeshow",c)!==false){c.hidden=false;delete this.getInherited().hidden;Ext.suspendLayouts();if(!d&&(c.autoRender||c.floating)){c.doAutoRender();d=c.rendered}if(d){c.beforeShow();Ext.resumeLayouts();c.onShow.apply(c,arguments);c.afterShow.apply(c,arguments)}else{Ext.resumeLayouts(true)}}else{c.onShowVeto()}}}return c},showAt:function(c,d,a){var b=this;if(!b.rendered&&(b.autoRender||b.floating)){b.x=c;b.y=d;return b.show()}if(b.floating){b.setPosition(c,d,a)}else{b.setPagePosition(c,d,a)}return b.show()},showBy:function(a,d,c){var b=this;if(!b.floating){Ext.log.warn("Using showBy on a non-floating component")}if(b.floating&&a){b.alignTarget=a;if(d){b.defaultAlign=d}if(c){b.alignOffset=c}b.show();if(!b.hidden){b.alignTo(a,d||b.defaultAlign,c||b.alignOffset)}}return b},suspendLayouts:function(){var a=this;if(!a.rendered){return}if(++a.layoutSuspendCount===1){a.suspendLayout=true}},unitizeBox:function(a){return Ext.Element.unitizeBox(a)},unmask:function(){(this.getMaskTarget()||this.el).unmask();this.setMasked(false)},unregisterFloatingItem:function(a){var b=this;if(b.floatingDescendants){b.floatingDescendants.unregister(a)}},up:function(g,a){var e=this.getRefOwner(),d=typeof a==="string",c=typeof a==="number",b=a&&a.isComponent,h=0;if(g){for(;e;e=e.getRefOwner()){h++;if(g.isComponent){if(e===g){return e}}else{if(Ext.ComponentQuery.is(e,g)){return e}}if(d&&e.is(a)){return}if(c&&h===a){return}if(b&&e===a){return}}}return e},update:function(e,h,a,j){var i=this,g=(i.tpl&&!Ext.isString(e)),k=i.getScrollable(),b=i.focusableContainer,l,c,d;if(g){i.data=(e&&e.isEntity)?e.getData(true):e}else{i.html=Ext.isObject(e)?Ext.DomHelper.markup(e):e}if(i.rendered){l=i.getSizeModel();c=l.width.shrinkWrap||l.height.shrinkWrap;if(i.isContainer){d=i.layout.getRenderTarget();c=c||i.items.items.length>0}else{d=i.touchScroll?i.getScrollerEl():i.getTargetEl()}if(g){i.tpl[i.tplWriteMode](d,i.data||{})}else{d.setHtml(i.html,h,a,j||i)}if(c){i.updateLayout()}if(k){k.refresh(true)}if(b){b.onFocusableChildUpdate(i)}}},setHtml:function(a,b,c){this.update(a,b,null,c)},applyData:function(a){this.update(a)},updateBox:function(a){this.setSize(a.width,a.height);this.setPagePosition(a.x,a.y);return this},_asLayoutRoot:{isRoot:true},_notAsLayoutRoot:{isRoot:false},updateLayout:function(e){var d=this,a,c=d.lastBox,b=e&&e.isRoot;if(c){c.invalid=true}if(!d.rendered||d.layoutSuspendCount||d.suspendLayout){return}if(d.hidden){Ext.Component.cancelLayout(d)}else{if(typeof b!=="boolean"){b=d.isLayoutRoot()}}if(b||!d.ownerLayout||!d.ownerLayout.onContentChange(d)){if(!d.isLayoutSuspended()){a=(e&&e.hasOwnProperty("defer"))?e.defer:d.deferLayouts;Ext.Component.updateLayout(d,a)}}},updateMaxHeight:function(a,b){this.changeConstraint(a,b,"min","max-height","height")},updateMaxWidth:function(a,b){this.changeConstraint(a,b,"min","max-width","width")},updateMinHeight:function(a,b){this.changeConstraint(a,b,"max","min-height","height")},updateMinWidth:function(a,b){this.changeConstraint(a,b,"max","min-width","width")},getAnchorToXY:function(b,a,c,d){return b.getAnchorXY(a,c,d)},getBorderPadding:function(){return this.el.getBorderPadding()},getLocalX:function(){return this.el.getLocalX()},getLocalXY:function(){return this.el.getLocalXY()},getLocalY:function(){return this.el.getLocalY()},getX:function(){return this.el.getX()},getXY:function(){return this.el.getXY()},getY:function(){return this.el.getY()},setLocalX:function(a){this.el.setLocalX(a)},setLocalXY:function(a,b){this.el.setLocalXY(a,b)},setLocalY:function(a){this.el.setLocalY(a)},setX:function(b,a){this.el.setX(b,a)},setXY:function(b,a){this.el.setXY(b,a)},setY:function(b,a){this.el.setY(b,a)},privates:{addOverCls:function(){var a=this;if(!a.disabled){a.el.addCls(a.overCls)}},addUIToElement:function(){var e=this,a=e.baseCls+"-"+e.ui,c,b,d,g;e.addCls(a);if(e.rendered&&e.frame&&!Ext.supports.CSS3BorderRadius){a+="-";c=e.getChildEls();for(b in c){g=c[b].frame;if(g&&g!==true){d=e[b];if(d){d.addCls(a+g)}}}}},changeConstraint:function(c,d,a,h,g){var b=this,e=b[g];if(c!=null&&typeof e==="number"){b[g]=Math[a](e,c)}if(b.liquidLayout){if(c!=null){b.setStyle(h,c+"px")}else{if(d){b.setStyle(h,"")}}}if(b.rendered){b.updateLayout()}},constructPlugin:function(b){var a=this;if(typeof b==="string"){b=Ext.PluginManager.create({},b,a)}else{b=Ext.PluginManager.create(b,null,a)}return b},constructPlugins:function(){var c=this,d=c.plugins,e,a,b;if(d){e=[];e.processed=true;if(!Ext.isArray(d)){d=[d]}for(a=0,b=d.length;a<b;a++){e[a]=c.constructPlugin(d[a])}}c.pluginsInitialized=true;return e},detachFromBody:function(){Ext.getDetachedBody().appendChild(this.el);Ext.Component.cancelLayout(this);this.isDetached=true},doAddListener:function(d,g,n,l,m,a,i){var j=this,h,k,e,c,b;if(Ext.isObject(g)||(l&&l.element)){if(l.element){c=l.element;h={};h[d]=g;if(n){h.scope=n}e=j.$elementEventOptions;for(k in l){if(e[k]){h[k]=l[k]}}}else{h=g;c=d}b=j[c];if(b&&b.isObservable){j.mon(b,h)}else{j.afterRenderEvents=j.afterRenderEvents||{};if(!j.afterRenderEvents[c]){j.afterRenderEvents[c]=[]}j.afterRenderEvents[c].push(h)}return}j.mixins.observable.doAddListener.call(j,d,g,n,l,m,a,i)},fireHierarchyEvent:function(a){var b=Ext.GlobalEvents;if(b.hasListeners[a]){b.fireEvent(a,this)}},getActionEl:function(){return this.el},getAutoId:function(){this.autoGenId=true;return ++Ext.Component.AUTO_ID},getContentTarget:function(){return this.el},getDragEl:function(){return this.el},getOverflowEl:function(){return this.getTargetEl()},getOverflowStyle:function(){var b=this,c=b.getScrollable(),a=b._scrollFlags,e,g,d;if(c){e=c.getX();if(e===true){e="auto"}g=c.getY();if(g===true){g="auto"}d=a[e][g]}else{d=a.none}b.scrollFlags=d;return{overflowX:d.overflowX,overflowY:d.overflowY}},getPlugins:function(){var a=this.plugins;a=(a&&a.processed)?a:this.constructPlugins();return a||null},getProxy:function(){var a=this,b;if(!a.proxy){b=Ext.getBody();a.proxy=a.el.createProxy(Ext.baseCSSPrefix+"proxy-el",b,true)}return a.proxy},getScrollerEl:function(){var a=this;return a.scrollerEl||(a.scrollerEl=a.componentLayout.getScrollerEl()||a.getOverflowEl().child(a.scrollerSelector))},getTargetEl:function(){return this.frameBody||this.el},getTdCls:function(){return Ext.baseCSSPrefix+this.getTdType()+"-"+this.ui+"-cell"},getTdType:function(){return this.xtype},getTpl:function(a){return Ext.XTemplate.getTpl(this,a)},initCls:function(){var b=this,a=[b.baseCls],c=b.getComponentLayout().targetCls;if(c){a.push(c)}if(Ext.isDefined(b.cmpCls)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.")}b.componentCls=b.cmpCls;delete b.cmpCls}if(b.componentCls){a.push(b.componentCls)}else{b.componentCls=b.baseCls}return a},initDraggable:function(){var c=this,b=(c.resizer&&c.resizer.el!==c.el)?c.resizerComponent=new Ext.Component({ariaRole:"presentation",el:c.resizer.el,rendered:true,container:c.container}):c,a=Ext.applyIf({el:b.getDragEl(),constrainTo:(c.constrain||c.draggable.constrain)?(c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.container)):undefined},c.draggable);if(c.constrain||c.constrainDelegate){a.constrain=c.constrain;a.constrainDelegate=c.constrainDelegate}c.dd=new Ext.util.ComponentDragger(b,a)},initPadding:function(c){var a=this,b=a.padding;if(b!=null){if(a.touchScroll||(a.layout&&a.layout.managePadding&&a.contentPaddingProperty==="padding")){c.setStyle("padding",0)}else{c.setStyle("padding",this.unitizeBox((b===true)?5:b))}}},initPlugin:function(a){a.init(this);return a},initResizable:function(b){var a=this;b=Ext.apply({target:a,dynamic:false,constrainTo:(a.constrain||(b&&b.constrain))?(a.constrainTo||(a.floatParent?a.floatParent.getTargetEl():a.container)):undefined,handles:a.resizeHandles},b);b.target=a;a.resizer=new Ext.resizer.Resizer(b)},initStyles:function(i){var g=this,e=g.margin,a=g.border,b=g.cls,h=g.style,k=g.x,l=g.y,d=g.liquidLayout,j,c;g.initPadding(i);if(e!=null){i.setStyle("margin",this.unitizeBox((e===true)?5:e))}if(a!=null){g.setBorder(a,i)}if(b&&b!==g.initialCls){i.addCls(b);g.cls=g.initialCls=null}if(h&&h!==g.initialStyle){i.setStyle(h);g.style=g.initialStyle=null}if(k!=null){i.setStyle(g.horizontalPosProp,(typeof k==="number")?(k+"px"):k)}if(l!=null){i.setStyle("top",(typeof l==="number")?(l+"px"):l)}if(!g.ownerCt||g.floating){if(Ext.scopeCss){i.addCls(g.rootCls)}i.addCls(g.borderBoxCls)}if(d||!g.getFrameInfo()){j=g.width;c=g.height;if(j!=null){if(typeof j==="number"){i.setStyle("width",j+"px")}else{i.setStyle("width",j)}}if(c!=null){if(typeof c==="number"){i.setStyle("height",c+"px")}else{i.setStyle("height",c)}}}},isContainedFloater:function(){return(this.floating&&this.floatParent)},isDescendant:function(a){if(a.isContainer){for(var b=this.ownerCt;b;b=b.ownerCt){if(b===a){return true}}}return false},owns:function(b){var c=false,a;if(b.isEvent){b=b.target}else{if(b.isElement){b=b.dom}}a=Ext.Component.fromElement(b);if(a){c=(a===this)||(!!a.up(this))}return c},parseBox:function(a){return Ext.Element.parseBox(a)},reattachToBody:function(){this.isDetached=false},refreshScroll:function(){var a=this.getScrollable();if(a){a.refresh()}},removeManagedListenerItem:function(d,g,e,b,c,i){var h=this,a=g.options?g.options.element:null;if(a){a=h[a];if(a&&a.un){if(d||(g.item===e&&g.ename===b&&(!c||g.fn===c)&&(!i||g.scope===i))){a.un(g.ename,g.fn,g.scope);if(!d){Ext.Array.remove(h.managedListeners,g)}}}}else{return h.mixins.observable.removeManagedListenerItem.apply(h,arguments)}},removeOverCls:function(){this.el.removeCls(this.overCls)},removePlugin:function(a){Ext.Array.remove(this.plugins,a);a.destroy()},removeUIFromElement:function(){var e=this,a=e.baseCls+"-"+e.ui,c,b,d,g;e.removeCls(a);if(e.rendered&&e.frame&&!Ext.supports.CSS3BorderRadius){a+="-";c=e.getChildEls();for(b in c){g=c[b].frame;if(g&&g!==true){d=e[b];if(d){d.removeCls(a+g)}}}}},setComponentLayout:function(b){var a=this.componentLayout;if(a&&a.isLayout&&a!==b){a.setOwner(null)}this.componentLayout=b;b.setOwner(this)},setHiddenState:function(a){var c=this,b=c.getInherited(),d=c.zIndexManager;c.hidden=a;if(a){b.hidden=true}else{delete b.hidden}if(d){d.onComponentShowHide(c)}},setupProtoEl:function(){var a=this.initCls();this.protoEl.addCls(a)},wrapPrimaryEl:function(a){var c=this,b=c.el;if(!b||!b.isElement){c.el=Ext.get(a)}if(c.floating){this.mixins.floating.constructor.call(this)}}},deprecated:{5:{methods:{addClass:"addCls",doComponentLayout:function(){this.updateLayout();return this},removeClass:"removeCls",forceComponentLayout:"updateLayout",setDocked:"setDock"}}}},function(a){(a.prototype.$elementEventOptions=Ext.Object.chain(Ext.Element.prototype.$eventOptions)).element=1;a.createAlias({on:"addListener",prev:"previousSibling",next:"nextSibling"});Ext.resumeLayouts=function(g){a.resumeLayouts(g)};Ext.suspendLayouts=function(){a.suspendLayouts()};Ext.batchLayouts=function(g,h){a.suspendLayouts();g.call(h);a.resumeLayouts(true)};Ext.setGlyphFontFamily=function(g){Ext._glyphFontFamily=g};a.hierarchyEventSource=a.prototype.hierarchyEventSource=Ext.GlobalEvents;var e=document.getElementsByTagName("head")[0].getElementsByTagName("meta"),d=e.length,c,b;for(c=0;c<d;c++){if(e[c].name==="viewport"){b=true}}if(!b){Ext.log.warn('Ext JS requires a viewport meta tag in order to function correctly on mobile devices.  Please add the following tag to the <head> of your html page: \n <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">')}});Ext.define("Ext.layout.container.border.Region",{override:"Ext.Component",initBorderRegion:function(){var a=this;if(!a._borderRegionInited){a._borderRegionInited=true;a.addStateEvents(["changeregion","changeweight"]);Ext.override(a,{getState:function(){var b=a.callParent();b=a.addPropertyToState(b,"region");b=a.addPropertyToState(b,"weight");return b}})}},getOwningBorderContainer:function(){var a=this.getOwningBorderLayout();return a&&a.owner},getOwningBorderLayout:function(){var a=this.ownerLayout;return(a&&a.isBorderLayout)?a:null},setRegion:function(k){var g=this,a,h=g.region;if(typeof k!=="string"){Ext.Error.raise("Use setBox to set the size or position of a component.")}if(k!==h){a=g.getOwningBorderLayout();if(a){var l=a.regionFlags[k],j=g.placeholder,n=g.splitter,i=a.owner,m=a.regionMeta,b=g.collapsed||g.floated,c,e,d;if(g.fireEventArgs("beforechangeregion",[g,k])===false){return h}Ext.suspendLayouts();g.region=k;Ext.apply(g,l);if(g.updateCollapseTool){g.updateCollapseTool()}if(n){Ext.apply(n,l);n.updateOrientation();e=i.items;d=e.indexOf(g);if(d>=0){c=m[k].splitterDelta;if(e.getAt(d+c)!==n){e.remove(n);d=e.indexOf(g);if(c>0){++d}e.insert(d,n)}}}if(j){if(b){g.expand(false)}i.remove(j);g.placeholder=null;if(b){g.collapse(null,false)}}i.updateLayout();Ext.resumeLayouts(true);g.fireEventArgs("changeregion",[g,h])}else{g.region=k}}return h},setWeight:function(e){var a=this,c=a.getOwningBorderContainer(),d=a.placeholder,b=a.weight;if(e!==b){if(a.fireEventArgs("beforechangeweight",[a,e])!==false){a.weight=e;if(d){d.weight=e}if(c){c.updateLayout()}a.fireEventArgs("changeweight",[a,b])}}return b}},function(a){var b=a.prototype;b.setBorderRegion=b.setRegion;b.setRegionWeight=b.setWeight});Ext.define("Ext.overrides.app.domain.Component",{override:"Ext.app.domain.Component"},function(a){a.monitor(Ext.Component)});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,a){var c=this.domains,b;for(b in d){if(d.hasOwnProperty(b)){c[b].listen(d[b],a)}}},unlisten:function(a){var c=Ext.app.EventDomain.instances,b;for(b in c){c[b].unlisten(a)}}});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(g){if(g){var c=this,a=c.getBefore()||{},e=Ext.app.route.Router,h,b,d;for(h in g){b=g[h];if(Ext.isString(b)){b={action:b}}d=b.action;if(!b.before){b.before=a[d]}else{if(a[d]){Ext.log.warn('You have a before method configured on a route ("'+h+'") and in the before object property also in the "'+c.self.getName()+'" controller. Will use the before method in the route and disregard the one in the before property.')}}e.connect(h,b,c)}}},isActive:function(){return true},control:function(g,c,a){var d=this,b=a,e;if(Ext.isString(g)){e={};e[g]=c}else{e=g;b=c}d.eventbus.control(e,b||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.clearListeners();b.callParent()},redirectTo:function(d,a){if(d.isModel){d=d.toUrl()}var b=Ext.util.History.getToken()===d,c=false;if(!b){c=true;Ext.util.History.add(d)}else{if(a){c=true;Ext.app.route.Router.onStateChange(d)}}return c}});Ext.define("Ext.app.Util",{},function(){Ext.apply(Ext.app,{namespaces:{Ext:{}},addNamespaces:function(c){var d=Ext.app.namespaces,a,b;if(!Ext.isArray(c)){c=[c]}for(a=0,b=c.length;a<b;a++){d[c[a]]=true}},clearNamespaces:function(){Ext.app.namespaces={}},getNamespace:function(a){var c=Ext.apply({},Ext.ClassManager.paths,Ext.app.namespaces),b="",d;for(d in c){if(c.hasOwnProperty(d)&&d.length>b.length&&(d+"."===a.substring(0,d.length+1))){b=d}}return b===""?undefined:b}});Ext.getNamespace=Ext.app.getNamespace});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);if(!Ext.isFunction(this.getKey)){Ext.Error.raise("CollectionKey requires a keyFn or property config")}},get:function(a){var b=this.map||this.getMap();return b[a]||null},clear:function(){this.map=null},getRootProperty:function(){var a=this,b=this.callParent();return b!==null?b:a.getCollection().getRootProperty()},indexOf:function(g,l){var j=this.map||this.getMap(),d=j[g],a=this.getCollection(),h=a.length,b,c,e,k;if(!d){return -1}if(l===undefined){l=-1}if(d instanceof Array){e=d;c=h;for(k=e.length;k-->0;){b=a.indexOf(e[k]);if(b<c&&b>l){c=b}}if(c===h){return -1}}else{c=a.indexOf(d)}return(c>l)?c:-1},updateKey:function(c,g){var e=this,d=e.map,a,b;if(d){a=d[g];if(a instanceof Array){b=Ext.Array.indexOf(a,c);if(b>=0){if(a.length>2){a.splice(b,1)}else{d[g]=a[1-b]}}}else{if(a){if(e.getUnique()&&a!==c){Ext.Error.raise('Incorrect oldKey "'+g+'" for item with newKey "'+e.getKey(c)+'"')}delete d[g]}}e.add([c])}},onCollectionAdd:function(b,a){if(this.map){this.add(a.items)}},onCollectionItemChange:function(a,b){this.map=null},onCollectionRefresh:function(){this.map=null},onCollectionRemove:function(a,k){var j=this,h=j.map,d=k.items,g=d.length,b,c,e;if(h){if(j.getUnique()&&g<a.length/2){for(b=0;b<g;++b){e=j.getKey(c=d[b]);delete h[e]}}else{j.map=null}}},add:function(d){var j=this,h=j.map,a,b,c,e,g,k;g=d.length;k=j.getUnique();for(b=0;b<g;++b){e=j.getKey(c=d[b]);if(k||!(e in h)){h[e]=c}else{if(!((a=h[e]) instanceof Array)){h[e]=a=[a]}a.push(c)}}},applyKeyFn:function(a){if(Ext.isString(a)){this.getKey=function(b){return b[a]()}}else{this.getKey=a}},updateProperty:function(a){var b=this.getRootProperty();this.getKey=function(c){return(b?c[b]:c)[a]}},getMap:function(){var b=this,a=b.map;if(!a){b.map=a={};b.keysByItemKey={};++b.mapRebuilds;b.add(b.getCollection().items)}return a},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){if(a){if(a.getGroupString){Ext.Error.raise("Cannot set getGroupString - use groupFn instead")}}this.callParent(arguments)},getGroupString:function(b){var a=this._groupFn(b);return(a!=null)?String(a):""},sortFn:function(a,b){var d=this,c=d._groupFn(a),g=d._groupFn(b),e=d._sortProperty,h=d._root,i=d._sorterFn,j=d._transform;if(c===g){return 0}if(e||i){if(i){return i.call(this,a,b)}if(h){a=a[h];b=b[h]}c=a[e];g=b[e];if(j){c=j(c);g=j(g)}}return(c>g)?1:(c<g?-1:0)},standardGroupFn:function(a){var b=this._root;return(b?a[b]:a)[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},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,a=c._filters,d=c._sorters,b=c._groups;if(a){a.destroy();c._filters=null}if(d){d.destroy();c._sorters=null}if(b){b.destroy();c._groups=null}c.setSource(null);c.observers=c.items=c.map=null},add:function(a){var c=this,b=c.decodeItems(arguments,0),d=b;if(b.length){c.requestedIndex=c.length;c.splice(c.length,0,b);delete c.requestedIndex;d=(b.length===1)?b[0]:b}return d},replaceAll:function(){var b=this,c,a;a=b.decodeItems(arguments,0);c=a;if(a.length){b.splice(0,b.length,a);c=(a.length===1)?a[0]:a}else{b.removeAll()}return c},aggregate:function(g,e,b,c,h){var d=this,a=Ext.Array.slice(arguments);a.unshift(d.items);return d.aggregateItems.apply(d,a)},aggregateByGroup:function(c,b,d){var a=this.getGroups();return this.aggregateGroups(a,c,b,d)},aggregateItems:function(d,k,h,a,b,o){var g=this,l=Ext.Number.clipIndices(d.length,[a,b]),p=(a!==0&&b!==d.length),c,e,m,n,q,s,r;a=l[0];b=l[1];if(!Ext.isFunction(h)){h=g._aggregators[h];return h.call(g,d,a,b,k,g.getRootProperty())}n=g.getRootProperty();s=new Array(m);r=p?new Array(m):d;for(c=a,e=0;c<b;++c,e++){if(p){r[e]=q=d[c]}s[e]=(n?q[n]:q)[k]}return h.call(o||g,d,s,0)},aggregateGroups:function(c,k,h,m){var e=c.items,g=e.length,a=!Ext.isFunction(h),j={},d,b,l;for(d=0;d<g;++d){b=e[d];if(!a){l=this.aggregateItems(b.items,k,h,null,null,m)}else{l=b[h](k)}j[b.getGroupKey()]=l}return j},beginUpdate:function(){if(!this.updating++){this.notify("beginupdate")}},clear:function(){var d=this,b=d.generation,e=b?d.items:[],a,c;if(b){d.items=[];d.length=0;d.map={};d.indices={};d.generation++;a=d.getExtraKeys();if(a){for(c in a){a[c].clear()}}}return e},clone:function(){var b=this,a=new b.self(b.initialConfig);a.add(b.items);return a},collect:function(g,j,a){var c=this.items,d=c.length,e={},h=[],b,k,l;for(b=0;b<d;++b){l=c[b];l=(j?l[j]:l)[g];k=String(l);if((a||!Ext.isEmpty(l))&&!e[k]){e[k]=1;h.push(l)}}return h},contains:function(a){var c=false,b;if(a!=null){b=this.getKey(a);c=this.map[b]===a}return c},containsKey:function(a){return a in this.map},createFiltered:function(l,p,a,b,c){var k=this,m=new k.self(k.initialConfig),n=k.getRootProperty(),h=k.items,j,g,d,e,o;if(Ext.isFunction(l)){e=l;o=p}else{if(Ext.isString(l)){d=[new Ext.util.Filter({property:l,value:p,root:n,anyMatch:a,caseSensitive:b,exactMatch:c})]}else{if(l instanceof Ext.util.Filter){d=[l];l.setRoot(n)}else{if(Ext.isArray(l)){d=l.slice(0);for(g=0,j=d.length;g<j;++g){d[g].setRoot(n)}}}}e=Ext.util.Filter.createFilterFn(d)}o=o||k;for(g=0,j=h.length;g<j;g++){if(e.call(o,h[g])){m.add(h[g])}}return m},filterBy:function(a,b){return this.createFiltered(a,b)},each:function(a,g){var c=this.items,d=c.length,b,e;if(d){g=g||this;c=c.slice(0);for(b=0;b<d;b++){e=a.call(g,c[b],b,d);if(e===false){break}}}return e},eachKey:function(a,k){var h=this,d=h.items,g=d.length,b,c,e,j;if(g){k=k||h;d=d.slice(0);for(b=0;b<g;b++){e=h.getKey(c=d[b]);j=a.call(k,e,c,b,g);if(j===false){break}}}return j},endUpdate:function(){if(!--this.updating){this.notify("endupdate")}},find:function(c,i,g,h,a,b){if(Ext.isEmpty(i,false)){return null}var d=Ext.String.createRegex(i,h,a,b),e=this.getRootProperty();return this.findBy(function(j){return j&&d.test((e?j[e]:j)[c])},null,g)},findBy:function(a,j,k){var h=this,d=h.items,g=d.length,b,c,e;j=j||h;for(b=k||0;b<g;b++){e=h.getKey(c=d[b]);if(a.call(j,c,e)){return d[b]}}return null},findIndex:function(d,h,e,g,a,b){var c=this.find(d,h,e,g,a,b);return c?this.indexOf(c):-1},findIndexBy:function(a,c,d){var b=this.findBy(a,c,d);return b?this.indexOf(b):-1},first:function(a){var b=a?this.getGroups():undefined;return b?this.aggregateGroups(b,null,"first"):this.items[0]},last:function(a){var b=a?this.getGroups():undefined;return b?this.aggregateGroups(b,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(b){var a=b.id;return(a===0||a)?a:((a=b._id)===0||a)?a:b.getId()},getRange:function(a,b){var c=this.items,d=c.length,e;if(a>b){Ext.Error.raise("Inverted range passed to Collection.getRange: ["+a+","+b+"]")}if(!d){e=[]}else{e=Ext.Number.clipIndices(d,[a,b]);e=c.slice(e[0],e[1])}return e},getValues:function(d,h,j,a){var c=this.items,e=Ext.Number.clipIndices(c.length,[j,a]),g=[],b,k;for(b=e[0],a=e[1];b<a;++b){k=c[b];k=(h?k[h]:k)[d];g.push(k)}return g},indexOf:function(a){if(!a){return -1}var b=this.getKey(a);return this.indexOfKey(b)},indexOfKey:function(b){var c=this,a=c.indices;if(b in c.map){if(!a){a=c.getIndices()}return a[b]}return -1},insert:function(a,b){var d=this,c=d.decodeItems(arguments,1),e=c;if(c.length){d.requestedIndex=a;d.splice(a,0,c);delete d.requestedIndex;e=(c.length===1)?c[0]:c}return e},itemChanged:function(e,n,q,m){var l=this,j=q===0||!!q,c=l.filtered&&l.getAutoFilter(),b=false,h=0,i=l.items,k=l.length-1,r=l.sorted&&k>0&&l.getAutoSort(),t=l.getSource(),v=0,g=false,w=false,a,p,s,u,d,o;if(t&&!t.updating){t.itemChanged(e,n,q,m)}else{p=l.getKey(e);if(c){d=l.indexOfKey(j?q:p);w=(d<0);g=l.isItemFiltered(e);b=(w!==g)}if(b){if(g){v=[e];o=-1}else{u=[e];o=l.length}}else{if(r&&!g){if(!c){d=l.indexOfKey(j?q:p)}s=l.getSortFn();if(d!==-1){if(d&&s(i[d-1],i[d])>0){h=-1;o=Ext.Array.binarySearch(i,e,0,d,s)}else{if(d<k&&s(i[d],i[d+1])>0){h=1;o=Ext.Array.binarySearch(i,e,d+1,s)}}if(h){u=[e]}}}}a={item:e,key:p,index:o,filterChanged:b,keyChanged:j,indexChanged:!!h,filtered:g,oldIndex:d,newIndex:o,wasFiltered:w,meta:m};if(j){a.oldKey=q}if(n){a.modified=n}l.beginUpdate();l.notify("beforeitemchange",[a]);if(j){l.updateKey(e,q)}if(u||v){l.splice(o,v,u)}if(h>0){a.newIndex--}else{if(h<0){a.oldIndex++}}l.notify(g?"filtereditemchange":"itemchange",[a]);l.endUpdate()}},remove:function(a){var d=this,b=d.decodeRemoveItems(arguments,0),c=d.length;d.splice(0,b);return c-d.length},removeAll:function(){var b=this,a=b.length;if(b.generation&&a){b.splice(0,a)}return b},removeAt:function(b,a){var e=this,d=e.length,h=Ext.Number,i=h.clipIndices(d,[b,(a===undefined)?1:a],h.Clip.COUNT),g=i[0],j=i[1]-g,c=(j===1)&&e.getAt(g),k;e.splice(g,j);k=e.length-d;return(c&&k)?c:k},removeByKey:function(b){var a=this.getByKey(b);if(!a||!this.remove(a)){return false}return a},replace:function(b){var a=this.indexOf(b);if(a===-1){this.add(b)}else{this.insert(a,b)}},splice:function(o,Q,P){var B=this,c=B.sorted&&B.getAutoSort(),A=B.map,u=B.items,z=B.length,K=(Q instanceof Array)?B.decodeRemoveItems(Q):null,r=!K,H=Ext.Number,I=H.clipIndices(z,[o,r?Q:0],H.Clip.COUNT),d=I[0],l=I[1],J=l-d,E=B.decodeItems(arguments,2),D=E?E.length:0,a,F,L,q=d,p=B.indices||((D||K)?B.getIndices():null),b=null,M=J?[d]:null,G=null,O=B.getSource(),e,g,h,m,s,t,v,w,x,C,j,N,y;if(O&&!O.updating){if(r){K=[];for(m=0;m<J;++m){K.push(u[d+m])}}if(d<z){m=O.indexOf(u[d])}else{m=O.length}O.splice(m,K,E);return B}if(D){a=E;G=[];F={};if(c){N=B.getSorters();if(D>1){if(!a.$cloned){E=a=a.slice(0)}B.sortData(a)}}for(m=0;m<D;++m){w=B.getKey(s=E[m]);if((v=F[w])!==undefined){(j||(j={}))[v]=1}else{t=p[w];if(t<d||l<=t){(M||(M=[])).push(t)}}F[w]=m;G.push(w)}if(j){x=G;a=[];G=[];a.$cloned=true;for(m=0;m<D;++m){if(!j[m]){s=E[m];a.push(s);G.push(x[m])}}D=a.length}b={items:a,keys:G}}for(m=K?K.length:0;m-->0;){w=B.getKey(K[m]);if((t=p[w])!==undefined){(M||(M=[])).push(t)}}if(!b&&!M){return B}B.beginUpdate();if(M){e=null;h=[];L={};if(M.length>1){M.sort(Ext.Array.numericSortFn)}for(m=0,C=M.length;m<C;++m){w=B.getKey(s=u[t=M[m]]);if(!(w in A)){continue}delete A[w];if(!e||t>(e.at+g.length)){h.push(e={at:t,items:(g=[]),keys:(x=[]),map:L,next:e,replacement:b});if(b){b.replaced=e}}g.push(L[w]=s);x.push(w);if(t<q){--q}if(J>1&&t===d){--J;M[m--]=++d}}if(b){b.at=q}for(v=h.length;v-->0;){e=h[v];m=e.at;C=e.items.length;if(m+C<z){B.indices=p=null}B.length=z-=C;u.splice(m,C);if(p){x=e.keys;for(m=0;m<C;++m){delete p[x[m]]}}++B.generation;B.notify("remove",[e])}}if(b){if(c&&D>1&&z){B.spliceMerge(a,G)}else{if(c){if(D>1){q=0;B.indices=p=null}else{q=N.findInsertionIndex(b.items[0],u,B.getSortFn())}}if(q===z){l=q;for(m=a.length-1;m>=0;--m){u[l+m]=a[m]}p=B.indices;if(p){for(m=0;m<D;++m){p[G[m]]=q+m}}}else{B.indices=null;Ext.Array.insert(u,q,a)}for(m=0;m<D;++m){A[G[m]]=a[m]}B.length+=D;b.at=q;b.atItem=q===0?null:u[q-1];++B.generation;B.notify("add",[b])}}B.endUpdate();return B},update:function(b,d){var c=this;c.beginUpdate();try{return b.call(d||c,c)}catch(a){Ext.log.error(this.$className+": Unhandled Exception: ",a.description||a.message);throw a}finally{c.endUpdate()}},updateKey:function(b,g){var d=this,c=d.map,a=d.indices,h=d.getSource(),e;if(h&&!h.updating){h.updateKey(b,g)}else{if((e=d.getKey(b))!==g){if(c[g]===b&&!(e in c)){delete c[g];d.updating++;d.generation++;c[e]=b;if(a){a[e]=a[g];delete a[g]}d.notify("updatekey",[{item:b,newKey:e,oldKey:g}]);d.updating--}else{if(e in c&&c[e]!==b){Ext.Error.raise('Duplicate newKey "'+e+'" for item with oldKey "'+g+'"')}if(g in c&&c[g]!==b){Ext.Error.raise('Incorrect oldKey "'+g+'" for item with newKey "'+e+'"')}}}}},findInsertIndex:function(c){var d=this.getSource(),g=d.items,a=d.indexOf(c)-1,e,b;while(a>-1){e=g[a];b=this.indexOf(e);if(b>-1){return b+1}--a}return 0},onCollectionAdd:function(o,c){var k=this,a=c.atItem,j=c.items,m=k.requestedIndex,d,g,b,e,h,l;if(!k.sorted){if(m!==undefined){g=m}else{if(a){g=k.indexOf(a);if(g===-1){g=k.findInsertIndex(j[0])}else{++g}}else{g=0}}}if(k.getAutoFilter()&&k.filtered){for(e=0,l=j.length;e<l;++e){h=j[e];if(k.isItemFiltered(h)){if(!b){b=j.slice(0,e)}if(!d){d=[]}d.push(h)}else{if(b){b.push(h)}}}}k.splice((g<0)?k.length:g,0,b||j);if(d){k.notify("filteradd",[d])}},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(k){var j=this,h={},b={},a,c,d,e,g;d=k.items;d=j.filtered&&j.getAutoFilter()?Ext.Array.filter(d,j.getFilterFn()):d.slice(0);if(j.sorted){j.sortData(d)}j.items=d;j.length=g=d.length;j.map=h;j.indices=b;for(a=0;a<g;++a){e=j.getKey(c=d[a]);h[e]=c;b[e]=a}j.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,a,b,e,g){var d=b-a;return d&&this._aggregators.sum.call(this,c,a,b,e,g)/d},bounds:function(d,a,b,h,j){for(var k,e,g,c=a;c<b;++c){k=d[c];k=(j?k[j]:k)[h];if(!(k<e)){e=k}if(!(k>g)){g=k}}return[g,e]},count:function(a){return a.length},extremes:function(e,a,b,l,m){var k=null,g=null,c,d,h,j,n;for(c=a;c<b;++c){d=e[c];n=(m?d[m]:d)[l];if(!(n<h)){h=n;k=d}if(!(n>j)){j=n;g=d}}return[g,k]},max:function(e,c,d,g,h){var a=this._aggregators.bounds.call(this,e,c,d,g,h);return a[1]},maxItem:function(e,c,d,g,h){var a=this._aggregators.extremes.call(this,e,c,d,g,h);return a[1]},min:function(e,c,d,g,h){var a=this._aggregators.bounds.call(this,e,c,d,g,h);return a[0]},minItem:function(e,c,d,g,h){var a=this._aggregators.extremes.call(this,e,c,d,g,h);return a[0]},sum:function(d,a,b,e,g){for(var j,h=0,c=a;c<b;++c){j=d[c];j=(g?j[g]:j)[e];h+=j}return h}},_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(b){var a=this,c=a.observers;if(!c){a.observers=c=[]}if(Ext.Array.contains(c,b)){Ext.Error.raise("Observer already added")}c.push(b);if(c.length>1){Ext.Array.sort(c,a.prioritySortFn)}},prioritySortFn:function(e,g){var c=e.observerPriority||0,d=g.observerPriority||0;return c-d},applyExtraKeys:function(b,e){var c=this,g=e||{},a,d,h;for(d in b){h=b[d];if(!h.isCollectionKey){a={collection:c};if(Ext.isString(h)){a.property=h}else{a=Ext.apply(a,h)}h=new Ext.util.CollectionKey(a)}else{h.setCollection(c)}g[d]=c[d]=h;h.name=d}return g},applyGrouper:function(a){if(a){a=this.getSorters().decodeSorter(a,"Ext.util.Grouper")}return a},decodeItems:function(a,e){var g=this,h=(e===undefined)?a:a[e],b,c,d;if(!h||!h.$cloned){b=a.length>e+1||!Ext.isIterable(h);if(b){h=Ext.Array.slice(a,e);if(h.length===1&&h[0]===undefined){h.length=0}}c=g.getDecoder();if(c){if(!b){h=h.slice(0);b=true}for(d=h.length;d-->0;){if((h[d]=c.call(g,h[d]))===false){h.splice(d,1)}}}if(b){h.$cloned=true}}return h},getIndices:function(){var e=this,b=e.indices,c=e.items,g=c.length,a,d;if(!b){e.indices=b={};++e.indexRebuilds;for(a=0;a<g;++a){d=e.getKey(c[a]);b[d]=a}}return b},notify:function(c,b){var g=this,k=g.observers,i=g._eventToMethodMap[c],a=0,d,e,h,j;b=b||[];if(k&&i){for(d=0,e=k.length;d<e;++d){h=(j=k[d])[i];if(h){if(!a++){b.unshift(g)}h.apply(j,b)}}}if(!g.hasListeners){return}if(g.hasListeners[c]){if(!a){b.unshift(g)}g.fireEventArgs(c,b)}},getFilterFn:function(){return this.getFilters().getFilterFn()},getFilters:function(a){var b=this._filters;if(!b&&a!==false){b=new Ext.util.FilterCollection();this.setFilters(b)}return b},isItemFiltered:function(a){return !this.getFilters().filterFn(a)},onFilterChange:function(b){var d=this,g=d.getSource(),a,e,c;if(!g){a=d.getExtraKeys();if(a){e={};for(c in a){e[c]=a[c].clone(d)}}g=new Ext.util.Collection({keyFn:d.getKey,extraKeys:e,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(b,a){if(b==null||(b&&b.isFilterCollection)){return b}if(b){if(!a){a=this.getFilters()}a.splice(0,a.length,b)}return a},updateFilters:function(b,c){var a=this;if(c){c.un("endupdate","onEndUpdateFilters",a)}if(b){b.on({endupdate:"onEndUpdateFilters",scope:a,priority:a.$endUpdatePriority});b.$filterable=a}a.onEndUpdateFilters(b)},onEndUpdateFilters:function(a){var c=this,d=c.filtered,b=!!a&&(a.length>0);if(d||b){c.filtered=b;c.onFilterChange(a)}},getSortFn:function(){return this._sortFn||this.createSortFn()},getSorters:function(a){var b=this._sorters;if(!b&&a!==false){b=new Ext.util.SorterCollection();this.setSorters(b)}return b},onSortChange:function(){if(this.sorted){this.sortItems()}},sort:function(c,a,b){var d=this.getSorters();d.addSort.apply(d,arguments);return this},sortData:function(a){Ext.Array.sort(a,this.getSortFn());return a},sortItems:function(b){var a=this;if(a.sorted){if(b){Ext.Error.raise("Collections with sorters cannot resorted")}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(b,c,a){if(!c){c=this.items}if(!a){a=this.getSortFn()}return Ext.Array.binarySearch(c,b,a)},applySorters:function(b,a){if(b==null||(b&&b.isSorterCollection)){return b}if(b){if(!a){a=this.getSorters()}a.splice(0,a.length,b)}return a},createSortFn:function(){var b=this,a=b.getGrouper(),d=b.getSorters(false),c=d?d.getSortFn():null;if(!a){return c}return function(e,h){var g=a.sort(e,h);if(!g&&c){g=c(e,h)}return g}},updateGrouper:function(a){var c=this,b=c.getGroups(),e=c.getSorters(),d;c.onSorterChange();c.grouped=!!a;if(a){if(!b){b=new Ext.util.GroupCollection({itemRoot:c.getRootProperty()});b.$groupable=c;c.setGroups(b)}b.setGrouper(a);d=true}else{if(b){c.removeObserver(b);b.destroy()}c.setGroups(null)}if(!e.updating){c.onEndUpdateSorters(e)}if(d){b.onCollectionRefresh(c)}},updateSorters:function(b,c){var a=this;if(c){c.un("endupdate","onEndUpdateSorters",a)}if(b){b.on({endupdate:"onEndUpdateSorters",scope:a,priority:a.$endUpdatePriority});b.$sortable=a}a.onSorterChange();a.onEndUpdateSorters(b)},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(m,n){var j=this,h=j.map,o=m.length,p=0,r=j.items,s=r.length,b=[],c=0,g=[],t=j.getSortFn(),a,d,e,l,q,k;j.items=g;for(k=0;k<o;k=d){l=m[k];for(;p<s;++p){if(t(l,q=r[p])<0){break}g.push(q)}if(p===s){b[c++]={at:g.length,itemAt:g[g.length-1],items:(a=[])};if(c>1){b[c-2].next=b[c-1]}for(;k<o;++k){a.push(l=m[k]);g.push(l)}break}b[c++]={at:g.length,itemAt:g[g.length-1],items:(a=[l])};if(c>1){b[c-2].next=b[c-1]}g.push(l);for(d=k+1;d<o;++d){if(t(l=m[d],q)>=0){break}g.push(l);a.push(l)}}for(;p<s;++p){g.push(r[p])}for(e=0;e<o;++e){h[n[e]]=m[e]}j.length=g.length;++j.generation;j.indices=null;for(e=0;e<c;++e){j.notify("add",[b[e]])}},getGroups:function(){return this.callParent()||null},updateAutoGroup:function(a){var b=this.getGroups();if(b){b.setAutoGroup(a)}this.onEndUpdateSorters(this._sorters)},updateGroups:function(a,b){if(b){this.removeObserver(b)}if(a){this.addObserver(a)}},updateSource:function(b,c){var a=this.autoSource;if(c){c.removeObserver(this);if(c===a){a.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,c,d){return this.aggregate(e,b,c,d)};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){if(!Ext.isObject(b)){Ext.Error.raise("The template is not an Object")}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(h){var g=this,b=g.excludeProperties,a,d,e,c;if(Ext.isString(h)){if(h.indexOf("{")<0){c=function(){return h}}else{if(g.valueRe.test(h)){h=h.substring(1,h.length-1).split(".");c=function(j){for(var l=j,k=0;l&&k<h.length;++k){l=l[h[k]]}return l}}else{h=new Ext.XTemplate(h);c=function(i){return h.apply(i)}}}}else{if(!h||Ext.isPrimitive(h)||Ext.isFunction(h)){c=function(){return h}}else{if(h instanceof Array){a=[];for(d=0,e=h.length;d<e;++d){a[d]=g.compile(h[d])}c=function(j){var l=[],k;for(k=0;k<e;++k){l[k]=a[k](j)}return l}}else{a={};for(d in h){if(!b[d]){a[d]=g.compile(h[d])}}c=function(j){var l={},k,m;for(k in h){m=b[k]?h[k]:a[k](j);if(m!==undefined){l[k]=m}}return l}}}}return c}}});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(a,b){var d=this,c=b.extra;Ext.apply(d,b);if(c){delete c.type;Ext.apply(d,c);delete d.extra}d.association=a;if(a.owner===d.side){a.owner=d;d.owner=true}},processUpdate:function(){Ext.Error.raise('Only the "many" for an association may be processed. "'+this.role+'" is not valid.')},processLoad:function(d,a,b,c){return b},checkMembership:Ext.emptyFn,adoptAssociated:function(b,c){var a=this.getAssociatedItem(b);if(a){c.adopt(a)}},createAssociationStore:function(k,d,j,g){var i=this,a=i.association,c=a.getFieldName(),h=a.isManyToMany,m=i.storeConfig,e=d.getId(),b={model:i.cls,role:i,session:k,associatedEntity:d,disableMetaChangeEvent:true,pageSize:null,remoteFilter:true,trackRemoved:!k},l;if(h){b.filters=[{property:i.inverse.field,value:e,exactMatch:true}]}else{if(c){b.filters=[{property:c,value:e,exactMatch:true}];b.foreignKeyName=c}}if(m){Ext.apply(b,m)}l=Ext.Factory.store(b);i.onStoreCreate(l,k,e);if(c||(h&&k)){l.on({scope:i,add:"onAddToMany",remove:"onRemoveFromMany",clear:"onRemoveFromMany"})}if(j){l.loadData(j);l.complete=!!g}return l},onStoreCreate:Ext.emptyFn,getAssociatedStore:function(g,m,q,p,a){var l=this,v=l.getStoreName(),u=g[v],r=g.session,k=m&&m.reload,s=g.$source,h=false,d,b,e,j,n,o,t,c;if(!u){if(r){if(!p&&s){s=s[v];if(s&&!s.isLoading()){t=s;p=[];n=s.getData().items;for(e=0,j=n.length;e<j;++e){o=n[e];p.push(r.getRecord(o.self,o.id))}h=!!s.complete;d=true}}if(!d){c=!!p;p=l.findRecords(r,g,p,a);if(!c&&(!p||!p.length)){p=null}h=c}}else{h=!!p}u=l.createAssociationStore(r,g,p,h);u.$source=t;if(!p&&(l.autoLoad||m)){k=true}g[v]=u}if(m){if(k||u.isLoading()){u.on("load",function(x,w,y,i){b=[x,i];q=q||m.scope||g;if(y){Ext.callback(m.success,q,b)}else{Ext.callback(m.failure,q,b)}b.push(y);Ext.callback(m,q,b);Ext.callback(m.callback,q,b)},null,{single:true})}else{b=[u,null];q=q||m.scope||g;Ext.callback(m.success,q,b);b.push(true);Ext.callback(m,q,b);Ext.callback(m.callback,q,b)}}if(k&&!u.isLoading()){u.load()}return u},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 a=this,c=a.reader,b=a.cls,e=!a.associationKey,d=this.getReaderRoot();if(c&&!c.isReader){if(Ext.isString(c)){c={type:c}}Ext.applyIf(c,{model:b,rootProperty:d,useSimpleAccessors:e,type:a.defaultReaderType});c=a.reader=Ext.createByAlias("reader."+c.type,c)}return c},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(a){var b=this,g=b.getReader(),c=b.cls,i=!b.associationKey,h=b.getReaderRoot(),e,d;if(!g){d=c.getProxy();if(d){e=d.getReader();g=new e.self();g.copyFrom(e);g.setRootProperty(h)}else{g=new a.self({model:c,useSimpleAccessors:i,rootProperty:h})}b.reader=g}return g},read:function(e,a,b,d){var c=this.constructReader(b),g=c.getRoot(a);if(g){return c.readRecords(g,d,this._internalReadOptions)}},getCallbackOptions:function(b,c,a){if(typeof b==="function"){b={callback:b,scope:c||a}}else{if(b){b=Ext.apply({},b);b.scope=c||b.scope||a}}return b},doGetFK:function(h,j,m){var i=this,b=i.cls,d=i.association.getFieldName(),g=i.getInstanceName(),l=h[g],k=j&&j.reload,c=l!==undefined&&!k,n=h.session,e,a;if(!c){if(n){e=h.get(d);if(e||e===0){c=n.peekRecord(b,e,true)&&!k;l=n.getRecord(b,e,false)}else{c=true;h[g]=l=null}}else{if(d){e=h.get(d);if(!e&&e!==0){c=true;h[g]=l=null}else{if(!l){l=b.createWithId(e)}}}else{c=true}}}else{if(l){c=!l.isLoading()}}if(c){if(j){a=[l,null];m=m||j.scope||h;Ext.callback(j.success,m,a);a.push(true);Ext.callback(j,m,a);Ext.callback(j.callback,m,a)}}else{h[g]=l;j=i.getCallbackOptions(j,m,h);l.load(j)}return l},doSetFK:function(g,l,k,m){var h=this,b=h.association.getFieldName(),c=h.getInstanceName(),a=g[c],d=h.inverse,e=d.setterName,n=g.session,i,j;if(l&&l.isEntity){if(a!==l){j=h.getOldInstanceName();g[j]=a;g[c]=l;if(a&&a.isEntity){a[d.getInstanceName()]=undefined}if(b){g.set(b,l.getId())}delete g[j];if(e){l[e](g)}}}else{if(!b){Ext.Error.raise('No foreignKey specified for "'+h.association.left.role+'" by '+g.$className)}i=(g.changingKey&&!d.isMany)||g.set(b,l);if(i&&a&&a.isEntity&&!a.isEqual(a.getId(),l)){g[c]=undefined;if(!d.isMany){a[d.getInstanceName()]=undefined}}}if(k){if(Ext.isFunction(k)){k={callback:k,scope:m||g}}return g.save(k)}}});Ext.define("Ext.data.schema.Association",{isOneToOne:false,isManyToOne:false,isManyToMany:false,owner:null,field:null,constructor:function(a){var c=this,b,d;Ext.apply(c,a);c.left=b=new c.Left(c,c.left);c.right=d=new c.Right(c,c.right);b.inverse=d;d.inverse=b},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(b,c){var a=this.getAssociatedItem(b);b[this.getInstanceName()]=null;if(a){a[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(c){var a=this.getInstanceName(),b=c[a],d=c.session;if(!b&&d){}return b||null},doSet:function(e,c){var a=this.getInstanceName(),d=e[a],b=this.inverse.setterName;if(d!==c){e[a]=c;if(b){c[b](e)}}return d},read:function(h,e,a,g){var d=this,c=d.callParent([h,e,a,g]),b;if(c){b=c[0];if(b){b[d.inverse.getInstanceName()]=h;h[d.getInstanceName()]=b;delete h.data[d.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(c,g){var d=this,a=d.association.field,e=d.getAssociatedItem(c),b;if(d.inverse.owner){if(g){b=c.get(a.name);if(b||b===0){e=g.getEntry(d.cls,b).record;if(e){e.drop()}}}else{if(e){e.drop()}}}if(a){c.set(a.name,null)}c[d.getInstanceName()]=null;if(e){e[d.inverse.getInstanceName()]=null}},onValueChange:function(d,i,g){var e=this,h=d[e.getOldInstanceName()]||e.getAssociatedItem(d),b=g||g===0,c=e.getInstanceName(),a=e.cls;d.changingKey=true;e.doSetFK(d,g);if(!b){d[c]=null}else{if(i&&a){d[c]=i.peekRecord(a,g)||undefined}}if(e.inverse.owner&&h){e.association.schema.queueKeyCheck(h,e)}d.changingKey=false},checkKeyForDrop:function(b){var a=this.inverse.getAssociatedItem(b);if(!a){b.drop()}},read:function(g,i,d,k){var h=this,n=h.callParent([g,i,d,k]),m,b,c,o,l,e,j,p,a;if(n){m=n[0];b=h.association.field;if(b){c=b.name}o=g.session;a=g.data;if(m){if(o){l=o.getRefs(m,this.inverse,true);p=(l&&l[g.id])||(a[c]===undefined)}else{p=true}if(p){if(b){j=a[c];e=m.id;if(j!==e){a[c]=e;if(o){o.updateReference(g,b,e,j)}}}m[h.inverse.getInstanceName()]=g;g[h.getInstanceName()]=m}delete a[h.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,j){var e=this,k=e.getAssociatedItem(h),c,d,a,g,b;if(k){c=k.removeAll();if(c&&e.inverse.owner){for(a=0,d=c.length;a<d;++a){c[a].drop()}}k.destroy();h[e.getStoreName()]=null}else{if(j){c=j.getRefs(h,e);if(c){for(b in c){c[b].drop()}}}}},processUpdate:function(i,a){var g=this,b=g.inverse.cls,d=a.R,c,h,j,e;if(d){for(c in d){h=i.peekRecord(b,c);if(h){e=i.getEntityList(g.cls,d[c]);j=g.getAssociatedItem(h);if(j){j.loadData(e);j.complete=true}else{h[g.getterName](null,null,e)}}else{i.onInvalidAssociationEntity(b,c)}}}},findRecords:function(o,m,h,a){var l=h,k=o.getRefs(m,this,true),b=this.association.field,c=b.name,g,e,d,j,n;if(!m.phantom){l=[];if(k||a){if(h){n={};for(d=0,j=h.length;d<j;++d){g=h[d];e=g.id;if(k&&k[e]){l.push(g)}else{if(a&&g.data[c]===undefined){l.push(g);g.data[c]=m.id;o.updateReference(g,b,m.id,undefined)}}n[e]=true}}if(k){for(e in k){if(!n||!n[e]){l.push(k[e])}}}}}return l},processLoad:function(e,c,a,d){var b=a;if(d){b=this.findRecords(d,c,a,true)}this.onLoadMany(c,b,d);return b},adoptAssociated:function(d,e){var g=this.getAssociatedItem(d),b,a,c;if(g){g.setSession(e);b=g.getData().items;for(a=0,c=b.length;a<c;++a){e.adopt(b[a])}}},createGetter:function(){var a=this;return function(c,d,b){return a.getAssociatedStore(this,c,d,b,true)}},createSetter:null,onAddToMany:function(b,a){this.syncFK(a,b.getAssociatedEntity(),false)},onLoadMany:function(m,h,n){var e=this.inverse.getInstanceName(),d=m.getId(),b=this.association.field,c,j,g,l,a,k;if(b){for(c=0,j=h.length;c<j;++c){g=h[c];g[e]=m;if(b){k=b.name;a=g.data;l=a[k];if(l!==d){a[k]=d;if(n){n.updateReference(g,b,d,l)}}}}}},onRemoveFromMany:function(b,a){this.syncFK(a,b.getAssociatedEntity(),true)},read:function(k,h,a,j){var g=this,c=g.inverse.getInstanceName(),d=g.callParent([k,h,a,j]),l,e,b;if(d){l=k[g.getterName](null,null,d);delete k.data[g.role];d=l.getData().items;for(b=0,e=d.length;b<e;++b){d[b][c]=k}}},syncFK:function(k,l,a){var c=this.association.getFieldName(),h=this.inverse,m=h.setterName,g=h.getInstanceName(),d=k.length,e=l.getId(),b,j,n;while(d-->0){j=k[d];b=!j.isEqual(e,j.get(c));n=a?null:l;if(b!==a){j.changingKey=true;j[m](n);j.changingKey=false}else{j[g]=n}}}}),Right:Ext.define(null,{extend:"Ext.data.schema.Role",left:false,side:"right",onDrop:function(b,c){var a=this.association.field;if(a){b.set(a.name,null)}b[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(c,b,d){return a.doSetFK(this,c,b,d)}},checkMembership:function(c,b){var a=this.association.field,d;d=this.getSessionStore(c,b.get(a.name));if(d&&!d.contains(b)){d.add(b)}},onValueChange:function(h,o,l,m){var k=this,e=k.getInstanceName(),b=k.cls,c,g,p,d,j,a,n;if(!h.changingKey){c=l||l===0;if(!c){h[e]=null}if(o){p=k.getSessionStore(o,m);if(p){p.remove(h)}if(c){p=k.getSessionStore(o,l);if(p&&!p.isLoading()){p.add(h)}if(b){n=o.peekRecord(b,l)}h[e]=n||undefined}}else{g=h.joined;if(g){for(d=0,j=g.length;d<j;++d){p=g[d];if(p.isStore){a=p.getAssociatedEntity();if(a&&a.self===k.cls&&a.getId()===m){p.remove(h)}}}}}}if(k.owner&&l===null){k.association.schema.queueKeyCheck(h,k)}},checkKeyForDrop:function(b){var a=this.association.field;if(b.get(a.name)===null){b.drop()}},getSessionStore:function(c,d){var a=this.cls,b;if(a){b=c.peekRecord(a,d);if(b){return this.inverse.getAssociatedItem(b)}}},read:function(b,c,a,d){var g=this.callParent([b,c,a,d]),e;if(g){e=g[0];if(e){b[this.getInstanceName()]=e;delete b.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(n,l,e){var o=n.getMatrixSlice(this.inverse,l.id),j=o.members,k=[],a=this.cls,m,b,g,c,h,d;if(e){m={};for(b=0,g=e.length;b<g;++b){d=e[b];c=d.id;h=j[c];if(!(h&&h[2]===-1)){k.push(d)}m[c]=true}}for(c in j){h=j[c];if(!m||!m[c]&&(h&&h[2]!==-1)){d=n.peekRecord(a,c);if(d){k.push(d)}}}return k},processLoad:function(e,c,a,d){var b=a;if(d){b=this.findRecords(d,c,a);this.onAddToMany(e,b,true)}return b},processUpdate:function(i,a){var g=this,b=g.inverse.cls,d=a.R,c,h,j,e;if(d){for(c in d){h=i.peekRecord(b,c);if(h){e=i.getEntityList(g.cls,d[c]);j=g.getAssociatedItem(h);if(j){j.loadData(e);j.complete=true}else{h[g.getterName](null,null,e)}}else{i.onInvalidAssociationEntity(b,c)}}}g.processMatrixBlock(i,a.C,1);g.processMatrixBlock(i,a.D,-1)},checkMembership:function(j,i){var e=j.getMatrix(this.association,true),k,a,c,l,m,b,h,g,d,n;if(!e){return}k=this.left?e.right:e.left;a=k.inverse.role.cls;c=this.inverse;m=k.slices;if(m){l=m[i.id];if(l){h=l.members;for(b in h){g=h[b];if(g[2]!==-1){d=j.peekRecord(a,b);if(d){n=c.getAssociatedItem(d);if(n){n.matrixUpdate=1;n.add(i);n.matrixUpdate=0}}}}}}},onStoreCreate:function(e,d,a){var c=this,b;if(d){b=d.getMatrixSlice(c.inverse,a);b.attach(e);b.notify=c.onMatrixUpdate;b.scope=c}},processMatrixBlock:function(e,d,h){var c=this.inverse,a=this.digitRe,g,b;if(d){for(b in d){if(a.test(b)){b=parseInt(b,10)}g=e.getMatrixSlice(c,b);g.update(d[b],h)}}},createGetter:function(){var a=this;return function(c,d,b){return a.getAssociatedStore(this,c,d,b,false)}},onAddToMany:function(c,a,b){if(!c.matrixUpdate){c.matrixUpdate=1;c.matrix.update(a,b===true?0:1);c.matrixUpdate=0}},onRemoveFromMany:function(b,a){if(!b.matrixUpdate){b.matrixUpdate=1;b.matrix.update(a,-1);b.matrixUpdate=0}},read:function(g,d,a,e){var c=this,b=c.callParent([g,d,a,e]);if(b){g[c.getterName](null,null,b);delete g.data[c.role]}},onMatrixUpdate:function(e,b,g){var h=e.store,c,d,a;if(h&&!h.loading&&!h.matrixUpdate){h.matrixUpdate=1;c=h.indexOfId(b);if(g<0){if(c>=0){h.remove([c])}}else{if(c<0){a=h.getSession().getEntry(this.type,b);d=a&&a.record;if(d){h.add(d)}}}h.matrixUpdate=0}},adoptAssociated:function(c,e){var g=this.getAssociatedItem(c),d,a,b;if(g){g.setSession(e);this.onStoreCreate(g,e,c.getId());d=g.getData().items;for(a=0,b=d.length;a<b;++a){e.adopt(d[a])}}}},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(a,b){this.singulars.unshift([a,b])},plural:function(a,b){this.plurals.unshift([a,b])},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 c=this.plurals,b=c.length,e,d,a;for(a=0;a<b;a++){e=c[a];d=e[0];if(d==g||(d.test&&d.test(g))){return g.replace(d,e[1])}}return g},singularize:function(g){if(this.isTransnumeral(g)){return g}var d=this.singulars,b=d.length,e,c,a;for(a=0;a<b;a++){e=d[a];c=e[0];if(c==g||(c.test&&c.test(g))){return g.replace(c,e[1])}}return g},classify:function(a){return Ext.String.capitalize(this.singularize(a))},ordinalize:function(c){var d=parseInt(c,10),a=d%10,b=d%100;if(11<=b&&b<=13){return c+"th"}else{switch(a){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd";default:return c+"th"}}}},function(){var a={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"},b;for(b in a){if(a.hasOwnProperty(b)){this.plural(b,a[b]);this.singular(a[b],b)}}});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(b,i,d,e){var c=this,a=c.apply(i?"uniRole":"multiRole",b),g=c.apply("pluralize",d),h=c.apply("undotted,pluralize",e);if(g.toLowerCase()!==h.toLowerCase()){a=d+c.apply("capitalize",a)}return a},manyToMany:function(c,a,e){var b=this,d=b.apply("undotted,capitalize,singularize",a)+b.apply("undotted,capitalize,pluralize",e);if(c){d=b.apply("capitalize",c+d)}return d},manyToOne:function(b,a,d,c){return this.apply("capitalize,singularize",d)+this.apply("capitalize",a)},matrixRole:function(b,a){var c=this.apply(b?"multiRole,capitalize":"multiRole",a);return b?b+c:c},oneToOne:function(b,a,d,c){return this.apply("undotted,capitalize,singularize",d)+this.apply("capitalize",a)},setterName:function(a){return"set"+this.apply("capitalize",a.role)},endsWithIdRe:/(?:(_id)|[^A-Z](Id))$/,cache:{},apply:function(h,g){var e=this,a=e.cache,b=a[g]||(a[g]={}),k=b[h],c,d,j;if(!k){if(h.indexOf(",")<0){k=e[h](g)}else{d=(j=h.split(",")).length;k=g;for(c=0;c<d;++c){k=e.apply(j[c],k)}}b[h]=k}return k}});Ext.define("Ext.data.schema.Schema",{mixins:[Ext.mixin.Factoryable],alias:"schema.default",aliasPrefix:"schema.",isSchema:true,type:"default",statics:{instances:{},get:function(b){var h=this,a=h.instances,c="default",e=b&&Ext.isString(b),d,g;if(b){if(b.isSchema){return b}c=e?b:(b.id||c)}if(!(d=a[c])){a[c]=d=h.create(b);d.id=c}else{if(b&&!e){if(c!=="default"){Ext.Error.raise("Only the default Schema instance can be reconfigured")}g=Ext.merge({},d.config);Ext.merge(g,b);d.setConfig(g);d.config=g;d.setConfig=function(){Ext.Error.raise("The schema can only be reconfigured once")}}}return d},lookupEntity:function(a){var e=null,b=this.instances,c,d,g;if(a){if(a.isEntity){e=a.self}else{if(Ext.isFunction(a)){e=a}else{if(Ext.isString(a)){e=Ext.ClassManager.get(a);if(e&&(!e.prototype||!e.prototype.isEntity)){e=null}if(!e){for(d in b){g=b[d];c=g.getEntity(a);if(c){if(e){Ext.Error.raise('Ambiguous entity name "'+a+'". Defined by schema "'+e.schema.type+'" and "'+d+'"')}e=c}}}if(!e){Ext.Error.raise('No such Entity "'+a+'".')}}}}}return e}},assocCount:0,entityCount:0,config:{defaultIdentifier:null,keyCheckDelay:10,namer:"default",namespace:null,proxy:{type:"ajax",url:"{prefix}/{entityName}"},urlPrefix:""},onClassExtended:function(b,c){var a=c.alias;if(a&&!c.type){if(!Ext.isString(a)){a=a[0]}b.prototype.type=a.substring(this.prototype.aliasPrefix.length)}},constructor:function(a){this.initConfig(a);this.clear()},applyDefaultIdentifier:function(a){return a&&Ext.Factory.dataIdentifier(a)},applyNamer:function(a){var b=Ext.data.schema.Namer.create(a);b.schema=this;return b},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(b,d){var a=this.associations,c;for(c in a){if(a.hasOwnProperty(c)){if(b.call(d,c,a[c])===false){break}}}},eachEntity:function(b,d){var a=this.entities,c;for(c in a){if(a.hasOwnProperty(c)){if(b.call(d,c,a[c].cls)===false){break}}}},getAssociation:function(b){var a=this.associations[b];return a||null},getEntity:function(b){var a=this.entityClasses[b]||this.entities[b];return(a&&a.cls)||null},getEntityName:function(a){var d=this.getNamespace(),b,c;if(typeof a==="string"){c=a}else{c=a.$className||null}if(c){if(d){b=d.length;if(c.substring(0,b)!==d){return c}}if(b){c=c.substring(b)}}return c},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(c,k,n,d,o){var l=this,m=l.getNamer(),a=l.associations,b=l.entities,i=d.type,s=o.type,g=d.field||m.apply("idField",i),q=o.field||m.apply("idField",s),h=d.role||m.matrixRole(n,i),r=o.role||m.matrixRole(n,s),j,e,p;e=b[i]||(b[i]={cls:null,name:i,associations:{}});p=b[s]||(b[s]={cls:null,name:s,associations:{}});++l.assocCount;a[k]=j=new Ext.data.schema.ManyToMany({name:k,schema:l,definedBy:c,left:{cls:e.cls,type:i,role:h,field:g,associationKey:d.associationKey},right:{cls:p.cls,type:s,role:r,field:q,associationKey:o.associationKey}});e.associations[j.right.role]=j.right;p.associations[j.left.role]=j.left;if(e.cls){l.associationEntityMap[e.cls.entityName]=true}if(p.cls){l.associationEntityMap[p.cls.entityName]=true}l.decorateModel(j)},addReference:function(h,q,d,u){var n=this,o=n.getNamer(),e=n.entities,b=n.associations,g=h.entityName,a=d.association,m=!!d.legacy,c=d.child,p=d.parent,r=d.role,s=d.type||p||c,l=d.inverse,j=Ext.isString(l)?{role:l}:l,k=j&&j.role,i,t;if(!r){if(m){r=o.apply("uncapitalize",s)}else{r=o.apply("fieldRole",q.name)}}if(!k){k=o.inverseFieldRole(g,u,r,s)}if(!a){if(u){a=o.oneToOne(h,k,s,r)}else{a=o.manyToOne(h,k,s,r)}}if(a in b){Ext.Error.raise('Duplicate association: "'+a+'" declared by '+g+(q?("."+q.name):"")+" (collides with "+b[a].definedBy.entityName+")")}if(q&&q.definedBy===e[s]){Ext.Error.raise("ForeignKey reference should not be owned by the target model")}i=e[s]||(e[s]={cls:null,name:s,associations:{}});t=u?Ext.data.schema.OneToOne:Ext.data.schema.ManyToOne;a=new t({name:a,owner:c?"left":(p?"right":null),definedBy:h,schema:n,field:q,nullable:q?!!q.allowBlank:true,legacy:d.legacy,left:{cls:h,type:g,role:k,extra:j},right:{cls:i.cls,type:s,role:r,extra:d}});h.associations[r]=a.right;i.associations[k]=a.left;if(q){q.reference=a.right;h.references.push(q)}++n.assocCount;n.associationEntityMap[g]=true;if(i.cls){n.associationEntityMap[i.cls.entityName]=true}b[a.name]=a;if(a.right.cls){n.decorateModel(a)}},privates:{addEntity:function(d){var l=this,b=l.entities,c=d.entityName,e=b[c],h=d.fields,a,g,j,k,m;if(!e){b[c]=e={name:c,associations:{}}}else{if(e.cls){Ext.Error.raise('Duplicate entity name "'+c+'": '+e.cls.$className+" and "+d.$className)}else{a=e.associations;for(m in a){a[m].inverse.cls=d;l.associationEntityMap[c]=true;l.decorateModel(a[m].association)}}}e.cls=d;d.prototype.associations=d.associations=e.associations;l.entityClasses[d.$className]=e;++l.entityCount;for(j=0,k=h.length;j<k;++j){g=h[j];if(g.reference){l.addReferenceDescr(d,g)}}},addMatrices:function(a,d){var g=this,b,c,e;if(Ext.isString(d)){g.addMatrixDescr(a,null,d)}else{if(d[0]){for(b=0,c=d.length;b<c;++b){g.addMatrixDescr(a,null,d[b])}}else{for(e in d){g.addMatrixDescr(a,e,d[e])}}}},addMatrixDescr:function(e,k,j){var l=this,d=e.entityName,b=l.associations,m=l.getNamer(),i=j.left,o=j.right,h,n;if(Ext.isString(j)){if(j.charAt(0)==="#"){i={type:d};o={type:j.substring(1)}}else{if(j.charAt(h=j.length-1)==="#"){i={type:j.substring(0,h)};o={type:d}}else{if(m.apply("multiRole",d)<m.apply("multiRole",j)){i={type:d};o={type:j}}else{i={type:j};o={type:d}}}}}else{Ext.Assert.isString(j.type,'No "type" for manyToMany in '+d);n=j.relation;if(i||(!o&&m.apply("multiRole",d)<m.apply("multiRole",j.type))){if(!i||i===true){i={type:d}}else{i=Ext.apply({type:d},i)}o=j}else{if(!o||o===true){o={type:d}}else{o=Ext.apply({type:d},o)}i=j}}if(!k){k=m.manyToMany(n,i.type,o.type)}if(!(k in b)){l.addMatrix(e,k,n,i,o)}else{var g=b[k],c=[g.kind,g.left.type,g.left.role,g.left.field,g.right.type,g.right.role,g.right.field].join("|");delete b[k];l.addMatrix(e,k,n,i,o);var a=b[k];b[k]=g;g.left.cls.associations[g.right.role]=g.right;g.right.cls.associations[g.left.role]=g.left;--l.assocCount;a=[a.kind,a.left.type,a.left.role,a.left.field,a.right.type,a.right.role,a.right.field].join("|");if(c!=a){Ext.log.warn(k+"("+g.definedBy.entityName+"): "+c);Ext.log.warn(k+"("+d+"): "+a);Ext.Error.raise('Conflicting association: "'+k+'" declared by '+d+" was previously declared by "+g.definedBy.entityName)}}},addReferenceDescr:function(b,d){var c=this,a=d.$reference;if(Ext.isString(a)){a={type:a}}else{a=Ext.apply({},a)}if(a.legacy){if(a.single){c.addLegacySingle(b,a)}else{c.addLegacyHasMany(b,a)}}else{c.addReference(b,d,a,d.unique)}},addPending:function(c,b,a,e){var d=this.pending;if(!d[c]){d[c]=[]}d[c].push([b,a,e])},addLegacyBelongsTo:function(b,a){this.addLegacySingle(b,a)},addLegacyHasOne:function(b,a){this.addLegacySingle(b,a)},addLegacySingle:function(b,a){var c,d,e;a=this.constructLegacyAssociation(b,a);a.single=true;d=a.type;c=a.foreignKey||(d.toLowerCase()+"_id");e=b.getField(c);if(e){e.$reference=a}this.addReference(b,e,a,true)},addLegacyHasMany:function(g,a){var i=this,e=i.entities,k=i.pending,b=a.associationKey,d,j,l,m,h,c;a=this.constructLegacyAssociation(g,a);j=a.type;m=e[j];if(m&&m.cls){a.type=g.entityName;h=a.foreignKey||(a.type.toLowerCase()+"_id");d=m.cls;l=d.getField(h);a.inverse=a||{};c=a.name;if(c||b){if(c){a.inverse.role=c}if(b){a.inverse.associationKey=b}}if(l){l.$reference=a}i.addReference(d,l,a,false)}else{if(!k[j]){k[j]=[]}k[j].push([g,a])}},constructLegacyAssociation:function(b,a){if(Ext.isString(a)){a={model:a}}a.legacy=true;a.type=this.getEntityName(a.model);var c=a.associatedName||a.name;if(c){a.role=c}return a},afterLegacyAssociations:function(a){var g=this.pending,e=a.entityName,d=g[e],b,c;if(d){for(b=0,c=d.length;b<c;++b){this.addLegacyHasMany.apply(this,d[b])}delete g[e]}},clear:function(a){var b=this,c=b.timer;delete b.setConfig;if(c){window.clearTimeout(c);b.timer=null}b.associations={};b.associationEntityMap={};b.entities={};b.entityClasses={};b.pending={};b.assocCount=b.entityCount=0;if(a){b.setNamespace(null)}},constructProxy:function(c){var b=this,a=Ext.Object.chain(c),d=b.getProxy();a.schema=b;a.prefix=b.getUrlPrefix();return d.apply(a)},applyDecoration:function(g){var c=this,a=g.inverse.cls,d=c.getNamer(),b,h,e;if(a&&!g.decorated){g.decorated=true;e=a.prototype;if(!(b=g.getterName)){g.getterName=b=d.getterName(g)}e[b]=g.createGetter();if(g.createSetter){if(!(h=g.setterName)){g.setterName=h=d.setterName(g)}e[h]=g.createSetter()}}},decorateModel:function(a){this.applyDecoration(a.left);this.applyDecoration(a.right)},processKeyChecks:function(g){var e=this,c=e.keyCheckQueue,h=e.timer,d,a,b;if(h){window.clearTimeout(h);e.timer=null}if(!c){return}do{c=e.keyCheckQueue;e.keyCheckQueue=[];for(a=0,d=c.length;a<d;++a){b=c[a];b.role.checkKeyForDrop(b.record)}}while(g&&e.keyCheckQueue.length)},queueKeyCheck:function(c,d){var b=this,a=b.keyCheckQueue,e=b.timer;if(!a){b.keyCheckQueue=a=[]}a.push({record:c,role:d});if(!e){b.timer=e=Ext.Function.defer(b.processKeyChecks,b.getKeyCheckDelay(),b)}},rankEntities:function(){var g=this,a=g.entities,b=Ext.Object.getKeys(a),e=b.length,c,d;g.nextRank=1;b.sort();for(d=0;d<e;++d){c=a[b[d]].cls;if(!c.rank){g.rankEntity(c)}}g.topoStack=null},rankEntity:function(d){var b=d.associations,a,e,g;var h=this.topoStack||(this.topoStack=[]),c=d.entityName;h.push(c);if(d.rank===0){Ext.Error.raise(c+" has circular foreign-key references: "+h.join(" --> "))}d.rank=0;for(g in b){e=b[g];if(!e.left&&e.association.field){a=e.cls;if(!a.rank){this.rankEntity(a)}}}d.rank=this.nextRank++;h.pop()}}});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,isDestroyed:false,isStore:true,updating:0,constructor:function(a){var b=this,c;b.isInitializing=true;b.mixins.observable.constructor.call(b,a);b.isInitializing=false;c=b.getStoreId();if(!c&&(a&&a.id)){b.setStoreId(c=a.id)}if(c){Ext.data.StoreManager.register(b)}},getCount:function(){return this.getData().getCount()},rangeCached:function(b,a){return this.getData().getCount()>=Math.max(b,a)},find:function(e,i,g,a,b,d){var h=!a,c=!!(h&&d);return this.getData().findIndex(e,i,g,h,c,!b)},findRecord:function(){var b=this,a=b.find.apply(b,arguments);return a!==-1?b.getAt(a):null},findExact:function(a,c,b){return this.getData().findIndexBy(function(d){return d.isEqual(d.get(a),c)},this,b)},findBy:function(a,b,c){return this.getData().findIndexBy(a,b,c)},getAt:function(a){return this.getData().getAt(a)||null},getRange:function(d,a,b){var c=this.getData().getRange(d,Ext.isNumber(a)?a+1:a);if(b&&b.callback){b.callback.call(b.scope||this,c,d,a,b)}return c},getFilters:function(a){var b=this.callParent();if(!b&&a!==false){this.setFilters([]);b=this.callParent()}return b},applyFilters:function(b,c){var a;if(!c){c=this.createFiltersCollection();a=true}c.add(b);if(a){this.onRemoteFilterSet(c,this.getRemoteFilter())}return c},getSorters:function(a){var b=this.callParent();if(!b&&a!==false){this.setSorters([]);b=this.callParent()}return b},applySorters:function(b,c){var a;if(!c){c=this.createSortersCollection();a=true}c.add(b);if(a){this.onRemoteSortSet(c,this.getRemoteSort())}return c},filter:function(a,c,b){if(Ext.isString(a)){a={property:a,value:c}}this.suppressNextFilter=!!b;this.getFilters().add(a);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(a,b){this.suppressNextFilter=!!b;this.getFilters().add(a);this.suppressNextFilter=false},filterBy:function(a,b){this.getFilters().add({filterFn:a,scope:b||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(d){if(d.getTransform()){return}var b=d.getProperty(),c=this.getModel(),a,e;if(c){a=c.getField(b);e=a?a.getSortType():null}if(e&&e!==Ext.identityFn){d.setTransform(e)}},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,h=[],a=e.getFilters(),c=e.getGrouper(),b,d,g;e.getSorters().each(function(i){h[h.length]=i.getState();d=true});if(e.statefulFilters&&e.saveStatefulFilters){d=true;b=[];a.each(function(i){b[b.length]=i.getState()})}if(c){d=true}if(d){g={};if(h.length){g.sorters=h}if(b){g.filters=b}if(c){g.grouper=c.getState()}}return g},applyState:function(b){var a=this,e=b.sorters,c=b.filters,d=b.grouper;if(e){a.getSorters().replaceAll(e)}if(c){a.saveStatefulFilters=true;a.getFilters().replaceAll(c)}if(d){a.setGrouper(d)}},hasPendingLoad:Ext.emptyFn,isLoaded:Ext.emptyFn,isLoading:Ext.emptyFn,destroy:function(){var a=this;a.clearListeners();if(a.getStoreId()){Ext.data.StoreManager.unregister(a)}a.onDestroy();a.callParent()},sort:function(b,a,d){var c=this;if(arguments.length===0){if(c.getRemoteSort()){c.attemptLoad()}else{c.forceLocalSort()}}else{c.getSorters().addSort(b,a,d)}},onBeforeCollectionSort:function(b,a){if(a){this.fireEvent("beforesort",this,a.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.attemptLoad({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 a=this,b=a.suppressNextFilter;if(a.getRemoteFilter()){a.getFilters().each(function(c){if(c.getInitialConfig().filterFn){Ext.Error.raise("Unable to use a filtering function in conjunction with remote filtering.")}});a.currentPage=1;if(!b){a.attemptLoad()}}else{if(!b){a.fireEvent("datachanged",a);a.fireEvent("refresh",a)}}if(a.trackStateChanges){a.saveStatefulFilters=true}a.fireEvent("filterchange",a,a.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(c,b){var d=this,e=d.getSorters(false),a=c||(e&&e.length);if(c&&typeof c==="string"){c={property:c,direction:b||d.getGroupDir()}}d.settingGroups=true;d.getData().setGrouper(c);delete d.settingGroups;if(a){if(d.getRemoteSort()){d.attemptLoad({scope:d,callback:d.fireGroupChange})}else{d.fireEvent("datachanged",d);d.fireEvent("refresh",d);d.fireGroupChange()}}else{d.fireGroupChange()}},fireGroupChange:function(){this.fireEvent("groupchange",this,this.getGrouper())},clearGrouping:function(){this.group(null)},getGroupField:function(){var b=this.getGrouper(),a="";if(b){a=b.getProperty()}return a},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(c,b){var a=this;if(c){c[b?"on":"un"]("endupdate",a.onSorterEndUpdate,a);a.getData()[b?"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(m){var j=this,d=m.fields,b=m.data,a,c,g,e,h,k,n,l;for(e=0,h=d.length;e<h;++e){c=d[e];l=c.name;n=b[l];if(c.validate&&!c.validate.$nullFn){a=j.length;k=c.validate(n,null,j,m);if(a===j.length&&k!==true){j.add(l,k)}}}return j},add:function(c,g){var d=this,b=Ext.data.field.Field.defaultInvalidMessage,e=c,a;if(Ext.isString(c)){e=new Ext.data.Error({field:c,message:g||b})}else{if(!(e.isError)){e=new Ext.data.Error({field:e.field||e.name,message:e.error||e.message||e.msg||b})}c=e.field}a=d.get(c);if(a){if(Ext.isArray(a)){a.push(e);return a}d.removeAtKey(c);e=[a,e];e.field=c;e=[e]}return d.callParent([e])},getKey:function(a){return a.field},isValid:function(){return this.length===0},getByField:function(a){var b=this.get(a);if(b&&!Ext.isArray(b)){b=[b]}return b||[]}});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 a=this,b;delete a.error;delete a.success;a.complete=a.exception=false;a.setStarted();a.request=b=a.doExecute();if(b){b.setOperation(a)}return b},doExecute:Ext.emptyFn,abort:function(){var a=this,b=a.request;if(a.running&&b){a.getProxy().abort(b);a.request=null}},process:function(e,c,d,a){var b=this;a=a!==false;b.setResponse(d);b.setResultSet(e);if(e.getSuccess()){b.doProcess(e,c,d);b.setSuccessful(a)}else{if(a){b.setException(e.getMessage())}}},_commitSetOptions:{convert:true,commit:true},doProcess:function(m,k,l){var j=this,g=j._commitSetOptions,e=j.getRecords(),b=e.length,a=e[0].clientIdProperty,p=m.getRecords(),n=p?p.length:0,c,o,d,h;if(n&&a){c=Ext.Array.toValueMap(e,"id");for(h=0;h<n;++h){o=p[h];d=c[o[a]];if(d){delete c[d.id];delete o[a];d.set(o,g)}else{Ext.log.warn("Ignoring server record: "+Ext.encode(o))}}for(h in c){c[h].commit()}}else{for(h=0;h<b;++h){d=e[h];if(n===0||!(o=p[h])){d.commit()}else{d.set(o,g)}}}},setStarted:function(){this.started=this.running=true},setCompleted:function(){var a=this,b=a.getProxy();a.complete=true;a.running=false;a.triggerCallbacks();if(b){b.completeOperation(a)}},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 b=this,a=b.getInternalCallback();if(a){a.call(b.getInternalScope()||b,b);b.setInternalCallback(null);b.setInternalScope(null)}if(a=b.getCallback()){a.call(b.getScope()||b,b.getRecords(),b,b.wasSuccessful());b.setCallback(null);b.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 b=this.getRecords(),a=b.length,c;for(c=0;c<a;++c){b[c].setErased()}},doExecute:function(){return this.getProxy().erase(this)},getRecordData:function(e,d){var a={},b=e.idField,c=this.getNameProperty()||"name";a[b[c]]=e.id;return a}});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(c,b){var a=this.all;a[c.toUpperCase()]=a[c.toLowerCase()]=a[c]=b.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(a,b){var d=b.sortType,c=a.prototype,e=c.validators,g=b.validators;if(d&&Ext.isString(d)){c.sortType=Ext.data.SortTypes[d]}if(g){if(!Ext.isArray(g)){g=[g]}delete b.validators;if(e){g=e.concat(g)}c.validators=g}},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,c=l.calculateRe,a,b,g,m,h,j,k,e,n,i,o;if(d){if(Ext.isString(d)){l.name=d}else{o=d.validators;if(o){delete d.validators;l.instanceValidators=o}Ext.apply(l,d)}}if(!l.allowNull){l.allowNull=!!l.reference}a=l.calculate;h=l.depends;if(a){l.convert=l.doCalculate;if(!h){if(!(h=a.$depends)){j={};n=a.toString();a.$depends=h=[];k=l.argumentNamesRe.exec(n);e=k?k[1]:"data";while((k=c.exec(n))){if(e===k[1]&&!j[i=k[2]]){j[i]=1;h.push(i)}}}l.depends=h}}g=l.defaultValue;if(l.convert){l.calculated=b=l.convert.length>1;l.evil=b&&!h}if(l.persist===null){l.persist=!a}m=l.sortType;if(!l.sortType){l.sortType=Ext.data.SortTypes.none}else{if(Ext.isString(m)){l.sortType=Ext.data.SortTypes[m]}}if(h&&typeof h==="string"){l.depends=[h]}l.cloneDefaultValue=g!==undefined&&(Ext.isDate(g)||Ext.isArray(g)||Ext.isObject(g))},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(e){if(e){if(!(e instanceof Array)){e=[e]}var d=e.length,a=this._validators,b,c;for(b=0;b<d;++b){c=e[b];if(c.fn){c=c.fn}a.push(Ext.Factory.dataValidator(c))}}},collate:function(d,e){var b=this,a=d,c=e;if(b.sortType){a=b.sortType(a);c=b.sortType(c)}return(a===c)?0:((a<c)?-1:1)},compare:function(a,b){return(a===b)?0:((a<b)?-1:1)},isEqual:function(a,b){return this.compare(a,b)===0},convert:null,serialize:null,validate:function(m,j,a,e){var d=this,h="",g,k,l,c,b;if(!d._validators){d.compileValidators()}l=d._validators;for(b=0,c=l.length;b<c;++b){k=l[b];g=k.validate(m,e);if(g!==true){g=g||d.defaultInvalidMessage;if(a){a.add(d.name,g);h=h||g}else{if(j){if(h){h+=j}h+=g}else{h=g;break}}}}return h||true},doCalculate:function(b,a){return a?this.calculate(a.data):b},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(a,d){var b=a instanceof Date,e=d instanceof Date,c;if(e&&b){c=a.getTime()-d.getTime();if(c===0){c=0}else{c=c<0?-1:1}}else{if(b===e){c=0}else{c=b?1:-1}}return c},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(c){var b=null,a;if(Ext.isDate(c)){a=this.getDateWriteFormat();b=a?Ext.Date.format(c,a):c}return b},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(d){if(typeof d==="number"){return this.getNumber(d)}var b=d===undefined||d===null||d==="",a=this.allowNull,c;if(b){c=a?null:0}else{c=this.parse(d);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 d=this,a,c;d.initConfig(b);c=d.getId();if(c){a=(b&&b.cache)||Ext.data.identifier.Generator.all;a[c]=d}},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,b=Ext.Factory,a=b.dataIdentifier;b.dataIdentifier=function(d){var g=Ext.isString(d)?d:(d&&d.id),e=g&&((d&&d.cache)||c.all)[g];return e||a(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 a=this,c=a._seed,b=a._prefix;a._seed+=a._increment;return(b!==null)?b+c:c}});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",isEntity:true,isModel:true,validIdRe:null,erasing:false,observableType:"record",constructor:function(c,r){var o=this,b=o.self,j=b.identifier,p=Ext.data.Model,q=p.identifier,k=o.idField.name,a,h,l,m,n,g,e;o.data=o.data=c||(c={});o.session=r||null;o.internalId=m=q.generate();var d=c[k];if(r&&!r.isSession){Ext.Error.raise('Bad Model constructor argument 2 - "session" is not a Session')}if((a=c) instanceof Array){o.data=c={};e=o.getFields();n=Math.min(e.length,a.length);for(g=0;g<n;++g){c[e[g].name]=a[g]}}if(!(l=b.initializeFn)){b.initializeFn=l=p.makeInitializeFn(b)}if(!l.$nullFn){b.initializeFn(o)}if(!(o.id=h=c[k])&&h!==0){if(d){Ext.Error.raise('The model ID configured in data ("'+d+'") has been rejected by the '+o.fieldsMap[k].type+" field converter for the "+k+" field")}if(r){j=r.getIdentifier(b);h=j.generate()}else{if(q===j){h=m}else{h=j.generate()}}c[k]=o.id=h;o.phantom=true}if(r){r.add(o)}if(o.init&&Ext.isFunction(o.init)){o.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 a=this,b=a.modified,c=a.previousValues;if(!a.editing){a.editing=true;a.editMemento={dirty:a.dirty,data:Ext.apply({},a.data),generation:a.generation,modified:b&&Ext.apply({},b),previousValues:c&&Ext.apply({},c)}}},cancelEdit:function(){var b=this,a=b.editMemento;if(a){b.editing=false;Ext.apply(b,a);b.editMemento=null}},endEdit:function(d,c){var b=this,a=b.editMemento;if(a){b.editing=false;b.editMemento=null;b.previousValues=a.previousValues;if(!d){if(!c){c=b.getModifiedFieldNames(a.data)}if(b.dirty||(c&&c.length)){b.callJoined("afterEdit",[c])}}}},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(a){this.set(this.idProperty,a)},getPrevious:function(a){var b=this.previousValues;return b&&b[a]},isModified:function(a){var b=this.modified;return !!(b&&b.hasOwnProperty(a))},getModified:function(a){var b;if(this.isModified(a)){b=this.modified[a]}return b},get:function(a){return this.data[a]},_singleProp:{},_rejectOptions:{convert:false,silent:true},set:function(n,x,B){var s=this,a=s.self,g=s.data,t=s.modified,C=s.previousValues,F=s.session,H=Ext.isString(n),A=(H?B:x),d=A?A.convert!==false:s.convertOnSet,o=s.fieldsMap,G=A&&A.silent,b=A&&A.commit,I=!(A&&A.refs===false)&&F,k=!(A&&A.dirty===false&&!b),u=null,e,m,q,r,v,z,c,h,j,p,l=0,y,w,D,E,J,K;if(H){K=s._singleProp;K[n]=x}else{K=n}if(!(D=a.rankedFields)){D=a.rankFields()}y=D.length;do{for(v in K){J=K[v];e=g[v];c=s;m=o[v];if(m){if(d&&m.convert){J=m.convert(J,s)}c=m;E=m.reference}else{E=null}if(c.isEqual(e,J)){continue}g[v]=J;(u||(u=[])).push(v);(C||(s.previousValues=C={}))[v]=e;if(E&&E.cls){if(I){F.updateReference(s,m,J,e)}E.onValueChange(s,F,J,e)}p=(j=m&&m.dependents)&&j.length;while(p-->0){(h=j[p]).dirty=true;l=l?Math.min(l,h.rank):h.rank}if(!m||m.persist){if(t&&t.hasOwnProperty(v)){if(!k||c.isEqual(t[v],J)){delete t[v];s.dirty=-1}}else{if(k){if(!t){s.modified=t={}}s.dirty=true;t[v]=e}}}if(v===s.idField.name){q=true;z=e;w=J}}if(!l){break}m=D[l-1];m.dirty=false;if(H){delete K[n]}else{K=s._singleProp;H=true}n=m.name;K[n]=g[n];d=true;for(;l<y;++l){if(D[l].dirty){break}}if(l<y){++l}else{l=0}}while(1);if(s.dirty<0){s.dirty=false;for(r in t){if(t.hasOwnProperty(r)){s.dirty=true;break}}}if(H){delete K[n]}++s.generation;if(q){s.id=w;s.callJoined("onIdChanged",[z,w])}if(b){s.commit(G,u)}else{if(!G&&!s.editing&&u){s.callJoined("afterEdit",[u])}}return u},reject:function(c){var a=this,b=a.modified;if(a.erased){Ext.Error.raise("Cannot reject once a record has been erased.")}if(b){a.set(b,a._rejectOptions)}a.dropped=false;a.clearState();if(!c){a.callJoined("afterReject")}},commit:function(e,d){var c=this,g=c.versionProperty,a=c.data,b;c.clearState();if(g&&!c.phantom&&!isNaN(a[g])){++a[g]}c.phantom=false;if(c.dropped){c.erased=b=true}if(!e){if(b){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 c=this,a=c.associations,e=c.session,d;if(c.erased||c.dropped){return}c.dropped=true;if(a&&b!==false){for(d in a){a[d].onDrop(c,e)}}c.callJoined("afterDrop");if(c.phantom){c.setErased()}},join:function(a){var c=this,b=c.joined;if(!b){b=c.joined=[a]}else{if(!b.length){b[0]=a}else{Ext.Array.include(b,a)}}if(a.isStore&&!c.store){c.store=a}},unjoin:function(b){var e=this,c=e.joined,d=c&&c.length,g=e.store,a;if(d===1&&c[0]===b){c.length=0}else{if(d){Ext.Array.remove(c,b)}}if(g===b){g=null;if(c){for(a=0,d=c.length;a<d;++a){b=c[a];if(b.isStore){g=b;break}}}e.store=g}},clone:function(d){var a=this,b=a.modified,c=a.copy(a.id,d);if(b){c.modified=Ext.apply({},b)}c.dirty=a.dirty;c.dropped=a.dropped;c.phantom=a.phantom;return c},copy:function(d,e){var c=this,a=Ext.apply({},c.data),b=c.idProperty,g=c.self;if(d||d===0){a[b]=d}else{if(d===null){delete a[b]}}return new g(a,e)},getProxy:function(){return this.self.getProxy()},getValidation:function(b){var a=this,c=a.validation;if(!c){a.validation=c=new Ext.data.Validation();c.attach(a)}if(b===true||(b!==false&&c.syncGeneration!==a.generation)){c.refresh(b)}return c},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(b){var a=this;a.erasing=true;a.drop();a.erasing=false;return a.save(b)},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(p,m){var l=this,b=l.associations,d,e,g,j,h,k,o,q,r,n,c,a;p=p||{};l.$gathering=1;if(m){m=Ext.Object.chain(m)}for(r in b){q=b[r];g=q.getAssociatedItem(l);if(!g||g.$gathering){continue}if(g.isStore){g.$gathering=1;j=g.getData().items;k=j.length;h=[];for(e=0;e<k;++e){o=j[e];d=!o.$gathering;o.$gathering=1;if(m){a=m.associated;if(a===undefined){m.associated=d;c=true}else{if(!d){m.associated=false;c=true}}n=m}else{n=d?l._getAssociatedOptions:l._getNotAssociatedOptions}h.push(o.getData(n));if(c){m.associated=a;c=false}delete o.$gathering}delete g.$gathering}else{n=m||l._getAssociatedOptions;if(m&&m.associated===undefined){n.associated=true}h=g.getData(n)}p[r]=h}delete l.$gathering;return p},getData:function(m){var j=this,q={},o=(m===true)?j._getAssociatedOptions:(m||q),g=j.data,a=o.associated,b=o.changes,d=b&&o.critical,c=b?j.modified:g,i=j.fieldsMap,p=o.persist,r=o.serialize,e,h,k,l,s;if(c){for(l in c){s=g[l];h=i[l];if(h){if(p&&!h.persist){continue}if(r&&h.serialize){s=h.serialize(s,j)}}q[l]=s}}if(d){e=j.self.criticalFields||j.getCriticalFields();for(k=e.length;k-->0;){l=(h=e[k]).name;if(!(l in q)){s=g[l];if(r&&h.serialize){s=h.serialize(s,j)}q[l]=s}}}if(a){j.getAssociatedData(q,o)}return q},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(h){h=Ext.apply({},h);var e=this,j=h.scope||e,i=e.getProxy(),a=h.callback,g=e.loadOperation,d=e.getId(),c;if(g){c=g.extraCalls;if(!c){c=g.extraCalls=[]}c.push(h);return g}var b=true;if(e.phantom){b=false}h.id=d;h.recordCreator=function(k,n,l){var m=e.session;if(l){l.recordCreator=m?m.recordCreator:null}e.set(k,e._commitOptions);if(b&&e.getId()!==d){Ext.Error.raise("Invalid record id returned for "+d+"@"+e.entityName)}return e};h.internalCallback=function(p){var q=p.wasSuccessful()&&p.getRecords().length>0,o=e.loadOperation,l=o.extraCalls,r=[e,p],k=[e,p,q],m,n;e.loadOperation=null;if(q){Ext.callback(h.success,j,r)}else{Ext.callback(h.failure,j,r)}Ext.callback(a,j,k);if(l){for(m=0,n=l.length;m<n;++m){h=l[m];if(q){Ext.callback(h.success,j,r)}else{Ext.callback(h.failure,j,r)}Ext.callback(h.callback,j,k)}}e.callJoined("afterLoad")};delete h.callback;e.loadOperation=g=i.createOperation("read",h);g.execute();return g},save:function(g){g=Ext.apply({},g);var d=this,h=d.phantom,c=d.dropped,a=c?"destroy":(h?"create":"update"),j=g.scope||d,b=g.callback,i=d.getProxy(),e;g.records=[d];g.internalCallback=function(l){var k=[d,l],m=l.wasSuccessful();if(m){Ext.callback(g.success,j,k)}else{Ext.callback(g.failure,j,k)}k.push(m);Ext.callback(b,j,k)};delete g.callback;e=i.createOperation(a,g);if(c&&h){e.setResultSet(Ext.data.reader.Reader.prototype.nullResultSet);d.setErased();e.setSuccessful(true)}else{e.execute()}return e},inheritableStatics:{addFields:function(a){this.replaceFields(a)},replaceFields:function(l,p){var j=this,o=j.prototype,b=Ext.data.field.Field,c=j.fields,d=j.fieldsMap,n=j.fieldOrdinals,a,e,g,h,k,m;if(p===true){c.length=0;j.fieldsMap=d={};j.fieldOrdinals=n={}}else{if(p){for(e=p.length;e-->0;){k=p[e];if(k in n){delete n[k];delete d[k]}}for(e=0,h=c.length;e<h;++e){k=(a=c[e]).name;if(k in n){n[k]=e}else{c.splice(e,1);--e;--h}}}}for(e=0,h=l?l.length:0;e<h;e++){k=(a=l[e]).name;if(!(k in n)){n[k]=m=c.length;c.push(a=b.create(a));d[k]=a;a.ordinal=m;a.definedBy=a.owner=this}}j.idField=o.idField=g=d[o.idProperty];g.allowNull=g.critical=g.identifier=true;g.defaultValue=null;j.initializeFn=j.rankedFields=j.transientFields=j.criticalFields=null},removeFields:function(a){this.replaceFields(null,a)},getIdFromData:function(a){var d=this,c=d.idField,b=c.calculated?(new d(a)).id:a[c.name];return b},createWithId:function(c,b,e){var a=b,g=this;if(c||c===0){a={};if(b){Ext.apply(a,b)}a[g.idField.name]=c}return new g(a,e)},getFields:function(){return this.fields},getFieldsMap:function(){return this.fieldsMap},getField:function(a){return this.fieldsMap[a]||null},getProxy:function(){var b=this,c=b.proxy,a;if(!c){c=b.proxyConfig;if(!c||!c.isProxy){if(typeof c==="string"){c={type:c}}a=b.schema.constructProxy(b);c=c?Ext.merge(a,c):a}c=b.setProxy(c)}return c},setProxy:function(c){var a=this,b;if(c){if(!c.isProxy){c=Ext.Factory.proxy(c)}else{b=c.getModel();if(b&&b!==a){c=c.clone()}}c.setModel(a)}return(a.prototype.proxy=a.proxy=c)},load:function(b,c,e){var a={},d;a[this.prototype.idProperty]=b;d=new this(a,e);d.load(c);return d}},deprecated:{5:{methods:{hasId:null,markDirty:null,setDirty:null,eachStore:function(a,e){var d=this,g=d.stores,c=g.length,b;for(b=0;b<c;++b){a.call(e,g[b])}},join:function(a){var c=this,d=c.stores,b=c.joined;if(!b){b=c.joined=[a]}else{b.push(a)}if(a.isStore){c.store=c.store||a;if(!d){d=c.stores=[]}d.push(a)}},unjoin:function(a){var c=this,d=c.stores,b=c.joined;if(b.length===1){b.length=0}else{Ext.Array.remove(b,a)}if(a.isStore){Ext.Array.remove(d,a);c.store=d[0]||null}}},properties:{persistenceProperty:null},inheritableStatics:{methods:{setFields:null}}}},privates:{_commitOptions:{commit:true},_getChangesOptions:{changes:true},_getAssociatedOptions:{associated:true},_getNotAssociatedOptions:{associated:false},copyFrom:function(m){var g=this,c=g.fields,b=c.length,h=[],a,d=0,j,l,e=g.idProperty,k,n;if(m){j=g.data;l=m.data;for(;d<b;d++){a=c[d];k=a.name;if(k!==e){n=l[k];if(n!==undefined&&!g.isEqual(j[k],n)){j[k]=n;h.push(k)}}}if(g.phantom&&!m.phantom){g.beginEdit();g.setId(m.getId());g.endEdit(true);g.commit(true)}}return h},callJoined:function(c,a){var j=this,g=j.joined,k=j.session,d,h,b,e;if(!g&&!k){return}if(a){a.unshift(j)}else{a=[j]}if(g){for(d=0,h=g.length;d<h;++d){e=g[d];if(e&&(b=e[c])){b.apply(e,a)}}}b=k&&k[c];if(b){b.apply(k,a)}},setSession:function(a){if(a){if(this.session){Ext.Error.raise("This model already belongs to a session.")}if(!this.id){Ext.Error.raise("The model must have an id to participate in a session.")}}this.session=a;if(a){a.add(this)}},getModifiedFieldNames:function(e){var c=this,a=c.data,d=[],g=e||c.editMemento.data,b;for(b in a){if(a.hasOwnProperty(b)){if(!c.isEqual(a[b],g[b],b)){d.push(b)}}}return d},isEqual:function(c,d,b){var a;if(b){a=b.isField?b:this.fieldsMap[b];if(a){return a.isEqual(c,d)}}if(c instanceof Date&&d instanceof Date){return c.getTime()===d.getTime()}return c===d},statics:{EDIT:"edit",REJECT:"reject",COMMIT:"commit",rankFields:function(){var a=this,j=a.prototype,e=a.fields,h=e.length,k=[],b=[],l=[],c,d,g;a.rankedFields=j.rankedFields=k;a.criticalFields=j.criticalFields=b;a.transientFields=j.transientFields=l;for(g=0;g<h;++g){d=e[g];if(d.critical){b.push(d)}if(!d.persist){l.push(d)}if(d.evil){(c||(c=[])).push(d)}else{if(!d.depends){k.push(d);d.rank=k.length}}}for(g=0;g<h;++g){if(!(d=e[g]).rank&&!d.evil){a.topoAdd(d)}}if(c){for(g=0,h=c.length;g<h;++g){k.push(d=c[g]);d.rank=k.length}}a.topoStack=null;return k},topoAdd:function(d){var a=this,b=d.depends,c=b?b.length:0,g=a.rankedFields,e,h;var j=a.topoStack||(a.topoStack=[]);j.push(d.name);if(d.rank===0){Ext.Error.raise(a.$className+" has circular field dependencies: "+j.join(" --> "))}if(j.length&&d.evil){Ext.Error.raise(a.$className+": Field "+j[j.length-1]+" cannot depend on depends-less field "+d.name)}d.rank=0;for(e=0;e<c;++e){h=a.fieldsMap[b[e]];if(!h){Ext.Error.raise(a.$className+": Field "+d.name+" depends on undefined field "+b[e])}(h.dependents||(h.dependents=[])).push(d);if(!h.rank){a.topoAdd(h)}}g.push(d);d.rank=g.length;j.pop()},initFields:function(b,a,r){var d=Ext.data.field.Field,e=b.fields,h=[],g={},j={},t=[],u=r.fields,x=b.versionProperty||r.versionProperty,n=a.idProperty,m,c,k,o,p,q,s,v,w,l;a.fields=r.fields=h;a.fieldOrdinals=r.fieldOrdinals=g;a.fieldsMap=r.fieldsMap=j;a.references=r.references=t;if(u){for(k=0,o=u.length;k<o;++k){h[k]=c=Ext.Object.chain(u[k]);c.dependents=null;c.owner=a;g[p=c.name]=k;j[p]=c;c.rank=null;if(c.generated){v=c;w=c.name}}}if(e){delete b.fields;for(k=0,o=e.length;k<o;++k){c=e[k];s=c.reference;if(s&&typeof s!=="string"){s=Ext.merge({},s)}c.$reference=s;c=d.create(e[k]);p=c.name;q=g[p];if(q===undefined){g[p]=q=h.length}j[p]=c;h[q]=c;c.definedBy=c.owner=a;c.ordinal=q;if(p===n){l=c}}}m=j[n];if(!m){if(v&&v.generated){q=v.ordinal}else{q=h.length}delete j[w];delete g[w];m=new d(n);h[q]=m;g[n]=q;j[n]=m;m.definedBy=a;m.ordinal=q;m.generated=true}else{if(l&&v&&v.generated){Ext.Array.remove(h,v);delete j[w];delete g[w];j[n]=l;for(k=0,o=h.length;k<o;++k){c=h[k];h.ordinal=k;g[c.name]=k}}}m.allowNull=m.critical=m.identifier=true;m.defaultValue=null;a.idField=r.idField=m;if(x){c=j[x];if(!c){q=h.length;c=new d({name:x,type:"int"});h[q]=c;g[x]=q;j[x]=c;c.definedBy=a;c.ordinal=q;c.generated=true}c.defaultValue=1;c.critical=true}},initValidators:function(c,a,l){var m=l.validators,p,d,b,o,g,j,e,k,n,h;if(m){p={};for(d in m){p[d]=Ext.Array.clone(m[d])}}o=c.validators||c.validations;if(c.validations){delete c.validations;Ext.log.warn((a.$className||"Ext.data.Model")+": validations has been deprecated. Please use validators instead.")}if(o){delete c.validators;p=p||{};if(Ext.isArray(o)){b={};for(g=0,j=o.length;g<j;++g){h=o[g];k=h.field;if(!b[k]){b[k]=[]}h=h.fn||h;b[k].push(h)}o=b}for(k in o){e=o[k];if(!Ext.isArray(e)){e=[e]}n=p[k];if(p[k]){Ext.Array.push(n,e)}else{p[k]=e}}}if(p){for(k in p){d=a.getField(k);if(d){d.setModelValidators(p[k])}}}a.validators=l.validators=p},initAssociations:function(m,e,d){var b=e.associations,c=e.belongsTo,g=e.hasMany,h=e.hasOne,l=e.manyToMany,j,k,a;if(e.belongsTo){Ext.log.warn('Use of "belongsTo" is obsolete'+(d.$className?" in "+d.$className:""));delete e.belongsTo}delete e.manyToMany;if(l){m.addMatrices(d,l)}delete e.associations;delete e.belongsTo;delete e.hasMany;delete e.hasOne;if(b){b=Ext.isArray(b)?b:[b];for(j=0,k=b.length;j<k;++j){a=b[j];switch(a.type){case"belongsTo":m.addLegacyBelongsTo(d,a);break;case"hasMany":m.addLegacyHasMany(d,a);break;case"hasOne":m.addLegacyHasOne(d,a);break;default:Ext.Error.raise('Invalid association type: "'+a.type+'"')}}}if(c){c=Ext.isArray(c)?c:[c];for(j=0,k=c.length;j<k;++j){m.addLegacyBelongsTo(d,c[j])}}if(g){g=Ext.isArray(g)?g:[g];for(j=0,k=g.length;j<k;++j){m.addLegacyHasMany(d,g[j])}}if(h){h=Ext.isArray(h)?h:[h];for(j=0,k=h.length;j<k;++j){m.addLegacyHasOne(d,h[j])}}m.afterLegacyAssociations(d)},initIdentifier:function(b,a,e){var d=b.identifier||b.idgen,g=e.identifier||a.schema._defaultIdentifier,c;if(b.idgen){Ext.log.warn("Ext.data.Model: idgen has been deprecated. Please use identifier instead.")}if(d){delete b.identifier;delete b.idgen;d=Ext.Factory.dataIdentifier(d)}else{if(g){if(g.clone&&!g.getId()){d=g.clone()}else{if(g.isGenerator){d=g}else{d=Ext.Factory.dataIdentifier(g)}}}}a.identifier=e.identifier=d;if(!d){c=a.entityName;if(!c){c=Ext.id(null,"extModel")}a.identifier=Ext.Factory.dataIdentifier({type:"sequential",prefix:c+"-"})}},findValidator:function(j,g,a){var h=a.type||a,b=j[g],e,c,d;if(b){for(c=0,e=b.length;c<e;++c){d=b[c];if(d.type===h){return d}}}return null},makeInitializeFn:function(c){var d=["var "],b=["\nreturn function (e) {\n    var data = e.data, v;\n"],m=[],r=0,a,g,e,h,j,k,l,n,o,p,q;if(!(l=c.rankedFields)){l=c.rankFields()}for(p=0,q=l.length;p<q;++p){k=l[p];m[p]=n="f"+p;e=k.convert;if(p){d.push(",  \n    ")}d.push(n," = $fields["+p+"]");d.push("  /*  ",k.name,"  */");if((o=(k.defaultValue!==undefined))||e){h='data["'+k.name+'"]';++r;a=g="";if(k.cloneDefaultValue){a="Ext.clone(";g=")"}b.push("\n");if(e&&o){b.push("    v = ",h,";\n    if (v !== undefined) {\n        v = ",n,".convert(v, e);\n    }\n    if (v === undefined) {\n        v = ",a,n,".defaultValue",g,";\n    }\n    ",h," = v;")}else{if(e){b.push("    v = ",n,".convert(",h,",e);\n    if (v !== undefined) {\n        ",h," = v;\n    }\n")}else{if(o){b.push("    if (",h," === undefined) {\n        ",h," = ",a,n,".defaultValue",g,";\n    }\n")}}}}}if(!r){return Ext.emptyFn}d.push(";\n");d.push.apply(d,b);d.push("}");d=d.join("");j=new Function("$fields","Ext",d);return j(l,Ext)}}}},function(){var b=this,c=b.prototype,d=Ext.data.schema.Schema,a;b.proxyConfig=c.proxy;delete c.proxy;b.fields=[];b.fieldsMap=c.fieldsMap={};b.schema=c.schema=d.get(c.schema);c.idField=new Ext.data.field.Field(c.idProperty);b.identifier=new Ext.data.identifier.Sequential();b.onExtended(function(e,g){var i=e.prototype,l=g.schema,m=i.superclass.self,k,h,j;e.idProperty=g.idProperty||i.idProperty;if(l){delete g.schema;k=d.get(l)}else{if(!(k=i.schema)){k=a||(a=d.get("default"))}}e.rankFields=b.rankFields;e.topoAdd=b.topoAdd;i.schema=e.schema=k;if(!(h=g.entityName)){i.entityName=h=k.getEntityName(e);if(!h){if(g.associations){Ext.Error.raise('Anonymous entities cannot specify "associations"')}if(g.belongsTo){Ext.Error.raise('Anonymous entities cannot specify "belongsTo"')}if(g.hasMany){Ext.Error.raise('Anonymous entities cannot specify "hasMany"')}if(g.hasOne){Ext.Error.raise('Anonymous entities cannot specify "hasOne"')}if(g.matrices){Ext.Error.raise('Anonymous entities cannot specify "manyToMany"')}}}e.entityName=h;e.fieldExtractors={};b.initIdentifier(g,e,i);b.initFields(g,e,i);b.initValidators(g,e,i);e.fields.items=e.fields;if(h){k.addEntity(e);b.initAssociations(k,g,e)}j=g.proxy;if(j){delete g.proxy}else{if(m!==b){j=m.proxyConfig||m.proxy}}e.proxyConfig=j})});Ext.define("Ext.data.ResultSet",{isResultSet:true,$configPrefixed:false,config:{loaded:true,count:null,total:null,success:false,records:null,message:null,metadata:null},constructor:function(a){this.initConfig(a)},getCount:function(){var a=this.callParent(),b;if(!a){b=this.getRecords();if(b){a=b.length}}return a}});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:true},isReader:true,constructor:function(a){if(a&&a.hasOwnProperty("root")){a=Ext.apply({},a);a.rootProperty=a.root;delete a.root;Ext.log.error('Ext.data.reader.Reader: Using the deprecated "root" configuration. Use "rootProperty" instead.')}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}}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(c,b){var a,d;if(c){if(c.responseText){d=this.getResponseData(c);if(d&&d.__$isError){return new Ext.data.ResultSet({total:0,count:0,records:[],success:false,message:d.msg})}else{a=this.readRecords(d,b)}}else{a=this.readRecords(c,b)}}return a||this.nullResultSet},getNullResultSet:function(){return this.nullResultSet},createReadError:function(a){return{__$isError:true,msg:a}},readRecords:function(b,h,c){var d=this,k=c&&c.recordsOnly,a=c&&c.asRoot,m,i,j,l,n,p,e,o,g;g=d.getMeta?d.getMeta(b):b.metaData;if(g){d.onMetaChange(g)}o=d.getTransform();if(o){b=o(b)}d.buildExtractors();if(d.getKeepRawData()){d.rawData=b}if(d.hasListeners.rawdata){d.fireEventArgs("rawdata",[b])}b=d.getData(b);m=true;i=0;j=[];if(d.getSuccessProperty()){p=d.getSuccess(b);if(p===false||p==="false"){m=false}}if(d.getMessageProperty()){e=d.getMessage(b)}if(m||d.getReadRecordsOnFailure()){l=(a||Ext.isArray(b))?b:d.getRoot(b);if(l){n=l.length}if(d.getTotalProperty()){p=parseInt(d.getTotal(b),10);if(!isNaN(p)){n=p}}if(l){j=d.extractData(l,h);i=j.length}}return k?j:new Ext.data.ResultSet({total:n||i,metadata:g,count:i,records:j,success:m,message:e})},extractData:function(o,l){var g=this,a=l&&l.model?Ext.data.schema.Schema.lookupEntity(l.model):g.getModel(),p=a.schema,d=p.hasAssociations(a)&&g.getImplicitIncludes(),b=g.getFieldExtractorInfo(a.fieldExtractors),e=o.length,n=new Array(e),q=g.getTypeProperty(),k,h,j,m,c;if(!e&&Ext.isObject(o)){o=[o];e=1}for(c=0;c<e;c++){m=o[c];if(!m.isModel){h=m;if(q&&(j=g.getChildType(p,h,q))){k=j.getProxy().getReader();m=k.extractRecord(h,l,j,p.hasAssociations(j)&&k.getImplicitIncludes(),k.getFieldExtractorInfo(j.fieldExtractors))}else{m=g.extractRecord(h,l,a,d,b)}if(m.isModel&&m.isNode){m.raw=h}}if(m.onLoad){m.onLoad()}n[c]=m}return n},getChildType:function(c,b,d){var a;switch(typeof d){case"string":return c.getEntity(b[d]);case"object":a=d.namespace;return c.getEntity((a?a+".":"")+b[d.name]);case"function":return c.getEntity(d(b))}},extractRecordData:function(c,d){var a=d&&d.model?Ext.data.schema.Schema.lookupEntity(d.model):this.getModel(),b=this.getFieldExtractorInfo(a.fieldExtractors);return this.extractRecord(c,d,a,false,b)},extractRecord:function(h,i,b,d,c){var e=this,a=(i&&i.recordCreator)||e.defaultRecordCreator,g,j;g=e.extractModelData(h,c);j=a.call(e,g,b||e.getModel(),i);if(d&&j.isModel){e.readAssociated(j,h,i)}return j},getFieldExtractorInfo:function(b){if(!b){return}var c=this.$className,a=b[c];if(a===undefined){b[c]=a=this.buildFieldExtractors()}return a},buildFieldExtractors:function(){var g=this.getFields(),j=g.length,a=[],d=[],l=null,b=0,e,k,h,c;for(h=0;h<j;++h){e=g[h];c=this.createFieldAccessor(e);if(c){k=e.name;a.push("val = extractors["+b+"](raw); if (val !== undefined) { data['"+k+"'] = val; }");d.push(c);++b}}if(a.length){l={extractors:d,fn:new Function("raw","data","extractors","var val;"+a.join(""))}}return l},defaultRecordCreator:function(a,b){var c=new b(a);c.phantom=false;return c},getModelData:function(a){return{}},extractModelData:function(d,b){var a=this.getModelData(d),c;if(b){c=b.fn;c(d,a,b.extractors)}return a},readAssociated:function(d,a,c){var g=d.associations,b,e;for(b in g){if(g.hasOwnProperty(b)){e=g[b];if(e.cls){e.read(d,a,this,c)}}}},getFields:function(){return this.getModel().fields},getData:Ext.identityFn,getRoot:Ext.identityFn,getResponseData:function(a){Ext.Error.raise("getResponseData must be implemented in the Ext.data.reader.Reader subclass")},onMetaChange:function(d){var c=this,b=d.fields,e,g,a,h;c.metaData=d;if(d.root){c.setRootProperty(d.root)}if(d.totalProperty){c.setTotalProperty(d.totalProperty)}if(d.successProperty){c.setSuccessProperty(d.successProperty)}if(d.messageProperty){c.setMessageProperty(d.messageProperty)}a=d.clientIdProperty;if(b){g=Ext.define(null,{extend:"Ext.data.Model",fields:b,clientIdProperty:a});c.setModel(g);h=c.getProxy();if(h){h.setModel(g)}}else{if(a){e=c.getModel();if(e){e.self.prototype.clientIdProperty=a}}}},buildExtractors:function(a){var b=this,e,d,c;if(a||!b.hasExtractors){e=b.getTotalProperty();d=b.getSuccessProperty();c=b.getMessageProperty();if(e){b.getTotal=b.getAccessor(e)}if(d){b.getSuccess=b.getAccessor(d)}if(c){b.getMessage=b.getAccessor(c)}b.hasExtractors=true;return true}},getAccessor:function(d){var c=this,a=c.extractorCache,e,b;if(typeof d==="string"){b=c.getAccessorKey(d);e=a.get(b);if(!e){e=c.createAccessor(d);a.add(b,e)}}else{e=c.createAccessor(d)}return e},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},privates:{copyFrom:function(b){var a=this;b.buildExtractors();a.getTotal=b.getTotal;a.getSuccess=b.getSuccess;a.getMessage=b.getMessage;++a.duringInit;a.setConfig(b.getConfig());--a.duringInit;a.hasExtractors=true}}},function(a){var b=a.prototype;Ext.apply(b,{nullResultSet:new Ext.data.ResultSet({total:0,count:0,records:[],success:true,message:""})});b.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(g){var d=g.getOperation(),e=d.getRecords()||[],c=e.length,a=[],b;for(b=0;b<c;b++){a.push(this.getRecordData(e[b],d))}return this.writeRecords(g,a)},writeRecords:Ext.emptyFn,getRecordData:function(o,l){var j=this,k=j.getNameProperty(),i=k!=="name",g=o.self.idField,h=g[k]||g.name,q=o.id,r=j.getWriteAllFields(),p,c,n,m,a,e,b,d;if(g.serialize){q=g.serialize(q)}if(!r&&l&&l.isDestroyOperation){p={};p[h]=q}else{c=j.getDateFormat();n=o.phantom;m=(n||r)?j.getAllDataOptions():j.getPartialDataOptions();a=n&&j.getClientIdProperty();e=o.getFieldsMap();m.serialize=false;b=o.getData(m);p=i?{}:b;if(a){p[a]=q;delete b[h]}else{if(!j.getWriteRecordId()){delete b[h]}}for(h in b){q=b[h];if(!(d=e[h])){if(i){p[h]=q}}else{if(d.isDateField&&c&&Ext.isDate(q)){q=Ext.Date.format(q,c)}else{if(d.serialize){q=d.serialize(q,o)}}if(i){h=d[k]||h}p[h]=q}}}return p}});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(a){if(a){var b=this.getReader();if(b){b.setModel(a)}}},applyReader:function(a){return Ext.Factory.reader(a)},updateReader:function(c){if(c){var a=this,b=a.getModel();if(!b){b=c.getModel();if(b){a.setModel(b)}}else{c.setModel(b)}}},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(j,h){var i=this,o=i.getBatchActions(),g,m,d,e,c,b,k,n,l;if(j.operations===undefined){j={operations:j,listeners:h}}if(j.batch){if(Ext.isDefined(j.batch.runOperation)){g=Ext.applyIf(j.batch,{proxy:i,listeners:{}})}}else{j.batch={proxy:i,listeners:j.listeners||{}}}if(!g){g=new Ext.data.Batch(j.batch)}g.on("complete",Ext.bind(i.onBatchComplete,i,[j],0));d=i.getBatchOrder().split(",");e=d.length;for(b=0;b<e;b++){c=d[b];m=j.operations[c];if(m){if(o){g.add(i.createOperation(c,{records:m,params:j.params}))}else{n=m.length;for(k=0;k<n;k++){l=m[k];g.add(i.createOperation(c,{records:[l],params:j.params}))}}}}g.start();return g},onBatchComplete:function(b,a){var c=b.scope||this;if(a.hasException()){if(Ext.isFunction(b.failure)){Ext.callback(b.failure,c,[a,b])}}else{if(Ext.isFunction(b.success)){Ext.callback(b.success,c,[a,b])}}if(Ext.isFunction(b.callback)){Ext.callback(b.callback,c,[a,b])}},createOperation:function(a,b){var c=Ext.createByAlias("data.operation."+a,b);c.setProxy(this);this.pendingOperations[c._internalId]=c;return c},completeOperation:function(a){delete this.pendingOperations[a._internalId]},clone:function(){return new this.self(this.getInitialConfig())},destroy:function(){var c=this.pendingOperations,b,a;for(b in c){a=c[b];if(a&&a.isRunning()){a.abort()}}this.pendingOperations=null}});Ext.define("Ext.data.proxy.Client",{extend:Ext.data.proxy.Proxy,alternateClassName:"Ext.data.ClientProxy",isSynchronous:true,clear:function(){Ext.Error.raise("The Ext.data.proxy.Client subclass that you are using has not defined a 'clear' function. See src/data/ClientProxy.js for details.")}});Ext.define("Ext.data.proxy.Memory",{extend:Ext.data.proxy.Client,alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",isMemoryProxy:true,config:{enablePaging:false,data:{$value:null,merge:function(c,a,d,b){if(Ext.isArray(c)){return Ext.Array.clone(c)}else{return Ext.clone(c)}}}},finishOperation:function(c){var a=0,d=c.getRecords(),b=d.length;for(a;a<b;a++){d[a].commit()}c.setSuccessful(true)},create:function(a){this.finishOperation(a)},update:function(a){this.finishOperation(a)},erase:function(a){this.finishOperation(a)},read:function(g){var d=this,i=d.getReader().read(d.getData()),h=i.getRecords(),j=g.getSorters(),b=g.getGrouper(),a=g.getFilters(),k=g.getStart(),c=g.getLimit(),e;if(g.process(i,null,null,false)!==false){if(a&&a.length){i.setRecords(h=Ext.Array.filter(h,Ext.util.Filter.createFilterFn(a)));i.setTotal(h.length)}if(b){j=j?j.concat(b):j}if(j&&j.length){i.setRecords(h=Ext.Array.sort(h,Ext.util.Sortable.createComparator(j)))}if(d.getEnablePaging()&&k!==undefined&&c!==undefined){if(k>=i.getTotal()){i.setConfig({success:false,records:[],total:0})}else{i.setRecords(Ext.Array.slice(h,k,k+c))}}g.setCompleted();if(e=i.getMetadata()){d.onMetaChange(e)}}},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,autoLoadDelay:1},onClassExtended:function(a,b,c){var d=b.model,e;if(typeof d==="string"){e=c.onBeforeCreated;c.onBeforeCreated=function(){var h=this,g=arguments;Ext.require(d,function(){e.apply(h,g)})}}},implicitModel:false,implicitModelSuperCls:"Ext.data.Model",blockLoadCounter:0,loadsWhileBlocked:0,autoSyncSuspended:0,constructor:function(a){var d=this;var b=d.model;d.removed=[];d.blockLoad();d.callParent(arguments);d.unblockLoad();if(!d.getModel()&&d.useModelWarning!==false&&d.getStoreId()!=="ext-empty-store"){var c=[Ext.getClassName(d)||"Store"," created with no model."];if(typeof b==="string"){c.push(" The name '",b,"'"," does not correspond to a valid model.")}Ext.log.warn(c.join(""))}},updateAutoLoad:function(a){var b=this,c;b.getData();if(a){c=b.loadTask||(b.loadTask=new Ext.util.DelayedTask(null,null,null,null,false));c.delay(b.autoLoadDelay,b.attemptLoad,b,Ext.isObject(a)?[a]:undefined)}},getTotalCount:function(){return this.totalCount||0},applyFields:function(a){var b=this,c,d;if(a){b.implicitModel=true;b.setModel(c=Ext.define(null,{extend:b.implicitModelSuperCls,fields:a,proxy:(d=b.getProxy())}));if(d){d.setModel(c)}}},applyModel:function(a){if(a){a=Ext.data.schema.Schema.lookupEntity(a)}else{this.getFields();a=this.getModel()}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(c){var b=this,a=b.getAutoLoad()||b.isLoaded();b.blockLoad();b.callParent([c]);b.unblockLoad(a)},updateProxy:function(b,a){this.proxyListeners=Ext.destroy(this.proxyListeners)},updateTrackRemoved:function(a){this.cleanRemoved();this.removed=a?[]:null},onMetaChange:function(b,a){this.fireEvent("metachange",this,a)},create:function(a,g){var c=this,d=c.getModel(),b=new d(a),e;g=Ext.apply({},g);if(!g.records){g.records=[b]}g.internalScope=c;g.internalCallback=c.onProxyWrite;e=c.createOperation("create",g);return e.execute()},read:function(){return this.load.apply(this,arguments)},update:function(c){var a=this,b;c=Ext.apply({},c);if(!c.records){c.records=a.getUpdatedRecords()}c.internalScope=a;c.internalCallback=a.onProxyWrite;b=a.createOperation("update",c);return b.execute()},onProxyWrite:function(b){var a=this,d=b.wasSuccessful(),c=b.getRecords();switch(b.getAction()){case"create":a.onCreateRecords(c,b,d);break;case"update":a.onUpdateRecords(c,b,d);break;case"destroy":a.onDestroyRecords(c,b,d);break}if(d){a.fireEvent("write",a,b);a.fireEvent("datachanged",a)}},onCreateRecords:Ext.emptyFn,onUpdateRecords:Ext.emptyFn,onDestroyRecords:function(b,a,c){if(c){this.cleanRemoved()}},erase:function(c){var a=this,b;c=Ext.apply({},c);if(!c.records){c.records=a.getRemovedRecords()}c.internalScope=a;c.internalCallback=a.onProxyWrite;b=a.createOperation("destroy",c);return b.execute()},onBatchOperationComplete:function(a,b){return this.onProxyWrite(b)},onBatchComplete:function(a,e){var d=this,g=a.operations,c=g.length,b;if(d.batchUpdateMode!=="operation"){d.suspendEvents();for(b=0;b<c;b++){d.onProxyWrite(g[b])}d.resumeEvents()}d.isSyncing=false;d.fireEvent("datachanged",d)},onBatchException:function(a,b){},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(d){var a=this,c={},e=a.getNewRecords(),h=a.getUpdatedRecords(),g=a.getRemovedRecords(),b=false;if(a.isSyncing){Ext.log.warn("Sync called while a sync operation is in progress. Consider configuring autoSync as false.")}a.needsSync=false;if(e.length>0){c.create=e;b=true}if(h.length>0){c.update=h;b=true}if(g.length>0){c.destroy=g;b=true}if(b&&a.fireEvent("beforesync",c)!==false){a.isSyncing=true;d=d||{};a.proxy.batch(Ext.apply(d,{operations:c,listeners:a.getBatchListeners()}))}return a},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(d){if(this.isLoadBlocked()){return}var b=this,c={internalScope:b,internalCallback:b.onProxyLoad},a,e;if(b.getRemoteFilter()){a=b.getFilters(false);if(a&&a.getCount()){c.filters=a.getRange()}}if(b.getRemoteSort()){e=b.getSorters(false);if(e&&e.getCount()){c.sorters=e.getRange()}b.fireEvent("beforesort",b,c.sorters)}Ext.apply(c,d);c.scope=c.scope||b;b.lastOptions=c;c=b.createOperation("read",c);if(b.fireEvent("beforeload",b,c)!==false){b.onBeforeLoad(c);b.loading=true;b.clearLoadTask();c.execute()}return b},reload:function(b){var a=Ext.apply({},b,this.lastOptions);return this.load(a)},onEndUpdate:function(){var a=this;if(a.needsSync&&a.autoSync&&!a.autoSyncSuspended){a.sync()}},afterReject:function(b){var a=this;if(a.contains(b)){a.onUpdate(b,Ext.data.Model.REJECT,null);a.fireEvent("update",a,b,Ext.data.Model.REJECT,null)}},afterCommit:function(c,b){var a=this;if(!b){b=null}if(a.contains(c)){a.onUpdate(c,Ext.data.Model.COMMIT,b);a.fireEvent("update",a,c,Ext.data.Model.COMMIT,b)}},afterErase:function(a){this.onErase(a)},onErase:Ext.emptyFn,onUpdate:Ext.emptyFn,onDestroy:function(){var a=this,b=a.getProxy();a.blockLoad();a.clearData();a.setProxy(null);if(b.autoCreated){b.destroy()}a.setModel(null)},hasPendingLoad:function(){return !!this.loadTask||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){Ext.log.warn("Mismatched call to resumeAutoSync - auto synchronization is currently not suspended.")}if(a.autoSyncSuspended&&!--a.autoSyncSuspended){if(b){a.sync()}}},removeAll:Ext.emptyFn,clearData:Ext.emptyFn,privates:{getRawRemovedRecords:function(){return this.removed},attemptLoad:function(a){if(this.isLoadBlocked()){++this.loadsWhileBlocked;return}this.load(a)},blockLoad:function(a){++this.blockLoadCounter},clearLoadTask:function(){var a=this.loadTask;if(a){a.cancel();this.loadTask=null}},cleanRemoved:function(){var c=this.getRawRemovedRecords(),b,a;if(c){for(a=0,b=c.length;a<b;++a){c[a].unjoin(this)}c.length=0}},createOperation:function(e,c){var b=this,d=b.getProxy(),a;if(!b.proxyListeners){a={scope:b,destroyable:true,beginprocessresponse:b.beginUpdate,endprocessresponse:b.endUpdate};if(!b.disableMetaChangeEvent){a.metachange=b.onMetaChange}b.proxyListeners=d.on(a)}return d.createOperation(e,c)},isLoadBlocked:function(){return !!this.blockLoadCounter},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)}},unblockLoad:function(a){var c=this,b=c.loadsWhileBlocked;--c.blockLoadCounter;if(!c.blockLoadCounter){c.loadsWhileBlocked=0;if(a&&b){c.load()}}}}});Ext.define("Ext.data.LocalStore",{extend:Ext.Mixin,mixinConfig:{id:"localstore"},config:{extraKeys:null},applyExtraKeys:function(b){var c,a=this.getData();a.setExtraKeys(b);b=a.getExtraKeys();for(c in b){this[c]=b[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(b){var c=this.getSession(),a;if(!b.isModel){a=this.getModel();b=new a(b,c)}return b},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(c,h,a){var b=this.getData(),e,g,d;if(typeof a==="object"){a=a.filtered}if(a===true&&b.filtered){b=b.getSource()}b=b.items.slice(0);e=b.length;for(d=0;d<e;++d){g=b[d];if(c.call(h||g,g,d,e)===false){break}}},collect:function(d,a,b){var e=this,c=e.getData();if(typeof a==="object"){b=a.filtered;a=a.allowNull}if(b===true&&c.filtered){c=c.getSource()}return c.collect(d,"data",a)},getById:function(b){var a=this.getData();if(a.filtered){a=a.getSource()}return a.get(b)||null},getByInternalId:function(b){var a=this.getData(),c;if(a.filtered){if(!a.$hasExtraKeys){c=this.makeInternalKeyCfg();a.setExtraKeys(c);a.$hasExtraKeys=true}a=a.getSource()}if(!a.$hasExtraKeys){a.setExtraKeys(c||this.makeInternalKeyCfg());a.$hasExtraKeys=true}return a.byInternalId.get(b)||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(b,e){var d=this,c,a;if(e){if(!Ext.isIterable(e)){e=[e]}else{e=Ext.Array.clone(e)}c=e.length}if(!c){return[]}for(a=0;a<c;++a){e[a]=d.createModel(e[a])}d.getData().insert(b,e);return e},queryBy:function(b,c){var a=this.getData();return(a.getSource()||a).createFiltered(b,c)},query:function(e,g,a,b,d){var c=this.getData();return(c.getSource()||c).createFiltered(e,g,a,b,d)},first:function(a){return this.getData().first(a)||null},last:function(a){return this.getData().last(a)||null},sum:function(b,c){var a=this.getData();return(c&&this.isGrouped())?a.sumByGroup(b):a.sum(b)},count:function(b){var a=this.getData();return(b&&this.isGrouped())?a.countByGroup():a.count()},min:function(b,c){var a=this.getData();return(c&&this.isGrouped())?a.minByGroup(b):a.min(b)},max:function(b,c){var a=this.getData();return(c&&this.isGrouped())?a.maxByGroup(b):a.max(b)},average:function(b,c){var a=this.getData();return(c&&this.isGrouped())?a.averageByGroup(b):a.average(b)},aggregate:function(b,l,d,a){var j=this,e,h,k,c,g;if(d&&j.isGrouped()){e=j.getGroups().items;h=e.length;k={};for(g=0;g<h;++g){c=e[g];k[c.getGroupKey()]=j.getAggregate(b,l||j,c.items,a)}return k}else{return j.getAggregate(b,l,j.getData().items,a)}},getAggregate:function(b,g,e,a){var h=[],d=e.length,c;for(c=0;c<d;++c){h[c]=e[c].get(a)}return b.call(g||this,e,h)},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(a,b){var j=this.observers,g,e,c,h,d;if(j){e=j.items;if(b){b.unshift(this)}else{b=[this]}for(c=0,g=e.length;c<g;++c){d=e[c];h="onSource"+a;if(d[h]){d[h].apply(d,b)}}}},queryRecordsBy:function(b,h){var a=this.getData(),e=[],d,c,g;a=(a.getSource()||a).items;h=h||this;for(c=0,d=a.length;c<d;++c){g=a[c];if(b.call(h,g)===true){e.push(g)}}return e},queryRecords:function(b,h){var a=this.getData(),e=[],d,c,g;a=(a.getSource()||a).items;for(c=0,d=a.length;c<d;++c){g=a[c];if(g.get(b)===h){e.push(g)}}return e},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){this.getExtraParams()[a]=b},buildRequest:function(d){var c=this,b=Ext.apply({},d.getParams()),g=Ext.applyIf(b,c.getExtraParams()||{}),h,e,a;Ext.applyIf(g,c.getParams(d));e=d.getId();a=c.getIdParam();if(e!==undefined&&g[a]===undefined){g[a]=e}h=new Ext.data.Request({params:g,action:d.getAction(),records:d.getRecords(),url:d.getUrl(),operation:d,proxy:c});h.setUrl(c.buildUrl(h));d.setRequest(h);return h},processResponse:function(j,d,g,h){var b=this,a,e,i,c;b.fireEvent("beginprocessresponse",b,h,d);if(j===true){e=b.getReader();if(h.status===204){i=e.getNullResultSet()}else{i=e.read(b.extractResponseData(h),{recordCreator:d.getRecordCreator()})}d.process(i,g,h);a=!d.wasSuccessful()}else{b.setException(d,h);a=true}if(a){b.fireEvent("exception",b,h,d)}else{c=i.getMetadata();if(c){b.onMetaChange(c)}}b.afterRequest(g,j);b.fireEvent("endprocessresponse",b,h,d)},setException:function(a,b){a.setException({status:b.status,statusText:b.statusText,response:b})},extractResponseData:Ext.identityFn,applyEncoding:function(a){return Ext.encode(a)},encodeSorters:function(e,d){var c=[],b=e.length,a;for(a=0;a<b;a++){c[a]=e[a].serialize()}return this.applyEncoding(d?c[0]:c)},encodeFilters:function(b){var e=[],d=b.length,c,a;for(c=0;c<d;c++){a=b[c];if(a.getProperty()&&a.getValue()){e.push(a.serialize())}}return this.applyEncoding(e)},getParams:function(m){if(!m.isReadOperation){return{}}var l=this,p={},e=m.getGrouper(),s=m.getSorters(),c=m.getFilters(),n=m.getPage(),u=m.getStart(),j=m.getLimit(),r=l.getSimpleSortMode(),q=l.getSimpleGroupMode(),o=l.getPageParam(),v=l.getStartParam(),k=l.getLimitParam(),g=l.getGroupParam(),d=l.getGroupDirectionParam(),t=l.getSortParam(),b=l.getFilterParam(),a=l.getDirectionParam(),h,i;if(o&&n){p[o]=n}if(v&&(u||u===0)){p[v]=u}if(k&&j){p[k]=j}h=g&&e;if(h){if(q){p[g]=e.getProperty();p[d]=e.getDirection()}else{p[g]=l.encodeSorters([e],true)}}if(t&&s&&s.length>0){if(r){i=0;if(s.length>1&&h){i=1}p[t]=s[i].getProperty();p[a]=s[i].getDirection()}else{p[t]=l.encodeSorters(s)}}if(b&&c&&c.length>0){p[b]=l.encodeFilters(c)}return p},buildUrl:function(b){var a=this,c=a.getUrl(b);if(!c){Ext.Error.raise("You are using a ServerProxy but have not supplied it with a url.")}if(a.getNoCache()){c=Ext.urlAppend(c,Ext.String.format("{0}={1}",a.getCacheString(),Ext.Date.now()))}return c},getUrl:function(a){var b;if(a){b=a.getUrl()||this.getApi()[a.getAction()]}return b?b:this.callParent()},doRequest:function(a){Ext.Error.raise("The doRequest function has not been implemented on your Ext.data.proxy.Server subclass. See src/data/ServerProxy.js for details")},afterRequest:Ext.emptyFn,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"],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(d){var b=this,h=b.getWriter(),g=b.buildRequest(d),c=b.getMethod(g),a,e;if(h&&d.allowWrite()){g=h.write(g)}g.setConfig({binary:b.getBinary(),headers:b.getHeaders(),timeout:b.getTimeout(),scope:b,callback:b.createRequestCallback(g,d),method:c,useDefaultXhrHeader:b.getUseDefaultXhrHeader(),disableCaching:false});if(c.toUpperCase()!=="GET"&&b.getParamsAsJson()){e=g.getParams();if(e){a=g.getJsonData();if(a){a=Ext.Object.merge({},a,e)}else{a=e}g.setJsonData(a);g.setParams(undefined)}}if(b.getWithCredentials()){g.setWithCredentials(true);g.setUsername(b.getUsername());g.setPassword(b.getPassword())}return b.sendRequest(g)},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(d){var b=this.getActionMethods(),a=d.getAction(),c;if(b){c=b[a]}return c||this.defaultActionMethods[a]},createRequestCallback:function(c,b){var a=this;return function(d,g,e){if(c===a.lastRequest){a.lastRequest=null}a.processResponse(g,b,c,e)}},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()},getResponseData:function(c){var a;try{return Ext.decode(c.responseText)}catch(b){a=this.createReadError(b.message);Ext.Logger.warn("Unable to parse the JSON returned by the server");this.fireEvent("exception",this,c,a);return a}},buildExtractors:function(){var a=this,b,c;if(a.callParent(arguments)){b=a.getMetaProperty();c=a.getRootProperty();if(c){a.getRoot=a.getAccessor(c)}else{a.getRoot=Ext.identityFn}if(b){a.getMeta=a.getAccessor(b)}}},extractData:function(g,d){var e=this.getRecord(),a=[],c,b;if(e){c=g.length;if(!c&&Ext.isObject(g)){c=1;g=[g]}for(b=0;b<c;b++){a[b]=g[b][e]}}else{a=g}return this.callParent([a,d])},getModelData:function(a){return this.getPreserveRawData()?Ext.apply({},a):a},createAccessor:(function(){var a=/[\[\.]/;return function(g){var o=this,t=o.getUseSimpleAccessors(),p,s,e,r,q,j,k,l,m,u,d,h,b,n;if(!(g||g===0)){return}if(typeof g==="function"){return g}if(!t){p=String(g).search(a)}if(t===true||p<0){s=function(c){return c[g]}}else{e="raw";r=[];q="";j=0;n=g.length;for(h=0;h<=n;++h){d=g[h];k=d===".";l=d==="[";m=d==="]";u=k||l||m||!d;if(!u||j>1||(j&&!m)){q+=d}else{if(u){b=false;if(l){++j}else{if(m){--j;b=true}}if(q){if(b){q="["+q+"]"}else{q="."+q}e+=q;r.push(""+e);q=""}}}}s=r.join(" && ");s=Ext.functionFactory("raw","return "+s)}return s}}()),createFieldAccessor:function(a){var e=this,d=a.mapping,b=d||d===0,c=b?d:a.name;if(b){if(typeof c==="function"){return function(g){return a.mapping(g,e)}}else{return e.createAccessor(c)}}},getAccessorKey:function(a){var b=this.getUseSimpleAccessors()?"simple":"";return this.$className+b+a},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},constructor:function(a){if(a&&a.hasOwnProperty("root")){a=Ext.apply({},a);a.rootProperty=a.root;delete a.root;Ext.log.warn('Ext.data.writer.Json: Using the deprecated "root" configuration. Use "rootProperty" instead.')}this.callParent([a])},getExpandedData:function(a){var b=a.length,c=0,d,h,g,e,k,l=function(i,m){var j={};j[i]=m;return j};for(;c<b;c++){d=a[c];for(h in d){if(d.hasOwnProperty(h)){g=h.split(".");e=g.length-1;if(e>0){k=d[h];for(;e>0;e--){k=l(g[e],k)}d[g[0]]=d[g[0]]||{};Ext.Object.merge(d[g[0]],k);delete d[h]}}}}return a},writeRecords:function(d,a){var c=this,e=c.getRootProperty(),b,g,h;if(c.getExpandData()){a=c.getExpandedData(a)}if(c.getAllowSingle()&&a.length===1){a=a[0];g=true}h=this.getTransform();if(h){a=h(a,d)}if(c.getEncode()){if(e){d.setParam(e,Ext.encode(a))}else{Ext.Error.raise("Must specify a root when using encode")}}else{if(g||(a&&a.length)){b=d.getJsonData()||{};if(e){b[e]=a}else{b=a}d.setJsonData(b)}}return d}});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,b,g){var e=this,a,c,d,h,i,k,l;if(!j){e.beginUpdate();e.endUpdate()}else{h=e.getOptions();if(j instanceof Array){l=j;g=b;b=null}else{if(Ext.isString(j)){if(!(k=e.get(j))){l=[{property:j,direction:b||h.getDefaultSortDirection()}]}else{l=[k]}}else{if(Ext.isFunction(j)){l=[{sorterFn:j,direction:b||h.getDefaultSortDirection()}]}else{if(!Ext.isObject(j)){Ext.Error.raise("Invalid sort descriptor: "+j)}l=[j];g=b;b=null}}}if(g&&!e._sortModes[g]){Ext.Error.raise('Sort mode should be "multi", "append", "prepend" or "replace", not "'+g+'"')}g=e._sortModes[g||"replace"];i=e.getAt(0);a=e.length;c=g.append?a:0;e.beginUpdate();e.splice(c,g.replace?a:0,l);if(g.multi){a=e.length;d=h.getMultiSortLimit();if(a>d){e.removeAt(d,a)}}if(k&&b){k.setDirection(b)}else{if(c===0&&i&&i===e.getAt(0)){i.toggle()}}e.endUpdate()}},clear:function(){this.beginUpdate();this.callParent();this.endUpdate(this.items)},getSortFn:function(){return this.sortFn},getByProperty:function(e){var c=this.items,d=c.length,a,b;for(a=0;a<d;++a){b=c[a];if(b.getProperty()===e){return b}}return null},_sortModes:{append:{append:1},multi:{multi:1},prepend:{prepend:1},replace:{replace:1}},decodeSorter:function(e,j){var b=this,c=b.getOptions(),d=c.getRootProperty(),h=b.getSorterOptionsFn(),a,g,i;if(e.isSorter){if(!e.getRoot()){e.setRoot(d)}}else{g={direction:c.getDefaultSortDirection(),root:d};i=typeof e;if(i==="string"){a=b.get(e);if(a){return a}g.property=e}else{if(i==="function"){g.sorterFn=e}else{if(!Ext.isObject(e)){Ext.Error.raise("Invalid sorter specified: "+e)}g=Ext.apply(g,e);if(g.fn){g.sorterFn=g.fn;delete g.fn}}}e=Ext.create(j||"Ext.util.Sorter",g)}if(h){h.call(b.getSorterOptionsScope()||b,e)}return e},setSorterConfigure:function(a,b){this.setSorterOptionsFn(a);this.setSorterOptionsScope(b)},decodeRemoveItems:function(a,d){var h=this,l=(d===undefined)?a:a[d];if(!l||!l.$cloned){if(a.length>d+1||!Ext.isIterable(l)){l=Ext.Array.slice(a,d)}var b=h.items,g=l.length,k=[],c,e,j,m,o;for(c=0;c<g;c++){m=l[c];if(m&&m.isSorter){k.push(m)}else{o=typeof m;if(o==="string"){m=h.get(m);if(m){k.push(m)}}else{if(o==="function"){for(j=b.length;j-->0;){e=b[j];if(e.getSorterFn()===m){k.push(e)}}}else{Ext.Error.raise("Invalid sorter specification: "+m)}}}}l=k;l.$cloned=true}return l},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(a){var d=this.getOptions(),c=d.getRootProperty(),b;if(a.isFilter){if(!a.getRoot()){a.setRoot(c)}}else{b={root:c};if(Ext.isFunction(a)){b.filterFn=a}else{if(!Ext.isObject(a)){Ext.Error.raise("Invalid filter specified: "+a)}b=Ext.apply(b,a);if(b.fn){b.filterFn=b.fn;delete b.fn}if(Ext.util.Filter.isInvalid(b)){return false}}a=new Ext.util.Filter(b)}return a},decodeRemoveItems:function(a,e){var o=this,r=(e===undefined)?a:a[e];if(!r.$cloned){if(a.length>e+1||!Ext.isIterable(r)){r=Ext.Array.slice(a,e)}var b=o.items,l=r.length,q=[],c,d,g,h,j,k,m,p,s;for(d=0;d<l;d++){c=r[d];if(c&&c.isFilter){q.push(c)}else{s=typeof c;g=s==="function";h=c.property!==undefined&&c.value!==undefined;j=s==="string";if(!g&&!h&&!j){Ext.Error.raise("Invalid filter specification: "+c)}for(p=b.length;p-->0;){k=b[p];m=false;if(j){m=k.getProperty()===c}else{if(g){m=k.getFilterFn()===c}else{if(h){m=k.getProperty()===c.property&&k.getValue()===c.value}}}if(m){q.push(k)}}}}r=q;r.$cloned=true}return r},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(m,b){var j=this,a=j.changeDetails,c,d,e,g,k,l,h;if(a){h=a.item;e=j.findGroupForItem(h);c=[];if(e){c.push({group:e,items:[h]})}}else{c=j.groupItems(m,b.items,false)}for(g=0,k=c.length;g<k;++g){e=(d=c[g]).group;if(e){e.remove(d.items);if(!e.length){(l||(l=[])).push(e)}}}if(l){j.remove(l)}},onCollectionSort:function(h){var e=this,g=h.getSorters(false),c,d,b,a;if(g){c=e.items;d=e.length;for(b=0;b<d;++b){a=c[b];if(a.getSorters()!==g){a.setSorters(g)}}}},onCollectionUpdateKey:function(d,a){var b=a.index,c=a.item;if(!a.indexChanged){b=d.indexOf(c);this.syncItemGrouping(d,c,a.newKey,a.oldKey,b)}},addItemsToGroups:function(b,a){this.groupItems(b,a,true)},groupItems:function(r,n,a){var p=this,b={},c=[],g=r.getGrouper(),j=p.itemGroupKeys,d,e,h,k,l,m,o,q;for(k=0,o=n.length;k<o;++k){h=g.getGroupString(l=n[k]);m=r.getKey(l);if(a){(j||(p.itemGroupKeys=j={}))[m]=h}else{if(j){delete j[m]}}if(!(d=b[h])){if(!(e=p.getByKey(h))&&a){(q||(q=[])).push(e=p.createGroup(r,h))}c.push(b[h]=d={group:e,items:[]})}d.items.push(l)}for(k=0,o=c.length;k<o;++k){d=c[k];d.group.add(d.items)}if(q){p.add(q)}return c},syncItemGrouping:function(r,i,l,p,k){var m=this,j=m.itemGroupKeys||(m.itemGroupKeys={}),e=r.getGrouper(),g=e.getGroupString(i),q=0,h=-1,b=l,a,d,n,o,c;if(p||p===0){o=j[p];delete j[p];b=p}else{o=j[l]}j[l]=g;if(!(d=m.get(g))){d=m.createGroup(r,g);a=[d]}if(d.get(b)!==i){if(d.getCount()>0&&r.getSorters().getCount()===0){c=r.indexOf(d.items[0]);if(k<c){h=0}else{h=k-c}}if(h===-1){d.add(i)}else{d.insert(h,i)}}else{d.itemChanged(i,null,p)}if(g!==o&&(o===0||o)){n=m.get(o);if(n){n.remove(i);if(!n.length){q=[n]}}}if(a){m.splice(0,q,a)}else{if(q){m.splice(0,q)}}},createGroup:function(c,b){var a=new Ext.util.Group({groupKey:b,rootProperty:this.getItemRoot(),sorters:c.getSorters()});return a},getKey:function(a){return a.getGroupKey()},createSortFn:function(){var b=this,a=b.getGrouper(),c=b.getSorters().getSortFn();if(!a){return c}return function(d,e){return a.sort(d.items[0],e.items[0])||c(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(c){var d=this.items,e=d.length,b,a;for(b=0;b<e;++b){a=d[b];if(a.contains(c)){return a}}}}});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 c=this,b;if(a){if(a.buffered){if(this.self!==Ext.data.Store){Ext.Error.raise("buffered config not supported on derived Store classes. Please derive from Ext.data.BufferedStore.")}return new Ext.data.BufferedStore(a)}if(a.remoteGroup){Ext.log.warn("Ext.data.Store: remoteGroup has been removed. Use remoteSort instead.")}}c.callParent([a]);c.getData().addObserver(c);b=c.inlineData;if(b){delete c.inlineData;c.loadInlineData(b)}},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},applyData:function(a,b){var c=this;c.getFields();c.getModel();if(a&&a.isCollection){b=a}else{if(!b){b=c.constructDataCollection()}if(a){if(c.isInitializing){c.inlineData=a}else{c.loadData(a)}}}return b},loadInlineData:function(b){var c=this,d=c.getProxy(),a;if(d&&d.isMemoryProxy){d.setData(b);a=c.blockLoadCounter;c.blockLoadCounter=0;c.suspendEvents();c.read();c.resumeEvents();c.blockLoadCounter=a}else{c.removeAll(true);c.suspendEvents();c.loadData(b);c.resumeEvents()}},onCollectionAdd:function(a,b){this.onCollectionAddItems(a,b.items,b)},onCollectionFilterAdd:function(a,b){this.onCollectionAddItems(a,b)},onCollectionAddItems:function(a,k,d){var h=this,g=k.length,e=d?!d.next:false,l=h.removed,c=h.ignoreCollectionAdd,o=h.getSession(),m=d&&d.replaced,b,p,j,n;for(b=0;b<g;++b){j=k[b];if(o){o.adopt(j)}if(!c){j.join(h);if(l&&l.length){Ext.Array.remove(l,j)}p=p||j.phantom||j.dirty}}if(c){return}if(m){n=[];do{Ext.Array.push(n,m.items);m=m.next}while(m);h.setMoving(n,true)}if(d){h.fireEvent("add",h,k,d.at);if(e){h.fireEvent("datachanged",h)}}if(n){h.setMoving(n,false)}h.needsSync=h.needsSync||p},onCollectionFilteredItemChange:function(){this.onCollectionItemChange.apply(this,arguments)},onCollectionItemChange:function(a,b){var c=this,e=b.item,d=b.modified||null,g=b.meta;if(c.fireChangeEvent(e)){c.onUpdate(e,g,d,b);c.fireEvent("update",c,e,g,d,b)}},fireChangeEvent:function(a){return this.getDataSource().contains(a)},afterChange:function(b,a,c){this.getData().itemChanged(b,a||null,undefined,c)},afterCommit:function(b,a){this.afterChange(b,a,Ext.data.Model.COMMIT)},afterEdit:function(b,a){this.needsSync=this.needsSync||b.dirty;this.afterChange(b,a,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(d){var c=this,e=c.getRemoteSort(),a=c.getData(),b;if(e){a.setSorters(c.getSorters())}b=a.findInsertionIndex(d);if(e){a.setSorters(null)}return c.insert(b,d)},remove:function(h,c,j){var e=this,a=e.getDataSource(),d,b,k,g;if(h){if(h.isModel){if(a.indexOf(h)>-1){k=[h];d=1}else{d=0}}else{k=[];for(b=0,d=h.length;b<d;++b){g=h[b];if(g&&g.isEntity){if(!a.contains(g)){continue}}else{if(!(g=a.getAt(g))){continue}}k.push(g)}d=k.length}}if(!d){return[]}e.removeIsMove=c===true;e.removeIsSilent=j;a.remove(k);e.removeIsSilent=false;return k},onCollectionRemove:function(a,e){var k=this,n=k.removed,m=e.items,j=m.length,d=e.at,g=k.removeIsMove,p=k.removeIsSilent,h=!e.next,o=e.replacement,b=k.getDataSource(),c,l;if(k.ignoreCollectionRemove){return}if(o){k.setMoving(o.items,true)}for(c=0;c<j;++c){l=m[c];if(!b.contains(l)){if(n&&!g&&!l.phantom&&!l.erasing){l.removedFrom=d+c;n.push(l);k.needsSync=true}else{l.unjoin(k)}}}if(!p){k.fireEvent("remove",k,m,d,g);if(h){k.fireEvent("datachanged",k)}}if(o){k.setMoving(o.items,false)}},onFilterEndUpdate:function(){this.callParent(arguments);this.callObservers("Filter")},removeAt:function(c,a){var b=this.getData();c=Math.max(c,0);if(c<b.length){if(arguments.length===1){a=1}else{if(!a){return}}b.removeAt(c,a)}},removeAll:function(e){var c=this,a=c.getData(),b=c.hasListeners.clear,d=a.getRange();if(a.length){c.removeIsSilent=true;c.callObservers("BeforeRemoveAll");a.removeAll();c.removeIsSilent=false;if(!e){c.fireEvent("clear",c,d);c.fireEvent("datachanged",c)}c.callObservers("AfterRemoveAll",[!!e])}return d},setRecords:function(b){var a=this.getCount();++this.loadCount;if(a){this.getData().splice(0,a,b)}else{this.add(b)}},splice:function(a,c,b){return this.getData().splice(a,c,b)},load:function(b){var a=this,c=a.getPageSize(),d;if(typeof b==="function"){b={callback:b}}else{b=Ext.apply({},b)}if(a.getRemoteSort()&&!b.grouper&&a.getGrouper()){b.grouper=a.getGrouper()}if(c||"start" in b||"limit" in b||"page" in b){b.page=b.page!=null?b.page:a.currentPage;b.start=(b.start!==undefined)?b.start:(b.page-1)*c;b.limit=b.limit!=null?b.limit:c;a.currentPage=b.page}b.addRecords=b.addRecords||false;if(!b.recordCreator){d=a.getSession();if(d){b.recordCreator=d.recordCreator}}return a.callParent([b])},onProxyLoad:function(b){var a=this,d=b.getResultSet(),c=b.getRecords(),e=b.wasSuccessful();if(a.isDestroyed){return}if(d){a.totalCount=d.getTotal()}if(e){c=a.processAssociation(c);a.loadRecords(c,b.getAddRecords()?{addRecords:true}:undefined)}else{a.loading=false}if(a.hasListeners.load){a.fireEvent("load",a,c,e,b)}a.callObservers("AfterLoad",[c,e,b])},filterDataSource:function(a){var g=this.getDataSource(),c=g.items,d=c.length,e=[],b;for(b=0;b<d;b++){if(a.call(g,c[b])){e.push(c[b])}}return e},getNewRecords:function(){return this.filterDataSource(this.filterNew)},getRejectRecords:function(){return this.filterDataSource(this.filterRejects)},getUpdatedRecords:function(){return this.filterDataSource(this.filterUpdated)},loadData:function(b,a){var e=this,d=b.length,g=[],c;for(c=0;c<d;c++){g.push(e.createModel(b[c]))}g=e.processAssociation(g);e.loadRecords(g,a?e.addRecordsOptions:undefined)},loadRawData:function(b,a){var c=this,g=c.getSession(),e=c.getProxy().getReader().read(b,g?{recordCreator:g.recordCreator}:undefined),d=e.getRecords(),h=e.getSuccess();if(h){c.totalCount=e.getTotal();c.loadRecords(d,a?c.addRecordsOptions:undefined)}return h},loadRecords:function(h,g){var e=this,d=h.length,b=e.getData(),a,c,j;if(g){a=g.addRecords}if(!e.getRemoteSort()&&!e.getSortOnLoad()){j=true;b.setAutoSort(false)}if(!a){e.clearData(true)}e.loading=false;e.ignoreCollectionAdd=true;e.callObservers("BeforePopulate");b.add(h);e.ignoreCollectionAdd=false;if(j){b.setAutoSort(true)}for(c=0;c<d;c++){h[c].join(e)}++e.loadCount;e.complete=true;e.fireEvent("datachanged",e);e.fireEvent("refresh",e);e.callObservers("AfterPopulate")},loadPage:function(c,b){var a=this,d=a.getPageSize();a.currentPage=c;b=Ext.apply({page:c,start:(c-1)*d,limit:d,addRecords:!a.getClearOnPageLoad()},b);a.read(b)},nextPage:function(a){this.loadPage(this.currentPage+1,a)},previousPage:function(a){this.loadPage(this.currentPage-1,a)},clearData:function(d){var g=this,l=g.removed,b=g.getDataSource(),a=g.getClearRemovedOnLoad(),h=l&&d&&!a,k,j,c,e;if(b){k=b.items;for(c=0,e=k.length;c<e;++c){j=k[c];if(h&&Ext.Array.contains(l,j)){continue}j.unjoin(g)}g.ignoreCollectionRemove=true;g.callObservers("BeforeClear");b.removeAll();g.ignoreCollectionRemove=false;g.callObservers("AfterClear")}if(l&&(!d||a)){l.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(),b=d.length,a=0;Ext.suspendLayouts();c.beginUpdate();for(;a<b;a++){d[a].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 e=this,h=e.getRejectRecords(),d=h.length,c,g,k,j,b,a;Ext.suspendLayouts();e.beginUpdate();for(c=0;c<d;c++){g=h[c];if(g.phantom){k=k||[];k.push(g)}else{g.reject()}}if(k){e.remove(k);for(c=0,d=k.length;c<d;++c){k[c].reject()}}h=e.getRawRemovedRecords();if(h){d=h.length;j=!e.getRemoteSort()&&e.isSorted();if(j){b=e.getData();a=b.getAutoSort();b.setAutoSort(false)}for(c=d-1;c>=0;c--){g=h[c];g.reject();if(!j){e.insert(g.removedFrom||0,g)}}if(j){b.setAutoSort(a);e.add(h)}h.length=0}e.endUpdate();Ext.resumeLayouts(true)},onDestroy:function(){var b=this,d=b.loadTask,a=b.getData(),c=a.getSource();b.callParent();b.setSession(null);b.observers=null;if(d){d.cancel();b.loadTask=null}b.clearData();a.destroy();if(c){c.destroy()}b.setData(null)},privates:{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(c,b){var a=this.getData();if(c){a.setSorters(b?null:c)}a.setAutoGroup(!b);this.callParent([c,b])},isMoving:function(g,a){var d=this.moveMap,e=0,c,b;if(d){if(g){if(Ext.isArray(g)){for(b=0,c=g.length;b<c;++b){e+=d[g[b].id]?1:0}}else{if(d[g.id]){++e}}}else{e=a?d:this.moveMapCount}}return e},setMoving:function(h,c){var g=this,e=g.moveMap||(g.moveMap={}),d=h.length,a,b;for(a=0;a<d;++a){b=h[a].id;if(c){if(e[b]){++e[b]}else{e[b]=1;++g.moveMapCount}}else{if(--e[b]===0){delete e[b];--g.moveMapCount}}}if(g.moveMapCount===0){g.moveMap=null}},processAssociation:function(c){var b=this,a=b.getAssociatedEntity();if(a){c=b.getRole().processLoad(b,a,c,b.getSession())}return c}}});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(a){var c=a.mapping,b=a.hasMapping()?c:a.ordinal,d;a.mapping=b;d=this.callParent(arguments);a.mapping=c;return d},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(b,a){if(this.expandData){var e=[],c=0,d=b.length;for(;c<d;c++){e[e.length]=[b[c]]}b=e}this.callParent([b,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(g){if(Ext.isArray(g)){var c=["field1"],b=!Ext.isArray(g[0]),a=g,d,e;if(b){a=[];for(d=0,e=g.length;d<e;++d){a.push([g[d]])}}else{for(d=2,e=g[0].length;d<=e;++d){c.push("field"+d)}}return new Ext.data.ArrayStore({data:a,fields:c,autoDestroy:true,autoCreated:true,expanded:b})}if(Ext.isString(g)){return this.get(g)}else{return Ext.Factory.store(g)}},getKey:function(a){return a.storeId}},function(){Ext.regStore=function(c,b){var d;if(Ext.isObject(c)){b=c}else{if(Ext.data.StoreManager.containsKey(c)){return Ext.data.StoreManager.lookup(c)}b.storeId=c}if(b instanceof Ext.data.Store){d=b}else{d=new Ext.data.Store(b)}Ext.data.StoreManager.register(d);return d};Ext.getStore=function(b){return Ext.data.StoreManager.lookup(b)};var a=Ext.regStore("ext-empty-store",{proxy:"memory",useModelWarning:false});a.isEmptyStore=true;a.add=a.remove=a.insert=a.loadData=function(){Ext.Error.raise("Cannot modify ext-empty-store")}});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,c){var b=false,a=d.alias;if(c==="*"){b=true}else{if(this.idMatchRe.test(c)){b=d.getStoreId()===c.substring(1)}else{if(a){b=Ext.Array.indexOf(a,this.prefix+c)>-1}}}return b}});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(b,a){this.queue.add({route:b,args:a})},clearQueue:function(){this.queue.removeAll()},runQueue:function(){var b=this.queue,a=b.removeAt(0),c;if(a){c=a&&a.route;c.execute(this.token,a.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(a){var b=this,c;Ext.apply(b,a,{conditions:{}});c=b.url;b.paramMatchingRegex=new RegExp(/:([0-9A-Za-z\_]*)/g);b.paramsInMatchString=c.match(b.paramMatchingRegex)||[];b.matcherRegex=b.createMatcherRegex(c)},recognize:function(e){var d=this,b=d.controller,c,a;if((d.allowInactive||b.isActive())&&d.recognizes(e)){c=d.matchesFor(e);a=e.match(d.matcherRegex);a.shift();return Ext.applyIf(c,{controller:b,action:d.action,historyUrl:e,args:a})}return false},recognizes:function(a){return this.matcherRegex.test(a)},execute:function(i,a,e,h){var b=a.args||[],c=this.before,g=this.controller,d=this.createCallback(a,e,h);if(c){b.push(d);if(Ext.isString(c)){c=this.before=g[c]}if(c){c.apply(g,b)}else{Ext.log.warn("The before action: "+this.before+" was not found on the controller. The action method will not be executed.")}}else{d.resume()}},matchesFor:function(e){var d={},b=this.paramsInMatchString,g=e.match(this.matcherRegex),a=0,c=b.length;g.shift();for(;a<c;a++){d[b[a].replace(":","")]=g[a]}return d},createMatcherRegex:function(l){var k=this.paramsInMatchString,b=this.conditions,d=0,e=k.length,c=Ext.util.Format.format,h=this.caseInsensitive?"i":"",j,a,g;for(;d<e;d++){j=k[d];a=b[j];g=c("{0}",a||"([%a-zA-Z0-9\\-\\_\\s,]+)");l=l.replace(new RegExp(j),g)}return new RegExp("^"+l+"$",h)},createCallback:function(a,b,d){var c=this;d=d||c;return{resume:function(){var g=c.controller,e=c.action,h;if(Ext.isString(e)){e=g[e]}a=a&&a.args?a.args:[];h=a.pop();if(h&&!Ext.isObject(h)){a.push(h)}if(e){c.action=e;e.apply(g,a)}else{Ext.log.warn("The action: "+c.action+" was not found on the controller.")}if(b){b.call(d)}},stop:function(e){if(b){b.call(d,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 a=this,b=a.getHash();if(b!==a.hash){a.hash=b;a.handleStateChange(b)}},init:function(b,c){var a=this;if(a.ready){Ext.callback(b,c,[a]);return}if(!Ext.isReady){Ext.onInternalReady(function(){a.init(b,c)});return}a.win=a.useTopWindow?window.top:window;a.hash=a.getHash();if(b){a.on("ready",b,c,{single:true})}a.startUp()},add:function(d,b){var a=this,c=false;if(b===false||a.getToken()!==d){a.setHash(d);c=true}return c},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(o){var h=this,a=h.application,m=h.routes,d=m.length,k=h.queueRoutes,p=o.split(h.multipleToken),n=0,e=p.length,c,j,l,b,g;for(;n<e;n++){o=p[n];g=false;if(k){j=new Ext.app.route.Queue({token:o})}for(c=0;c<d;c++){l=m[c];b=l.recognize(o);if(b){g=true;if(k){j.queueAction(l,b)}else{l.execute(o,b)}}}if(k){j.runQueue()}if(!g&&a){a.fireEvent("unmatchedroute",o)}}},connect:function(d,a,c){var b={url:d,action:a,controller:c};if(Ext.isObject(a)){Ext.merge(b,a)}this.routes.push(new Ext.app.route.Route(b))},disconnectAll:function(a){var g=this.routes,c=g.length,d=[],b,e;for(b=0;b<c;++b){e=g[b];if(e.controller!==a){d.push(e)}}this.routes=d},recognize:function(g){var e=this.routes||[],b=0,c=e.length,d,a;for(;b<c;b++){d=e[b];a=d.recognize(g);if(a){return{route:d,args:a}}}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\./,createGetter:function(a,b){return function(){return this[a](b)}},getGetterName:function(d,c){var a="get",g=d.split("."),e=g.length,b;for(b=0;b<e;b++){a+=Ext.String.capitalize(g[b])}a+=c;return a},resolveNamespace:function(b,e){var c=Ext.app.Controller,d=c.controllerRegex,a,h,g;a=Ext.getClassName(b);h=e.$namespace||e.namespace||Ext.app.getNamespace(a)||((g=d.exec(a))&&g[1]);if(!h){Ext.log.warn("Missing namespace for "+a+", please define it in namespaces property of your Application class.")}return h},processDependencies:function(b,n,l,g,k){if(!k||!k.length){return}var h=this,q=h.strings[g],m,a,p,i,e,r,d,c;if(!Ext.isArray(k)){k=[k]}for(e=0,r=k.length;e<r;e++){i=k[e];m=h.getFullName(i,g,l);a=m.absoluteName;p=m.shortName;n.push(a);d=h.getGetterName(p,q.upper);b[d]=c=h.createGetter(q.getter,i);if(g!=="controller"){c["Ext.app.getter"]=true}}},getFullName:function(c,b,d){var g=c,e,a;if((e=c.indexOf("@"))>0){g=c.substring(0,e);a=c.substring(e+1)+"."+g}else{if(c.indexOf(".")>0&&(Ext.ClassManager.isCreated(c)||this.hasRegisteredPrefix(c))){a=c}else{if(!d){Ext.log.warn("Cannot find namespace for "+b+" "+c+", assuming it is fully qualified class name")}if(d){a=d+"."+b+"."+c;g=c}else{a=c}}}return{absoluteName:a,shortName:g}},hasRegisteredPrefix:function(a){var b=Ext.ClassManager,c=b.getPrefix(a);return c&&c!==a}},models:null,views:null,stores:null,controllers:null,config:{application:null,refs:null,active:true,moduleClassName:null},onClassExtended:function(a,b,c){var d=c.onBeforeCreated;c.onBeforeCreated=function(e,h){var g=Ext.app.Controller,k=[],i,j;j=e.prototype;i=g.resolveNamespace(e,h);if(i){j.$namespace=i}g.processDependencies(j,k,i,"model",h.models);g.processDependencies(j,k,i,"view",h.views);g.processDependencies(j,k,i,"store",h.stores);g.processDependencies(j,k,i,"controller",h.controllers);Ext.require(k,Ext.Function.pass(d,arguments,this))}},constructor:function(a){this.initAutoGetters();this.callParent(arguments)},normalizeRefs:function(c){var a=this,b=[];if(c){if(Ext.isObject(c)){Ext.Object.each(c,function(d,e){if(Ext.isString(e)){e={selector:e}}e.ref=d;b.push(e)})}else{if(Ext.isArray(c)){b=Ext.Array.merge(b,c)}}}c=a.refs;if(c){a.refs=null;c=a.normalizeRefs(c);if(c){b=Ext.Array.merge(b,c)}}return b},getRefMap:function(){var c=this,e=c._refMap,g,d,b,a;if(!e){g=c.getRefs();e=c._refMap={};if(g){for(a=0,b=g.length;a<b;a++){d=g[a];e[d.ref]=d.selector}}}return e},applyRefs:function(a){return this.normalizeRefs(Ext.clone(a))},updateRefs:function(a){if(a){this.ref(a)}},initAutoGetters:function(){var c=this.self.prototype,b,a;for(b in c){a=c[b];if(a&&a["Ext.app.getter"]){a.call(this)}}},doInit:function(a){var b=this;if(!b._initialized){b.init(a);b._initialized=true}},finishInit:function(a){var g=this,c=g.controllers,b,d,e;if(g._initialized&&c&&c.length){for(d=0,e=c.length;d<e;d++){b=g.getController(c[d]);b.finishInit(a)}}},init:Ext.emptyFn,onLaunch:Ext.emptyFn,activate:function(){this.setActive(true)},deactivate:function(){this.setActive(false)},isActive:function(){return this.getActive()},ref:function(h){var e=this,b=0,d=h.length,c,g,a;h=Ext.Array.from(h);e.references=e.references||[];for(;b<d;b++){c=h[b];g=c.ref;a="get"+Ext.String.capitalize(g);if(!e[a]){e[a]=Ext.Function.pass(e.getRef,[g,c],e)}e.references.push(g.toLowerCase())}},addRef:function(a){this.ref(a)},getRef:function(e,c,b){var d=this,g=d.refCache||(d.refCache={}),a=g[e];c=c||{};b=b||{};Ext.apply(c,b);if(c.forceCreate){return Ext.ComponentManager.create(c,"component")}if(!a){if(c.selector){g[e]=a=Ext.ComponentQuery.query(c.selector)[0]}if(!a&&c.autoCreate){g[e]=a=Ext.ComponentManager.create(c,"component")}if(a){a.on("beforedestroy",function(){g[e]=null})}}return a},hasRef:function(a){var b=this.references;return b&&Ext.Array.indexOf(b,a.toLowerCase())!==-1},getController:function(b){var a=this.getApplication();if(b===this.getId()){return this}return a&&a.getController(b)},getStore:function(a){var c,b;c=(a.indexOf("@")===-1)?a:a.split("@")[0];b=Ext.StoreManager.get(c);if(!b){a=Ext.app.Controller.getFullName(a,"store",this.$namespace);if(a){b=Ext.create(a.absoluteName,{storeId:c})}}return b},getModel:function(a){var b=Ext.app.Controller.getFullName(a,"model",this.$namespace),c=Ext.ClassManager.get(b.absoluteName);if(!c){c=Ext.data.schema.Schema.lookupEntity(a)}return c},getProfile:function(a){a=Ext.app.Controller.getFullName(a,"profile",this.$namespace);return a},getView:function(b){var a=Ext.app.Controller.getFullName(b,"view",this.$namespace);return a&&Ext.ClassManager.get(a.absoluteName)},ensureId:function(){var a=this.getId();if(!a){this.setId(this.getModuleClassName(this.$className,"controller"))}},destroy:function(b,c){var d=this,a=d.application,g,e;if(!c&&a){a.unregister(d)}d.application=null;if(b){g=d.refCache;for(e in g){if(g.hasOwnProperty(e)){Ext.destroy(g[e])}}}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(a,c,d){var b=Ext.app.Controller,j=a.prototype,k=[],h,i,e,g;e=c.name||a.superclass.name;if(e){c.$namespace=e;Ext.app.addNamespaces(e)}if(c.namespaces){Ext.app.addNamespaces(c.namespaces)}if(c["paths processed"]){delete c["paths processed"]}else{Ext.app.setupPaths(e,("appFolder" in c)?c.appFolder:a.superclass.appFolder,c.paths)}b.processDependencies(j,k,e,"profile",c.profiles);j.getDependencies(a,c,k);if(k.length){h=d.onBeforeCreated;d.onBeforeCreated=function(m,n){var l=Ext.Array.clone(arguments);Ext.require(k,function(){return h.apply(this,l)})}}},getDependencies:Ext.emptyFn,constructor:function(a){var b=this;Ext.app.route.Router.application=b;b.callParent(arguments);if(Ext.isEmpty(b.getName())){Ext.Error.raise("[Ext.app.Application] Name property is required")}b.doInit(b);b.initNamespace();Ext.Loader.setConfig({enabled:true});var c=this.getProfiles();if(c&&c.length){Ext.require(c,this.onProfilesLoaded,this)}else{this.onProfilesReady()}},onProfilesReady:function(){var a=this;a.initControllers();a.onBeforeLaunch();a.finishInitControllers()},initNamespace:function(){var b=this,a=b.getAppProperty(),c;c=Ext.namespace(b.getName());if(c){c.getApplication=function(){return b};if(a){if(!c[a]){c[a]=b}else{if(c[a]!==b){Ext.log.warn("An existing reference is being overwritten for "+name+"."+a+". See the appProperty config.")}}}}},initControllers:function(){var d=this,a=Ext.Array.from(d.controllers);d.controllers=new Ext.util.MixedCollection();for(var b=0,c=a.length;b<c;b++){d.getController(a[b])}},finishInitControllers:function(){var d=this,a,b,c;a=d.controllers.getRange();for(b=0,c=a.length;b<c;b++){a[b].finishInit(d)}},launch:Ext.emptyFn,onBeforeLaunch:function(){var j=this,i=Ext.util.History,h=j.getDefaultToken(),g=j.getCurrentProfile(),e,a,b,d,k;j.initMainView();if(g){g.launch()}j.launch.call(j.scope||j);j.launched=true;j.fireEvent("launch",j);e=j.controllers.items;b=e.length;for(a=0;a<b;a++){d=e[a];d.onLaunch(j)}if(!i.ready){i.init()}k=i.getToken();if(k){Ext.app.route.Router.onStateChange(k)}else{if(h){i.add(h)}}},getModuleClassName:function(b,a){return Ext.app.Controller.getFullName(b,a,this.getName()).absoluteName},initMainView:function(){var c=this,a=c.getCurrentProfile(),b;if(a){b=a.getMainView()}if(b){c.setMainView(b)}else{c.getMainView()}},applyMainView:function(a){var b;b=this.getView(a);return b.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(l,m){var k=this,g=k.controllers,d,e,j,h,b,a;e=g.get(l);if(!e){a=g.items;for(h=0,j=a.length;h<j;++h){b=a[h];d=b.getModuleClassName();if(d&&d===l){e=b;break}}}if(!e&&!m){d=k.getModuleClassName(l,"controller");e=Ext.create(d,{application:k,moduleClassName:l});g.add(e);if(k._initialized){e.doInit(k)}}return e},unregister:function(a){this.controllers.remove(a)},getApplication:function(){return this},destroy:function(c){var d=this,b=d.controllers,e=Ext.namespace(d.getName()),a=d.getAppProperty();Ext.destroy(d.viewport);if(b){b.each(function(g){g.destroy(c,true)})}d.controllers=null;d.callParent([c,true]);if(e&&e[a]===d){delete e[a]}},updateGlyphFontFamily:function(a){Ext.setGlyphFontFamily(a)},applyProfiles:function(b){var a=this;return Ext.Array.map(b,function(c){return a.getModuleClassName(c,"profile")})},onProfilesLoaded:function(){var g=this,m=g.getProfiles(),e=m.length,d=[],b,c,k,p,a,j,r,o,q,n,h,l;for(c=0;c<e;c++){d[c]=Ext.create(m[c],{application:g});if(d[c].isActive()&&!b){b=d[c];k=b.getDependencies();p=k.all;g.setCurrentProfile(b);j=k.controller;if(j.length){a=g.controllers=(g.controllers||[]);a.push.apply(a,j)}o=k.view;if(o.length){r=g.views=(g.views||[]);r.push.apply(r,o)}n=k.store;if(n.length){q=g.stores=(g.stores||[]);q.push.apply(q,n)}l=k.model;if(l.length){h=g.models=(g.models||[]);h.push.apply(h,l)}}}if(p){Ext.require(p,g.onProfilesReady,g)}else{g.onProfilesReady()}}});Ext.application=function(a){var b=function(e){Ext.onReady(function(){Ext.app.Application.instance=new e()})},d=a.paths,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.app||(Ext.app={})).setupPaths=function(b,a,e){var c=Ext.manifest,d;if(b&&a!==null){c=c&&c.paths;if(!c||a!==undefined){Ext.Loader.setPath(b,(a===undefined)?"app":a)}}if(e){for(d in e){if(e.hasOwnProperty(d)){Ext.Loader.setPath(d,e[d])}}}};Ext.define("Ext.overrides.app.Application",{override:"Ext.app.Application",autoCreateViewport:false,config:{enableQuickTips:true},applyMainView:function(d){var e=this.getView(d),c=e.prototype,a,b;if(!c.isViewport){b=c.plugins;b=["viewport"].concat(b?Ext.Array.from(b,true):[]);a={plugins:b}}return e.create(a)},getDependencies:function(a,c,g){var b=Ext.app.Controller,e=a.prototype,d=c.$namespace,h=c.autoCreateViewport;if(h){if(!d){Ext.Error.raise("[Ext.app.Application] Can't resolve namespace for "+c.$className+", did you forget to specify 'name' property?")}if(h===true){h="Viewport"}else{g.push("Ext.plugin.Viewport")}b.processDependencies(e,g,d,"view",h)}},onBeforeLaunch:function(){var b=this,a=b.autoCreateViewport;if(b.getEnableQuickTips()){b.initQuickTips()}if(a){b.initViewport()}this.callParent(arguments)},getViewportName:function(){var b=null,a=this.autoCreateViewport;if(a){b=(a===true)?"Viewport":a}return b},initViewport:function(){this.setMainView(this.getViewportName())},initQuickTips:function(){Ext.tip.QuickTipManager.init()}});Ext.define("Ext.app.Profile",{mixins:{observable:Ext.mixin.Observable},config:{namespace:"auto",name:"auto",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},launch:Ext.emptyFn,applyNamespace:function(a){if(a=="auto"){a=this.getName()}return a.toLowerCase()},applyName:function(a){if(a=="auto"){var b=this.$className.split(".");a=b[b.length-1]}return a},onClassExtended:function(a,b,c){var d=c.onBeforeCreated;c.onBeforeCreated=function(e,h){var g=Ext.app.Controller,k=[],j=e.prototype,i;i=g.resolveNamespace(e,h);g.processDependencies(j,k,i,"model",h.models);g.processDependencies(j,k,i,"view",h.views);g.processDependencies(j,k,i,"store",h.stores);g.processDependencies(j,k,i,"controller",h.controllers);Ext.require(k,Ext.Function.pass(d,arguments,this))}},getDependencies:function(){var a=[],b=this.getApplication().getName(),g=this.getNamespace(),e={model:this.getModels(),view:this.getViews(),controller:this.getControllers(),store:this.getStores()},d,c;for(d in e){c=[];Ext.each(e[d],function(h){if(Ext.isString(h)){if(Ext.isString(h)&&(Ext.ClassManager.getPrefix(h)===""||h===b)){h=b+"."+d+"."+g+"."+h}c.push(h);a.push(h)}},this);e[d]=c}e.all=a;return e}});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,c,a){var b=false;if(c==="#"){b=a===d.getController()}else{b=d.is(c)}return b},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"},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 b=this,a=b.compDomain;if(a){a.unlisten(b);a.destroy()}b.compDomain=b.view=null;b.callParent()},closeView:function(){var b=this.getView(),a;if(b){a=this.getCloseViewAction();b[a]()}},control:function(c,a){var b=c;if(Ext.isString(c)){b={};b[c]=a}this.compDomain.listen(b,this)},listen:function(c,b){var a=c.component;if(a){c=Ext.apply({},c);delete c.component;this.control(a)}this.callParent([c,b])},getReferences:function(){return this.view.getReferences()},getView:function(){return this.view},lookupReference:function(a){var b=this.view;return b&&b.lookupReference(a)},getSession:function(){var a=this.view;return a&&a.lookupSession()},getViewModel:function(){var a=this.view;return a&&a.lookupViewModel()},getStore:function(a){var b=this.getViewModel();return b?b.getStore(a):null},fireViewEvent:function(a){var c=this.view,b=false;if(c){b=c.fireEvent.apply(c,arguments)}return b},privates:{view:null,ensureId:function(){var a=this.getId();if(!a){this.setId(Ext.id(null,"controller-"))}},attachReference:function(a){var b=this.view;if(b){b.attachReference(a)}},clearReference:function(a){var b=this.view;if(b){b.clearReference(a)}},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(c){var g=this,a=g.getKey(c),e=g.map,d=g.items,b=e[a],h;if(b===undefined){d.push(c);e[a]=g.length++;h=c}else{h=d[b];d[b]=c}++g.generation;return h},clear:function(){var a=this,b=a.generation||a.length,c=b?a.items:[];if(b){a.items=[];a.length=0;a.map={};++a.generation}return c},clone:function(){var b=this,c=new b.self(),a=b.length;if(a){Ext.apply(c.map,b.map);c.items=b.items.slice();c.length=b.length}return c},contains:function(a){var d=false,c=this.map,b;if(a!=null){b=this.getKey(a);if(b in c){d=this.items[c[b]]===a}}return d},containsKey:function(a){return a in this.map},destroy:function(){this.items=this.map=null;this.callParent()},getAt:function(a){var b=null;if(a<this.length){b=this.items[a]}return b},getByKey:function(a){var b=this.map,c=null;if(a in b){c=this.items[b[a]]}return c},getCount:function(){return this.length},getKey:function(a){return a.id||a.getId()},remove:function(c){var h=this,g=h.map,d=h.items,i=null,b,a,e;if(h.length){b=g[a=h.getKey(c)];if(b!==undefined){delete g[a];i=d[b];e=d.pop();if(b<--h.length){d[b]=e;g[h.getKey(e)]=b}++h.generation}}return i},removeByKey:function(b){var a=this.getByKey(b);if(a){this.remove(a)}return a||null},sort:function(a){var d=this,c=d.items,e=c.length,b;if(e){Ext.Array.sort(c,a);d.map={};while(e-->0){b=c[e];d.map[d.getKey(b)]=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},constructor:function(a){if(Ext.util.Scheduler.instances){Ext.util.Scheduler.instances.push(this)}else{Ext.util.Scheduler.instances=[this]}this.id=Ext.util.Scheduler.count=(Ext.util.Scheduler.count||0)+1;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.destroyed=true;a.items.destroy();a.items=a.orderedItems=null;a.destroy=Ext.emptyFn;Ext.Array.remove(Ext.util.Scheduler.instances,this)},add:function(a){var c=this,b=c.items;if(b===c.firing){c.items=b=b.clone()}a.id=a.id||++c.nextId;a.scheduler=c;b.add(a);if(!c.sortMap){c.orderedItems=null}},remove:function(a){var c=this,b=c.items;if(c.destroyed){return}if(c.sortMap){Ext.Error.raise("Items cannot be removed during sort")}if(b===c.firing){c.items=b=b.clone()}if(a.scheduled){c.unscheduleItem(a);a.scheduled=false}b.remove(a);c.orderedItems=null},sort:function(){var d=this,c=d.items,g={},e=d.getPreSort(),a,b;d.orderedItems=[];d.sortMap=g;d.sortStack=[];if(e){c.sort(e)}c=c.items;for(a=0;a<c.length;++a){b=c[a];if(!g[b.id]){d.sortItem(b)}}d.sortMap=null;d.sortStack=null},sortItem:function(c){var e=this,h=e.sortMap,g=e.orderedItems,d;if(!c.scheduler){e.add(c)}d=c.id;if(c.scheduler!==e){Ext.Error.raise("Item "+d+" belongs to another Scheduler")}e.sortStack.push(c);if(h[d]===0){for(var a=[],b=0;b<e.sortStack.length;++b){a[b]=e.sortStack[b].getFullName()}Ext.Error.raise("Dependency cycle detected: "+a.join("\n --> "))}if(!(d in h)){h[d]=0;if(!c.sort.$nullFn){c.sort()}h[d]=1;c.order=e.orderedItems.length;g.push(c)}e.sortStack.pop();return e},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(","),b=[],e=g.length,a,d,j;for(d=0;d<e;++d){b[d]=1;j=g[d];if((a=j.charAt(0))==="-"){b[d]=-1}else{if(a!=="+"){a=0}}if(a){g[d]=j.substring(1)}}return function(k,n){var m=0,c,l,o,p;for(c=0;!m&&c<e;++c){l=g[c];o=k[l];p=n[l];m=b[c]*((o<p)?-1:((p<o)?1:0))}return m}},notify:function(){var j=this,l=j.timer,b=j.getCycleLimit(),d=Ext.GlobalEvents,a,e,g,h,k,c;if(l){window.clearTimeout(l);j.timer=null}if(j.firing){Ext.Error.raise("Notify cannot be called recursively")}while(j.scheduledCount){if(b){--b}else{j.firing=null;if(j.onCycleLimitExceeded){j.onCycleLimitExceeded()}break}if(!c){c=true;if(d.hasListeners.beforebindnotify){d.fireEvent("beforebindnotify",j)}}++j.passes;if(!(k=j.orderedItems)){j.sort();k=j.orderedItems}h=k.length;if(h){j.firing=j.items;for(e=0;e<h;++e){g=k[e];if(g.scheduled){g.scheduled=false;--j.scheduledCount;j.notifyIndex=e;g.react();if(!j.scheduledCount){break}}}}}j.firing=null;j.notifyIndex=-1;if((a=j.busyCounter)!==j.lastBusyCounter){if(!(j.lastBusyCounter=a)){j.fireEvent("idle",j)}}},onTick:function(){this.timer=null;this.notify()},scheduleItem:function(a){var b=this;++b.scheduledCount;if(!b.timer&&!b.firing){b.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 c=this,b=c.busyCounter+a;c.busyCounter=b;if(b){if(!c.lastBusyCounter){c.lastBusyCounter=b;c.fireEvent("busy",c)}}else{if(c.lastBusyCounter&&!c.timer){c.scheduleTick()}}},isBusy:function(){return !this.isIdle()},isIdle:function(){return !(this.busyCounter+this.lastBusyCounter)},debugHooks:{$enabled:false,onCycleLimitExceeded:function(){Ext.Error.raise("Exceeded cycleLimit "+this.getCycleLimit())},scheduleItem:function(a){if(!a){Ext.Error.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.Error.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(d){var c=this,a,b;if(Ext.isArray(d)){for(a=0,b=d.length;a<b;++a){c.add(d[a])}}else{c.total++;d.setBatch(c);c.operations.push(d)}return c},sort:function(){this.operations.sort(this.sortFn)},sortFn:function(c,d){var g=c.order-d.order;if(g){return g}var a=c.entityType,b=d.entityType,e;if(!a||!b){return 0}if(!(e=a.rank)){a.schema.rankEntities();e=a.rank}return(e-b.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 b=null,a=this.current;if(!(a===-1||this.complete)){b=this.operations[a]}return b},getTotal:function(){return this.total},isRunning:function(){return this.running},isComplete:function(){return this.complete},hasException:function(){return this.exception},runOperation:function(a){var b=this,d=b.operations,c=d[a];if(c===undefined){b.running=false;b.complete=true;b.fireEvent("complete",b,d[d.length-1])}else{b.current=a;c.setInternalCallback(b.onOperationComplete);c.setInternalScope(b);c.execute()}return b},onOperationComplete:function(c){var b=this,a=c.hasException();if(a){b.exception=true;b.exceptions.push(c);b.fireEvent("exception",b,c)}if(a&&b.getPauseOnException()){b.pause()}else{b.fireEvent("operationcomplete",b,c);b.runNextOperation()}}});Ext.define("Ext.data.matrix.Slice",{constructor:function(b,a){this.id=a;this.side=b;this.members={}},attach:function(b){var a=this;Ext.Assert.falsey(a.store,"Store is already attached");a.store=b;b.matrix=a;b.on("load",a.onStoreLoad,a,{single:true})},commit:function(){var b=this.members,a;for(a in b){b[a][2]=0}},onStoreLoad:function(a){this.update(a.getData().items,0)},update:function(r,t){if(!(r instanceof Array)){Ext.Error.raise("Only array of records or record ids are supported")}var k=this,j=Ext.data.matrix.Slice,s=k.side,b=s.index,h=r.length,e=k.id,l=k.members,n=s.inverse,p=n.slices,a,c,d,g,m,o,q;for(d=0;d<h;++d){c=q=null;g=r[d];m=g.isEntity?(q=g).id:g;a=l[m];if(t<0&&a&&a[2]===1){delete l[m];o=p[m];if(o){delete o.members[e]}c=1}else{if(!a){a=[m,m,t];a[b]=e;l[m]=a;o=p[m];if(!o){p[m]=o=new j(n,m)}o.members[e]=a;c=1}else{if(t!==a[2]&&t!==0){a[2]=t;o=p[m];c=1}}}if(c){if(k.notify){k.notify.call(k.scope,k,m,t)}if(o&&o.notify){o.notify.call(o.scope,o,e,t)}}}},updateId:function(e){var c=this,g=c.id,k=c.side,m=k.slices,l=m[g],d=l.members,b=k.index,j=k.inverse.slices,a,h,i;c.id=e;m[e]=l;delete m[g];for(h in d){a=d[h];a[b]=e;i=j[h].members;i[e]=i[g];delete i[g]}},destroy:function(){var a=this,b=a.store;if(b){b.matrix=null;b.un("load",a.onStoreLoad,a)}a.notify=a.scope=a.store=a.side=a.members=null;a.callParent()}});Ext.define("Ext.data.matrix.Side",{constructor:function(b,a,d){var c=this;c.matrix=b;c.index=a;c.role=d;c.slices={}},commit:function(){var b=this.slices,a;for(a in b){b[a].commit()}},get:function(a,b){var c=this,e=c.slices,d=e[a]||(e[a]=new Ext.data.matrix.Slice(c,a));return(b||b===0)?d.members[b]:d},update:function(a,b,d){var c=this.get(a);return c.update(b,d)},updateId:function(b,a){var c=this.get(b);if(c){c.updateId(a)}},destroy:function(){var b=this,c=b.slices,a;for(a in c){c[a].destroy()}b.inverse=b.matrix=b.role=b.slices=null;b.callParent()}});Ext.define("Ext.data.matrix.Matrix",{constructor:function(g,c){var d=this,a=c.isManyToMany?c:g.getSchema().getAssociation(c),h=Ext.data.matrix.Side,b=new h(d,0,a.left),e=new h(d,1,a.right);Ext.Assert.truthy(a.isManyToMany,"Association is not many-to-many");d.association=a;d.session=g;d.left=b;d.right=e;b.inverse=e;e.inverse=b},commit:function(){this.left.commit();this.right.commit()},update:function(a,b,c){return this.left.update(a,b,c)},updateId:function(e,d,c){var h=e.self,a=this.left,g=this.right,b;if(h===a.role.cls){b=a}if(h===g.role.cls){b=g}if(b){b.updateId(d,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 b=this,a;b.session=c;a=c.getCrudProperties();b.result=null;b.writerOptions={};b.createKey=a.create;b.readKey=a.read;b.updateKey=a.update;b.dropKey=a.drop},onDirtyRecord:function(k){var g=this,c=g.crud,b=k.phantom,d=k.dropped,n=!b&&!d,m=k.$className,j=(b||d)?"allDataOptions":"partialDataOptions",o=g.writerOptions,h=k.entityName,i,a,e,l;if(b&&d){return false}c=b?g.createKey:(d?g.dropKey:g.updateKey);o=o[m]||(o[m]={});if(d){if(!(i=o.drop)){o.drop=i={all:k.getProxy().getWriter().getWriteAllFields()}}if(!i.all){e=k.id}}if(!e){if(!(i=o[j])){i=k.getProxy().getWriter().getConfig(j);o[j]=i=Ext.Object.chain(i);g.setupOptions(i)}e=k.getData(i)}l=g.result||(g.result={});a=l[h]||(l[h]={});a=a[c]||(a[c]=[]);a.push(e)},setupOptions:function(a){a.serialize=true},onMatrixChange:function(a,d,e,k){var g=this,h=a.left.type,b=a.right.role,i=k<0?g.dropKey:g.createKey,c,j;j=g.result||(g.result={});c=j[h]||(j[h]={});c=c[b]||(c[b]={});c=c[i]||(c[i]={});c=c[d]||(c[d]=[]);c.push(e)}});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 c=this,e=c.readKey,d=g.entityName,b=g.id,i=c.seen,j=d+b,h,a;if(i[j]){return}i[j]=true;h=c.result||(c.result={});a=h[d]||(h[d]={});a=a[e]||(a[e]=[]);a.push(Ext.apply({},g.modified,g.data))}});Ext.define("Ext.data.session.BatchVisitor",{map:null,constructor:function(a){this.batch=a},getBatch:function(i){var d=this.map,a=this.batch,b,c,e,g,h;if(d){if(!a){a=new Ext.data.Batch()}for(e in d){b=d[e];c=b.entity;h=c.getProxy();delete b.entity;for(g in b){g=h.createOperation(g,{records:b[g]});g.entityType=c;a.add(g)}}}if(a&&i!==false){a.sort()}return a},onDirtyRecord:function(g){var c=this,e=g.phantom?"create":(g.dropped?"destroy":"update"),d=g.$className,b=(c.map||(c.map={})),a=(b[d]||(b[d]={entity:g.self}));a=a[e]||(a[e]=[]);a.push(g)}});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 g=this,e=g.matrices,a=g.data,c,b,h,d;for(d in e){e[d].destroy()}for(c in a){b=a[c];for(d in b){h=b[d].record;if(h){h.$source=h.session=null}}}g.recordCreator=g.matrices=g.data=null;g.setSchema(null);g.callParent()},adopt:function(c){var b=this,a=c.associations,d;b.checkModelType(c.self);if(c.session&&c.session!==b){Ext.Error.raise("Record already belongs to an existing session")}if(c.session!==b){c.session=b;b.add(c);if(a){for(d in a){a[d].adoptAssociated(c,b)}}}},commit:function(){var a=this.data,e=this.matrices,c,b,d,g;for(c in a){b=a[c];for(d in b){g=b[d].record;if(g){g.commit()}}}for(d in e){e[d].commit()}},createRecord:function(e,a){this.checkModelType(e);var c=e.$isClass?e:this.getSchema().getEntity(e),d=this.getParent(),b;if(a&&d){b=c.getIdFromData(a);if(d.peekRecord(c,b)){Ext.Error.raise("A parent session already contains an entry for "+c.entityName+": "+b)}}return new c(a,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,b,a){var c=this,j=i.isModel,h,d,e,g;if(j){j=i;b=i.id;i=i.self}h=c.peekRecord(i,b);if(!h){d=i.$isClass?i:c.getSchema().getEntity(i);e=c.getParent();if(e){g=e.peekRecord(d,b)}if(g){if(g.isLoading()){j=false}else{h=g.copy(undefined,c);h.$source=g}}if(!h){if(j){h=j;c.adopt(h)}else{h=d.createWithId(b,null,c);if(a!==false){h.load(Ext.isObject(a)?a:undefined)}}}}return h},getSaveBatch:function(a){var b=new Ext.data.session.BatchVisitor();this.visitData(b);return b.getBatch(a)},onInvalidAssociationEntity:function(a,b){Ext.Error.raise("Unable to read association entity: "+this.getModelIdentifier(a,b))},onInvalidEntityCreate:function(a,b){Ext.Error.raise("Cannot create, record already not exists: "+this.getModelIdentifier(a,b))},onInvalidEntityDrop:function(a,b){Ext.Error.raise("Cannot drop, record does not exist: "+this.getModelIdentifier(a,b))},onInvalidEntityRead:function(a,b){Ext.Error.raise("Cannot read, record already not exists: "+this.getModelIdentifier(a,b))},onInvalidEntityUpdate:function(b,c,a){if(a){Ext.Error.raise("Cannot update, record dropped: "+this.getModelIdentifier(b,c))}else{Ext.Error.raise("Cannot update, record does not exist: "+this.getModelIdentifier(b,c))}},peekRecord:function(i,e,a){this.checkModelType(i);var c=i.$isClass?i:this.getSchema().getEntity(i),b=c.entityName,d=this.data[b],h,g;d=d&&d[e];h=d&&d.record;if(!h&&a){g=this.getParent();h=g&&g.peekRecord(i,e,a)}return h||null},save:function(){if(!this.getParent()){Ext.Error.raise("Cannot commit session, no parent exists")}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(e){var o=this,r=o.getSchema(),d=o.crudOperations,n=d.length,c=o.crudKeys,h,j,g,k,p,l,b,m,q,a;o.getSchema().processKeyChecks(true);for(h in e){j=r.getEntity(h);if(!j){Ext.Error.raise("Invalid entity type: "+h)}g=e[h];for(k=0;k<n;++k){p=d[k];l=g[p.type];if(l){o[p.entityMethod](j,l)}}}for(h in e){j=r.getEntity(h);b=j.associations;g=e[h];for(m in g){if(c[m]){continue}q=b[m];if(!q){Ext.Error.raise("Invalid association key for "+h+', "'+m+'"')}a=g[q.role];q.processUpdate(o,a)}}},privates:{add:function(e){var d=this,c=e.id,b=d.getEntry(e.self,c),a,g;if(b.record){Ext.Error.raise("Duplicate id "+e.id+" for "+e.entityName)}b.record=e;d.registerReferences(e);a=e.associations;for(g in a){a[g].checkMembership(d,e)}},afterErase:function(a){this.evict(a)},applySchema:function(a){return Ext.data.schema.Schema.get(a)},checkModelType:function(a){if(a.$isClass){a=a.entityName}if(!a){Ext.Error.raise("Unable to use anonymous models in a Session")}else{if(!this.getSchema().getEntity(a)){Ext.Error.raise("Unknown entity type "+a)}}},createEntities:function(b,e){var g=e.length,c,a,h,d;for(c=0;c<g;++c){a=e[c];d=b.getIdFromData(a);h=this.peekRecord(b,d);if(!h){h=this.createRecord(b,a)}else{this.onInvalidEntityCreate(b,d)}h.phantom=true}},dropEntities:function(a,e){var g=e.length,c,h,d,b;if(g){b=Ext.isObject(e[0])}for(c=0;c<g;++c){d=e[c];if(b){d=a.getIdFromData(d)}h=this.peekRecord(a,d);if(h){h.drop()}else{this.onInvalidEntityDrop(a,d)}}},evict:function(e){var b=e.entityName,a=this.data[b],d=e.id,c;if(a){delete a[d]}},getEntityList:function(a,d){var g=d.length,b,c,h,e;for(b=0;b<g;++b){c=d[b];h=this.peekRecord(a,c);if(h){d[b]=h}else{e=true;d[b]=null;this.onInvalidAssociationEntity(a,c)}}if(e){d=Ext.Array.clean(d)}return d},getEntry:function(g,e){if(g.isModel){e=g.getId();g=g.self}var c=g.$isClass?g:this.getSchema().getEntity(g),b=c.entityName,a=this.data,d;d=a[b]||(a[b]={});d=d[e]||(d[e]={});return d},getRefs:function(h,j,c){var a=this.getEntry(h),i=a&&a.refs&&a.refs[j.role],d=c&&this.getParent(),e,b,g;if(d){e=d.getRefs(h,j);if(e){for(b in e){g=e[b];if((!i||!i[b])){this.getRecord(g.self,g.id)}}i=a&&a.refs&&a.refs[j.role]}}return i||null},getIdentifier:function(b){var e=this.getParent(),a,c,d,g;if(e){g=e.getIdentifier(b)}else{a=this.identifierCache;c=b.identifier;d=c.id||b.entityName;g=a[d];if(!g){if(c.clone){g=c.clone({cache:a})}else{g=c}a[d]=g}}return g},getMatrix:function(b,d){var c=b.isManyToMany?b.name:b,a=this.matrices,e;e=a[c];if(!e&&!d){e=a[c]=new Ext.data.matrix.Matrix(this,b)}return e||null},getMatrixSlice:function(c,a){var b=this.getMatrix(c.association),d=b[c.side];return d.get(a)},getModelIdentifier:function(a,b){return b+"@"+a.entityName},onIdChanged:function(o,n,m){var l=this,j=l.matrices,d=o.entityName,h=o.id,c=l.data[d],e=c[n],b=o.associations,q=e.refs,u=l._setNoRefs,a,g,k,p,r,s,t,i;if(c[m]){Ext.Error.raise("Cannot change "+d+" id from "+n+" to "+m+" id already exists")}delete c[n];c[m]=e;for(i in j){j[i].updateId(o,n,m)}if(q){for(s in q){t=q[s];r=b[s];a=r.association;if(!a.isManyToMany){g=a.field.name;for(p in t){t[p].set(g,h,u)}}}}l.registerReferences(o,n)},processManyBlock:function(a,i,c,e){var d=this,b,g,h,j;if(c){for(b in c){g=d.peekRecord(a,b);if(g){h=d.getEntityList(i.cls,c[b]);j=i.getAssociatedItem(g);d[e](i,j,g,h)}else{d.onInvalidAssociationEntity(a,b)}}}},processManyCreate:function(c,d,a,b){if(d){d.add(b)}else{a[c.getterName](null,null,b)}},processManyDrop:function(c,d,a,b){if(d){d.remove(b)}},processManyRead:function(c,d,a,b){if(d){d.setRecords(b)}else{a[c.getterName](null,null,b)}},readEntities:function(b,e){var g=e.length,c,a,h,d;for(c=0;c<g;++c){a=e[c];d=b.getIdFromData(a);h=this.peekRecord(b,d);if(!h){h=this.createRecord(b,a)}else{this.onInvalidEntityRead(b,d)}h.phantom=false}},recordCreator:function(a,d){var c=this,b=d.getIdFromData(a),e=c.peekRecord(d,b,true);if(!e){e=new d(a,c)}else{e=c.getRecord(d,b)}return e},registerReferences:function(j,h){var a=j.entityName,e=j.id,k=j.data,o=h||h===0,b,d,c,g,l,m,n,p;g=(m=j.references).length;for(d=0;d<g;++d){l=m[d];c=k[l.name];if(c||c===0){l=l.reference;a=l.type;p=l.inverse.role;b=this.getEntry(l.cls,c);n=b.refs||(b.refs={});n=n[p]||(n[p]={});n[e]=j;if(o){delete n[h]}}}},updateEntities:function(b,e){var g=e.length,c,a,j,d,h;if(Ext.isArray(e)){for(c=0;c<g;++c){a=e[c];d=b.getIdFromData(a);j=this.peekRecord(b,d);if(j){j.set(a)}else{this.onInvalidEntityUpdate(b,d)}}}else{for(d in e){a=e[d];j=this.peekRecord(b,d);if(j&&!j.dropped){h=j.set(a)}else{this.onInvalidEntityUpdate(b,d,!!j)}}}},updateReference:function(h,c,e,g){var i=c.reference,a=i.type,k=i.inverse.role,d=h.id,b,j;if(g||g===0){j=this.getEntry(a,g).refs[k];delete j[d]}if(e||e===0){b=this.getEntry(a,e);j=b.refs||(b.refs={});j=j[k]||(j[k]={});j[d]=h}},visitData:function(p){var i=this,c=i.data,g=i.matrices,a,b,d,e,h,j,k,l,m,n,o;i.getSchema().processKeyChecks(true);for(k in c){a=c[k];for(d in a){l=a[d].record;if(l){if(l.phantom||l.dirty||l.dropped){if(p.onDirtyRecord){p.onDirtyRecord(l)}}else{if(p.onCleanRecord){p.onCleanRecord(l)}}}}}if(p.onMatrixChange){for(k in g){h=g[k].left;n=h.slices;b=h.role.association;for(d in n){m=n[d];j=m.members;for(e in j){o=(l=j[e])[2];if(o){p.onMatrixChange(b,l[0],l[1],o)}}}}}return p},_setNoRefs:{refs:false}}});Ext.define("Ext.util.Schedulable",{"abstract":true,isSchedulable:true,scheduled:false,constructor:function(){this.getScheduler().add(this)},destroy:function(){var a=this,b=a.getScheduler();if(b){b.remove(a)}a.destroyed=true;a.scheduler=null;a.schedule=a.destroy=a.react=Ext.emptyFn},getFullName:function(){return this.name||this.id},privates:{getScheduler:function(){return this.scheduler},schedule:function(){var a=this,b;if(!a.scheduled){b=a.getScheduler();if(b){a.scheduled=true;if(a.onSchedule){a.onSchedule()}b.scheduleItem(a)}}},unschedule:function(){var a=this,b;if(a.scheduled){b=a.getScheduler();if(b){b.unscheduleItem(a)}a.scheduled=false}},sort:function(){}}});Ext.define("Ext.app.bind.BaseBinding",{extend:Ext.util.Schedulable,calls:0,kind:20,defaultOptions:{},lastValue:undefined,constructor:function(d,a,e,c){var b=this;b.options=c;b.owner=d;b.scope=e;b.callback=a;if(!a){Ext.Error.raise("Callback is required")}b.lateBound=Ext.isString(a);if(c&&c.deep){b.deep=true}b.callParent()},destroy:function(){var a=this,b=a.owner;a.callParent();if(b){b.onBindDestroy(a)}a.scope=a.callback=a.owner=null},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 a=this,b=a.options||a.defaultOptions,c=a.lastValue;if(!a.calls||a.deep||a.valueChanged(d,c)){++a.calls;a.lastValue=d;if(a.lateBound){a.scope[a.callback](d,c,a)}else{a.callback.call(a.scope,d,c,a)}if(b.single){a.destroy()}}},valueChanged:function(c,a){var b=true;if(a!==c){if(c&&a&&c instanceof Date&&a instanceof Date){b=c.getTime()!==a.getTime()}}else{b=Ext.isArray(c)}return b}}});Ext.define("Ext.app.bind.Binding",{extend:Ext.app.bind.BaseBinding,constructor:function(e,a,d,c){var b=this;b.callParent([e.owner,a,d,c]);b.stub=e;b.depth=e.depth;if(!e.isLoading()&&!e.scheduled){b.schedule()}},destroy:function(a){var b=this,c=b.stub;if(c&&!a){c.unbind(b);b.stub=null}b.callParent()},bindValidation:function(a,b){var c=this.stub;return c&&c.bindValidation(a,b)},bindValidationField:function(a,b){var c=this.stub;return c&&c.bindValidationField(a,b)},getFullName:function(){return this.fullName||(this.fullName="@("+this.stub.getFullName()+")")},getValue:function(){var a=this,c=a.stub,b=c&&c.getValue();if(a.transform){b=a.transform(b)}return b},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){if(this.isReadOnly()){Ext.Error.raise("Cannot setValue on a readonly binding")}this.stub.set(a)},privates:{getDataObject:function(){var a=this.stub;return a&&a.getDataObject()},getRawValue:function(){var a=this,c=a.stub,b=c&&c.getRawValue();if(a.transform){b=a.transform(b)}return b},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(c,b){var a=this;a.owner=c;a.name=b;a.callParent()},destroy:function(){var g=this,b=g.children,a=g.bindings,e,c,d;if(a){for(c=0,e=a.length;c<e;++c){a[c].destroy(true)}}for(d in b){b[d].destroy()}g.callParent();g.bindings=g.children=g.owner=null},add:function(a){var b=this;(b.children||(b.children={}))[a.name]=a;a.depth=b.depth+1;a.parent=b},getChild:function(a){var b=Ext.isString(a)?a.split("."):a;if(b&&b.length){return this.descend(b,0)}return this},getFullName:function(){var a=this,b=a.fullName,c=a.parent,d;if(!b){b=a.name||a.id;if(c&&(d=c.getFullName())){b=((d.charAt(d.length-1)!==":")?d+".":d)+b}a.fullName=b}return b},getSession:function(){var a=this.owner;return a.isSession?a:a.getSession()},bind:function(c,g,e){var d=this,a=new Ext.app.bind.Binding(d,c,g,e),b=(d.bindings||(d.bindings=[]));a.depth=d.depth;b.push(a);return a},getValue:function(){return this.isLoading()?null:this.getRawValue()},graft:function(e){var c=this,a=c.bindings,d=c.name,b;c.parent=c.bindings=null;c.destroy();e.depth=c.depth;e.bindings=a;e.generation=c.generation+1;e.name=d;e.id=c.id;e.path=c.path;if(a){for(b=a.length;b-->0;){a[b].stub=e}}return e},isDescendantOf:function(a){for(var b=this;b=b.parent;){if(b===a){return true}}return false},onSchedule:function(){for(var c,d,a,b,e=this.parent;e;e=e.parent){b=e.bindings;if(b){for(c=0,d=b.length;c<d;++c){a=b[c];if(a.deep&&!a.scheduled){a.schedule()}}}}},react:function(){var b=this.bindings,a,c,d;if(b){for(c=0,d=b.length;c<d;++c){a=b[c];if(!a.scheduled){a.schedule()}}}},unbind:function(a){var b=this.bindings;if(b&&b.length){Ext.Array.remove(b,a)}},privates:{collect:function(){var c=this.children,a=this.bindings,g=0,d=0,b,e;if(c){for(e in c){b=c[e];d=b.collect();if(d===0){b.destroy();delete c[e]}g+=d}}if(a){g+=a.length}return g},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(i,e,g,h){var b=h&&h.children,a,d,c;c=i!==undefined;if(!e.hadValue[g]){e.hadValue[g]=c}if(h){h.hadValue=c}if(i&&(i.constructor===Object||i.isModel)){if(i.isModel){i=i.data}for(d in i){Ext.app.bind.Stub.trackHadValue(i[d],e,g+"."+d,b&&b[d])}}}},constructor:function(c,b,d){var a=this,e=b;a.callParent([c,b]);a.boundValue=null;if(d){d.add(a);if(!d.isRootStub){e=d.path+"."+b}}a.hadValue=c.hadValue[e];a.path=e},destroy:function(){var b=this,a=b.formula,c=b.parent,d=b.storeBinding;if(a){a.destroy()}if(d){d.destroy()}b.detachBound();b.parentValue=b.formula=b.storeBinding=null;b.callParent()},bindValidation:function(a,c){var b=this.parent;return b&&b.descend([this.validationKey,this.name]).bind(a,c)},bindValidationField:function(a,g){var d=this.parent,c=this.name,b=typeof a==="string",e;if(d){e=d.bind(function(i){var h=null;if(i&&i.isModel){h=i.getField(c)}if(b){g[a](h,i,this)}else{a.call(g,h,i,this)}})}return e||null},descend:function(e,b){var c=this,a=c.children||(c.children={}),g=b||0,d=e[g++],h;if(!(h=a[d])){h=new Ext.app.bind.Stub(c.owner,d,c)}if(g<e.length){h=h.descend(e,g)}return h},getChildValue:function(c){var a=this,b=a.name,d;if(!c&&!Ext.isString(c)){d=a.hadValue?null:undefined}else{d=a.inspectValue(c);if(!d){if(c.isEntity){d=c.data[b]}else{d=c[b]}}}return d},getDataObject:function(){var c=this,e=c.parent.getDataObject(),d=c.name,g=e?e[d]:null,b,a;if(!g&&e&&e.isEntity){b=e.associations;if(b&&d in b){g=e[b[d].getterName]()}}if(!g||!(g.$className||Ext.isObject(g))){e[d]=g={};c.hadValue=c.owner.hadValue[c.path]=true;c.invalidate(true,true)}return g},getRawValue:function(){return this.getChildValue(this.getParentValue())},graft:function(g){var c=this,e=c.parent,a=c.children,d=c.name,b;g.parent=e;g.children=a;if(e){e.children[d]=g}if(a){for(b in a){a[b].parent=g}}c.children=null;return c.callParent([g])},isLoading:function(){var d=this,e=d.parent,b=false,a,g,h,c;if(e&&!(b=e.isLoading())){g=d.getParentValue();h=d.inspectValue(g);if(h){b=h.isLoading()}else{if(g&&g.isModel){a=g.associations;if(!(a&&d.name in a)){b=false;c=true}}if(!c){b=!d.hadValue&&d.getRawValue()===undefined}}}return b},invalidate:function(b,c){var d=this,a=d.children,e;d.dirty=true;if(!c&&!d.isLoading()){if(!d.scheduled){d.schedule()}}if(b&&a){for(e in a){a[e].invalidate(b,c)}}},isReadOnly:function(){var a=this.formula;return !!(a&&!a.set)},set:function(j){var e=this,h=e.parent,g=e.name,c=e.formula,i,b,a,d;if(c&&!c.settingValue&&c.set){c.setValue(j);return}else{if(e.isLinkStub){d=e.getLinkFormulaStub();c=d?d.formula:null;if(c){if(d.isReadOnly()){Ext.Error.raise("Cannot setValue on a readonly formula")}c.setValue(j);return}}}i=h.getDataObject();if(i.isEntity){b=i.associations;if(b&&(g in b)){a=b[g];i[a.setterName](j);e.invalidate(true)}else{i.set(g,j)}}else{if((j&&j.constructor===Object)||j!==i[g]){if(!e.setByLink(j)){if(j===undefined){delete i[g]}else{i[g]=j;Ext.app.bind.Stub.trackHadValue(j,e.owner,e.path,e)}e.inspectValue(i);e.invalidate(true)}}}},onStoreLoad:function(){this.invalidate(true)},afterLoad:function(a){this.invalidate(true)},afterCommit:function(a){this.afterEdit(a,null)},afterEdit:function(j,h){var c=this.children,g=h&&h.length,a=j.associations,e,d,b,k;if(c){if(g){for(d=0;d<g;++d){b=c[h[d]];if(b){b.invalidate()}}}else{for(e in c){if(!(a&&e in a)){c[e].invalidate()}}}}this.invalidate()},afterReject:function(a){this.afterEdit(a,null)},setByLink:function(h){var c=this,d=0,a,b,e,g;for(g=c;g;g=g.parent){if(g.isLinkStub){b=g;if(d){for(e=[],a=0,g=c;g!==b;g=g.parent){++a;e[d-a]=g.name}}break}++d}if(!b||!(g=b.getTargetStub())){return false}if(e){g=g.descend(e)}g.set(h);return true},setFormula:function(a){var b=this,c=b.formula;if(c){c.destroy()}b.formula=new Ext.app.bind.Formula(b,a)},react:function(){var d=this,a=this.boundValue,b=d.children,c;if(a){if(a.isValidation){a.refresh();c=a.generation;if(d.lastValidationGeneration===c){return}d.lastValidationGeneration=c}else{if(a.isModel){if(b&&b[d.validationKey]){a.isValid()}}else{if(a.isStore){if(a.isLoading()&&!a.loadCount){return}}}}}this.callParent()},privates:{collect:function(){var b=this,c=b.callParent(),d=b.storeBinding?1:0,a=b.formula?1:0;return c+d+a},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(i){var g=this,h=g.name,e=g.boundValue,c=null,b,j,d,a;if(i&&i.isEntity){b=i.associations;if(b&&(h in b)){c=i[b[h].getterName]();if(c&&c.isStore){c.$associatedStore=true}}else{if(h===g.validationKey){c=i.getValidation();g.lastValidationGeneration=null}}}else{if(i){j=i[h];if(j&&(j.isModel||j.isStore)){c=j}}}d=e!==c;if(d){if(e){g.detachBound()}if(c){if(c.isModel){c.join(g)}else{a=c.associatedEntity;if(a&&!a.phantom&&!c.complete&&!c.hasPendingLoad()){c.load()}c.on("load",g.onStoreLoad,g,{single:true})}}g.boundValue=c}return c},detachBound:function(){var b=this,a=b.boundValue;if(a){if(a.isModel){a.unjoin(b)}else{a.un("load",b.onStoreLoad,b)}}},sort:function(){var b=this,a=b.formula,c=b.scheduler,d=b.storeBinding;b.callParent();if(d){c.sortItem(d)}if(a){c.sortItem(a)}}}});Ext.define("Ext.app.bind.LinkStub",{extend:Ext.app.bind.Stub,isLinkStub:true,binding:null,destroy:function(){var b=this,a=b.binding,c=b.owner;if(a){b.binding=null;a.destroy();if(c){delete c.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(a,d){var c=this,b=c.binding;if(b){b.destroy()}d=c.target=d||c.owner;c.linkDescriptor=a;c.binding=d.bind(a,c.onChange,c);c.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,c=b.callParent(),a=b.binding?1:0;return c+a},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(d,b){var c=this,e=c.owner,g=e.getData(),a=c.children,j=a&&a[d],h=j?null:c,i,k;if(b||g.hasOwnProperty(d)||!(i=e.getParent())){k=new Ext.app.bind.Stub(e,d,h)}else{k=new Ext.app.bind.LinkStub(e,d,j?null:h);k.link("{"+d+"}",i)}if(j){j.graft(k)}return k},createStubChild:function(a){return this.createRootChild(a,true)},descend:function(e,b){var c=this,a=c.children,g=b||0,d=e[g++],h=(a&&a[d])||c.createRootChild(d);if(g<e.length){h=h.descend(e,g)}return h},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(k){if(!k||k.constructor!==Object){Ext.Error.raise("Only an object can be set at the root")}var e=this,a=e.children||(e.children={}),g=e.owner,b=g.data,h=g.getParent(),d,i,j,c;for(c in k){if(c.indexOf(".")>=0){Ext.Error.raise("Value names cannot contain dots")}if((j=k[c])!==undefined){if(!(i=a[c])){i=new Ext.app.bind.Stub(g,c,e)}else{if(i.isLinkStub){if(!i.getLinkFormulaStub()){d=i;i=new Ext.app.bind.Stub(g,c);d.graft(i)}}}i.set(j)}else{if(b.hasOwnProperty(c)){delete b[c];i=a[c];if(i&&!i.isLinkStub&&h){i=e.createRootChild(c)}i.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(b,e,a,g,d){var c=this,h=d&&d.trackStatics;c.callParent([e,a,g,d]);c.bindings=[];c.literal=b.$literal;if(b.constructor===Object){if(h){c.staticKeys=[]}c.addObject(b,c.lastValue={},c.staticKeys)}else{c.addArray(b,c.lastValue=[])}if(!--c.missing&&!c.scheduled){c.schedule()}},destroy:function(){var a=this;a.bindings=Ext.destroy(a.bindings);a.callParent()},add:function(e,c,j){var g=this,i=g.owner,b=g.bindings,h=g.literal?(e.reference?"bindEntity":"bindExpression"):"bind",a,d;++g.missing;a=i[h](e,function(k){c[j]=k;if(a.calls===1){--g.missing}if(!g.missing&&!g.scheduled){g.schedule()}},g,null);d=a.depth;if(!b.length||d<g.depth){g.depth=d}b.push(a);return !this.isBindingStatic(a)},addArray:function(j,a){var h=this,k=j.length,e=false,d,c,g;for(g=0;g<k;++g){c=j[g];if(c&&(c.reference||Ext.isString(c))){d=h.add(c,a,g)}else{if(Ext.isArray(c)){d=h.addArray(c,a[g]=[])}else{if(c&&c.constructor===Object){d=h.addObject(c,a[g]={})}else{a[g]=c;d=false}}}e=e||d}return e},addObject:function(g,i,j){var e=this,d=false,c,a,h;for(h in g){a=g[h];if(a&&(a.reference||Ext.isString(a))){c=e.add(a,i,h)}else{if(Ext.isArray(a)){c=e.addArray(a,i[h]=[])}else{if(a&&a.constructor===Object){c=e.addObject(a,i[h]={})}else{i[h]=a;c=false}}}if(j&&!c){j.push(h)}d=d||c}return d},getFullName:function(){var e=this,b=e.fullName,a=e.bindings,d=a.length,c;if(!b){b="@[";for(c=0;c<d;++c){if(c){b+=","}b+=a[c].getFullName()}b+="]";e.fullName=b}return b},getRawValue:function(){return this.lastValue},isDescendantOf:function(){return false},isLoading:function(){for(var a=this.bindings,b=a.length;b-->0;){if(a[b].isLoading()){return true}}return false},isBindingStatic:function(a){return a.isTemplateBinding&&a.isStatic},isStatic:function(){var b=this.bindings,d=b.length,c,a;for(c=0;c<d;++c){a=b[c];if(!this.isBindingStatic(a)){return false}}return true},pruneStaticKeys:function(){var d=Ext.apply({},this.lastValue),b=this.staticKeys,c=b.length,a;for(a=0;a<c;++a){delete d[b[a]]}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,c,d;if(!a){a=this.formulaCache=new Ext.util.LruCache({maxSize:20})}c=a.get(b);if(!c){d="[^\\.a-z0-9_]"+b+"\\(\\s*(['\"])(.*?)\\1\\s*\\)";c=new RegExp(d,"gi");a.add(b,c)}return c}},isFormula:true,calculation:null,explicit:false,set:null,single:false,argumentNamesRe:/^function\s*\(\s*([^,\)\s]+)/,constructor:function(i,c){var e=this,h=i.owner,a,b,d,g;e.owner=h;e.stub=i;e.callParent();if(c instanceof Function){e.get=d=c}else{e.get=d=c.get;e.set=c.set;b=c.bind;if(c.single){e.single=c.single}if(b){a=b.bindTo;if(a){g=Ext.apply({},b);delete g.bindTo;b=a}}}if(!d){Ext.Error.raise("Must specify a getter method for a formula")}if(b){e.explicit=true}else{b=d.$expressions||e.parseFormula(d)}e.binding=h.bind(b,e.onChange,e,g)},destroy:function(){var b=this,a=b.binding,c=b.stub;if(a){a.destroy();b.binding=null}if(c){c.formula=null}b.callParent();b.getterFn=b.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(c){var h=c.toString(),b={$literal:true},g,e,d,a;g=this.argumentNamesRe.exec(h);e=g?g[1]:"get";d=Ext.app.bind.Formula.getFormulaParser(e);while((g=d.exec(h))){a=g[2];b[a]=a}b.$literal=true;c.$expressions=b;return b},react:function(){var d=this,e=d.owner,b=d.binding.lastValue,c=d.getterFn,a;if(d.explicit){a=b}else{a=e.getFormulaFn(b)}d.settingValue=true;d.stub.set(d.calculation=d.get.call(e,a));d.settingValue=false;if(d.single){d.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 b=this,a=b.binding;if(!a.destroyed){b.scheduler.sortItem(a)}}}});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 b=this,a=b._initters,c;b.text=d;for(c in a){b[c]=a[c]}},_initters:{apply:function(b,a){return this.parse().apply(b,a)},getTokens:function(){return this.parse().getTokens()}},apply:function(k,e){var d=this,h=d.slots,a=d.buffer,c=h.length,b,g,j;for(b=0;b<c;++b){g=h[b];if(g){if((j=k[g.pos])==null){j=""}if(g.not){j=!j}if(g.format){j=g.format(j,e)}a[b]=j}}return a.join("")},getTokens:function(){return this.tokens},parse:function(){var h=this,n=h.text,a=[],m=[],r=[],p={},d=0,q=h.tokenRe,j=0,b,c,e,g,k,l,o;for(c in h._initters){delete h[c]}h.buffer=a;h.slots=m;h.tokens=r;while((g=q.exec(n))){e=g.index-d;if(e){a[j++]=n.substring(d,d+e);d+=e}d+=(k=g[0]).length;l={fmt:(b=g[3]||null),index:g[1]?parseInt(g[1],10):null,not:k.charAt(1)==="!",token:g[2]||null};o=l.token||String(l.index);if(o in p){l.pos=p[o]}else{p[o]=l.pos=r.length;r.push(o)}if(b){if(b.substring(0,5)==="this."){l.fmt=b.substring(5)}else{if(!(b in Ext.util.Format)){Ext.Error.raise('Invalid format specified: "'+b+'"')}l.scope=Ext.util.Format}h.parseArgs(g[4],l)}m[j++]=l}if(d<n.length){a[j++]=n.substring(d)}return h},parseArgs:function(c,j){var g=this,h=g.numberRe,k=g.stringRe,a,b,d,e;if(!c){b=[]}else{if(c.indexOf(",")<0){b=[c]}else{b=c.split(",")}}j=j||{};e=b.length;j.args=b;for(d=0;d<e;++d){a=b[d];if(a==="true"){b[d]=true}else{if(a==="false"){b[d]=false}else{if(a==="null"){b[d]=null}else{if(h.test(a)){b[d]=parseFloat(a)}else{if(k.test(a)){b[d]=a.substring(1,a.length-1)}else{j.fn=Ext.functionFactory("return ["+c+"];");j.format=g._formatEval;break}}}}}}if(!j.format){b.unshift(0);j.format=g._formatArgs}return j},parseFormat:function(b){var d=this,c=d.formatRe.exec(b),e={fmt:b,scope:Ext.util.Format},a;if(!c){Ext.Error.raise('Invalid format syntax: "'+e+'"')}a=c[2];if(a){e.fmt=c[1];d.parseArgs(a,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(g,d,a,e,c){var b=this,i=new Ext.app.bind.Template(g),h=i.getTokens();b.callParent([d,a,e,c]);b.tpl=i;b.tokens=h;h.$literal=true;if(h.length){b.multiBinding=new Ext.app.bind.Multi(h,d,b.onBindData,b)}else{b.isStatic=true;b.onData(i.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)},blockLoad:Ext.emptyFn,unblockLoad:Ext.emptyFn,updateRemoteFilter:function(b,a){if(b){Ext.Error.raise("Remote filtering cannot be used with chained stores.")}this.callParent([b,a])},updateRemoteSort:function(b,a){if(b){Ext.Error.raise("Remote sorting cannot be used with chained stores.")}this.callParent([b,a])},remove:function(){var a=this.getSource();return a.remove.apply(a,arguments)},removeAll:function(){var a=this.getSource();return a.removeAll()},getData:function(){var b=this,a=b.data;if(!a){b.data=a=b.constructDataCollection()}return a},getSession:function(){return this.getSource().getSession()},applySource:function(c){if(c){var a=c,b;c=Ext.data.StoreManager.lookup(c);if(!c){b="Invalid source {0}specified for Ext.data.ChainedStore";b=Ext.String.format(b,typeof a==="string"?'"'+a+'" ':"");Ext.Error.raise(b)}}return c},updateSource:function(d,c){var b=this,a;if(c){c.removeObserver(b)}if(d){a=b.getData();a.setSource(d.getData());if(!b.isInitializing){b.fireEvent("refresh",b);b.fireEvent("datachanged",b)}d.addObserver(b)}},getModel:function(){return this.getSource().getModel()},getProxy:function(){return null},onCollectionAdd:function(a,b){var d=this,e=b.items,c=!b.next;if(d.ignoreCollectionAdd){return}d.fireEvent("add",d,e,b.at);if(c){d.fireEvent("datachanged",d)}},onCollectionItemChange:function(a,b){var c=this,e=b.item,d=b.modified||null,g=b.meta;c.onUpdate(e,g,d,b);c.fireEvent("update",c,e,g,d,b)},onUpdate:Ext.emptyFn,onCollectionRemove:function(a,b){var d=this,e=b.items,c=!b.next;if(d.ignoreCollectionRemove){return}d.fireEvent("remove",d,e,b.at,false);if(c){d.fireEvent("datachanged",d)}},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,b){var a=this;a.ignoreCollectionRemove=false;if(!b){a.fireEvent("clear",a);a.fireEvent("datachanged",a)}this.callObservers("AfterRemoveAll",[b])},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"},destroyed:false,collectTimeout:100,expressionRe:/^(?:\{[!]?(?:(\d+)|([a-z_][\w\-\.]*))\})$/i,$configStrict:false,config:{data:true,formulas:{$value:null,merge:function(c,a,d,b){return this.mergeNew(c,a,d,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 e=this,h=e._scheduler,j=e.storeInfo,g=e.getParent(),k=e.collectTask,c=e.children,b=e.bindings,d,i,a;e.destroying=true;if(k){k.cancel();e.collectTask=null}if(c){for(d in c){c[d].destroy()}}if(j){for(d in j){i=j[d];a=i.autoDestroy;if(a||(!i.$wasInstance&&a!==false)){i.destroy()}Ext.destroy(i.$binding)}}if(g){g.unregisterChild(e)}e.getRoot().destroy();for(d in b){b[d].destroy()}if(h&&h.$owner===e){h.$owner=null;h.destroy()}e.hadValue=e.children=e.storeInfo=e._session=e._view=e._scheduler=e.bindings=e._root=e._parent=e.formulaFn=e.$formulaData=null;e.callParent()},bind:function(c,b,g,e){var d=this,a,h;g=g||d;if(!e&&c.bindTo!==undefined&&!Ext.isString(c)){e=c;c=e.bindTo}if(!Ext.isString(c)){a=new Ext.app.bind.Multi(c,d,b,g,e);h=true}else{if(d.expressionRe.test(c)){c=c.substring(1,c.length-1);a=d.bindExpression(c,b,g,e)}else{a=new Ext.app.bind.TemplateBinding(c,d,b,g,e);h=true}}if(h){d.bindings[a.id]=a}return a},getSession:function(){var a=this,c=a._session,b;if(!c&&(b=a.getParent())){a.setSession(c=b.getSession())}return c||null},getStore:function(a){var c=this.storeInfo,b;if(c){b=c[a]}return b||null},linkTo:function(c,i){var e=this,j,a,b,g,d,h;if(c.indexOf(".")>-1){Ext.raise('Links can only be at the top-level: "'+c+'"')}if(i.isModel){i={type:i.entityName,id:i.id}}g=i.type||i.reference;a=i.create;if(g){b=i.id;if(!i.create&&Ext.isEmpty(b)){Ext.raise('No id specified. To create a phantom model, specify "create: true" as part of the reference.')}if(a){b=undefined}h=e.getRecord(g,b);if(Ext.isObject(a)){h.set(a);h.commit();h.phantom=true}j=e.getRoot().createStubChild(c);j.set(h)}else{j=e.getStub(c);if(!j.isLinkStub){d=new Ext.app.bind.LinkStub(e,j.name);j.graft(d);j=d}j.link(i)}},notify:function(){this.getScheduler().notify()},get:function(a){return this.getStub(a).getValue()},set:function(c,e){var a=this,b,d;a.getData();if(e===undefined&&c&&c.constructor===Object){d=a.getRoot();e=c}else{if(c&&c.indexOf(".")<0){b={};b[c]=e;e=b;d=a.getRoot()}else{d=a.getStub(c)}}d.set(e)},privates:{registerChild:function(a){var b=this.children;if(!b){this.children=b={}}b[a.getId()]=a},unregisterChild:function(a){var b=this.children;if(!this.destroying&&b){delete b[a.getId()]}},getRecord:function(g,b){var e=this.getSession(),c=g,a=b!==undefined,d;if(e){if(a){d=e.getRecord(g,b)}else{d=e.createRecord(g)}}else{if(!c.$isClass){c=this.getSchema().getEntity(c);if(!c){Ext.Error.raise("Invalid model name: "+g)}}if(a){d=c.createWithId(b);d.load()}else{d=new c()}}return d},notFn:function(a){return !a},bindExpression:function(d,b,i,g){var c=d.charAt(0),e=(c==="!"),h=e?d.substring(1):d,j=this.getStub(h),a;a=j.bind(b,i,g);if(e){a.transform=this.notFn}return a},applyScheduler:function(a){if(a&&!a.isInstance){a=new Ext.util.Scheduler(a);a.$owner=this}return a},getScheduler:function(){var a=this,c=a._scheduler,b,d;if(!c){if(!(b=a.getParent())){c=new Ext.util.Scheduler({preSort:"kind,-depth"});c.$owner=a}else{c=b.getScheduler()}a.setScheduler(c)}return c},getStub:function(a){var b=this.getRoot();return a?b.getChild(a):b},collect:function(){var a=this,b=a.getParent(),c=a.collectTask;if(b){b.collect();return}if(!c){c=a.collectTask=new Ext.util.DelayedTask(a.doCollect,a)}if(a.collectTimeout===0){a.doCollect()}else{c.delay(a.collectTimeout)}},doCollect:function(){var a=this.children,b;if(a){for(b in a){a[b].doCollect()}}this.getRoot().collect()},onBindDestroy:function(a,b){var c=this,d;if(c.destroying){return}if(!b){delete c.bindings[a.id]}d=c.getParent();if(d){d.onBindDestroy(c,true)}else{c.collect()}},applyData:function(d,a){var c=this,b,e;c.getSession();if(!a){e=c.getParent();c.linkData=b=e?Ext.Object.chain(e.getData()):{};c.data=c._data=Ext.Object.chain(b)}if(d&&d.constructor===Object){c.getRoot().set(d)}},applyParent:function(a){if(a){a.registerChild(this)}return a},applyStores:function(i){var e=this,g=e.getRoot(),c,a,h,j,d,b;e.storeInfo={};e.listenerScopeFn=function(){return e.getView().getInheritedConfig("defaultListenerScope")};for(c in i){a=i[c];if(a.isStore){a.$wasInstance=true;e.setupStore(a,c);continue}else{if(Ext.isString(a)){a={source:a}}else{a=Ext.apply({},a)}}d=a.listeners;delete a.listeners;h=e.bind(a,e.onStoreBind,e,{trackStatics:true});if(h.isStatic()){h.destroy();e.createStore(c,a,d)}else{h.$storeKey=c;h.$listeners=d;j=g.createStubChild(c);j.setStore(h)}}},onStoreBind:function(b,e,a){var c=this.storeInfo,d=a.$storeKey,h=c[d],g;if(!h){this.createStore(d,b,a.$listeners,a)}else{b=Ext.merge({},a.pruneStaticKeys());g=b.proxy;delete b.type;delete b.model;delete b.fields;delete b.proxy;delete b.listeners;if(g){delete g.reader;delete g.writer;h.getProxy().setConfig(g)}h.blockLoad();h.setConfig(b);h.unblockLoad(true)}},createStore:function(c,b,d,a){var e=this.getSession(),g;b=Ext.apply({},b);if(b.session){b.session=e}if(b.source){b.type=b.type||"chained"}b.listeners=d;g=Ext.Factory.store(b);g.$binding=a;this.setupStore(g,c)},setupStore:function(b,a){b.resolveListenerScope=this.listenerScopeFn;this.storeInfo[a]=b;this.set(a,b)},applyFormulas:function(a){var b=this,d=b.getRoot(),c,e;b.getData();for(c in a){if(c.indexOf(".")>=0){Ext.Error.raise("Formula names cannot contain dots: "+c)}d.createStubChild(c);e=b.getStub(c);e.setFormula(a[c])}return a},applyLinks:function(b){for(var a in b){this.linkTo(a,b[a])}},applySchema:function(a){return Ext.data.schema.Schema.get(a)},applyRoot:function(){var b=new Ext.app.bind.RootStub(this),a=this.getParent();if(a){b.depth=a.getRoot().depth-1000}return b},getFormulaFn:function(a){var c=this,b=c.formulaFn;if(!b){b=c.formulaFn=function(d){return c.$formulaData[d]}}c.$formulaData=a;return b}}});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,c){var b=false,a=d.alias;if(c==="*"){b=true}else{if(c==="#"){b=!!d.isApplication}else{if(this.idMatchRe.test(c)){b=d.getId()===c.substring(1)}else{if(a){b=Ext.Array.indexOf(a,this.prefix+c)>-1}}}}return b}});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.app.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(e){var d=this,a=arguments,g=d.relayers||(d.relayers={}),b,c;if(a.length>1){for(b=0,c=a.length;b<c;++b){d.addProvider(a[b])}return}if(!e.isProvider){e=Ext.create("direct."+e.type+"provider",e)}d.providers.add(e);e.on("data",d.onProviderData,d);if(e.relayedEvents){g[e.id]=d.relayEvents(e,e.relayedEvents)}if(!e.isConnected()){e.connect()}return e},loadProvider:function(c,a,j){var g=this,b=g.providerClasses,k,l,m,h,d,e;if(Ext.isArray(c)){for(d=0,e=c.length;d<e;d++){g.loadProvider(c[d],a,j)}return}k=c.type;l=c.url;if(b[k]&&b[k].checkConfig(c)){h=g.addProvider(c);g.fireEventArgs("providerload",[l,h]);Ext.callback(a,j,[l,h]);return}m=c.varName||g.getVarName();delete c.varName;if(!l){Ext.Error.raise("Need API discovery URL to load a Remoting provider!")}delete c.url;Ext.Loader.loadScript({url:l,scope:g,onLoad:function(){this.onApiLoadSuccess({url:l,varName:m,config:c,callback:a,scope:j})},onError:function(){this.onApiLoadFailure({url:l,callback:a,scope:j})}})},getProvider:function(a){return a.isProvider?a:this.providers.get(a)},removeProvider:function(c){var b=this,d=b.providers,e=b.relayers,a;c=c.isProvider?c:d.get(c);if(c){c.un("data",b.onProviderData,b);a=c.id;if(e[a]){e[a].destroy();delete e[a]}d.remove(c);return c}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,a){var d=this,b,c;if(Ext.isArray(a)){for(b=0,c=a.length;b<c;++b){d.onProviderData(e,a[b])}return}if(a.name&&a.name!=="event"&&a.name!=="exception"){d.fireEvent(a.name,a)}else{if(a.status===false){d.fireEvent("exception",a)}}d.fireEvent("event",a,e)},parseMethod:function(b){var a=Ext.global,c=0,g,e,d;if(Ext.isFunction(b)){g=b}else{if(Ext.isString(b)){g=this.remotingMethods[b];if(!g){e=b.split(".");d=e.length;while(a&&c<d){a=a[e[c]];++c}g=Ext.isFunction(a)?a:null}}}return g||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(b){var c=b.url,a;a=Ext.String.format(this.apiNotFoundError,c);this.fireEventArgs("providerloaderror",[c,a]);Ext.callback(b.callback,b.scope,[c,a])},registerMethod:function(b,a){this.remotingMethods[b]=a},clearAllMethods:function(){this.remotingMethods={}}}},function(){Ext.Direct=Ext.direct.Manager});Ext.define("Ext.direct.Provider",{alias:"direct.provider",mixins:[Ext.util.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.mixins.observable.destroy.call(a)},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(a){var b=this;if(b.subscribers>0){if(a){b.subscribers=0}else{b.subscribers--}if(b.subscribers===0){b.doDisconnect();b.fireEventArgs("disconnect",[b])}}},doDisconnect:Ext.emptyFn,inheritableStatics:{checkConfig:Ext.returnFalse},onClassExtended:function(a,b,c){if(b.type){Ext.direct.Manager.addProviderClass(b.type,a)}}});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(arguments)},forEach:function(a,n){var e=this,l=Ext.Object.getKeys(e.map),h=l.length,m=e.getPageSize(),b,c,k,g,d;for(b=0;b<h;b++){l[b]=+l[b]}Ext.Array.sort(l,Ext.Array.numericSortFn);n=n||e;for(b=0;b<h;b++){k=l[b];g=e.getPage(k);d=g.length;for(c=0;c<d;c++){if(a.call(n,g[c],(k-1)*m+c)===false){return}}}},findBy:function(a,d){var b=this,c=null;d=d||b;b.forEach(function(g,e){if(a.call(d,g,e)){c=g;return false}});return c},findIndexBy:function(a,d){var b=this,c=-1;d=d||b;b.forEach(function(g,e){if(a.call(d,g)){c=e;return false}});return c},find:function(c,i,g,h,a,b){if(Ext.isEmpty(i,false)){return null}var d=Ext.String.createRegex(i,h,a,b),e=this.getRootProperty();return this.findBy(function(j){return j&&d.test((e?j[e]:j)[c])},null,g)},findIndex:function(c,i,g,h,a,b){if(Ext.isEmpty(i,false)){return null}var d=Ext.String.createRegex(i,h,a,b),e=this.getRootProperty();return this.findIndexBy(function(j){return j&&d.test((e?j[e]:j)[c])},null,g)},getPageFromRecordIndex:function(a){return Math.floor(a/this.getPageSize())+1},addAll:function(a){if(this.getCount()){Ext.Error.raise("Cannot addAll to a non-empty PageMap")}this.addPage(1,a)},addPage:function(h,k){var e=this,j=e.getPageSize(),c=h+Math.floor((k.length-1)/j),m=(h-1)*j,b=e.indexMap,g,a,d,l;for(l=0;h<=c;h++,l+=j){g=Ext.Array.slice(k,l,l+j);for(a=0,d=g.length;a<d;a++){b[g[a].internalId]=m++}e.add(h,g);e.fireEvent("pageadd",e,h,g)}},getCount:function(){var a=this.callParent();if(a){a=(a-1)*this.getPageSize()+this.last.value.length}return a},getByInternalId:function(b){var a=this.indexMap[b];if(a!=null){return this.getAt(a)}},indexOf:function(a){var b=-1;if(a){b=this.indexMap[a.internalId];if(b==null){b=-1}}return b},insert:function(){Ext.Error.raise("insert operation not suppported into buffered Store")},remove:function(){Ext.Error.raise("remove operation not suppported from buffered Store")},removeAt:function(){Ext.Error.raise("removeAt operation not suppported from buffered Store")},removeAtKey:function(d){var c=this,g=c.getPage(d),b,a,e;if(g){if(c.fireEvent("beforepageremove",c,d,g)!==false){b=g.length;for(a=0;a<b;a++){delete c.indexMap[g[a].internalId]}e=c.callParent(arguments);c.fireEvent("pageremove",c,d,g);g.length=0}}return e},getPage:function(a){return this.get(a)},hasRange:function(d,a){var c=this.getPageFromRecordIndex(d),b=this.getPageFromRecordIndex(a);for(;c<=b;c++){if(!this.hasPage(c)){return false}}return true},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(m,d){d--;if(!this.hasRange(m,d)){Ext.Error.raise("PageMap asked for range which it does not have")}var g=this,i=g.getPageSize(),n=g.getPageFromRecordIndex(m),e=g.getPageFromRecordIndex(d),b=(n-1)*i,a=(e*i)-1,h=n,j=[],k,l,c;for(;h<=e;h++){if(h===n){k=m-b;c=true}else{k=0;c=false}if(h===e){l=i-(a-d);c=true}if(c){Ext.Array.push(j,Ext.Array.slice(g.getPage(h),k,l))}else{Ext.Array.push(j,g.getPage(h))}}return j}});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(a){var b=this.data||(this.data=this.createDataCollection());if(a&&a!==true){Ext.Error.raise("Cannot load a buffered store with local data - the store is a map of remote data")}return b},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()},updateRemoteFilter:function(b,a){if(b===false){Ext.Error.raise("Buffered stores are always remotely filtered.")}this.callParent([b,a])},updateRemoteSort:function(b,a){if(b===false){Ext.Error.raise("Buffered stores are always remotely sorted.")}this.callParent([b,a])},updateTrackRemoved:function(a){if(a!==false){Ext.Error.raise("Cannot use trackRemoved with a buffered store.")}this.callParent(arguments)},updateGroupField:function(a){var b=this;if(b.isInitializing){b.blockLoad()}b.group(a);if(b.isInitializing){b.unblockLoad()}},getGrouper:function(){return this.grouper},isGrouped:function(){return !!this.grouper},createDataCollection:function(){var a=this,b=new Ext.data.PageMap({store:a,rootProperty:"data",pageSize:a.getPageSize(),maxSize:a.getPurgePageCount(),listeners:{clear:a.onPageMapClear,scope:a}});a.relayEvents(b,["beforepageremove","pageadd","pageremove"]);a.pageRequests={};return b},add:function(){Ext.Error.raise("add method may not be called on a buffered store - the store is a map of remote data")},insert:function(){Ext.Error.raise("insert method may not be called on a buffered store - the store is a map of remote data")},removeAll:function(c){var b=this,a=b.getData();if(a){if(c){b.suspendEvent("clear")}a.clear();if(c){b.resumeEvent("clear")}}},load:function(b){var a=this;if(a.loading){return}b=b||{};a.getData().clear();b.page=1;b.start=0;b.limit=a.getViewSize()||a.getDefaultViewSize();b.loadCallback=b.callback;delete b.callback;return a.loadToPrefetch(b)},reload:function(j){var h=this,b=h.getData(),g=Number.MAX_VALUE,l,c,m,d,e,n,a,k;if(!j){j={}}if(h.loading||h.fireEvent("beforeload",h,j)===false){return}n=function(){var i=h.totalCount,o=c-l;if(c>=i){c=i-1;l=Math.max(c-o,0)}if(h.rangeCached(l,Math.min(c,h.totalCount))){h.loading=false;b.un("pageadd",n);k=b.getRange(l,c+1);h.fireEvent("load",h,k,true);h.fireEvent("refresh",h)}};a=Math.ceil((h.getLeadingBufferZone()+h.getTrailingBufferZone())/2);if(h.lastRequestStart&&h.preserveScrollOnReload){l=h.lastRequestStart;c=h.lastRequestEnd;g=h.getTotalCount()}else{l=j.start||0;c=l+(j.count||h.getPageSize())-1}b.clear(true);delete h.totalCount;l=Math.max(l-a,0);c=Math.min(c+a,g);m=h.getPageFromRecordIndex(l);d=h.getPageFromRecordIndex(c);h.loading=true;j.waitForReload=n;b.on("pageadd",n);for(e=m;e<=d;e++){h.prefetchPage(e,j)}},filter:function(){if(!this.getRemoteFilter()){Ext.Error.raise("Local filtering may not be used on a buffered store - the store is a map of remote data")}this.callParent(arguments)},filterBy:function(a,b){Ext.Error.raise("Local filtering may not be used on a buffered store - the store is a map of remote data")},loadData:function(b,a){Ext.Error.raise("LoadData may not be used on a buffered store - the store is a map of remote data")},loadPage:function(c,b){var a=this;b=b||{};b.page=a.currentPage=c;b.start=(c-1)*a.getPageSize();b.limit=a.getViewSize()||a.getDefaultViewSize();b.loadCallback=b.callback;delete b.callback;return a.loadToPrefetch(b)},clearData:function(b){var c=this,a=c.getData();if(a){a.clear()}},getCount:function(){return this.totalCount||0},getRange:function(n,b,g){var e=this,d=e.totalCount-1,c=e.lastRequestStart,m=[],a=e.getData(),h,k,i,l,j;g=Ext.apply({prefetchStart:n,prefetchEnd:b},g);b=(b>=e.totalCount)?d:b;k=n===0?0:n-1;i=b===d?b:b+1;e.lastRequestStart=n;e.lastRequestEnd=b;if(e.rangeCached(k,i)){e.onRangeAvailable(g);m=a.getRange(n,b+1)}else{e.fireEvent("cachemiss",e,n,b);l=e.getPageFromRecordIndex(k);j=e.getPageFromRecordIndex(i);h=function(p,o,q){if(o>=l&&o<=j&&e.rangeCached(k,i)){e.fireEvent("cachefilled",e,n,b);a.un("pageadd",h);e.onRangeAvailable(g)}};a.on("pageadd",h);e.prefetchRange(n,b)}e.primeCache(n,b,n<c?-1:1);return m},getById:function(a){var b=this.data.findBy(function(c){return c.getId()===a});return b},getAt:function(b){var a=this.getData();if(a.hasRange(b,b)){return a.getAt(b)}},getByInternalId:function(a){return this.data.getByInternalId(a)},indexOf:function(a){return this.getData().indexOf(a)},indexOfId:function(a){return this.indexOf(this.getById(a))},group:function(b,a){var c=this,d;if(b&&typeof b==="string"){d=c.grouper;if(!d){c.grouper=new Ext.util.Grouper({property:b,direction:a||"ASC",root:"data"})}else{if(a===undefined){d.toggle()}else{d.setDirection(a)}}}else{c.grouper=b?c.getSorters().decodeSorter(b,"Ext.util.Grouper"):null}if(c.isLoadBlocked()){return}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(c){var a=this,b=a.getPurgePageCount();return b?Math.max(a.getData().getMaxSize()||0,Math.ceil((c+a.getTrailingBufferZone()+a.getLeadingBufferZone())/a.getPageSize())*2+b):0},loadToPrefetch:function(m){var k=this,n=m,h,p,c,q=m.start,d=m.start+m.limit-1,o=(k.getViewSize()||m.limit),j=Math.min(d,m.start+o-1),r=k.getPageFromRecordIndex(Math.max(q-k.getTrailingBufferZone(),0)),e=k.getPageFromRecordIndex(d+k.getLeadingBufferZone()),b=k.getData(),a=function(){p=p||[];if(m.loadCallback){m.loadCallback.call(m.scope||k,p,l,true)}if(m.callback){m.callback.call(m.scope||k,p,q||0,d||0,m)}},g=function(){k.fireEvent("datachanged",k);k.fireEvent("refresh",k);k.fireEvent("load",k,p,true)},s=function(){if(k.rangeCached(q,j)){k.loading=false;p=b.getRange(q,j+1);b.un("pageadd",s);if(k.hasListeners.guaranteedrange){k.guaranteeRange(q,j,m.callback,m.scope)}a();g()}},l;if(isNaN(k.pageSize)||!k.pageSize){Ext.Error.raise("Buffered store configured without a pageSize",k)}b.setMaxSize(k.calculatePageCacheSize(o));if(k.fireEvent("beforeload",k,m)!==false){delete k.totalCount;k.loading=true;if(m.callback){n=Ext.apply({},m);delete n.callback}k.on("prefetch",function(u,t,v,i){l=i;if(v){if((c=k.getTotalCount())){b.on("pageadd",s);j=Math.min(j,c-1);e=k.getPageFromRecordIndex(Math.min(j+k.getLeadingBufferZone(),c-1));for(h=r+1;h<=e;++h){k.prefetchPage(h,n)}}else{a();g()}}else{k.loading=false;a();k.fireEvent("load",k,t,false)}},null,{single:true});k.prefetchPage(r,n)}},prefetch:function(e){var c=this,g=c.getPageSize(),a=c.getData(),d,b;if(g){if(c.lastPageSize&&g!=c.lastPageSize){Ext.Error.raise("pageSize cannot be dynamically altered")}if(!a.getPageSize()){a.setPageSize(g)}}else{c.pageSize=a.setPageSize(g=e.limit)}c.lastPageSize=g;if(!e.page){e.page=c.getPageFromRecordIndex(e.start);e.start=(e.page-1)*g;e.limit=Math.ceil(e.limit/g)*g}b=c.pageRequests[e.page];if(!b||b.getOperation().pageMapGeneration!==a.pageMapGeneration){e=Ext.apply({action:"read",filters:c.getFilters().items,sorters:c.getSorters().items,grouper:c.getGrouper(),internalCallback:c.onProxyPrefetch,internalScope:c},e);d=c.createOperation("read",e);d.pageMapGeneration=a.pageMapGeneration;if(c.fireEvent("beforeprefetch",c,d)!==false){c.pageRequests[e.page]=d.execute();if(c.getProxy().isSynchronous){delete c.pageRequests[e.page]}}}return c},onPageMapClear:function(){var c=this,b=c.wasLoading,e=c.pageRequests,a=c.getData(),d;a.clearListeners();a.on("clear",c.onPageMapClear,c);c.relayEvents(a,["beforepageremove","pageadd","pageremove"]);c.loading=true;c.totalCount=0;for(d in e){if(e.hasOwnProperty(d)){e[d].getOperation().abort()}}c.fireEvent("clear",c);c.loading=b},prefetchPage:function(c,b){var a=this,d=a.getPageSize(),e=(c-1)*d,g=a.totalCount;if(g!==undefined&&a.data.getCount()===g){return}a.prefetch(Ext.applyIf({page:c,start:e,limit:d},b))},onProxyPrefetch:function(e){if(this.destroyed){return}var b=this,j=e.getResultSet(),h=e.getRecords(),k=e.wasSuccessful(),g=e.getPage(),l=e.waitForReload,c=b.totalCount,i=b.pageRequests,a,d;if(e.pageMapGeneration===b.getData().pageMapGeneration){if(j){b.totalCount=j.getTotal();if(b.totalCount!==c){b.fireEvent("totalcountchange",b.totalCount)}}if(g!==undefined){delete b.pageRequests[g]}b.loading=false;b.fireEvent("prefetch",b,h,k,e);if(k){if(b.totalCount===0){if(l){for(a in i){d=i[a].getOperation();if(d.waitForReload===l){delete d.waitForReload}}b.getData().un("pageadd",l);b.fireEvent("load",b,[],true);b.fireEvent("refresh",b)}}else{b.cachePage(h,e.getPage())}}Ext.callback(e.getCallback(),e.getScope()||b,[h,e,k])}},cachePage:function(e,d){var c=this,b=e.length,a;if(!Ext.isDefined(c.totalCount)){c.totalCount=e.length;c.fireEvent("totalcountchange",c.totalCount)}for(a=0;a<b;a++){e[a].join(c)}c.getData().addPage(d,e)},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(c){var b=this,g=b.getTotalCount(),e=c.prefetchStart,a=(c.prefetchEnd>g-1)?g-1:c.prefetchEnd,d;a=Math.max(0,a);if(e>a){Ext.log({level:"warn",msg:"Start ("+e+") was greater than end ("+a+") for the range of records requested ("+e+"-"+c.prefetchEnd+")"+(this.storeId?' from store "'+this.storeId+'"':"")})}d=b.getData().getRange(e,a+1);if(c.fireEvent!==false){b.fireEvent("guaranteedrange",d,e,a,c)}if(c.callback){c.callback.call(c.scope||b,d,e,a,c)}},guaranteeRange:function(e,b,a,d,c){c=Ext.apply({callback:a,scope:d},c);this.getRange(e,b+1,c)},prefetchRange:function(g,b){var d=this,h,c,e,a=d.getData();if(!d.rangeCached(g,b)){h=d.getPageFromRecordIndex(g);c=d.getPageFromRecordIndex(b);a.setMaxSize(d.calculatePageCacheSize(b-g+1));for(e=h;e<=c;e++){if(!d.pageCached(e)){d.prefetchPage(e)}}}},primeCache:function(g,b,a){var d=this,c=d.getLeadingBufferZone(),i=d.getTrailingBufferZone(),e=d.getPageSize(),h=d.totalCount;if(a===-1){g=Math.max(g-c,0);b=Math.min(b+i,h-1)}else{if(a===1){g=Math.max(Math.min(g-i,h-e),0);b=Math.min(b+c,h-1)}else{g=Math.min(Math.max(Math.floor(g-((c+i)/2)),0),h-d.pageSize);b=Math.min(Math.max(Math.ceil(b+((c+i)/2)),0),h-1)}}d.prefetchRange(g,b)},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){if(this.isLoadBlocked()){return}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,b=d.getDirectFn(),a=d.getApi(),c=Ext.direct.Manager,e;if(b){d.setDirectFn(e=c.parseMethod(b));if(!Ext.isFunction(e)){Ext.Error.raise("Cannot resolve directFn "+b)}}if(a){for(b in a){if(a.hasOwnProperty(b)){e=a[b];a[b]=c.parseMethod(e);if(!Ext.isFunction(a[b])){Ext.Error.raise("Cannot resolve Direct api "+b+" method "+e)}}}}d.methodsResolved=true},doRequest:function(h){var g=this,k,j,a,i,c,b,e,d;if(!g.methodsResolved){g.resolveMethods()}j=g.buildRequest(h);a=j.getAction();b=g.getApi();if(b){e=b[a]}e=e||g.getDirectFn();if(!e){Ext.Error.raise("No Ext.Direct function specified for this proxy")}k=g.getWriter();if(k&&h.allowWrite()){j=k.write(j)}if(a==="read"){i=j.getParams()}else{i=j.getJsonData()}c=e.directCfg.method.getArgs({params:i,paramOrder:g.getParamOrder(),paramsAsHash:g.getParamsAsHash(),metadata:g.getMetadata(),callback:g.createRequestCallback(j,h),scope:g});j.setConfig({args:c,directFn:e});e.apply(window,c);return j},applyEncoding:Ext.identityFn,createRequestCallback:function(c,b){var a=this;return function(d,e){a.processResponse(e.status,b,c,e)}},extractResponseData:function(a){return Ext.isDefined(a.result)?a.result:a.data},setException:function(a,b){a.setException(b.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(i){i=Ext.apply({},i);if(!i.url){Ext.Error.raise("A url must be specified for a JSONP request.")}var g=this,d=Ext.isDefined(i.disableCaching)?i.disableCaching:g.disableCaching,a=i.disableCachingParam||g.disableCachingParam,e=++g.requestCount,c=i.callbackName||"callback"+e,b=i.callbackKey||g.callbackKey,m=Ext.isDefined(i.timeout)?i.timeout:g.timeout,j=Ext.apply({},i.params),n=i.url,h=Ext.name,k,l;if(d&&!j[a]){j[a]=Ext.Date.now()}i.params=j;j[b]=h+".data.JsonP."+c;l=g.createScript(n,j,i);g.requests[e]=k={url:n,params:j,script:l,id:e,scope:i.scope,success:i.success,failure:i.failure,callback:i.callback,callbackKey:b,callbackName:c};if(m>0){k.timeout=Ext.defer(g.handleTimeout,m,g,[k])}g.setupErrorHandling(k);g[c]=Ext.bind(g.handleResponse,g,[k],true);g.loadScript(k);return k},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(c,b){var d=true,a=Ext.GlobalEvents;if(b.timeout){clearTimeout(b.timeout)}delete this[b.callbackName];delete this.requests[b.id];this.cleanupErrorHandling(b);Ext.fly(b.script).destroy();if(b.errorType){d=false;Ext.callback(b.failure,b.scope,[b.errorType])}else{Ext.callback(b.success,b.scope,[c])}Ext.callback(b.callback,b.scope,[d,c,b.errorType]);if(a.hasListeners.idle){a.fireEvent("idle")}},createScript:function(d,b,a){var c=document.createElement("script");c.setAttribute("src",Ext.urlAppend(d,Ext.Object.toQueryString(b)));c.setAttribute("async",true);c.setAttribute("type","text/javascript");return c},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(b){var a=this,d=a.buildRequest(b),c=d.getParams();d.setConfig({callbackKey:a.callbackKey,timeout:a.timeout,scope:a,disableCaching:false,callback:a.createRequestCallback(d,b)});if(a.getAutoAppendParams()){d.setParams({})}d.setRawRequest(Ext.data.JsonP.request(d.getCurrentConfig()));d.setParams(c);a.lastRequest=d;return d},createRequestCallback:function(c,b){var a=this;return function(g,e,d){if(c===a.lastRequest){a.lastRequest=null}a.processResponse(g,b,c,e)}},setException:function(a,b){a.setException(a.getRequest().getRawRequest().errorType)},buildUrl:function(h){var d=this,j=d.callParent(arguments),g=h.getRecords(),l=d.getWriter(),e,b,a,c,k;if(l&&h.getOperation().allowWrite()){h=l.write(h)}e=h.getParams();b=e.filters;delete e.filters;if(b&&b.length){for(c=0;c<b.length;c++){a=b[c];k=a.getValue();if(k){e[a.getProperty()]=k}}}if(Ext.isArray(g)&&g.length>0&&(!l||!l.getEncode())){e[d.getRecordParam()]=d.encodeRecords(g)}if(d.getAutoAppendParams()){j=Ext.urlAppend(j,Ext.Object.toQueryString(e))}return j},abort:function(a){a=a||this.lastRequest;if(a){Ext.data.JsonP.abort(a.getRawRequest())}},encodeRecords:function(d){var a=[],b=0,c=d.length;for(;b<c;b++){a.push(Ext.encode(d[b].getData()))}return a}});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(a,c,b){var d=c;if(!d.isEntity){d=this.getModel(c||a.name)}return d.createWithId(b,a)},each:function(a,b){Ext.data.Model.schema.eachEntity(a,b)},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(e){var d=Ext.data.schema.Schema.lookupEntity(e),g=d.prototype,b,a,c;if(!d.prototype.isObservable){d.mixin(Ext.mixin.Observable.prototype.mixinId,Ext.mixin.Observable)}if(g.isNode){return}b=g.idProperty;a=d.getField(b);c=a.type;d.override(this.getPrototypeBody());d.addFields([{name:"parentId",type:c,defaultValue:null,allowNull:a.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(e){var d=this,c=d.childType,j,k,g,h,i,m,l=d.self;if(!e.isModel){if(c){l=d.schema.getEntity(c)}else{j=d.getTreeStore();k=j&&j.getProxy().getReader();g=d.getProxy();h=g?g.getReader():null;i=!k||(h&&h.initialConfig.typeProperty)?h:k;if(i){m=i.getTypeProperty();if(m){l=i.getChildType(d.schema,e,m)}}}e=new l(e)}if(!e.childNodes){e.firstChild=e.lastChild=e.parentNode=e.previousSibling=e.nextSibling=null;e.childNodes=[]}return e},isLeaf:function(){return this.get("leaf")===true},setFirstChild:function(c){this.firstChild=c},setLastChild:function(c){this.lastChild=c},updateInfo:function(g,n){var p=this,j=p.data,t=j.depth,d={},e=p.childNodes,c=e.length,v=p.phantom,l=p.fields,q=p.modified||(p.modified={}),w,s,k,h,o,r=n.parentId,x,u,m;if(!n){Ext.Error.raise("NodeInterface expects update info to be passed")}for(w in n){k=l[p.fieldOrdinals[w]];s=n[w];u=k&&k.persist;h=j[w];x=u&&(w==="index")&&(h!==-1)&&(r&&r!==q.parentId);if(!x&&p.isEqual(h,s)){continue}j[w]=s;if(u){if(!x&&q.hasOwnProperty(w)){if(p.isEqual(q[w],s)){delete q[w];p.dirty=false;for(o in q){if(q.hasOwnProperty(o)){p.dirty=true;break}}}}else{p.dirty=true;q[w]=h}}}if(g){p.commit();p.phantom=v}if(p.data.depth!==t){d={depth:p.data.depth+1};for(m=0;m<c;m++){e[m].updateInfo(g,d)}}},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(l,p,e){var k=this,g,j,h,m,n,d={isLast:true,parentId:k.getId(),depth:(k.data.depth||0)+1},o,q=k.getTreeStore(),c=q&&q.bulkUpdate;Ext.suspendLayouts();if(Ext.isArray(l)){j=l.length;o=new Array(j);k.callTreeStore("beginFill");for(g=0;g<j;g++){o[g]=k.appendChild(l[g],p,e)}k.callTreeStore("endFill",[o])}else{l=k.createNode(l);if(p!==true&&k.fireEventArgs("beforeappend",[k,l])===false){Ext.resumeLayouts(true);return false}h=k.childNodes.length;m=l.parentNode;if(m){if(p!==true&&l.fireEventArgs("beforemove",[l,m,k,h])===false){Ext.resumeLayouts(true);return false}if(m.removeChild(l,false,p,m.getTreeStore()===q)===false){Ext.resumeLayouts(true);return false}}q&&q.beginUpdate();h=k.childNodes.length;if(h===0){k.setFirstChild(l)}k.childNodes[h]=l;l.parentNode=k;l.nextSibling=null;k.setLastChild(l);n=k.childNodes[h-1];if(n){l.previousSibling=n;n.nextSibling=l;n.updateInfo(e,{isLast:false});if(!c){n.triggerUIUpdate()}}else{l.previousSibling=null}d.isFirst=h===0;d.index=h;l.updateInfo(e,d);if(k.isLeaf()){k.set("leaf",false)}if(!k.isLoaded()){if(c){k.data.loaded=true}else{k.set("loaded",true)}}else{if(k.childNodes.length===1&&!c){k.triggerUIUpdate()}}if(h&&k.childNodes[h-1].isExpanded()&&!c){k.childNodes[h-1].cascadeBy(k.triggerUIUpdate)}if(q){q.registerNode(k,!c);if(c){q.registerNode(l)}}if(p!==true){k.fireEventArgs("append",[k,l,h]);if(m){l.fireEventArgs("move",[l,m,k,h])}}k.callTreeStore("onNodeAppend",[l,h]);o=l;if(q){q.endUpdate()}}Ext.resumeLayouts(true);return o},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(l,e,o,j){var k=this,h=k.indexOf(l),g,d,m,p=k.getTreeStore(),c=p&&p.bulkUpdate,n;if(h===-1||(o!==true&&k.fireEventArgs("beforeremove",[k,l,!!j])===false)){return false}Ext.suspendLayouts();p&&p.beginUpdate();Ext.Array.erase(k.childNodes,h,1);if(k.firstChild===l){k.setFirstChild(l.nextSibling)}if(k.lastChild===l){k.setLastChild(l.previousSibling)}m=l.previousSibling;if(m){l.previousSibling.nextSibling=l.nextSibling}if(l.nextSibling){l.nextSibling.previousSibling=l.previousSibling;if(h===0){l.nextSibling.updateInfo(false,{isFirst:true})}for(g=h,d=k.childNodes.length;g<d;g++){k.childNodes[g].updateInfo(false,{index:g})}}else{if(m){m.updateInfo(false,{isLast:true});if(!c){if(m.isExpanded()){m.cascadeBy(k.triggerUIUpdate)}else{m.triggerUIUpdate()}}}}if(!k.childNodes.length&&!c){k.triggerUIUpdate()}Ext.resumeLayouts(true);if(o!==true){n={parentNode:l.parentNode,previousSibling:l.previousSibling,nextSibling:l.nextSibling};k.callTreeStore("beforeNodeRemove",[[l],!!j]);l.previousSibling=l.nextSibling=l.parentNode=null;k.fireEventArgs("remove",[k,l,!!j,n]);k.callTreeStore("onNodeRemove",[[l],!!j])}if(e){l.erase(true)}else{l.clear()}if(!j){l.set({parentId:null,lastParentId:k.getId()},b)}if(p){p.endUpdate()}return l},copy:function(h,c){var g=this,j=g.callParent([h]),e=g.childNodes?g.childNodes.length:0,d;if(c){for(d=0;d<e;d++){j.appendChild(g.childNodes[d].copy(undefined,true))}}return j},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 g=this,c=g.childNodes,j=g.parentNode,e=c?c.length:0,d,h,k;g.callParent();if(j){k=g.getTreeStore();j.removeChild(g)}else{if(g.get("root")){k=g.getTreeStore();k.setRoot(null)}}k&&k.beginUpdate();for(d=0;d<e;d++){h=c[d];h.clear();h.drop()}k&&k.endUpdate()},erase:function(j){var g=this,c=g.childNodes,e=c&&c.length,d,h;g.remove();g.clear(true);g.callParent([j]);for(d=0;d<e;d++){h=c[d];h.parentNode=null;h.erase(j)}},insertBefore:function(j,n,o){var h=this,g=h.indexOf(n),k=j.parentNode,m=g,d,l,e,p=h.getTreeStore(),c=p&&p.bulkUpdate;if(!n){return h.appendChild(j)}if(j===n){return false}j=h.createNode(j);if(o!==true&&h.fireEventArgs("beforeinsert",[h,j,n])===false){return false}if(k===h&&h.indexOf(j)<g){m--}if(k){if(o!==true&&j.fireEventArgs("beforemove",[j,k,h,g,n])===false){return false}if(k.removeChild(j,false,o,k.getTreeStore()===p)===false){return false}}p&&p.beginUpdate();if(m===0){h.setFirstChild(j)}Ext.Array.splice(h.childNodes,m,0,j);j.parentNode=h;j.nextSibling=n;n.previousSibling=j;l=h.childNodes[m-1];if(l){j.previousSibling=l;l.nextSibling=j}else{j.previousSibling=null}j.updateInfo(false,{parentId:h.getId(),index:m,isFirst:m===0,isLast:false,depth:(h.data.depth||0)+1});for(e=m+1,d=h.childNodes.length;e<d;e++){h.childNodes[e].updateInfo(false,{index:e})}if(!h.isLoaded()){if(c){h.data.loaded=true}else{h.set("loaded",true)}}else{if(h.childNodes.length===1&&!c){h.triggerUIUpdate()}}if(p){p.registerNode(h,!c)}if(o!==true){h.fireEventArgs("insert",[h,j,n]);if(k){j.fireEventArgs("move",[j,k,h,m,n])}}h.callTreeStore("onNodeInsert",[j,m]);if(p){p.endUpdate()}return j},insertChild:function(c,d){var e=this.childNodes[c];if(e){return this.insertBefore(d,e)}else{return this.appendChild(d)}},isLastVisible:function(){var c=this,e=c.data.isLast,d=c.nextSibling;if(!e&&c.getTreeStore().isFiltered()){while(d){if(d.data.visible){return false}d=d.nextSibling}return true}return e},remove:function(c,g){var d=this,e=d.parentNode;if(e){e.removeChild(d,c,g)}else{if(c){d.erase(true)}}return d},removeAll:function(d,l,e){var j=this,c=j.childNodes,h=c.length,k,m,g;if(!h){return}if(!e){m=j.getTreeStore();if(m){m.beginUpdate();m.suspendEvent("remove");j.callTreeStore("beforeNodeRemove",[c,false])}}for(g=0;g<h;++g){k=c[g];k.previousSibling=k.nextSibling=k.parentNode=null;j.fireEventArgs("remove",[j,k,false]);if(d){k.erase(true)}else{k.removeAll(false,l,true)}}if(!e&&m){m.resumeEvent("remove");j.callTreeStore("onNodeRemove",[c,false]);m.endUpdate()}j.firstChild=j.lastChild=null;c.length=0;if(!e){j.triggerUIUpdate()}return j},getChildAt:function(c){return this.childNodes[c]},replaceChild:function(c,d,g){var e=d?d.nextSibling:null;this.removeChild(d,false,g);this.insertBefore(c,e,g);return d},indexOf:function(c){return Ext.Array.indexOf(this.childNodes,c)},indexOfId:function(e){var c=this.childNodes,g=c.length,d=0;for(;d<g;++d){if(c[d].getId()===e){return d}}return -1},getPath:function(c,g){c=c||this.idProperty;g=g||"/";var e=[this.get(c)],d=this.parentNode;while(d){e.unshift(d.get(c));d=d.parentNode}return g+e.join(g)},getDepth:function(){return this.get("depth")},bubble:function(d,g,c){var e=this;while(e){if(d.apply(g||e,c||[e])===false){break}e=e.parentNode}},cascade:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead.")}return this.cascadeBy.apply(this,arguments)},cascadeBy:function(e,l,d,c){var k=this;if(arguments.length===1&&!Ext.isFunction(e)){c=e.after;l=e.scope;d=e.args;e=e.before}if(!e||e.apply(l||k,d||[k])!==false){var g=k.childNodes,j=g.length,h;for(h=0;h<j;h++){g[h].cascadeBy.call(g[h],e,l,d,c)}if(c){c.apply(l||k,d||[k])}}},eachChild:function(e,j,c){var d=this.childNodes,h=d.length,g;for(g=0;g<h;g++){if(e.apply(j||this,c||[d[g]])===false){break}}},findChild:function(c,e,d){return this.findChildBy(function(){return this.get(c)==e},null,d)},findChildBy:function(e,l,d){var c=this.childNodes,h=c.length,g=0,j,k;for(;g<h;g++){j=c[g];if(e.call(l||j,j)===true){return j}else{if(d){k=j.findChildBy(e,l,d);if(k!==null){return k}}}}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(l,k,m){var h=this,c=h.childNodes,g=c.length,d,j,e={isFirst:true};if(g>0){if(!l){l=h.getTreeStore().getSortFn()}Ext.Array.sort(c,l);h.setFirstChild(c[0]);h.setLastChild(c[g-1]);for(d=0;d<g;d++){j=c[d];j.previousSibling=c[d-1];j.nextSibling=c[d+1];e.isLast=(d===g-1);e.index=d;j.updateInfo(false,e);e.isFirst=false;if(k&&!j.isLeaf()){j.sort(l,true,true)}}if(m!==true){h.fireEventArgs("sort",[h,c]);h.callTreeStore("onNodeSort",[c])}}},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(e,c,h){var d=this,i,g;if(!d.isLeaf()){if(d.isLoading()){d.on("expand",function(){d.expand(e,c,h)},d,{single:true})}else{if(!d.isExpanded()){if(d.fireEventArgs("beforeexpand",[d])!==false){if(e){if(d.parentNode&&d.parentNode.isSynchronousRecursiveExpand){d.isSynchronousRecursiveExpand=true}else{i=d.getTreeStore();if(i.getProxy().isSynchronous||d.isBranchLoaded()){d.isSynchronousRecursiveExpand=true;i.suspendEvent("add");g=true}}}d.callTreeStore("onBeforeNodeExpand",[d.onChildNodesAvailable,d,[e,c,h]]);if(g){i.resumeEvent("add");i.fireEvent("refresh",i)}d.isSynchronousRecursiveExpand=false}}else{if(e){d.expandChildren(true,c,h)}else{Ext.callback(c,h||d,[d.childNodes])}}}}else{Ext.callback(c,h||d)}},onChildNodesAvailable:function(k,l,e,m){var j=this,n=j.getTreeStore(),d=n&&n.bulkUpdate,c,h,g;Ext.suspendLayouts();for(c=j.parentNode;c;c=c.parentNode){if(!c.isExpanded()){(g||(g=[])).unshift(c)}}if(d){j.data.expanded=true}else{j.set("expanded",true)}if(g){for(h=1;h<g.length;h++){c=g[h];if(d){c.data.expanded=true}else{c.set("expanded",true)}}g[0].expand();for(h=1;h<g.length;h++){c=g[h];c.fireEventArgs("expand",[c,c.childNodes])}}else{j.callTreeStore("onNodeExpand",[k,false])}j.fireEventArgs("expand",[j,k]);if(l){j.expandChildren(true,e,m)}else{Ext.callback(e,m||j,[j.childNodes])}Ext.resumeLayouts(true)},expandChildren:function(m,d,n,o){var j=this,l,g,c,e,h,k,p;if(Ext.isBoolean(d)){l=d;d=n;n=o;o=l}if(o===undefined){p=j.getTreeStore();o=p&&p.singleExpand}c=j.childNodes;e=[];h=o?Math.min(c.length,1):c.length;for(g=0;g<h;++g){k=c[g];if(!k.isLeaf()){e[e.length]=k}}h=e.length;for(g=0;g<h;++g){e[g].expand(m)}if(d){Ext.callback(d,n||j,[j.childNodes])}},collapse:function(l,d,m){var k=this,g=k.isExpanded(),n=k.getTreeStore(),c=n&&n.bulkUpdate,j=k.childNodes.length,h,e;if(!k.isLeaf()&&((!g&&l)||k.fireEventArgs("beforecollapse",[k])!==false)){Ext.suspendLayouts();if(k.isExpanded()){if(l){e=function(){for(h=0;h<j;h++){k.childNodes[h].setCollapsed(true)}};if(d){d=Ext.Function.createSequence(e,Ext.Function.bind(d,m,[k.childNodes]))}else{d=e}}else{if(d){d=Ext.Function.bind(d,m,[k.childNodes])}}if(c){k.data.expanded=false}else{k.set("expanded",false)}k.callTreeStore("onNodeCollapse",[k.childNodes,d,m]);k.fireEventArgs("collapse",[k,k.childNodes]);d=null}else{if(l){for(h=0;h<j;h++){k.childNodes[h].setCollapsed(true)}}}Ext.resumeLayouts(true)}Ext.callback(d,m||k,[k.childNodes])},setCollapsed:function(g){var e=this,d=e.childNodes.length,c;if(!e.isLeaf()&&e.fireEventArgs("beforecollapse",[e])!==false){e.data.expanded=false;e.fireEventArgs("collapse",[e,e.childNodes]);if(g){for(c=0;c<d;c++){e.childNodes[c].setCollapsed(true)}}}},collapseChildren:function(l,d,m){var j=this,g,c=j.childNodes,h=c.length,e=[],k;for(g=0;g<h;++g){k=c[g];if(!k.isLeaf()&&k.isLoaded()&&k.isExpanded()){e.push(k)}}h=e.length;if(h){for(g=0;g<h;++g){k=e[g];if(g===h-1){k.collapse(l,d,m)}else{k.collapse(l)}}}else{Ext.callback(d,m)}},fireEvent:function(c){return this.fireEventArgs(c,Ext.Array.slice(arguments,1))},fireEventArgs:function(d,c){var g=Ext.mixin.Observable.prototype.fireEventArgs,h,e,i;if(a[d]){for(e=this;h!==false&&e;e=(i=e).parentNode){if(e.hasListeners&&e.hasListeners[d]){h=g.call(e,d,c)}}if(h!==false){e=i.getTreeStore();if(e&&e.hasListeners&&e.hasListeners[d="node"+d]){h=e.fireEventArgs(d,c)}}return h}else{return g.apply(this,arguments)}},serialize:function(k){var j=k||new Ext.data.writer.Json({writeAllFields:true}),h=j.getRecordData(this),c=this.childNodes,g=c.length,d,e;if(g>0){h.children=d=[];for(e=0;e<g;e++){d.push(c[e].serialize(j))}}return h},callTreeStore:function(e,c){var g=this,h=g.getTreeStore(),d=h&&h[e];if(h&&d){c=c||[];if(c[0]!==g){c.unshift(g)}d.apply(h,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.NodeStore",{extend:Ext.data.Store,alias:"store.node",isNodeStore:true,config:{node:null,recursive:false,rootVisible:false,folderSort:false},isExpandingOrCollapsing:0,getTotalCount:function(){return this.getCount()},afterEdit:function(b,a){if(this.getNode()&&a){if(Ext.Array.indexOf(a,"loaded")!==-1){return this.add(this.retrieveChildNodes(b))}if(Ext.Array.indexOf(a,"expanded")!==-1){return this.filter()}if(Ext.Array.indexOf(a,"sorted")!==-1){return this.sort()}}this.callParent(arguments)},afterReject:function(b){var a=this;if(a.contains(b)){a.onUpdate(b,Ext.data.Model.REJECT,null);a.fireEvent("update",a,b,Ext.data.Model.REJECT,null)}},afterCommit:function(c,b){var a=this;if(!b){b=null}if(a.contains(c)){a.onUpdate(c,Ext.data.Model.COMMIT,b);a.fireEvent("update",a,c,Ext.data.Model.COMMIT,b)}},onNodeAppend:function(b,a){this.add([a].concat(this.retrieveChildNodes(a)))},onNodeInsert:function(b,a){this.add([a].concat(this.retrieveChildNodes(a)))},onNodeRemove:function(b,a){this.remove([a].concat(this.retrieveChildNodes(a)))},onNodeExpand:function(a,b){this.loadRecords(b)},applyNode:function(a){if(a){Ext.data.NodeInterface.decorate(a)}return a},updateNode:function(c,d){var b=this,a;if(d&&!d.isDestroyed){d.un({append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",load:"onNodeLoad",scope:b});d.unjoin(b)}if(c){c.on({scope:b,append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",load:"onNodeLoad"});c.join(b);a=[];if(c.childNodes.length){a=a.concat(b.retrieveChildNodes(c))}if(b.getRootVisible()){a.push(c)}else{if(c.isLoaded()||c.isLoading()){c.set("expanded",true)}}b.getData().clear();b.fireEvent("clear",b);b.suspendEvents();b.add(a);b.resumeEvents();if(a.length===0){b.loaded=c.loaded=true}b.fireEvent("refresh",b,b.data)}},retrieveChildNodes:function(e){var c=this.getNode(),d=this.getRecursive(),a=[],b=e;if(!e.childNodes.length||(!d&&e!==c)){return a}if(!d){return e.childNodes}while(b){if(b._added){delete b._added;if(b===e){break}else{b=b.nextSibling||b.parentNode}}else{if(b!==e){a.push(b)}if(b.firstChild){b._added=true;b=b.firstChild}else{b=b.nextSibling||b.parentNode}}}return a},isVisible:function(a){var b=a.parentNode;if(!this.getRecursive()&&b!==this.getNode()){return false}while(b){if(!b.isExpanded()){return false}if(b===this.getNode()){break}b=b.parentNode}return true}});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 b=this.getParams(),c;if(b){return b[a]}return c},setParam:function(a,c){var b=this.getParams()||{};b[a]=c;this.setParams(b)}});Ext.define("Ext.mixin.Queryable",{mixinId:"queryable",isQueryable:true,query:function(a){a=a||"*";return Ext.ComponentQuery.query(a,this.getQueryRoot())},queryBy:function(a,h){var g=[],d=this.getQueryRoot().getRefItems(true),b=0,e=d.length,c;for(;b<e;++b){c=d[b];if(a.call(h||c,c)!==false){g.push(c)}}return g},queryById:function(a){return this.down(Ext.makeIdSelector(a))},child:function(b){var a=this.getQueryRoot().getRefItems();if(b&&b.isComponent){return this.matchById(a,b.getItemId())}if(b){a=Ext.ComponentQuery.query(b,a)}if(a.length){return a[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(d,b,c,a){Ext.ComponentQuery._visit(true,d,this.getQueryRoot(),b,c,a)},visitPostOrder:function(d,b,c,a){Ext.ComponentQuery._visit(false,d,this.getQueryRoot(),b,c,a)},getRefItems:function(){return[]},getQueryRoot:function(){return this},privates:{matchById:function(d,b){var e=d.length,a,c;for(a=0;a<e;++a){c=d[a];if(c.getItemId()===b){return c}}return null}}});Ext.define("Ext.data.TreeModel",{extend:Ext.data.Model,mixins:[Ext.mixin.Queryable],getRefItems:function(){return this.childNodes},getRefOwner:function(){return this.parentNode}},function(){Ext.data.NodeInterface.decorate(this)});Ext.define("Ext.data.TreeStore",{extend:Ext.data.NodeStore,alias:"store.tree",isTreeStore:true,config:{root:null,rootVisible:false,recursive:true,defaultRootProperty:"children",parentIdProperty:null,clearOnLoad:true,clearRemovedOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootText:"Root",folderSort:false},filterer:"topdown",lazyFill:false,implicitModelSuperCls:"Ext.data.TreeModel",fillCount:0,bulkUpdate:0,_silentOptions:{silent:true},constructor:function(a){var b=this;b.byIdMap={};b.callParent([a]);if(Ext.isDefined(b.nodeParameter)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.")}b.nodeParam=b.nodeParameter;delete b.nodeParameter}},applyFields:function(c,b){var a=this.getDefaultRootProperty();if(c){if(a!==this.self.prototype.config.defaultRootProperty){c=c.concat({name:a,type:"auto",defaultValue:null,persist:false})}}this.callParent([c,b])},onSorterEndUpdate:function(){var b=this,d=b.getSorters(),e=d.getRange(),c=b.getRoot(),a=b.getFolderSort();b.fireEvent("beforesort",b,e);if(c&&(a||e.length)){if(b.getRemoteSort()){if(e.length){b.attemptLoad({callback:function(){b.fireEvent("sort",b,e)}})}}else{c.sort(this.getSortFn(),true);b.fireEvent("datachanged",b);b.fireEvent("refresh",b);b.fireEvent("sort",b,e)}}else{b.fireEvent("sort",b,e)}},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(c,e){var d,g,h=0;if(a.needsFolderSort){d=c.data.leaf?1:0;g=e.data.leaf?1:0;h=d-g}if(a.needsIndexSort&&h===0){h=c.data.index-e.data.index}return h||b(c,e)}},afterEdit:function(c,b){var a=this;if(a.needsLocalFilter()){a.doFilter(c)}a.callParent([c,b])},fireChangeEvent:function(a){return !!this.byIdMap[a.id]},updateRootVisible:function(c){var b=this.getRoot(),a;if(b){a=this.getData();if(c){a.insert(0,b)}else{a.remove(b)}}},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(c,a){var b;if(c){if(c.setIdParam){c.setIdParam(this.getNodeParam())}b=c.getReader();if(Ext.isEmpty(b.getRootProperty())){b.setRootProperty(this.getDefaultRootProperty())}}this.callParent([c,a])},setProxy:function(a){this.changingProxy=true;this.callParent([a]);this.changingProxy=false},applyModel:function(b,a){return this.callParent([b,a])||Ext.data.TreeModel},updateModel:function(b){var a=b.prototype.isNode;Ext.data.NodeInterface.decorate(b);if(!a&&!this.changingProxy){this.getProxy().getReader().buildExtractors(true)}},onFilterEndUpdate:function(d){var h=this,g=d.length,j=h.getRoot(),b,a,c,e;if(!h.getRemoteFilter()){if(g){h.doFilter(j)}else{j.cascadeBy({after:function(i){i.set("visible",true,h._silentOptions)}})}if(g){c=[];b=j.childNodes;for(e=0,g=b.length;e<g;e++){a=b[e];if(a.get("visible")){c.push(a)}}}else{c=j.childNodes}h.onNodeFilter(j,c);j.fireEvent("filterchange",j,c);h.fireEvent("filterchange",h,d);h.suppressNextFilter=true;h.callParent([d]);h.suppressNextFilter=false}else{h.callParent([d])}},onNodeFilter:function(d,a){var c=this,b=c.getData(),e=[];if(c.getRootVisible()){if(a.length){e.push(d)}else{d.set("visible",false,c._silentOptions)}}c.handleNodeExpand(d,a,e);c.suspendEvents();b.splice(0,b.getCount(),e);c.resumeEvents();if(!c.suppressNextFilter){c.fireEvent("datachanged",c);c.fireEvent("refresh",c)}},onBeforeNodeExpand:function(g,b,k,a){var e=this,l,h,i,j,d,c;if(g.isLoaded()){c=[g.childNodes];if(a){c.push.apply(c,a)}Ext.callback(b,k||g,c)}else{if(g.isLoading()){e.on("load",function(){c=[g.childNodes];if(a){c.push.apply(c,a)}Ext.callback(b,k||g,c)},e,{single:true,priority:1001})}else{l=e.getProxy().getReader();h=g.getProxy();i=h?h.getReader():null;j=i&&i.initialConfig.rootProperty?i:l;d=j.getRoot(g.raw||g.data);if(d||(g.phantom&&!g.isRoot())){if(d){e.fillNode(g,j.extractData(d,{model:g.childType,recordCreator:e.recordCreator}))}c=[g.childNodes];if(a){c.push.apply(c,a)}Ext.callback(b,k||g,c)}else{if(g.isRoot()){e.clearLoadTask()}e.read({node:g,onChildNodesAvailable:function(){delete e.lastOptions.onChildNodesAvailable;c=[g.childNodes];if(a){c.push.apply(c,a)}Ext.callback(b,k||g,c)}})}}}},onNodeExpand:function(c,d){var b=this,a=b.indexOf(c)+1,e=[];b.handleNodeExpand(c,d,e);if(!b.refreshCounter&&c.isRoot()&&!c.get("visible")){b.loadRecords(e)}else{b.insert(a,e)}},handleNodeExpand:function(d,g,h){var c=this,b=g?g.length:0,a,e;if(d!==this.getRoot()&&!c.isVisible(d)){return}if(b){for(a=0;a<b;a++){e=g[a];if(e.get("visible")){h.push(e);if(e.isExpanded()){if(e.isLoaded()){c.handleNodeExpand(e,e.childNodes,h)}else{e.set("expanded",false);e.expand()}}}}}},onNodeCollapse:function(e,g,a,h){var d=this,b=d.indexOf(e)+1,c;if(!d.recursive&&e!==d.getRoot()){return}if(d.needsLocalFilter()){g=Ext.Array.filter(g,d.filterVisible)}if(g.length&&d.data.contains(g[0])){c=d.indexOfNextVisibleNode(e);d.removeAt(b,c-b)}Ext.callback(a,h)},indexOfNextVisibleNode:function(a){var b;while(a.parentNode){for(b=a.nextSibling;b&&!b.get("visible");b=b.nextSibling){}if(b){return this.indexOf(b)}a=a.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(e,a){if(!Ext.isArray(a)){a=[a]}var d=this,c=a.length,b,g;for(b=0;!g&&b<c;b++){if(a[b].get("visible")){g=a[b]}}if(g){d.startRemoveIndex=d.indexOf(a[0]);d.lastRemoveIndexPlusOne=d.indexOfNextVisibleNode(a[a.length-1])}else{d.startRemoveIndex=-1;d.lastRemoveIndexPlusOne=0}},afterDrop:Ext.emptyFn,onNodeRemove:function(h,a,c){var g=this,j=g.removedNodes,e=a.length,k=g.startRemoveIndex,d=g.lastRemoveIndexPlusOne,b;g.suspendAutoSync();if(k!==-1){g.removeIsMove=c;g.removeAt(k,d-k);g.removeIsMove=false}for(b=0;b<e;b++){a[b].cascadeBy(function(i){g.unregisterNode(i);if(j&&!c){if(!i.phantom&&!i.erasing&&!g.loading){i.removedFrom=g.indexOf(i);j.push(i);g.needsSync=true}}})}g.resumeAutoSync()},onNodeAppend:function(c,b,a){this.onNodeInsert(c,b,a)},onNodeInsert:function(i,e,c){var d=this,a=e.raw||e.data,l=d.removedNodes,k,m,n,g,h,j,b;if(i&&d.needsLocalFilter()){d.doFilter(i)}d.beginUpdate();if(d.isVisible(e)){if(c===0||!e.previousSibling){k=i}else{for(m=e.previousSibling;m&&!m.get("visible");m=m.previousSibling){}while(m.isExpanded()&&m.lastChild){m=m.lastChild}k=m}d.insert(d.indexOf(k)+1,e);if(!e.isLeaf()&&e.isExpanded()){if(e.isLoaded()){d.onNodeExpand(e,e.childNodes)}else{if(!d.fillCount){e.set("expanded",false);e.expand()}}}}Ext.Array.remove(l,e);d.needsSync=d.needsSync||e.phantom||e.dirty;if(!e.isLeaf()&&!e.isLoaded()&&!d.lazyFill){n=d.getProxy().getReader();g=e.getProxy();h=g?g.getReader():null;j=h&&h.initialConfig.rootProperty?h:n;b=j.getRoot(a);if(b){d.fillNode(e,j.extractData(b,{model:e.childType,recordCreator:d.recordCreator}))}}d.endUpdate()},registerNode:function(g,c){var e=this,a,d,b;e.byIdMap[g.id]=g;if(c===true){a=g.childNodes;d=a.length;for(b=0;b<d;b++){e.registerNode(a[b],true)}}},unregisterNode:function(g,c){var e=this,a,d,b;delete e.byIdMap[g.id];if(c===true){a=g.childNodes;d=a.length;for(b=0;b<d;b++){e.unregisterNode(a[b],true)}}},onNodeSort:function(c,a){var b=this;b.suspendAutoSync();if((b.indexOf(c)!==-1&&c.isExpanded())||(c===b.getRoot()&&!b.getRootVisible())){Ext.suspendLayouts();b.onNodeCollapse(c,a);b.onNodeExpand(c,a);Ext.resumeLayouts(true)}b.resumeAutoSync(b.autoSync)},applyRoot:function(e){var c=this,d=c.getModel(),b=d.prototype.idProperty,a=c.getDefaultRootId();if(e&&!e.isNode){e=Ext.apply({text:c.getDefaultRootText(),root:true,isFirst:true,isLast:true,depth:0,index:0,parentId:null,allowDrag:false},e);if(a&&e[b]===undefined){e[b]=a}e=new d(e)}return e},updateRoot:function(c,e){var b=this,d,a=!e,g;b.byIdMap={};b.getTrackRemoved();b.suspendEvent("add","remove");if(e&&e.isModel){if(b.rootVisible){g=[e]}else{g=e.childNodes}b.beforeNodeRemove(null,g);e.set("root",false);b.onNodeRemove(null,g);e.fireEvent("remove",null,e,false);e.fireEvent("rootchange",null);e.clearListeners();e.store=e.treeStore=null}b.getData().clear();if(c){if(c.fireEventArgs("beforeappend",[null,c])===false){c=null}else{d=c.parentNode;if(d){if(!d.removeChild(c,false,false,d.getTreeStore()===b)){return}}else{if((d=c.getTreeStore())&&d!==b&&c===d.getRoot()){d.setRoot(null)}}c.store=c.treeStore=b;c.set("root",true);c.updateInfo(true,{isFirst:true,isLast:true,depth:0,index:0,parentId:null});b.registerNode(c,true);c.fireEvent("append",null,c,false);c.fireEvent("rootchange",c);b.onNodeAppend(null,c,0);c.phantom=true}}b.fireEvent("rootchange",c,e);if(c&&(b.getAutoLoad()||c.isExpanded())){if(c.isLoaded()){b.onNodeExpand(c,c.childNodes);b.fireEvent("datachanged",b);b.fireEvent("refresh",b)}else{c.data.expanded=false;c.expand(false);if(c.isLoaded&&!b.getProxy().isSynchronous){b.fireEvent("datachanged",b);b.fireEvent("refresh",b)}}}else{if(!a){b.fireEvent("datachanged",b);b.fireEvent("refresh",b)}}b.resumeEvent("add","remove")},each:function(b,e,a){var d,c=0;if(a&&typeof a==="object"){d=a.collapsed;a=a.filtered}if(d){this.getRoot().cascadeBy(function(g){if(a===true||g.get("visible")){return b.call(e||g,g,c++)}})}else{return this.callParent([b,e,a])}},collect:function(c,a,b){var d,e={},g=[],h,i;if(a&&typeof a==="object"){d=a.collapsed;b=a.filtered;a=a.allowNull}if(d||b){this.getRoot().cascadeBy(function(j){if(b===true||j.get("visible")){i=j.get(c);h=String(i);if((a||!Ext.isEmpty(i))&&!e[h]){e[h]=1;g.push(i)}}if(!d&&!j.isExpanded()){return false}})}else{g=this.callParent([c,a,b])}return g},getNodeById:function(a){return this.byIdMap[a]||null},findNode:function(c,h,g,a,b){if(Ext.isEmpty(h,false)){return null}if(h===this.model.idProperty&&arguments.length<3){return this.byIdMap[h]}var d=Ext.String.createRegex(h,g,a,b),e=null;Ext.Object.eachValue(this.byIdMap,function(i){if(i&&d.test(i.get(c))){e=i;return false}});return e},load:function(i){i=i||{};i.params=i.params||{};var e=this,g=i.node||e.getRoot(),a=i.callback,j=i.scope,b=e.getClearOnLoad(),d=g&&g.isRoot(),h,c;if(!g){e.setRoot({expanded:true});return}if(g.data.expanded&&!d){g.data.loaded=false;if(b){g.data.expanded=false}i.callback=function(k,l,m){if(!b){g.collapse()}g.expand();Ext.callback(a,j,[k,l,m])}}i.id=g.getId();if(e.getRemoteFilter()){filters=e.getFilters(false);if(filters&&filters.getCount()){i.filters=filters.getRange()}}if(e.getRemoteSort()){sorters=e.getSorters(false);if(sorters&&sorters.getCount()){i.sorters=sorters.getRange()}e.fireEvent("beforesort",e,h.sorters)}i=Ext.apply({node:i.node||g,internalScope:e,internalCallback:e.onProxyLoad},i);e.lastOptions=Ext.apply({},i);i.isRootLoad=d;h=e.createOperation("read",i);if(e.fireEvent("beforeload",e,h)!==false){e.loading=true;e.clearLoadTask();if(d){if(e.getClearRemovedOnLoad()){e.removedNodes.length=0}if(b){e.unregisterNode(g,true);e.registerNode(g);g.childNodes.length=0;c=true}}else{if(e.getTrackRemoved()&&e.getClearRemovedOnLoad()){e.clearRemoved(g)}if(b){g.removeAll(false)}}if(e.loading&&g){g.set("loading",true)}if(c){e.clearData(true);if(e.getRootVisible()){e.suspendEvents();e.add(g);e.resumeEvents()}}h.execute()}return e},onProxyLoad:function(e){var c=this,g=e.initialConfig,j=e.wasSuccessful(),h=e.getRecords(),d=g.node,b=g.isRootLoad,i=e.getScope()||c,a=[h,e,j];if(c.isDestroyed){return}c.loading=false;d.set("loading",false);if(j){++c.loadCount;if(!c.getClearOnLoad()){h=c.cleanRecords(d,h)}if(c.getParentIdProperty()){h=c.treeify(d,h)}if(b){c.suspendEvent("add","update")}h=c.fillNode(d,h)}Ext.callback(g.onChildNodesAvailable,i,a);if(b){c.resumeEvent("add","update");c.callObservers("BeforePopulate");c.fireEvent("datachanged",c);c.fireEvent("refresh",c);c.callObservers("AfterPopulate")}c.fireEvent("load",c,h,j,e,d)},clearRemoved:function(e){var c=this,h=c.removedNodes,b=e.getId(),k=h.length,a=k,g={},d=[],j={},l,n,m;if(e===c.getRoot()){c.removedNodes.length=0;return}for(;a--;){l=h[a];j[l.getId()]=l}for(a=k;a--;){l=h[a];n=l;while(n&&n.getId()!==b){m=n.get("parentId")||n.get("lastParentId");n=n.parentNode||c.getNodeById(m)||j[m]}if(n){g[l.getId()]=l}}for(a=0;a<k;a++){l=h[a];if(!g[l.getId()]){d.push(l)}}c.removedNodes=d},fillNode:function(d,c){var a=this,b=c?c.length:0;++a.bulkUpdate;if(b){a.setupNodes(c)}if(a.bulkUpdate===1){d.set("loaded",true)}else{d.data.loaded=true}if(c.length){d.appendChild(c,undefined,true)}--a.bulkUpdate;return c},setupNodes:function(e){var b=this,l=b.getSorters(),c=false,d=e.length,k=b.sortOnLoad&&d>1&&!b.getRemoteSort()&&b.getFolderSort()||l.length,j=b.needsLocalFilter(),g,h,a;if(j){b.doFilter(e[0])}for(a=1;a<d;a++){g=e[a];h=e[a-1];if(j){b.doFilter(g)}c=g.data.index!==h.data.index}if(k){b.needsIndexSort=true;Ext.Array.sort(e,b.getSortFn());b.needsIndexSort=false}else{if(c){Ext.Array.sort(e,b.sortByIndex)}}},beginFill:function(){var a=this;if(!a.fillCount++){a.beginUpdate();a.suspendEvent("add","update");a.suspendAutoSync();a.fillArray=[]}},endFill:function(h,g){var e=this,a=e.fillArray,b,d,c;a.push(g);if(!--e.fillCount){e.resumeAutoSync();e.resumeEvent("add","update");for(b=0,d=a.length;b<d;b++){c=e.indexOf(a[b][0]);if(c!==-1){e.fireEvent("add",e,a[b],c)}}e.fillArray=null;e.endUpdate()}},sortByIndex:function(a,b){return a.data.index-b.data.index},onIdChanged:function(e,g,d){var a=e.childNodes,c=a&&a.length,b;this.callParent(arguments);delete this.byIdMap[g];this.byIdMap[d]=e;for(b=0;b<c;b++){a[b].set("parentId",d)}},treeify:function(n,o){var g=this,e=n.getId(),m=g.getParentIdProperty(),d=o.length,p=[],j={},b,h,l,k,c,a;for(b=0;b<d;b++){h=o[b];j[h.id]=h}for(b=0;b<d;b++){h=o[b];l=h.data[m];if(!(l||l===0)||l===e){p.push(h)}else{if(!j[l]){Ext.raise('Ext.data.TreeStore, Invalid parentId "'+l+'"')}k=j[l];k.$children=k.$children||[];k.$children.push(h)}}for(c in j){h=j[c];a=h.$children;if(a){delete h.$children;g.setupNodes(a);h.appendChild(a)}g.registerNode(h)}g.setupNodes(p);return p},cleanRecords:function(d,j){var e={},a=d.childNodes,b=0,c=a.length,g=[],h;for(;b<c;++b){e[a[b].getId()]=true}for(b=0,c=j.length;b<c;++b){h=j[b];if(!e[h.getId()]){g.push(h)}}return g},removeAll:function(){this.suspendEvents();this.setRoot(null);this.resumeEvents();this.callParent()},doSort:function(b){var a=this;if(a.getRemoteSort()){a.load()}else{a.tree.sort(b,true);a.fireEvent("datachanged",a);a.fireEvent("refresh",a)}a.fireEvent("sort",a,a.sorters.getRange())},filterVisible:function(a){return a.get("visible")},isVisible:function(a){var b=a.parentNode,d=a.data.visible,c=this.getRoot();while(d&&b){d=b.data.expanded&&b.data.visible;b=b.parentNode}return d&&!(a===c&&!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(a){this.filterNodes(a,this.getFilters().getFilterFn(),true)},filterNodes:function(k,c,l){var j=this,a=j.filterer==="bottomup",g=c(k)&&l||k.isRoot(),b=k.childNodes,e=b&&b.length,d,h;if(e){for(d=0;d<e;++d){h=j.filterNodes(b[d],c,g||a)||h}if(a){g=h||g}}k.set("visible",g,j._silentOptions);return g},needsLocalFilter:function(){return !this.getRemoteFilter()&&this.getFilters().length},onRemoteFilterSet:function(b,c){var a=this.getData();a.setFilters(null);if(b){b.on("endupdate",this.onFilterEndUpdate,this)}},onRemoteSortSet:function(c,b){var a=this.getData();a.setSorters(null);if(c){c.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(e){var c=this.getDateReadFormat()||this.getDateFormat(),d;if(!e){return null}if(e instanceof Date){return e}if(c){return Ext.Date.parse(e,c)}d=Date.parse(e);return d?new Date(d):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(h){var q=this,b=q.data,t=q.record,g=t.fields,k=t.generation,u=t.data,v=t.validationSeparator,x=null,c,a,d,e,m,l,n,o,p,r,w,s;if(h||q.syncGeneration!==k){q.syncGeneration=k;for(l=0,p=g.length;l<p;++l){e=g[l];s=e.name;w=u[s];c=e.defaultInvalidMessage;d=0;if(!(s in b)){b[s]=a=true}else{a=b[s]}if(e.validate!==Ext.emptyFn){r=e.validate(w,v,null,t);if(r!==true){d=r||c}}if(!d){d=true}if(d!==a){(x||(x={}))[s]=d}}if(x){q.set(x)}}}});Ext.define("Ext.dom.Helper",function(){var b="afterbegin",c="afterend",g="beforebegin",h="beforeend",e=["BeforeBegin","previousSibling"],a=["AfterEnd","nextSibling"],d={beforebegin:e,afterend:a},i={beforebegin:e,afterend:a,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 k=/([a-z])([A-Z])/g,j={};function l(m,n,o){return n+"-"+o.toLowerCase()}return function(m){return j[m]||(j[m]=m.replace(k,l))}}(),generateMarkup:function(o,k){var n=this,p=typeof o,j,r,q,m,l;if(p==="string"||p==="number"){k.push(o)}else{if(Ext.isArray(o)){for(m=0;m<o.length;m++){if(o[m]){n.generateMarkup(o[m],k)}}}else{q=o.tag||"div";k.push("<",q);for(j in o){if(o.hasOwnProperty(j)){r=o[j];if(r!==undefined&&!n.confRe.test(j)){if(typeof r==="object"){k.push(" ",j,'="');n.generateStyles(r,k,true).push('"')}else{k.push(" ",n.attributeTransform[j]||j,'="',r,'"')}}}}if(n.emptyTags.test(q)){k.push("/>")}else{k.push(">");if((r=o.tpl)){r.applyOut(o.tplData,k)}if((r=o.html)){k.push(r)}if((r=o.cn||o.children)){n.generateMarkup(r,k)}l=n.closeTags;k.push(l[q]||(l[q]="</"+q+">"))}}}return k},generateStyles:function(n,k,l){var j=k||[],m,o;for(m in n){if(n.hasOwnProperty(m)){o=n[m];m=this.decamelizeName(m);if(l&&Ext.String.hasHtmlCharacters(o)){o=Ext.String.htmlEncode(o)}j.push(m,":",o,";")}}return k||j.join("")},markup:function(k){if(typeof k==="string"){return k}var j=this.generateMarkup(k,[]);return j.join("")},applyStyles:function(j,k){Ext.fly(j).applyStyles(k)},createContextualFragment:function(m){var k=this.detachedDiv,l=document.createDocumentFragment(),n,j;k.innerHTML=m;j=k.childNodes;n=j.length;while(n--){l.appendChild(j[0])}return l},createDom:function(n,p){var m=this,l=m.markup(n),k=m.detachedDiv,j;k.innerHTML=l;j=k.firstChild;return Ext.supports.ChildContentClearedWhenSettingInnerHTML?j.cloneNode(true):j},insertHtml:function(s,k,n){var o=this,m,p,q,r,l;s=s.toLowerCase();if(k.insertAdjacentHTML){if(o.ieInsertHtml){l=o.ieInsertHtml(s,k,n);if(l){return l}}m=i[s];if(m){k.insertAdjacentHTML(m[0],n);return k[m[1]]}}else{if(k.nodeType===3){s=s===b?g:s;s=s===h?c:s}p=Ext.supports.CreateContextualFragment?k.ownerDocument.createRange():undefined;r="setStart"+(this.endRe.test(s)?"After":"Before");if(d[s]){if(p){p[r](k);l=p.createContextualFragment(n)}else{l=this.createContextualFragment(n)}k.parentNode.insertBefore(l,s===g?k:k.nextSibling);return k[(s===g?"previous":"next")+"Sibling"]}else{q=(s===b?"first":"last")+"Child";if(k.firstChild){if(p){try{p[r](k[q]);l=p.createContextualFragment(n)}catch(j){l=this.createContextualFragment(n)}}else{l=this.createContextualFragment(n)}if(s===b){k.insertBefore(l,k.firstChild)}else{k.appendChild(l)}}else{k.innerHTML=n}return k[q]}}Ext.Error.raise({sourceClass:"Ext.DomHelper",sourceMethod:"insertHtml",htmlToInsert:n,targetElement:k,msg:'Illegal insertion point reached: "'+s+'"'})},insertBefore:function(j,k,l){return this.doInsert(j,k,l,g)},insertAfter:function(j,k,l){return this.doInsert(j,k,l,c)},insertFirst:function(j,k,l){return this.doInsert(j,k,l,b)},append:function(j,k,l){return this.doInsert(j,k,l,h)},overwrite:function(j,k,n){var l=this,m;j=Ext.getDom(j);k=l.markup(k);if(l.ieOverwrite){m=l.ieOverwrite(j,k)}if(!m){j.innerHTML=k;m=j.firstChild}return n?Ext.get(m):m},doInsert:function(j,m,n,p){var k=this,l;j=j.dom||Ext.getDom(j);if("innerHTML" in j){l=k.insertHtml(p,j,k.markup(m))}else{l=k.createDom(m,null);if(j.nodeType===3){p=p===b?g:p;p=p===h?c:p}if(d[p]){j.parentNode.insertBefore(l,p===g?j:j.nextSibling)}else{if(j.firstChild&&p===b){j.insertBefore(l,j.firstChild)}else{j.appendChild(l)}}}return n?Ext.get(l):l},createTemplate:function(k){var j=this.markup(k);return new Ext.Template(j)},createHtml:function(j){return this.markup(j)}}});Ext.define("Ext.overrides.dom.Helper",(function(){var b=/^(?:table|thead|tbody|tr|td)$/i,a=/td|tr|tbody|thead/i,i="<table>",e="</table>",d=i+"<tbody>",c="</tbody>"+e,h=d+"<tr>",g="</tr>"+c;return{override:"Ext.dom.Helper",ieInsertHtml:function(m,j,l){var k=null;if(Ext.isIE9m&&b.test(j.tagName)){k=this.insertIntoTable(j.tagName.toLowerCase(),m,j,l)}return k},ieOverwrite:function(j,k){if(Ext.isIE9m&&b.test(j.tagName)){while(j.firstChild){j.removeChild(j.firstChild)}if(k){return this.insertHtml("afterbegin",j,k)}}},ieTable:function(k,q,m,j){var n=-1,l=this.detachedDiv,o,p;l.innerHTML=[q,m,j].join("");while(++n<k){l=l.firstChild}o=l.nextSibling;if(o){o=l;l=document.createDocumentFragment();while(o){p=o.nextSibling;l.appendChild(o);o=p}}return l},insertIntoTable:function(r,s,o,p){var q,n,l=s==="beforebegin",j=s==="afterbegin",m=s==="beforeend",k=s==="afterend";if(r==="td"&&(j||m)||!a.test(r)&&(l||k)){return null}n=l?o:k?o.nextSibling:j?o.firstChild:null;if(l||k){o=o.parentNode}if(r==="td"||(r==="tr"&&(m||j))){q=this.ieTable(4,h,p,g)}else{if(((r==="tbody"||r==="thead")&&(m||j))||(r==="tr"&&(l||k))){q=this.ieTable(3,d,p,c)}else{q=this.ieTable(2,i,p,e)}}o.insertBefore(q,n);return q}}})());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.Error.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.Error.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[0]:n)||defaultValue},getNodeValue:function(node,defaultValue){if(typeof node.normalize=="function"){node.normalize()}var v=(node&&node.firstChild?node.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue: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){var b=this;if(Ext.isEmpty(a)){return Ext.emptyFn}if(Ext.isFunction(a)){return a}return function(c){return b.getNodeValue(Ext.DomQuery.selectNode(a,c))}},getNodeValue:function(a){if(a){if(typeof a.normalize==="function"){a.normalize()}a=a.firstChild;if(a){return a.nodeValue}}return undefined},getResponseData:function(b){var c=b.responseXML,a="XML data not found in the response";if(!c){Ext.Logger.warn(a);return this.createReadError(a)}return c},getData:function(a){return a.documentElement||a},getRoot:function(a){var b=a.nodeName,c=this.getRootProperty();if(!c||(b&&b==c)){return a}else{if(Ext.DomQuery.isXml(a)){return Ext.DomQuery.selectNode(c,a)}}},extractData:function(c,a){var b=this.getRecord();if(!b){Ext.Error.raise("Record is a required parameter")}if(b!==c.nodeName){c=Ext.DomQuery.select(b,c)}else{c=[c]}return this.callParent([c,a])},readRecords:function(a,c,b){if(Ext.isArray(a)){a=a[0]}return this.callParent([a,c,b])},createFieldAccessor:function(a){var b=this,c=b.getNamespace(),e,d;e=a.mapping||((c?c+"|":"")+a.name);if(typeof e==="function"){d=function(g){return a.mapping(g,b)}}else{d=function(g){return b.getNodeValue(Ext.DomQuery.selectNode(e,g))}}return d},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(k,a){var d=this,n=[],b=0,c=a.length,l=d.getDocumentRoot(),j=d.getRecord(),h=j.match(this.selectorRe),g=h.length,e=a.length!==1&&g===1,m;m=this.getTransform();if(m){a=m(a,k)}n.push(d.getHeader()||"");if(!l&&e){l=d.getDefaultDocumentRoot()}if(l){n.push("<",l,">")}for(b=0;b<g-1;b++){n.push("<",h[b],">")}j=h[b];for(b=0;b<c;++b){this.objectToElement(j,a[b],n)}for(b=g-2;b>-1;b--){n.push("</",h[b],">")}if(l){n.push("</",l,">")}k.setXmlData(n.join(""));return k},objectToElement:function(g,h,j){var c,a,p=[],l,k,b,m,n,e,d;if(!j){j=[]}j.push("<",g);for(c in h){a=h[c];if(c[0]==="@"){j.push(" ",c.substr(1),'="',a,'"')}else{if(typeof a==="object"){this.objectToElement(c,a,p)}else{l=c.match(this.selectorRe);if((k=l.length)>1){n=n||{};for(m=n,b=0;b<k;b++){e=m;d=l[b];m=m[d]||(m[d]={})}e[d]=a}else{p.push("<",c,">",a,"</",c,">")}}}}j.push(">");j.push.apply(j,p);if(n){for(c in n){a=n[c];this.objectToElement(c,a,j)}}j.push("</",g,">");return j}});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 d="xxxxxxxx-xxxx-4xxx-Rxxx-xMxxxxxxxxxx".split(""),a="0123456789abcdef".split(""),b=d.length,c=[];return function(){for(var h,e,g=0;g<b;++g){e=d[g];if(e!=="-"&&e!=="4"){h=Math.random()*16;h=(e==="R")?(h&3|8):(h|((e==="M")?1:0));e=a[h]}c[g]=e}return c.join("")}},createSequential:function(c,g,a){var b=[],k=Math.pow(2,32),e=c.lo,d=c.hi,i=g.lo,h=g.hi,j=function(n,l){var m=n.toString(16).toLowerCase();if(m.length>l){m=m.substring(m.length-l)}else{if(m.length<l){m=Ext.String.leftPad(m,l,"0")}}return m};if(typeof c==="number"){d=Math.floor(c/k);e=Math.floor(c-d*k)}if(typeof g==="number"){h=Math.floor(g/k);i=Math.floor(g-h*k)}d|=256;b[3]=j(128|((a>>>8)&63),2)+j(a&255,2);b[4]=j(d,4)+j(e,8);return function(){b[0]=j(i,8);b[1]=j(h&65535,4);b[2]=j(((h>>>16)&4095)|(1<<12),4);++i;if(i>=k){i=0;++h}return b.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={};if(this.getStorageObject()===undefined){Ext.Error.raise("Local Storage is not supported in this browser, please use another type of data proxy")}if(this.getId()===undefined){Ext.Error.raise("No unique id was provided to the local storage proxy. See Ext.data.proxy.LocalStorage documentation for details")}this.initialize()},create:function(h){var g=this,k=h.getRecords(),e=k.length,d=g.getIds(),b,j,a,c;if(g.isHierarchical===undefined){g.isHierarchical=!!k[0].isNode;if(g.isHierarchical){g.getStorageObject().setItem(g.getTreeKey(),true)}}for(a=0;a<e;a++){j=k[a];if(j.phantom){j.phantom=false;c=j.identifier;if(c&&c.isUnique){b=j.getId()}else{b=g.getNextId()}}else{b=j.getId()}g.setRecord(j,b);j.commit();d.push(b)}g.setIds(d);h.setSuccessful(true)},read:function(p){var n=this,a,s=[],u=true,o=n.getModel(),w=0,r=p.getRecordCreator(),d,t,m,c,v,q,h,l,b,g,e,k;if(n.isHierarchical){s=n.getTreeData()}else{h=n.getIds();l=h.length;g=p.getId();if(g){b=n.getRecord(g);if(b!==null){q=r?r(b,o):new o(b)}if(q){s.push(q)}else{u=false}}else{t=p.getSorters();d=p.getFilters();m=p.getLimit();a=[];for(e=0;e<l;e++){b=n.getRecord(h[e]);q=r?r(b,o):new o(b);a.push(q)}if(t){Ext.Array.sort(a,Ext.util.Sorter.createComparator(t))}for(e=p.getStart()||0;e<l;e++){q=a[e];v=true;if(d){for(k=0,c=d.length;k<c;k++){v=d[k].filter(q)}}if(v){s.push(q);w++}if(m&&w===m){break}}}}if(u){p.setResultSet(new Ext.data.ResultSet({records:s,total:s.length,loaded:true}));p.setSuccessful(true)}else{p.setException("Unable to load records")}},update:function(e){var h=e.getRecords(),d=h.length,c=this.getIds(),g,b,a;for(a=0;a<d;a++){g=h[a];this.setRecord(g);g.commit();b=g.getId();if(b!==undefined&&Ext.Array.indexOf(c,b)===-1){c.push(b)}}this.setIds(c);e.setSuccessful(true)},erase:function(h){var e=this,j=h.getRecords(),d=e.getIds(),c=d.length,g=[],k={},a=j.length,b;for(;a--;){Ext.apply(k,e.removeRecord(j[a]))}for(a=0;a<c;a++){b=d[a];if(!k[b]){g.push(b)}}e.setIds(g);h.setSuccessful(true)},getRecord:function(c){var d=this,a=d.cache,b=!a[c]?Ext.decode(d.getStorageObject().getItem(d.getRecordKey(c))):a[c];if(!b){return null}a[c]=b;b[d.getModel().prototype.idProperty]=c;return Ext.merge({},b)},setRecord:function(o,e){if(e){o.set("id",e,{commit:true})}else{e=o.getId()}var j=this,n=o.getData(),a={},k=j.getModel(),c=k.getFields(),h=c.length,d=0,b,l,m,g;for(;d<h;d++){b=c[d];l=b.name;if(b.persist){a[l]=n[l]}}delete a[k.prototype.idProperty];if(o.isNode&&o.get("depth")===1){delete a.parentId}m=j.getStorageObject();g=j.getRecordKey(e);j.cache[e]=a;m.removeItem(g);m.setItem(g,Ext.encode(a))},removeRecord:function(e){var d=this,c=e.getId(),g={},b,a;g[c]=e;d.getStorageObject().removeItem(d.getRecordKey(c));delete d.cache[c];if(e.childNodes){a=e.childNodes;for(b=a.length;b--;){Ext.apply(g,d.removeRecord(a[b]))}}return g},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,b=(e.getStorageObject().getItem(e.getId())||"").split(","),d=b.length,c=this.getIdField().isStringField,a;if(d===1&&b[0]===""){b=[]}else{for(a=0;a<d;a++){b[a]=c?b[a]:+b[a]}}return b},getIdField:function(){return this.getModel().prototype.idField},setIds:function(b){var c=this.getStorageObject(),d=b.join(","),a=this.getId();c.removeItem(a);if(!Ext.isEmpty(d)){c.setItem(a,d)}},getNextId:function(){var d=this,e=d.getStorageObject(),c=d.getRecordCounterKey(),b=d.getIdField().isStringField,a;a=d.idGenerator.generate();e.setItem(c,a);if(b){a=a+""}return a},getTreeData:function(){var h=this,e=h.getIds(),g=e.length,o=[],n={},p=[],b=0,j=h.getModel(),d=j.prototype.idProperty,q,m,k,l,a,c;for(;b<g;b++){c=e[b];m=h.getRecord(c);o.push(m);n[c]=m;if(!m.parentId){p.push(m)}}q=p.length;Ext.Array.sort(o,h.sortByParentId);for(b=q;b<g;b++){m=o[b];l=m.parentId;if(!k||k[d]!==l){k=n[l];k.children=a=[]}a.push(m)}for(b=g;b--;){m=o[b];if(!m.children&&!m.leaf){m.loaded=true}}for(b=q;b--;){m=p[b];p[b]=new j(m)}return p},sortByParentId:function(a,b){return(a.parentId||0)-(b.parentId||0)},initialize:function(){var c=this,d=c.getStorageObject(),b=+d.getItem(c.getRecordCounterKey()),a=c.getId();d.setItem(a,d.getItem(a)||"");if(d.getItem(c.getTreeKey())){c.isHierarchical=true}c.idGenerator=new Ext.data.identifier.Sequential({seed:b?b+1:1})},clear:function(){var d=this,e=d.getStorageObject(),b=d.getIds(),c=b.length,a;for(a=0;a<c;a++){e.removeItem(d.getRecordKey(b[a]))}e.removeItem(d.getRecordCounterKey());e.removeItem(d.getTreeKey());e.removeItem(d.getId());d.cache={}},getStorageObject:function(){Ext.Error.raise("The getStorageObject function has not been defined in your Ext.data.proxy.WebStorage subclass")}});Ext.define("Ext.data.proxy.LocalStorage",{extend:Ext.data.proxy.WebStorage,alias:"proxy.localstorage",alternateClassName:"Ext.data.LocalStorageProxy",getStorageObject:function(){return window.localStorage}});Ext.define("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(i){var c=this,d=i.getOperation(),h=d.getRecords(),g=h?h[0]:null,a=c.getFormat(),j=c.getUrl(i),b,e;if(g&&!g.phantom){b=g.getId()}else{b=d.getId()}if(c.getAppendId()&&c.isValidId(b)){if(!j.match(c.slashRe)){j+="/"}j+=encodeURIComponent(b);e=i.getParams();if(e){delete e[c.getIdParam()]}}if(a){if(!j.match(c.periodRe)){j+="."}j+=a}i.setUrl(j);return c.callParent([i])},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,a,e,c;if(d.preventConfigure){return}e=d.getMin();c=d.getMax();b=d.hasMin=e!==undefined;a=d.hasMax=c!==undefined;if(b&&a){d._bothMsg=Ext.String.format(d.getBothMessage(),e,c)}else{if(b){d._minMsg=Ext.String.format(d.getMinOnlyMessage(),e)}else{if(a){d._maxMsg=Ext.String.format(d.getMaxOnlyMessage(),c)}}}},updateMin:function(){this.configure()},updateMax:function(){this.configure()},updateMinOnlyMessage:function(a){this.configure()},updateMaxOnlyMessage:function(){this.configure()},updateBothMessage:function(){this.configure()},validate:function(i){var e=this,b=e.hasMin,a=e.hasMax,g=e.getMin(),d=e.getMax(),h=this.validateValue(i),c;if(h!==true){return h}i=e.getValue(i);if(b&&a){if(i<g||i>d){h=e._bothMsg}}else{if(b){if(i<g){h=e._minMsg}}else{if(a){if(i>d){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},constructor:function(){this.callParent(arguments);if(!this.getMatcher()){Ext.Error.raise("validator.Format must be configured with a matcher")}},validate:function(c){var a=this.getMatcher(),b=a&&a.test(c);return b?b: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(e){var a=Ext.Array.contains(this.getList(),e),c=this.inclusion,b=!c,d;d=(c&&a)||(b&&!a);return d||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"},constructor:function(){this.callParent(arguments);if(!this.getList()){Ext.Error.raise("validator.Exclusion requires a list")}},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"},constructor:function(){this.callParent(arguments);if(!this.getList()){Ext.Error.raise("validator.Inclusion requires a list")}},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(b){var a=this.callParent([b]);if(a===true&&isNaN(b)){a=this.getNanMessage()}return a}});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(k){var j=this,a=null,d=[],c,g,h;try{a=j.parseResponse(k)}catch(b){c=new Ext.direct.ExceptionEvent({data:b,xhr:k,code:Ext.direct.Manager.exceptions.PARSE,message:"Error parsing json response: \n\n "+b});return[c]}if(Ext.isArray(a)){for(g=0,h=a.length;g<h;++g){d.push(j.createEvent(a[g]))}}else{if(Ext.isObject(a)){d.push(j.createEvent(a))}}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.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 b=this,d=b.url,c=b.pollFn;if(c&&Ext.isString(c)){var a=c;b.pollFn=c=Ext.direct.Manager.parseMethod(c);if(!Ext.isFunction(c)){Ext.Error.raise("Cannot resolve Ext.Direct API method "+a+" for PollingProvider")}}else{if(Ext.isFunction(d)){Ext.log.warn("Using a function for url is deprecated, use pollFn instead.");b.pollFn=c=d;b.url=d=null}}if(d||c){b.setInterval(b.interval);b.pollTask.start()}},doDisconnect:function(){this.pollTask.stop()},getInterval:function(){return this.pollTask.interval},setInterval:function(a){var b=this,c=b.pollTask;if(a<100){Ext.Error.raise("Attempting to configure PollProvider "+b.id+" with interval that is less than 100ms.")}b.interval=c.interval=a;if(b.isConnected()){c.restart(a)}},runPoll:function(){var c=this,e=c.url,d=c.pollFn,b=c.baseParams,a;if(c.fireEvent("beforepoll",c)!==false){if(d){a=d.directCfg.method.getArgs({params:b!==undefined?b:{},callback:c.onPollFn,scope:c});d.apply(window,a)}else{Ext.Ajax.request({url:e,callback:c.onData,scope:c,params:b})}c.fireEvent("poll",c)}},onData:function(e,h,g){var d=this,b,c,a;if(h){a=d.createEvents(g);for(b=0,c=a.length;b<c;++b){d.fireEvent("data",d,a[b])}}else{a=new Ext.direct.ExceptionEvent({data:null,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:g});d.fireEvent("data",d,a)}},onPollFn:function(c,a,d,b){this.onData(null,d,{responseText:c})},inheritableStatics:{checkConfig:function(a){return a&&a.type==="polling"&&(a.url||a.pollFn)}}});Ext.define("Ext.direct.RemotingMethod",{constructor:function(a){var c=this,j=a.params,b=a.len,e=a.metadata,d={},g,k,h,i;c.name=a.name;if(a.formHandler){c.formHandler=a.formHandler}else{if(Ext.isNumeric(b)){c.len=b;c.ordered=true}else{c.named=true;c.strict=a.strict!==undefined?a.strict:true;c.params={};k=j&&j.length;for(h=0;h<k;h++){i=j[h];g=Ext.isObject(i)?i.name:i;c.params[g]=true}}}if(e){j=e.params;b=e.len;if(Ext.isNumeric(b)){if(b===0){Ext.Error.raise("metadata.len cannot be 0 for Ext.Direct method "+c.name)}d.ordered=true;d.len=b}else{if(Ext.isArray(j)){d.named=true;d.params={};for(h=0,k=j.length;h<k;h++){i=j[h];d.params[i]=true}d.strict=e.strict!==undefined?e.strict:true}else{Ext.Error.raise("metadata is neither named nor ordered for Ext.Direct method "+c.name)}}c.metadata=d}},getArgs:function(b){var e=this,k=b.params,j=b.paramOrder,l=b.paramsAsHash,g=b.metadata,h=b.options,a=[],c,d;if(e.ordered){if(e.len>0){if(j){for(c=0,d=j.length;c<d;c++){a.push(k[j[c]])}}else{if(l){a.push(k)}}}}else{a.push(k)}a.push(b.callback,b.scope||window);if(h||g){h=Ext.apply({},h);if(g){h.metadata=g}a.push(h)}return a},getCallData:function(a){var g=this,c=null,e=g.len,k=g.params,m=g.strict,d,b,l,i,j,h;if(g.ordered){b=a[e];l=a[e+1];j=a[e+2];if(e!==0){c=a.slice(0,e)}}else{if(g.formHandler){d=a[0];b=a[1];l=a[2];j=a[3]}else{c=Ext.apply({},a[0]);b=a[1];l=a[2];j=a[3];if(m){for(i in c){if(c.hasOwnProperty(i)&&!k[i]){delete c[i]}}}}}if(g.metadata&&j&&j.metadata){if(g.metadata.ordered){if(!Ext.isArray(j.metadata)){Ext.Error.raise("options.metadata is not an Array for Ext.Direct method "+g.name)}else{if(j.metadata.length<g.metadata.len){Ext.Error.raise("Not enough parameters in options.metadata for Ext.Direct method "+g.name)}}h=j.metadata.slice(0,g.metadata.len)}else{if(!Ext.isObject(j.metadata)){Ext.Error.raise("options.metadata is not an Object for Ext.Direct method "+g.name)}h=Ext.apply({},j.metadata);if(g.metadata.strict){for(i in h){if(h.hasOwnProperty(i)&&!g.metadata.params[i]){delete h[i]}}}for(i in g.metadata.params){if(!h.hasOwnProperty(i)){Ext.Error.raise("Named parameter "+i+" is missing in options.metadata for Ext.Direct method "+g.name)}}}delete j.metadata}return{form:d,data:c,metadata:h,callback:b,scope:l,options:j}}});Ext.define("Ext.direct.Transaction",{alias:"direct.transaction",alternateClassName:"Ext.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,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(g,a){var e,d,b,c;g=g||Ext.global;e=a.toString().split(".");for(b=0,c=e.length;b<c;b++){d=e[b];g=g[d];if(typeof g==="undefined"){return g}}return g},createNamespaces:function(g,a){var e,d,b,c;g=g||Ext.global;e=a.toString().split(".");for(b=0,c=e.length;b<c;b++){d=e[b];g[d]=g[d]||{};g=g[d]}return g},initAPI:function(){var j=this,b=j.actions,m=j.namespace,h=Ext.direct.Manager,a,c,l,e,g,k,d;for(a in b){if(b.hasOwnProperty(a)){if(j.disableNestedActions){c=m[a];if(!c){c=m[a]={}}}else{c=j.getNamespace(m,a);if(!c){c=j.createNamespaces(m,a)}}l=b[a];for(e=0,g=l.length;e<g;++e){k=new Ext.direct.RemotingMethod(l[e]);c[k.name]=d=j.createHandler(a,k);h.registerMethod(d.$name,d)}}}},createHandler:function(a,d){var c=this,e=Array.prototype.slice,b;if(!d.formHandler){b=function(){c.configureRequest(a,d,e.call(arguments,0))}}else{b=function(){c.configureFormRequest(a,d,e.call(arguments,0))}}b.name=b.$name=a+"."+d.name;b.$directFn=true;b.directCfg=b.$directCfg={action:a,method:d};return b},connect:function(){var a=this;if(!a.url){Ext.Error.raise('Error initializing RemotingProvider "'+a.id+'", no url configured.')}a.callParent()},runCallback:function(h,b){var g=!!b.status,c=g?"success":"failure",a,d,e;if(h&&h.callback){a=h.callback;d=h.callbackOptions;e=typeof b.result!=="undefined"?b.result:b.data;if(Ext.isFunction(a)){a(e,b,g,d)}else{Ext.callback(a[c],a.scope,[e,b,g,d]);Ext.callback(a.callback,a.scope,[e,b,g,d])}}},onData:function(g,j,h){var e=this,c,d,b,a,k,l;if(j){b=e.createEvents(h);for(c=0,d=b.length;c<d;++c){a=b[c];k=e.getTransaction(a);e.fireEvent("data",e,a);if(k&&e.fireEvent("beforecallback",e,a,k)!==false){e.runCallback(k,a,true);Ext.direct.Manager.removeTransaction(k)}}}else{l=[].concat(g.transaction);for(c=0,d=l.length;c<d;++c){k=e.getTransaction(l[c]);if(k&&k.retryCount<e.maxRetries){k.retry()}else{a=new Ext.direct.ExceptionEvent({data:null,transaction:k,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:h});e.fireEvent("data",e,a);if(k&&e.fireEvent("beforecallback",e,a,k)!==false){e.runCallback(k,a,false);Ext.direct.Manager.removeTransaction(k)}}}}},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(k){var e=this,j,a,g,b=e.enableUrlEncode,h,c,d;j={url:e.url,callback:e.onData,scope:e,transaction:k,timeout:e.timeout};if(k.timeout){j.timeout=k.timeout}if(Ext.isArray(k)){a=[];for(c=0,d=k.length;c<d;++c){h=e.getPayload(k[c]);a.push(h)}}else{a=e.getPayload(k)}if(b){g={};g[Ext.isString(b)?b:"data"]=Ext.encode(a);j.params=g}else{j.jsonData=a}Ext.Ajax.request(j)},queueTransaction:function(c){var b=this,a=b.enableBuffer;if(c.form){b.sendFormRequest(c);return}if(a===false||typeof c.timeout!=="undefined"){b.sendRequest(c);return}b.callBuffer.push(c);if(a){if(!b.callTask){b.callTask=new Ext.util.DelayedTask(b.combineAndSend,b)}b.callTask.delay(Ext.isNumber(a)?a:10)}else{b.combineAndSend()}},combineAndSend:function(){var c=this,a=c.callBuffer,b=a.length;if(b>0){c.sendRequest(b===1?a[0]:a);c.callBuffer=[]}},configureTransaction:function(a,g,b,e){var d,c,j,h,i;d=g.getCallData(b);c=d.callback;j=d.scope;h=d.options;if(c&&!Ext.isFunction(c)){Ext.Error.raise("Callback argument is not a function for Ext.Direct method "+a+"."+g.name)}c=c&&j?Ext.Function.bind(c,j):c;i=Ext.apply({},{provider:this,args:b,action:a,method:g.name,form:d.form,data:d.data,metadata:d.metadata,callbackOptions:h,callback:c,isForm:e});if(h&&h.timeout!=null){i.timeout=h.timeout}return new Ext.direct.Transaction(i)},configureRequest:function(a,d,b){var c=this,e;e=c.configureTransaction(a,d,b);if(c.fireEvent("beforecall",c,e,d)!==false){Ext.direct.Manager.addTransaction(e);c.queueTransaction(e);c.fireEvent("call",c,e,d)}},configureFormRequest:function(a,g,b){var e=this,i,c,d,h;i=e.configureTransaction(a,g,b,true);if(e.fireEvent("beforecall",e,i,g)!==false){Ext.direct.Manager.addTransaction(i);c=i.form;d=String(c.getAttribute("enctype")).toLowerCase()==="multipart/form-data";h={extTID:i.id,extAction:a,extMethod:g.name,extType:"rpc",extUpload:String(d)};if(i.metadata){h.extMetadata=Ext.JSON.encode(i.metadata)}Ext.apply(i,{form:c,isUpload:d,params:h});e.sendFormRequest(i);e.fireEvent("call",e,i,g)}},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.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,g,c,h,k,i,l;var b=[];for(g in a){if(!a.hasOwnProperty(g)){continue}h=a[g];if(h.skipGarbageCollection){continue}c=h.dom;if(!c){Ext.Error.raise("Missing DOM node in element garbage collection: "+g)}try{i=Ext.isGarbage(c)}catch(d){delete a[g];b.push("#"+h.id);continue}if(i){if(h&&h.dom){l=h.dom.tagName;h.collect();b.push((l?l:"")+"#"+h.id)}}}if(Ext.isIE9m){k={};for(g in a){if(a.hasOwnProperty(g)){k[g]=a[g]}}Ext.cache=Ext.dom.Element.cache=k}j.lastTime=Ext.now();return b},pause:function(){clearTimeout(this.timerId)},resume:function(){var b=this,a=b.lastTime;if(Ext.enableGarbageCollector&&(Ext.now()-a>b.interval)){b.collect()}b.timerId=Ext.interval(b.collect,b.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(a){var c=this,b;if(c.callParent(arguments)===false){return false}b=c.lastStartPoint=a.changedTouches[0].point;c.startPoint=c.startPoint||b;c.startTime=a.time;clearTimeout(c.singleTapTimer)},onTouchMove:function(a){var b=this,c=a.changedTouches[0].point;if(Math.abs(c.getDistanceTo(b.lastStartPoint))>=b.getMoveDistance()){b.startPoint=null;return b.fail(b.self.TOUCH_MOVED)}},onTouchEnd:function(b){var h=this,g=h.getMaxDuration(),k=b.time,j=b.target,c=h.lastTapTime,d=h.lastTarget,i=b.changedTouches[0].point,a;h.lastTapTime=k;h.lastTarget=j;if(c){a=k-c;if(a<=g&&Math.abs(i.getDistanceTo(h.startPoint))<=h.getTapDistance()){if(j!==d){return h.fail(h.self.DIFFERENT_TARGET)}h.lastTarget=null;h.lastTapTime=0;h.fire("doubletap",b,{touch:b.changedTouches[0],duration:a});h.startPoint=null;return}}if(k-h.startTime>g){h.fireSingleTap(b)}else{h.setSingleTapTimer(b)}},setSingleTapTimer:function(a){var b=this;b.singleTapTimer=Ext.defer(function(){b.fireSingleTap(a)},b.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(a){var g=this.startPoint,h=a.changedTouches[0],d=h.point,c=this.getMinDistance(),b=this.info;if(Math.abs(d.getDistanceTo(g))>=c){this.isStarted=true;this.previousPoint=this.lastPoint=d;this.resetInfo("x",a,h);this.resetInfo("y",a,h);b.time=a.time;this.fire("dragstart",a,b)}},onTouchMove:function(a){if(!this.isStarted){this.tryDragStart(a)}if(!this.isStarted){return}var c=a.changedTouches[0],b=c.point;if(this.lastPoint){this.previousPoint=this.lastPoint}this.lastPoint=b;this.lastMoveEvent=a;this.updateInfo("x",a,c);this.updateInfo("y",a,c);this.info.time=a.time;this.fire("drag",a,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(a,d,i){var j=this.lastPoint[a],h=this.startPoint[a],c=j-h,b=a.toUpperCase(),g=this.info;g.touch=i;g.delta[a]=c;g.absDelta[a]=Math.abs(c);g.previousTime[a]=this.startTime;g.previous[a]=h;g[a]=j;g.direction[a]=0;g["start"+b]=this.startPoint[a];g["previous"+b]=g.previous[a];g["page"+b]=g[a];g["delta"+b]=g.delta[a];g["absDelta"+b]=g.absDelta[a];g["previousDelta"+b]=0;g.startTime=this.startTime},updateInfo:function(a,g,m){var i=this,n=i.lastPoint[a],k=i.previousPoint[a],l=i.startPoint[a],c=n-l,h=i.info,d=h.direction,b=a.toUpperCase(),j=h.previous[a];h.touch=m;h.delta[a]=c;h.absDelta[a]=Math.abs(c);if(n!==j&&n!==h[a]){h.previous[a]=h[a];h.previousTime[a]=h.time}h[a]=n;if(n>k){d[a]=1}else{if(n<k){d[a]=-1}}h["start"+b]=l;h["previous"+b]=h.previous[a];h["page"+b]=h[a];h["delta"+b]=h.delta[a];h["absDelta"+b]=h.absDelta[a];h["previousDelta"+b]=h.previous[a]-l;h.startTime=i.startTime},onTouchEnd:function(a){this.doEnd(a)},onTouchCancel:function(a){this.doEnd(a,true);return false},doEnd:function(a,c){if(!this.isStarted){this.tryDragStart(a)}if(this.isStarted){var g=a.changedTouches[0],d=g.point,b=this.info;this.isStarted=false;this.lastPoint=d;this.updateInfo("x",a,g);this.updateInfo("y",a,g);b.time=a.time;this.onAxisDragEnd("x",b);this.onAxisDragEnd("y",b);this.fire(c?"dragcancel":"dragend",a,b);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(j){var m=j.changedTouches[0],n=m.pageX,o=m.pageY,c=n-this.startX,d=o-this.startY,a=Math.abs(n-this.startX),b=Math.abs(o-this.startY),i=j.time-this.startTime,k=this.getMinDistance(),l=j.time,g,h;if(l-this.startTime>this.getMaxDuration()){return this.fail(this.self.MAX_DURATION_EXCEEDED)}if(this.isHorizontal&&b>this.getMaxOffset()){this.isHorizontal=false}if(this.isVertical&&a>this.getMaxOffset()){this.isVertical=false}if(!this.isVertical||!this.isHorizontal){if(this.isHorizontal&&a<k){g=(c<0)?"left":"right";h=a}else{if(this.isVertical&&b<k){g=(d<0)?"up":"down";h=b}}}if(g&&!this.started){this.started=true;this.fire("swipestart",j,{touch:m,direction:g,distance:h,duration:i})}if(!this.isHorizontal&&!this.isVertical){return this.fail(this.self.MAX_OFFSET_EXCEEDED)}},onTouchEnd:function(j){if(this.onTouchMove(j)===false){return false}var l=j.changedTouches[0],m=l.pageX,n=l.pageY,c=m-this.startX,d=n-this.startY,a=Math.abs(c),b=Math.abs(d),k=this.getMinDistance(),i=j.time-this.startTime,g,h;if(this.isVertical&&b<k){this.isVertical=false}if(this.isHorizontal&&a<k){this.isHorizontal=false}if(this.isHorizontal){g=(c<0)?"left":"right";h=a}else{if(this.isVertical){g=(d<0)?"up":"down";h=b}else{return this.fail(this.self.DISTANCE_NOT_ENOUGH)}}this.started=false;this.fire("swipe",j,{touch:l,direction:g,distance:h,duration:i})},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(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.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(j){var o=j.changedTouches[0],p=o.pageX,q=o.pageY,c=p-this.startX,d=q-this.startY,b=Math.abs(q-this.startY),a=Math.abs(p-this.startX),n=this.getMinDistance(),m=this.getMaxOffset(),i=j.time-this.startTime,l=Ext.Viewport&&Ext.Element.getViewportWidth(),k=Ext.Viewport&&Ext.Element.getViewportHeight(),g,h;if(this.isVertical&&a>m){this.isVertical=false}if(this.isHorizontal&&b>m){this.isHorizontal=false}if(this.isVertical&&this.isHorizontal){if(b>a){this.isHorizontal=false}else{this.isVertical=false}}if(this.isHorizontal){g=(c<0)?"left":"right";h=c}else{if(this.isVertical){g=(d<0)?"up":"down";h=d}}g=this.direction||(this.direction=g);if(g==="up"){h=d*-1}else{if(g==="left"){h=c*-1}}this.distance=h;if(!h){return this.fail(this.self.DISTANCE_NOT_ENOUGH)}if(!this.started){if(g==="right"&&this.startX>n){return this.fail(this.self.NOT_NEAR_EDGE)}else{if(g==="down"&&this.startY>n){return this.fail(this.self.NOT_NEAR_EDGE)}else{if(g==="left"&&(l-this.startX)>n){return this.fail(this.self.NOT_NEAR_EDGE)}else{if(g==="up"&&(k-this.startY)>n){return this.fail(this.self.NOT_NEAR_EDGE)}}}}this.started=true;this.startTime=j.time;this.fire("edgeswipestart",j,{touch:o,direction:g,distance:h,duration:i})}else{this.fire("edgeswipe",j,{touch:o,direction:g,distance:h,duration:i})}},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(a){var b=this;b.timer=Ext.defer(function(){b.fireLongPress(a)},b.getMinDuration())},onTouchMove:function(a){var b=a.changedTouches[0].point;if(Math.abs(b.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(b){if(b==="longpress"){var a=Array.prototype.slice.call(arguments);a[0]="taphold";this.fire.apply(this,a)}return this.callParent(arguments)}},function(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.longPress)});Ext.define("Ext.event.gesture.MultiTouch",{extend:Ext.event.gesture.Recognizer,requiredTouchesCount:2,isTracking:false,isStarted:false,onTouchStart:function(a){var b=this.requiredTouchesCount,c=a.touches,d=c.length;if(d===b){this.start(a)}else{if(d>b){this.end(a)}}},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(a,b){if(this.isTracking){this.isTracking=false;if(this.isStarted){this.isStarted=false;this[b?"fireCancel":"fireEnd"](a)}}},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(b){if(!this.isTracking){return}var g=b.touches,c,d,a;c=g[0].point;d=g[1].point;a=c.getDistanceTo(d);if(a===0){return}if(!this.isStarted){this.isStarted=true;this.startDistance=a;this.fire("pinchstart",b,{touches:g,distance:a,scale:1})}else{this.fire("pinch",b,{touches:g,distance:a,scale:a/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(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.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(c){if(!this.isTracking){return}var k=c.touches,g=this.lastAngle,d,j,a,h,i,b;d=k[0].point;j=k[1].point;a=d.getAngleTo(j);if(g!==null){b=Math.abs(g-a);h=a+360;i=a-360;if(Math.abs(h-g)<b){a=h}else{if(Math.abs(i-g)<b){a=i}}}this.lastAngle=a;if(!this.isStarted){this.isStarted=true;this.startAngle=a;this.fire("rotatestart",c,{touches:k,angle:a,rotation:0})}else{this.fire("rotate",c,{touches:k,angle:a,rotation:a-this.startAngle})}this.lastTouches=Ext.Array.clone(k)},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(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.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(a){var c=a.changedTouches[0],b=c.point;if(Math.abs(b.getDistanceTo(this.startPoint))>=this.getMoveDistance()){this.fire("tapcancel",a,{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.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(e,h){var a=this.data,b=Ext.isArray(h),g=a.transform,d,c;if(!g){g=a.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 e=="string"){switch(e){case"translate":if(b){d=h.length;if(d==0){break}g.translateX=h[0];if(d==1){break}g.translateY=h[1];if(d==2){break}g.translateZ=h[2]}else{g.translateX=h}break;case"rotate":if(b){d=h.length;if(d==0){break}g.rotateX=h[0];if(d==1){break}g.rotateY=h[1];if(d==2){break}g.rotateZ=h[2]}else{g.rotate=h}break;case"scale":if(b){d=h.length;if(d==0){break}g.scaleX=h[0];if(d==1){break}g.scaleY=h[1];if(d==2){break}g.scaleZ=h[2]}else{g.scaleX=h;g.scaleY=h}break;case"skew":if(b){d=h.length;if(d==0){break}g.skewX=h[0];if(d==1){break}g.skewY=h[1]}else{g.skewX=h}break;default:g[e]=h}}else{for(c in e){if(e.hasOwnProperty(c)){h=e[c];this.setTransform(c,h)}}}},set:function(c,d){var a=this.data,b;if(typeof c!="string"){for(b in c){d=c[b];if(b==="transform"){this.setTransform(d)}else{a[b]=d}}}else{if(c==="transform"){this.setTransform(d)}else{a[c]=d}}return this},unset:function(b){var a=this.data;if(a.hasOwnProperty(b)){delete a[b]}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,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(a,b){if(a){return Ext.factory(a,Ext.fx.State,b)}},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(b){var c=this.stateNameRegex,a;for(a in b){if(c.test(a)){this.setState(a,b[a])}}return this},getStates:function(){return this.states},end:function(){this.stop()},stop:function(){this.fireEvent("stop",this)},destroy:function(){this.stop();this.callParent()},setState:function(a,b){var d=this.getStates(),c;c=Ext.factory(b,Ext.fx.State,d[a]);if(c){d[a]=c}else{if(a===this.STATE_TO){Ext.Logger.error("Setting and invalid '100%' / 'to' state of: "+b)}}return this},getState:function(a){return this.getStates()[a]},getData:function(){var i=this.getStates(),j={},b=this.getBefore(),a=this.getAfter(),d=i[this.STATE_FROM],k=i[this.STATE_TO],e=d.getData(),l=k.getData(),c,g,h;for(g in i){if(i.hasOwnProperty(g)){h=i[g];c=h.getData();j[g]=c}}if(Ext.browser.is.AndroidStock2){j["0.0001%"]=e}return{before:b?b.getData():{},after:a?a.getData():{},states:j,from:e,to:l,duration:this.getDuration(),iteration:this.getIteration(),direction:this.getDirection(),easing:this.getEasing(),delay:this.getDelay(),onEnd:this.getOnEnd(),onBeforeEnd:this.getOnBeforeEnd(),onBeforeStart:this.getOnBeforeStart(),scope:this.getScope(),preserveEndState:this.getPreserveEndState(),replacePrevious:this.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 d=this.getElementBox(),b=this.getContainerBox(),a=d?d:b,e=this.getFrom(),l=this.getTo(),j=this.getOut(),i=this.getOffset(),c=this.getDirection(),q=this.getUseCssTransform(),k=this.getReverse(),o=0,p=0,g,h,m,n;if(k){c=this.reverseDirectionMap[c]}switch(c){case this.DIRECTION_UP:if(j){p=b.top-a.top-a.height-i}else{p=b.bottom-a.bottom+a.height+i}break;case this.DIRECTION_DOWN:if(j){p=b.bottom-a.bottom+a.height+i}else{p=b.top-a.height-a.top-i}break;case this.DIRECTION_RIGHT:if(j){o=b.right-a.right+a.width+i}else{o=b.left-a.left-a.width-i}break;case this.DIRECTION_LEFT:if(j){o=b.left-a.left-a.width-i}else{o=b.right-a.right+a.width+i}break}g=(j)?0:o;h=(j)?0:p;if(q){e.setTransform({translateX:g,translateY:h})}else{e.set("left",g);e.set("top",h)}m=(j)?o:0;n=(j)?p:0;if(q){l.setTransform({translateX:m,translateY:n})}else{l.set("left",m);l.set("top",n)}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(b){var c=this.getTo(),a=this.getFrom();if(b){a.set("opacity",1);c.set("opacity",0)}else{a.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 b=this.getFrom(),j=this.getTo(),a=this.getDirection(),h=this.getOut(),g=this.getHalf(),i=(g)?90:180,e=1,m=1,c=0,d=0,k=0,l=0;if(h){m=0.8}else{e=0.8}switch(a){case this.DIRECTION_UP:if(h){k=i}else{c=-i}break;case this.DIRECTION_DOWN:if(h){k=-i}else{c=i}break;case this.DIRECTION_RIGHT:if(h){l=i}else{d=-i}break;case this.DIRECTION_LEFT:if(h){l=-i}else{d=i}break}b.setTransform({rotateX:c,rotateY:d,scale:e});j.setTransform({rotateX:k,rotateY:l,scale:m});return this.callParent(arguments)}});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(),a=this.getFrom(),b=this.getOut();if(b){a.set("opacity",1);a.setTransform({scale:1});c.set("opacity",0);c.setTransform({scale:0})}else{a.set("opacity",0);a.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(a){var b=Ext.fx.animation.Abstract,c;if(typeof a=="string"){c=a;a={}}else{if(a&&a.type){c=a.type}}if(c){if(Ext.browser.is.AndroidStock2){if(c=="pop"){c="fade"}if(c=="popIn"){c="fadeIn"}if(c=="popOut"){c="fadeOut"}}b=Ext.ClassManager.getByAlias("animation."+c);if(!b){Ext.Logger.error("Invalid animation type of: '"+c+"'")}}return Ext.factory(a,b)}});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:{},constructor:function(){var a=Ext.feature.has.Css3dTransforms;if(a){this.transformMethods=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","scaleX","scaleY","scaleZ"]}else{this.transformMethods=["translateX","translateY","rotate","skewX","skewY","scaleX","scaleY"]}this.vendorPrefix=Ext.browser.getStyleDashPrefix();this.ruleStylesCache={};this.callParent()},getStyleSheet:function(){var b=this.styleSheet,a,c;if(!b){a=document.createElement("style");a.type="text/css";(document.head||document.getElementsByTagName("head")[0]).appendChild(a);c=document.styleSheets;this.styleSheet=b=c[c.length-1]}return b},applyRules:function(j){var k=this.getStyleSheet(),h=this.ruleStylesCache,c=k.cssRules,i,b,e,g,d,a,l;for(i in j){b=j[i];e=h[i];if(e===undefined){d=c.length;k.insertRule(i+"{}",d);e=h[i]=c.item(d).style}g=e.$cache;if(!g){g=e.$cache={}}for(a in b){l=this.formatValue(b[a],a);a=this.formatName(a);if(g[a]!==l){g[a]=l;if(l===null){e.removeProperty(a)}else{e.setProperty(a,l,"important")}}}}return this},applyStyles:function(g){var c,a,b,e,d,h;for(c in g){if(g.hasOwnProperty(c)){a=document.getElementById(c);if(!a){return this}b=a.style;e=g[c];for(d in e){if(e.hasOwnProperty(d)){h=this.formatValue(e[d],d);d=this.formatName(d);if(h===null){b.removeProperty(d)}else{b.setProperty(d,h,"important")}}}}}return this},formatName:function(c){var a=this.formattedNameCache,b=a[c];if(!b){if((Ext.os.is.Tizen||!Ext.feature.has.CssTransformNoPrefix)&&this.prefixedProperties[c]){b=this.vendorPrefix+c}else{b=c}a[c]=b}return b},formatValue:function(l,e){var j=typeof l,b=this.DEFAULT_UNIT_LENGTH,g,d,a,c,h,m,k;if(l===null){return""}if(j=="string"){if(this.lengthProperties[e]){k=l.match(this.lengthUnitRegex)[1];if(k.length>0){if(k!==b){Ext.Logger.error("Length unit: '"+k+"' in value: '"+l+"' of property: '"+e+"' is not valid for animation. Only 'px' is allowed")}}else{return l+b}}return l}else{if(j=="number"){if(l==0){return"0"}if(this.lengthProperties[e]){return l+b}if(this.angleProperties[e]){return l+this.DEFAULT_UNIT_ANGLE}if(this.durationProperties[e]){return l+this.DEFAULT_UNIT_DURATION}}else{if(e==="transform"){g=this.transformMethods;h=[];for(a=0,c=g.length;a<c;a++){d=g[a];h.push(d+"("+this.formatValue(l[d],d)+")")}return h.join(" ")}else{if(Ext.isArray(l)){m=[];for(a=0,c=l.length;a<c;a++){m.push(this.formatValue(l[a],e))}return(m.length>0)?m.join(", "):"none"}}}}return l}});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(a){var c=a.target,b=c.id;if(b&&this.runningAnimationsData.hasOwnProperty(b)){this.refreshRunningAnimationsData(Ext.get(c),[a.browserEvent.propertyName])}},onAnimationEnd:function(c,b,a,j,k){var h=c.getId(),n=this.runningAnimationsData[h],e={},d={},o,p,g,l,m;a.un("stop","onAnimationStop",this);if(n){o=n.nameMap}e[h]=d;if(b.onBeforeEnd){b.onBeforeEnd.call(b.scope||this,c,j)}a.fireEvent("animationbeforeend",a,c,j);this.fireEvent("animationbeforeend",this,a,c,j);if(k||(!j&&!b.preserveEndState)){p=b.toPropertyNames;for(g=0,l=p.length;g<l;g++){m=p[g];if(o&&!o.hasOwnProperty(m)){d[m]=null}}}if(b.after){Ext.merge(d,b.after)}this.applyStyles(e);if(b.onEnd){b.onEnd.call(b.scope||this,c,j)}a.fireEvent("animationend",a,c,j);this.fireEvent("animationend",this,a,c,j);Ext.AnimationQueue.stop(Ext.emptyFn,a)},onAllAnimationsEnd:function(a){var c=a.getId(),b={};delete this.runningAnimationsData[c];b[c]={"transition-property":null,"transition-duration":null,"transition-timing-function":null,"transition-delay":null};this.applyStyles(b);this.fireEvent("animationallend",this,a)},hasRunningAnimations:function(a){var b=a.getId(),c=this.runningAnimationsData;return c.hasOwnProperty(b)&&c[b].sessions.length>0},refreshRunningAnimationsData:function(a,p,e,q){var d=a.getId(),r=this.runningAnimationsData,s=r[d];if(!s){return}var o=s.nameMap,n=s.nameList,u=s.sessions,k,g,v,m,c,t,l,h,b=false;e=Boolean(e);q=Boolean(q);if(!u){return this}k=u.length;if(k===0){return this}if(q){s.nameMap={};n.length=0;for(c=0;c<k;c++){t=u[c];this.onAnimationEnd(a,t.data,t.animation,e,q)}u.length=0}else{for(c=0;c<k;c++){t=u[c];l=t.map;h=t.list;for(g=0,v=p.length;g<v;g++){m=p[g];if(l[m]){delete l[m];Ext.Array.remove(h,m);t.length--;if(--o[m]==0){delete o[m];Ext.Array.remove(n,m)}}}if(t.length==0){u.splice(c,1);c--;k--;b=true;this.onAnimationEnd(a,t.data,t.animation,e)}}}if(!q&&!e&&u.length==0&&b){this.onAllAnimationsEnd(a)}},getRunningData:function(a){var b=this.runningAnimationsData;if(!b.hasOwnProperty(a)){b[a]={nameMap:{},nameList:[],sessions:[]}}return b[a]},getTestElement:function(){var d=this.testElement,a,b,c;if(!d){a=document.createElement("iframe");a.setAttribute("tabindex",-1);c=a.style;c.setProperty("visibility","hidden","important");c.setProperty("width","0px","important");c.setProperty("height","0px","important");c.setProperty("position","absolute","important");c.setProperty("border","0px","important");c.setProperty("zIndex","-1000","important");document.body.appendChild(a);b=a.contentDocument;b.open();b.writeln("</body>");b.close();this.testElement=d=b.createElement("div");d.style.setProperty("position","absolute","important");b.body.appendChild(d);this.testElementComputedStyle=window.getComputedStyle(d)}return d},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(b){var x=this,u=this.lengthProperties,p={},I={},g={},k,m,o,H,c,r,K,h,y,B,l,s,v,w,a,A,G,d,n,z,J,e,q,t,D,C,F,E;if(!this.listenersAttached){this.attachListeners()}b=Ext.Array.from(b);for(s=0,w=b.length;s<w;s++){a=b[s];a=Ext.factory(a,Ext.fx.Animation);k=a.getElement();Ext.AnimationQueue.start(Ext.emptyFn,a);d=window.getComputedStyle(k.dom);m=k.getId();g=Ext.merge({},a.getData());if(a.onBeforeStart){a.onBeforeStart.call(a.scope||this,k)}a.fireEvent("animationstart",a);this.fireEvent("animationstart",this,a);g[m]=g;c=g.before;o=g.from;H=g.to;g.fromPropertyNames=r=[];g.toPropertyNames=K=[];for(z in H){if(H.hasOwnProperty(z)){H[z]=J=this.formatValue(H[z],z);n=this.formatName(z);t=u.hasOwnProperty(z);if(!t){J=this.getCssStyleValue(n,J)}if(o.hasOwnProperty(z)){o[z]=q=this.formatValue(o[z],z);if(!t){q=this.getCssStyleValue(n,q)}if(J!==q){r.push(n);K.push(n)}}else{e=d.getPropertyValue(n);if(J!==e){K.push(n)}}}}A=K.length;if(A===0){this.onAnimationEnd(k,g,a);continue}B=this.getRunningData(m);F=B.sessions;if(F.length>0){this.refreshRunningAnimationsData(k,Ext.Array.merge(r,K),true,g.replacePrevious)}D=B.nameMap;C=B.nameList;G={};for(v=0;v<A;v++){z=K[v];G[z]=true;if(!D.hasOwnProperty(z)){D[z]=1;C.push(z)}else{D[z]++}}E={element:k,map:G,list:K.slice(),length:A,data:g,animation:a};F.push(E);a.on("stop","onAnimationStop",this);l=Ext.apply({},c);Ext.apply(l,o);if(C.length>0){r=Ext.Array.difference(C,r);K=Ext.Array.merge(r,K);l["transition-property"]=r}p[m]=l;I[m]=Ext.apply({},H);I[m]["transition-property"]=K;I[m]["transition-duration"]=g.duration;I[m]["transition-timing-function"]=g.easing;I[m]["transition-delay"]=g.delay;a.startTime=Date.now()}y=this.$className;this.applyStyles(p);h=function(i){if(i.data===y&&i.source===window){window.removeEventListener("message",h,false);x.applyStyles(I)}};if(Ext.browser.is.IE){Ext.Function.requestAnimationFrame(function(){window.addEventListener("message",h,false);window.postMessage(y,"*")})}else{window.addEventListener("message",h,false);window.postMessage(y,"*")}},onAnimationStop:function(a){var e=this.runningAnimationsData,c,g,j,b,d,h;for(c in e){if(e.hasOwnProperty(c)){g=e[c];j=g.sessions;for(b=0,d=j.length;b<d;b++){h=j[b];if(h.animation===a){this.refreshRunningAnimationsData(h.element,h.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 l=this.getTo(),h=this.getFrom(),b=this.getBefore(),a=this.getAfter(),k=this.getOut(),c=this.getDirection(),d=this.getElement(),g=d.getWidth(),e=d.getHeight(),j=k?"100% 100%":"0% 0%",i=1,m=1,n={rotateY:0,translateZ:0},o={rotateY:0,translateZ:0};if(c=="left"||c=="right"){if(k){m=0.5;o.translateZ=g;o.rotateY=-90}else{i=0.5;n.translateZ=g;n.rotateY=90}}b["transform-origin"]=j;a["transform-origin"]=null;l.set("transform",o);h.set("transform",n);h.set("opacity",i);l.set("opacity",m);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 m=this,b=m.getElement(),c=b.dom.getBoundingClientRect(),e=c.width,d=c.height,g=m.getFrom(),p=m.getTo(),n=m.getOut(),a=m.getDirection(),i=0,j=0,k=0,l=0,h,o;switch(a){case"up":if(n){h="-webkit-gradient(linear, left top, left bottom, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";j=d*3+"px";l=d+"px"}else{h="-webkit-gradient(linear, left top, left bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";j=-d*2+"px";l=0}break;case"down":if(n){h="-webkit-gradient(linear, left top, left bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";j=-d*2+"px";l=0}else{h="-webkit-gradient(linear, left top, left bottom, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";j=d*3+"px";l=d+"px"}break;case"right":if(n){h="-webkit-gradient(linear, right top, left top, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";i=-e*2+"px";k=0}else{h="-webkit-gradient(linear, right top, left top, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";k=-e*2+"px"}break;case"left":if(n){h="-webkit-gradient(linear, right top, left top, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";k=-e*2+"px"}else{h="-webkit-gradient(linear, right top, left top, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";i=-e*2+"px";k=0}break}if(!n){o=j;j=l;l=o;o=i;i=k;k=o}g.set("mask-image",h);g.set("mask-size",e*3+"px "+d*3+"px");g.set("mask-position-x",i);g.set("mask-position-y",j);p.set("mask-position-x",k);p.set("mask-position-y",l)}});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 b=Ext.Date.now()-this.getStartTime(),d=this.getDuration(),g=this.getStartValue(),e=this.getEndValue(),c=this.distance,h=b/d,i=Math.pow(h,this.getExponent()),a=g+(i*c);if(b>=d){this.isEnded=true;return e}return a}});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.Abstract",{extend:Ext.Evented,isAnimation:true,config:{direction:"left",duration:null,reverse:null,layout:null},updateLayout:function(){this.enable()},enable:function(){var a=this.getLayout();if(a){a.onBefore("activeitemchange","onActiveItemChange",this)}},disable:function(){var a=this.getLayout();if(this.isAnimating){this.stopAnimation()}if(a){a.unBefore("activeitemchange","onActiveItemChange",this)}},onActiveItemChange:Ext.emptyFn,destroy:function(){var a=this.getLayout();if(this.isAnimating){this.stopAnimation()}if(a){a.unBefore("activeitemchange","onActiveItemChange",this)}this.setLayout(null);if(this.observableId){this.fireEvent("destroy",this);this.clearListeners();this.clearManagedListeners()}}});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(a){var b,c;this.callParent([a]);this.endAnimationCounter=0;b=this.getInAnimation();c=this.getOutAnimation();b.on("animationend","incrementEnd",this);c.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(a,b){return Ext.factory(a,Ext.fx.Animation,b)},applyOutAnimation:function(a,b){return Ext.factory(a,Ext.fx.Animation,b)},updateInAnimation:function(a){a.setScope(this)},updateOutAnimation:function(a){a.setScope(this)},onActiveItemChange:function(a,e,g,h,b){var c=this.getInAnimation(),i=this.getOutAnimation(),d,j;if(e&&g&&g.isPainted()){d=e.renderElement;j=g.renderElement;c.setElement(d);i.setElement(j);i.setOnBeforeEnd(function(k,l){if(l||Ext.Animator.hasRunningAnimations(k)){b.firingArguments[1]=null;b.firingArguments[2]=null}});i.setOnEnd(function(){b.resume()});d.dom.style.setProperty("visibility","hidden","important");e.show();Ext.Animator.run([i,c]);b.pause()}},destroy:function(){Ext.destroy(this.getInAnimation(),this.getOutAnimation());this.callParent(arguments)}});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(a,c,d,e,b){var g=c.element.getParent();g.addCls(Ext.baseCSSPrefix+"layout-card-perspective");this.on("animationend",function(){g.removeCls(Ext.baseCSSPrefix+"layout-card-perspective")},this,{single:true});this.callParent(arguments)},updateDuration:function(a){var b=a/2,c=this.getInAnimation(),d=this.getOutAnimation();c.setDelay(b);c.setDuration(b);d.setDuration(b)}});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(a){var b=a/2,c=this.getInAnimation(),d=this.getOutAnimation();c.setDelay(b);c.setDuration(b);d.setDuration(b)}});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,j,k,l,e){var g=this.getDirection(),h=this.getEasing(),b,i,m,d,c,n;if(j&&k){if(this.isAnimating){this.stopAnimation()}j.setWidth("100%");j.setHeight("100%");b=this.getLayout().container.innerElement;d=b.getWidth();c=b.getHeight();i=j.renderElement;m=k.renderElement;this.oldItem=k;this.newItem=j;this.currentEventController=e;this.containerElement=b;this.isReverse=n=this.getReverse();j.show();if(g=="right"){g="left";this.isReverse=n=!n}else{if(g=="down"){g="up";this.isReverse=n=!n}}if(g=="left"){if(n){h.setConfig({startValue:d,endValue:0});b.dom.scrollLeft=d;m.setLeft(d)}else{h.setConfig({startValue:0,endValue:d});i.setLeft(d)}}else{if(n){h.setConfig({startValue:c,endValue:0});b.dom.scrollTop=c;m.setTop(c)}else{h.setConfig({startValue:0,endValue:c});i.setTop(c)}}this.startAnimation();e.pause()}},startAnimation:function(){this.isAnimating=true;this.getEasing().setStartTime(Date.now());Ext.AnimationQueue.start(this.doAnimationFrame,this)},doAnimationFrame:function(){var b=this.getEasing(),a=this.getDirection(),c="scrollTop",d;if(a=="left"||a=="right"){c="scrollLeft"}if(b.isEnded){this.stopAnimation()}else{d=b.getValue();this.containerElement.dom[c]=d}},stopAnimation:function(){var b=this,a=b.getDirection(),e="setTop",d=b.oldItem,c=b.newItem;if(a=="left"||a=="right"){e="setLeft"}b.currentEventController.resume();if(b.isReverse&&d&&d.renderElement&&d.renderElement.dom){d.renderElement[e](null)}else{if(c&&c.renderElement&&c.renderElement.dom){c.renderElement[e](null)}}Ext.AnimationQueue.stop(this.doAnimationFrame,this);b.isAnimating=false;b.fireEvent("animationend",b)}});Ext.define("Ext.fx.layout.Card",{constructor:function(a){var b=Ext.fx.layout.card.Abstract,c;if(!a){return null}if(typeof a=="string"){c=a;a={}}else{if(a.type){c=a.type}}a.elementBox=false;if(c){if(Ext.browser.is.AndroidStock2){if(c!="fade"){c="scroll"}}b=Ext.ClassManager.getByAlias("fx.layout.card."+c);if(!b){Ext.Logger.error("Unknown card animation type: '"+c+"'")}}return Ext.factory(a,b)}});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(b,g,j,i,e){var c,d,l,a,h,k;this.lastController=e;this.inItem=g;if(g&&j){c=this.getLayout().container.innerElement;d=c.getSize();l=this.calculateXY(d);a={easing:this.getEasing(),duration:this.getDuration()};g.renderElement.dom.style.setProperty("visibility","hidden","important");h=g.setTranslatable(true).getTranslatable();k=j.setTranslatable(true).getTranslatable();k.translate({x:0,y:0});h.translate({x:l.left,y:l.top});h.getWrapper().dom.style.setProperty("z-index","100","important");g.show();h.on({animationstart:"onInAnimationStart",animationend:"onInAnimationEnd",scope:this});h.translateAnimated({x:0,y:0},a);e.pause()}},onInAnimationStart:function(){this.inItem.renderElement.dom.style.removeProperty("visibility")},onInAnimationEnd:function(){this.inItem.getTranslatable().getWrapper().dom.style.removeProperty("z-index");this.lastController.resume()}});Ext.define("Ext.fx.layout.card.ScrollReveal",{extend:Ext.fx.layout.card.Scroll,alias:"fx.layout.card.scrollreveal",onActiveItemChange:function(b,g,j,i,e){var c,d,l,a,k,h;this.lastController=e;this.outItem=j;this.inItem=g;if(g&&j){c=this.getLayout().container.innerElement;d=c.getSize();l=this.calculateXY(d);a={easing:this.getEasing(),duration:this.getDuration()};k=j.setTranslatable(true).getTranslatable();h=g.setTranslatable(true).getTranslatable();k.getWrapper().dom.style.setProperty("z-index","100","important");k.translate({x:0,y:0});h.translate({x:0,y:0});g.show();k.on({animationend:"onOutAnimationEnd",scope:this});k.translateAnimated({x:l.x,y:l.y},a);e.pause()}},onOutAnimationEnd:function(){this.outItem.getTranslatable().getWrapper().dom.style.removeProperty("z-index");this.lastController.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(c){var i=c.browserEvent.animationName,h=this.animationElementMap[i],a=this.runningAnimationsMap[h][i],g=this.elementEndStates,d=g[h],b={};if(d){delete g[h];b[h]=d;this.applyStyles(b)}if(a.before){b[h]=a.before;this.applyStyles(b)}},onAnimationEnd:function(c){var d=c.target,h=c.browserEvent.animationName,b=this.animationElementMap,g=b[h],j=this.runningAnimationsMap,i=j[g],a=i[h];if(a.onBeforeEnd){a.onBeforeEnd.call(a.scope||this,d)}if(a.onEnd){a.onEnd.call(a.scope||this,d)}delete b[h];delete i[h];this.removeKeyframesRule(h)},generateAnimationId:function(){return"animation-"+(++this.uniqueId)},run:function(d){var e={},l=this.elementEndStates,b=this.animationElementMap,u=this.runningAnimationsMap,t,v,m,c,n,p,a,q,s,r,j,k,g,h,o;if(!this.listenersAttached){this.attachListeners()}d=Ext.Array.from(d);for(n=0,p=d.length;n<p;n++){a=d[n];a=Ext.factory(a,Ext.fx.Animation);m=a.getElement().getId();c=a.getName()||this.generateAnimationId();b[c]=m;a=a.getData();v=a.states;this.addKeyframesRule(c,v);t=u[m];if(!t){t=u[m]={}}t[c]=a;r=[];j=[];k=[];g=[];h=[];o=[];for(q in t){if(t.hasOwnProperty(q)){s=t[q];r.push(q);j.push(s.duration);k.push(s.easing);g.push(s.delay);h.push(s.direction);o.push(s.iteration)}}e[m]={"animation-name":r,"animation-duration":j,"animation-timing-function":k,"animation-delay":g,"animation-direction":h,"animation-iteration-count":o};if(a.preserveEndState){l[m]=v["100%"]}}this.applyStyles(e)},addKeyframesRule:function(d,b){var e,g,c,k,h,j,i,a,l;k=this.getStyleSheet();h=k.cssRules;i=h.length;k.insertRule("@"+this.vendorPrefix+"keyframes "+d+"{}",i);c=h[i];for(e in b){g=b[e];h=c.cssRules;i=h.length;j=[];for(a in g){l=this.formatValue(g[a],a);a=this.formatName(a);j.push(a+":"+l)}c.insertRule(e+"{"+j.join(";")+"}",i)}return this},removeKeyframesRule:function(c){var g=this.getStyleSheet(),e=g.cssRules,a,b,d;for(a=0,b=e.length;a<b;a++){d=e[a];if(d.name===c){g.removeRule(a);break}}return this}});Ext.define("Ext.mixin.Hookable",{extend:Ext.Mixin,mixinConfig:{id:"hookable"},bind:function(h,d,b,i,e){if(!b){b=d}var c=h[d],g,a;if(c&&c.hasOwnProperty("$binding")){a=c.$binding;if(a.bindingMethod===b&&a.bindingScope===this){return this}}h[d]=g=function(){var k=g.$binding,l=k.bindingScope,j=Array.prototype.slice.call(arguments);j.push(arguments);if(e){j.push.apply(j,e)}if(!k.preventDefault&&l[k.bindingMethod].apply(l,j)!==false){return k.boundFn.apply(this,arguments)}};g.$binding={preventDefault:!!i,boundFn:c,bindingMethod:b,bindingScope:this};return this},unbind:function(h,d,b){if(!b){b=d}var g=h[d],a=g.$binding,c,e;while(a){c=a.boundFn;if(a.bindingMethod===b&&a.bindingScope===this){if(e){e.boundFn=c}else{h[d]=c}return this}e=a;a=c.$binding}return this}});Ext.define("Ext.mixin.Mashup",function(a){return{extend:"Ext.Mixin",mixinConfig:{id:"mashup",extended:function(b,c){a.process(c)}},statics:{process:function(g){var b=g.prototype,e=b.requiredScripts,c=g._classHooks,d=c.onCreated;if(e){delete b.requiredScripts;c.onCreated=function(){var i=this,h=Ext.Array.slice(arguments);Ext.Loader.loadScripts({url:e,cache:true,onLoad:function(){c.onCreated=d;c.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(c,d,h,b){if(!c){return d}var e=d?Ext.Object.chain(d):{},g;for(g in c){if(!b||!(g in e)){e[g]={fn:null,config:c[g]}}}return e}},responsiveFormulas:{$value:0,merge:function(c,d,e,b){return this.mergeNew(c,d,e,b)}}},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 b=a.all,c=a.context,d=Ext.GlobalEvents,g=a.timer,e;if(g){a.timer=null;Ext.Function.cancelAnimationFrame(g)}a.updateContext();Ext.suspendLayouts();d.fireEvent("beforeresponsiveupdate",c);for(e in b){b[e].setupResponsiveContext()}d.fireEvent("beginresponsiveupdate",c);for(e in b){b[e].updateResponsiveState()}d.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(e,g,h){var i=g&&g[h],c=e.config,b,d;if(i){d=e.getConfigurator();b=d.configs[h];c[h]=b.merge(i,c[h],e)}},register:function(c){var b=c.$responsiveId;if(!b){c.$responsiveId=b=++a.nextId;a.all[b]=c;if(++a.count===1){a.activate()}}},unregister:function(c){var b=c.$responsiveId;if(b in a.all){c.$responsiveId=null;delete a.all[b];if(--a.count===0){a.deactivate()}}},updateContext:function(){var c=Ext.Element,e=c.getViewportWidth(),d=c.getViewportHeight(),b=a.context;b.width=e;b.height=d;b.tall=e<d;b.wide=!b.tall;b.landscape=b.portrait=false;if(!b.platform){b.platform=Ext.platformTags}b[Ext.dom.Element.getOrientation()]=true}},afterClassMixedIn:function(g){var c=g.prototype,d=c.responsiveConfig,e=c.responsiveFormulas,b;if(d||e){b={};if(d){delete c.responsiveConfig;b.responsiveConfig=d}if(e){delete c.responsiveFormulas;b.responsiveFormulas=e}g.getConfigurator().add(b)}},applyResponsiveConfig:function(c){for(var b in c){c[b].fn=Ext.createRuleFn(b)}return c},applyResponsiveFormulas:function(c){var e={},b,d;if(c){for(d in c){if(Ext.isString(b=c[d])){b=Ext.createRuleFn(b)}e[d]=b}}return e},getResponsiveState:function(){var b=a.context,g=this.getResponsiveConfig(),d={},c,e;if(g){for(e in g){c=g[e];if(c.fn.call(this,b)){Ext.merge(d,c.config)}}}return d},setupResponsiveContext:function(){var c=this.getResponsiveFormulas(),b=a.context,d;if(c){for(d in c){b[d]=c[d].call(this,b)}}},transformInstanceConfig:function(b){var c=this,d;a.register(c);if(b){a.processConfig(c,b,"responsiveConfig");a.processConfig(c,b,"responsiveFormulas")}c.setupResponsiveContext();d=c.getResponsiveState();if(b){d=Ext.merge({},b,d);delete d.responsiveConfig;delete d.responsiveFormulas}return d},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},modes:{SINGLE:true,SIMPLE:true,MULTI:true},selectableEventHooks:{addrecords:"onSelectionStoreAdd",removerecords:"onSelectionStoreRemove",updaterecord:"onSelectionStoreUpdate",load:"refreshSelection",refresh:"refreshSelection"},constructor:function(){this.selected=new Ext.util.MixedCollection();this.callParent(arguments)},applyMode:function(a){a=a?a.toUpperCase():"SINGLE";return this.modes[a]?a:"SINGLE"},updateStore:function(c,d){var b=this,a=Ext.apply({},b.selectableEventHooks,{scope:b});if(d&&Ext.isObject(d)&&d.isStore){if(d.autoDestroy){d.destroy()}else{d.un(a);if(c){c.un("clear","onSelectionStoreClear",this)}}}if(c){c.on(a);c.onBefore("clear","onSelectionStoreClear",this);b.refreshSelection()}},selectAll:function(c){var a=this,b=a.getStore().getRange();a.select(b,true,c)},deselectAll:function(c){var a=this,b=a.getStore().getRange();a.deselect(b,c);a.selected.clear();a.setLastSelected(null);a.setLastFocused(null)},selectWithEvent:function(c){var b=this,a=b.isSelected(c);switch(b.getMode()){case"MULTI":case"SIMPLE":if(a){b.deselect(c)}else{b.select(c,true)}break;case"SINGLE":if(b.getAllowDeselect()&&a){b.deselect(c)}else{b.select(c,false)}break}},selectRange:function(g,a,c){var d=this,h=d.getStore(),e=[],j,b;if(d.getDisableSelection()){return}if(g>a){j=a;a=g;g=j}for(b=g;b<=a;b++){e.push(h.getAt(b))}this.doMultiSelect(e,c)},select:function(d,a,e){var b=this,c;if(b.getDisableSelection()){return}if(typeof d==="number"){d=[b.getStore().getAt(d)]}if(!d){return}if(b.getMode()=="SINGLE"&&d){c=d.length?d[0]:d;b.doSingleSelect(c,e)}else{b.doMultiSelect(d,a,e)}},doSingleSelect:function(b,d){var a=this,c=a.selected;if(a.getDisableSelection()){return}if(a.isSelected(b)){return}if(c.getCount()>0){a.deselect(a.getLastSelected(),d)}c.add(b);a.setLastSelected(b);a.onItemSelect(b,d);a.setLastFocused(b);if(!d){a.fireSelectionChange([b])}},doMultiSelect:function(h,c,k){if(h===null||this.getDisableSelection()){return}h=!Ext.isArray(h)?[h]:h;var e=this,j=e.selected,d=h.length,a=false,b=0,g;if(!c&&j.getCount()>0){a=true;e.deselect(e.getSelection(),true)}for(;b<d;b++){g=h[b];if(c&&e.isSelected(g)){continue}a=true;e.setLastSelected(g);j.add(g);if(!k){e.setLastFocused(g)}e.onItemSelect(g,k)}if(a&&!k){this.fireSelectionChange(h)}},deselect:function(g,k){var d=this;if(d.getDisableSelection()){return}g=Ext.isArray(g)?g:[g];var h=d.selected,a=false,b=0,j=d.getStore(),c=g.length,e;for(;b<c;b++){e=g[b];if(typeof e==="number"){e=j.getAt(e)}if(h.remove(e)){if(d.getLastSelected()==e){d.setLastSelected(h.last())}a=true}if(e){d.onItemDeselect(e,k)}}if(a&&!k){d.fireSelectionChange(g)}},updateLastFocused:function(a,b){this.onLastFocusChanged(b,a)},fireSelectionChange:function(b){var a=this;a.fireAction("beforeselectionchange",[a],function(){a.fireAction("selectionchange",[a,b],"getSelection")})},getSelection: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 a=this,b=a.getSelection();a.deselectAll(true);if(b.length){a.select(b,false,true)}},onSelectionStoreRemove:function(h,e){var c=this,g=c.selected,b=e.length,d,a;if(c.getDisableSelection()){return}for(a=0;a<b;a++){d=e[a];if(g.remove(d)){if(c.getLastSelected()==d){c.setLastSelected(null)}if(c.getLastFocused()==d){c.setLastFocused(null)}c.fireSelectionChange([d])}}},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.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 a=[],b=this.getParent();while(b){a.push(b);b=b.getParent()}return a},getAncestorIds:function(){var a=[],b=this.getParent();while(b){a.push(b.getId());b=b.getParent()}return a}});Ext.define("Ext.perf.Accumulator",function(){var b=null,e=Ext.global.chrome,c,d=function(){d=Ext.now;var l,m;if(Ext.isChrome&&e&&e.Interval){l=new e.Interval();l.start();d=function(){return l.microseconds()/1000}}else{if(window.ActiveXObject){try{m=new ActiveXObject("SenchaToolbox.Toolbox");Ext.senchaToolbox=m;d=function(){return m.milliseconds}}catch(k){}}}Ext.perf.getTimestamp=Ext.perf.Accumulator.getTimestamp=d;return d()};function a(k,l){k.sum+=l;k.min=Math.min(k.min,l);k.max=Math.max(k.max,l)}function g(m){var n=m?m:(d()-this.time),l=this,k=l.accum;++k.count;if(!--k.depth){a(k.total,n)}a(k.pure,n-l.childTime);b=l.parent;if(b){++b.accum.childCount;b.childTime+=n}}function h(){return{min:Number.MAX_VALUE,max:0,sum:0}}function i(l,k){return function(){var m=l.enter(),n=k.apply(this,arguments);m.leave();return n}}function j(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(l){var k=this;k.count=k.childCount=k.depth=k.maxDepth=0;k.pure=h();k.total=h();k.name=l},statics:{getTimestamp:d},format:function(k){if(!c){c=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 c.apply(l)},getData:function(k){var l=this;return{count:l.count,childCount:l.childCount,depth:l.maxDepth,pure:j(l.count,l.childCount,k,l.pure),total:j(l.count,l.childCount,k,l.total)}},enter:function(){var l=this,k={accum:l,leave:g,childTime:0,parent:b};++l.depth;if(l.maxDepth<l.depth){l.maxDepth=l.depth}b=k;k.time=d();return k},monitor:function(l,n,k){var m=this.enter();if(k){l.apply(n,k)}else{l.call(n)}m.leave()},report:function(){Ext.log(this.format())},tap:function(k,p){var o=this,q=typeof p==="string"?[p]:p,m,u,l,s,n,r,t,v;v=function(){if(typeof k==="string"){m=Ext.global;s=k.split(".");for(l=0,n=s.length;l<n;++l){m=m[s[l]]}}else{m=k}for(l=0,n=q.length;l<n;++l){r=q[l];u=r.charAt(0)==="!";if(u){r=r.substring(1)}else{u=!(r in m.prototype)}t=u?m:m.prototype;t[r]=i(o,t[r])}};Ext.ClassManager.onCreated(v,o,k);return o}}},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 a=new Ext.perf.Accumulator("$"),h=a.total,e=Ext.perf.Accumulator.getTimestamp,b=0,d,c,g;g=e();do{d=a.enter();d.leave();++b}while(h.sum<100);c=e();return(c-g)/b},get:function(c){var b=this,a=b.accumulatorsByName[c];if(!a){b.accumulatorsByName[c]=a=new Ext.perf.Accumulator(c);b.accumulators.push(a)}return a},enter:function(a){return this.get(a).enter()},monitor:function(b,a,c){this.get(b).monitor(a,c)},report:function(){var c=this,a=c.accumulators,b=c.calibrate();a.sort(function(d,e){return(d.name<e.name)?-1:((e.name<d.name)?1:0)});c.updateGC();Ext.log("Calibration: "+Math.round(b*100)/100+" msec/sample");Ext.each(a,function(d){Ext.log(d.format(b))})},getData:function(b){var c={},a=this.accumulators;Ext.each(a,function(d){if(b||d.count){c[d.name]=d.getData()}});return c},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,c=Ext.senchaToolbox,b;if(a){a.count=c.garbageCollectionCounter||0;if(a.count){b=a.pure;a.total.sum=b.sum=c.garbageCollectionMilliseconds;b.min=b.max=b.sum/a.count;b=a.total;b.min=b.max=b.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,a,b,e;for(d in c){if(c.hasOwnProperty(d)){g=c[d];a=Ext.Perf.get(d);for(b in g){if(g.hasOwnProperty(b)){e=g[b];a.tap(b,e)}}}}this.watchGC()},setupLog:function(c){var a,b,e,d,g;for(a in c){if(c.hasOwnProperty(a)){b=Ext.ClassManager.get(a);if(b){e=c[a];g={};for(d in e){g[d]=(function(i,h){return function(){var j,k,l,m,n;j=+Date.now();n=this.callParent(arguments);k=+Date.now()-j;if(window.console&&k>0){m=h==="this"?this:typeof h==="string"?this[h]:typeof h==="number"?arguments[h]:null;if(m){l=m.id}if(l!=null){console.log(i+" for "+l+": "+k+"ms")}else{console.log(i+" for unknown: "+k+"ms")}if(console.trace){console.trace()}}return n}})(d,e[d])}Ext.override(b,g)}}}}});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,onClassExtended:function(b,c,d){var a=c.alias;if(a&&!c.ptype){if(Ext.isArray(a)){a=a[0]}b.prototype.ptype=a.split("plugin.")[1]}},resolveListenerScope:function(b){var c=this,a=c.getCmp(),d;if(a){d=a.resolveSatelliteListenerScope(c,b)}return d||c.mixins.observable.resolveListenerScope.call(c,b)}});Ext.define("Ext.overrides.plugin.Abstract",{override:"Ext.plugin.Abstract",$configStrict:false,$configPrefixed:false,disabled:false,getState:null,applyState:null,enable:function(){this.disabled=false},disable:function(){this.disabled=true}});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);delete this.cmp.beforeComponentRender}});Ext.define("Ext.util.Base64",{singleton:true,_str:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(k){var m=this;var n="",a,b,c,d,e,g,h,j=0;k=m._utf8_encode(k);var l=k.length;while(j<l){a=k.charCodeAt(j++);b=k.charCodeAt(j++);c=k.charCodeAt(j++);d=a>>2;e=((a&3)<<4)|(b>>4);g=((b&15)<<2)|(c>>6);h=c&63;if(isNaN(b)){g=h=64}else{if(isNaN(c)){h=64}}n=n+m._str.charAt(d)+m._str.charAt(e)+m._str.charAt(g)+m._str.charAt(h)}return n},decode:function(k){var m=this;var n="",a,b,c,d,e,g,h,j=0;k=k.replace(/[^A-Za-z0-9\+\/\=]/g,"");var l=k.length;while(j<l){d=m._str.indexOf(k.charAt(j++));e=m._str.indexOf(k.charAt(j++));g=m._str.indexOf(k.charAt(j++));h=m._str.indexOf(k.charAt(j++));a=(d<<2)|(e>>4);b=((e&15)<<4)|(g>>2);c=((g&3)<<6)|h;n=n+String.fromCharCode(a);if(g!==64){n=n+String.fromCharCode(b)}if(h!==64){n=n+String.fromCharCode(c)}}n=m._utf8_decode(n);return n},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var g="",d=0,b=e.length;for(;d<b;d++){var a=e.charCodeAt(d);if(a<128){g+=String.fromCharCode(a)}else{if((a>127)&&(a<2048)){g+=String.fromCharCode((a>>6)|192);g+=String.fromCharCode((a&63)|128)}else{g+=String.fromCharCode((a>>12)|224);g+=String.fromCharCode(((a>>6)&63)|128);g+=String.fromCharCode((a&63)|128)}}}return g},_utf8_decode:function(j){var h="",e=0,a=0,d=0,b=0,g=j.length;while(e<g){a=j.charCodeAt(e);if(a<128){h+=String.fromCharCode(a);e++}else{if((a>191)&&(a<224)){b=j.charCodeAt(e+1);h+=String.fromCharCode(((a&31)<<6)|(b&63));e+=2}else{b=j.charCodeAt(e+1);d=j.charCodeAt(e+2);h+=String.fromCharCode(((a&15)<<12)|((b&63)<<6)|(d&63));e+=3}}}return h}});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(e,d){var g=this,c=(d||g.delimiter),m=[],l=[m],j=g.quote,k=g.quoteREs,i=g.parseREs,h=i[c]||(i[c]=new RegExp("(\\"+c+"|\\r?\\n|\\r|^)(?:\\"+j+"([^\\"+j+"]*(?:\\"+j+"\\"+j+"[^\\"+j+"]*)*)\\"+j+'|([^"\\'+c+"\\r\\n]*))","gi")),b=k[j]||(k[j]=new RegExp("\\"+j+"\\"+j,"g")),a,n,o;while(a=h.exec(e)){n=a[1];if(n.length&&n!==c){l.push(m=[])}if(a[2]){o=a[2].replace(b,'"')}else{o=a[3]}m.push(o)}return l},encode:function(g,e){var j=this,d=e||j.delimiter,c=j.dateFormat,l=j.quote,o=l+l,n=g.length,i=j.lineBreakRe,m=[],k=[],a,b,h;while(n-->0){h=g[n];k.length=b=h.length;while(b-->0){a=h[b];if(a==null){a=""}else{if(typeof a==="string"){if(a){if(a.indexOf(l)>-1){a=l+a.split(l).join(o)+l}else{if(a.indexOf(d)>-1||i.test(a)){a=l+a+l}}}}else{if(Ext.isDate(a)){a=Ext.Date.format(a,c)}else{if(a&&(isNaN(a)||Ext.isArray(a))){Ext.Error.raise("Cannot serialize "+Ext.typeOf(a)+" into CSV")}}}}k[b]=a}m[n]=k.join(d)}return m.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(c){var e=this,a=e.cache,b={_users:1},d;if(Ext.isString(c)){b.id=c}else{Ext.apply(b,c)}if(!(d=a[b.id])){d=new e(b)}else{if(d===true){Ext.Error.raise('Creating a shared instance of private local store "'+e.id+'".')}++d._users}return d},supported:true},constructor:function(a){var b=this;Ext.apply(b,a);if(!b.hasOwnProperty("id")){Ext.Error.raise("No id was provided to the local store.")}if(b._users){Ext.util.LocalStorage.cache[b.id]=b}else{if(Ext.util.LocalStorage.cache[b.id]){Ext.Error.raise('Cannot create duplicate instance of local store "'+b.id+'". Use Ext.util.LocalStorage.get() to share instances.')}Ext.util.LocalStorage.cache[b.id]=true}b.init()},init:function(){var b=this,a=b.id;if(!b.prefix&&a){b.prefix=a+"-"}b._store=(b.session?window.sessionStorage:window.localStorage)},destroy:function(){var a=this;if(a._users){Ext.log.warn("LocalStorage(id="+a.id+") destroyed while in use")}delete Ext.util.LocalStorage.cache[a.id];a._store=a._keys=null;a.destroyed=true;a.destroy=Ext.emptyFn},getKeys:function(){var d=this,h=d._store,g=d.prefix,c=d._keys,e=g.length,a,b;if(!c){d._keys=c=[];for(a=h.length;a--;){b=h.key(a);if(b.length>e){if(g===b.substring(0,e)){c.push(b.substring(e))}}}}return c},release:function(){if(!--this._users){this.destroy()}},save:Ext.emptyFn,clear:function(){var c=this,e=c._store,d=c.prefix,b=c._keys||c.getKeys(),a;for(a=b.length;a--;){e.removeItem(d+b[a])}b.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(b){var e=this,a=e.prefix+b,g=e._store,c=e._keys,d=g.length;g.removeItem(a);if(c&&d!==g.length){if(e.lazyKeys){e._keys=null}else{Ext.Array.remove(c,b)}}},setItem:function(b,h){var e=this,a=e.prefix+b,g=e._store,d=g.length,c=e._keys;g.setItem(a,h);if(c&&d!==g.length){c.push(b)}}},function(){var a=this;if("localStorage" in window){return}if(!Ext.isIE){a.supported=false;a.prototype.init=function(){Ext.Error.raise("Local storage is not supported on this browser")};return}a.override({data:null,flushDelay:1,init:function(){var d=this,b=d.data,c;d.el=c=document.createElement("div");c.id=(d.id||(d.id="extjs-localstore"));c.addBehavior("#default#userdata");Ext.getHead().dom.appendChild(c);c.load(d.id);b=c.getAttribute("xdata");d.data=b=(b?Ext.decode(b):{});d._flushFn=function(){d._timer=null;d.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(c){var b=this.data;return(c in b)?b[c]:null},removeItem:function(c){var e=this,d=e._keys,b=e.data;if(c in b){delete b[c];if(d){if(e.lazyKeys){e._keys=null}else{Ext.Array.remove(d,c)}}e.save(e.flushDelay)}},setItem:function(c,g){var e=this,b=e.data,d=e._keys;if(d&&!(c in b)){d.push(c)}b[c]=g;e.save(e.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,e,b){var c=this,d=c.shared;if(!d){d=c.shared=new c(a,b)}d.bind(a);d.setFixedWidth(b||"auto");return d.getSize(e)},destroy:function(){var a=this;Ext.destroy(a.shared);a.shared=null}},constructor:function(a,b){var c=this,d=Ext.getBody().createChild({"data-sticky":true,role:"presentation",cls:Ext.baseCSSPrefix+"textmetrics"});c.measure=d;if(a){c.bind(a)}d.position("absolute");d.setLocalXY(-1000,-1000);d.hide();if(b){d.setWidth(b)}},getSize:function(c){var a=this.measure,b;a.setHtml(c);b=a.getSize();a.setHtml("");return b},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.measure.destroy();delete a.el;delete a.measure}},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.Action",{constructor:function(a){this.initialConfig=a;this.itemId=a.itemId=(a.itemId||a.id||Ext.id());this.items=[]},isAction:true,setText:function(a){this.initialConfig.text=a;this.callEach("setText",[a])},getText:function(){return this.initialConfig.text},setIconCls:function(a){this.initialConfig.iconCls=a;this.callEach("setIconCls",[a])},getIconCls:function(){return this.initialConfig.iconCls},setDisabled:function(a){this.initialConfig.disabled=a;this.callEach("setDisabled",[a])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(a){this.initialConfig.hidden=a;this.callEach("setVisible",[!a])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(a,b){this.initialConfig.handler=a;this.initialConfig.scope=b;this.callEach("setHandler",[a,b])},each:function(a,b){Ext.each(this.items,a,b)},callEach:function(b,a){var e=this.items,c=0,g=e.length,d;Ext.suspendLayouts();for(;c<g;c++){d=e[c];d[b].apply(d,a)}Ext.resumeLayouts(true)},addComponent:function(a){this.items.push(a);a.on("destroy",this.removeComponent,this)},removeComponent:function(a){Ext.Array.remove(this.items,a)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||Ext.global,arguments)}});Ext.define("Ext.ElementLoader",{mixins:{observable:Ext.util.Observable},statics:{Renderer:{Html:function(b,c,a){b.getTarget().setHtml(c.responseText,a.scripts===true,a.rendererScope);return true}}},url:null,params:null,baseParams:null,autoLoad:false,target:null,loadMask:false,ajaxOptions:null,scripts:false,isLoader:true,constructor:function(b){var c=this,a;b=b||{};Ext.apply(c,b);c.mixins.observable.constructor.call(c);c.setTarget(c.target);if(c.autoLoad){a=c.autoLoad;if(a===true){a=null}c.load(a)}},setTarget:function(b){var a=this;b=Ext.get(b);if(a.target&&a.target!==b){a.abort()}a.target=b},getTarget:function(){return this.target||null},abort:function(){var a=this.active;if(a!==undefined){Ext.Ajax.abort(a.request);if(a.mask){this.removeMask()}delete this.active}},removeMask:function(){this.target.unmask()},addMask:function(a){this.target.mask(a===true?null:a)},load:function(e){if(!this.target){Ext.Error.raise("A valid target is required when loading content")}e=Ext.apply({},e);var d=this,c=Ext.isDefined(e.loadMask)?e.loadMask:d.loadMask,g=Ext.apply({},e.params),a=Ext.apply({},e.ajaxOptions),b=e.callback||d.callback,h=e.scope||d.scope||d;Ext.applyIf(a,d.ajaxOptions);Ext.applyIf(e,a);Ext.applyIf(g,d.params);Ext.apply(g,d.baseParams);Ext.applyIf(e,{url:d.url});if(!e.url){Ext.Error.raise("You must specify the URL from which content should be loaded")}Ext.apply(e,{scope:d,params:g,callback:d.onComplete});if(d.fireEvent("beforeload",d,e)===false){return}if(c){d.addMask(c)}d.active={options:e,mask:c,scope:h,callback:b,success:e.success||d.success,failure:e.failure||d.failure,renderer:e.renderer||d.renderer,scripts:Ext.isDefined(e.scripts)?e.scripts:d.scripts};d.active.request=Ext.Ajax.request(e);d.setOptions(d.active,e)},setOptions:function(a,b){a.rendererScope=b.rendererScope||this.rendererScope||this},onComplete:function(c,h,e){var b=this,a=b.active,d,g;if(a){g=a.scope;d=a.rendererScope;if(h){h=b.getRenderer(a.renderer).call(d,b,e,a)!==false}if(h){Ext.callback(a.success,g,[b,e,c]);b.fireEvent("load",b,e,c)}else{Ext.callback(a.failure,g,[b,e,c]);b.fireEvent("exception",b,e,c)}Ext.callback(a.callback,g,[b,h,e,c]);if(a.mask){b.removeMask()}}delete b.active},getRenderer:function(a){if(Ext.isFunction(a)){return a}return this.statics().Renderer.Html},startAutoRefresh:function(a,c){var b=this;b.stopAutoRefresh();b.autoRefresh=Ext.interval(function(){b.load(c)},a)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var a=this;a.stopAutoRefresh();delete a.target;a.abort();a.clearListeners()}});Ext.define("Ext.ComponentLoader",{extend:Ext.ElementLoader,statics:{Renderer:{Data:function(c,d,a){var g=true;try{c.getTarget().update(Ext.decode(d.responseText))}catch(b){g=false}return g},Component:function(d,g,a){var h=true,i=d.getTarget(),c=[];if(!i.isContainer){Ext.Error.raise({target:i,msg:"Components can only be loaded into a container"})}try{c=Ext.decode(g.responseText)}catch(b){h=false}if(h){i.suspendLayouts();if(a.removeAll){i.removeAll()}i.add(c);i.resumeLayouts(true)}return h}}},target:null,loadOnRender:false,loadMask:false,renderer:"html",setTarget:function(b){var a=this;if(Ext.isString(b)){b=Ext.getCmp(b)}if(a.target&&a.target!==b){a.abort()}a.target=b;if(b&&a.loadOnRender){if(b.rendered){a.doLoadOnRender()}else{a.mon(b,"render",a.doLoadOnRender,a)}}},doLoadOnRender:function(){var a=this.loadOnRender;this.load(Ext.isObject(a)?a:null)},removeMask:function(){this.target.setLoading(false)},addMask:function(a){this.target.setLoading(a)},setOptions:function(a,b){a.removeAll=Ext.isDefined(b.removeAll)?b.removeAll:this.removeAll;a.rendererScope=b.rendererScope||this.rendererScope||this.target},getRenderer:function(a){if(Ext.isFunction(a)){return a}var b=this.statics().Renderer;switch(a){case"component":return b.Component;case"data":return b.Data;default:return Ext.ElementLoader.Renderer.Html}}});Ext.define("Ext.layout.SizeModel",{constructor:function(a){var b=this,d=b.self,e=d.sizeModelsArray,c;Ext.apply(b,a);b[c=b.name]=true;b.fixed=!(b.auto=b.natural||b.shrinkWrap);e[b.ordinal=e.length]=d[c]=d.sizeModels[c]=b},statics:{sizeModelsArray:[],sizeModels:{}},calculated:false,configured:false,constrainedMax:false,constrainedMin:false,natural:false,shrinkWrap:false,calculatedFromConfigured:false,calculatedFromNatural:false,calculatedFromShrinkWrap:false,names:null},function(){var g=this,h=g.sizeModelsArray,a,b,c,d,e;new g({name:"calculated"});new g({name:"configured",names:{width:"width",height:"height"}});new g({name:"natural"});new g({name:"shrinkWrap"});new g({name:"calculatedFromConfigured",configured:true,calculatedFrom:true,names:{width:"width",height:"height"}});new g({name:"calculatedFromNatural",natural:true,calculatedFrom:true});new g({name:"calculatedFromShrinkWrap",shrinkWrap:true,calculatedFrom:true});new g({name:"constrainedMax",configured:true,constrained:true,names:{width:"maxWidth",height:"maxHeight"}});new g({name:"constrainedMin",configured:true,constrained:true,names:{width:"minWidth",height:"minHeight"}});new g({name:"constrainedDock",configured:true,constrained:true,constrainedByMin:true,names:{width:"dockConstrainedWidth",height:"dockConstrainedHeight"}});for(a=0,c=h.length;a<c;++a){e=h[a];e.pairsByHeightOrdinal=d=[];for(b=0;b<c;++b){d.push({width:e,height:h[b]})}}});Ext.define("Ext.layout.Layout",{mixins:[Ext.mixin.Factoryable],factoryConfig:{type:"layout"},isLayout:true,initialized:false,running:false,needsItemSize:true,setsItemSize:true,autoSizePolicy:{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:0},$configPrefixed:false,$configStrict:false,constructor:function(a){var b=this;b.id=Ext.id(null,b.type+"-");b.initConfig(a);delete b.type;b.layoutCount=0},beginLayout:Ext.emptyFn,beginLayoutCycle:function(d){var c=this,b=c.context,a;if(c.lastWidthModel!==d.widthModel){if(c.lastWidthModel){a=true}c.lastWidthModel=d.widthModel}if(c.lastHeightModel!==d.heightModel){if(c.lastWidthModel){a=true}c.lastHeightModel=d.heightModel}if(a){(b=d.context).clearTriggers(c,false);b.clearTriggers(c,true);c.triggerCount=0}},finishedLayout:function(a){this.lastWidthModel=a.widthModel;this.lastHeightModel=a.heightModel;this.ownerContext=null},redoLayout:Ext.emptyFn,undoLayout:Ext.emptyFn,getAnimatePolicy:function(){return this.animatePolicy},getItemSizePolicy:function(a){return this.autoSizePolicy},getScrollerEl:Ext.emptyFn,isItemBoxParent:function(a){return false},isItemLayoutRoot:function(b){var c=b.getSizeModel(),d=c.width,a=c.height;if(!b.componentLayout.lastComponentSize&&(d.calculated||a.calculated)){return false}return !d.shrinkWrap&&!a.shrinkWrap},isItemShrinkWrap:function(a){return a.shrinkWrap},isRunning:function(){return !!this.ownerContext},getItemsRenderTree:function(d,g){var e=d.length,a,b,c,h;if(e){h=[];for(a=0;a<e;++a){b=d[a];if(!b.rendered){if(g&&(g[b.id]!==undefined)){c=g[b.id]}else{this.configureItem(b);c=b.getRenderTree();if(g){g[b.id]=c}}if(c){h.push(c)}}}}return h},finishRender:Ext.emptyFn,finishRenderItems:function(e,c){var d=c.length,a,b;for(a=0;a<d;a++){b=c[a];if(b.rendering){b.finishRender(a)}}},renderChildren:function(){var b=this,a=b.getLayoutItems(),c=b.getRenderTarget();b.renderItems(a,c)},renderItems:function(c,g){var e=this,d=c.length,a=0,b;if(d){Ext.suspendLayouts();for(;a<d;a++){b=c[a];if(b&&!b.rendered){e.renderItem(b,g,a)}else{if(!e.isValidParent(b,g,a)){e.moveItem(b,g,a)}else{e.configureItem(b)}}}Ext.resumeLayouts(true)}},isValidParent:function(a,d,c){var e=(d&&d.dom)||d,b=this.getItemLayoutEl(a);if(b&&e){if(typeof c==="number"){c=this.getPositionOffset(c);return b===e.childNodes[c]}return b.parentNode===e}return false},getItemLayoutEl:function(c){var b=c.el?c.el.dom:Ext.getDom(c),d=b.parentNode,a;if(d){a=d.className;if(a&&a.indexOf(Ext.baseCSSPrefix+"resizable-wrap")!==-1){b=b.parentNode}}return b},getPositionOffset:function(a){return a},configureItem:function(a){a.ownerLayout=this},renderItem:function(a,d,c){var b=this;if(!a.rendered){b.configureItem(a);a.render(d,c)}},moveItem:function(a,c,b){c=c.dom||c;if(typeof b==="number"){b=c.childNodes[b]}c.insertBefore(a.el.dom,b||null);a.container=Ext.get(c);this.configureItem(a)},onContentChange:function(){this.owner.updateLayout();return true},initLayout:function(){this.initialized=true},setOwner:function(a){this.owner=a},getLayoutItems:function(){return[]},onAdd:function(a){a.ownerLayout=this},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,afterRemove:function(b){var c=this,a=b.el,d=c.owner,e;if(b.rendered){e=[].concat(c.itemCls||[]);if(d.itemCls){e=Ext.Array.push(e,d.itemCls)}if(e.length){a.removeCls(e)}}delete b.ownerLayout},afterCollapse:function(b,a){if(a){this.onContentChange(b)}},afterExpand:function(b,a){if(a){this.onContentChange(b)}},destroy:function(){var a=this,b;if(a.targetCls){b=a.getTarget();if(b){b.removeCls(a.targetCls)}}a.onDestroy()},sortWeightedItems:function(b,d){for(var a=0,c=b.length;a<c;++a){b[a].$i=a}Ext.Array.sort(b,function(e,g){var h=g.weight-e.weight;if(!h){h=e.$i-g.$i;if(e[d]){h=-h}}return h});for(a=0;a<c;++a){delete b[a].$i}}},function(){var a=this;a.prototype.sizeModels=a.sizeModels=Ext.layout.SizeModel.sizeModels});Ext.define("Ext.layout.container.Container",{extend:Ext.layout.Layout,alias:"layout.container",alternateClassName:"Ext.layout.ContainerLayout",mixins:[Ext.util.ElementContainer],type:"container",beginCollapse:Ext.emptyFn,beginExpand:Ext.emptyFn,animatePolicy:null,activeItemCount:0,renderTpl:["{%this.renderBody(out,values)%}"],usesContainerHeight:true,usesContainerWidth:true,usesHeight:true,usesWidth:true,constructor:function(){this.callParent(arguments);this.mixins.elementCt.constructor.call(this)},destroy:function(){this.callParent();this.mixins.elementCt.destroy.call(this)},beginLayout:function(a){this.callParent(arguments);a.targetContext=a.paddingContext=a.getEl("getTarget",this);this.cacheChildItems(a)},beginLayoutCycle:function(c,a){var b=this;b.callParent(arguments);if(a){if(b.usesContainerHeight){++c.consumersContainerHeight}if(b.usesContainerWidth){++c.consumersContainerWidth}}},cacheChildItems:function(h){var g=this,b,a,d,e,c;if(g.needsItemSize||g.setsItemSize){b=h.context;a=h.childItems=[];d=h.visibleItems=g.getVisibleItems();e=d.length;for(c=0;c<e;++c){a.push(b.getCmp(d[c]))}}},cacheElements:function(){var a=this.owner;this.attachChildEls(a.el,a)},calculate:function(b){var c=b.props,a=b.el;if(b.widthModel.shrinkWrap&&isNaN(c.width)){b.setContentWidth(a.getWidth())}if(b.heightModel.shrinkWrap&&isNaN(c.height)){b.setContentHeight(a.getHeight())}},configureItem:function(b){var d=this,c=d.itemCls,g=d.owner.itemCls,e,a;b.ownerLayout=d;if(c){if(typeof c==="string"){a=[c]}else{a=c;e=!!a}}if(g){if(e){a=Ext.Array.clone(a)}a=Ext.Array.push(a||[],g)}if(a){b.addCls(a)}},doRenderBody:function(a,b){this.renderItems(a,b);this.renderContent(a,b)},doRenderContainer:function(c,d){var b=d.$comp.layout,e=b.getRenderTpl(),a=b.getRenderData();e.applyOut(a,c)},doRenderItems:function(b,c){var a=c.$layout,d=a.getRenderTree();if(d){Ext.DomHelper.generateMarkup(d,b)}},finishRender:function(){var b=this,c,a;b.callParent();b.cacheElements();c=b.getRenderTarget();a=b.getLayoutItems();b.finishRenderItems(c,a)},notifyOwner:function(){if(!this._hasTargetWarning&&this.targetCls&&!this.getTarget().hasCls(this.targetCls)){this._hasTargetWarning=true;Ext.log.warn("targetCls is missing. This may mean that getTargetEl() is being overridden but not applyTargetCls(). "+this.owner.id)}this.owner.afterLayout(this)},getContainerSize:function(i,g){var k=i.targetContext,a=k.getFrameInfo(),j=i.paddingContext.getPaddingInfo(),b=0,h=0,d,c,l,e;if(!i.widthModel.shrinkWrap){++h;l=g?k.getDomProp("width"):k.getProp("width");d=(typeof l==="number");if(d){++b;l-=a.width+j.width;if(l<0){l=0}}}if(!i.heightModel.shrinkWrap){++h;e=g?k.getDomProp("height"):k.getProp("height");c=(typeof e==="number");if(c){++b;e-=a.height+j.height;if(e<0){e=0}}}return{width:l,height:e,needed:h,got:b,gotAll:b===h,gotWidth:d,gotHeight:c}},getPositionOffset:function(b){if(!this.createsInnerCt){var a=this.owner.itemNodeOffset;if(a){b+=a}}return b},getLayoutItems:function(){var b=this.owner,a=b&&b.items;return(a&&a.items)||[]},getRenderData:function(){var a=this.owner;return{$comp:a,$layout:this,ownerId:a.id}},getRenderedItems:function(){var e=this,h=e.getRenderTarget(),c=e.getLayoutItems(),d=c.length,g=[],a,b;for(a=0;a<d;a++){b=c[a];if(b.rendered&&e.isValidParent(b,h,a)){g.push(b)}}return g},getRenderTarget:function(){return this.owner.getTargetEl()},getElementTarget:function(){return this.getRenderTarget()},getRenderTpl:function(){var a=this,b=Ext.XTemplate.getTpl(this,"renderTpl");if(!b.renderContent){a.owner.setupRenderTpl(b)}return b},getRenderTree:function(){var d,a=this.owner.items,b,c={};do{b=a.generation;d=this.getItemsRenderTree(this.getLayoutItems(),c)}while(a.generation!==b);return d},renderChildren:function(){var c=this,d=c.owner.items,e=c.getRenderTarget(),b,a;do{b=d.generation;a=c.getLayoutItems();c.renderItems(a,e)}while(d.generation!==b)},getScrollbarsNeeded:function(j,e,b,a){var i=Ext.getScrollbarSize(),d=typeof j==="number",c=typeof e==="number",g=0,h=0;if(!i.width){return 0}if(c&&e<a){h=2;j-=i.width}if(d&&j<b){g=1;if(!h&&c){e-=i.height;if(e<a){h=2}}}return h+g},getTarget:function(){return this.owner.getTargetEl()},getVisibleItems:function(){var e=this.getRenderTarget(),c=this.getLayoutItems(),d=c.length,g=[],a,b;for(a=0;a<d;a++){b=c[a];if(b.rendered&&this.isValidParent(b,e,a)&&b.hidden!==true&&!b.floated){g.push(b)}}return g},getMoveAfterIndex:function(a){return this.owner.items.indexOf(a)+1},moveItemBefore:function(c,a){var e=this.owner,d=e.items,b=d.indexOf(c),g;if(c===a){return c}if(a){g=d.indexOf(a);if(b>-1&&b<g){--g}}else{g=d.length}return e.insert(g,c)},setupRenderTpl:function(a){a.renderBody=this.doRenderBody;a.renderContainer=this.doRenderContainer;a.renderItems=this.doRenderItems},getContentTarget:function(){return this.owner.getDefaultContentTarget()},onAdd:function(a){if(!a.liquidLayout){++this.activeItemCount}this.callParent([a])},onRemove:function(a){if(!a.liquidLayout){--this.activeItemCount}this.callParent([a])}});Ext.define("Ext.layout.container.Auto",{alias:["layout.auto","layout.autocontainer"],extend:Ext.layout.container.Container,type:"autocontainer",childEls:["outerCt","innerCt"],reserveScrollbar:false,managePadding:true,manageOverflow:false,needsItemSize:false,setsItemSize:false,lastOverflowAdjust:{width:0,height:0},outerCtCls:Ext.baseCSSPrefix+"autocontainer-outerCt",innerCtCls:Ext.baseCSSPrefix+"autocontainer-innerCt",renderTpl:['<div id="{ownerId}-outerCt" data-ref="outerCt" class="{outerCtCls}" role="presentation">','<div id="{ownerId}-innerCt" data-ref="innerCt" style="{%this.renderPadding(out, values)%}" ','class="{innerCtCls}" role="presentation">',"{%this.renderBody(out,values)%}","</div>","</div>"],beginLayout:function(a){this.callParent(arguments);this.initContextItems(a)},beforeLayoutCycle:function(d){var a=this.owner,b=a.inheritedState,c=a.inheritedStateInner;if(!b||b.invalid){b=a.getInherited();c=a.inheritedStateInner}if(d.widthModel.shrinkWrap){c.inShrinkWrapTable=true}else{delete c.inShrinkWrapTable}},beginLayoutCycle:function(l){var e=this,g=e.outerCt,d=e.lastOuterCtWidth||"",b=e.lastOuterCtHeight||"",c=e.lastOuterCtTableLayout||"",m=l.state,k,j,h,i,a;e.callParent(arguments);j=h=i="";if(!l.widthModel.shrinkWrap){j="100%";a=e.owner.inheritedStateInner;k=e.getOverflowXStyle(l);i=(a.inShrinkWrapTable||k==="auto"||k==="scroll")?"":"fixed"}if(!l.heightModel.shrinkWrap&&!Ext.supports.PercentageHeightOverflowBug){h="100%"}if((j!==d)||e.hasOuterCtPxWidth){g.setStyle("width",j);e.lastOuterCtWidth=j;e.hasOuterCtPxWidth=false}if(i!==c){g.setStyle("table-layout",i);e.lastOuterCtTableLayout=i}if((h!==b)||e.hasOuterCtPxHeight){g.setStyle("height",h);e.lastOuterCtHeight=h;e.hasOuterCtPxHeight=false}if(e.hasInnerCtPxHeight){e.innerCt.setStyle("height","");e.hasInnerCtPxHeight=false}m.overflowAdjust=m.overflowAdjust||e.lastOverflowAdjust},calculate:function(d){var c=this,e=d.state,b=c.getContainerSize(d,true),a=e.calculatedItems||(e.calculatedItems=c.calculateItems?c.calculateItems(d,b):true);c.setCtSizeIfNeeded(d,b);if(a&&d.hasDomProp("containerChildrenSizeDone")){c.calculateContentSize(d);if(b.gotAll){if(c.manageOverflow&&!d.state.secondPass&&!c.reserveScrollbar){c.calculateOverflow(d,b)}return}}c.done=false},calculateContentSize:function(g){var d=this,c=((g.widthModel.shrinkWrap?1:0)|(g.heightModel.shrinkWrap?2:0)),b=(c&1)||undefined,a=(c&2)||undefined,e=0,h=g.props;if(b){if(isNaN(h.contentWidth)){++e}else{b=undefined}}if(a){if(isNaN(h.contentHeight)){++e}else{a=undefined}}if(e){if(b&&!g.setContentWidth(d.measureContentWidth(g))){d.done=false}if(a&&!g.setContentHeight(d.measureContentHeight(g))){d.done=false}}},calculateOverflow:function(c){var b=this,h,a,e,d,i,j,g;i=(b.getOverflowXStyle(c)==="auto");j=(b.getOverflowYStyle(c)==="auto");if(i||j){e=Ext.getScrollbarSize();g=c.overflowContext.el.dom;d=0;if(g.scrollWidth>g.clientWidth){d|=1}if(g.scrollHeight>g.clientHeight){d|=2}h=(j&&(d&2))?e.width:0;a=(i&&(d&1))?e.height:0;if(h!==b.lastOverflowAdjust.width||a!==b.lastOverflowAdjust.height){b.done=false;c.invalidate({state:{overflowAdjust:{width:h,height:a},overflowState:d,secondPass:true}})}}},completeLayout:function(a){this.lastOverflowAdjust=a.state.overflowAdjust},doRenderBody:function(d,e){var c=e.$layout,g=Ext.XTemplate,b=c.beforeBodyTpl,a=c.afterBodyTpl;if(b){g.getTpl(c,"beforeBodyTpl").applyOut(e,d)}this.renderItems(d,e);this.renderContent(d,e);if(a){g.getTpl(c,"afterBodyTpl").applyOut(e,d)}},doRenderPadding:function(b,e){var a=e.$layout,c=e.$layout.owner,d=c[c.contentPaddingProperty];if(a.managePadding&&d){b.push("padding:",c.unitizeBox(d))}},finishedLayout:function(b){var a=this.innerCt;this.callParent(arguments);if(Ext.isIE8){a.repaint()}if(Ext.isOpera){a.setStyle("position","relative");a.dom.scrollWidth;a.setStyle("position","")}},getContainerSize:function(c,a){var d=this.callParent(arguments),b=c.state.overflowAdjust;if(b){d.width-=b.width;d.height-=b.height}return d},getRenderData:function(){var b=this,a=b.callParent();a.innerCtCls=b.innerCtCls;a.outerCtCls=b.outerCtCls;return a},getRenderTarget:function(){return this.innerCt},getElementTarget:function(){return this.innerCt},getOverflowXStyle:function(a){return a.overflowXStyle||(a.overflowXStyle=this.owner.scrollFlags.overflowX||a.overflowContext.getStyle("overflow-x"))},getOverflowYStyle:function(a){return a.overflowYStyle||(a.overflowYStyle=this.owner.scrollFlags.overflowY||a.overflowContext.getStyle("overflow-y"))},initContextItems:function(c){var a=this,d=c.target,b=a.owner.getOverflowEl();c.outerCtContext=c.getEl("outerCt",a);c.innerCtContext=c.getEl("innerCt",a);c.overflowContext=(b===c.el)?c:c.getEl(b);if(d[d.contentPaddingProperty]!==undefined){c.paddingContext=c.innerCtContext}},initLayout:function(){var a=this,c=Ext.getScrollbarSize().width,b=a.owner;a.callParent();if(c&&a.manageOverflow&&!a.hasOwnProperty("lastOverflowAdjust")){if(b.scrollable||a.reserveScrollbar){a.lastOverflowAdjust={width:c,height:0}}}},measureContentHeight:function(b){var a=this.outerCt.getHeight(),c=b.target;if(this.managePadding&&(c[c.contentPaddingProperty]===undefined)){a+=b.targetContext.getPaddingInfo().height}return a},measureContentWidth:function(d){var b,e,c,a,g;if(this.chromeCellMeasureBug){b=this.innerCt.dom;e=b.style;c=e.display;if(c==="table-cell"){e.display="";b.offsetWidth;e.display=c}}if(Ext.isSafari){b=this.outerCt.dom;e=b.style;e.display="table-cell";b.offsetWidth;b.style.display=""}a=this.outerCt.getWidth();g=d.target;if(this.managePadding&&(g[g.contentPaddingProperty]===undefined)){a+=d.targetContext.getPaddingInfo().width}return a},setCtSizeIfNeeded:function(i,b){var d=this,c=b.height,j=i.paddingContext.getPaddingInfo(),l=d.getTarget(),h=d.getOverflowXStyle(i),a=(h==="auto"||h==="scroll"),k=Ext.getScrollbarSize(),g,e;if(c&&!i.heightModel.shrinkWrap){if(Ext.supports.PercentageHeightOverflowBug){g=true}if(Ext.isIE8){e=true}if((g||e)&&a&&(l.dom.scrollWidth>l.dom.clientWidth)){c=Math.max(c-k.height,0)}if(g){i.outerCtContext.setProp("height",c+j.height);d.hasOuterCtPxHeight=true}if(e){i.innerCtContext.setProp("height",c);d.hasInnerCtPxHeight=true}}},setupRenderTpl:function(a){this.callParent(arguments);a.renderPadding=this.doRenderPadding},getContentTarget:function(){return this.innerCt},getScrollerEl:function(){return this.outerCt}},function(a){var b=Ext.chromeVersion;a.prototype.chromeCellMeasureBug=Ext.isChrome&&b>=26&&b<=34});Ext.define("Ext.ZIndexManager",{alternateClassName:"Ext.WindowGroup",statics:{zBase:9000,activeCounter:0},constructor:function(a){var b=this;b.id=Ext.id(null,"zindex-mgr-");b.zIndexStack=new Ext.util.Collection({sorters:{sorterFn:function(c,d){var e=(c.alwaysOnTop||0)-(d.alwaysOnTop||0);if(!e){e=c.getActiveCounter()-d.getActiveCounter()}return e}},filters:{filterFn:function(c){return c.isVisible()}}});b.zIndexStack.addObserver(b);b.front=null;b.globalListeners=Ext.GlobalEvents.on({hide:b.onComponentShowHide,show:b.onComponentShowHide,scope:b,destroyable:true});if(a){if(a.isContainer){a.on("resize",b.onContainerResize,b);b.zseed=Ext.Number.from(b.rendered?a.getEl().getStyle("zIndex"):undefined,b.getNextZSeed());b.targetEl=a.getTargetEl();b.container=a}else{Ext.on("resize",b.onContainerResize,b);b.zseed=b.getNextZSeed();b.targetEl=Ext.get(a)}}else{b.zseed=b.getNextZSeed();Ext.onInternalReady(function(){Ext.on("resize",b.onContainerResize,b);b.targetEl=Ext.getBody()})}},getId:function(){return this.id},getNextZSeed:function(){return(Ext.ZIndexManager.zBase+=10000)},setBase:function(a){this.zseed=a;return this.onCollectionSort()},onCollectionSort:function(){var h=this,j=h.front,m=h.zseed,b=h.zIndexStack.getRange(),g=b.length,e,c,k,l,d=false;for(e=0;e<g;e++){c=b[e];m=c.setZIndex(m);if(!c.hidden){l=c;if(c.modal){k=c}}}if(l!==j){if(j&&!j.destroying){j.setActive(false)}if(l){d=l.modal||((!j||j.isVisible())&&((l.focusOnToFront&&!l.preventFocusOnActivate)))&&l.isFocusable(true);l.setActive(true,d)}}h.front=l;if(k){h.showModalMask(k)}else{h.hideModalMask()}return m},onComponentUpdate:function(a){if(this.zIndexStack.contains(a)){this.zIndexStack.sort()}},onComponentRender:function(a){this.zIndexStack.itemChanged(a,"hidden")},onComponentShowHide:function(a){var b=this.zIndexStack;if(a.isFloating()&&!this.hidingAll&&(b.getSource()||b).contains(a)){b.itemChanged(a,"hidden");b.sort()}},register:function(a){var b=this;if(a.zIndexManager){a.zIndexManager.unregister(a)}a.zIndexManager=b;if(!a.rendered){a.on("render",b.onComponentRender,b,{single:true})}b.zIndexStack.add(a)},unregister:function(a){var b=this;delete a.zIndexManager;a.un("render",b.onComponentRender,b);b.zIndexStack.remove(a);b.onCollectionSort()},get:function(a){return a.isComponent?a:this.zIndexStack.get(a)},bringToFront:function(a,e){var b=this,h=b.zIndexStack,d=h.last(),c,g;a=b.get(a);if(!a||h.find("alwaysOnTop",true)){return false}g=a.preventFocusOnActivate;a.preventFocusOnActivate=e;a.setActiveCounter(++Ext.ZIndexManager.activeCounter);a.preventFocusOnActivate=g;c=h.last();return(c===a&&c!==d)},sendToBack:function(a){a=this.get(a);if(a){a.setActiveCounter(0)}return a||null},hideAll:function(){var a=this.zIndexStack.getRange(),c=a.length,b;this.hidingAll=true;for(b=0;b<c;b++){a[b].hide()}this.hidingAll=false},hide:function(){var g=this,a=Ext.Element.getActiveElement(),b=g.tempHidden=g.zIndexStack.getRange(),e=b.length,d,c;g.focusRestoreElement=null;for(d=0;d<e;d++){c=b[d];if(c.el.contains(a)){g.focusRestoreElement=a}c.el.hide();c.hidden=true}},show:function(){var d=this,b,e=d.tempHidden,c=e?e.length:0,a;for(b=0;b<c;b++){a=e[b];a.el.show();a.hidden=false;a.setPosition(a.x,a.y)}d.tempHidden=null;if(d.focusRestoreElement){d.focusRestoreElement.focus()}},getActive:function(){return this.zIndexStack.last()},getBy:function(a,b){return this.zIndexStack.filterBy(a,b).getRange()},each:function(a,b){this.zIndexStack.each(a,b)},eachBottomUp:function(b,e){var g=this.zIndexStack.getRange(),c,d=g.length,a;for(c=0;c<d;c++){a=g[c];if(a.isComponent&&b.call(e||a,a)===false){return}}},eachTopDown:function(b,d){var e=this.zIndexStack.getRange(),c,a;for(c=e.length;c-->0;){a=e[c];if(a.isComponent&&b.call(d||a,a)===false){return}}},destroy:function(){var c=this,d=c.zIndexStack.getRange(),b=d.length,a;for(a=0;a<b;a++){Ext.destroy(d[a])}Ext.destroy(c.mask,c.maskShim,c.zIndexStack,c.globalListeners);c.zIndexStack=c.container=c.targetEl=c.globalListeners=null},privates:{getMaskBox:function(){var a=this.mask.maskTarget;if(a.dom===document.body){return{height:Math.max(document.body.scrollHeight,Ext.dom.Element.getDocumentHeight()),width:Math.max(document.body.scrollWidth,document.documentElement.clientWidth),x:0,y:0}}else{return a.getBox()}},hideModalMask:function(){var a=this.mask,b=this.maskShim,c,d;if(a&&a.isVisible()){c=a.maskTarget;d="data-savedtabindex-"+c.getId();c.restoreChildrenTabbableState(d);c.restoreTabbableState(d);a.maskTarget=undefined;a.hide();if(b){b.hide()}}},onContainerResize:function(){var c=this,a=c.mask,b=c.maskShim,d;if(a&&a.isVisible()){a.hide();if(b){b.hide()}d=c.getMaskBox();if(b){b.setSize(d);b.show()}a.setSize(d);a.show()}},onMaskClick:function(){if(this.front){this.front.focus()}},showModalMask:function(a){var e=this,b=a.el,l=b.getStyle("zIndex")-4,d=a.floatParent?a.floatParent.getTargetEl():a.container,c=e.mask,g=e.maskShim,k,h,j,i;if(!c){e.mask=c=Ext.getBody().createChild({"data-sticky":true,role:"presentation",cls:Ext.baseCSSPrefix+"mask "+Ext.baseCSSPrefix+"border-box",style:"height:0;width:0"});c.setVisibilityMode(Ext.Element.DISPLAY);c.on("click",e.onMaskClick,e)}else{e.hideModalMask()}c.maskTarget=d;k=e.getMaskBox();if(g){g.setStyle("zIndex",l);g.show();g.setBox(k)}c.setStyle("zIndex",l);h="data-savedtabindex-"+d.getId();j=h+"-temp";i=b.findTabbableElements();if(i.length){b.saveTabbableState(j);b.saveChildrenTabbableState(j)}d.saveTabbableState(h);d.saveChildrenTabbableState(h);if(i.length){b.restoreChildrenTabbableState(j);b.restoreTabbableState(j)}c.show();c.setBox(k)}}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.container.Container",{extend:Ext.Component,xtype:"container",alternateClassName:["Ext.Container","Ext.AbstractContainer"],mixins:[Ext.mixin.Queryable],renderTpl:"{%this.renderContainer(out,values)%}",isContainer:true,autoDestroy:true,defaultType:"panel",detachOnRemove:true,items:undefined,layout:"auto",suspendLayout:false,_applyDefaultsOptions:{defaults:true,strict:false},ariaRole:"presentation",baseCls:Ext.baseCSSPrefix+"container",layoutCounter:0,add:function(){var l=this,b=Ext.Array.slice(arguments),d=(typeof b[0]==="number")?b.shift():-1,j=l.getLayout(),m=false,a,h,c,k,g,n,o,e;if(b.length===1&&Ext.isArray(b[0])){h=b[0];a=true}else{h=b}if(l.rendered){Ext.suspendLayouts()}o=h=l.prepareItems(h,true);k=h.length;if(!a&&k===1){o=h[0]}for(c=0;c<k;c++){g=h[c];if(!g){Ext.Error.raise("Cannot add null item to Container with itemId/id: "+l.getItemId())}if(g.isDestroyed){Ext.Error.raise("Cannot add destroyed item '"+g.getId()+"' to Container '"+l.getId()+"'")}n=(d<0)?l.items.length:(d+c);e=!!g.instancedCmp;delete g.instancedCmp;if(g.floating){l.floatingItems.add(g);g.onAdded(l,n,e);delete g.initOwnerCt;if(l.hasListeners.add){l.fireEvent("add",l,g,n)}}else{if((!l.hasListeners.beforeadd||l.fireEvent("beforeadd",l,g,n)!==false)&&l.onBeforeAdd(g)!==false){l.items.insert(n,g);g.onAdded(l,n,e);delete g.initOwnerCt;l.onAdd(g,n);j.onAdd(g,n);m=true;if(l.hasListeners.add){l.fireEvent("add",l,g,n)}}}}if(m){l.updateLayout()}if(l.rendered){Ext.resumeLayouts(true)}return o},onAdded:function(a,c,b){this.callParent([a,c,b]);if(b){Ext.ComponentManager.markReferencesDirty()}},onRemoved:function(a){var b;if(!a){b=this.lookupReferenceHolder();if(b){Ext.ComponentManager.markReferencesDirty();b.clearReferences()}}this.callParent([a])},afterComponentLayout:function(){var c=this.floatingItems.items,b=c.length,d,a;this.callParent(arguments);for(d=0;d<b;d++){a=c[d];if(!a.rendered&&a.autoShow){a.show()}}},afterLayout:function(a){var b=this,c=b.getScrollable();++b.layoutCounter;if(c&&b.layoutCounter>1){c.refresh()}if(b.hasListeners.afterlayout){b.fireEvent("afterlayout",b,a)}},onDestroy:function(){this.callParent();this.refs=null},beforeDestroy:function(){var e=this,d=e.items,b=e.floatingItems,a;if(d){while((a=d.first())){e.doRemove(a,true)}}if(b){while((a=b.first())){e.doRemove(a,true)}}Ext.destroy(e.layout);e.callParent()},beforeRender:function(){var b=this,a=b.getLayout(),c;b.preventChildDisable=true;b.callParent();b.preventChildDisable=false;if(!a.initialized){a.initLayout()}c=a.targetCls;if(c){b.applyTargetCls(c)}},cascade:function(g,m,l){var k=this,e=k.items?k.items.items:[],j=e.length,h=0,b,a=l?l.concat(k):[k],d=a.length-1;if(g.apply(m||k,a)!==false){for(;h<j;h++){b=e[h];if(b.cascade){b.cascade(g,m,l)}else{a[d]=b;g.apply(m||b,a)}}}return this},contains:function(a,b){var c=false;if(b){this.cascade(function(d){if(d.contains&&d.contains(a)){c=true;return false}});return c}else{return this.items.contains(a)||this.floatingItems.contains(a)}},disable:function(g,a){var e=this,h=e.disabled,c,d,b;e.callParent([g,a]);if(!a&&!e.preventChildDisable&&!h){c=e.getChildItemsToDisable();d=c.length;for(b=0;b<d;b++){c[b].disable(g,true)}}return e},doLayout:function(){this.updateLayout();return this},enable:function(g,a){var e=this,h=e.disabled,c,d,b;e.callParent([g,a]);if(h){c=e.getChildItemsToDisable();d=c.length;for(b=0;b<d;b++){c[b].enable(g,true)}}return e},getChildByElement:function(b,a){var e,g,c=0,d=this.getRefItems(),h=d.length;b=Ext.getDom(b);for(;c<h;c++){e=d[c];g=e.getEl();if(g&&((g.dom===b)||g.contains(b))){return(a&&e.getChildByElement)?e.getChildByElement(b,a):e}}return null},getComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}var a=this.items.get(b);if(!a&&typeof b!=="number"){a=this.floatingItems.get(b)}return a},getFocusEl:function(){var a=this.getDefaultFocus();if(a){return a}else{if(this.focusable){return this.getTargetEl()}}return undefined},getLayout:function(){var b=this,a=b.layout;if(!a||!a.isLayout){b.setLayout(a)}return b.layout},getRefItems:function(a){var g=this,d=g.items.items,e=d.length,b=0,c,h=[];for(;b<e;b++){c=d[b];h[h.length]=c;if(a&&c.getRefItems){h.push.apply(h,c.getRefItems(true))}}d=g.floatingItems.items;e=d.length;for(b=0;b<e;b++){c=d[b];h[h.length]=c;if(a&&c.getRefItems){h.push.apply(h,c.getRefItems(true))}}return h},getDefaultFocus:function(){var a=this.defaultFocus,b;if(a){b=this.down(a)}return b},initComponent:function(){var a=this;a.callParent();a.getLayout();a.constructing=true;a.initItems();if(a.disabled){a.disabled=false;a.disable(true)}delete a.constructing},getReferences:function(){Ext.ComponentManager.fixReferences();return this.refs||null},lookupReference:function(a){var b=this.getReferences();return(b&&b[a])||null},initItems:function(){var b=this,a=b.items;if(!a||!a.isMixedCollection){b.items=new Ext.util.AbstractMixedCollection(false,b.getComponentId);b.floatingItems=new Ext.util.MixedCollection(false,b.getComponentId);if(a){if(!Ext.isArray(a)){a=[a]}b.add(a)}}},initInheritedState:function(b,c){var e=this,a=e.controller,d=e.layout,i=e.session,j=e.viewModel,g=e.reference,h=e.referenceHolder;e.callParent([b,c]);if(e.collapsed){b.collapsed=true}if(a){b.referenceHolder=a;h=true}else{if(h){b.referenceHolder=e}}if(h){b.referencePath=""}else{if(g&&e.isParentReference){b.referencePath=e.referenceKey+"."}}if(i){b.session=i}if(j){b.viewModelPath=""}else{if(g&&e.isParentReference){b.viewModelPath=e.viewModelKey+"."}}if(d&&d.initInheritedState){d.initInheritedState(b,c)}},insert:function(c,b){var a;if(b&&b.isComponent){a=this.items.indexOf(b);if(a!==-1){return this.move(a,c)}}return this.add(c,b)},lookupComponent:function(a){if(!a.isComponent){if(typeof a==="string"){a=Ext.ComponentManager.get(a)}else{a=Ext.ComponentManager.create(a,this.defaultType)}}return a},move:function(a,e){var d=this,c=d.items,b;if(a.isComponent){a=c.indexOf(a)}b=c.getAt(a);if(a!==e){b=c.removeAt(a);if(b===false){return false}e=Math.min(e,c.getCount());c.insert(e,b);d.onMove(b,a,e);if(d.hasListeners.childmove){d.fireEvent("childmove",d,b,a,e)}d.updateLayout()}return b},moveBefore:function(b,a){if(b!==a){b=this.layout.moveItemBefore(b,a)}return b},moveAfter:function(c,a){var d=this.layout,b;if(c!==a){b=a?d.getMoveAfterIndex(a):0;c=d.moveItemBefore(c,this.items.getAt(b))}return c},nextChild:function(a,j){var g=this,d=g.items,b=d.indexOf(a),c=0,e=d.length,h;if(b!==-1){if(j){for(;c<e;c++){h=d.getAt(b+c);if(!h||Ext.ComponentQuery.is(h,j)){break}}}else{h=d.getAt(b+1)}}return h||null},onAdd:Ext.emptyFn,onBeforeAdd:function(a){var b=a.ownerCt;if(b&&b!==this){b.remove(a,false)}},onMove:Ext.emptyFn,onRemove:Ext.emptyFn,onPosition:function(){this.callParent(arguments);this.repositionFloatingItems()},onResize:function(){this.callParent(arguments);this.repositionFloatingItems()},prevChild:function(a,j){var g=this,d=g.items,b=d.indexOf(a),c=0,e=d.length,h;if(b!==-1){if(j){for(;c<e;c++){h=d.getAt(b-c);if(!h||Ext.ComponentQuery.is(h,j)){break}}}else{h=d.getAt(b-1)}}return h||null},remove:function(d,a){var e=this,b=e.getComponent(d);if(!arguments.length){Ext.log.warn("Ext.container.Container: remove takes an argument of the component to remove. cmp.remove() is incorrect usage.")}if(b&&(!e.hasListeners.beforeremove||e.fireEvent("beforeremove",e,b)!==false)){e.doRemove(b,a);if(e.hasListeners.remove){e.fireEvent("remove",e,b)}if(!e.destroying&&!b.floating){e.updateLayout()}}return b},removeAll:function(a){var g=this,h=g.items.items.slice().concat(g.floatingItems.items),d=[],b=0,e=h.length,c;Ext.suspendLayouts();g.removingAll=true;for(;b<e;b++){c=h[b];g.remove(c,a);if(c.ownerCt!==g){d.push(c)}}g.removingAll=false;Ext.resumeLayouts(!!e);return d},setLayout:function(c){var d=this,b=d.layout,a=b&&b.isLayout,e,g;if(typeof c==="string"){c={type:c}}g=c.type;if(a&&(!g||(g===b.type))){delete c.type;b.setConfig(c)}else{if(a){b.setOwner(null)}e=d.self.prototype.layout;if(typeof e==="string"){c.type=g||e}else{Ext.merge(Ext.merge({},e),c)}c=this.layout=Ext.Factory.layout(c);c.setOwner(this)}if(d.rendered){d.updateLayout()}},setActiveItem:function(a){return this.getLayout().setActiveItem(a)},privates:{applyDefaults:function(a){var c=this,b=c.defaults;if(b){if(Ext.isFunction(b)){b=b.call(c,a)}if(Ext.isString(a)){a=Ext.ComponentManager.get(a)}if(a.isComponent){a.setConfig(b,null,c._applyDefaultsOptions)}else{a=c.getConfigurator().merge(c,Ext.Object.fork(b),a)}}return a},applyReference:function(b){var a;if(b&&b.charAt(a=b.length-1)===">"){this.isParentReference=true;b=b.substring(0,a)}if(b&&!this.validIdRe.test(b)){Ext.Error.raise('Invalid reference "'+b+'" for '+this.getId()+" - not a valid identifier")}return b},applyTargetCls:function(a){this.layoutTargetCls=a},attachReference:function(a){var c=this,b,d;if(c.destroying||c.isDestroyed){return}d=c.refs||(c.refs={});b=a.referenceKey;if(d[b]&&d[b]!==a){Ext.log.warn('Duplicate reference: "'+b+'" on '+c.id)}d[b]=a},clearReference:function(a){var c=this.refs,b=a.referenceKey;if(c&&b){a.viewModelKey=a.referenceKey=c[b]=null}},clearReferences:function(){this.refs=null},detachComponent:function(a){Ext.getDetachedBody().appendChild(a.getEl())},doRemove:function(a,b){b=b===true||(b!==false&&this.autoDestroy);var h=this,g=h.layout,d=g&&h.rendered,e=a.destroying||b,c=a.floating;if(c){h.floatingItems.remove(a)}else{h.items.remove(a)}if(d&&!c){if(g.running){Ext.Component.cancelLayout(a,e)}g.onRemove(a,e)}a.onRemoved(e);h.onRemove(a,e);if(b){a.destroy()}else{if(d&&!c){g.afterRemove(a)}if(h.detachOnRemove&&a.rendered){h.detachComponent(a)}}},finishRenderChildren:function(){this.callParent();var a=this.getLayout();if(a){a.finishRender()}},getChildItemsToDisable:function(){return this.query("[isFormField],[isFocusableContainer],button")},getComponentId:function(a){return a.getItemId&&a.getItemId()},getContentTarget:function(){return this.getLayout().getContentTarget()},getDefaultContentTarget:function(){return this.el},getScrollerEl:function(){return this.layout.getScrollerEl()||this.callParent()},prepareItems:function(d,a){if(Ext.isArray(d)){d=d.slice()}else{d=[d]}var g=this,b=0,e=d.length,c;for(;b<e;b++){c=d[b];if(c==null){Ext.Array.erase(d,b,1);--b;--e}else{if(a){c=this.applyDefaults(c)}c.initOwnerCt=g;if(c.isComponent){c.instancedCmp=true}d[b]=g.lookupComponent(c);delete c.initOwnerCt}}return d},repositionFloatingItems:function(){var c=this.floatingItems.items,b=c.length,d,a;for(d=0;d<b;d++){a=c[d];if(a.el&&!a.hidden){a.setPosition(a.x,a.y)}}},_noMargin:{"margin-top":"","margin-right":"","margin-bottom":"","margin-left":""},resetItemMargins:function(){var c=this.items.items,a=c.length,d=this._noMargin,b;while(a--){b=c[a];b.margin$=null;b.el.setStyle(d)}},setupRenderTpl:function(a){this.callParent(arguments);this.getLayout().setupRenderTpl(a)}}});Ext.define("Ext.layout.container.Editor",{alias:"layout.editor",extend:Ext.layout.container.Container,autoSizeDefault:{width:"field",height:"field"},sizePolicies:{$:{$:{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:0},boundEl:{readsWidth:1,readsHeight:0,setsWidth:0,setsHeight:1}},boundEl:{$:{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:0},boundEl:{readsWidth:0,readsHeight:0,setsWidth:1,setsHeight:1}}},getItemSizePolicy:function(b){var d=this,a=d.owner.autoSize,c=a&&a.width,e=d.sizePolicies;e=e[c]||e.$;c=a&&a.height;e=e[c]||e.$;return e},calculate:function(g){var d=this,e=d.owner,a=e.autoSize,c,b;if(a===true){a=d.autoSizeDefault}if(a){c=d.getDimension(e,a.width,"getWidth",e.width);b=d.getDimension(e,a.height,"getHeight",e.height)}g.childItems[0].setSize(c,b);g.setWidth(c);g.setHeight(b);g.setContentSize(c||e.field.getWidth(),b||e.field.getHeight())},getDimension:function(b,d,a,c){switch(d){case"boundEl":return b.boundEl[a]();case"field":return undefined;default:return c}}});Ext.define("Ext.Editor",{extend:Ext.container.Container,xtype:"editor",layout:"editor",allowBlur:true,revertInvalid:true,value:"",alignment:"c-c?",offsets:[0,0],shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:true,cancelOnEsc:true,updateEl:false,focusOnToFront:false,baseCls:Ext.baseCSSPrefix+"editor",editing:false,preventDefaultAlign:true,specialKeyDelay:1,initComponent:function(){var b=this,a=b.field=Ext.ComponentManager.create(b.field||{},"textfield");a.msgTarget=a.msgTarget||"qtip";b.mon(a,{scope:b,specialkey:b.onSpecialKey});if(a.grow){b.mon(a,"autosize",b.onFieldAutosize,b,{delay:1})}b.floating={constrain:b.constrain};b.items=a;b.callParent(arguments)},onAdded:function(a){this.ownerCmp=a},onFieldAutosize:function(){this.updateLayout()},afterRender:function(a,e){var d=this,b=d.field,c=b.inputEl;d.callParent(arguments);if(c){c.dom.name="";if(d.swallowKeys){c.swallowEvent(["keypress","keydown"])}}},onSpecialKey:function(d,c){var g=this,e=c.getKey(),b=g.completeOnEnter&&e===c.ENTER,a=g.cancelOnEsc&&e===c.ESC,h=g.specialKeyTask;if(b||a){c.stopEvent();if(!h){g.specialKeyTask=h=new Ext.util.DelayedTask()}h.delay(g.specialKeyDelay,b?g.completeEdit:g.cancelEdit,g);if(g.specialKeyDelay===0){h.cancel();if(b){g.completeEdit()}else{g.cancelEdit()}}}g.fireEvent("specialkey",g,d,c)},startEdit:function(b,h){var d=this,c=d.field,a,e,g;d.completeEdit();d.boundEl=Ext.get(b);a=d.boundEl.dom;h=Ext.isDefined(h)?h:Ext.String.trim(a.textContent||a.innerText||a.innerHTML);if(d.fireEvent("beforestartedit",d,d.boundEl,h)!==false){Ext.suspendLayouts();if(!d.rendered){e=d.ownerCt;g=d.renderTo||(e&&e.getEl())||Ext.getBody();Ext.fly(g).position();d.renderTo=g}d.startValue=h;d.show();d.realign(true);c.suspendEvents();c.setValue(h);c.resetOriginalValue();c.resumeEvents();c.focus(c.selectOnFocus?true:[Number.MAX_VALUE]);if(c.autoSize){c.autoSize()}Ext.resumeLayouts(true);d.toggleBoundEl(false);d.editing=true}},realign:function(a){var b=this;if(a===true){b.updateLayout()}b.alignTo(b.boundEl,b.alignment,b.offsets)},completeEdit:function(c){var b=this,a=b.field,d=b.startValue,e;if(!b.editing){return}if(a.assertValue){a.assertValue()}e=b.getValue();if(!a.isValid()){if(b.revertInvalid!==false){b.cancelEdit(c)}return}if(b.ignoreNoChange&&!a.didValueChange(e,d)){b.onEditComplete(c);return}if(b.fireEvent("beforecomplete",b,e,d)!==false){e=b.getValue();if(b.updateEl&&b.boundEl){b.boundEl.setHtml(e)}b.onEditComplete(c);b.fireEvent("complete",b,e,d)}},onShow:function(){var a=this;a.callParent(arguments);a.fireEvent("startedit",a,a.boundEl,a.startValue)},cancelEdit:function(c){var b=this,d=b.startValue,a=b.field,e;if(b.editing){if(a){e=b.editedValue=b.getValue();a.suspendEvents();b.setValue(d);a.resumeEvents()}b.onEditComplete(c);b.fireEvent("canceledit",b,e,d);delete b.editedValue}},onEditComplete:function(a){this.editing=false;if(a!==true){this.hide();this.toggleBoundEl(true)}},onFocusLeave:function(a){var b=this;if(b.allowBlur===true&&b.editing&&b.selectSameEditor!==true){this.completeEdit()}this.callParent([a])},onHide:function(){var b=this,a=b.field;if(b.editing){b.completeEdit()}else{if(a.collapse){a.collapse()}}b.callParent(arguments)},getValue:function(){return this.field.getValue()},setValue:function(a){this.field.setValue(a)},toggleBoundEl:function(a){if(this.hideEl!==false){this.boundEl.setVisible(a)}},beforeDestroy:function(){var a=this,b=a.specialKeyTask;if(b){b.cancel()}a.specialKeyTask=a.field=a.boundEl=Ext.destroy(a.field);a.callParent(arguments)}});Ext.define("Ext.EventManager",{singleton:true,mouseLeaveRe:/(mouseout|mouseleave)/,mouseEnterRe:/(mouseover|mouseenter)/,addListener:function(a,b,c,e,d){Ext.log.warn("Ext.EventManager is deprecated. Use Ext.dom.Element#addListener to attach an event listener.");Ext.get(a).addListener(b,c,e,d)},onWindowResize:function(a,c,b){Ext.log.warn("Ext.EventManager is deprecated. Use Ext.on('resize', fn) to attach a window resize listener.");Ext.GlobalEvents.on("resize",a,c,b)},onWindowUnload:function(a,c,b){Ext.log.warn("Ext.EventManager is deprecated. Use Ext.getWin().on('unload', fn) to attach a window unload listener.");Ext.getWin().on("unload",a,c,b)},purgeElement:function(a,b){Ext.log.warn("Ext.EventManager is deprecated. Call clearListeners() on a Ext.dom.Element to remove all listeners.");Ext.get(a).clearListeners()},removeAll:function(a){Ext.log.warn("Ext.EventManager is deprecated. Call clearListeners() on a Ext.dom.Element to remove all listeners.");Ext.get(a).clearListeners()},removeListener:function(a,b,c,e,d){Ext.log.warn("Ext.EventManager is deprecated. Use Ext.dom.Element#removeListener to remove an event listener.");Ext.get(a).removeListener(b,c,e,d)},removeResizeListener:function(a,b){Ext.log.warn("Ext.EventManager is deprecated. Use Ext.on('resize', fn) to detach a window resize listener.");Ext.GlobalEvents.un("resize",a,b)},removeUnloadListener:function(a,b){Ext.log.warn("Ext.EventManager is deprecated. Use Ext.getWin().un('unload', fn) to detach a window unload listener.");Ext.getWin().un("unload",a,b)},stopEvent:function(a){Ext.log.warn("Ext.EventManager.stopEvent() is deprecated. Call stopEvent() directly on the Ext.event.Event instance instead.");this.stopPropagation(a);this.preventDefault(a)},stopPropagation:function(a){Ext.log.warn("Ext.EventManager.stopPropagation() is deprecated. Call stopPropagation() directly on the Ext.event.Event instance instead.");a=a.browserEvent||a;if(a.stopPropagation){a.stopPropagation()}else{a.cancelBubble=true}},preventDefault:function(b){Ext.log.warn("Ext.EventManager.preventDefault() is deprecated. Call preventDefault() directly on the Ext.event.Event instance instead.");b=b.browserEvent||b;if(b.preventDefault){b.preventDefault()}else{b.returnValue=false;try{if(b.ctrlKey||b.keyCode>111&&b.keyCode<124){b.keyCode=-1}}catch(a){}}},getId:function(a){Ext.log.warn("Ext.EventManager.getId() is deprecated. Call Ext.get() to assign ids to elements.");a=Ext.get(a);return a.id},getRelatedTarget:function(a){Ext.log.warn("Ext.EventManager.getRelatedTarget() is deprecated. Call getRelatedTarget() directly on the Ext.event.Event instance instead.");a=a.browserEvent||a;var b=a.relatedTarget;if(!b){if(this.mouseLeaveRe.test(a.type)){b=a.toElement}else{if(this.mouseEnterRe.test(a.type)){b=a.fromElement}}}return this.resolveTextNode(b)},getPageX:function(a){Ext.log.warn("Ext.EventManager.getPageX() is deprecated. Call getX() directly on the Ext.event.Event instance instead.");return this.getPageXY(a)[0]},getPageXY:function(c){Ext.log.warn("Ext.EventManager.getPageXY() is deprecated. Call getXY() directly on the Ext.event.Event instance instead.");c=c.browserEvent||c;var d=c.pageX,e=c.pageY,b=document.documentElement,a=document.body;if(!d&&d!==0){d=c.clientX+(b&&b.scrollLeft||a&&a.scrollLeft||0)-(b&&b.clientLeft||a&&a.clientLeft||0);e=c.clientY+(b&&b.scrollTop||a&&a.scrollTop||0)-(b&&b.clientTop||a&&a.clientTop||0)}return[d,e]},getPageY:function(a){Ext.log.warn("Ext.EventManager.getPageY() is deprecated. Call getY() directly on the Ext.event.Event instance instead.");return this.getPageXY(a)[1]},getTarget:function(a){Ext.log.warn("Ext.EventManager.getTarget() is deprecated. Call getTarget() directly on the Ext.event.Event instance instead.");a=a.browserEvent||a;return Ext.EventManager.resolveTextNode(a.target||a.srcElement)},resolveTextNode:Ext.isGecko?function(a){if(a){var b=HTMLElement.prototype.toString.call(a);if(b!=="[xpconnect wrapped native prototype]"&&b!=="[object XULElement]"){return a.nodeType===3?a.parentNode:a}}}:function(a){return a&&a.nodeType===3?a.parentNode:a}},function(a){a.on=a.addListener;a.un=a.removeListener});Ext.define("Ext.FocusManager",{singleton:true,alternateClassName:["Ext.FocusMgr"],enabled:true,enable:Ext.emptyFn,disable:Ext.emptyFn});Ext.define("Ext.Img",{extend:Ext.Component,alias:["widget.image","widget.imagecomponent"],autoEl:"img",baseCls:Ext.baseCSSPrefix+"img",src:"",alt:"",title:"",imgCls:"",ariaRole:"img",maskOnDisable:false,initComponent:function(){if(this.glyph){this.autoEl="div"}this.callParent()},getElConfig:function(){var h=this,a=h.autoEl,b=h.callParent(),d=Ext._glyphFontFamily,c=h.glyph,g,e;if(a==="img"||(Ext.isObject(a)&&a.tag==="img")){g=b}else{if(h.glyph){if(typeof c==="string"){e=c.split("@");c=e[0];d=e[1]||d}b.html="&#"+c+";";if(d){b.style=b.style||{};b.style.fontFamily=d}}else{b.cn=[g={tag:"img",role:h.ariaRole,id:h.id+"-img"}]}}if(g){if(h.imgCls){g.cls=(g.cls?g.cls+" ":"")+h.imgCls}g.src=h.src||Ext.BLANK_IMAGE_URL}if(h.alt){(g||b).alt=h.alt}if(h.title){(g||b).title=h.title}return b},onRender:function(){var c=this,a=c.autoEl,b;c.callParent(arguments);b=c.el;if(a==="img"||(Ext.isObject(a)&&a.tag==="img")){c.imgEl=b}else{c.imgEl=b.getById(c.id+"-img")}},onDestroy:function(){var b=this,a=b.imgEl;if(a&&b.el!==a){a.destroy()}this.imgEl=null;this.callParent()},setSrc:function(c){var b=this,a=b.imgEl;b.src=c;if(a){a.dom.src=c||Ext.BLANK_IMAGE_URL}},setGlyph:function(b){var e=this,c=Ext._glyphFontFamily,g=e.glyph,a=e.el,d;e.glyph=b;if(e.rendered&&b!==g){if(typeof b==="string"){d=b.split("@");b=d[0];c=d[1]||c}a.dom.innerHTML="&#"+b+";";if(c){a.setStyle("font-family",c)}}}});Ext.define("Ext.util.StoreHolder",{mixinId:"storeholder",bindStore:function(e,a,d){d=d||"store";var b=this,c=a?null:b[d];if(e!==c){if(c){b.onUnbindStore(c,a,d);if(b.isComponent&&d==="store"&&c.autoDestroy){c.destroy()}else{b.unbindStoreListeners(c)}}if(e){b[d]=e=Ext.data.StoreManager.lookup(e);b.bindStoreListeners(e);b.onBindStore(e,c)}else{b[d]=null}}return b},getStore:function(){return this.store},setStore:function(a){this.bindStore(a)},unbindStoreListeners:function(b){var a=this.storeListeners;if(a){b.un(a)}},bindStoreListeners:function(b){var a=this.getStoreListeners(b);if(a){a=Ext.apply({},a);if(!a.scope){a.scope=this}this.storeListeners=a;b.on(a)}},getStoreListeners:Ext.emptyFn,onUnbindStore:Ext.emptyFn,onBindStore:Ext.emptyFn});Ext.define("Ext.LoadMask",{extend:Ext.Component,alias:"widget.loadmask",mixins:[Ext.util.StoreHolder],isLoadMask:true,msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",msgWrapCls:Ext.baseCSSPrefix+"mask-msg",useMsg:true,useTargetEl:false,cls:Ext.baseCSSPrefix+"mask",componentCls:Ext.baseCSSPrefix+"border-box",ariaRole:"status",focusable:true,tabIndex:0,autoEl:{tag:"div",role:"status"},childEls:["msgWrapEl","msgEl","msgTextEl"],renderTpl:['<div id="{id}-msgWrapEl" data-ref="msgWrapEl" class="{[values.$comp.msgWrapCls]}">','<div id="{id}-msgEl" data-ref="msgEl" class="{[values.$comp.msgCls]} ',Ext.baseCSSPrefix,'mask-msg-inner {childElCls}">','<div id="{id}-msgTextEl" data-ref="msgTextEl" class="',Ext.baseCSSPrefix,"mask-msg-text",'{childElCls}">{msg}</div>',"</div>","</div>"],maskOnDisable:false,constructor:function(b){var c=this,a;if(arguments.length===2){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.LoadMask: LoadMask now uses a standard 1 arg constructor: use the target config")}a=c.target=b;b=arguments[1]}else{a=b.target}if(b.maskCls){Ext.log.warn("Ext.LoadMask property maskCls is deprecated, use msgWrapCls instead");b.msgWrapCls=b.msgWrapCls||b.maskCls}c.callParent([b]);if(a.isComponent){c.ownerCt=a;c.hidden=true;c.renderTo=c.getMaskTarget();c.external=c.renderTo===Ext.getBody();c.bindComponent(a)}else{if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.LoadMask: LoadMask for elements has been deprecated, use Ext.dom.Element.mask & Ext.dom.Element.unmask")}a=Ext.get(a);c.isElement=true;c.renderTo=c.target}c.render(c.renderTo);if(c.store){c.bindStore(c.store,true)}},initRenderData:function(){var a=this.callParent(arguments);a.msg=this.msg||"";return a},onRender:function(){this.callParent(arguments);this.maskEl=this.el},bindComponent:function(a){var c=this,b={scope:this,resize:c.sizeMask};if(c.external){b.added=c.onComponentAdded;b.removed=c.onComponentRemoved;if(a.floating){b.move=c.sizeMask;c.activeOwner=a}else{if(a.ownerCt){c.onComponentAdded(a.ownerCt)}}}c.mon(a,b);if(c.external){c.mon(Ext.GlobalEvents,{show:c.onContainerShow,hide:c.onContainerHide,expand:c.onContainerExpand,collapse:c.onContainerCollapse,scope:c})}},onComponentAdded:function(b){var a=this;delete a.activeOwner;a.floatParent=b;if(!b.floating){b=b.up("[floating]")}if(b){a.activeOwner=b;a.mon(b,"move",a.sizeMask,a);a.mon(b,"tofront",a.onOwnerToFront,a)}else{a.preventBringToFront=true}b=a.floatParent.ownerCt;if(a.rendered&&a.isVisible()&&b){a.floatOwner=b;a.mon(b,"afterlayout",a.sizeMask,a,{single:true})}},onComponentRemoved:function(d){var c=this,a=c.activeOwner,b=c.floatOwner;if(a){c.mun(a,"move",c.sizeMask,c);c.mun(a,"tofront",c.onOwnerToFront,c)}if(b){c.mun(b,"afterlayout",c.sizeMask,c)}delete c.activeOwner;delete c.floatOwner},afterRender:function(){var a=this;a.callParent(arguments);if(Ext.isIE){a.el.on("mousedown",a.onMouseDown,a)}this.el.skipGarbageCollection=true},onMouseDown:function(a){var b=this.el;if(a.within(b)){a.preventDefault();b.focus()}},onOwnerToFront:function(a,b){this.el.setStyle("zIndex",b+1)},onContainerShow:function(a){if(!this.isHierarchicallyHidden()){this.onComponentShow()}},onContainerHide:function(a){if(this.isHierarchicallyHidden()){this.onComponentHide()}},onContainerExpand:function(a){if(!this.isHierarchicallyHidden()){this.onComponentShow()}},onContainerCollapse:function(a){if(this.isHierarchicallyHidden()){this.onComponentHide()}},onComponentHide:function(){var a=this;if(a.rendered&&a.isVisible()){a.hide();a.showNext=true}},onComponentShow:function(){if(this.showNext){this.show()}delete this.showNext},sizeMask:function(){var b=this,c=b.activeOwner||b.target,a=b.external?b.getOwner().el:b.getMaskTarget();if(b.rendered&&b.isVisible()){if(b.external){if(!b.isElement&&c.floating){b.onOwnerToFront(c,c.el.getZIndex())}b.el.setSize(a.getSize()).alignTo(a,"tl-tl")}b.msgWrapEl.center(b.el)}},bindStore:function(c,a){var b=this;b.mixins.storeholder.bindStore.apply(b,arguments);c=b.store;if(c&&c.isLoading()){b.onBeforeLoad()}},getStoreListeners:function(d){var b=this.onLoad,a=this.onBeforeLoad,c={cachemiss:a,cachefilled:{fn:b,buffer:100}};if(!d.loadsSynchronously()){c.beforeload=a;c.load=b}return c},onDisable:function(){this.callParent(arguments);if(this.loading){this.onLoad()}},getOwner:function(){return this.ownerCt||this.ownerCmp||this.floatParent},getMaskTarget:function(){var a=this.getOwner();if(this.isElement){return this.target}return this.useTargetEl?a.getTargetEl():(a.getMaskTarget()||Ext.getBody())},onBeforeLoad:function(){var a=this,c=a.getOwner(),b;if(!a.disabled){a.loading=true;if(c.componentLayoutCounter){a.maybeShow()}else{b=c.afterComponentLayout;c.afterComponentLayout=function(){c.afterComponentLayout=b;b.apply(c,arguments);a.maybeShow()}}}},maybeShow:function(){var a=this,b=a.getOwner();if(!b.isVisible(true)){a.showNext=true}else{if(a.loading&&b.rendered){a.show()}}},hide:function(){var a=this,b=a.ownerCt;if(a.isElement){b.unmask();a.fireEvent("hide",this);return}b.enableTabbing();b.setMasked(false);delete a.showNext;return a.callParent(arguments)},show:function(){var a=this;if(a.isElement){a.ownerCt.mask(this.useMsg?this.msg:"",this.msgCls);a.fireEvent("show",this);return}return a.callParent(arguments)},afterShow:function(){var b=this,c=b.ownerCt,a=b.el;b.loading=true;b.callParent(arguments);if(b.hasOwnProperty("msgWrapCls")){a.dom.className=b.msgWrapCls}if(b.useMsg){b.msgTextEl.setHtml(b.msg)}else{b.msgWrapEl.hide()}if(b.shim||Ext.useShims){a.enableShim(null,true)}else{a.disableShim()}c.disableTabbing();c.setMasked(true);a.restoreTabbableState();b.syncMaskState()},syncMaskState:function(){var b=this,c=b.ownerCt,a=b.el;if(b.isVisible()){if(b.hasOwnProperty("msgWrapCls")){a.dom.className=b.msgWrapCls}if(b.useMsg){b.msgTextEl.setHtml(b.msg)}else{b.msgWrapEl.hide()}if(b.shim||Ext.useShims){a.enableShim(null,true)}else{a.disableShim()}if(c.el.contains(Ext.Element.getActiveElement())){b.focus()}b.sizeMask()}b.sizeMask()},onLoad:function(){this.loading=false;this.hide()},beforeDestroy:function(){this.ownerCt=null;this.bindStore(null);this.callParent()},onDestroy:function(){var a=this;if(a.isElement){a.ownerCt.unmask()}a.callParent()},privates:{getFocusEl:function(){return this.el}}});Ext.define("Ext.layout.component.Component",{extend:Ext.layout.Layout,type:"component",isComponentLayout:true,nullBox:{},usesContentHeight:true,usesContentWidth:true,usesHeight:true,usesWidth:true,widthCache:{},heightCache:{},beginLayoutCycle:function(l,c){var j=this,k=j.owner,m=l.ownerCtContext,e=l.heightModel,q=l.widthModel,a=k.el.dom===document.body,h=k.lastBox||j.nullBox,i=k.el.lastBox||j.nullBox,b=!a,g=l.isTopLevel,n,o,p,d;j.callParent([l,c]);if(c){if(j.usesContentWidth){++l.consumersContentWidth}if(j.usesContentHeight){++l.consumersContentHeight}if(j.usesWidth){++l.consumersWidth}if(j.usesHeight){++l.consumersHeight}if(m&&!m.hasRawContent){n=k.ownerLayout;if(n){if(n.usesWidth){++l.consumersWidth}if(n.usesHeight){++l.consumersHeight}}}}if(q.configured){p=k[q.names.width];if(g&&q.calculatedFrom){p=h.width}if(!a){b=j.setWidthInDom||(c?p!==i.width:q.constrained)}l.setWidth(p,b)}else{if(g){if(q.calculated){o=h.width;l.setWidth(o,o!==i.width)}o=h.x;l.setProp("x",o,o!==i.x)}}if(e.configured){d=k[e.names.height];if(g&&e.calculatedFrom){d=h.height}if(!a){b=c?d!==i.height:e.constrained}l.setHeight(d,b)}else{if(g){if(e.calculated){o=h.height;l.setHeight(o,o!==i.height)}o=h.y;l.setProp("y",o,o!==i.y)}}},finishedLayout:function(j){var g=this,b=j.children,h=g.owner,e,c,a,d,k;if(b){e=b.length;for(c=0;c<e;c++){a=b[c];a.el.lastBox=a.props}}j.previousSize=g.lastComponentSize;g.lastComponentSize=h.el.lastBox=k=j.props;d=h.lastBox||(h.lastBox={});d.x=k.x;d.y=k.y;d.width=k.width;d.height=k.height;d.invalid=false;g.callParent([j])},notifyOwner:function(d){var c=this,b=c.lastComponentSize,e=d.previousSize,a=[b.width,b.height,undefined,undefined];if(e){a[2]=e.width;a[3]=e.height}c.owner.afterComponentLayout.apply(c.owner,a)},getTarget:function(){return this.owner.el},getRenderTarget:function(){return this.owner.el},cacheTargetInfo:function(b){var a=this,d=a.targetInfo,c;if(!d){c=b.getEl("getTarget",a);a.targetInfo=d={padding:c.getPaddingInfo(),border:c.getBorderInfo()}}return d},measureAutoDimensions:function(o,d){var l=this,n=l.owner,c=n.layout,g=o.heightModel,v=o.widthModel,a=o.boxParent,i=o.isBoxParent,t=o.target,p=o.props,j,r={gotWidth:false,gotHeight:false,isContainer:(j=!o.hasRawContent)},h=d||3,x,w,m=0,e=0,q,s,u,k,b;if(v.shrinkWrap&&o.consumersContentWidth){++m;x=!(h&1);if(j){if(x){r.contentWidth=0;r.gotWidth=true;++e}else{if((r.contentWidth=o.getProp("contentWidth"))!==undefined){r.gotWidth=true;++e}}}else{s=p.contentWidth;if(typeof s==="number"){r.contentWidth=s;r.gotWidth=true;++e}else{if(x){q=true}else{if(!o.hasDomProp("containerChildrenSizeDone")){q=false}else{if(i||!a||a.widthModel.shrinkWrap){q=true}else{q=a.hasDomProp("width")}}}if(q){if(x){u=0}else{if(c&&c.measureContentWidth){u=c.measureContentWidth(o)}else{if(t.cacheWidth){k=t.xtype+"-"+t.ui;b=l.widthCache;u=b[k]||(b[k]=l.measureContentWidth(o))}else{u=l.measureContentWidth(o)}}}if(!isNaN(r.contentWidth=u)){o.setContentWidth(u,true);r.gotWidth=true;++e}}}}}else{if(v.natural&&o.consumersWidth){++m;s=p.width;if(typeof s==="number"){r.width=s;r.gotWidth=true;++e}else{if(i||!a){q=true}else{q=a.hasDomProp("width")}if(q){if(!isNaN(r.width=l.measureOwnerWidth(o))){o.setWidth(r.width,false);r.gotWidth=true;++e}}}}}if(g.shrinkWrap&&o.consumersContentHeight){++m;w=!(h&2);if(j){if(w){r.contentHeight=0;r.gotHeight=true;++e}else{if((r.contentHeight=o.getProp("contentHeight"))!==undefined){r.gotHeight=true;++e}}}else{s=p.contentHeight;if(typeof s==="number"){r.contentHeight=s;r.gotHeight=true;++e}else{if(w){q=true}else{if(!o.hasDomProp("containerChildrenSizeDone")){q=false}else{if(n.noWrap){q=true}else{if(!v.shrinkWrap){q=(o.bodyContext||o).hasDomProp("width")}else{if(i||!a||a.widthModel.shrinkWrap){q=true}else{q=a.hasDomProp("width")}}}}}if(q){if(w){u=0}else{if(c&&c.measureContentHeight){u=c.measureContentHeight(o)}else{if(t.cacheHeight){k=t.xtype+"-"+t.ui;b=l.heightCache;u=b[k]||(b[k]=l.measureContentHeight(o))}else{u=l.measureContentHeight(o)}}}if(!isNaN(r.contentHeight=u)){o.setContentHeight(u,true);r.gotHeight=true;++e}}}}}else{if(g.natural&&o.consumersHeight){++m;s=p.height;if(typeof s==="number"){r.height=s;r.gotHeight=true;++e}else{if(i||!a){q=true}else{q=a.hasDomProp("width")}if(q){if(!isNaN(r.height=l.measureOwnerHeight(o))){o.setHeight(r.height,false);r.gotHeight=true;++e}}}}}if(a){o.onBoxMeasured()}r.gotAll=e===m;return r},measureContentWidth:function(a){return a.el.getWidth()-a.getFrameInfo().width},measureContentHeight:function(a){return a.el.getHeight()-a.getFrameInfo().height},measureOwnerHeight:function(a){return a.el.getHeight()},measureOwnerWidth:function(a){return a.el.getWidth()}});Ext.define("Ext.layout.component.Auto",{alias:"layout.autocomponent",extend:Ext.layout.component.Component,type:"autocomponent",setHeightInDom:false,setWidthInDom:false,waitForOuterHeightInDom:false,waitForOuterWidthInDom:false,beginLayoutCycle:function(g,b){var e=this,d=e.lastWidthModel,c=e.lastHeightModel,a=e.owner.el;e.callParent(arguments);if(d&&d.fixed&&g.widthModel.shrinkWrap){a.setWidth(null)}if(c&&c.fixed&&g.heightModel.shrinkWrap){a.setHeight(null)}},calculate:function(e){var c=this,d=c.measureAutoDimensions(e),b=e.heightModel,h=e.widthModel,g,a;if(d.gotWidth){if(h.shrinkWrap){c.publishOwnerWidth(e,d.contentWidth)}else{if(c.publishInnerWidth){c.publishInnerWidth(e,d.width)}}}else{if(!h.auto&&c.publishInnerWidth){g=c.waitForOuterWidthInDom?e.getDomProp("width"):e.getProp("width");if(g===undefined){c.done=false}else{c.publishInnerWidth(e,g)}}}if(d.gotHeight){if(b.shrinkWrap){c.publishOwnerHeight(e,d.contentHeight)}else{if(c.publishInnerHeight){c.publishInnerHeight(e,d.height)}}}else{if(!b.auto&&c.publishInnerHeight){a=c.waitForOuterHeightInDom?e.getDomProp("height"):e.getProp("height");if(a===undefined){c.done=false}else{c.publishInnerHeight(e,a)}}}if(!d.gotAll){c.done=false}},calculateOwnerHeightFromContentHeight:function(b,a){return a+b.getFrameInfo().height},calculateOwnerWidthFromContentWidth:function(b,a){return a+b.getFrameInfo().width},publishOwnerHeight:function(i,b){var g=this,h=g.owner,d=g.calculateOwnerHeightFromContentHeight(i,b),a,c,e;if(isNaN(d)){g.done=false}else{a=Ext.Number.constrain(d,h.minHeight,h.maxHeight);if(a===d){c=g.setHeightInDom}else{e=g.sizeModels[(a<d)?"constrainedMax":"constrainedMin"];d=a;if(i.heightModel.calculatedFromShrinkWrap){i.heightModel=e}else{i.invalidate({heightModel:e})}}i.setHeight(d,c)}},publishOwnerWidth:function(g,b){var d=this,e=d.owner,h=d.calculateOwnerWidthFromContentWidth(g,b),a,c,i;if(isNaN(h)){d.done=false}else{a=Ext.Number.constrain(h,e.minWidth,e.maxWidth);if(a===h){c=d.setWidthInDom}else{i=d.sizeModels[(a<h)?"constrainedMax":"constrainedMin"];h=a;if(g.widthModel.calculatedFromShrinkWrap){g.widthModel=i}else{g.invalidate({widthModel:i})}}g.setWidth(h,c)}}});Ext.define("Ext.layout.component.ProgressBar",{alias:["layout.progressbar"],extend:Ext.layout.component.Auto,type:"progressbar",beginLayout:function(c){var b=this,a,d;b.callParent(arguments);if(!c.textEls){d=b.owner.textEl;if(d.isComposite){c.textEls=[];d=d.elements;for(a=d.length;a--;){c.textEls[a]=c.getEl(Ext.get(d[a]))}}else{c.textEls=[c.getEl("textEl")]}}},calculate:function(c){var b=this,a,d,e;b.callParent(arguments);if(Ext.isNumber(e=c.getProp("width"))){e-=c.getBorderInfo().width;d=c.textEls;for(a=d.length;a--;){d[a].setWidth(e)}}else{b.done=false}}});Ext.define("Ext.ProgressBar",{extend:Ext.Component,alias:"widget.progressbar",config:{value:0,textTpl:null},baseCls:Ext.baseCSSPrefix+"progress",animate:false,text:"",waitTimer:null,childEls:["bar"],defaultBindProperty:"value",renderTpl:['<tpl if="internalText">','<div class="{baseCls}-text {baseCls}-text-back">{text}</div>',"</tpl>",'<div id="{id}-bar" data-ref="bar" class="{baseCls}-bar {baseCls}-bar-{ui}" role="presentation" style="width:{percentage}%">','<tpl if="internalText">','<div class="{baseCls}-text">',"<div>{text}</div>","</div>","</tpl>","</div>"],componentLayout:"progressbar",ariaRole:"progressbar",initRenderData:function(){var a=this,b=a.value||0;return Ext.apply(a.callParent(),{internalText:!a.hasOwnProperty("textEl"),text:a.text||"&#160;",percentage:b*100})},onRender:function(){var a=this;a.callParent(arguments);if(a.textEl){a.textEl=Ext.get(a.textEl);a.updateText(a.text)}else{a.textEl=a.el.select("."+a.baseCls+"-text")}},applyValue:function(a){return a||0},updateValue:function(a){this.updateProgress(a,Math.round(a*100)+"%")},updateProgress:function(g,d,a){g=g||0;var b=this,c=b.value,e=b.getTextTpl();b.value=g||(g=0);if(d!=null){b.updateText(d)}else{if(e){b.updateText(e.apply({value:g,percent:g*100}))}}if(b.rendered&&!b.isDestroyed){if(a===true||(a!==false&&b.animate)){b.bar.stopAnimation();b.bar.animate(Ext.apply({from:{width:(c*100)+"%"},to:{width:(g*100)+"%"}},b.animate))}else{b.bar.setStyle("width",(g*100)+"%")}}b.fireEvent("update",b,g,d);return b},updateText:function(b){var a=this;a.text=b;if(a.rendered){a.textEl.setHtml(a.text)}return a},applyTextTpl:function(a){if(!a.isTemplate){a=new Ext.XTemplate(a)}return a},applyText:function(a){this.updateText(a)},getText:function(){return this.text},wait:function(b){var a=this,c;if(!a.waitTimer){c=a;b=b||{};a.updateText(b.text);a.waitTimer=Ext.TaskManager.start({run:function(d){var e=b.increment||10;d-=1;a.updateProgress(((((d+e)%e)+1)*(100/e))*0.01,null,b.animate)},interval:b.interval||1000,duration:b.duration,onStop:function(){if(b.fn){b.fn.apply(b.scope||a)}a.reset()},scope:c})}return a},isWaiting:function(){return this.waitTimer!==null},reset:function(a){var b=this;b.updateProgress(0);b.clearTimer();if(a===true){b.hide()}return b},clearTimer:function(){var a=this;if(a.waitTimer){a.waitTimer.onStop=null;Ext.TaskManager.stop(a.waitTimer);a.waitTimer=null}},onDestroy:function(){var b=this,a=b.bar;b.clearTimer();if(b.rendered){if(b.textEl.isComposite){b.textEl.clear()}Ext.destroyMembers(b,"textEl","progressBar");if(a&&b.animate){a.stopAnimation()}}b.callParent()}});Ext.define("Ext.ProgressBarWidget",{extend:Ext.Widget,alias:"widget.progressbarwidget",config:{text:null,value:0,animate:false,textTpl:null},cachedConfig:{baseCls:Ext.baseCSSPrefix+"progress",textCls:Ext.baseCSSPrefix+"progress-text",ui:"default"},template:[{reference:"backgroundEl"},{reference:"barEl",children:[{reference:"textEl"}]}],defaultBindProperty:"value",doSetWidth:function(b){var a=this;a.callParent([b]);b-=a.element.getBorderWidth("lr");a.backgroundEl.setWidth(b);a.textEl.setWidth(b)},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(a,b){if(b){Ext.Error.raise("You cannot configure baseCls - use a subclass")}this.element.addCls(a);this.barEl.addCls(a+"-bar")},updateTextCls:function(a){this.backgroundEl.addCls(a+" "+a+"-back");this.textEl.addCls(a)},applyValue:function(a){return a||0},updateValue:function(e,c){var b=this,a=b.barEl,d=b.getTextTpl();if(d){b.setText(d.apply({value:e,percent:Math.round(e*100)}))}if(b.getAnimate()){a.stopAnimation();a.animate(Ext.apply({from:{width:(c*100)+"%"},to:{width:(e*100)+"%"}},b.animate))}else{a.setStyle("width",(e*100)+"%")}},updateText:function(a){this.backgroundEl.setHtml(a);this.textEl.setHtml(a)},applyTextTpl:function(a){if(!a.isTemplate){a=new Ext.XTemplate(a)}return a}});Ext.define("Ext.dom.ButtonElement",{extend:Ext.dom.Element,setSize:function(e,c,a){var d=this,b=d.component;d.callParent([e,c,a]);b.btnWrap.setStyle("table-layout",(!e||e==="auto")?"":"fixed");b.btnEl.setStyle("height",(!c||c==="auto")?"":"auto");return d},setStyle:function(d,e){var c=this,a=c.component,g,b;c.callParent([d,e]);if(d){if(d==="width"||(typeof d!=="string"&&"width" in d)){g=e||d.width;a.btnWrap.setStyle("table-layout",(!g||g==="auto")?"":"fixed")}if(d==="height"||(typeof d!=="string"&&"height" in d)){b=e||d.height;a.btnEl.setStyle("height",(!b||b==="auto")?"":"auto")}}return c},setHeight:function(b,a){this.callParent([b,a]);this.component.btnEl.setStyle("height",(!b||b==="auto")?"":"auto");return this},setWidth:function(b,a){this.callParent([b,a]);this.component.btnWrap.setStyle("table-layout",(!b||b==="auto")?"":"fixed");return this}});Ext.define("Ext.button.Manager",{singleton:true,alternateClassName:"Ext.ButtonToggleManager",groups:{},pressedButton:null,buttonSelector:"."+Ext.baseCSSPrefix+"btn",init:function(){var a=this;if(!a.initialized){Ext.getDoc().on({keydown:a.onDocumentKeyDown,mouseup:a.onDocumentMouseUp,scope:a});a.initialized=true}},onDocumentKeyDown:function(b){var c=b.getKey(),a;if(c===b.SPACE||c===b.ENTER){a=b.getTarget(this.buttonSelector);if(a){Ext.getCmp(a.id).onClick(b)}}},onButtonMousedown:function(a,b){var c=this.pressedButton;if(c){c.onMouseUp(b)}this.pressedButton=a},onDocumentMouseUp:function(a){var b=this.pressedButton;if(b){b.onMouseUp(a);this.pressedButton=null}},toggleGroup:function(a,e){if(e){var b=this.groups[a.toggleGroup],d=b.length,c;for(c=0;c<d;c++){if(b[c]!==a){b[c].toggle(false)}}}},register:function(a){var d=this,c=this.groups,b=c[a.toggleGroup];d.init();if(!a.toggleGroup){return}if(!b){b=c[a.toggleGroup]=[]}b.push(a);a.on("toggle",d.toggleGroup,d)},unregister:function(a){if(!a.toggleGroup){return}var c=this,b=c.groups[a.toggleGroup];if(b){Ext.Array.remove(b,a);a.un("toggle",c.toggleGroup,c)}},getPressed:function(b){var a=this.groups[b],c=0,d;if(a){for(d=a.length;c<d;c++){if(a[c].pressed===true){return a[c]}}}return null}});Ext.define("Ext.menu.Manager",{singleton:true,alternateClassName:"Ext.menu.MenuMgr",groups:{},visible:[],constructor:function(){var a=this;a.onShow=function(){delete a.onShow;Ext.on("mousedown",a.checkActiveMenus,a);return a.onShow.apply(a,arguments)}},checkActiveMenus:function(b){var a=this.visible,d=a.length,c,g,h=Ext.Component.fromElement(b.target);if(d){a=a.slice();for(c=0;c<d;++c){g=a[c];if(!(g.owns(b)||(h&&h.isMenuCheckItem&&h.menu===g))){g.hide()}}}},onShow:function(a){if(a.floating){Ext.Array.include(this.visible,a)}},onHide:function(a){if(a.floating){Ext.Array.remove(this.visible,a)}},hideAll:function(){var a=this.visible,c=a.length,d=false,b;if(c){a=a.slice();for(b=0;b<c;b++){a[b].hide();d=true}}return d},get:function(b,a){var c;if(typeof b==="string"){c=Ext.getCmp(b);if(c instanceof Ext.menu.Menu){b=c}}else{if(Ext.isArray(b)){a=Ext.apply({items:b},a);b=new Ext.menu.Menu(a)}else{if(!b.isComponent){a=Ext.apply({},b,a);b=Ext.ComponentManager.create(a,"menu")}}}return b},registerCheckable:function(c){var b=this.groups,a=c.group;if(a){if(!b[a]){b[a]=[]}b[a].push(c)}},unregisterCheckable:function(c){var b=this.groups,a=c.group;if(a){Ext.Array.remove(b[a],c)}},onCheckChange:function(h,j){var d=this.groups,c=h.group,e=0,b,g,a;if(c&&j){b=d[c];g=b.length;for(;e<g;e++){a=b[e];if(a!==h){a.setChecked(false)}}}}});Ext.define("Ext.util.ClickRepeater",{extend:Ext.util.Observable,constructor:function(b,a){var c=this;c.el=Ext.get(b);c.el.unselectable();Ext.apply(c,a);c.callParent();if(!c.disabled){c.disabled=true;c.enable()}if(c.handler){c.on("click",c.handler,c.scope||c)}},interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE8){this.el.on("dblclick",this.handleDblClick,this)}if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(a){if(a||!this.disabled){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.clearListeners()}this.disabled=true},setDisabled:function(a){this[a?"disable":"enable"]()},eventOptions:function(a){if(this.preventDefault){a.preventDefault()}if(this.stopDefault){a.stopEvent()}},destroy:function(){this.disable(true);this.clearListeners()},handleDblClick:function(a){clearTimeout(this.timer);this.fireEvent("mousedown",this,a);this.fireEvent("click",this,a)},handleMouseDown:function(a){clearTimeout(this.timer);if(this.pressedCls){this.el.addCls(this.pressedCls)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this,a);this.fireEvent("click",this,a);if(this.accelerate){this.delay=400}this.timer=Ext.defer(this.click,this.delay||this.interval,this,[a])},click:function(a){this.fireEvent("click",this,a);this.timer=Ext.defer(this.click,this.accelerate?this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime),400,-390,12000):this.interval,this,[a])},easeOutExpo:function(h,a,e,g){return(h===g)?a+e:e*(-Math.pow(2,-10*h/g)+1)+a},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(a){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressedCls){this.el.addCls(this.pressedCls)}this.click(a)},handleMouseUp:function(a){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.fireEvent("mouseup",this,a)}});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",eventName:"keydown",constructor:function(a){var b=this;if((arguments.length!==1)||(typeof a==="string")||a.dom||a.tagName||a===document||a.isComponent){b.legacyConstructor.apply(b,arguments);return}Ext.apply(b,a);b.bindings=[];if(!b.target.isComponent){b.target=Ext.get(b.target)}if(b.binding){b.addBinding(b.binding)}else{if(a.key){b.addBinding(a)}}b.enable()},legacyConstructor:function(b,a,c){var d=this;Ext.apply(d,{target:Ext.get(b),eventName:c||d.eventName,bindings:[]});if(a){d.addBinding(a)}d.enable()},addBinding:function(a){var e=this,c=a.key,b,d;if(e.processing){e.bindings=e.bindings.slice(0)}if(Ext.isArray(a)){for(b=0,d=a.length;b<d;b++){e.addBinding(a[b])}return}e.bindings.push(Ext.apply({keyCode:e.processKeys(c)},a))},removeBinding:function(a){var h=this,b=h.bindings,g=b.length,c,d,e;if(h.processing){h.bindings=b.slice(0)}e=h.processKeys(a.key);for(c=0;c<g;++c){d=b[c];if((d.fn||d.handler)===(a.fn||a.handler)&&d.scope===a.scope){if(a.alt===d.alt&&a.crtl===d.crtl&&a.shift===d.shift){if(Ext.Array.equals(d.keyCode,e)){Ext.Array.erase(h.bindings,c,1);return}}}}},processKeys:function(c){var h=false,b,d,e,g,a;if(c.test){return c}if(Ext.isString(c)){d=[];e=c.toUpperCase();for(a=0,g=e.length;a<g;++a){d.push(e.charCodeAt(a))}c=d;h=true}if(!Ext.isArray(c)){c=[c]}if(!h){for(a=0,g=c.length;a<g;++a){b=c[a];if(Ext.isString(b)){c[a]=b.toUpperCase().charCodeAt(0)}}}return c},handleTargetEvent:function(b){var e=this,a,c,d;if(e.enabled){a=e.bindings;c=0;d=a.length;b=e.processEvent.apply(e.processEventScope||e,arguments);if(b){e.lastKeyEvent=b;if(e.ignoreInputFields&&Ext.fly(b.target).isInputField()){return}if(!b.getKey){return b}e.processing=true;for(;c<d;++c){e.processBinding(a[c],b)}e.processing=false}}},processEvent:Ext.identityFn,processBinding:function(a,c){if(this.checkModifiers(a,c)){var g=c.getKey(),d=a.fn||a.handler,k=a.scope||this,h=a.keyCode,b=a.defaultEventAction,e,j;if(h.test){if(h.test(String.fromCharCode(c.getCharCode()))){if(d.call(k,g,c)!==true&&b){c[b]()}}}else{if(h.length){for(e=0,j=h.length;e<j;++e){if(g===h[e]){if(d.call(k,g,c)!==true&&b){c[b]()}break}}}}}},checkModifiers:function(a,b){var e=["shift","ctrl","alt"],c=0,g=e.length,h,d;for(;c<g;++c){d=e[c];h=a[d];if(!(h===undefined||(h===b[d+"Key"]))){return false}}return true},on:function(d,c,g){var e,h,b,a;if(Ext.isObject(d)&&!Ext.isArray(d)){e=d.key;h=d.shift;b=d.ctrl;a=d.alt}else{e=d}this.addBinding({key:e,shift:h,ctrl:b,alt:a,fn:c,scope:g})},un:function(d,c,g){var e,h,b,a;if(Ext.isObject(d)&&!Ext.isArray(d)){e=d.key;h=d.shift;b=d.ctrl;a=d.alt}else{e=d}this.removeBinding({key:e,shift:h,ctrl:b,alt:a,fn:c,scope:g})},isEnabled:function(){return this.enabled},enable:function(){var a=this;if(!a.enabled){a.target.on(a.eventName,a.handleTargetEvent,a,{capture:a.capture});a.enabled=true}},disable:function(){var a=this;if(a.enabled){a.target.removeListener(a.eventName,a.handleTargetEvent,a);a.enabled=false}},setDisabled:function(a){if(a){this.disable()}else{this.enable()}},destroy:function(b){var a=this,c=a.target;a.bindings=[];a.disable();if(b){c.destroy()}delete a.target}});Ext.define("Ext.button.Button",{alias:"widget.button",extend:Ext.Component,mixins:[Ext.mixin.Queryable],alternateClassName:"Ext.Button",config:{iconAlign:"left",text:null,textAlign:"center",arrowVisible:true},isButton:true,_syncFrameHeight:true,liquidLayout:true,hidden:false,disabled:false,pressed:false,tabIndex:0,enableToggle:false,menuAlign:"tl-bl?",showEmptyMenu:false,clickEvent:"click",preventDefault:true,handleMouseEvents:true,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",hrefTarget:"_blank",destroyMenu:true,focusable:true,ariaRole:"button",defaultBindProperty:"text",childEls:["btnEl","btnWrap","btnInnerEl","btnIconEl"],publishes:{pressed:1},_btnWrapCls:Ext.baseCSSPrefix+"btn-wrap",_btnCls:Ext.baseCSSPrefix+"btn-button",_baseIconCls:Ext.baseCSSPrefix+"btn-icon-el",_glyphCls:Ext.baseCSSPrefix+"btn-glyph",_innerCls:Ext.baseCSSPrefix+"btn-inner",_textCls:Ext.baseCSSPrefix+"btn-text",_noTextCls:Ext.baseCSSPrefix+"btn-no-text",_hasIconCls:Ext.baseCSSPrefix+"btn-icon",_pressedCls:Ext.baseCSSPrefix+"btn-pressed",overCls:Ext.baseCSSPrefix+"btn-over",_disabledCls:Ext.baseCSSPrefix+"btn-disabled",_menuActiveCls:Ext.baseCSSPrefix+"btn-menu-active",_operaArrowCls:Ext.baseCSSPrefix+"opera12m-btn-arrow",renderTpl:'<span id="{id}-btnWrap" data-ref="btnWrap" role="presentation" unselectable="on" style="{btnWrapStyle}" class="{btnWrapCls} {btnWrapCls}-{ui} {splitCls}{childElCls}"><span id="{id}-btnEl" data-ref="btnEl" role="presentation" unselectable="on" style="{btnElStyle}" class="{btnCls} {btnCls}-{ui} {textCls} {noTextCls} {hasIconCls} {iconAlignCls} {textAlignCls} {btnElAutoHeightCls}{childElCls}"><tpl if="iconBeforeText">{[values.$comp.renderIcon(values)]}</tpl><span id="{id}-btnInnerEl" data-ref="btnInnerEl" unselectable="on" class="{innerCls} {innerCls}-{ui}{childElCls}">{text}</span><tpl if="!iconBeforeText">{[values.$comp.renderIcon(values)]}</tpl></span></span>{[values.$comp.getAfterMarkup ? values.$comp.getAfterMarkup(values) : ""]}<tpl if="closable"><span id="{id}-closeEl" data-ref="closeEl" class="{baseCls}-close-btn"><tpl if="closeText"> {closeText}</tpl></span></tpl>',iconTpl:'<span id="{id}-btnIconEl" data-ref="btnIconEl" role="presentation" unselectable="on" class="{baseIconCls} {baseIconCls}-{ui} {iconCls} {glyphCls}{childElCls}" style="<tpl if="iconUrl">background-image:url({iconUrl});</tpl><tpl if="glyph && glyphFontFamily">font-family:{glyphFontFamily};</tpl>"><tpl if="glyph">&#{glyph};</tpl><tpl if="iconCls || iconUrl">&#160;</tpl></span>',scale:"small",allowedScales:["small","medium","large"],arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,shrinkWrap:3,frame:true,autoEl:{tag:"a",hidefocus:"on",unselectable:"on"},hasFrameTable:function(){return this.href&&this.frameTable},frameTableListener:function(){if(!this.disabled){this.doNavigate()}},doNavigate:function(){if(this.hrefTarget==="_blank"){window.open(this.getHref(),this.hrefTarget)}else{location.href=this.getHref()}},_triggerRegion:{},initComponent:function(){var a=this;a.addCls(Ext.baseCSSPrefix+"unselectable");if(Ext.isOpera12m&&(a.split||a.menu)&&a.getArrowVisible()){a.addCls(a._operaArrowCls+"-"+a.arrowAlign)}a.callParent();if(a.menu){a.split=true;a.setMenu(a.menu,false,true)}if(a.url){a.href=a.url}a.configuredWithPreventDefault=a.hasOwnProperty("preventDefault");if(a.href&&!a.configuredWithPreventDefault){a.preventDefault=false}if(Ext.isString(a.toggleGroup)&&a.toggleGroup!==""){a.enableToggle=true}if(a.html&&!a.text){a.text=a.html;delete a.html}},getElConfig:function(){var d=this,a=d.callParent(),b=d.getHref(),c=d.hrefTarget;if(a.tag==="a"){if(!d.disabled){a.tabIndex=d.tabIndex}if(b){if(!d.disabled){a.href=b;if(c){a.target=c}}}}return a},beforeRender:function(){this.callParent();if(this.pressed){this.addCls(this._pressedCls)}},initRenderData:function(){return Ext.apply(this.callParent(),this.getTemplateArgs())},getMenu:function(){return this.menu||null},setMenu:function(e,a,b){var d=this,g=d.menu,c;if(g&&!b){if(a!==false&&d.destroyMenu){g.destroy()}g.ownerCmp=null}if(e){c=e.isMenu;e=Ext.menu.Manager.get(e,{ownerCmp:d});e.setOwnerCmp(d,c);e.menuClickBuffer=250;d.mon(e,{scope:d,show:d.onMenuShow,hide:d.onMenuHide});if(!g&&d.getArrowVisible()){d.split=true;if(d.rendered){d._addSplitCls();d.updateLayout()}}d.menu=e}else{if(d.rendered){d._removeSplitCls();d.updateLayout()}d.split=false;d.menu=null}},onRender:function(){var d=this,a,b,c;d.callParent(arguments);b=d.el;if(d.tooltip){d.setTooltip(d.tooltip,true)}if(d.handleMouseEvents){c={scope:d,mouseover:d.onMouseOver,mouseout:d.onMouseOut,mousedown:d.onMouseDown};if(d.split){c.mousemove=d.onMouseMove}}else{c={scope:d}}if(Ext.supports.Touch){c.touchstart=d.onTouchStart}if(d.menu){d.keyMap=new Ext.util.KeyMap({target:d.el,key:Ext.event.Event.prototype.DOWN,handler:d.onDownKey,scope:d})}if(d.repeat){d.mon(new Ext.util.ClickRepeater(b,Ext.isObject(d.repeat)?d.repeat:{}),"click",d.onRepeatClick,d)}else{if(c[d.clickEvent]){a=true}else{c[d.clickEvent]=d.onClick}}d.mon(b,c);if(d.hasFrameTable()){d.mon(d.frameTable,"click",d.frameTableListener,d)}if(a){d.mon(b,d.clickEvent,d.onClick,d)}Ext.button.Manager.register(d)},onFocusLeave:function(a){this.callParent([a]);if(this.menu){this.menu.hide()}},getTemplateArgs:function(){var j=this,b=j._btnCls,a=j._baseIconCls,i=j.getIconAlign(),c=j.glyph,d=Ext._glyphFontFamily,k=j.text,g=j._hasIcon(),h=j._hasIconCls,e;if(typeof c==="string"){e=c.split("@");c=e[0];d=e[1]}return{innerCls:j._innerCls,splitCls:j.getArrowVisible()?j.getSplitCls():"",iconUrl:j.icon,iconCls:j.iconCls,glyph:c,glyphCls:c?j._glyphCls:"",glyphFontFamily:d,text:k||"&#160;",closeText:j.closeText,textCls:k?j._textCls:"",noTextCls:k?"":j._noTextCls,hasIconCls:g?h:"",btnWrapCls:j._btnWrapCls,btnWrapStyle:j.width?"table-layout:fixed;":"",btnElStyle:j.height?"height:auto;":"",btnCls:b,baseIconCls:a,iconBeforeText:i==="left"||i==="top",iconAlignCls:g?(h+"-"+i):"",textAlignCls:b+"-"+j.getTextAlign()}},renderIcon:function(a){return this.getTpl("iconTpl").apply(a)},setHref:function(b){var d=this,c=d.hrefTarget,a;d.href=b;if(!d.configuredWithPreventDefault){d.preventDefault=!b}if(d.rendered){a=d.el.dom;if(!b||d.disabled){a.removeAttribute("href");a.removeAttribute("hrefTarget")}else{a.href=d.getHref();if(c){a.target=c}}}},getHref:function(){var b=this,a=b.href;return a?Ext.urlAppend(a,Ext.Object.toQueryString(Ext.apply({},b.params,b.baseParams))):false},setParams:function(c){var b=this,a;b.params=c;if(b.rendered){a=b.el.dom;if(b.disabled){a.removeAttribute("href")}else{a.href=b.getHref()||""}}},getSplitCls:function(){var a=this;return a.split?(a.baseCls+"-"+a.arrowCls)+" "+(a.baseCls+"-"+a.arrowCls+"-"+a.arrowAlign):""},setIcon:function(b){b=b||"";var c=this,a=c.btnIconEl,d=c.icon||"";c.icon=b;if(b!==d){if(a){a.setStyle("background-image",b?"url("+b+")":"");c._syncHasIconCls();if(c.didIconStateChange(d,b)){c.updateLayout()}}c.fireEvent("iconchange",c,d,b)}return c},setIconCls:function(b){b=b||"";var c=this,a=c.btnIconEl,d=c.iconCls||"";c.iconCls=b;if(d!==b){if(a){a.removeCls(d);a.addCls(b);c._syncHasIconCls();if(c.didIconStateChange(d,b)){c.updateLayout()}}c.fireEvent("iconchange",c,d,b)}return c},setGlyph:function(c){c=c||0;var g=this,a=g.btnIconEl,h=g.glyph,d=g._glyphCls,b,e;g.glyph=c;if(a){if(typeof c==="string"){e=c.split("@");c=e[0];b=e[1]||Ext._glyphFontFamily}if(!c){a.dom.innerHTML="";a.removeCls(d)}else{if(h!==c){a.dom.innerHTML="&#"+c+";";a.addCls(d)}}if(b){a.setStyle("font-family",b)}g._syncHasIconCls();if(g.didIconStateChange(h,c)){g.updateLayout()}}g.fireEvent("glyphchange",g,g.glyph,h);return g},setTooltip:function(c,a){var b=this;if(b.rendered){if(!a||!c){b.clearTip()}if(c){if(Ext.quickTipsActive&&Ext.isObject(c)){Ext.tip.QuickTipManager.register(Ext.apply({target:b.el.id},c));b.tooltip=c}else{b.el.dom.setAttribute(b.getTipAttr(),c)}}}else{b.tooltip=c}return b},updateIconAlign:function(a,g){var e=this,b,c,d;if(e.rendered){b=e.btnEl;c=e.btnIconEl;d=e._hasIconCls;if(g){b.removeCls(d+"-"+g)}b.addCls(d+"-"+a);if(a==="top"||a==="left"){b.insertFirst(c)}else{b.appendChild(c)}e.updateLayout()}},updateTextAlign:function(a,e){var d=this,c=d.btnEl,b=d._btnCls;if(d.rendered){c.removeCls(b+"-"+e);c.addCls(b+"-"+a)}},getTipAttr:function(){return this.tooltipType==="qtip"?"data-qtip":"title"},getRefItems:function(a){var c=this.menu,b;if(c){b=c.getRefItems(a);b.unshift(c)}return b||[]},clearTip:function(){var b=this,a=b.el;if(Ext.quickTipsActive&&Ext.isObject(b.tooltip)){Ext.tip.QuickTipManager.unregister(a)}else{a.dom.removeAttribute(b.getTipAttr())}},beforeDestroy:function(){var a=this;if(a.rendered){a.clearTip()}Ext.destroy(a.repeater);a.callParent()},onDestroy:function(){var a=this,b=a.menu;if(a.rendered){Ext.destroy(a.keyMap);delete a.keyMap}if(b&&a.destroyMenu){a.menu=Ext.destroy(b)}Ext.button.Manager.unregister(a);a.callParent()},setHandler:function(a,b){this.handler=a;if(arguments.length>1){this.scope=b}return this},updateText:function(e,d){e=e==null?"":String(e);d=d||"";var c=this,b=c.btnInnerEl,a=c.btnEl;if(c.rendered){b.setHtml(e||"&#160;");a[e?"addCls":"removeCls"](c._textCls);a[e?"removeCls":"addCls"](c._noTextCls);c.updateLayout()}c.fireEvent("textchange",c,d,e)},didIconStateChange:function(c,a){var b=Ext.isEmpty(a);return Ext.isEmpty(c)?!b:b},setPressed:function(a){return this.toggle(a!==false)},toggle:function(b,c){var a=this;b=b===undefined?!a.pressed:!!b;if(b!==a.pressed){a[b?"addCls":"removeCls"](a._pressedCls);a.pressed=b;if(!c){a.fireEvent("toggle",a,b);Ext.callback(a.toggleHandler,a.scope,[a,b],0,a);if(a.reference&&a.publishState){a.publishState("pressed",b)}}}return a},maybeShowMenu:function(a){if(this.menu){this.showMenu(a)}},showMenu:function(a){var c=this,d=c.menu,b=!a||a.pointerType;if(d&&c.rendered){if(c.tooltip&&Ext.quickTipsActive&&c.getTipAttr()!=="title"){Ext.tip.QuickTipManager.getQuickTip().cancelShow(c.el)}if(d.isVisible()){if(b){d.hide()}else{d.focus()}}else{if(!a||c.showEmptyMenu||d.items.getCount()>0){d.autoFocus=!b;d.showBy(c.el,c.menuAlign)}}}return c},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var a=this.menu;return a&&a.rendered&&a.isVisible()},onRepeatClick:function(b,a){this.onClick(a)},onTouchStart:function(a){this.doPreventDefault(a)},onClick:function(a){var b=this;b.doPreventDefault(a);if(a.type!=="keydown"&&a.button){return}if(!b.disabled){b.doToggle();b.maybeShowMenu(a);b.fireHandler(a)}},doPreventDefault:function(a){if(a&&(this.preventDefault||(this.disabled&&this.getHref()))){a.preventDefault()}},fireHandler:function(a){var b=this;if(b.fireEvent("click",b,a)!==false&&!b.isDestroyed){Ext.callback(b.handler,b.scope,[b,a],0,b)}},doToggle:function(){var a=this;if(a.enableToggle&&(a.allowDepress!==false||!a.pressed)){a.toggle()}},onMouseOver:function(a){var b=this;if(!b.disabled&&!a.within(b.el,true,true)){b.onMouseEnter(a)}},onMouseOut:function(a){var b=this;if(!a.within(b.el,true,true)){if(b.overMenuTrigger){b.onMenuTriggerOut(a)}b.onMouseLeave(a)}},onMouseMove:function(a){var b=this,c=b.overMenuTrigger;if(b.split){if(b.isWithinTrigger(a)){if(!c){b.onMenuTriggerOver(a)}}else{if(c){b.onMenuTriggerOut(a)}}}},isWithinTrigger:function(a){var c=this,b=c.el,d,g;d=(c.arrowAlign==="right")?a.getX()-c.getX():a.getY()-b.getY();g=c.getTriggerRegion();return d>g.begin&&d<g.end},getTriggerRegion:function(){var d=this,e=d._triggerRegion,c=d.arrowAlign==="right",b=c?"getRight":"getBottom",a=c?d.getWidth():d.getHeight();e.begin=a-(d.el[b]()-d.btnEl[b]());e.end=a;return e},onMouseEnter:function(a){this.fireEvent("mouseover",this,a)},onMouseLeave:function(a){this.fireEvent("mouseout",this,a)},onMenuTriggerOver:function(b){var c=this,a=c.arrowTooltip;c.overMenuTrigger=true;if(c.split&&a){c.btnWrap.dom.setAttribute(c.getTipAttr(),a)}c.fireEvent("menutriggerover",c,c.menu,b)},onMenuTriggerOut:function(a){var b=this;delete b.overMenuTrigger;if(b.split&&b.arrowTooltip){b.btnWrap.dom.setAttribute(b.getTipAttr(),"")}b.fireEvent("menutriggerout",b,b.menu,a)},onEnable:function(){var d=this,b=d.href,c=d.hrefTarget,a=d.el.dom;d.callParent();d.removeCls(d._disabledCls);a.setAttribute("tabindex",d.tabIndex);if(b){a.href=b}if(c){a.target=c}},onDisable:function(){var b=this,a=b.el.dom;b.callParent();b.addCls(b._disabledCls);b.removeCls(b.overCls);a.removeAttribute("tabindex");if(b.href){a.removeAttribute("href")}if(b.hrefTarget){a.removeAttribute("target")}},setScale:function(b){var a=this,c=a.ui.replace("-"+a.scale,"");if(!Ext.Array.contains(a.allowedScales,b)){throw ("#setScale: scale must be an allowed scale ("+a.allowedScales.join(", ")+")")}a.scale=b;a.setUI(c)},setUI:function(b){var a=this;if(a.scale&&!b.match(a.scale)){b=b+"-"+a.scale}a.callParent([b])},onMouseDown:function(a){var b=this;if(Ext.isIE||a.pointerType==="touch"){Ext.defer(function(){if(!a.defaultPrevented){var c=b.getFocusEl();if(c){c.focus()}}},1)}if(!b.disabled&&a.button===0){Ext.button.Manager.onButtonMousedown(b,a);b.addCls(b._pressedCls)}},onMouseUp:function(a){var b=this;if(!b.isDestroyed&&a.button===0){if(!b.pressed){b.removeCls(b._pressedCls)}}},onMenuShow:function(){var a=this;a.addCls(a._menuActiveCls);a.fireEvent("menushow",a,a.menu)},onMenuHide:function(a){var b=this;b.removeCls(b._menuActiveCls);b.fireEvent("menuhide",b,b.menu)},onDownKey:function(b,a){var c=this;if(c.menu&&!c.disabled){c.showMenu(a);a.stopEvent();return false}},updateArrowVisible:function(b){var a=this;if(a.rendered){if(b){if(a.menu||a.isSplitButton){a.split=true;a._addSplitCls()}}else{a._removeSplitCls();a.split=false}}return b},privates:{addOverCls:function(){if(!this.disabled){this.addCls(this.overCls)}},_addSplitCls:function(){var a=this;a.btnWrap.addCls(a.getSplitCls());if(Ext.isOpera12m){a.addCls(a._operaArrowCls+"-"+a.arrowAlign)}},getFocusEl:function(){return this.el},getTdCls:function(){return Ext.baseCSSPrefix+"button-"+this.ui+"-"+this.scale+"-cell"},removeOverCls:function(){this.removeCls(this.overCls)},_removeSplitCls:function(){var a=this;a.btnWrap.removeCls(a.getSplitCls());if(Ext.isOpera12m){a.removeCls(a._operaArrowCls+"-"+a.arrowAlign)}},_syncHasIconCls:function(){var c=this,a=c.btnEl,b=c._hasIconCls;if(a){a[c._hasIcon()?"addCls":"removeCls"]([b,b+"-"+c.iconAlign])}},_hasIcon:function(){return !!(this.icon||this.iconCls||this.glyph)},wrapPrimaryEl:function(a){this.el=new Ext.dom.ButtonElement(a);this.callParent([a])}}});Ext.define("Ext.button.Split",{alias:"widget.splitbutton",extend:Ext.button.Button,alternateClassName:"Ext.SplitButton",isSplitButton:true,arrowCls:"split",split:true,setArrowHandler:function(a,b){this.arrowHandler=a;this.scope=b},onClick:function(a){var b=this;b.doPreventDefault(a);if(!b.disabled){if(b.isWithinTrigger(a)){a.preventDefault();b.maybeShowMenu(a);b.fireEvent("arrowclick",b,a);if(b.arrowHandler){b.arrowHandler.call(b.scope||b,b,a)}}else{b.doToggle();b.fireHandler(a)}}}});Ext.define("Ext.button.Cycle",{alias:"widget.cycle",extend:Ext.button.Split,alternateClassName:"Ext.CycleButton",getButtonText:function(a){var b=this,c="";if(a&&b.showText===true){if(b.prependText){c+=b.prependText}c+=a.text;return c}return b.text},setActiveItem:function(d,g){var e=this,a=e.changeHandler,c=e.forceIcon,b=e.forceGlyph;e.settingActive=true;if(!Ext.isObject(d)){d=e.menu.getComponent(d)}if(d){e.setText(e.getButtonText(d));e.setIconCls(c?c:d.iconCls);e.setGlyph(b?b:d.glyph);e.activeItem=d;if(!d.checked){d.setChecked(true,false)}if(!g){if(a){Ext.callback(a,e.scope,[e,d],0,e)}e.fireEvent("change",e,d)}}e.settingActive=false},getActiveItem:function(){return this.activeItem},initComponent:function(){var g=this,a=0,e,b,c,d;e=(g.menu.items||[]).concat(g.items||[]);g.menu=Ext.applyIf({cls:Ext.baseCSSPrefix+"cycle-menu",items:[]},g.menu);c=e.length;for(b=0;b<c;b++){d=e[b];d=Ext.applyIf({group:g.id,itemIndex:b,checkHandler:g.checkHandler,scope:g,checked:d.checked||false},d);g.menu.items.push(d);if(d.checked){a=b}}g.itemCount=g.menu.items.length;g.callParent(arguments);g.on("click",g.toggleSelected,g);g.setActiveItem(a,true)},checkHandler:function(a,b){if(b&&!this.settingActive){this.setActiveItem(a)}},toggleSelected:function(){var c=this,b=c.menu,a;a=c.activeItem.next(":not([disabled])")||b.items.getAt(0);a.setChecked(true)}});Ext.define("Ext.layout.container.SegmentedButton",{extend:Ext.layout.container.Container,alias:"layout.segmentedbutton",needsItemSize:false,setsItemSize:false,_btnRowCls:Ext.baseCSSPrefix+"segmented-button-row",getRenderTree:function(){var c=this,d=c.callParent(),a,b;if(c.owner.getVertical()){for(a=0,b=d.length;a<b;a++){d[a]={cls:c._btnRowCls,cn:d[a]}}}return d},getItemLayoutEl:function(b){var a=b.el.dom;return this.owner.getVertical()?a.parentNode:a},onDestroy:function(){if(this.rendered){var b=this.getRenderTarget(),a;while((a=b.last())){a.destroy()}}}});Ext.define("Ext.button.Segmented",{extend:Ext.container.Container,xtype:"segmentedbutton",config:{allowDepress:false,allowMultiple:false,allowToggle:true,vertical:false,defaultUI:"default"},beforeRenderConfig:{value:undefined},defaultBindProperty:"value",publishes:["value"],twoWayBindable:["value"],layout:"segmentedbutton",defaultType:"button",maskOnDisable:false,isSegmentedButton:true,baseCls:Ext.baseCSSPrefix+"segmented-button",itemCls:Ext.baseCSSPrefix+"segmented-button-item",_firstCls:Ext.baseCSSPrefix+"segmented-button-first",_lastCls:Ext.baseCSSPrefix+"segmented-button-last",_middleCls:Ext.baseCSSPrefix+"segmented-button-middle",applyValue:function(l,j){var h=this,a=h.getAllowMultiple(),c,b,m,k,e,d,g;m=(l instanceof Array)?l:(l==null)?[]:[l];k=(j instanceof Array)?j:(j==null)?[]:[j];h._isApplyingValue=true;if(!h.rendered){e=h.items.items;for(d=0,g=e.length;d<g;d++){b=e[d];if(b.pressed){c=b.value;if(c==null){c=h.items.indexOf(b)}if(!Ext.Array.contains(m,c)){m.push(c)}}}}g=m.length;if(g>1&&!a){Ext.Error.raise("Cannot set multiple values when allowMultiple is false")}for(d=0;d<g;d++){l=m[d];b=h._lookupButtonByValue(l);if(b){c=b.value;if((c!=null)&&c!==l){m[d]=c}if(!b.pressed){b.setPressed(true)}}else{Ext.Error.raise("Invalid value '"+l+"' for segmented button: '"+h.id+"'")}}l=a?m:g?m[0]:null;for(d=0,g=k.length;d<g;d++){j=k[d];if(!Ext.Array.contains(m,j)){h._lookupButtonByValue(j).setPressed(false)}}h._isApplyingValue=false;return l},beforeRender:function(){var a=this;a.addCls(a.baseCls+a._getClsSuffix());a._syncItemClasses(true);a.callParent()},onAdd:function(c){var g=this,h="_syncItemClasses";var d=g.items.items,e=d.length,b=0,j,a;if(c.ui==="default"&&!c.hasOwnProperty("ui")){a=g.getDefaultUI();if(a!=="default"){c.ui=a}}for(;b<e;b++){if(d[b]!==c){j=d[b].value;if(j!=null&&j===c.value){Ext.Error.raise("Segmented button '"+g.id+"' cannot contain multiple items with value: '"+j+"'")}}}g.mon(c,{hide:h,show:h,toggle:"_onItemToggle",scope:g});if(g.getAllowToggle()){c.enableToggle=true;if(!g.getAllowMultiple()){c.toggleGroup=g.getId();c.allowDepress=g.getAllowDepress()}}c.addCls(g.itemCls+g._getClsSuffix());g._syncItemClasses();g.callParent([c])},onRemove:function(a){var b=this;a.removeCls(b.itemCls+b._getClsSuffix());b._syncItemClasses();b.callParent([a])},beforeLayout:function(){if(Ext.isChrome){this.el.dom.offsetWidth}this.callParent()},updateDefaultUI:function(a){var d=this.items,c,b,e;if(this.rendered){Ext.Error.raise("Changing the ui config of a segmented button after render is not supported.")}else{if(d){if(d.items){d=d.items}for(b=0,e=d.length;b<e;b++){c=d[b];if(c.ui==="default"&&a!=="default"&&!c.hasOwnProperty("ui")){d[b].ui=a}}}}},updateAllowDepress:function(a,b){if(this.rendered&&(a!==b)){Ext.Error.raise("Changing the allowDepress config of a segmented button after render is not supported.")}},updateAllowMultiple:function(a,b){if(this.rendered&&(a!==b)){Ext.Error.raise("Changing the allowMultiple config of a segmented button after render is not supported.")}},updateAllowToggle:function(a,b){if(this.rendered&&(a!==b)){Ext.Error.raise("Changing the allowToggle config of a segmented button after render is not supported.")}},updateVertical:function(a,b){if(this.rendered&&(a!==b)){Ext.Error.raise("Changing the orientation of a segmented button after render is not supported.")}},privates:{_getClsSuffix:function(){return this.getVertical()?"-vertical":"-horizontal"},_getFirstCls:function(){return this._firstCls},_getLastCls:function(){return this._lastCls},_lookupButtonByValue:function(h){var e=this.items.items,g=e.length,d=0,b=null,c,a;for(;d<g;d++){a=e[d];c=a.value;if((c!=null)&&c===h){b=a;break}}if(!b&&typeof h==="number"){b=e[h]}return b},_onItemToggle:function(c,g){if(this._isApplyingValue){return}var e=this,b=Ext.Array,a=e.allowMultiple,d=(c.value!=null)?c.value:e.items.indexOf(c),h=e.getValue(),i;if(a){i=b.indexOf(h,d)}if(g){if(a){if(i===-1){h.push(d)}}else{h=d}}else{if(a){if(i>-1){h.splice(i,1)}}else{if(h===d){h=null}}}e.setValue(h);e.fireEvent("toggle",e,c,g)},_syncItemClasses:function(b){var j=this,a,k,g,e,h,l,d,c;if(!b&&!j.rendered){return}a=j._getFirstCls();k=j._middleCls;g=j._getLastCls();e=j.items.items;h=e.length;l=[];for(c=0;c<h;c++){d=e[c];if(!d.hidden){l.push(d)}}h=l.length;for(c=0;c<h;c++){l[c].removeCls([a,k,g])}if(h>1){l[0].addCls(a);for(c=1;c<h-1;c++){l[c].addCls(k)}l[h-1].addCls(g)}}}});Ext.define("Ext.panel.Bar",{extend:Ext.container.Container,vertical:false,_verticalSides:{left:1,right:1},initComponent:function(){var a=this,b=a.vertical;a.dock=a.dock||(b?"left":"top");a.layout=Ext.apply(b?{type:"vbox",align:"middle",alignRoundingMethod:"ceil"}:{type:"hbox",align:"middle",alignRoundingMethod:"floor"},a.layout);this.callParent()},onAdded:function(a,c,b){this.initOrientation();this.callParent([a,c,b])},onRemoved:function(a){this.removeClsWithUI(this.uiCls);this.callParent([a])},beforeRender:function(){var a=this;if(a.forceOrientation||!a.ownerCt){a.initOrientation()}a.callParent()},setDock:function(a){var c=this,b,d;if(a!==c.dock){Ext.suspendLayouts();c.clearOrientation();c.callParent([a]);c.initOrientation();d=c.vertical;b=c.layout;b.setVertical(d);b.setAlignRoundingMethod(d?"ceil":"floor");Ext.resumeLayouts(true)}},privates:{clearOrientation:function(){this.removeClsWithUI([this.vertical?"vertical":"horizontal",this.getDockName()])},getDockName:function(){return this.dock},initOrientation:function(){var b=this,a=b.dock,c=(b.vertical=(a?a in b._verticalSides:b.vertical));b.addClsWithUI([c?"vertical":"horizontal",b.getDockName()])}}});Ext.define("Ext.panel.Title",{extend:Ext.Component,xtype:"title",isTitle:true,noWrap:true,textAlign:"left",iconAlign:"left",rotation:0,text:"&#160;",beforeRenderConfig:{textAlign:null,text:null,glyph:null,icon:null,iconAlign:null,iconCls:null,rotation:null},autoEl:{unselectable:"on"},childEls:["textEl","iconEl","iconWrapEl"],renderTpl:'<tpl if="iconMarkup && iconBeforeTitle">{iconMarkup}</tpl><div id="{id}-textEl" data-ref="textEl" class="{textCls} {textCls}-{ui} {itemCls}{childElCls}" unselectable="on"<tpl if="headerRole"> role="{headerRole}"</tpl>>{text}</div><tpl if="iconMarkup && !iconBeforeTitle">{iconMarkup}</tpl>',iconTpl:'<div id="{id}-iconWrapEl" data-ref="iconWrapEl" role="presentation" class="{iconWrapCls} {iconWrapCls}-{ui} {iconAlignCls} {itemCls}{childElCls}"<tpl if="iconWrapStyle"> style="{iconWrapStyle}"</tpl>><div id="{id}-iconEl" data-ref="iconEl" role="presentation" unselectable="on" class="{baseIconCls} {baseIconCls}-{ui} {iconCls} {glyphCls}" style="<tpl if="iconUrl">background-image:url({iconUrl});</tpl><tpl if="glyph && glyphFontFamily">font-family:{glyphFontFamily};</tpl>"><tpl if="glyph">&#{glyph};</tpl><tpl if="iconCls || iconUrl">&#160;</tpl></div></div>',_textAlignClasses:{left:Ext.baseCSSPrefix+"title-align-left",center:Ext.baseCSSPrefix+"title-align-center",right:Ext.baseCSSPrefix+"title-align-right"},_iconAlignClasses:{top:Ext.baseCSSPrefix+"title-icon-top",right:Ext.baseCSSPrefix+"title-icon-right",bottom:Ext.baseCSSPrefix+"title-icon-bottom",left:Ext.baseCSSPrefix+"title-icon-left"},_rotationClasses:{0:Ext.baseCSSPrefix+"title-rotate-none",1:Ext.baseCSSPrefix+"title-rotate-right",2:Ext.baseCSSPrefix+"title-rotate-left"},_rotationAngles:{1:90,2:270},baseCls:Ext.baseCSSPrefix+"title",_titleSuffix:"-title",_glyphCls:Ext.baseCSSPrefix+"title-glyph",_iconWrapCls:Ext.baseCSSPrefix+"title-icon-wrap",_baseIconCls:Ext.baseCSSPrefix+"title-icon",_itemCls:Ext.baseCSSPrefix+"title-item",_textCls:Ext.baseCSSPrefix+"title-text",afterComponentLayout:function(){var d=this,e=d.getRotation(),b,c,a;if(e&&!Ext.isIE8){a=d.el;b=d.lastBox;c=b.x;a.setStyle(d._getVerticalAdjustDirection(),(c+((e===1)?b.width:-b.height))+"px")}this.callParent()},onRender:function(){var b=this,c=b.getRotation(),a=b.el;b.callParent();if(c){a.setVertical(b._rotationAngles[c])}if(Ext.supports.FixedTableWidthBug){a._needsTableWidthFix=true}},applyText:function(a){if(!a){a="&#160;"}return a},beforeRender:function(){var a=this;a.callParent();a.addCls(a._rotationClasses[a.getRotation()]);a.addCls(a._textAlignClasses[a.getTextAlign()])},getIconMarkup:function(){return this.getTpl("iconTpl").apply(this.getIconRenderData())},getIconRenderData:function(){var h=this,d=h.getIcon(),g=h.getIconCls(),a=h.getGlyph(),b=Ext._glyphFontFamily,e=h.getIconAlign(),c;if(typeof a==="string"){c=a.split("@");a=c[0];b=c[1]}return{id:h.id,ui:h.ui,itemCls:h._itemCls,iconUrl:d,iconCls:g,iconWrapCls:h._iconWrapCls,baseIconCls:h._baseIconCls,iconAlignCls:h._iconAlignClasses[e],glyph:a,glyphCls:a?h._glyphCls:"",glyphFontFamily:b}},initRenderData:function(){var b=this,a,c;c=Ext.apply({text:b.getText(),headerRole:b.headerRole,id:b.id,ui:b.ui,itemCls:b._itemCls,textCls:b._textCls,iconMarkup:null,iconBeforeTitle:null},b.callParent());if(b._hasIcon()){a=b.getIconAlign();c.iconMarkup=b.getIconMarkup();c.iconBeforeTitle=(a==="top"||a==="left")}return c},onAdded:function(b,e,c){var d=this,g=d._titleSuffix,a=b.baseCls;d.addCls([a+g,a+g+"-"+b.ui]);d.callParent([b,e,c])},updateGlyph:function(b,h){b=b||0;var g=this,c=g._glyphCls,e,a,d;g.glyph=b;if(g.rendered){g._syncIconVisibility();e=g.iconEl;if(typeof b==="string"){d=b.split("@");b=d[0];a=d[1]||Ext._glyphFontFamily}if(!b){e.dom.innerHTML="";e.removeCls(c)}else{if(h!==b){e.dom.innerHTML="&#"+b+";";e.addCls(c)}}if(a){e.setStyle("font-family",a)}if(g._didIconStateChange(h,b)){g.updateLayout()}}},updateIcon:function(a,d){a=a||"";var c=this,b;if(c.rendered&&a!==d){c._syncIconVisibility();b=c.iconEl;b.setStyle("background-image",a?"url("+a+")":"");if(c._didIconStateChange(d,a)){c.updateLayout()}}},updateIconAlign:function(a,g){var e=this,d=e.iconWrapEl,b,c;if(e.iconWrapEl){b=e.el;c=e._iconAlignClasses;if(g){d.removeCls(c[g])}d.addCls(c[a]);if(a==="top"||a==="left"){b.insertFirst(d)}else{b.appendChild(d)}e.updateLayout()}},updateIconCls:function(a,d){a=a||"";var c=this,b;if(c.rendered&&d!==a){c._syncIconVisibility();b=c.iconEl;if(d){b.removeCls(d)}b.addCls(a);if(c._didIconStateChange(d,a)){c.updateLayout()}}},updateRotation:function(d,c){var b=this,a,e;if(b.rendered){a=b.el;e=b._rotationClasses;b.removeCls(e[c]);b.addCls(e[d]);a.setHorizontal();if(d){a.setVertical(b._rotationAngles[d])}a.setStyle({right:"",left:"",top:"",height:"",width:""});b.lastBox=null;b.updateLayout()}},updateText:function(a){if(this.rendered){this.textEl.setHtml(a);this.updateLayout()}},updateTextAlign:function(a,c){var b=this,d=b._textAlignClasses;if(b.rendered){if(c){b.removeCls(d[c])}b.addCls(d[a]);b.updateLayout()}},privates:{_getVerticalAdjustDirection:function(){return"left"},_didIconStateChange:function(c,a){var b=Ext.isEmpty(a);return Ext.isEmpty(c)?!b:b},_hasIcon:function(){return !!(this.getIcon()||this.getIconCls()||this.getGlyph())},_syncIconVisibility:function(){var g=this,a=g.el,b=g._hasIcon(),d=g.iconWrapEl,e,c;if(b&&!d){c=g.iconAlign;e=(c==="left"||c==="top");a.dom.insertAdjacentHTML(e?"afterbegin":"beforeend",g.getIconMarkup());d=g.iconWrapEl=a[e?"first":"last"]();g.iconEl=d.first()}if(d){d.setDisplayed(b)}}}});Ext.define("Ext.panel.Tool",{extend:Ext.Component,xtype:"tool",isTool:true,focusable:true,baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",childEls:["toolEl"],renderTpl:['<img id="{id}-toolEl" data-ref="toolEl" src="{blank}" class="{baseCls}-img {baseCls}-{type}{childElCls}" role="presentation"/>'],toolOwner:null,tooltipType:"qtip",stopEvent:true,cacheHeight:true,cacheWidth:true,_toolTypes:{close:1,collapse:1,down:1,expand:1,gear:1,help:1,left:1,maximize:1,minimize:1,minus:1,next:1,pin:1,plus:1,prev:1,print:1,refresh:1,restore:1,right:1,save:1,search:1,toggle:1,unpin:1,up:1},initComponent:function(){var a=this;if(a.id&&a._toolTypes[a.id]){Ext.Error.raise("When specifying a tool you should use the type option, the id can conflict now that tool is a Component")}a.type=a.type||a.id;Ext.applyIf(a.renderData,{baseCls:a.baseCls,blank:Ext.BLANK_IMAGE_URL,type:a.type});a.tooltip=a.tooltip||a.qtip;a.callParent()},afterRender:function(){var a=this,b;a.callParent(arguments);a.el.on({click:a.onClick,mousedown:a.onMouseDown,mouseover:a.onMouseOver,mouseout:a.onMouseOut,scope:a});b=a.tooltip;if(b){a.setTooltip(b)}},tipAttrs:{qtip:"data-qtip"},setTooltip:function(h,i){var d=this,e=d.tooltip,g=d.tooltipType,c=d.id,b=d.el,a;if(e&&Ext.quickTipsActive&&Ext.isObject(e)){Ext.tip.QuickTipManager.unregister(c)}d.tooltip=h;if(i){d.tooltipType=i}if(h){if(Ext.quickTipsActive&&Ext.isObject(h)){Ext.tip.QuickTipManager.register(Ext.apply({target:c},h))}else{if(b){if(i&&g&&i!==g){a=d.tipAttrs[g]||"title";b.dom.removeAttribute(a)}a=d.tipAttrs[i||g]||"title";b.dom.setAttribute(a,h)}}}},setType:function(c){var a=this,b=a.type;a.type=c;if(a.rendered){if(b){a.toolEl.removeCls(a.baseCls+"-"+b)}a.toolEl.addCls(a.baseCls+"-"+c)}else{a.renderData.type=c}return a},onDestroy:function(){var b=this,a=b.keyMap;b.setTooltip(null);if(a){a.destroy();b.keyMap=null}delete b.toolOwner;b.callParent()},privates:{getFocusEl:function(){return this.el},onClick:function(a,c){var b=this;if(b.disabled){return false}b.el.removeCls(b.toolPressedCls+" "+b.toolOverCls);if(b.stopEvent!==false){a.stopEvent()}if(b.handler){Ext.callback(b.handler,b.scope,[a,c,b.ownerCt,b],0,b)}else{if(b.callback){Ext.callback(b.callback,b.scope,[b.toolOwner||b.ownerCt,b,a],0,b)}}b.fireEvent("click",b,a,b.toolOwner||b.ownerCt);return true},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}}});Ext.define("Ext.panel.Header",{extend:Ext.panel.Bar,xtype:"header",isHeader:true,defaultType:"tool",indicateDrag:false,weight:-1,shrinkWrap:3,iconAlign:"left",titleAlign:"left",titlePosition:0,titleRotation:"default",beforeRenderConfig:{glyph:null,icon:null,iconCls:null,iconAlign:null,title:{$value:{ariaRole:"presentation",xtype:"title",flex:1},merge:function(a,b){if(typeof a!=="object"){a={text:a}}return Ext.merge(b?Ext.Object.chain(b):{},a)}},titleAlign:null,titlePosition:null,titleRotation:null},headerCls:Ext.baseCSSPrefix+"header",initComponent:function(){var d=this,c=d.items,b=d.itemPosition,a=[d.headerCls];d.tools=d.tools||[];d.items=c=(c?c.slice():[]);if(b!==undefined){d._userItems=c.slice();d.items=c=[]}d.indicateDragCls=d.headerCls+"-draggable";if(d.indicateDrag){a.push(d.indicateDragCls)}d.addCls(a);d.syncNoBorderCls();Ext.Array.push(c,d.tools);d.tools.length=0;d.callParent();d.on({dblclick:d.onDblClick,click:d.onClick,element:"el",scope:d})},addTool:function(a){this.add(Ext.ComponentManager.create(a,"tool"))},afterLayout:function(){var d=this,a,c,b,e;if(d.vertical){c=d.frameTR;if(c){a=d.frameBR;b=d.frameTL;e=(d.getWidth()-c.getPadding("r")-((b)?b.getPadding("l"):d.el.getBorderWidth("l")))+"px";a.setStyle("background-position-x",e);c.setStyle("background-position-x",e)}}this.callParent()},applyTitle:function(e,d){var c=this,b,a;e=e||"";b=typeof e==="string";if(b){e={text:e}}if(d){Ext.suspendLayouts();d.setConfig(e);Ext.resumeLayouts(true);e=d}else{if(b){e.xtype="title"}e.ui=c.ui;e.headerRole=c.headerRole;a=("rotation" in e);e=Ext.create(e);if(!a&&c.vertical&&c.titleRotation==="default"){e.rotation=1}}return e},applyTitlePosition:function(b){var a=this.items.getCount();if(this._titleInItems){--a}return Math.max(Math.min(b,a),0)},beforeLayout:function(){this.callParent();this.syncBeforeAfterTitleClasses()},beforeRender:function(){var b=this,a=b.itemPosition;b.protoEl.unselectable();b.callParent();if(a!==undefined){b.insert(a,b._userItems)}},getTools:function(){return this.tools.slice()},onAdd:function(a,b){var c=this.tools;this.callParent([a,b]);if(a.isTool){c.push(a);c[a.type]=a}},onAdded:function(a,c,b){this.syncNoBorderCls();this.callParent([a,c,b])},onRemoved:function(a,c,b){this.syncNoBorderCls();this.callParent([a,c,b])},setDock:function(a){var b=this,d=b.getTitle(),c=b.getTitleRotation(),e=d.getRotation();Ext.suspendLayouts();b.callParent([a]);if(c==="default"){c=(b.vertical?1:0);if(c!==e){d.setRotation(c)}if(b.rendered){b.resetItemMargins()}}Ext.resumeLayouts(true)},updateGlyph:function(a){this.getTitle().setGlyph(a)},updateIcon:function(a){this.getTitle().setIcon(a)},updateIconAlign:function(a,b){this.getTitle().setIconAlign(a)},updateIconCls:function(a){this.getTitle().setIconCls(a)},updateTitle:function(b,a){if(!a){this.insert(this.getTitlePosition(),b);this._titleInItems=true}this.titleCmp=b},updateTitleAlign:function(a,b){this.getTitle().setTextAlign(a)},updateTitlePosition:function(a){this.insert(a,this.getTitle())},updateTitleRotation:function(a){if(a==="default"){a=(this.vertical?1:0)}this.getTitle().setRotation(a)},privates:{fireClickEvent:function(c,a){var b="."+Ext.panel.Tool.prototype.baseCls;if(!a.getTarget(b)){this.fireEvent(c,this,a)}},getFocusEl:function(){return this.el},getFramingInfoCls:function(){var b=this,a=b.callParent(),c=b.ownerCt;if(!b.expanding&&c&&(c.collapsed||b.isCollapsedExpander)){a+="-"+c.collapsedCls}return a+"-"+b.dock},onClick:function(a){this.fireClickEvent("click",a)},onDblClick:function(a){this.fireClickEvent("dblclick",a)},syncBeforeAfterTitleClasses:function(d){var l=this,k=l.items,c=k.items,n=l.getTitlePosition(),h=c.length,j=k.generation,m=l.syncBeforeAfterGen,a,b,e,g;if(!d&&(m===j)){return}l.syncBeforeAfterGen=j;for(e=0;e<h;++e){g=c[e];a=g.afterTitleCls||(g.afterTitleCls=g.baseCls+"-after-title");b=g.beforeTitleCls||(g.beforeTitleCls=g.baseCls+"-before-title");if(!l.title||e<n){if(m){g.removeCls(a)}g.addCls(b)}else{if(e>n){if(m){g.removeCls(b)}g.addCls(a)}}}},syncNoBorderCls:function(){var a=this,c=this.ownerCt,b=a.headerCls+"-noborder";if(c?(c.border===false&&!c.frame):a.border===false){a.addCls(b)}else{a.removeCls(b)}}}});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",alias:["box.overflow.none","box.overflow.None"],mixins:[Ext.mixin.Factoryable],factoryConfig:{defaultType:"none"},isBoxOverflowHandler:true,$configPrefixed:false,$configStrict:false,constructor:function(a){this.initConfig(a)},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,beginLayout:Ext.emptyFn,beginLayoutCycle:Ext.emptyFn,calculate:function(c){var a=this,d=c.state.boxPlan,b;if(d&&d.tooNarrow){b=a.handleOverflow(c);if(b){if(b.reservedSpace){a.layout.publishInnerCtSize(c,b.reservedSpace)}}}else{a.clearOverflow()}},completeLayout:Ext.emptyFn,finishedLayout:function(e){var c=this,d=c.layout.owner,b,a;if(d.hasListeners.overflowchange){b=d.query(">[hidden]");a=b.length;if(a!==c.lastHiddenCount){d.fireEvent("overflowchange",c.lastHiddenCount,a,b);c.lastHiddenCount=a}}},onRemove:Ext.emptyFn,getItem:function(a){return this.layout.owner.getComponent(a)},getOwnerType:function(a){var b;if(a.isToolbar){b="toolbar"}else{if(a.isTabBar){b="tab-bar"}else{if(a.isMenu){b="menu"}else{if(a.isBreadcrumb){b="breadcrumb"}else{b=a.getXType()}}}}return b},getPrefixConfig:Ext.emptyFn,getSuffixConfig:Ext.emptyFn,getOverflowCls:function(){return""},setVertical:function(){var c=this,b=c.layout,a=b.innerCt;a.removeCls(c.getOverflowCls(b.oppositeDirection));a.addCls(c.getOverflowCls(b.direction))}});Ext.define("Ext.layout.container.boxOverflow.Scroller",{extend:Ext.layout.container.boxOverflow.None,alternateClassName:"Ext.layout.boxOverflow.Scroller",alias:["box.overflow.scroller","box.overflow.Scroller"],mixins:{observable:Ext.mixin.Observable},animateScroll:false,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",beforeSuffix:"-before-scroller",afterSuffix:"-after-scroller",constructor:function(a){var b=this;b.mixins.observable.constructor.call(b,a);b.scrollPosition=0;b.scrollSize=0},getPrefixConfig:function(){return{role:"presentation",id:this.layout.owner.id+this.beforeSuffix,cls:this.createScrollerCls("beforeX"),style:"display:none"}},getSuffixConfig:function(){return{role:"presentation",id:this.layout.owner.id+this.afterSuffix,cls:this.createScrollerCls("afterX"),style:"display:none"}},createScrollerCls:function(h){var c=this,b=c.layout,d=b.owner,g=c.getOwnerType(d),e=c.scrollerCls,a=e+" "+e+"-"+b.names[h]+" "+e+"-"+g+" "+e+"-"+g+"-"+d.ui;if(d.plain){a+=" "+e+"-plain"}return a},getOverflowCls:function(a){return this.scrollerCls+"-body-"+a},beginLayout:function(a){a.innerCtScrollPos=this.getScrollPosition();this.callParent(arguments)},finishedLayout:function(e){var c=this,g=e.state.boxPlan,b=c.layout,d=b.names,h=Math.min(c.getMaxScrollPosition(),e.innerCtScrollPos),a;if(g&&g.tooNarrow){a=e.childItems[e.childItems.length-1].props;c.scrollSize=a[d.x]+a[d.width];c.updateScrollButtons()}b.innerCt[d.setScrollLeft](h);this.callParent([e])},handleOverflow:function(g){var d=this,e=d.layout.names,c=e.getWidth,h=e.parallelMargins,i,j,b,a;d.showScrollers();b=d.getBeforeScroller();a=d.getAfterScroller();i=b[c]()+a[c]()+b.getMargin(h)+a.getMargin(h);j=g.targetContext.getPaddingInfo()[e.width];return{reservedSpace:Math.max(i-j,0)}},getBeforeScroller:function(){var a=this;return a._beforeScroller||(a._beforeScroller=a.createScroller(a.beforeSuffix,"beforeRepeater","scrollLeft"))},getAfterScroller:function(){var a=this;return a._afterScroller||(a._afterScroller=a.createScroller(a.afterSuffix,"afterRepeater","scrollRight"))},createScroller:function(h,c,g){var a=this,b=a.layout.owner,d=a.scrollerCls,e;e=b.el.getById(b.id+h);e.addClsOnOver(d+"-hover");e.addClsOnClick(d+"-pressed");e.setVisibilityMode(Ext.Element.DISPLAY);a[c]=new Ext.util.ClickRepeater(e,{interval:a.scrollRepeatInterval,handler:g,scope:a});return e},createWheelListener:function(){var a=this;a.wheelListener=a.layout.innerCt.on("mousewheel",a.onMouseWheel,a,{destroyable:true})},onMouseWheel:function(a){a.stopEvent();this.scrollBy(this.getWheelDelta(a)*this.wheelIncrement*-1,false)},getWheelDelta:function(a){return a.getWheelDelta()},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){var a=this;if(!a.wheelListener){a.createWheelListener()}a.getBeforeScroller().show();a.getAfterScroller().show();a.layout.owner.addClsWithUI(a.layout.direction==="vertical"?"vertical-scroller":"scroller")},hideScrollers:function(){var c=this,b=c.getBeforeScroller(),a=c.getAfterScroller();if(b){b.hide();a.hide();c.layout.owner.removeClsWithUI(c.layout.direction==="vertical"?"vertical-scroller":"scroller")}},destroy:function(){Ext.destroyMembers(this,"beforeRepeater","afterRepeater","_beforeScroller","_afterScroller","wheelListener")},scrollBy:function(b,a){this.scrollTo(this.getScrollPosition()+b,a)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){var d=this,b=d.getBeforeScroller(),a=d.getAfterScroller(),c;if(!b||!a){return}c=d.scrollerCls+"-disabled";b[d.atExtremeBefore()?"addCls":"removeCls"](c);a[d.atExtremeAfter()?"addCls":"removeCls"](c);d.scrolling=false},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,false)},scrollRight:function(){this.scrollBy(this.scrollIncrement,false)},getScrollPosition:function(){var b=this,a=b.layout,c;if(isNaN(b.scrollPosition)){c=a.innerCt[a.names.getScrollLeft]()}else{c=b.scrollPosition}return c},getMaxScrollPosition:function(){var c=this,a=c.layout,b=c.scrollSize-a.innerCt[a.names.getWidth]();return(b<0)?0:b},atExtremeBefore:function(){return !this.getScrollPosition()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},setVertical:function(){var c=this,b=c.getBeforeScroller(),a=c.getAfterScroller(),d=c.layout.names,e=c.scrollerCls;b.removeCls(e+"-"+d.beforeY);a.removeCls(e+"-"+d.afterY);b.addCls(e+"-"+d.beforeX);a.addCls(e+"-"+d.afterX);this.callParent()},scrollTo:function(h,a){var c=this,b=c.layout,d=b.names,g=c.getScrollPosition(),e=Ext.Number.constrain(h,0,c.getMaxScrollPosition());if(e!==g&&!c.scrolling){c.scrollPosition=NaN;if(a===undefined){a=c.animateScroll}b.innerCt[d.scrollTo](d.beforeScrollX,e,a?c.getScrollAnim():false);if(a){c.scrolling=true}else{c.updateScrollButtons()}c.fireEvent("scroll",c,e,a?c.getScrollAnim():false)}},scrollToItem:function(d,a){var g=this,e=g.layout,j=e.owner,h=e.names,c=e.innerCt,k,b,i;d=g.getItem(d);if(d!==undefined){if(d===j.items.first()){i=0}else{if(d===j.items.last()){i=g.getMaxScrollPosition()}else{k=g.getItemVisibility(d);if(!k.fullyVisible){b=d.getBox(false,true);i=b[h.x];if(k.hiddenEnd){i-=(c[h.getWidth]()-b[h.width])}}}}if(i!==undefined){g.scrollTo(i,a)}}},getItemVisibility:function(b){var g=this,a=g.getItem(b).getBox(true,true),e=g.layout,h=e.names,d=a[h.x],c=d+a[h.width],j=g.getScrollPosition(),i=j+e.innerCt[h.getWidth]();return{hiddenStart:d<j,hiddenEnd:c>i,fullyVisible:d>=j&&c<=i}}});Ext.define("Ext.dd.DragDropManager",{singleton:true,alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,notifyOccluded:false,dragCls:Ext.baseCSSPrefix+"dd-drag-current",_execOnAll:function(h,a){var c=this.ids,b,e,g,d;for(b in c){if(c.hasOwnProperty(b)){d=c[b];for(e in d){if(d.hasOwnProperty(e)){g=d[e];if(!this.isTypeOfDD(g)){continue}g[h].apply(g,a)}}}}},addListeners:function(){var a=this;a.init();Ext.getDoc().on({mouseup:a.handleMouseUp,mousemove:{fn:a.handleMouseMove,capture:false},dragstart:a.preventDrag,drag:a.preventDrag,dragend:a.preventDrag,capture:true,scope:a});Ext.getWin().on({unload:a._onUnload,resize:a._onResize,scope:a})},preventDrag:function(a){if(this.isMouseDown){a.stopPropagation()}},_onResize:function(a){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:8,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(a,b){if(!this.initialized){this.init()}if(!this.ids[b]){this.ids[b]={}}this.ids[b][a.id]=a},removeDDFromGroup:function(b,c){if(!this.ids[c]){this.ids[c]={}}var a=this.ids[c];if(a&&a[b.id]){delete a[b.id]}},_remove:function(h,a){var e=this,d=e.ids,c=h.groups,b;if(e.clearingAll){return}if(e.dragCurrent===h){e.dragCurrent=null}for(b in c){if(c.hasOwnProperty(b)){if(a){delete d[b]}else{if(d[b]){delete d[b][h.id]}}}}delete e.handleIds[h.id]},regHandle:function(a,b){if(!this.handleIds[a]){this.handleIds[a]={}}this.handleIds[a][b]=b},isDragDrop:function(a){return(this.getDDById(a))?true:false},getRelated:function(g,a){var e=[],c,d,b;for(c in g.groups){for(d in this.ids[c]){b=this.ids[c][d];if(!this.isTypeOfDD(b)){continue}if(!a||b.isTarget){e[e.length]=b}}}return e},isLegalTarget:function(c,d){var e=this.getRelated(c,true),a,b;for(a=0,b=e.length;a<b;++a){if(e[a].id===d.id){return true}}return false},isTypeOfDD:function(a){return(a&&a.__ygDragDrop)},isHandle:function(a,b){return(this.handleIds[a]&&this.handleIds[a][b])},getDDById:function(d,b){var c,a;for(c in this.ids){a=this.ids[c][d];if(a instanceof Ext.dd.DDTarget||b){return a}}return null},handleMouseDown:function(a,d){var c=this,g,b;c.isMouseDown=true;if(Ext.quickTipsActive){Ext.tip.QuickTipManager.ddDisable()}c.currentPoint=a.getPoint();if(c.dragCurrent){c.handleMouseUp(a)}c.mousedownEvent=a;c.currentTarget=a.getTarget();c.dragCurrent=d;b=d.getEl();Ext.fly(b).setCapture();g=a.getXY();c.startX=g[0];c.startY=g[1];c.offsetX=c.offsetY=0;c.deltaX=c.startX-b.offsetLeft;c.deltaY=c.startY-b.offsetTop;c.dragThreshMet=false},startDrag:function(d,e){var c=this,a=c.dragCurrent,b;clearTimeout(c.clickTimeout);if(a){a.b4StartDrag(d,e);a.startDrag(d,e);b=a.getDragEl();if(b){Ext.fly(b).addCls(c.dragCls)}}c.dragThreshMet=true},handleMouseUp:function(a){var b=this;b.isMouseDown=false;if(Ext.quickTipsActive){Ext.tip.QuickTipManager.ddEnable()}if(!b.dragCurrent){return}if(Ext.isIE&&document.releaseCapture){document.releaseCapture()}clearTimeout(b.clickTimeout);if(b.dragThreshMet){b.fireEvents(a,true)}b.stopDrag(a);b.stopEvent(a)},stopEvent:function(a){if(this.stopPropagation){a.stopPropagation()}if(this.preventDefault){a.preventDefault()}},stopDrag:function(c){var d=this,a=d.dragCurrent,b;if(a){if(d.dragThreshMet){b=a.getDragEl();if(b){Ext.fly(b).removeCls(d.dragCls)}a.b4EndDrag(c);a.endDrag(c)}d.dragCurrent.onMouseUp(c)}d.dragCurrent=null;d.dragOvers={}},handleMouseMove:function(h){var i=this,a=i.dragCurrent,j=i.currentPoint=h.getPoint(),b=j.x,c=j.y,d,g;i.offsetX=b-i.startX;i.offsetY=c-i.startY;if(!a){return true}if(!i.dragThreshMet){d=Math.abs(i.offsetX);g=Math.abs(i.offsetY);if(d>i.clickPixelThresh||g>i.clickPixelThresh){i.startDrag(i.startX,i.startY)}}if(i.dragThreshMet){a.b4Drag(h);a.onDrag(h);if(!a.moveOnly){i.fireEvents(h,false)}}i.stopEvent(h);return true},fireEvents:function(j,m){var p=this,n=Ext.supports.Touch,d=p.dragCurrent,q=p.currentPoint,b=q.x,c=q.y,a=[],s=[],t=[],v=[],h=[],k=[],g,w,x,r,l,o,y,u;if(!d||d.isLocked()){return}u=!(d.deltaX<0||d.deltaY<0);if(n||(!p.notifyOccluded&&(!Ext.supports.CSSPointerEvents||Ext.isIE10m||Ext.isOpera)&&u)){g=d.getDragEl();if(u){g.style.visibility="hidden"}j.target=p.elementFromPoint(b,c);if(u){g.style.visibility="visible"}}for(l in p.dragOvers){w=p.dragOvers[l];delete p.dragOvers[l];if(!p.isTypeOfDD(w)||w.isDestroyed){continue}if(p.notifyOccluded){if(!this.isOverTarget(q,w,p.mode)){t.push(w)}}else{if(!j.within(w.getEl())){t.push(w)}}s[l]=true}for(y in d.groups){if("string"!==typeof y){continue}for(l in p.ids[y]){w=p.ids[y][l];if(p.isTypeOfDD(w)&&(x=w.getEl())&&(w.isTarget)&&(!w.isLocked())&&(Ext.fly(x).isVisible(true))&&((w!==d)||(d.ignoreSelf===false))){if(p.notifyOccluded){if((w.zIndex=p.getZIndex(x))!==-1){r=true}a.push(w)}else{if(j.within(w.getEl())){a.push(w);break}}}}}if(r){Ext.Array.sort(a,p.byZIndex)}for(l=0,o=a.length;l<o;l++){w=a[l];if(p.isOverTarget(q,w,p.mode)){if(m){h.push(w)}else{if(!s[w.id]){k.push(w)}else{v.push(w)}p.dragOvers[w.id]=w}if(!p.notifyOccluded){break}}}if(p.mode){if(t.length){d.b4DragOut(j,t);d.onDragOut(j,t)}if(k.length){d.onDragEnter(j,k)}if(v.length){d.b4DragOver(j,v);d.onDragOver(j,v)}if(h.length){d.b4DragDrop(j,h);d.onDragDrop(j,h)}}else{for(l=0,o=t.length;l<o;++l){d.b4DragOut(j,t[l].id);d.onDragOut(j,t[l].id)}for(l=0,o=k.length;l<o;++l){d.onDragEnter(j,k[l].id)}for(l=0,o=v.length;l<o;++l){d.b4DragOver(j,v[l].id);d.onDragOver(j,v[l].id)}for(l=0,o=h.length;l<o;++l){d.b4DragDrop(j,h[l].id);d.onDragDrop(j,h[l].id)}}if(m&&!h.length){d.onInvalidDrop(j)}},elementFromPoint:function(a,b){if(Ext.rootInheritedState.rtl){a=Ext.Element.getViewportWidth()-a}return document.elementFromPoint(a,b)},getZIndex:function(b){var a=document.body,c,d=-1;b=Ext.getDom(b);while(b!==a){if(!isNaN(c=Number(Ext.fly(b).getStyle("zIndex")))){d=c}b=b.parentNode}return d},byZIndex:function(a,b){return a.zIndex<b.zIndex},getBestMatch:function(b){var e=null,d=b.length,c,a;if(d===1){e=b[0]}else{for(c=0;c<d;++c){a=b[c];if(a.cursorIsOver){e=a;break}else{if(!e||e.overlap.getArea()<a.overlap.getArea()){e=a}}}}return e},refreshCache:function(a){var e,b,d,c;for(e in a){if("string"!==typeof e){continue}for(b in this.ids[e]){d=this.ids[e][b];if(this.isTypeOfDD(d)){c=this.getLocation(d);if(c){this.locationCache[d.id]=c}else{delete this.locationCache[d.id]}}}}},verifyEl:function(b){if(b){var c;if(Ext.isIE){try{c=b.offsetParent}catch(a){}}else{c=b.offsetParent}if(c){return true}}return false},getLocation:function(h){if(!this.isTypeOfDD(h)){return null}if(h.getRegion){return h.getRegion()}var d=h.getEl(),i,m,n,o,p,k,j,a,g;try{i=Ext.fly(d).getXY()}catch(c){}if(!i){return null}m=i[0];n=m+d.offsetWidth;o=i[1];p=o+d.offsetHeight;k=o-h.padding[0];j=n+h.padding[1];a=p+h.padding[2];g=m-h.padding[3];return new Ext.util.Region(k,j,a,g)},isOverTarget:function(j,g,d){var e=this.locationCache[g.id],b,i,c,a,h;if(!e||!this.useCache){e=this.getLocation(g);this.locationCache[g.id]=e}if(!e){return false}g.cursorIsOver=e.contains(j);b=this.dragCurrent;if(!b||!b.getTargetCoord||(!d&&!b.constrainX&&!b.constrainY)){return g.cursorIsOver}g.overlap=null;i=b.getTargetCoord(j.x,j.y);c=b.getDragEl();a=new Ext.util.Region(i.y,i.x+c.offsetWidth,i.y+c.offsetHeight,i.x);h=a.intersect(e);if(h){g.overlap=h;return(d)?true:g.cursorIsOver}else{return false}},_onUnload:function(a,b){Ext.dd.DragDropManager.unregAll()},unregAll:function(){var c=this,a=c.elementCache,b;if(c.dragCurrent){c.stopDrag();c.dragCurrent=null}c.clearingAll=true;c._execOnAll("unreg",[]);delete c.clearingAll;for(b in a){delete a[b]}c.elementCache={};c.ids={};c.handleIds={}},elementCache:{},getElWrapper:function(a){var b=this.elementCache[a];if(!b||!b.el){b=this.elementCache[a]=new this.ElementWrapper(Ext.getDom(a))}return b},getElement:function(a){return Ext.getDom(a)},getCss:function(b){var a=Ext.getDom(b);return(a)?a.style:null},ElementWrapper:function(a){this.el=a||null;this.id=this.el&&a.id;this.css=this.el&&a.style},getPosX:function(a){return Ext.fly(a).getX()},getPosY:function(a){return Ext.fly(a).getY()},swapNode:function(a,b){if(a.swapNode){a.swapNode(b)}else{var c=b.parentNode,d=b.nextSibling;if(d===a){c.insertBefore(a,b)}else{if(b===a.nextSibling){c.insertBefore(b,a)}else{a.parentNode.replaceChild(b,a);c.insertBefore(a,d)}}}},getScroll:function(){var b=window.document,c=b.documentElement,a=b.body,e=0,d=0;if(c&&(c.scrollTop||c.scrollLeft)){e=c.scrollTop;d=c.scrollLeft}else{if(a){e=a.scrollTop;d=a.scrollLeft}}return{top:e,left:d}},getStyle:function(a,b){return Ext.fly(a).getStyle(b)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(b,c){var a=Ext.fly(c).getXY();Ext.fly(b).setXY(a)},numericSort:function(c,d){return(c-d)},handleWasClicked:function(b,a){if(this.isHandle(a,b.id)){return true}else{var c=b.parentNode;while(c){if(this.isHandle(a,c.id)){return true}else{c=c.parentNode}}}return false}},function(a){Ext.onInternalReady(function(){a.addListeners()})});Ext.define("Ext.resizer.Splitter",{extend:Ext.Component,xtype:"splitter",childEls:["collapseEl"],renderTpl:['<tpl if="collapsible===true">','<div id="{id}-collapseEl" data-ref="collapseEl" role="presentation" class="',Ext.baseCSSPrefix,"collapse-el ",Ext.baseCSSPrefix,'layout-split-{collapseDir}{childElCls}">&#160;',"</div>","</tpl>"],isSplitter:true,baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",canResize:true,collapsible:null,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,collapseTarget:"next",horizontal:false,vertical:false,size:5,tracker:null,ariaRole:"separator",focusable:true,tabIndex:0,getTrackerConfig:function(){return Ext.apply({xclass:"Ext.resizer.SplitterTracker",el:this.el,splitter:this},this.tracker)},beforeRender:function(){var b=this,c=b.getCollapseTarget(),a=b.collapsible;b.callParent();if(c.collapsed){b.addCls(b.collapsedClsInternal)}if(!b.canResize){b.addCls(b.baseCls+"-noresize")}Ext.applyIf(b.renderData,{collapseDir:b.getCollapseDirection(),collapsible:(a!==null)?a:c.collapsible});b.protoEl.unselectable()},onRender:function(){var b=this,c,a;b.callParent(arguments);if(b.performCollapse!==false){if(b.renderData.collapsible){b.mon(b.collapseEl,"click",b.toggleTargetCmp,b)}if(b.collapseOnDblClick){b.mon(b.el,"dblclick",b.toggleTargetCmp,b)}}c=b.getCollapseTarget();if(c&&c.isPanel){c.on({collapse:b.onTargetCollapse,expand:b.onTargetExpand,beforeexpand:b.onBeforeTargetExpand,beforecollapse:b.onBeforeTargetCollapse,scope:b})}if(b.canResize){b.tracker=Ext.create(b.getTrackerConfig());b.relayEvents(b.tracker,["beforedragstart","dragstart","dragend"])}a=b.collapseEl;if(a){a.lastCollapseDirCls=b.collapseDirProps[b.collapseDirection].cls}},getCollapseDirection:function(){var e=this,b=e.collapseDirection,a,c,d,g;if(!b){a=e.collapseTarget;if(a.isComponent){b=a.collapseDirection}if(!b){g=e.ownerCt.layout.type;if(a.isComponent){d=e.ownerCt.items;c=Number(d.indexOf(a)===d.indexOf(e)-1)<<1|Number(g==="hbox")}else{c=Number(e.collapseTarget==="prev")<<1|Number(g==="hbox")}b=["bottom","right","top","left"][c]}e.collapseDirection=b}e.setOrientation((b==="top"||b==="bottom")?"horizontal":"vertical");return b},getCollapseTarget:function(){var a=this;return a.collapseTarget.isComponent?a.collapseTarget:a.collapseTarget==="prev"?a.previousSibling():a.nextSibling()},setCollapseEl:function(a){var b=this.collapseEl;if(b){b.setDisplayed(a)}},onBeforeTargetExpand:function(a){this.setCollapseEl("none")},onBeforeTargetCollapse:function(){this.setCollapseEl("none")},onTargetCollapse:function(b){var a=this;if(b===a.getCollapseTarget()&&b[a.orientation==="vertical"?"collapsedHorizontal":"collapsedVertical"]()){a.el.addCls(a.collapsedClsInternal+" "+(a.collapsedCls||""))}a.setCollapseEl("")},onTargetExpand:function(b){var a=this;a.el.removeCls(a.collapsedClsInternal+" "+(a.collapsedCls||""));a.setCollapseEl("")},collapseDirProps:{top:{cls:Ext.baseCSSPrefix+"layout-split-top"},right:{cls:Ext.baseCSSPrefix+"layout-split-right"},bottom:{cls:Ext.baseCSSPrefix+"layout-split-bottom"},left:{cls:Ext.baseCSSPrefix+"layout-split-left"}},orientationProps:{horizontal:{opposite:"vertical",fixedAxis:"height",stretchedAxis:"width"},vertical:{opposite:"horizontal",fixedAxis:"width",stretchedAxis:"height"}},applyCollapseDirection:function(){var d=this,c=d.collapseEl,b=d.collapseDirProps[d.collapseDirection],a;if(c){a=c.lastCollapseDirCls;if(a){c.removeCls(a)}c.addCls(c.lastCollapseDirCls=b.cls)}},applyOrientation:function(){var d=this,e=d.orientation,g=d.orientationProps[e],b=d.size,c=g.fixedAxis,h=g.stretchedAxis,a=d.baseCls+"-";d[e]=true;d[g.opposite]=false;if(!d.hasOwnProperty(c)||d[c]==="100%"){d[c]=b}if(!d.hasOwnProperty(h)||d[h]===b){d[h]="100%"}d.removeCls(a+g.opposite);d.addCls(a+e)},setOrientation:function(b){var a=this;if(a.orientation!==b){a.orientation=b;a.applyOrientation()}},updateOrientation:function(){delete this.collapseDirection;this.getCollapseDirection();this.applyCollapseDirection()},toggleTargetCmp:function(b,d){var a=this.getCollapseTarget(),c=a.placeholder,g;if(Ext.isFunction(a.expand)&&Ext.isFunction(a.collapse)){if(c&&!c.hidden){g=true}else{g=!a.hidden}if(g){if(a.collapsed){a.expand()}else{if(a.collapseDirection){a.collapse()}else{a.collapse(this.renderData.collapseDir)}}}}},setSize:function(){var a=this;a.callParent(arguments);if(Ext.isIE&&a.el){a.el.repaint()}},beforeDestroy:function(){Ext.destroy(this.tracker);this.callParent()}});Ext.define("Ext.layout.container.Box",{extend:Ext.layout.container.Container,alias:"layout.box",alternateClassName:"Ext.layout.BoxLayout",type:"box",config:{align:"begin",constrainAlign:false,enableSplitters:true,overflowHandler:{$value:null,merge:function(a,b){if(typeof a==="string"){a={type:a}}return Ext.merge(b?Ext.Object.chain(b):{},a)}},padding:0,pack:"start",stretchMaxPartner:undefined,vertical:false,alignRoundingMethod:"round"},itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",targetElCls:Ext.baseCSSPrefix+"box-target",innerCls:Ext.baseCSSPrefix+"box-inner",manageMargins:true,createsInnerCt:true,childEls:["innerCt","targetEl"],renderTpl:['{%var oc,l=values.$comp.layout,oh=l.overflowHandler;if (oh && oh.getPrefixConfig!==Ext.emptyFn) {if(oc=oh.getPrefixConfig())dh.generateMarkup(oc, out)}%}<div id="{ownerId}-innerCt" data-ref="innerCt" role="presentation" class="{[l.innerCls]}{[oh ? (" " + oh.getOverflowCls(l.direction)) : ""]}"><div id="{ownerId}-targetEl" data-ref="targetEl" class="{targetElCls}" role="presentation">{%this.renderBody(out, values)%}</div></div>{%if (oh && oh.getSuffixConfig!==Ext.emptyFn) {if(oc=oh.getSuffixConfig())dh.generateMarkup(oc, out)}%}',{disableFormats:true,definitions:"var dh=Ext.DomHelper;"}],constructor:function(a){var b=this,c;b.callParent(arguments);b.setVertical(b.vertical);b.flexSortFn=b.flexSort.bind(b);c=typeof b.padding;if(c==="string"||c==="number"){b.padding=Ext.util.Format.parseBox(b.padding);b.padding.height=b.padding.top+b.padding.bottom;b.padding.width=b.padding.left+b.padding.right}},_beginRe:/^(?:begin|left|top)$/,_centerRe:/^(?:center|middle)$/,_endRe:/^(?:end|right|bottom)$/,_percentageRe:/^\s*(\d+(?:\.\d*)?)\s*[%]\s*$/,getItemSizePolicy:function(i,m){var k=this,p=k.sizePolicy,a=k.align,c=i.flex,j=a,l=k.names,e=l.height,r=l.width,q=i[r],d=i[e],n=k._percentageRe,o=n.test(q),g=(a==="stretc