var Ext=Ext||{};Ext._startTime=(new Date).getTime(),function(){var f=this,r=Object.prototype,t=r.toString,n=!0,i=function(){},u=function(){var n=u.caller.caller;return n.$owner.prototype[n.$name].apply(this,arguments)},e;Ext.global=f;for(e in{toString:1})n=null;n&&(n=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"]);Ext.enumerables=n;Ext.apply=function(t,i,r){if(r&&Ext.apply(t,r),t&&i&&typeof i=="object"){var f,e,u;for(f in i)t[f]=i[f];if(n)for(e=n.length;e--;)u=n[e],i.hasOwnProperty(u)&&(t[u]=i[u])}return t};Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-",scopeResetCSS:!1},Ext.buildSettings||{});Ext.apply(Ext,{name:Ext.sandboxName||"Ext",emptyFn:i,emptyString:new String,baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,applyIf:function(n,t){var i;if(n)for(i in t)n[i]===undefined&&(n[i]=t[i]);return n},iterate:function(n,t,i){Ext.isEmpty(n)||(i===undefined&&(i=n),Ext.isIterable(n)?Ext.Array.each.call(Ext.Array,n,t,i):Ext.Object.each.call(Ext.Object,n,t,i))}});Ext.apply(Ext,{extend:function(){var n=r.constructor,t=function(n){for(var t in n)n.hasOwnProperty(t)&&(this[t]=n[t])};return function(i,r,u){Ext.isObject(r)&&(u=r,r=i,i=u.constructor!==n?u.constructor:function(){r.apply(this,arguments)});var o=function(){},f,e=r.prototype;return o.prototype=e,f=i.prototype=new o,f.constructor=i,i.superclass=e,e.constructor===n&&(e.constructor=r),i.override=function(n){Ext.override(i,n)},f.override=t,f.proto=f,i.override(u),i.extend=function(n){return Ext.extend(i,n)},i}}(),override:function(n,t){if(n.$isClass)n.override(t);else if(typeof n=="function")Ext.apply(n.prototype,t);else{var f=n.self,i,r;if(f&&f.$isClass)for(i in t)t.hasOwnProperty(i)&&(r=t[i],typeof r=="function"&&(r.$name=i,r.$owner=f,r.$previous=n.hasOwnProperty(i)?n[i]:u),n[i]=r);else Ext.apply(n,t)}return n}});Ext.apply(Ext,{valueFrom:function(n,t,i){return Ext.isEmpty(n,i)?t:n},typeOf:function(n){var i,r;if(n===null)return"null";if(i=typeof n,i==="undefined"||i==="string"||i==="number"||i==="boolean")return i;r=t.call(n);switch(r){case"[object Array]":return"array";case"[object Date]":return"date";case"[object Boolean]":return"boolean";case"[object Number]":return"number";case"[object RegExp]":return"regexp"}return i==="function"?"function":i==="object"?n.nodeType!==undefined?n.nodeType===3?/\S/.test(n.nodeValue)?"textnode":"whitespace":"element":"object":void 0},isEmpty:function(n,t){return n===null||n===undefined||(t?!1:n==="")||Ext.isArray(n)&&n.length===0},isArray:"isArray"in Array?Array.isArray:function(n){return t.call(n)==="[object Array]"},isDate:function(n){return t.call(n)==="[object Date]"},isObject:t.call(null)==="[object Object]"?function(n){return n!==null&&n!==undefined&&t.call(n)==="[object Object]"&&n.ownerDocument===undefined}:function(n){return t.call(n)==="[object Object]"},isSimpleObject:function(n){return n instanceof Object&&n.constructor===Object},isPrimitive:function(n){var t=typeof n;return t==="string"||t==="number"||t==="boolean"},isFunction:typeof document!="undefined"&&typeof document.getElementsByTagName("body")=="function"?function(n){return t.call(n)==="[object Function]"}:function(n){return typeof n=="function"},isNumber:function(n){return typeof n=="number"&&isFinite(n)},isNumeric:function(n){return!isNaN(parseFloat(n))&&isFinite(n)},isString:function(n){return typeof n=="string"},isBoolean:function(n){return typeof n=="boolean"},isElement:function(n){return n?n.nodeType===1:!1},isTextNode:function(n){return n?n.nodeName==="#text":!1},isDefined:function(n){return typeof n!="undefined"},isIterable:function(n){var i=typeof n,t=!1;return n&&i!="string"&&(i=="function"?Ext.isSafari&&(t=n instanceof NodeList||n instanceof HTMLCollection):t=!0),t?n.length!==undefined:!1}});Ext.apply(Ext,{clone:function(i){var u,f,e,o,r,s;if(i===null||i===undefined)return i;if(i.nodeType&&i.cloneNode)return i.cloneNode(!0);if(u=t.call(i),u==="[object Date]")return new Date(i.getTime());if(u==="[object Array]")for(f=i.length,r=[];f--;)r[f]=Ext.clone(i[f]);else if(u==="[object Object]"&&i.constructor===Object){r={};for(s in i)r[s]=Ext.clone(i[s]);if(n)for(e=n.length;e--;)o=n[e],r[o]=i[o]}return r||i},getUniqueGlobalNamespace:function(){var n=this.uniqueGlobalNamespace,t;if(n===undefined){t=0;do n="ExtBox"+ ++t;while(Ext.global[n]!==undefined);Ext.global[n]=Ext;this.uniqueGlobalNamespace=n}return n},functionFactoryCache:{},cacheableFunctionFactory:function(){var f=this,n=Array.prototype.slice.call(arguments),u=f.functionFactoryCache,r,t,i;return Ext.isSandboxed&&(i=n.length,i>0&&(i--,n[i]="var Ext=window."+Ext.name+";"+n[i])),r=n.join(""),t=u[r],t||(t=Function.prototype.constructor.apply(Function.prototype,n),u[r]=t),t},functionFactory:function(){var i=this,t=Array.prototype.slice.call(arguments),n;return Ext.isSandboxed&&(n=t.length,n>0&&(n--,t[n]="var Ext=window."+Ext.name+";"+t[n])),Function.prototype.constructor.apply(Function.prototype,t)},Logger:{verbose:i,log:i,info:i,warn:i,error:function(n){throw new Error(n);},deprecate:i}});Ext.type=Ext.typeOf}();Ext.globalEval=Ext.global.execScript?function(n){execScript(n)}:function(n){(function(){var dj_global=this;return dj_global.eval?dj_global.eval(n):eval(n)})()},function(){var n;Ext.Version=n=Ext.extend(Object,{constructor:function(t){var i,r;return t instanceof n?t:(this.version=this.shortVersion=String(t).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,""),r=this.version.search(/([^\d\.])/),r!==-1&&(this.release=this.version.substr(r,t.length),this.shortVersion=this.version.substr(0,r)),this.shortVersion=this.shortVersion.replace(/[^\d]/g,""),i=this.version.split("."),this.major=parseInt(i.shift()||0,10),this.minor=parseInt(i.shift()||0,10),this.patch=parseInt(i.shift()||0,10),this.build=parseInt(i.shift()||0,10),this)},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(t){return n.compare(this.version,t)===1},isGreaterThanOrEqual:function(t){return n.compare(this.version,t)>=0},isLessThan:function(t){return n.compare(this.version,t)===-1},isLessThanOrEqual:function(t){return n.compare(this.version,t)<=0},equals:function(t){return n.compare(this.version,t)===0},match:function(n){return n=String(n),this.version.substr(0,n.length)===n},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(){return this.isGreaterThan.apply(this,arguments)},lt:function(){return this.isLessThan.apply(this,arguments)},gtEq:function(){return this.isGreaterThanOrEqual.apply(this,arguments)},ltEq:function(){return this.isLessThanOrEqual.apply(this,arguments)}});Ext.apply(n,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(n){return n?isNaN(n)?this.releaseValueMap[n]||n:parseInt(n,10):0},compare:function(t,i){var u,f,r;for(t=new n(t).toArray(),i=new n(i).toArray(),r=0;r<Math.max(t.length,i.length);r++){if(u=this.getComponentValue(t[r]),f=this.getComponentValue(i[r]),u<f)return-1;if(u>f)return 1}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(t,i){return Ext.versions[t]=new n(i),Ext.lastRegisteredVersion=Ext.versions[t],this},getVersion:function(n){return n===undefined?Ext.lastRegisteredVersion:Ext.versions[n]},deprecate:function(t,i,r,u){n.compare(Ext.getVersion(t),i)<1&&r.call(u)}});Ext.setVersion("core","4.1.1.1")}();Ext.String=function(){var u=/^[\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,f=/('|\\)/g,e=/\{(\d+)\}/g,o=/([-.*+?\^${}()|\[\]\/\\])/g,s=/^\s+|\s+$/g,h=/\s+/,c=/(^[^a-z]*|[^\w])/gi,t,n,i,r,l=function(n,i){return t[i]},a=function(t,i){return i in n?n[i]:String.fromCharCode(parseInt(i.substr(2),10))};return{createVarName:function(n){return n.replace(c,"")},htmlEncode:function(n){return n?String(n).replace(i,l):n},htmlDecode:function(n){return n?String(n).replace(r,a):n},addCharacterEntities:function(u){var o=[],s=[],f,e;for(f in u)e=u[f],n[f]=e,t[e]=f,o.push(e),s.push(f);i=new RegExp("("+o.join("|")+")","g");r=new RegExp("("+s.join("|")+"|&#[0-9]{1,5};)","g")},resetCharacterEntities:function(){t={};n={};this.addCharacterEntities({"&amp;":"&","&gt;":">","&lt;":"<","&quot;":'"',"&#39;":"'"})},urlAppend:function(n,t){return Ext.isEmpty(t)?n:n+(n.indexOf("?")===-1?"?":"&")+t},trim:function(n){return n.replace(u,"")},capitalize:function(n){return n.charAt(0).toUpperCase()+n.substr(1)},uncapitalize:function(n){return n.charAt(0).toLowerCase()+n.substr(1)},ellipsis:function(n,t,i){if(n&&n.length>t){if(i){var r=n.substr(0,t-2),u=Math.max(r.lastIndexOf(" "),r.lastIndexOf("."),r.lastIndexOf("!"),r.lastIndexOf("?"));if(u!==-1&&u>=t-15)return r.substr(0,u)+"..."}return n.substr(0,t-3)+"..."}return n},escapeRegex:function(n){return n.replace(o,"\\$1")},escape:function(n){return n.replace(f,"\\$1")},toggle:function(n,t,i){return n===t?i:t},leftPad:function(n,t,i){var r=String(n);for(i=i||" ";r.length<t;)r=i+r;return r},format:function(n){var t=Ext.Array.toArray(arguments,1);return n.replace(e,function(n,i){return t[i]})},repeat:function(n,t,i){for(var r=[],u=t;u--;)r.push(n);return r.join(i||"")},splitWords:function(n){return n&&typeof n=="string"?n.replace(s,"").split(h):n||[]}}}();Ext.String.resetCharacterEntities();Ext.htmlEncode=Ext.String.htmlEncode;Ext.htmlDecode=Ext.String.htmlDecode;Ext.urlAppend=Ext.String.urlAppend;Ext.Number=new function(){var t=this,i=.9.toFixed()!=="1",n=Math;Ext.apply(this,{constrain:function(n,t,i){var r=parseFloat(n);return r<t?t:r>i?i:r},snap:function(n,i,r,u){var f;return n===undefined||n<r?r||0:(i&&(f=n%i,f!==0&&(n-=f,f*2>=i?n+=i:f*2<-i&&(n-=i))),t.constrain(n,r,u))},snapInRange:function(n,i,r,u){var f;return(r=r||0,n===undefined||n<r)?r:(i&&(f=(n-r)%i)&&(n-=f,f*=2,f>=i&&(n+=i)),u!==undefined&&n>(u=t.snapInRange(u,i,r))&&(n=u),n)},toFixed:i?function(t,i){i=i||0;var r=n.pow(10,i);return(n.round(t*r)/r).toFixed(i)}:function(n,t){return n.toFixed(t)},from:function(n,t){return isFinite(n)&&(n=parseFloat(n)),isNaN(n)?t:n},randomInt:function(t,i){return n.floor(n.random()*(i-t+1)+t)}});Ext.num=function(){return t.from.apply(this,arguments)}},function(){function o(n,t){return t<0?Math.max(0,n.length+t):Math.min(n.length,t)}function u(n,t,i,r){var e=r?r.length:0,c=n.length,s=o(n,t),l,f,h,v,a,u;if(s===c)e&&n.push.apply(n,r);else{if(l=Math.min(i,c-s),f=s+l,h=f+e-l,v=c-f,a=c-l,h<f)for(u=0;u<v;++u)n[h+u]=n[f+u];else if(h>f)for(u=v;u--;)n[h+u]=n[f+u];if(e&&s===a)n.length=a,n.push.apply(n,r);else for(n.length=a+e,u=0;u<e;++u)n[s+u]=r[u]}return n}function b(n,t,i,r){return r&&r.length?t<n.length?n.splice.apply(n,[t,i].concat(r)):n.push.apply(n,r):n.splice(t,i),n}function k(n,t,i){return u(n,t,i)}function d(n,t,i){return n.splice(t,i),n}function g(n,i,r){var f=o(n,i),e=n.slice(i,o(n,f+r));return arguments.length<4?u(n,f,r):u(n,f,r,t.call(arguments,3)),e}function nt(n){return n.splice.apply(n,t.call(arguments,1))}var i=Array.prototype,t=i.slice,f=function(){var n=[],t,i=20;if(!n.splice)return!1;while(i--)n.push("A");return(n.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F"),t=n.length,n.splice(13,0,"XXX"),t+1!=n.length)?!1:!0}(),l="forEach"in i,a="map"in i,s="indexOf"in i,v="every"in i,y="some"in i,p="filter"in i,w=function(){var n=[1,2,3,4,5].sort(function(){return 0});return n[0]===1&&n[1]===2&&n[2]===3&&n[3]===4&&n[4]===5}(),h=!0,n,r,e,c;try{typeof document!="undefined"&&t.call(document.getElementsByTagName("body"))}catch(tt){h=!1}r=f?d:k;e=f?b:u;c=f?nt:g;n=Ext.Array={each:function(t,i,r,u){t=n.from(t);var f,e=t.length;if(u!==!0){for(f=0;f<e;f++)if(i.call(r||t[f],t[f],f,t)===!1)return f}else for(f=e-1;f>-1;f--)if(i.call(r||t[f],t[f],f,t)===!1)return f;return!0},forEach:l?function(n,t,i){return n.forEach(t,i)}:function(n,t,i){for(var r=0,u=n.length;r<u;r++)t.call(i,n[r],r,n)},indexOf:s?function(n,t,i){return n.indexOf(t,i)}:function(n,t,i){for(var u=n.length,r=i<0?Math.max(0,u+i):i||0;r<u;r++)if(n[r]===t)return r;return-1},contains:s?function(n,t){return n.indexOf(t)!==-1}:function(n,t){for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return!0;return!1},toArray:function(n,i,r){if(!n||!n.length)return[];if(typeof n=="string"&&(n=n.split("")),h)return t.call(n,i||0,r||n.length);var f=[],u;for(i=i||0,r=r?r<0?n.length+r:r:n.length,u=i;u<r;u++)f.push(n[u]);return f},pluck:function(n,t){for(var r=[],f,i=0,u=n.length;i<u;i++)f=n[i],r.push(f[t]);return r},map:a?function(n,t,i){return n.map(t,i)}:function(n,t,i){for(var u=[],r=0,f=n.length;r<f;r++)u[r]=t.call(i,n[r],r,n);return u},every:v?function(n,t,i){return n.every(t,i)}:function(n,t,i){for(var r=0,u=n.length;r<u;++r)if(!t.call(i,n[r],r,n))return!1;return!0},some:y?function(n,t,i){return n.some(t,i)}:function(n,t,i){for(var r=0,u=n.length;r<u;++r)if(t.call(i,n[r],r,n))return!0;return!1},clean:function(n){for(var r=[],t=0,u=n.length,i;t<u;t++)i=n[t],Ext.isEmpty(i)||r.push(i);return r},unique:function(t){for(var i=[],r=0,f=t.length,u;r<f;r++)u=t[r],n.indexOf(i,u)===-1&&i.push(u);return i},filter:p?function(n,t,i){return n.filter(t,i)}:function(n,t,i){for(var u=[],r=0,f=n.length;r<f;r++)t.call(i,n[r],r,n)&&u.push(n[r]);return u},from:function(i,r){if(i===undefined||i===null)return[];if(Ext.isArray(i))return r?t.call(i):i;var u=typeof i;return i&&i.length!==undefined&&u!=="string"&&(u!=="function"||!i.apply)?n.toArray(i):[i]},remove:function(t,i){var u=n.indexOf(t,i);return u!==-1&&r(t,u,1),t},include:function(t,i){n.contains(t,i)||t.push(i)},clone:function(n){return t.call(n)},merge:function(){for(var u=t.call(arguments),r=[],i=0,f=u.length;i<f;i++)r=r.concat(u[i]);return n.unique(r)},intersect:function(){var h=[],f=t.call(arguments),e,c,p,u,l,a,w,v,b,y,i,o,s;if(!f.length)return h;for(e=f.length,i=l=0;i<e;i++)a=f[i],(!u||a.length<u.length)&&(u=a,l=i);for(u=n.unique(u),r(f,l,1),w=u.length,e=f.length,i=0;i<w;i++){for(v=u[i],y=0,o=0;o<e;o++)for(c=f[o],p=c.length,s=0;s<p;s++)if(b=c[s],v===b){y++;break}y===e&&h.push(v)}return h},difference:function(n,i){for(var f=t.call(n),o=f.length,u,e=0,s=i.length;e<s;e++)for(u=0;u<o;u++)f[u]===i[e]&&(r(f,u,1),u--,o--);return f},slice:[1,2].slice(1,undefined).length?function(n,i,r){return t.call(n,i,r)}:function(n,i,r){return typeof i=="undefined"?t.call(n):typeof r=="undefined"?t.call(n,i):t.call(n,i,r)},sort:w?function(n,t){return t?n.sort(t):n.sort()}:function(n,t){for(var f=n.length,r=0,e,u,i,o;r<f;r++){for(i=r,u=r+1;u<f;u++)t?(e=t(n[u],n[i]),e<0&&(i=u)):n[u]<n[i]&&(i=u);i!==r&&(o=n[r],n[r]=n[i],n[i]=o)}return n},flatten:function(n){function i(n){for(var u,r=0,f=n.length;r<f;r++)u=n[r],Ext.isArray(u)?i(u):t.push(u);return t}var t=[];return i(n)},min:function(n,t){for(var i=n[0],r,u=0,f=n.length;u<f;u++)r=n[u],t?t(i,r)===1&&(i=r):r<i&&(i=r);return i},max:function(n,t){for(var i=n[0],r,u=0,f=n.length;u<f;u++)r=n[u],t?t(i,r)===-1&&(i=r):r>i&&(i=r);return i},mean:function(t){return t.length>0?n.sum(t)/t.length:undefined},sum:function(n){for(var i=0,u,t=0,r=n.length;t<r;t++)u=n[t],i+=u;return i},toMap:function(n,t,i){var u={},r=n.length;if(t)if(typeof t=="string")while(r--)u[n[r][t]]=r+1;else while(r--)u[t.call(i,n[r])]=r+1;else while(r--)u[n[r]]=r+1;return u},erase:r,insert:function(n,t,i){return e(n,t,0,i)},replace:e,splice:c,push:function(n){var r=arguments.length,t=1,i;for(n===undefined?n=[]:Ext.isArray(n)||(n=[n]);t<r;t++)i=arguments[t],Array.prototype.push[Ext.isArray(i)?"apply":"call"](n,i);return n}};Ext.each=n.each;n.union=n.merge;Ext.min=n.min;Ext.max=n.max;Ext.sum=n.sum;Ext.mean=n.mean;Ext.flatten=n.flatten;Ext.clean=n.clean;Ext.unique=n.unique;Ext.pluck=n.pluck;Ext.toArray=function(){return n.toArray.apply(n,arguments)}}();Ext.Function={flexSetter:function(n){return function(t,i){var r,u;if(t===null)return this;if(typeof t!="string"){for(r in t)t.hasOwnProperty(r)&&n.call(this,r,t[r]);if(Ext.enumerables)for(u=Ext.enumerables.length;u--;)r=Ext.enumerables[u],t.hasOwnProperty(r)&&n.call(this,r,t[r])}else n.call(this,t,i);return this}},bind:function(n,t,i,r){if(arguments.length===2)return function(){return n.apply(t,arguments)};var f=n,u=Array.prototype.slice;return function(){var n=i||arguments;return r===!0?(n=u.call(arguments,0),n=n.concat(i)):typeof r=="number"&&(n=u.call(arguments,0),Ext.Array.insert(n,r,i)),f.apply(t||Ext.global,n)}},pass:function(n,t,i){return Ext.isArray(t)||(t=Ext.isIterable(t)?Ext.Array.clone(t):t!==undefined?[t]:[]),function(){var r=[].concat(t);return r.push.apply(r,arguments),n.apply(i||this,r)}},alias:function(n,t){return function(){return n[t].apply(n,arguments)}},clone:function(n){return function(){return n.apply(this,arguments)}},createInterceptor:function(n,t,i,r){var u=n;return Ext.isFunction(t)?function(){var u=this,f=arguments;return t.target=u,t.method=n,t.apply(i||u||Ext.global,f)!==!1?n.apply(u||Ext.global,f):r||null}:n},createDelayed:function(n,t,i,r,u){return(i||r)&&(n=Ext.Function.bind(n,i,r,u)),function(){var i=this,r=Array.prototype.slice.call(arguments);setTimeout(function(){n.apply(i,r)},t)}},defer:function(n,t,i,r,u){return(n=Ext.Function.bind(n,i,r,u),t>0)?setTimeout(Ext.supports.TimeoutActualLateness?function(){n()}:n,t):(n(),0)},createSequence:function(n,t,i){return t?function(){var r=n.apply(this,arguments);return t.apply(i||this,arguments),r}:n},createBuffered:function(n,t,i,r){var u;return function(){var f=r||Array.prototype.slice.call(arguments,0),e=i||this;u&&clearTimeout(u);u=setTimeout(function(){n.apply(e,f)},t)}},createThrottled:function(n,t,i){var r,u,f,e,o=function(){n.apply(i||this,f);r=(new Date).getTime()};return function(){u=(new Date).getTime()-r;f=arguments;clearTimeout(e);!r||u>=t?o():e=setTimeout(o,t-u)}},interceptBefore:function(n,t,i,r){var u=n[t]||Ext.emptyFn;return n[t]=function(){var n=i.apply(r||this,arguments);return u.apply(this,arguments),n}},interceptAfter:function(n,t,i,r){var u=n[t]||Ext.emptyFn;return n[t]=function(){return u.apply(this,arguments),i.apply(r||this,arguments)}}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind"),function(){var t=function(){},n=Ext.Object={chain:function(n){t.prototype=n;var i=new t;return t.prototype=null,i},toQueryObjects:function(t,i,r){var e=n.toQueryObjects,f=[],u,o;if(Ext.isArray(i))for(u=0,o=i.length;u<o;u++)r?f=f.concat(e(t+"["+u+"]",i[u],!0)):f.push({name:t,value:i[u]});else if(Ext.isObject(i))for(u in i)i.hasOwnProperty(u)&&(r?f=f.concat(e(t+"["+u+"]",i[u],!0)):f.push({name:t,value:i[u]}));else f.push({name:t,value:i});return f},toQueryString:function(t,i){var u=[],s=[],f,e,h,o,r;for(f in t)t.hasOwnProperty(f)&&(u=u.concat(n.toQueryObjects(f,t[f],i)));for(e=0,h=u.length;e<h;e++)o=u[e],r=o.value,Ext.isEmpty(r)?r="":Ext.isDate(r)&&(r=Ext.Date.toString(r)),s.push(encodeURIComponent(o.name)+"="+encodeURIComponent(String(r)));return s.join("&")},fromQueryString:function(n,t){for(var p=n.replace(/^\?/,"").split("&"),f={},e,c,r,o,v,u,h,a,b,s,i,y,l=0,w=p.length;l<w;l++)if(v=p[l],v.length>0)if(c=v.split("="),r=decodeURIComponent(c[0]),o=c[1]!==undefined?decodeURIComponent(c[1]):"",t){if(a=r.match(/(\[):?([^\]]*)\]/g),b=r.match(/^([^\[]+)/),r=b[0],s=[],a===null){f[r]=o;continue}for(u=0,h=a.length;u<h;u++)i=a[u],i=i.length===2?"":i.substring(1,i.length-1),s.push(i);for(s.unshift(r),e=f,u=0,h=s.length;u<h;u++)i=s[u],u===h-1?Ext.isArray(e)&&i===""?e.push(o):e[i]=o:((e[i]===undefined||typeof e[i]=="string")&&(y=s[u+1],e[i]=Ext.isNumeric(y)||y===""?[]:{}),e=e[i])}else f.hasOwnProperty(r)?(Ext.isArray(f[r])||(f[r]=[f[r]]),f[r].push(o)):f[r]=o;return f},each:function(n,t,i){for(var r in n)if(n.hasOwnProperty(r)&&t.call(i||n,r,n[r],n)===!1)return},merge:function(t){for(var f=1,o=arguments.length,s=n.merge,h=Ext.clone,e,r,i,u;f<o;f++){e=arguments[f];for(r in e)i=e[r],i&&i.constructor===Object?(u=t[r],u&&u.constructor===Object?s(u,i):t[r]=h(i)):t[r]=i}return t},mergeIf:function(n){for(var r=1,f=arguments.length,e=Ext.clone,u,i,t;r<f;r++){u=arguments[r];for(i in u)i in n||(t=u[i],n[i]=t&&t.constructor===Object?e(t):t)}return n},getKey:function(n,t){for(var i in n)if(n.hasOwnProperty(i)&&n[i]===t)return i;return null},getValues:function(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(n[i]);return t},getKeys:typeof Object.keys=="function"?function(n){return n?Object.keys(n):[]}:function(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(i);return t},getSize:function(n){var t=0;for(var i in n)n.hasOwnProperty(i)&&t++;return t},classify:function(t){var o=t,u=[],f={},e=function(){for(var n=0,i=u.length,t;n<i;n++)t=u[n],this[t]=new f[t]},i,r;for(i in t)t.hasOwnProperty(i)&&(r=t[i],r&&r.constructor===Object&&(u.push(i),f[i]=n.classify(r)));return e.prototype=o,e}};Ext.merge=Ext.Object.merge;Ext.mergeIf=Ext.Object.mergeIf;Ext.urlEncode=function(){var t=Ext.Array.from(arguments),i="";return typeof t[1]=="string"&&(i=t[1]+"&",t[1]=!1),i+n.toQueryString.apply(n,t)};Ext.urlDecode=function(){return n.fromQueryString.apply(n,arguments)}}(),function(){function t(n){var t=Array.prototype.slice.call(arguments,1);return n.replace(/\{(\d+)\}/g,function(n,i){return t[i]})}Ext.Date={now:Date.now||function(){return+new Date},toString:function(n){var t=Ext.String.leftPad;return n.getFullYear()+"-"+t(n.getMonth()+1,2,"0")+"-"+t(n.getDate(),2,"0")+"T"+t(n.getHours(),2,"0")+":"+t(n.getMinutes(),2,"0")+":"+t(n.getSeconds(),2,"0")},getElapsed:function(n,t){return Math.abs(n-(t||new Date))},useStrict:!1,formatCodeToRegex:function(i,r){var u=n.parseCodes[i];return u&&(u=typeof u=="function"?u():u,n.parseCodes[i]=u),u?Ext.applyIf({c:u.c?t(u.c,r||"{0}"):u.c},u):{g:0,c:null,s:Ext.String.escapeRegex(i)}},parseFunctions:{MS:function(n){var i=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/"),t=(n||"").match(i);return t?new Date(((t[1]||"")+t[2])*1):null}},parseRegexes:[],formatFunctions:{MS:function(){return"\\/Date("+this.getTime()+")\\/"}},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(n){return Ext.Date.monthNames[n].substring(0,3)},getShortDayName:function(n){return Ext.Date.dayNames[n].substring(0,3)},getMonthNumber:function(n){return Ext.Date.monthNumbers[n.substring(0,1).toUpperCase()+n.substring(1,3).toLowerCase()]},formatContainsHourInfo:function(){var n=/(\\.)/g,t=/([gGhHisucUOPZ]|MS)/;return function(i){return t.test(i.replace(n,""))}}(),formatContainsDateInfo:function(){var n=/(\\.)/g,t=/([djzmnYycU]|MS)/;return function(i){return t.test(i.replace(n,""))}}(),unescapeFormat:function(){var n=/\\/gi;return function(t){return t.replace(n,"")}}(),formatCodes:{d:"Ext.String.leftPad(this.getDate(), 2, '0')",D:"Ext.Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Ext.Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"Ext.Date.getSuffix(this)",w:"this.getDay()",z:"Ext.Date.getDayOfYear(this)",W:"Ext.String.leftPad(Ext.Date.getWeekOfYear(this), 2, '0')",F:"Ext.Date.monthNames[this.getMonth()]",m:"Ext.String.leftPad(this.getMonth() + 1, 2, '0')",M:"Ext.Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"Ext.Date.getDaysInMonth(this)",L:"(Ext.Date.isLeapYear(this) ? 1 : 0)",o:"(this.getFullYear() + (Ext.Date.getWeekOfYear(this) == 1 && this.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){var i,r,t,f,u;for(i="Y-m-dTH:i:sP",r=[],t=0,f=i.length;t<f;++t)u=i.charAt(t),r.push(u=="T"?"'T'":n.getFormatCode(u));return r.join(" + ")},U:"Math.round(this.getTime() / 1000)"},isValid:function(t,i,r,u,f,e,o){u=u||0;f=f||0;e=e||0;o=o||0;var s=n.add(new Date(t<100?100:t,i-1,r,u,f,e,o),n.YEAR,t<100?t-100:0);return t==s.getFullYear()&&i==s.getMonth()+1&&r==s.getDate()&&u==s.getHours()&&f==s.getMinutes()&&e==s.getSeconds()&&o==s.getMilliseconds()},parse:function(t,i,r){var u=n.parseFunctions;return u[i]==null&&n.createParser(i),u[i](t,Ext.isDefined(r)?r:n.useStrict)},parseDate:function(t,i,r){return n.parse(t,i,r)},getFormatCode:function(t){var i=n.formatCodes[t];return i&&(i=typeof i=="function"?i():i,n.formatCodes[t]=i),i||"'"+Ext.String.escape(t)+"'"},createFormat:function(t){for(var f=[],i=!1,r="",u=0;u<t.length;++u)r=t.charAt(u),i||r!="\\"?i?(i=!1,f.push("'"+Ext.String.escape(r)+"'")):f.push(n.getFormatCode(r)):i=!0;n.formatFunctions[t]=Ext.functionFactory("return "+f.join("+"))},createParser:function(){var i="var dt, y, m, d, h, i, s, ms, o, z, zz, u, v,\ndef = Ext.Date.defaults,\nresults = String(input).match(Ext.Date.parseRegexes[{0}]);\nif(results){\n{1}\nif(u != null){\nv = new Date(u * 1000);\n}else{\ndt = Ext.Date.clearTime(new Date);\ny = Ext.Number.from(y, Ext.Number.from(def.y, dt.getFullYear()));\nm = Ext.Number.from(m, Ext.Number.from(def.m - 1, dt.getMonth()));\nd = Ext.Number.from(d, Ext.Number.from(def.d, dt.getDate()));\nh  = Ext.Number.from(h, Ext.Number.from(def.h, dt.getHours()));\ni  = Ext.Number.from(i, Ext.Number.from(def.i, dt.getMinutes()));\ns  = Ext.Number.from(s, Ext.Number.from(def.s, dt.getSeconds()));\nms = Ext.Number.from(ms, Ext.Number.from(def.ms, dt.getMilliseconds()));\nif(z >= 0 && y >= 0){\nv = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);\nv = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);\n}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){\nv = null;\n}else{\nv = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);\n}\n}\n}\nif(v){\nif(zz != null){\nv = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);\n}else if(o){\nv = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));\n}\n}\nreturn v;";return function(r){for(var c=n.parseRegexes.length,l=1,f=[],s=[],e=!1,o="",h=0,v=r.length,a=[],u;h<v;++h)o=r.charAt(h),e||o!="\\"?e?(e=!1,s.push(Ext.String.escape(o))):(u=n.formatCodeToRegex(o,l),l+=u.g,s.push(u.s),u.g&&u.c&&(u.calcAtEnd?a.push(u.c):f.push(u.c))):e=!0;f=f.concat(a);n.parseRegexes[c]=new RegExp("^"+s.join("")+"$","i");n.parseFunctions[r]=Ext.functionFactory("input","strict",t(i,c,f.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 i=[],t=0;t<7;i.push(n.getShortDayName(t)),++t);return{g:0,c:null,s:"(?:"+i.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+n.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:0,c:null,s:"(?:\\d{2})"},F:function(){return{g:1,c:"m = parseInt(Ext.Date.getMonthNumber(results[{0}]), 10);\n",s:"("+n.monthNames.join("|")+")"}},M:function(){for(var i=[],t=0;t<12;i.push(n.getShortMonthName(t)),++t);return Ext.applyIf({s:"("+i.join("|")+")"},n.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:function(){return n.formatCodeToRegex("Y")},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 > Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,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:!0},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:!0},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}];\nvar sn = o.substring(0,1),\nhr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),\nmn = o.substring(3,5) % 60;\no = ((-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",s:"([+-]\\d{4})"},P:{g:1,c:"o = results[{0}];\nvar sn = o.substring(0,1),\nhr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),\nmn = o.substring(4,6) % 60;\no = ((-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",s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){for(var r=[],t=[n.formatCodeToRegex("Y",1),n.formatCodeToRegex("m",2),n.formatCodeToRegex("d",3),n.formatCodeToRegex("H",4),n.formatCodeToRegex("i",5),n.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){",n.formatCodeToRegex("P",8).c,"}else{",n.formatCodeToRegex("O",8).c,"}","}"].join("\n")}],i=0,u=t.length;i<u;++i)r.push(t[i].c);return{g:1,c:r.join(""),s:[t[0].s,"(?:","-",t[1].s,"(?:","-",t[2].s,"(?:","(?:T| )?",t[3].s,":",t[4].s,"(?::",t[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}},dateFormat:function(t,i){return n.format(t,i)},isEqual:function(n,t){return n&&t?n.getTime()===t.getTime():!(n||t)},format:function(t,i){var r=n.formatFunctions;return Ext.isDate(t)?(r[i]==null&&n.createFormat(i),r[i].call(t)+""):""},getTimezone:function(n){return n.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(n,t){var i=n.getTimezoneOffset();return(i>0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(i)/60),2,"0")+(t?":":"")+Ext.String.leftPad(Math.abs(i%60),2,"0")},getDayOfYear:function(t){var u=0,i=Ext.Date.clone(t),f=t.getMonth(),r;for(r=0,i.setDate(1),i.setMonth(0);r<f;i.setMonth(++r))u+=n.getDaysInMonth(i);return u+t.getDate()-1},getWeekOfYear:function(){var n=864e5,t=7*n;return function(i){var u=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate()+3)/n,r=Math.floor(u/7),f=new Date(r*t).getUTCFullYear();return r-Math.floor(Date.UTC(f,0,7)/t)+1}}(),isLeapYear:function(n){var t=n.getFullYear();return!!((t&3)==0&&(t%100||t%400==0&&t))},getFirstDayOfMonth:function(n){var t=(n.getDay()-(n.getDate()-1))%7;return t<0?t+7:t},getLastDayOfMonth:function(t){return n.getLastDateOfMonth(t).getDay()},getFirstDateOfMonth:function(n){return new Date(n.getFullYear(),n.getMonth(),1)},getLastDateOfMonth:function(t){return new Date(t.getFullYear(),t.getMonth(),n.getDaysInMonth(t))},getDaysInMonth:function(){var t=[31,28,31,30,31,30,31,31,30,31,30,31];return function(i){var r=i.getMonth();return r==1&&n.isLeapYear(i)?29:t[r]}}(),getSuffix:function(n){switch(n.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(n){return new Date(n.getTime())},isDST:function(n){return new Date(n.getFullYear(),0,1).getTimezoneOffset()!=n.getTimezoneOffset()},clearTime:function(t,i){if(i)return Ext.Date.clearTime(Ext.Date.clone(t));var f=t.getDate(),r,u;if(t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t.getDate()!=f){for(r=1,u=n.add(t,Ext.Date.HOUR,r);u.getDate()!=f;r++,u=n.add(t,Ext.Date.HOUR,r));t.setDate(f);t.setHours(u.getHours())}return t},add:function(n,t,i){var r=Ext.Date.clone(n),f=Ext.Date,u;if(!t||i===0)return r;switch(t.toLowerCase()){case Ext.Date.MILLI:r.setMilliseconds(r.getMilliseconds()+i);break;case Ext.Date.SECOND:r.setSeconds(r.getSeconds()+i);break;case Ext.Date.MINUTE:r.setMinutes(r.getMinutes()+i);break;case Ext.Date.HOUR:r.setHours(r.getHours()+i);break;case Ext.Date.DAY:r.setDate(r.getDate()+i);break;case Ext.Date.MONTH:u=n.getDate();u>28&&(u=Math.min(u,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(n),Ext.Date.MONTH,i)).getDate()));r.setDate(u);r.setMonth(n.getMonth()+i);break;case Ext.Date.YEAR:u=n.getDate();u>28&&(u=Math.min(u,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(n),Ext.Date.YEAR,i)).getDate()));r.setDate(u);r.setFullYear(n.getFullYear()+i)}return r},between:function(n,t,i){var r=n.getTime();return t.getTime()<=r&&r<=i.getTime()},compat:function(){for(var f=window.Date,t,e=["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"],o=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"],s=e.length,h=o.length,r,u,i=0;i<s;i++)r=e[i],f[r]=n[r];for(t=0;t<h;t++)u=o[t],f.prototype[u]=function(){var t=Array.prototype.slice.call(arguments);return t.unshift(this),n[u].apply(n,t)}}};var n=Ext.Date}(),function(n){var i=[],t=function(){};Ext.apply(t,{$className:"Ext.Base",$isClass:!0,create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},extend:function(n){var f=n.prototype,e,t,i,o,r,u;if(t=this.prototype=Ext.Object.chain(f),t.self=this,this.superclass=t.superclass=f,!n.$isClass){e=Ext.Base.prototype;for(i in e)i in t&&(t[i]=e[i])}if(u=f.$inheritableStatics,u)for(i=0,o=u.length;i<o;i++)r=u[i],this.hasOwnProperty(r)||(this[r]=n[r]);n.$onExtended&&(this.$onExtended=n.$onExtended.slice());t.config=new t.configClass;t.initConfigList=t.initConfigList.slice();t.initConfigMap=Ext.clone(t.initConfigMap);t.configMap=Ext.Object.chain(t.configMap)},$onExtended:[],triggerExtended:function(){var i=this.$onExtended,r=i.length,n,t;if(r>0)for(n=0;n<r;n++)t=i[n],t.fn.apply(t.scope||this,arguments)},onExtended:function(n,t){return this.$onExtended.push({fn:n,scope:t}),this},addConfig:function(n,t){var r=this.prototype,h=Ext.Class.configNameCache,f=r.configMap,c=r.initConfigList,e=r.initConfigMap,u=r.config,o,i,s;for(i in n)n.hasOwnProperty(i)&&(f[i]||(f[i]=!0),s=n[i],o=h[i].initialized,e[i]||s===null||r[o]||(e[i]=!0,c.push(i)));t?Ext.merge(u,n):Ext.mergeIf(u,n);r.configClass=Ext.Object.classify(u)},addStatics:function(n){var t;for(var i in n)n.hasOwnProperty(i)&&(t=n[i],typeof t!="function"||t.$isClass||t===Ext.emptyFn||t===Ext.identityFn||(t.$owner=this,t.$name=i),this[i]=t);return this},addInheritableStatics:function(n){var i,r,u=this.prototype,t,f;i=u.$inheritableStatics;r=u.$hasInheritableStatics;i||(i=u.$inheritableStatics=[],r=u.$hasInheritableStatics={});for(t in n)n.hasOwnProperty(t)&&(f=n[t],this[t]=f,r[t]||(r[t]=!0,i.push(t)));return this},addMembers:function(n){var o=this.prototype,f=Ext.enumerables,r=[],u,e,t,i;for(t in n)r.push(t);for(f&&r.push.apply(r,f),u=0,e=r.length;u<e;u++)t=r[u],n.hasOwnProperty(t)&&(i=n[t],typeof i!="function"||i.$isClass||i===Ext.emptyFn||(i.$owner=this,i.$name=t),o[t]=i);return this},addMember:function(n,t){return typeof t!="function"||t.$isClass||t===Ext.emptyFn||(t.$owner=this,t.$name=n),this.prototype[n]=t,this},implement:function(){this.addMembers.apply(this,arguments)},borrow:function(n,t){var e=this.prototype,s=n.prototype,r,o,i,u,f;for(t=Ext.Array.from(t),r=0,o=t.length;r<o;r++)i=t[r],f=s[i],typeof f=="function"?(u=Ext.Function.clone(f),u.$owner=this,u.$name=i,e[i]=u):e[i]=f;return this},override:function(n){var u=this,f=Ext.enumerables,e=u.prototype,c=Ext.Function.clone,t,o,i,s,r,h;arguments.length===2&&(t=n,n={},n[t]=arguments[1],f=null);do{r=[];s=null;for(t in n)t=="statics"?s=n[t]:t=="config"?u.addConfig(n[t],!0):r.push(t);for(f&&r.push.apply(r,f),o=r.length;o--;)t=r[o],n.hasOwnProperty(t)&&(i=n[t],typeof i!="function"||i.$className||i===Ext.emptyFn||(typeof i.$owner!="undefined"&&(i=c(i)),i.$owner=u,i.$name=t,h=e[t],h&&(i.$previous=h)),e[t]=i);e=u;n=s}while(n);return this},callParent:function(n){var t;return(t=this.callParent.caller)&&(t.$previous||(t=t.$owner?t:t.caller)&&t.$owner.superclass.self[t.$name]).apply(this,n||i)},callSuper:function(n){var t;return(t=this.callSuper.caller)&&((t=t.$owner?t:t.caller)&&t.$owner.superclass.self[t.$name]).apply(this,n||i)},mixin:function(n,t){var i=t.prototype,r=this.prototype,u;typeof i.onClassMixedIn!="undefined"&&i.onClassMixedIn.call(t,this);r.hasOwnProperty("mixins")||(r.mixins="mixins"in r?Ext.Object.chain(r.mixins):{});for(u in i)u==="mixins"?Ext.merge(r.mixins,i[u]):typeof r[u]=="undefined"&&u!="mixinId"&&u!="config"&&(r[u]=i[u]);"config"in i&&this.addConfig(i.config,!1);r.mixins[n]=i},getName:function(){return Ext.getClassName(this)},createAlias:n(function(n,t){this.override(n,function(){return this[t].apply(this,arguments)})}),addXtype:function(n){var t=this.prototype,i=t.xtypesMap,r=t.xtypes,u=t.xtypesChain;return t.hasOwnProperty("xtypesMap")||(i=t.xtypesMap=Ext.merge({},t.xtypesMap||{}),r=t.xtypes=t.xtypes?[].concat(t.xtypes):[],u=t.xtypesChain=t.xtypesChain?[].concat(t.xtypesChain):[],t.xtype=n),i[n]||(i[n]=!0,r.push(n),u.push(n),Ext.ClassManager.setAlias(this,"widget."+n)),this}});t.implement({isInstance:!0,$className:"Ext.Base",configClass:Ext.emptyFn,initConfigList:[],configMap:{},initConfigMap:{},statics:function(){var n=this.statics.caller,t=this.self;return n?n.$owner:t},callParent:function(n){var t,r=(t=this.callParent.caller)&&(t.$previous||(t=t.$owner?t:t.caller)&&t.$owner.superclass[t.$name]);return r.apply(this,n||i)},callSuper:function(n){var t,r=(t=this.callSuper.caller)&&(t=t.$owner?t:t.caller)&&t.$owner.superclass[t.$name];return r.apply(this,n||i)},self:t,constructor:function(){return this},initConfig:function(n){var i=n,o=Ext.Class.configNameCache,s=new this.configClass,r=this.initConfigList,c=this.configMap,f,u,h,t,e;if(this.initConfig=Ext.emptyFn,this.initialConfig=i||{},this.config=n=i?Ext.merge(s,n):s,i){r=r.slice();for(t in i)c[t]&&i[t]!==null&&(r.push(t),this[o[t].initialized]=!1)}for(u=0,h=r.length;u<h;u++)t=r[u],f=o[t],e=f.initialized,this[e]||(this[e]=!0,this[f.set].call(this,n[t]));return this},hasConfig:function(n){return Boolean(this.configMap[n])},setConfig:function(n,t){if(!n)return this;var u=Ext.Class.configNameCache,f=this.config,e=this.configMap,o=this.initialConfig,i,r;t=Boolean(t);for(i in n)t&&o.hasOwnProperty(i)||(r=n[i],f[i]=r,e[i]&&this[u[i].set](r));return this},getConfig:function(n){var t=Ext.Class.configNameCache;return this[t[n].get]()},getInitialConfig:function(n){var t=this.config;return n?t[n]:t},onConfigUpdate:function(n,t,i){var h=this.self,r,e,o,u,s,f;for(n=Ext.Array.from(n),i=i||this,r=0,e=n.length;r<e;r++)o=n[r],u="update"+Ext.String.capitalize(o),s=this[u]||Ext.emptyFn,f=function(){s.apply(this,arguments);i[t].apply(i,arguments)},f.$name=u,f.$owner=h,this[u]=f},destroy:function(){this.destroy=Ext.emptyFn}});t.prototype.callOverridden=t.prototype.callParent;Ext.Base=t}(Ext.Function.flexSetter),function(){function f(){function n(){return this.constructor.apply(this,arguments)||null}return n}var n,t=Ext.Base,i=[],r,u;for(r in t)t.hasOwnProperty(r)&&i.push(r);u=i.length;Ext.Class=n=function(t,i,r){return typeof t!="function"&&(r=i,i=t,t=null),i||(i={}),t=n.create(t,i),n.process(t,i,r),t};Ext.apply(n,{onBeforeCreated:function(n,t,i){n.addMembers(t);i.onCreated.call(n,n)},create:function(n){var e,r;for(n||(n=f()),r=0;r<u;r++)e=i[r],n[e]=t[e];return n},process:function(t,i,r){var c=i.preprocessors||n.defaultPreprocessors,y=this.preprocessors,h={onBeforeCreated:this.onBeforeCreated},e=[],u,f,o,l,s,a,v;for(delete i.preprocessors,o=0,l=c.length;o<l;o++)if(u=c[o],typeof u=="string"){if(u=y[u],f=u.properties,f===!0)e.push(u.fn);else if(f)for(s=0,a=f.length;s<a;s++)if(v=f[s],i.hasOwnProperty(v)){e.push(u.fn);break}}else e.push(u);h.onCreated=r?r:Ext.emptyFn;h.preprocessors=e;this.doProcess(t,i,h)},doProcess:function(n,t,i){var r=this,u=i.preprocessors.shift();if(!u){i.onBeforeCreated.apply(r,arguments);return}u.call(r,n,t,i,r.doProcess)!==!1&&r.doProcess(n,t,i)},preprocessors:{},registerPreprocessor:function(n,t,i,r,u){return r||(r="last"),i||(i=[n]),this.preprocessors[n]={name:n,properties:i||!1,fn:t},this.setDefaultPreprocessorPosition(n,r,u),this},getPreprocessor:function(n){return this.preprocessors[n]},getPreprocessors:function(){return this.preprocessors},defaultPreprocessors:[],getDefaultPreprocessors:function(){return this.defaultPreprocessors},setDefaultPreprocessors:function(n){return this.defaultPreprocessors=Ext.Array.from(n),this},setDefaultPreprocessorPosition:function(n,t,i){var r=this.defaultPreprocessors,u;if(typeof t=="string"){if(t==="first")return r.unshift(n),this;if(t==="last")return r.push(n),this;t=t==="after"?1:-1}return u=Ext.Array.indexOf(r,i),u!==-1&&Ext.Array.splice(r,Math.max(0,u+t),0,n),this},configNameCache:{},getConfigNameMap:function(n){var r=this.configNameCache,i=r[n],t;return i||(t=n.charAt(0).toUpperCase()+n.substr(1),i=r[n]={internal:n,initialized:"_is"+t+"Initialized",apply:"apply"+t,update:"update"+t,set:"set"+t,get:"get"+t,doSet:"doSet"+t,changeEvent:n.toLowerCase()+"change"}),i}});n.registerPreprocessor("extend",function(n,t){var e=Ext.Base,o=e.prototype,u=t.extend,i,f,r;if(delete t.extend,i=u&&u!==Object?u:e,f=i.prototype,!i.$isClass)for(r in o)f[r]||(f[r]=o[r]);if(n.extend(i),n.triggerExtended.apply(n,arguments),t.onClassExtended){n.onExtended(t.onClassExtended,n);delete t.onClassExtended}},!0);n.registerPreprocessor("statics",function(n,t){n.addStatics(t.statics);delete t.statics});n.registerPreprocessor("inheritableStatics",function(n,t){n.addInheritableStatics(t.inheritableStatics);delete t.inheritableStatics});n.registerPreprocessor("config",function(t,i){var u=i.config,r=t.prototype;delete i.config;Ext.Object.each(u,function(t,u){var f=n.getConfigNameMap(t),s=f.internal,e=f.initialized,l=f.apply,a=f.update,h=f.set,o=f.get,y=h in r||i.hasOwnProperty(h),p=l in r||i.hasOwnProperty(l),w=a in r||i.hasOwnProperty(a),c,v;u!==null&&(y||p||w)?r[e]=!1:(r[s]=u,r[e]=!0);y||(i[h]=function(n){var t=this[s],i=this[l],r=this[a];return this[e]||(this[e]=!0),i&&(n=i.call(this,n,t)),typeof n!="undefined"&&(this[s]=n,r&&n!==t&&r.call(this,n,t)),this});o in r&&!i.hasOwnProperty(o)||(v=i[o]||!1,c=v?function(){return v.apply(this,arguments)}:function(){return this[s]},i[o]=function(){var n;return this[e]||(this[e]=!0,this[h](this.config[t])),n=this[o],"$previous"in n?n.$previous=c:this[o]=c,c.apply(this,arguments)})});t.addConfig(u,!0)});n.registerPreprocessor("mixins",function(n,t,i){var r=t.mixins,e,u,f,o;delete t.mixins;Ext.Function.interceptBefore(i,"onCreated",function(){if(r instanceof Array)for(f=0,o=r.length;f<o;f++)u=r[f],e=u.prototype.mixinId||u.$className,n.mixin(e,u);else for(var t in r)r.hasOwnProperty(t)&&n.mixin(t,r[t])})});Ext.extend=function(t,i,r){arguments.length===2&&Ext.isObject(i)&&(r=i,i=t,t=null);var u;if(!i)throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page.");return r.extend=i,r.preprocessors=["extend","statics","inheritableStatics","mixins","config"],t?(u=new n(t,r),u.prototype.constructor=t):u=new n(r),u.prototype.override=function(n){for(var t in n)n.hasOwnProperty(t)&&(this[t]=n[t])},u}}(),function(n,t,i,r,u){function e(){function n(){return this.constructor.apply(this,arguments)||null}return n}var f=Ext.ClassManager={classes:{},existCache:{},namespaceRewrites:[{from:"Ext.",to:Ext}],maps:{alternateToName:{},aliasToName:{},nameToAliases:{},nameToAlternates:{}},enableNamespaceParseCache:!0,namespaceParseCache:{},instantiators:[],isCreated:function(n){var e=this.existCache,r,o,i,t,f;if(this.classes[n]||e[n])return!0;for(t=u,f=this.parseNamespace(n),r=0,o=f.length;r<o;r++)if(i=f[r],typeof i!="string")t=i;else{if(!t||!t[i])return!1;t=t[i]}return e[n]=!0,this.triggerCreated(n),!0},createdListeners:[],nameCreatedListeners:{},triggerCreated:function(n){for(var i=this.createdListeners,s=this.nameCreatedListeners,h=this.maps.nameToAlternates[n],u=[n],e,c,r,o,t=0,f=i.length;t<f;t++)r=i[t],r.fn.call(r.scope,n);for(h&&u.push.apply(u,h),t=0,f=u.length;t<f;t++)if(o=u[t],i=s[o],i){for(e=0,c=i.length;e<c;e++)r=i[e],r.fn.call(r.scope,o);delete s[o]}},onCreated:function(n,t,i){var f=this.createdListeners,r=this.nameCreatedListeners,u={fn:n,scope:t};if(i){if(this.isCreated(i)){n.call(t,i);return}r[i]||(r[i]=[]);r[i].push(u)}else f.push(u)},parseNamespace:function(n){var o=this.namespaceParseCache,t,s,h,i,c,r,f,e,l;if(this.enableNamespaceParseCache&&o.hasOwnProperty(n))return o[n];for(t=[],s=this.namespaceRewrites,h=u,i=n,e=0,l=s.length;e<l;e++)if(c=s[e],r=c.from,f=c.to,i===r||i.substring(0,r.length)===r){i=i.substring(r.length);typeof f!="string"?h=f:t=t.concat(f.split("."));break}return t.push(h),t=t.concat(i.split(".")),this.enableNamespaceParseCache&&(o[n]=t),t},setNamespace:function(n,t){for(var i=u,e=this.parseNamespace(n),o=e.length-1,s=e[o],r,f=0;f<o;f++)r=e[f],typeof r!="string"?i=r:(i[r]||(i[r]={}),i=i[r]);return i[s]=t,i[s]},createNamespaces:function(){for(var n=u,f,t,r,o,i=0,e=arguments.length;i<e;i++)for(f=this.parseNamespace(arguments[i]),r=0,o=f.length;r<o;r++)t=f[r],typeof t!="string"?n=t:(n[t]||(n[t]={}),n=n[t]);return n},set:function(n,t){var r=this,u=r.maps,f=u.nameToAlternates,i=r.getName(t),e;return r.classes[n]=r.setNamespace(n,t),i&&i!==n&&(u.alternateToName[n]=i,e=f[i]||(f[i]=[]),e.push(n)),this},get:function(n){var e=this.classes,t,f,i,r,o;if(e[n])return e[n];for(t=u,f=this.parseNamespace(n),r=0,o=f.length;r<o;r++)if(i=f[r],typeof i!="string")t=i;else{if(!t||!t[i])return null;t=t[i]}return t},setAlias:function(n,t){var u=this.maps.aliasToName,r=this.maps.nameToAliases,i;return i=typeof n=="string"?n:this.getName(n),t&&u[t]!==i&&(u[t]=i),r[i]||(r[i]=[]),t&&Ext.Array.include(r[i],t),this},addNameAliasMappings:function(n){var u=this.maps.aliasToName,f=this.maps.nameToAliases,t,e,i,r;for(t in n)for(e=f[t]||(f[t]=[]),r=0;r<n[t].length;r++)i=n[t][r],u[i]||(u[i]=t,e.push(i));return this},addNameAlternateMappings:function(n){var u=this.maps.alternateToName,f=this.maps.nameToAlternates,t,e,i,r;for(t in n)for(e=f[t]||(f[t]=[]),r=0;r<n[t].length;r++)i=n[t],u[i]||(u[i]=t,e.push(i));return this},getByAlias:function(n){return this.get(this.getNameByAlias(n))},getNameByAlias:function(n){return this.maps.aliasToName[n]||""},getNameByAlternate:function(n){return this.maps.alternateToName[n]||""},getAliasesByName:function(n){return this.maps.nameToAliases[n]||[]},getName:function(n){return n&&n.$className||""},getClass:function(n){return n&&n.self||null},create:function(t,i,r){var u=e();return typeof i=="function"&&(i=i(u)),i.$className=t,new n(u,i,function(){var h=i.postprocessors||f.defaultPostprocessors,v=f.postprocessors,e=[],n,o,c,s,l,u,a;for(delete i.postprocessors,o=0,c=h.length;o<c;o++)if(n=h[o],typeof n=="string"){if(n=v[n],u=n.properties,u===!0)e.push(n.fn);else if(u)for(s=0,l=u.length;s<l;s++)if(a=u[s],i.hasOwnProperty(a)){e.push(n.fn);break}}else e.push(n);i.postprocessors=e;i.createdFn=r;f.processCreate(t,this,i)})},processCreate:function(n,t,i){var r=this,u=i.postprocessors.shift(),f=i.createdFn;if(!u){n&&r.set(n,t);f&&f.call(t,t);n&&r.triggerCreated(n);return}u.call(r,n,t,i,r.processCreate)!==!1&&r.processCreate(n,t,i)},createOverride:function(n,t,i){var r=this,f=t.override,u=t.requires,e=t.uses,o=function(){var s,h;u?(h=u,u=null,Ext.Loader.require(h,o)):(s=r.get(f),delete t.override,delete t.requires,delete t.uses,Ext.override(s,t),r.triggerCreated(n),e&&Ext.Loader.addUsedClasses(e),i&&i.call(s))};r.existCache[n]=!0;r.onCreated(o,r,f);return r},instantiateByAlias:function(){var t=arguments[0],r=i.call(arguments),n=this.getNameByAlias(t);return n||(n=this.maps.aliasToName[t],Ext.syncRequire(n)),r[0]=n,this.instantiate.apply(this,r)},instantiate:function(){var n=arguments[0],f=typeof n,u=i.call(arguments,1),e=n,r,t;return f!="function"?(f!="string"&&u.length===0&&(u=[n],n=n.xclass),t=this.get(n)):t=n,t||(r=this.getNameByAlias(n),r&&(n=r,t=this.get(n))),t||(r=this.getNameByAlternate(n),r&&(n=r,t=this.get(n))),t||(Ext.syncRequire(n),t=this.get(n)),this.getInstantiator(u.length)(t,u)},dynInstantiate:function(n,t){return t=r(t,!0),t.unshift(n),this.instantiate.apply(this,t)},getInstantiator:function(n){var u=this.instantiators,i,t,r;if(i=u[n],!i){for(t=n,r=[],t=0;t<n;t++)r.push("a["+t+"]");i=u[n]=new Function("c","a","return new c("+r.join(",")+")")}return i},postprocessors:{},defaultPostprocessors:[],registerPostprocessor:function(n,t,i,r,u){return r||(r="last"),i||(i=[n]),this.postprocessors[n]={name:n,properties:i||!1,fn:t},this.setDefaultPostprocessorPosition(n,r,u),this},setDefaultPostprocessors:function(n){return this.defaultPostprocessors=r(n),this},setDefaultPostprocessorPosition:function(n,t,i){var r=this.defaultPostprocessors,u;if(typeof t=="string"){if(t==="first")return r.unshift(n),this;if(t==="last")return r.push(n),this;t=t==="after"?1:-1}return u=Ext.Array.indexOf(r,i),u!==-1&&Ext.Array.splice(r,Math.max(0,u+t),0,n),this},getNamesByExpression:function(n){var f=this.maps.nameToAliases,t=[],i,s,e,r,o,u,h;if(n.indexOf("*")!==-1){n=n.replace(/\*/g,"(.*?)");o=new RegExp("^"+n+"$");for(i in f)if(f.hasOwnProperty(i))if(e=f[i],i.search(o)!==-1)t.push(i);else for(u=0,h=e.length;u<h;u++)if(s=e[u],s.search(o)!==-1){t.push(i);break}}else r=this.getNameByAlias(n),r?t.push(r):(r=this.getNameByAlternate(n),r?t.push(r):t.push(n));return t}};f.registerPostprocessor("alias",function(n,i,r){for(var f=r.alias,u=0,e=f.length;u<e;u++)t=f[u],this.setAlias(i,t)},["xtype","alias"]);f.registerPostprocessor("singleton",function(n,t,i,r){return r.call(this,n,new t,i),!1});f.registerPostprocessor("alternateClassName",function(n,t,i){var r=i.alternateClassName,u,f,e;for(r instanceof Array||(r=[r]),u=0,f=r.length;u<f;u++)e=r[u],this.set(e,t)});Ext.apply(Ext,{create:t(f,"instantiate"),widget:function(n,t){var i=n,r,u,e,o;return(typeof i!="string"?(t=n,i=t.xtype):t=t||{},t.isComponent)?t:(r="widget."+i,u=f.getNameByAlias(r),u||(o=!0),e=f.get(u),o||!e)?f.instantiateByAlias(r,t):new e(t)},createByAlias:t(f,"instantiateByAlias"),define:function(n,t){return t.override?f.createOverride.apply(f,arguments):f.create.apply(f,arguments)},getClassName:t(f,"getName"),getDisplayName:function(n){if(n){if(n.displayName)return n.displayName;if(n.$name&&n.$class)return Ext.getClassName(n.$class)+"#"+n.$name;if(n.$className)return n.$className}return"Anonymous"},getClass:t(f,"getClass"),namespace:t(f,"createNamespaces")});Ext.createWidget=Ext.widget;Ext.ns=Ext.namespace;n.registerPreprocessor("className",function(n,t){t.$className&&(n.$className=t.$className)},!0,"first");n.registerPreprocessor("alias",function(n,t){for(var h=n.prototype,f=r(t.xtype),s=r(t.alias),c="widget.",v=c.length,l=Array.prototype.slice.call(h.xtypesChain||[]),o=Ext.merge({},h.xtypesMap||{}),a,u,i=0,e=s.length;i<e;i++)a=s[i],a.substring(0,v)===c&&(u=a.substring(v),Ext.Array.include(f,u));for(n.xtype=t.xtype=f[0],t.xtypes=f,i=0,e=f.length;i<e;i++)u=f[i],o[u]||(o[u]=!0,l.push(u));for(t.xtypesChain=l,t.xtypesMap=o,Ext.Function.interceptAfter(t,"onClassCreated",function(){var n=h.mixins,t,r;for(t in n)if(n.hasOwnProperty(t)&&(r=n[t],f=r.xtypes,f))for(i=0,e=f.length;i<e;i++)u=f[i],o[u]||(o[u]=!0,l.push(u))}),i=0,e=f.length;i<e;i++)u=f[i],Ext.Array.include(s,c+u);t.alias=s},["xtype","alias"])}(Ext.Class,Ext.Function.alias,Array.prototype.slice,Ext.Array.from,Ext.global);Ext.Loader=new function(){var n=this,t=Ext.ClassManager,w=Ext.Class,b=Ext.Function.flexSetter,s=Ext.Function.alias,l=Ext.Function.pass,a=Ext.Function.defer,v=Ext.Array.erase,e=["extend","mixins","requires"],h={},y=[],k=/\/\.\//g,d=/\./g;Ext.apply(n,{isInHistory:h,history:y,config:{enabled:!1,scriptChainDelay:!1,disableCaching:!0,disableCachingParam:"_dc",garbageCollect:!1,paths:{Ext:"."},preserveScripts:!0,scriptCharset:undefined},setConfig:function(t,i){return Ext.isObject(t)&&arguments.length===1?Ext.merge(n.config,t):n.config[t]=Ext.isObject(i)?Ext.merge(n.config[t],i):i,n},getConfig:function(t){return t?n.config[t]:n.config},setPath:b(function(t,i){return n.config.paths[t]=i,n}),addClassPathMappings:function(t){for(var i in t)n.config.paths[i]=t[i];return n},getPath:function(t){var r="",u=n.config.paths,i=n.getPrefix(t);if(i.length>0){if(i===t)return u[i];r=u[i];t=t.substring(i.length+1)}return r.length>0&&(r+="/"),r.replace(k,"/")+t.replace(d,"/")+".js"},getPrefix:function(t){var r=n.config.paths,i,u="";if(r.hasOwnProperty(t))return t;for(i in r)r.hasOwnProperty(i)&&i+"."===t.substring(0,i.length+1)&&i.length>u.length&&(u=i);return u},isAClassNameWithAKnownPrefix:function(t){var i=n.getPrefix(t);return i!==""&&i!==t},require:function(n,t,i){t&&t.call(i)},syncRequire:function(){},exclude:function(t){return{require:function(i,r,u){return n.require(i,r,u,t)},syncRequire:function(i,r,u){return n.syncRequire(i,r,u,t)}}},onReady:function(n,t,i,r){var u;i!==!1&&Ext.onDocumentReady&&(u=n,n=function(){Ext.onDocumentReady(u,t,r)});n.call(t)}});var u=[],i={},c={},p={},r={},o=[],f=[];Ext.apply(n,{documentHead:typeof document!="undefined"&&(document.head||document.getElementsByTagName("head")[0]),isLoading:!1,queue:u,isClassFileLoaded:i,isFileLoaded:c,readyListeners:o,optionalRequires:f,requiresMap:{},numPendingFiles:0,numLoadedFiles:0,hasFileLoadError:!1,classNameToFilePathMap:p,scriptsLoading:0,syncModeEnabled:!1,scriptElements:r,refreshQueue:function(){var o=u.length,r,i,f,e;if(!o&&!n.scriptsLoading)return n.triggerReady();for(r=0;r<o;r++)if(i=u[r],i){if(e=i.requires,e.length>n.numLoadedFiles)continue;for(f=0;f<e.length;)t.isCreated(e[f])?v(e,f,1):f++;if(i.requires.length===0){v(u,r,1);i.callback.call(i.scope);n.refreshQueue();break}}return n},injectScriptElement:function(t,i,r,u,f){var e=document.createElement("script"),h=!1,o=n.config,s=function(){h||(h=!0,e.onload=e.onreadystatechange=e.onerror=null,typeof o.scriptChainDelay=="number"?a(i,o.scriptChainDelay,u):i.call(u),n.cleanupScriptElement(e,o.preserveScripts===!1,o.garbageCollect))},c=function(){a(r,1,u);n.cleanupScriptElement(e,o.preserveScripts===!1,o.garbageCollect)};return e.type="text/javascript",e.onerror=c,f=f||o.scriptCharset,f&&(e.charset=f),"addEventListener"in e?e.onload=s:"readyState"in e?e.onreadystatechange=function(){(this.readyState=="loaded"||this.readyState=="complete")&&s()}:e.onload=s,e.src=t,(n.documentHead||document.getElementsByTagName("head")[0]).appendChild(e),e},removeScriptElement:function(t){return r[t]&&(n.cleanupScriptElement(r[t],!0,!!n.getConfig("garbageCollect")),delete r[t]),n},cleanupScriptElement:function(t,i,r){var u;if(t.onload=t.onreadystatechange=t.onerror=null,i&&(Ext.removeNode(t),r))for(u in t)try{t[u]=null;delete t[u]}catch(f){}return n},loadScript:function(t){var f=n.getConfig(),i=typeof t=="string",u=i?t:t.url,e=!i&&t.onError,o=!i&&t.onLoad,s=!i&&t.scope,c=function(){n.numPendingFiles--;n.scriptsLoading--;e&&e.call(s,"Failed loading '"+u+"', please verify that the file exists");n.numPendingFiles+n.scriptsLoading===0&&n.refreshQueue()},l=function(){n.numPendingFiles--;n.scriptsLoading--;o&&o.call(s);n.numPendingFiles+n.scriptsLoading===0&&n.refreshQueue()},h;n.isLoading=!0;n.numPendingFiles++;n.scriptsLoading++;h=f.disableCaching?u+"?"+f.disableCachingParam+"="+Ext.Date.now():u;r[u]=n.injectScriptElement(h,l,c)},loadScriptFile:function(t,i,u,f,e){if(c[t])return n;var l=n.getConfig(),a=t+(l.disableCaching?"?"+l.disableCachingParam+"="+Ext.Date.now():""),h=!1,o,s,v,y="";if(f=f||n,n.isLoading=!0,e){o=typeof XMLHttpRequest!="undefined"?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");try{o.open("GET",a,!1);o.send(null)}catch(p){h=!0}s=o.status===1223?204:o.status===0&&(self.location||{}).protocol=="file:"?200:o.status;h=h||s===0;h||(s>=200&&s<300||s===304)&&(Ext.isIE||(y="\n//@ sourceURL="+t),Ext.globalEval(o.responseText+y),i.call(f));o=null}else v=function(){},r[t]=n.injectScriptElement(a,i,v,f)},syncRequire:function(){var t=n.syncModeEnabled;t||(n.syncModeEnabled=!0);n.require.apply(n,arguments);t||(n.syncModeEnabled=!1);n.refreshQueue()},require:function(r,f,e,o){var ut={},ft={},tt=[],it=[],a=[],rt=[],k,b,w,d,g,h,v,s,c,y,nt;if(o)for(o=typeof o=="string"?[o]:o,s=0,y=o.length;s<y;s++)if(g=o[s],typeof g=="string"&&g.length>0)for(tt=t.getNamesByExpression(g),c=0,nt=tt.length;c<nt;c++)ut[tt[c]]=!0;for(r=typeof r=="string"?[r]:r?r:[],k=f?f.length>0?function(){for(var i=[],n=0,r=rt.length;n<r;n++)i.push(t.get(rt[n]));return f.apply(this,i)}:f:Ext.emptyFn,e=e||Ext.global,s=0,y=r.length;s<y;s++)if(d=r[s],typeof d=="string"&&d.length>0)for(it=t.getNamesByExpression(d),nt=it.length,c=0;c<nt;c++)v=it[c],ut[v]!==!0&&(rt.push(v),t.isCreated(v)||ft[v]||(ft[v]=!0,a.push(v)));if(a.length>0){if(!n.config.enabled)throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+(a.length>1?"es":"")+": "+a.join(", "));}else return k.call(e),n;for(b=n.syncModeEnabled,b||u.push({requires:a.slice(),callback:k,scope:e}),y=a.length,s=0;s<y;s++)h=a[s],w=n.getPath(h),b&&i.hasOwnProperty(h)&&(n.numPendingFiles--,n.removeScriptElement(w),delete i[h]),i.hasOwnProperty(h)||(i[h]=!1,p[h]=w,n.numPendingFiles++,n.loadScriptFile(w,l(n.onFileLoaded,[h,w],n),l(n.onFileLoadError,[h,w],n),n,b));return b&&(k.call(e),y===1)?t.get(h):n},onFileLoaded:function(t,r){n.numLoadedFiles++;i[t]=!0;c[r]=!0;n.numPendingFiles--;n.numPendingFiles===0&&n.refreshQueue()},onFileLoadError:function(){n.numPendingFiles--;n.hasFileLoadError=!0},addUsedClasses:function(t){var i,r,u;if(t)for(t=typeof t=="string"?[t]:t,r=0,u=t.length;r<u;r++)i=t[r],typeof i!="string"||Ext.Array.contains(f,i)||f.push(i);return n},triggerReady:function(){var i,t=f;if(n.isLoading&&(n.isLoading=!1,t.length!==0))return t=t.slice(),f.length=0,n.require(t,n.triggerReady,n),n;while(o.length&&!n.isLoading)i=o.shift(),i.fn.call(i.scope);return n},onReady:function(t,i,r,u){var f;r!==!1&&Ext.onDocumentReady&&(f=t,t=function(){Ext.onDocumentReady(f,i,u)});n.isLoading?o.push({fn:t,scope:i}):t.call(i)},historyPush:function(t){return t&&i.hasOwnProperty(t)&&!h[t]&&(h[t]=!0,y.push(t)),n}});Ext.disableCacheBuster=function(n,t){var i=new Date;i.setTime(i.getTime()+(n?3650:-1)*864e5);i=i.toGMTString();document.cookie="ext-cache=1; expires="+i+"; path="+(t||"/")};Ext.require=s(n,"require");Ext.syncRequire=s(n,"syncRequire");Ext.exclude=s(n,"exclude");Ext.onReady=function(t,i,r){n.onReady(t,i,!0,r)};w.registerPreprocessor("loader",function(i,r,u,f){for(var p=this,a=[],w=t.getName(i),s,y,h,c,o,l=0,v=e.length;l<v;l++)if(c=e[l],r.hasOwnProperty(c))if(o=r[c],typeof o=="string")a.push(o);else if(o instanceof Array)for(s=0,y=o.length;s<y;s++)h=o[s],typeof h=="string"&&a.push(h);else if(typeof o!="function")for(s in o)o.hasOwnProperty(s)&&(h=o[s],typeof h=="string"&&a.push(h));if(a.length!==0)return n.require(a,function(){for(l=0,v=e.length;l<v;l++)if(c=e[l],r.hasOwnProperty(c))if(o=r[c],typeof o=="string")r[c]=t.get(o);else if(o instanceof Array)for(s=0,y=o.length;s<y;s++)h=o[s],typeof h=="string"&&(r[c][s]=t.get(h));else if(typeof o!="function")for(var n in o)o.hasOwnProperty(n)&&(h=o[n],typeof h=="string"&&(r[c][n]=t.get(h)));f.call(p,i,r,u)}),!1},!0,"after","className");t.registerPostprocessor("uses",function(t,i,r){var u=r.uses;u&&n.addUsedClasses(u)});t.onCreated(n.historyPush)};Ext._classPathMetadata&&(Ext.Loader.addClassPathMappings(Ext._classPathMetadata),Ext._classPathMetadata=null),function(){var n=document.getElementsByTagName("script"),i=n[n.length-1],t=i.src,r=t.substring(0,t.lastIndexOf("/")+1),u=Ext.Loader;u.setConfig({enabled:!0,disableCaching:!0,paths:{Ext:r+"src"}})}();Ext._endTime=(new Date).getTime();Ext._beforereadyhandler&&Ext._beforereadyhandler();Ext.Error=Ext.extend(Error,{statics:{ignore:!1,raise:function(n){n=n||{};Ext.isString(n)&&(n={msg:n});var t=this.raise.caller,i;if(t&&(t.$name&&(n.sourceMethod=t.$name),t.$owner&&(n.sourceClass=t.$owner.$className)),Ext.Error.handle(n)!==!0){i=Ext.Error.prototype.toString.call(n);Ext.log({msg:i,level:"error",dump:n,stack:!0});throw new Ext.Error(n);}},handle:function(){return Ext.Error.ignore}},name:"Ext.Error",constructor:function(n){Ext.isString(n)&&(n={msg:n});var t=this;Ext.apply(t,n);t.message=t.message||t.msg},toString:function(){var n=this,t=n.sourceClass?n.sourceClass:"",i=n.sourceMethod?"."+n.sourceMethod+"(): ":"",r=n.msg||"(No description provided)";return t+i+r}});Ext.deprecated=function(){return Ext.emptyFn};Ext.JSON=new function(){var n=this,i,r,u=null,e=!!{}.hasOwnProperty,f=function(){return u===null&&(u=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]"),u},t=function(n){return n<10?"0"+n:n},o=function(json){return eval("("+json+")")},s=function(n,t){return n===null||n===undefined?"null":Ext.isDate(n)?Ext.JSON.encodeDate(n):Ext.isString(n)?Ext.JSON.encodeString(n):typeof n=="number"?isFinite(n)?String(n):"null":Ext.isBoolean(n)?String(n):n.toJSON?n.toJSON():Ext.isArray(n)?a(n,t):Ext.isObject(n)?v(n,t):typeof n=="function"?"null":"undefined"},h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\","\x0b":"\\u000b"},c=/[\\\"\x00-\x1f\x7f-\uffff]/g,l=function(n){return'"'+n.replace(c,function(n){var t=h[n];return typeof t=="string"?t:"\\u"+("0000"+n.charCodeAt(0).toString(16)).slice(-4)})+'"'},a=function(n){for(var t=["[",""],r=n.length,i=0;i<r;i+=1)t.push(Ext.JSON.encodeValue(n[i]),",");return t[t.length-1]="]",t.join("")},v=function(n){var t=["{",""];for(var i in n)(!e||n.hasOwnProperty(i))&&t.push(Ext.JSON.encodeValue(i),":",Ext.JSON.encodeValue(n[i]),",");return t[t.length-1]="}",t.join("")};n.encodeString=l;n.encodeValue=s;n.encodeDate=function(n){return'"'+n.getFullYear()+"-"+t(n.getMonth()+1)+"-"+t(n.getDate())+"T"+t(n.getHours())+":"+t(n.getMinutes())+":"+t(n.getSeconds())+'"'};n.encode=function(t){return i||(i=f()?JSON.stringify:n.encodeValue),i(t)};n.decode=function(n,t){r||(r=f()?JSON.parse:o);try{return r(n)}catch(i){if(t===!0)return null;Ext.Error.raise({sourceClass:"Ext.JSON",sourceMethod:"decode",msg:"You're trying to decode an invalid JSON String: "+n})}}};Ext.encode=Ext.JSON.encode;Ext.decode=Ext.JSON.decode;Ext.apply(Ext,{userAgent:navigator.userAgent.toLowerCase(),cache:{},idSeed:1e3,windowId:"ext-window",documentId:"ext-document",isReady:!1,enableGarbageCollector:!0,enableListenerCollection:!0,addCacheEntry:function(n,t,i){i=i||t.dom;var u=n||t&&t.id||i.id,r=Ext.cache[u]||(Ext.cache[u]={data:{},events:{},dom:i,skipGarbageCollection:!!(i.getElementById||i.navigator)});return t&&(t.$cache=r,r.el=t),r},updateCacheEntry:function(n,t){return n.dom=t,n.el&&(n.el.dom=t),n},id:function(n,t){var i=this,r="";return n=Ext.getDom(n,!0)||{},n===document?n.id=i.documentId:n===window&&(n.id=i.windowId),n.id||(i.isSandboxed&&(r=Ext.sandboxName.toLowerCase()+"-"),n.id=r+(t||"ext-gen")+ ++Ext.idSeed),n.id},escapeId:function(){var n=/^[a-zA-Z_][a-zA-Z0-9_\-]*$/i,t=/([\W]{1})/g,i=/^(\d)/g,r=function(n,t){return"\\"+t},u=function(n,t){return"\\00"+t.charCodeAt(0).toString(16)+" "};return function(f){return n.test(f)?f:f.replace(t,r).replace(i,u)}}(),getBody:function(){var n;return function(){return n||(n=Ext.get(document.body))}}(),getHead:function(){var n;return function(){return n||(n=Ext.get(document.getElementsByTagName("head")[0]))}}(),getDoc:function(){var n;return function(){return n||(n=Ext.get(document))}}(),getCmp:function(n){return Ext.ComponentManager.get(n)},getOrientation:function(){return window.innerHeight>window.innerWidth?"portrait":"landscape"},destroy:function(){for(var i=arguments.length,n,t=0;t<i;t++)n=arguments[t],n&&(Ext.isArray(n)?this.destroy.apply(this,n):Ext.isFunction(n.destroy)?n.destroy():n.dom&&n.remove())},callback:function(n,t,i,r){Ext.isFunction(n)&&(i=i||[],t=t||window,r?Ext.defer(n,r,t,i):n.apply(t,i))},htmlEncode:function(n){return Ext.String.htmlEncode(n)},htmlDecode:function(n){return Ext.String.htmlDecode(n)},urlAppend:function(n,t){return Ext.String.urlAppend(n,t)}});Ext.ns=Ext.namespace;window.undefined=window.undefined,function(){var n=function(n){return n.test(Ext.userAgent)},p=document.compatMode=="CSS1Compat",f=function(n,t){var i;return n&&(i=t.exec(Ext.userAgent))?parseFloat(i[1]):0},t=document.documentMode,s=n(/opera/),k=s&&n(/version\/10\.5/),w=n(/\bchrome\b/),l=n(/webkit/),r=!w&&n(/safari/),d=r&&n(/applewebkit\/4/),g=r&&n(/version\/3/),nt=r&&n(/version\/4/),tt=r&&n(/version\/5\.0/),it=r&&n(/version\/5/),i=!s&&n(/msie/),a=i&&(n(/msie 7/)&&t!=8&&t!=9||t==7),v=i&&(n(/msie 8/)&&t!=7&&t!=9||t==8),rt=i&&(n(/msie 9/)&&t!=7&&t!=8||t==9),h=i&&n(/msie 6/),e=!l&&n(/gecko/),c=e&&n(/rv:1\.9/),ut=e&&n(/rv:2\.0/),ft=e&&n(/rv:5\./),et=e&&n(/rv:10\./),ot=c&&n(/rv:1\.9\.0/),st=c&&n(/rv:1\.9\.1/),ht=c&&n(/rv:1\.9\.2/),ct=n(/windows|win32/),lt=n(/macintosh|mac os x/),at=n(/linux/),y=null,vt=f(!0,/\bchrome\/(\d+\.\d+)/),u=f(!0,/\bfirefox\/(\d+\.\d+)/),yt=f(i,/msie (\d+\.\d+)/),pt=f(s,/version\/(\d+\.\d+)/),wt=f(r,/version\/(\d+\.\d+)/),bt=f(l,/webkit\/(\d+\.\d+)/),b=/^https/i.test(window.location.protocol),o;try{document.execCommand("BackgroundImageCache",!1,!0)}catch(kt){}o=function(){};o.info=o.warn=o.error=Ext.emptyFn;Ext.setVersion("extjs","4.1.1.1");Ext.apply(Ext,{SSL_SECURE_URL:b&&i?"javascript:''":"about:blank",scopeResetCSS:Ext.buildSettings.scopeResetCSS,resetCls:Ext.buildSettings.baseCSSPrefix+"reset",enableNestedListenerRemoval:!1,USE_NATIVE_JSON:!1,getDom:function(n,t){if(!n||!document)return null;if(n.dom)return n.dom;if(typeof n=="string"){var r=Ext.getElementById(n);return r&&i&&t?n==r.getAttribute("id")?r:null:r}return n},removeNode:h||a||v?function(){var n;return function(t){if(t&&t.tagName.toUpperCase()!="BODY"){Ext.enableNestedListenerRemoval?Ext.EventManager.purgeElement(t):Ext.EventManager.removeAll(t);var i=Ext.cache,r=t.id;i[r]&&(delete i[r].dom,delete i[r]);v&&t.parentNode&&t.parentNode.removeChild(t);n=n||document.createElement("div");n.appendChild(t);n.innerHTML=""}}}():function(n){if(n&&n.parentNode&&n.tagName.toUpperCase()!="BODY"){Ext.enableNestedListenerRemoval?Ext.EventManager.purgeElement(n):Ext.EventManager.removeAll(n);var t=Ext.cache,i=n.id;t[i]&&(delete t[i].dom,delete t[i]);n.parentNode.removeChild(n)}},isStrict:p,isIEQuirks:i&&!p,isOpera:s,isOpera10_5:k,isWebKit:l,isChrome:w,isSafari:r,isSafari3:g,isSafari4:nt,isSafari5:it,isSafari5_0:tt,isSafari2:d,isIE:i,isIE6:h,isIE7:a,isIE8:v,isIE9:rt,isGecko:e,isGecko3:c,isGecko4:ut,isGecko5:ft,isGecko10:et,isFF3_0:ot,isFF3_5:st,isFF3_6:ht,isFF4:4<=u&&u<5,isFF5:5<=u&&u<6,isFF10:10<=u&&u<11,isLinux:at,isWindows:ct,isMac:lt,chromeVersion:vt,firefoxVersion:u,ieVersion:yt,operaVersion:pt,safariVersion:wt,webKitVersion:bt,isSecure:b,BLANK_IMAGE_URL:h||a?"//www.sencha.com/s.gif":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",value:function(n,t,i){return Ext.isEmpty(n,i)?t:n},escapeRe:function(n){return n.replace(/([-.*+?\^${}()|\[\]\/\\])/g,"\\$1")},addBehaviors:function(n){if(Ext.isReady){var i={},r,u,t;for(u in n)if((r=u.split("@"))[1]){t=r[0];i[t]||(i[t]=Ext.select(t));i[t].on(r[1],n[u])}i=null}else Ext.onReady(function(){Ext.addBehaviors(n)})},getScrollbarSize:function(n){if(!Ext.isReady)return{};if(n||!y){var i=document.body,t=document.createElement("div");t.style.width=t.style.height="100px";t.style.overflow="scroll";t.style.position="absolute";i.appendChild(t);y={width:t.offsetWidth-t.clientWidth,height:t.offsetHeight-t.clientHeight};i.removeChild(t)}return y},getScrollBarWidth:function(n){var t=Ext.getScrollbarSize(n);return t.width+2},copyTo:function(n,t,i,r){typeof i=="string"&&(i=i.split(/[,;\s]/));for(var e=i.length,f,u=0;u<e;u++)f=i[u],(r||t.hasOwnProperty(f))&&(n[f]=t[f]);return n},destroyMembers:function(n){for(var t=1,i=arguments,r=i.length;t<r;t++)Ext.destroy(n[i[t]]),delete n[i[t]]},log:o,partition:function(n,t){for(var u=[[],[]],r,f=n.length,i=0;i<f;i++)r=n[i],u[t&&t(r,i,n)||!t&&r?0:1].push(r);return u},invoke:function(n,t){for(var u=[],f=Array.prototype.slice.call(arguments,2),i,e=n.length,r=0;r<e;r++)i=n[r],i&&typeof i[t]=="function"?u.push(i[t].apply(i,f)):u.push(undefined);return u},zip:function(){for(var f=Ext.partition(arguments,function(n){return typeof n!="function"}),t=f[0],u=f[1][0],o=Ext.max(Ext.pluck(t,"length")),i=[],r,e,n=0;n<o;n++)if(i[n]=[],u)i[n]=u.apply(u,Ext.pluck(t,n));else for(r=0,e=t.length;r<e;r++)i[n].push(t[r][n]);return i},toSentence:function(n,t){var i=n.length,r,u;return i<=1?n[0]:(r=n.slice(0,i-1),u=n[i-1],Ext.util.Format.format("{0} {1} {2}",r.join(", "),t||"and",u))},useShims:h})}();Ext.application=function(n){Ext.require("Ext.app.Application");Ext.onReady(function(){new Ext.app.Application(n)})},function(){Ext.ns("Ext.util");Ext.util.Format={};var n=Ext.util.Format,i=/<\/?[^>]+>/gi,r=/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,u=/\r?\n/g,f=/[^\d\.]/g,t;Ext.apply(n,{thousandSeparator:",",decimalSeparator:".",currencyPrecision:2,currencySign:"$",currencyAtEnd:!1,undef:function(n){return n!==undefined?n:""},defaultValue:function(n,t){return n!==undefined&&n!==""?n:t},substr:"ab".substr(-1)!="b"?function(n,t,i){var r=String(n);return t<0?r.substr(Math.max(r.length+t,0),i):r.substr(t,i)}:function(n,t,i){return String(n).substr(t,i)},lowercase:function(n){return String(n).toLowerCase()},uppercase:function(n){return String(n).toUpperCase()},usMoney:function(t){return n.currency(t,"$",2)},currency:function(t,i,r,u){var f="",e=",0",o=0;for(t=+t,t<0&&(t=-t,f="-"),r=Ext.isDefined(r)?r:n.currencyPrecision,e+=e+(r>0?".":"");o<r;o++)e+="0";return t=n.number(t,e),t==0&&(f=""),(u||n.currencyAtEnd)===!0?Ext.String.format("{0}{1}{2}",f,t,i||n.currencySign):Ext.String.format("{0}{1}{2}",f,i||n.currencySign,t)},date:function(n,t){return n?(Ext.isDate(n)||(n=new Date(Date.parse(n))),Ext.Date.dateFormat(n,t||Ext.Date.defaultFormat)):""},dateRenderer:function(t){return function(i){return n.date(i,t)}},stripTags:function(n){return n?String(n).replace(i,""):n},stripScripts:function(n){return n?String(n).replace(r,""):n},fileSize:function(n){return n<1024?n+" bytes":n<1048576?Math.round(n*10/1024)/10+" KB":Math.round(n*10/1048576)/10+" MB"},math:function(){var n={};return function(t,i){return n[i]||(n[i]=Ext.functionFactory("v","return v "+i+";")),n[i](t)}}(),round:function(n,t){var i=Number(n);return typeof t=="number"&&(t=Math.pow(10,t),i=Math.round(n*t)/t),i},number:function(i,r){if(!r)return i;if(i=Ext.Number.from(i,NaN),isNaN(i))return"";var p=n.thousandSeparator,l=n.decimalSeparator,b=!1,a=i<0,v,u,e,s,h,y,w,c,o;if(i=Math.abs(i),r.substr(r.length-2)=="/i"?(t||(t=new RegExp("[^\\d\\"+n.decimalSeparator+"]","g")),r=r.substr(0,r.length-2),b=!0,v=r.indexOf(p)!=-1,u=r.replace(t,"").split(l)):(v=r.indexOf(",")!=-1,u=r.replace(f,"").split(".")),u.length>2||(i=u.length>1?Ext.Number.toFixed(i,u[1].length):Ext.Number.toFixed(i,0)),e=i.toString(),u=e.split("."),v){for(s=u[0],h=[],y=s.length,w=Math.floor(y/3),c=s.length%3||3,o=0;o<y;o+=c)o!==0&&(c=3),h[h.length]=s.substr(o,c),w-=1;e=h.join(p);u[1]&&(e+=l+u[1])}else u[1]&&(e=u[0]+l+u[1]);return a&&(a=e.replace(/[^1-9]/g,"")!==""),(a?"-":"")+r.replace(/[\d,?\.?]+/,e)},numberRenderer:function(t){return function(i){return n.number(i,t)}},plural:function(n,t,i){return n+" "+(n==1?t:i?i:t+"s")},nl2br:function(n){return Ext.isEmpty(n)?"":n.replace(u,"<br/>")},capitalize:Ext.String.capitalize,ellipsis:Ext.String.ellipsis,format:Ext.String.format,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,trim:Ext.String.trim,parseBox:function(n){n=Ext.isEmpty(n)?"":n;Ext.isNumber(n)&&(n=n.toString());var t=n.split(" "),i=t.length;return i==1?t[1]=t[2]=t[3]=t[0]:i==2?(t[2]=t[0],t[3]=t[1]):i==3&&(t[3]=t[1]),{top:parseInt(t[0],10)||0,right:parseInt(t[1],10)||0,bottom:parseInt(t[2],10)||0,left:parseInt(t[3],10)||0}},escapeRegex:function(n){return n.replace(/([\-.*+?\^${}()|\[\]\/\\])/g,"\\$1")}})}();Ext.define("Ext.util.TaskRunner",{interval:10,timerId:null,constructor:function(n){var t=this;typeof n=="number"?t.interval=n:n&&Ext.apply(t,n);t.tasks=[];t.timerFn=Ext.Function.bind(t.onTick,t)},newTask:function(n){var t=new Ext.util.TaskRunner.Task(n);return t.manager=this,t},start:function(n){var t=this,i=(new Date).getTime();return n.pending||(t.tasks.push(n),n.pending=!0),n.stopped=!1,n.taskStartTime=i,n.taskRunTime=n.fireOnStart!==!1?0:n.taskStartTime,n.taskRunCount=0,t.firing||(n.fireOnStart!==!1?t.startTimer(0,i):t.startTimer(n.interval,i)),n},stop:function(n){return n.stopped||(n.stopped=!0,n.onStop&&n.onStop.call(n.scope||n,n)),n},stopAll:function(){Ext.each(this.tasks,this.stop,this)},firing:!1,nextExpires:1e99,onTick:function(){var t=this,o=t.tasks,f=(new Date).getTime(),h=1e99,c=o.length,e,i,r,n,s,u;for(t.timerId=null,t.firing=!0,r=0;r<c||r<(c=o.length);++r){if(n=o[r],!(u=n.stopped)){if(e=n.taskRunTime+n.interval,e<=f){s=1;try{s=n.run.apply(n.scope||n,n.args||[++n.taskRunCount])}catch(l){try{n.onError&&(s=n.onError.call(n.scope||n,n,l))}catch(a){}}n.taskRunTime=f;s===!1||n.taskRunCount===n.repeat?(t.stop(n),u=!0):(u=n.stopped,e=f+n.interval)}!u&&n.duration&&n.duration<=f-n.taskStartTime&&(t.stop(n),u=!0)}u?(n.pending=!1,i||(i=o.slice(0,r))):(i&&i.push(n),h>e&&(h=e))}i&&(t.tasks=i);t.firing=!1;t.tasks.length&&t.startTimer(h-f,(new Date).getTime())},startTimer:function(n,t){var i=this,u=t+n,r=i.timerId;r&&i.nextExpires-u>i.interval&&(clearTimeout(r),r=null);r||(n<i.interval&&(n=i.interval),i.timerId=setTimeout(i.timerFn,n),i.nextExpires=u)}},function(){var t=this,n=t.prototype;n.destroy=n.stopAll;Ext.util.TaskManager=Ext.TaskManager=new t;t.Task=new Ext.Class({isTask:!0,stopped:!0,fireOnStart:!1,constructor:function(n){Ext.apply(this,n)},restart:function(n){n!==undefined&&(this.interval=n);this.manager.start(this)},start:function(n){this.stopped&&this.restart(n)},stop:function(){this.manager.stop(this)}});n=t.Task.prototype;n.destroy=n.stop});Ext.define("Ext.perf.Accumulator",function(){function u(n,t){n.sum+=t;n.min=Math.min(n.min,t);n.max=Math.max(n.max,t)}function o(i){var f=i?i:n()-this.time,e=this,r=e.accum;++r.count;--r.depth||u(r.total,f);u(r.pure,f-e.childTime);t=e.parent;t&&(++t.accum.childCount,t.childTime+=f)}function f(){return{min:Number.MAX_VALUE,max:0,sum:0}}function s(n,t){return function(){var i=n.enter(),r=t.apply(this,arguments);return i.leave(),r}}function e(n,t,i,r){var u={avg:0,min:r.min,max:r.max,sum:0};return n&&(i=i||0,u.sum=r.sum-t*i,u.avg=u.sum/n),u}var t=null,i=Ext.global.chrome,r,n=function(){n=function(){return(new Date).getTime()};var t,r;if(Ext.isChrome&&i&&i.Interval)t=new i.Interval,t.start(),n=function(){return t.microseconds()/1e3};else if(window.ActiveXObject)try{r=new ActiveXObject("SenchaToolbox.Toolbox");Ext.senchaToolbox=r;n=function(){return r.milliseconds}}catch(u){}else Date.now&&(n=Date.now);return Ext.perf.getTimestamp=Ext.perf.Accumulator.getTimestamp=n,n()};return{constructor:function(n){var t=this;t.count=t.childCount=t.depth=t.maxDepth=0;t.pure=f();t.total=f();t.name=n},statics:{getTimestamp:n},format:function(n){r||(r=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>',{time:function(n){return Math.round(n*100)/100}}));var t=this.getData(n);return t.name=this.name,t.pure.type="Pure",t.total.type="Total",t.times=[t.pure,t.total],r.apply(t)},getData:function(n){var t=this;return{count:t.count,childCount:t.childCount,depth:t.maxDepth,pure:e(t.count,t.childCount,n,t.pure),total:e(t.count,t.childCount,n,t.total)}},enter:function(){var i=this,r={accum:i,leave:o,childTime:0,parent:t};return++i.depth,i.maxDepth<i.depth&&(i.maxDepth=i.depth),t=r,r.time=n(),r},monitor:function(n,t,i){var r=this.enter();i?n.apply(t,i):n.call(t);r.leave()},report:function(){Ext.log(this.format())},tap:function(n,t){var o=this,l=typeof t=="string"?[t]:t,r,f,i,h,e,u,c,a=function(){if(typeof n=="string")for(r=Ext.global,h=n.split("."),i=0,e=h.length;i<e;++i)r=r[h[i]];else r=n;for(i=0,e=l.length;i<e;++i)u=l[i],f=u.charAt(0)=="!",f?u=u.substring(1):f=!(u in r.prototype),c=f?r:r.prototype,c[u]=s(o,c[u])};Ext.ClassManager.onCreated(a,o,n);return o}}}(),function(){Ext.perf.getTimestamp=this.getTimestamp});Ext.define("Ext.perf.Monitor",{singleton:!0,alternateClassName:"Ext.Perf",requires:["Ext.perf.Accumulator"],constructor:function(){this.accumulators=[];this.accumulatorsByName={}},calibrate:function(){var n=new Ext.perf.Accumulator("$"),f=n.total,t=Ext.perf.Accumulator.getTimestamp,i=0,r,u,e=t();do r=n.enter(),r.leave(),++i;while(f.sum<100);return u=t(),(u-e)/i},get:function(n){var i=this,t=i.accumulatorsByName[n];return t||(i.accumulatorsByName[n]=t=new Ext.perf.Accumulator(n),i.accumulators.push(t)),t},enter:function(n){return this.get(n).enter()},monitor:function(n,t,i){this.get(n).monitor(t,i)},report:function(){var n=this,t=n.accumulators,i=n.calibrate();t.sort(function(n,t){return n.name<t.name?-1:t.name<n.name?1:0});n.updateGC();Ext.log("Calibration: "+Math.round(i*100)/100+" msec/sample");Ext.each(t,function(n){Ext.log(n.format(i))})},getData:function(n){var t={},i=this.accumulators;return Ext.each(i,function(i){(n||i.count)&&(t[i.name]=i.getData())}),t},reset:function(){Ext.each(this.accumulators,function(n){var t=n;t.count=t.childCount=t.depth=t.maxDepth=0;t.pure={min:Number.MAX_VALUE,max:0,sum:0};t.total={min:Number.MAX_VALUE,max:0,sum:0}})},updateGC:function(){var t=this.accumulatorsByName.GC,i=Ext.senchaToolbox,n;t&&(t.count=i.garbageCollectionCounter||0,t.count&&(n=t.pure,t.total.sum=n.sum=i.garbageCollectionMilliseconds,n.min=n.max=n.sum/t.count,n=t.total,n.min=n.max=n.sum/t.count))},watchGC:function(){Ext.perf.getTimestamp();var n=Ext.senchaToolbox;n&&(this.get("GC"),n.watchGarbageCollector(!1))},setup:function(n){n||(n={render:{"Ext.AbstractComponent":"render"},layout:{"Ext.layout.Context":"run"}});this.currentConfig=n;var t,i,u,r,f;for(t in n)if(n.hasOwnProperty(t)){i=n[t];u=Ext.Perf.get(t);for(r in i)i.hasOwnProperty(r)&&(f=i[r],u.tap(r,f))}this.watchGC()}});Ext.is={init:function(n){var r=this.platforms,u=r.length,t,i;for(n=n||window.navigator,t=0;t<u;t++)i=r[t],this[i.identity]=i.regex.test(n[i.property]);this.Desktop=this.Mac||this.Windows||this.Linux&&!this.Android;this.Tablet=this.iPad;this.Phone=!this.Desktop&&!this.Tablet;this.iOS=this.iPhone||this.iPad||this.iPod;this.Standalone=!!window.navigator.standalone},platforms:[{property:"platform",regex:/iPhone/i,identity:"iPhone"},{property:"platform",regex:/iPod/i,identity:"iPod"},{property:"userAgent",regex:/iPad/i,identity:"iPad"},{property:"userAgent",regex:/Blackberry/i,identity:"Blackberry"},{property:"userAgent",regex:/Android/i,identity:"Android"},{property:"platform",regex:/Mac/i,identity:"Mac"},{property:"platform",regex:/Win/i,identity:"Windows"},{property:"platform",regex:/Linux/i,identity:"Linux"}]};Ext.is.init(),function(){var n=function(n,t){var i=n.ownerDocument.defaultView,r=(i?i.getComputedStyle(n,null):n.currentStyle)||n.style;return r[t]};Ext.supports={init:function(){var i=this,r=document,f=i.tests,u=f.length,n=u&&Ext.isReady&&r.createElement("div"),t,e=[];for(n&&(n.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>',r.body.appendChild(n));u--;)t=f[u],n||t.early?i[t.identity]=t.fn.call(i,r,n):e.push(t);n&&r.body.removeChild(n);i.tests=e},PointerEvents:"pointerEvents"in document.documentElement.style,CSS3BoxShadow:"boxShadow"in document.documentElement.style||"WebkitBoxShadow"in document.documentElement.style||"MozBoxShadow"in document.documentElement.style,ClassList:!!document.documentElement.classList,OrientationChange:typeof orientation!="undefined"&&"onorientationchange"in window,DeviceMotion:"ondevicemotion"in window,Touch:"ontouchstart"in window&&!Ext.is.Desktop,TimeoutActualLateness:function(){setTimeout(function(){Ext.supports.TimeoutActualLateness=arguments.length!==0},0)}(),tests:[{identity:"Transitions",fn:function(t,i){for(var r=["webkit","Moz","o","ms","khtml"],f="TransitionEnd",o=[r[0]+f,"transitionend",r[2]+f,r[3]+f,r[4]+f],s=r.length,u=0,e=!1;u<s;u++)if(n(i,r[u]+"TransitionProperty")){Ext.supports.CSS3Prefix=r[u];Ext.supports.CSS3TransitionEnd=o[u];e=!0;break}return e}},{identity:"RightMargin",fn:function(n,t){var i=n.defaultView;return!(i&&i.getComputedStyle(t.firstChild.firstChild,null).marginRight!="0px")}},{identity:"DisplayChangeInputSelectionBug",early:!0,fn:function(){var n=Ext.webKitVersion;return 0<n&&n<533}},{identity:"DisplayChangeTextAreaSelectionBug",early:!0,fn:function(){var n=Ext.webKitVersion;return 0<n&&n<534.24}},{identity:"TransparentColor",fn:function(n,t,i){return i=n.defaultView,!(i&&i.getComputedStyle(t.lastChild,null).backgroundColor!="transparent")}},{identity:"ComputedStyle",fn:function(n,t,i){return i=n.defaultView,i&&i.getComputedStyle}},{identity:"Svg",fn:function(n){return!!n.createElementNS&&!!n.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect}},{identity:"Canvas",fn:function(n){return!!n.createElement("canvas").getContext}},{identity:"Vml",fn:function(n){var t=n.createElement("div");return t.innerHTML="<!--[if vml]><br/><br/><![endif]-->",t.childNodes.length==2}},{identity:"Float",fn:function(n,t){return!!t.lastChild.style.cssFloat}},{identity:"AudioTag",fn:function(n){return!!n.createElement("audio").canPlayType}},{identity:"History",fn:function(){var n=window.history;return!!(n&&n.pushState)}},{identity:"CSS3DTransform",fn:function(){return typeof WebKitCSSMatrix!="undefined"&&(new WebKitCSSMatrix).hasOwnProperty("m41")}},{identity:"CSS3LinearGradient",fn:function(n,t){var i="background-image:",r="linear-gradient(left top, black, white)",u="-moz-"+r,f="-o-"+r,e=[i+"-webkit-gradient(linear, left top, right bottom, from(black), to(white))",i+r,i+u,i+f];return t.style.cssText=e.join(";"),(""+t.style.backgroundImage).indexOf("gradient")!==-1}},{identity:"CSS3BorderRadius",fn:function(){for(var t=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],n=0;n<t.length;n++)if(document.body.style[t[n]]!==undefined)return!0;return!1}},{identity:"GeoLocation",fn:function(){return typeof navigator!="undefined"&&"geolocation"in navigator||typeof google!="undefined"&&typeof google.gears!="undefined"}},{identity:"MouseEnterLeave",fn:function(n,t){return"onmouseenter"in t&&"onmouseleave"in t}},{identity:"MouseWheel",fn:function(n,t){return"onmousewheel"in t}},{identity:"Opacity",fn:function(n,t){return Ext.isIE6||Ext.isIE7||Ext.isIE8?!1:(t.firstChild.style.cssText="opacity:0.73",t.firstChild.style.opacity=="0.73")}},{identity:"Placeholder",fn:function(n){return"placeholder"in n.createElement("input")}},{identity:"Direct2DBug",fn:function(){return Ext.isString(document.body.style.msTransformOrigin)}},{identity:"BoundingClientRect",fn:function(n,t){return Ext.isFunction(t.getBoundingClientRect)}},{identity:"IncludePaddingInWidthCalculation",fn:function(n,t){return t.childNodes[1].firstChild.offsetWidth==210}},{identity:"IncludePaddingInHeightCalculation",fn:function(n,t){return t.childNodes[1].firstChild.offsetHeight==210}},{identity:"ArraySort",fn:function(){var n=[1,2,3,4,5].sort(function(){return 0});return n[0]===1&&n[1]===2&&n[2]===3&&n[3]===4&&n[4]===5}},{identity:"Range",fn:function(){return!!document.createRange}},{identity:"CreateContextualFragment",fn:function(){var n=Ext.supports.Range?document.createRange():!1;return n&&!!n.createContextualFragment}},{identity:"WindowOnError",fn:function(){return Ext.isIE||Ext.isGecko||Ext.webKitVersion>=534.16}},{identity:"TextAreaMaxLength",fn:function(){var n=document.createElement("textarea");return"maxlength"in n}},{identity:"GetPositionPercentage",fn:function(t,i){return n(i.childNodes[2],"left")=="10%"}}]}}();Ext.supports.init();Ext.util.DelayedTask=function(n,t,i){var u=this,r,f=function(){clearInterval(r);r=null;n.apply(t,i||[])};this.delay=function(e,o,s,h){u.cancel();n=o||n;t=s||t;i=h||i;r=setInterval(f,e)};this.cancel=function(){r&&(clearInterval(r),r=null)}};Ext.require("Ext.util.DelayedTask",function(){Ext.util.Event=Ext.extend(Object,function(){function t(n,t,i,r){return function(){i.target===arguments[0]&&n.apply(r,arguments)}}function i(n,t,i,r){return t.task=new Ext.util.DelayedTask,function(){t.task.delay(i.buffer,n,r,Ext.Array.toArray(arguments))}}function r(n,t,i,r){return function(){var u=new Ext.util.DelayedTask;t.tasks||(t.tasks=[]);t.tasks.push(u);u.delay(i.delay||10,n,r,Ext.Array.toArray(arguments))}}function u(n,t,i,r){return function(){var i=t.ev;return i.removeListener(t.fn,r)&&i.observable&&i.observable.hasListeners[i.name]--,n.apply(r,arguments)}}var n={};return{isEvent:!0,constructor:function(n,t){this.name=t;this.observable=n;this.listeners=[]},addListener:function(n,t,i){var r=this,u;t=t||r.observable;r.isListening(n,t)||(u=r.createListener(n,t,i),r.firing&&(r.listeners=r.listeners.slice(0)),r.listeners.push(u))},createListener:function(f,e,o){o=o||n;e=e||this.observable;var h={fn:f,scope:e,o:o,ev:this},s=f;return o.single&&(s=u(s,h,o,e)),o.target&&(s=t(s,h,o,e)),o.delay&&(s=r(s,h,o,e)),o.buffer&&(s=i(s,h,o,e)),h.fireFn=s,h},findListener:function(n,t){for(var u=this.listeners,r=u.length,i,f;r--;)if(i=u[r],i&&(f=i.scope,i.fn==n&&f==(t||this.observable)))return r;return-1},isListening:function(n,t){return this.findListener(n,t)!==-1},removeListener:function(n,t){var r=this,u,i,f;if(u=r.findListener(n,t),u!=-1){if(i=r.listeners[u],r.firing&&(r.listeners=r.listeners.slice(0)),i.task&&(i.task.cancel(),delete i.task),f=i.tasks&&i.tasks.length,f){while(f--)i.tasks[f].cancel();delete i.tasks}return Ext.Array.erase(r.listeners,u,1),!0}return!1},clearListeners:function(){for(var n=this.listeners,t=n.length;t--;)this.removeListener(n[t].fn,n[t].scope)},fire:function(){var t=this,u=t.listeners,f=u.length,i,r,n;if(f>0)for(t.firing=!0,i=0;i<f;i++)if(n=u[i],r=arguments.length?Array.prototype.slice.call(arguments,0):[],n.o&&r.push(n.o),n&&n.fireFn.apply(n.scope||t.observable,r)===!1)return t.firing=!1;return t.firing=!1,!0}}}())});Ext.define("Ext.util.Observable",{requires:["Ext.util.Event"],statics:{releaseCapture:function(n){n.fireEvent=this.prototype.fireEvent},capture:function(n,t,i){n.fireEvent=Ext.Function.createInterceptor(n.fireEvent,t,i)},observe:function(n,t){if(n&&(n.isObservable||(Ext.applyIf(n,new this),this.capture(n.prototype,n.fireEvent,n)),Ext.isObject(t)))n.on(t);return n},prepareClass:function(n,t){if(!n.HasListeners){var r=Ext.util.Observable,i=function(){},u=n.superclass.HasListeners||t&&t.HasListeners||r.HasListeners;n.prototype.HasListeners=n.HasListeners=i;i.prototype=n.hasListeners=new u}}},isObservable:!0,eventsSuspended:0,constructor:function(n){var t=this;if(Ext.apply(t,n),t.hasListeners||(t.hasListeners=new t.HasListeners),t.events=t.events||{},t.listeners){t.on(t.listeners);t.listeners=null}t.bubbleEvents&&t.enableBubble(t.bubbleEvents)},onClassExtended:function(n){n.HasListeners||Ext.util.Observable.prepareClass(n)},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal|freezeEvent)$/,addManagedListener:function(n,t,i,r,u){var e=this,o=e.managedListeners=e.managedListeners||[],f;if(typeof t!="string"){u=t;for(t in u)u.hasOwnProperty(t)&&(f=u[t],e.eventOptionsRe.test(t)||e.addManagedListener(n,t,f.fn||f,f.scope||u.scope,f.fn?f:u))}else{o.push({item:n,ename:t,fn:i,scope:r,options:u});n.on(t,i,r,u)}},removeManagedListener:function(n,t,i,r){var u=this,f,e,s,h,o;if(typeof t!="string"){f=t;for(t in f)f.hasOwnProperty(t)&&(e=f[t],u.eventOptionsRe.test(t)||u.removeManagedListener(n,t,e.fn||e,e.scope||f.scope))}for(s=u.managedListeners?u.managedListeners.slice():[],o=0,h=s.length;o<h;o++)u.removeManagedListenerItem(!1,s[o],n,t,i,r)},fireEvent:function(n){n=n.toLowerCase();var t=this,i=t.events,r=i&&i[n],u=!0;return r&&t.hasListeners[n]&&(u=t.continueFireEvent(n,Ext.Array.slice(arguments,1),r.bubble)),u},continueFireEvent:function(n,t,i){var r=this,e,u,f=!0;do{if(r.eventsSuspended)return(e=r.eventQueue)&&e.push([n,t,i]),f;if(u=r.events[n],u&&u!=!0&&(f=u.fire.apply(u,t))===!1)break}while(i&&(r=r.getBubbleParent()));return f},getBubbleParent:function(){var t=this,n=t.getBubbleTarget&&t.getBubbleTarget();return n&&n.isObservable?n:null},addListener:function(n,t,i,r){var u=this,e,f,o,s=0;if(typeof n!="string"){r=n;for(n in r)r.hasOwnProperty(n)&&(e=r[n],u.eventOptionsRe.test(n)||u.addListener(n,e.fn||e,e.scope||r.scope,e.fn?e:r))}else n=n.toLowerCase(),f=u.events[n],f&&f.isEvent?s=f.listeners.length:u.events[n]=f=new Ext.util.Event(u,n),typeof t=="string"&&(t=i[t]||u[t]),f.addListener(t,i,r),f.listeners.length!==s&&(o=u.hasListeners,o.hasOwnProperty(n)?++o[n]:o[n]=1)},removeListener:function(n,t,i){var r=this,f,e,u;if(typeof n!="string"){u=n;for(n in u)u.hasOwnProperty(n)&&(f=u[n],r.eventOptionsRe.test(n)||r.removeListener(n,f.fn||f,f.scope||u.scope))}else n=n.toLowerCase(),e=r.events[n],e&&e.isEvent&&e.removeListener(t,i)&&!--r.hasListeners[n]&&delete r.hasListeners[n]},clearListeners:function(){var n=this.events,t;for(var i in n)n.hasOwnProperty(i)&&(t=n[i],t.isEvent&&t.clearListeners());this.clearManagedListeners()},clearManagedListeners:function(){for(var t=this.managedListeners||[],n=0,i=t.length;n<i;n++)this.removeManagedListenerItem(!0,t[n]);this.managedListeners=[]},removeManagedListenerItem:function(n,t,i,r,u,f){!n&&(t.item!==i||t.ename!==r||u&&t.fn!==u||f&&t.scope!==f)||(t.item.un(t.ename,t.fn,t.scope),n||Ext.Array.remove(this.managedListeners,t))},addEvents:function(n){var t=this,f=t.events||(t.events={}),i,r,u;if(typeof n=="string")for(r=arguments,u=r.length;u--;)i=r[u],f[i]||(f[i]=!0);else Ext.applyIf(t.events,n)},hasListener:function(n){return!!this.hasListeners[n.toLowerCase()]},suspendEvents:function(n){this.eventsSuspended+=1;n&&!this.eventQueue&&(this.eventQueue=[])},resumeEvents:function(){var n=this,i=n.eventQueue,r,t;if(n.eventsSuspended&&!--n.eventsSuspended&&(delete n.eventQueue,i))for(r=i.length,t=0;t<r;t++)n.continueFireEvent.apply(n,i[t])},relayEvents:function(n,t,i){for(var f=this,o=t.length,u=0,r,e;u<o;u++)r=t[u],e=i?i+r:r,f.mon(n,r,f.createRelayer(e))},createRelayer:function(n,t){var i=this;return function(){return i.fireEvent.apply(i,[n].concat(Array.prototype.slice.apply(arguments,t||[0,-1])))}},enableBubble:function(n){if(n)for(var r=this,f=typeof n=="string"?arguments:n,o=f.length,e=r.events,t,i,u=0;u<o;++u)t=f[u].toLowerCase(),i=e[t],i&&typeof i!="boolean"||(e[t]=i=new Ext.util.Event(r,t)),r.hasListeners[t]=(r.hasListeners[t]||0)+1,i.bubble=!0}},function(){function u(n){var t=(this.methodEvents=this.methodEvents||{})[n],r,i,u,e=this,f;return t||(this.methodEvents[n]=t={},t.originalFn=this[n],t.methodName=n,t.before=[],t.after=[],f=function(n,t,f){(i=n.apply(t||e,f))!==undefined&&(typeof i=="object"?(r=i.returnValue!==undefined?i.returnValue:i,u=!!i.cancel):i===!1?u=!0:r=i)},this[n]=function(){var h=Array.prototype.slice.call(arguments,0),o,n,s;for(r=i=undefined,u=!1,n=0,s=t.before.length;n<s;n++)if(o=t.before[n],f(o.fn,o.scope,h),u)return r;for((i=t.originalFn.apply(e,h))!==undefined&&(r=i),n=0,s=t.after.length;n<s;n++)if(o=t.after[n],f(o.fn,o.scope,h),u)return r;return r}),t}var n=this,i=n.prototype,r=function(){},t=function(i){if(!i.HasListeners){var r=i.prototype;n.prepareClass(i,this);i.onExtended(function(t){n.prepareClass(t)});r.onClassMixedIn?Ext.override(i,{onClassMixedIn:function(n){t.call(this,n);this.callParent(arguments)}}):r.onClassMixedIn=function(n){t.call(this,n)}}};r.prototype={};i.HasListeners=n.HasListeners=r;n.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener"});n.observeClass=n.observe;Ext.apply(i,{onClassMixedIn:t,beforeMethod:function(n,t,i){u.call(this,n).before.push({fn:t,scope:i})},afterMethod:function(n,t,i){u.call(this,n).after.push({fn:t,scope:i})},removeMethodListener:function(n,t,i){for(var u=this.getMethodEvent(n),r=0,f=u.before.length;r<f;r++)if(u.before[r].fn==t&&u.before[r].scope==i){Ext.Array.erase(u.before,r,1);return}for(r=0,f=u.after.length;r<f;r++)if(u.after[r].fn==t&&u.after[r].scope==i){Ext.Array.erase(u.after,r,1);return}},toggleEventLogging:function(n){Ext.util.Observable[n?"capture":"releaseCapture"](this,function(n){Ext.isDefined(Ext.global.console)&&Ext.global.console.log(n,arguments)})}})});Ext.define("Ext.util.HashMap",{mixins:{observable:"Ext.util.Observable"},constructor:function(n){n=n||{};var t=this,i=n.keyFn;t.addEvents("add","clear","remove","replace");t.mixins.observable.constructor.call(t,n);t.clear(!0);i&&(t.getKey=i)},getCount:function(){return this.length},getData:function(n,t){return t===undefined&&(t=n,n=this.getKey(t)),[n,t]},getKey:function(n){return n.id},add:function(n,t){var i=this;return(t===undefined&&(t=n,n=i.getKey(t)),i.containsKey(n))?i.replace(n,t):(i.map[n]=t,++i.length,i.hasListeners.add&&i.fireEvent("add",i,n,t),t)},replace:function(n,t){var i=this,r=i.map,u;return t===undefined&&(t=n,n=i.getKey(t)),i.containsKey(n)||i.add(n,t),u=r[n],r[n]=t,i.hasListeners.replace&&i.fireEvent("replace",i,n,t,u),t},remove:function(n){var t=this.findKey(n);return t!==undefined?this.removeAtKey(t):!1},removeAtKey:function(n){var t=this,i;return t.containsKey(n)?(i=t.map[n],delete t.map[n],--t.length,t.hasListeners.remove&&t.fireEvent("remove",t,n,i),!0):!1},get:function(n){return this.map[n]},clear:function(n){var t=this;return t.map={},t.length=0,n!==!0&&t.hasListeners.clear&&t.fireEvent("clear",t),t},containsKey:function(n){return this.map[n]!==undefined},contains:function(n){return this.containsKey(this.findKey(n))},getKeys:function(){return this.getArray(!0)},getValues:function(){return this.getArray(!1)},getArray:function(n){var r=[],t,i=this.map;for(t in i)i.hasOwnProperty(t)&&r.push(n?t:i[t]);return r},each:function(n,t){var r=Ext.apply({},this.map),i,u=this.length;t=t||this;for(i in r)if(r.hasOwnProperty(i)&&n.call(t,i,r[i],u)===!1)break;return this},clone:function(){var n=new this.self,i=this.map,t;n.suspendEvents();for(t in i)i.hasOwnProperty(t)&&n.add(t,i[t]);return n.resumeEvents(),n},findKey:function(n){var t,i=this.map;for(t in i)if(i.hasOwnProperty(t)&&i[t]===n)return t;return undefined}});Ext.define("Ext.AbstractManager",{requires:["Ext.util.HashMap"],typeName:"type",constructor:function(n){Ext.apply(this,n||{});this.all=new Ext.util.HashMap;this.types={}},get:function(n){return this.all.get(n)},register:function(n){this.all.add(n)},unregister:function(n){this.all.remove(n)},registerType:function(n,t){this.types[n]=t;t[this.typeName]=n},isRegistered:function(n){return this.types[n]!==undefined},create:function(n,t){var i=n[this.typeName]||n.type||t,r=this.types[i];return new r(n)},onAvailable:function(n,t,i){var r=this.all,u,f;if(r.containsKey(n))u=r.get(n),t.call(i||u,u);else{f=function(u,e,o){e==n&&(t.call(i||o,o),r.un("add",f))};r.on("add",f)}},each:function(n,t){this.all.each(n,t||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.ComponentManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ComponentMgr",singleton:!0,typeName:"xtype",create:function(n,t){return typeof n=="string"?Ext.widget(n):n.isComponent?n:Ext.widget(n.xtype||t,n)},registerType:function(n,t){this.types[n]=t;t[this.typeName]=n;t.prototype[this.typeName]=n}});Ext.define("Ext.ComponentQuery",{singleton:!0,requires:["Ext.ComponentManager"]},function(){var n=this,e="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;",t=function(n,t){return t.method.apply(this,[n].concat(t.args))},i=function(n,t){for(var i=[],r=0,f=n.length,u,e=t!==">";r<f;r++)u=n[r],u.getRefItems&&(i=i.concat(u.getRefItems(e)));return i},o=function(n){for(var r=[],i=0,u=n.length,t;i<u;i++)for(t=n[i];!!(t=t.ownerCt||t.floatParent);)r.push(t);return r},r=function(n,t,i){if(t==="*")return n.slice();for(var f=[],r=0,e=n.length,u;r<e;r++)u=n[r],u.isXType(t,i)&&f.push(u);return f},s=function(n,t){for(var e=Ext.Array,u=[],i=0,f=n.length,r;i<f;i++)r=n[i],r.hasCls(t)&&u.push(r);return u},h=function(n,t,i,r){for(var e=[],f=0,o=n.length,u;f<o;f++)u=n[f],(r?String(u[t])!==r:!u[t])||e.push(u);return e},u=function(n,t){for(var u=[],i=0,f=n.length,r;i<f;i++)r=n[i],r.getItemId()===t&&u.push(r);return u},c=function(t,i,r){return n.pseudos[i](t,r)},l=/^(\s?([>\^])\s?|\s|$)/,a=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,f=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:r},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:h},{re:/^#([\w\-]+)/,method:u},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:c},{re:/^(?:\{([^\}]+)\})/,method:e}];n.Query=Ext.extend(Object,{constructor:function(n){n=n||{};Ext.apply(this,n)},execute:function(n){var e=this.operations,f=0,s=e.length,u,r;for(n?Ext.isArray(n)?r=n:n.isMixedCollection&&(r=n.items):r=Ext.ComponentManager.all.getArray();f<s;f++)if(u=e[f],r=u.mode==="^"?o(r||[n]):u.mode?i(r||[n],u.mode):t(r||i([n]),u),f===s-1)return r;return[]},is:function(n){var u=this.operations,i=Ext.isArray(n)?n:[n],e=i.length,o=u[u.length-1],f,r;if(i=t(i,o),i.length===e){if(u.length>1)for(r=0,f=i.length;r<f;r++)if(Ext.Array.indexOf(this.execute(),i[r])===-1)return!1;return!0}return!1}});Ext.apply(this,{cache:{},pseudos:{not:function(n,t){for(var f=Ext.ComponentQuery,i=0,e=n.length,u=[],o=-1,r;i<e;++i)r=n[i],f.is(r,t)||(u[++o]=r);return u},first:function(n){var t=[];return n.length>0&&t.push(n[0]),t},last:function(n){var t=n.length,i=[];return t>0&&i.push(n[t-1]),i}},query:function(n,t){for(var f=n.split(","),e=f.length,i=0,r=[],o=[],s={},h,c,u;i<e;i++)n=Ext.String.trim(f[i]),h=this.cache[n]||(this.cache[n]=this.parse(n)),r=r.concat(h.execute(t));if(e>1){for(c=r.length,i=0;i<c;i++)u=r[i],s[u.id]||(o.push(u),s[u.id]=!0);r=o}return r},is:function(n,t){if(!t)return!0;for(var r=t.split(","),f=r.length,i=0,u;i<f;i++)if(t=Ext.String.trim(r[i]),u=this.cache[t]||(this.cache[t]=this.parse(t)),u.is(n))return!0;return!1},parse:function(t){for(var e=[],p=f.length,w,i,y,o,h,c,v,b;t&&w!==t;){for(w=t,i=t.match(a),i&&(y=i[1],y==="#"?e.push({method:u,args:[Ext.String.trim(i[2])]}):y==="."?e.push({method:s,args:[Ext.String.trim(i[2])]}):e.push({method:r,args:[Ext.String.trim(i[2]),Boolean(i[3])]}),t=t.replace(i[0],""));!(o=t.match(l));)for(c=0;t&&c<p;c++){if(v=f[c],h=t.match(v.re),b=v.method,h){e.push({method:Ext.isString(v.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[b].concat(h.slice(1)))):v.method,args:h.slice(1)});t=t.replace(h[0],"");break}c===p-1&&Ext.Error.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}o[1]&&(e.push({mode:o[2]||o[1]}),t=t.replace(o[0],""))}return new n.Query({operations:e})}})});Ext.define("Ext.util.ProtoElement",function(){var n=Ext.String.splitWords,t=Ext.Array.toMap;return{isProtoEl:!0,clsProp:"cls",styleProp:"style",removedProp:"removed",styleIsText:!1,constructor:function(i){var r=this;Ext.apply(r,i);r.classList=n(r.cls);r.classMap=t(r.classList);delete r.cls;Ext.isFunction(r.style)?(r.styleFn=r.style,delete r.style):typeof r.style=="string"?r.style=Ext.Element.parseStyles(r.style):r.style&&(r.style=Ext.apply({},r.style))},flush:function(){this.flushClassList=[];this.removedClasses={};delete this.style},addCls:function(t){for(var r=this,f=n(t),s=f.length,h=r.classList,e=r.classMap,o=r.flushClassList,u=0,i;u<s;++u)i=f[u],e[i]||(e[i]=!0,h.push(i),o&&(o.push(i),delete r.removedClasses[i]));return r},hasCls:function(n){return n in this.classMap},removeCls:function(i){for(var u=this,e=u.classList,h=u.classList=[],c=t(n(i)),l=e.length,o=u.classMap,s=u.removedClasses,r,f=0;f<l;++f)r=e[f],c[r]?(s&&o[r]&&(s[r]=!0,Ext.Array.remove(u.flushClassList,r)),delete o[r]):h.push(r);return u},setStyle:function(n,t){var i=this,r=i.style||(i.style={});return typeof n=="string"?arguments.length===1?i.setStyle(Ext.Element.parseStyles(n)):r[n]=t:Ext.apply(r,n),i},writeTo:function(n){var t=this,u=t.flushClassList||t.classList,r=t.removedClasses,i;return t.styleFn?(i=Ext.apply({},t.styleFn()),Ext.apply(i,t.style)):i=t.style,n[t.clsProp]=u.join(" "),i&&(n[t.styleProp]=t.styleIsText?Ext.DomHelper.generateStyles(i):i),r&&(r=Ext.Object.getKeys(r),r.length&&(n[t.removedProp]=r.join(" "))),n}}}());Ext.EventManager=new function(){var n=this,t=document,i=window,r=function(){function n(n){s.push(i+n)}var f=t.body||t.getElementsByTagName("body")[0],i=Ext.baseCSSPrefix,s=[i+"body"],u=[],h=Ext.supports.CSS3LinearGradient,c=Ext.supports.CSS3BorderRadius,r=[],e,o;return f?(e=f.parentNode,Ext.isIE&&(n("ie"),Ext.isIE6?n("ie6"):(n("ie7p"),Ext.isIE7?n("ie7"):(n("ie8p"),Ext.isIE8?n("ie8"):(n("ie9p"),Ext.isIE9&&n("ie9")))),(Ext.isIE6||Ext.isIE7)&&n("ie7m"),(Ext.isIE6||Ext.isIE7||Ext.isIE8)&&n("ie8m"),(Ext.isIE7||Ext.isIE8)&&n("ie78")),Ext.isGecko&&(n("gecko"),Ext.isGecko3&&n("gecko3"),Ext.isGecko4&&n("gecko4"),Ext.isGecko5&&n("gecko5")),Ext.isOpera&&n("opera"),Ext.isWebKit&&n("webkit"),Ext.isSafari&&(n("safari"),Ext.isSafari2&&n("safari2"),Ext.isSafari3&&n("safari3"),Ext.isSafari4&&n("safari4"),Ext.isSafari5&&n("safari5"),Ext.isSafari5_0&&n("safari5_0")),Ext.isChrome&&n("chrome"),Ext.isMac&&n("mac"),Ext.isLinux&&n("linux"),c||n("nbr"),h||n("nlg"),Ext.scopeResetCSS?(o=Ext.resetElementSpec={cls:i+"reset"},h||r.push(i+"nlg"),c||r.push(i+"nbr"),r.length&&(o.cn={cls:r.join(" ")}),Ext.resetElement=Ext.getBody().createChild(o),r.length&&(Ext.resetElement=Ext.get(Ext.resetElement.dom.firstChild))):(Ext.resetElement=Ext.getBody(),n("reset")),e&&(Ext.isBorderBox=Ext.isStrict&&(Ext.isIE6||Ext.isIE7)?!1:!0,Ext.isBorderBox&&u.push(i+"border-box"),Ext.isStrict?u.push(i+"strict"):u.push(i+"quirks"),Ext.fly(e,"_internal").addCls(u)),Ext.fly(f,"_internal").addCls(s),!0):!1};Ext.apply(n,{hasBoundOnReady:!1,hasFiredReady:!1,deferReadyEvent:1,onReadyChain:[],readyEvent:function(){var n=new Ext.util.Event;return n.fire=function(){Ext._beforeReadyTime=Ext._beforeReadyTime||(new Date).getTime();n.self.prototype.fire.apply(n,arguments);Ext._afterReadytime=(new Date).getTime()},n}(),idleEvent:new Ext.util.Event,isReadyPaused:function(){return/[?&]ext-pauseReadyFire\b/i.test(location.search)&&!Ext._continueFireReady},bindReadyEvent:function(){if(!n.hasBoundOnReady)if(t.readyState=="complete")n.onReadyEvent({type:t.readyState||"body"});else document.addEventListener("DOMContentLoaded",n.onReadyEvent,!1),window.addEventListener("load",n.onReadyEvent,!1),n.hasBoundOnReady=!0},onReadyEvent:function(t){t&&t.type&&n.onReadyChain.push(t.type);n.hasBoundOnReady&&(document.removeEventListener("DOMContentLoaded",n.onReadyEvent,!1),window.removeEventListener("load",n.onReadyEvent,!1));Ext.isReady||n.fireDocReady()},fireDocReady:function(){Ext.isReady||(Ext._readyTime=(new Date).getTime(),Ext.isReady=!0,Ext.supports.init(),n.onWindowUnload(),n.readyEvent.onReadyChain=n.onReadyChain,Ext.isNumber(n.deferReadyEvent)?(Ext.Function.defer(n.fireReadyEvent,n.deferReadyEvent),n.hasDocReadyTimer=!0):n.fireReadyEvent())},fireReadyEvent:function(){var t=n.readyEvent;for(n.hasDocReadyTimer=!1,n.isFiring=!0;t.listeners.length&&!n.isReadyPaused();)t.fire();n.isFiring=!1;n.hasFiredReady=!0},onDocumentReady:function(t,i,r){r=r||{};r.single=!0;n.readyEvent.addListener(t,i,r);n.isFiring||n.hasDocReadyTimer||(Ext.isReady?n.fireReadyEvent():n.bindReadyEvent())},stoppedMouseDownEvent:new Ext.util.Event,propRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|freezeEvent)$/,getId:function(n){var r;return n=Ext.getDom(n),r=n===t||n===i?n===t?Ext.documentId:Ext.windowId:Ext.id(n),Ext.cache[r]||Ext.addCacheEntry(r,null,n),r},prepareListenerConfig:function(t,i,r){var o=n.propRe,u,f,e;for(u in i)i.hasOwnProperty(u)&&(o.test(u)||(f=i[u],e=typeof f=="function"?[t,u,f,i.scope,i]:[t,u,f.fn,f.scope,f],r?n.removeListener.apply(n,e):n.addListener.apply(n,e)))},mouseEnterLeaveRe:/mouseenter|mouseleave/,normalizeEvent:function(t,i){return n.mouseEnterLeaveRe.test(t)&&!Ext.supports.MouseEnterLeave?(i&&(i=Ext.Function.createInterceptor(i,n.contains)),t=t=="mouseenter"?"mouseover":"mouseout"):t!="mousewheel"||Ext.supports.MouseWheel||Ext.isOpera||(t="DOMMouseScroll"),{eventName:t,fn:i}},contains:function(t){var r=t.browserEvent.currentTarget,i=n.getRelatedTarget(t);if(r&&r.firstChild)while(i){if(i===r)return!1;i=i.parentNode;i&&i.nodeType!=1&&(i=null)}return!0},addListener:function(i,r,u,f,e){if(typeof r!="string"){n.prepareListenerConfig(i,r);return}var o=i.dom||Ext.getDom(i),h,s;e=e||{};h=n.normalizeEvent(r,u);s=n.createListenerWrap(o,r,h.fn,f,e);o.attachEvent?o.attachEvent("on"+h.eventName,s):o.addEventListener(h.eventName,s,e.capture||!1);o==t&&r=="mousedown"&&n.stoppedMouseDownEvent.addListener(s);n.getEventListenerCache(i.dom?i:o,r).push({fn:u,wrap:s,scope:f})},removeListener:function(i,r,u,f){if(typeof r!="string"){n.prepareListenerConfig(i,r,!0);return}for(var o=Ext.getDom(i),v=i.dom?i:Ext.get(o),c=n.getEventListenerCache(v,r),a=n.normalizeEvent(r).eventName,l=c.length,h,s,e;l--;)if(s=c[l],s&&(!u||s.fn==u)&&(!f||s.scope===f)){if(e=s.wrap,e.task&&(clearTimeout(e.task),delete e.task),h=e.tasks&&e.tasks.length,h){while(h--)clearTimeout(e.tasks[h]);delete e.tasks}o.detachEvent?o.detachEvent("on"+a,e):o.removeEventListener(a,e,!1);e&&o==t&&r=="mousedown"&&n.stoppedMouseDownEvent.removeListener(e);Ext.Array.erase(c,l,1)}},removeAll:function(t){var i=t.dom?t:Ext.get(t),r,u,f;if(i){r=i.$cache||i.getCache();u=r.events;for(f in u)u.hasOwnProperty(f)&&n.removeListener(i,f);r.events={}}},purgeElement:function(t,i){var u=Ext.getDom(t),r=0,f;if(i?n.removeListener(t,i):n.removeAll(t),u&&u.childNodes)for(f=t.childNodes.length;r<f;r++)n.purgeElement(t.childNodes[r],i)},createListenerWrap:function(t,i,r,u,f){f=f||{};var e,o,h=/\\/g,s=function(c,l){return o||(e=["if(!"+Ext.name+") {return;}"],f.buffer||f.delay||f.freezeEvent?e.push("e = new X.EventObjectImpl(e, "+(f.freezeEvent?"true":"false")+");"):e.push("e = X.EventObject.setEvent(e);"),f.delegate?(e.push('var result, t = e.getTarget("'+(f.delegate+"").replace(h,"\\\\")+'", this);'),e.push("if(!t) {return;}")):e.push("var t = e.target, result;"),f.target&&e.push("if(e.target !== options.target) {return;}"),f.stopEvent?e.push("e.stopEvent();"):(f.preventDefault&&e.push("e.preventDefault();"),f.stopPropagation&&e.push("e.stopPropagation();")),f.normalized===!1&&e.push("e = e.browserEvent;"),f.buffer&&(e.push("(wrap.task && clearTimeout(wrap.task));"),e.push("wrap.task = setTimeout(function() {")),f.delay&&(e.push("wrap.tasks = wrap.tasks || [];"),e.push("wrap.tasks.push(setTimeout(function() {")),e.push("result = fn.call(scope || dom, e, t, options);"),f.single&&e.push("evtMgr.removeListener(dom, ename, fn, scope);"),i!=="mousemove"&&(e.push("if (evtMgr.idleEvent.listeners.length) {"),e.push("evtMgr.idleEvent.fire();"),e.push("}")),f.delay&&e.push("}, "+f.delay+"));"),f.buffer&&e.push("}, "+f.buffer+");"),e.push("return result;"),o=Ext.cacheableFunctionFactory("e","options","fn","scope","ename","dom","wrap","args","X","evtMgr",e.join("\n"))),o.call(t,c,f,r,u,i,t,s,l,Ext,n)};return s},getEventListenerCache:function(t,i){var r,u;return t?(r=t.$cache?t.$cache:Ext.cache[n.getId(t)],u=r.events||(r.events={}),u[i]||(u[i]=[])):[]},mouseLeaveRe:/(mouseout|mouseleave)/,mouseEnterRe:/(mouseover|mouseenter)/,stopEvent:function(t){n.stopPropagation(t);n.preventDefault(t)},stopPropagation:function(n){n=n.browserEvent||n;n.stopPropagation?n.stopPropagation():n.cancelBubble=!0},preventDefault:function(n){if(n=n.browserEvent||n,n.preventDefault)n.preventDefault();else{n.returnValue=!1;try{(n.ctrlKey||n.keyCode>111&&n.keyCode<124)&&(n.keyCode=-1)}catch(t){}}},getRelatedTarget:function(t){t=t.browserEvent||t;var i=t.relatedTarget;return i||(n.mouseLeaveRe.test(t.type)?i=t.toElement:n.mouseEnterRe.test(t.type)&&(i=t.fromElement)),n.resolveTextNode(i)},getPageX:function(t){return n.getPageXY(t)[0]},getPageY:function(t){return n.getPageXY(t)[1]},getPageXY:function(n){n=n.browserEvent||n;var u=n.pageX,f=n.pageY,i=t.documentElement,r=t.body;return u||u===0||(u=n.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),f=n.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),[u,f]},getTarget:function(t){return t=t.browserEvent||t,n.resolveTextNode(t.target||t.srcElement)},resolveTextNode:Ext.isGecko?function(n){if(n){var t=HTMLElement.prototype.toString.call(n);if(t!="[xpconnect wrapped native prototype]"&&t!="[object XULElement]")return n.nodeType==3?n.parentNode:n}}:function(n){return n&&n.nodeType==3?n.parentNode:n},curWidth:0,curHeight:0,onWindowResize:function(t,r,u){var f=n.resizeEvent;if(!f){n.resizeEvent=f=new Ext.util.Event;n.on(i,"resize",n.fireResize,null,{buffer:100})}f.addListener(t,r,u)},fireResize:function(){var t=Ext.Element.getViewWidth(),i=Ext.Element.getViewHeight();(n.curHeight!=i||n.curWidth!=t)&&(n.curHeight=i,n.curWidth=t,n.resizeEvent.fire(t,i))},removeResizeListener:function(t,i){var r=n.resizeEvent;r&&r.removeListener(t,i)},onWindowUnload:function(t,r,u){var f=n.unloadEvent;f||(n.unloadEvent=f=new Ext.util.Event,n.addListener(i,"unload",n.fireUnload));t&&f.addListener(t,r,u)},fireUnload:function(){try{t=i=undefined;var u,r,o,f,e;if(n.unloadEvent.fire(),Ext.isGecko3)for(u=Ext.ComponentQuery.query("gridview"),r=0,o=u.length;r<o;r++)u[r].scrollToTop();e=Ext.cache;for(f in e)e.hasOwnProperty(f)&&n.removeAll(f)}catch(s){}},removeUnloadListener:function(t,i){var r=n.unloadEvent;r&&r.removeListener(t,i)},useKeyDown:Ext.isWebKit?parseInt(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1],10)>=525:!(Ext.isGecko&&!Ext.isWindows||Ext.isOpera),getKeyEvent:function(){return n.useKeyDown?"keydown":"keypress"}});"addEventListener"in document||!document.attachEvent||Ext.apply(n,{pollScroll:function(){var t=!0;try{document.documentElement.doScroll("left")}catch(i){t=!1}if(t&&document.body)n.onReadyEvent({type:"doScroll"});else n.scrollTimeout=setTimeout(n.pollScroll,20);return t},scrollTimeout:null,readyStatesRe:/complete/i,checkReadyState:function(){var t=document.readyState;if(n.readyStatesRe.test(t))n.onReadyEvent({type:t})},bindReadyEvent:function(){var i=!0;if(!n.hasBoundOnReady){try{i=window.frameElement===undefined}catch(r){i=!1}if(i&&t.documentElement.doScroll||(n.pollScroll=Ext.emptyFn),n.pollScroll()!==!0)if(t.readyState=="complete")n.onReadyEvent({type:"already "+(t.readyState||"body")});else t.attachEvent("onreadystatechange",n.checkReadyState),window.attachEvent("onload",n.onReadyEvent),n.hasBoundOnReady=!0}},onReadyEvent:function(t){t&&t.type&&n.onReadyChain.push(t.type);n.hasBoundOnReady&&(document.detachEvent("onreadystatechange",n.checkReadyState),window.detachEvent("onload",n.onReadyEvent));Ext.isNumber(n.scrollTimeout)&&(clearTimeout(n.scrollTimeout),delete n.scrollTimeout);Ext.isReady||n.fireDocReady()},onReadyChain:[]});Ext.onReady=function(n,t,i){Ext.Loader.onReady(n,t,!0,i)};Ext.onDocumentReady=n.onDocumentReady;n.on=n.addListener;n.un=n.removeListener;Ext.onReady(r)};Ext.define("Ext.EventObjectImpl",{uses:["Ext.util.Point"],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(){return Ext.isGecko?3:Ext.isMac?(Ext.isSafari&&Ext.webKitVersion>=532?120:12)*3:120}(),clickRe:/(dbl)?click/,safariKeys:{3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},btnMap:Ext.isIE?{1:0,4:1,2:2}:{0:0,1:1,2:2},constructor:function(n,t){n&&this.setEvent(n.browserEvent||n,t)},setEvent:function(n,t){var i=this,r,u;return n==i||n&&n.browserEvent?n:(i.browserEvent=n,n?(r=n.button?i.btnMap[n.button]:n.which?n.which-1:-1,i.clickRe.test(n.type)&&r==-1&&(r=0),u={type:n.type,button:r,shiftKey:n.shiftKey,ctrlKey:n.ctrlKey||n.metaKey||!1,altKey:n.altKey,keyCode:n.keyCode,charCode:n.charCode,target:Ext.EventManager.getTarget(n),relatedTarget:Ext.EventManager.getRelatedTarget(n),currentTarget:n.currentTarget,xy:t?i.getXY():null}):u={button:-1,shiftKey:!1,ctrlKey:!1,altKey:!1,keyCode:0,charCode:0,target:null,xy:[0,0]},Ext.apply(i,u),i)},stopEvent:function(){this.stopPropagation();this.preventDefault()},preventDefault:function(){this.browserEvent&&Ext.EventManager.preventDefault(this.browserEvent)},stopPropagation:function(){var n=this.browserEvent;n&&(n.type=="mousedown"&&Ext.EventManager.stoppedMouseDownEvent.fire(this),Ext.EventManager.stopPropagation(n))},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(n){return Ext.isWebKit?this.safariKeys[n]||n:n},getPageX:function(){return this.getX()},getPageY:function(){return this.getY()},getX:function(){return this.getXY()[0]},getY:function(){return this.getXY()[1]},getXY:function(){return this.xy||(this.xy=Ext.EventManager.getPageXY(this.browserEvent)),this.xy},getTarget:function(n,t,i){return n?Ext.fly(this.target).findParent(n,t,i):i?Ext.get(this.target):this.target},getRelatedTarget:function(n,t,i){return n?Ext.fly(this.relatedTarget).findParent(n,t,i):i?Ext.get(this.relatedTarget):this.relatedTarget},correctWheelDelta:function(n){var i=this.WHEEL_SCALE,t=Math.round(n/i);return!t&&n&&(t=n<0?-1:1),t},getWheelDeltas:function(){var i=this,n=i.browserEvent,r=0,t=0;return Ext.isDefined(n.wheelDeltaX)?(r=n.wheelDeltaX,t=n.wheelDeltaY):n.wheelDelta?t=n.wheelDelta:n.detail&&(t=-n.detail,t>100?t=3:t<-100&&(t=-3),Ext.isDefined(n.axis)&&n.axis===n.HORIZONTAL_AXIS&&(r=t,t=0)),{x:i.correctWheelDelta(r),y:i.correctWheelDelta(t)}},getWheelDelta:function(){var n=this.getWheelDeltas();return n.y},within:function(n,t,i){if(n){var u=t?this.getRelatedTarget():this.getTarget(),r;if(u)return r=Ext.fly(n).contains(u),!r&&i&&(r=u==Ext.getDom(n)),r}return!1},isNavKeyPress:function(){var t=this,n=this.normalizeKey(t.keyCode);return n>=33&&n<=40||n==t.RETURN||n==t.TAB||n==t.ESC},isSpecialKey:function(){var n=this.normalizeKey(this.keyCode);return this.type=="keypress"&&this.ctrlKey||this.isNavKeyPress()||n==this.BACKSPACE||n>=16&&n<=20||n>=44&&n<=46},getPoint:function(){var n=this.getXY();return new Ext.util.Point(n[0],n[1])},hasModifier:function(){return this.ctrlKey||this.altKey||this.shiftKey||this.metaKey},injectEvent:function(){function r(t,i){var r=t!="mousemove";return function(u,f){var e=f.getXY(),o=n.createMouseEvent(u.ownerDocument,t,!0,r,i,e[0],e[1],f.ctrlKey,f.altKey,f.shiftKey,f.metaKey,f.button,f.relatedTarget);n.fireEvent(u,t,o)}}function u(){}var n,t={},i;return!Ext.isIE&&document.createEvent?n={createHtmlEvent:function(n,t,i,r){var u=n.createEvent("HTMLEvents");return u.initEvent(t,i,r),u},createMouseEvent:function(n,t,i,r,u,f,e,o,s,h,c,l,a){var v=n.createEvent("MouseEvents"),y=n.defaultView||window;return v.initMouseEvent?v.initMouseEvent(t,i,r,y,u,f,e,f,e,o,s,h,c,l,a):(v=n.createEvent("UIEvents"),v.initEvent(t,i,r),v.view=y,v.detail=u,v.screenX=f,v.screenY=e,v.clientX=f,v.clientY=e,v.ctrlKey=o,v.altKey=s,v.metaKey=c,v.shiftKey=h,v.button=l,v.relatedTarget=a),v},createUIEvent:function(n,t,i,r,u){var f=n.createEvent("UIEvents"),e=n.defaultView||window;return f.initUIEvent(t,i,r,e,u),f},fireEvent:function(n,t,i){n.dispatchEvent(i)},fixTarget:function(n){return n==window&&!n.dispatchEvent?document:n}}:document.createEventObject&&(i={0:1,1:4,2:2},n={createHtmlEvent:function(n,t,i,r){var u=n.createEventObject();return u.bubbles=i,u.cancelable=r,u},createMouseEvent:function(n,t,r,u,f,e,o,s,h,c,l,a,v){var y=n.createEventObject();return y.bubbles=r,y.cancelable=u,y.detail=f,y.screenX=e,y.screenY=o,y.clientX=e,y.clientY=o,y.ctrlKey=s,y.altKey=h,y.shiftKey=c,y.metaKey=l,y.button=i[a]||a,y.relatedTarget=v,y},createUIEvent:function(n,t,i,r){var u=n.createEventObject();return u.bubbles=i,u.cancelable=r,u},fireEvent:function(n,t,i){n.fireEvent("on"+t,i)},fixTarget:function(n){return n==document?document.documentElement:n}}),Ext.Object.each({load:[!1,!1],unload:[!1,!1],select:[!0,!1],change:[!0,!1],submit:[!0,!0],reset:[!0,!1],resize:[!0,!1],scroll:[!0,!1]},function(i,r){var u=r[0],f=r[1];t[i]=function(t){var r=n.createHtmlEvent(i,u,f);n.fireEvent(t,i,r)}}),Ext.each(["click","dblclick","mousedown","mouseup","mouseover","mousemove","mouseout"],function(n){t[n]=r(n,1)}),Ext.Object.each({focusin:[!0,!1],focusout:[!0,!1],activate:[!0,!0],focus:[!1,!1],blur:[!1,!1]},function(i,r){var u=r[0],f=r[1];t[i]=function(t){var r=n.createUIEvent(t.ownerDocument,i,u,f,1);n.fireEvent(t,i,r)}}),n||(t={},n={fixTarget:function(n){return n}}),function(i){var r=this,e=t[r.type]||u,f=i?i.dom||i:r.getTarget();f=n.fixTarget(f);e(f,r)}}()},function(){Ext.EventObject=new Ext.EventObjectImpl});Ext.define("Ext.dom.AbstractQuery",{select:function(n,t){var f=[],r,i,u,e,o;for(t=t||document,typeof t=="string"&&(t=document.getElementById(t)),n=n.split(","),i=0,e=n.length;i<e;i++)if(typeof n[i]=="string")if(typeof n[i][0]=="@")r=t.getAttributeNode(n[i].substring(1)),f.push(r);else for(r=t.querySelectorAll(n[i]),u=0,o=r.length;u<o;u++)f.push(r[u]);return f},selectNode:function(n,t){return this.select(n,t)[0]},is:function(n,t){return typeof n=="string"&&(n=document.getElementById(n)),this.select(t).indexOf(n)!==-1}});Ext.define("Ext.dom.AbstractHelper",{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:{},decamelizeName:function(){function i(n,t,i){return t+"-"+i.toLowerCase()}var t=/([a-z])([A-Z])/g,n={};return function(r){return n[r]||(n[r]=r.replace(t,i))}}(),generateMarkup:function(n,t){var r=this,u,i,f,e,o;if(typeof n=="string")t.push(n);else if(Ext.isArray(n))for(e=0;e<n.length;e++)n[e]&&r.generateMarkup(n[e],t);else{f=n.tag||"div";t.push("<",f);for(u in n)n.hasOwnProperty(u)&&(i=n[u],r.confRe.test(u)||(typeof i=="object"?(t.push(" ",u,'="'),r.generateStyles(i,t).push('"')):t.push(" ",r.attributeTransform[u]||u,'="',i,'"')));r.emptyTags.test(f)?t.push("/>"):(t.push(">"),(i=n.tpl)&&i.applyOut(n.tplData,t),(i=n.html)&&t.push(i),(i=n.cn||n.children)&&r.generateMarkup(i,t),o=r.closeTags,t.push(o[f]||(o[f]="<\/"+f+">")))}return t},generateStyles:function(n,t){var r=t||[];for(var i in n)n.hasOwnProperty(i)&&r.push(this.decamelizeName(i),":",n[i],";");return t||r.join("")},markup:function(n){if(typeof n=="string")return n;var t=this.generateMarkup(n,[]);return t.join("")},applyStyles:function(n,t){if(t){var i=0,r;if(n=Ext.fly(n),typeof t=="function"&&(t=t.call()),typeof t=="string")for(t=Ext.util.Format.trim(t).split(/\s*(?::|;)\s*/),r=t.length;i<r;)n.setStyle(t[i++],t[i++]);else Ext.isObject(t)&&n.setStyle(t)}},insertHtml:function(n,t,i){var f={},e,r,u,o;return n=n.toLowerCase(),f.beforebegin=["BeforeBegin","previousSibling"],f.afterend=["AfterEnd","nextSibling"],r=t.ownerDocument.createRange(),e="setStart"+(this.endRe.test(n)?"After":"Before"),f[n]?(r[e](t),u=r.createContextualFragment(i),t.parentNode.insertBefore(u,n=="beforebegin"?t:t.nextSibling),t[(n=="beforebegin"?"previous":"next")+"Sibling"]):(o=(n=="afterbegin"?"first":"last")+"Child",t.firstChild?(r[e](t[o]),u=r.createContextualFragment(i),n=="afterbegin"?t.insertBefore(u,t.firstChild):t.appendChild(u)):t.innerHTML=i,t[o])},insertBefore:function(n,t,i){return this.doInsert(n,t,i,"beforebegin")},insertAfter:function(n,t,i){return this.doInsert(n,t,i,"afterend","nextSibling")},insertFirst:function(n,t,i){return this.doInsert(n,t,i,"afterbegin","firstChild")},append:function(n,t,i){return this.doInsert(n,t,i,"beforeend","",!0)},overwrite:function(n,t,i){return n=Ext.getDom(n),n.innerHTML=this.markup(t),i?Ext.get(n.firstChild):n.firstChild},doInsert:function(n,t,i,r){var u=this.insertHtml(r,Ext.getDom(n),this.markup(t));return i?Ext.get(u,!0):u}}),function(){var n=window.document,i=/^\s+|\s+$/g,t=/\s/;Ext.cache||(Ext.cache={});Ext.define("Ext.dom.AbstractElement",{inheritableStatics:{get:function(t){var i=this,u=Ext.dom.Element,r,e,f;return t?typeof t=="string"?t==Ext.windowId?u.get(window):t==Ext.documentId?u.get(n):(r=Ext.cache[t],r&&r.skipGarbageCollection)?r.el:(e=n.getElementById(t))?r&&r.el?Ext.updateCacheEntry(r,e).el:new u(e,!!r):null:t.tagName?((f=t.id)||(f=Ext.id(t)),r=Ext.cache[f],r&&r.el?Ext.updateCacheEntry(r,t).el:new u(t,!!r)):t instanceof i?(t!=i.docEl&&t!=i.winEl&&(f=t.id,r=Ext.cache[f],r&&Ext.updateCacheEntry(r,n.getElementById(f)||t.dom)),t):t.isComposite?t:Ext.isArray(t)?i.select(t):t===n?(i.docEl||(i.docEl=Ext.Object.chain(u.prototype),i.docEl.dom=n,i.docEl.id=Ext.id(n),i.addToCache(i.docEl)),i.docEl):t===window?(i.winEl||(i.winEl=Ext.Object.chain(u.prototype),i.winEl.dom=window,i.winEl.id=Ext.id(window),i.addToCache(i.winEl)),i.winEl):null:null},addToCache:function(n,t){return n&&Ext.addCacheEntry(t,n),n},addMethods:function(){this.override.apply(this,arguments)},mergeClsList:function(){for(var n,e={},f,h,u,o=[],c=!1,r=0,s=arguments.length;r<s;r++)if(n=arguments[r],Ext.isString(n)&&(n=n.replace(i,"").split(t)),n)for(f=0,h=n.length;f<h;f++)u=n[f],e[u]||(r&&(c=!0),e[u]=!0);for(u in e)o.push(u);return o.changed=c,o},removeCls:function(n,r){var e={},u,o,f,s=[],h=!1;if(n)for(Ext.isString(n)&&(n=n.replace(i,"").split(t)),u=0,o=n.length;u<o;u++)e[n[u]]=!0;if(r)for(Ext.isString(r)&&(r=r.split(t)),u=0,o=r.length;u<o;u++)f=r[u],e[f]&&(h=!0,delete e[f]);for(f in e)s.push(f);return s.changed=h,s},VISIBILITY:1,DISPLAY:2,OFFSETS:3,ASCLASS:4},constructor:function(t,i){var u=this,f=typeof t=="string"?n.getElementById(t):t,r;if(!f)return null;if(r=f.id,!i&&r&&Ext.cache[r])return Ext.cache[r].el;u.dom=f;u.id=r||Ext.id(f);u.self.addToCache(u)},set:function(n,t){var u=this.dom,i,r;for(i in n)n.hasOwnProperty(i)&&(r=n[i],i=="style"?this.applyStyles(r):i=="cls"?u.className=r:t!==!1?r===undefined?u.removeAttribute(i):u.setAttribute(i,r):u[i]=r);return this},defaultUnit:"px",is:function(n){return Ext.DomQuery.is(this.dom,n)},getValue:function(n){var t=this.dom.value;return n?parseInt(t,10):t},remove:function(){var n=this,t=n.dom;t&&(Ext.removeNode(t),delete n.dom)},contains:function(n){if(!n)return!1;var t=this,i=n.dom||n;return i===t.dom||Ext.dom.AbstractElement.isAncestor(t.dom,i)},getAttribute:function(n,t){var i=this.dom;return i.getAttributeNS(t,n)||i.getAttribute(t+":"+n)||i.getAttribute(n)||i[n]},update:function(n){return this.dom&&(this.dom.innerHTML=n),this},setHTML:function(n){return this.dom&&(this.dom.innerHTML=n),this},getHTML:function(){return this.dom?this.dom.innerHTML:""},hide:function(){return this.setVisible(!1),this},show:function(){return this.setVisible(!0),this},setVisible:function(n){var t=this,r=t.self,u=t.getVisibilityMode(),i=Ext.baseCSSPrefix;switch(u){case r.VISIBILITY:t.removeCls([i+"hidden-display",i+"hidden-offsets"]);t[n?"removeCls":"addCls"](i+"hidden-visibility");break;case r.DISPLAY:t.removeCls([i+"hidden-visibility",i+"hidden-offsets"]);t[n?"removeCls":"addCls"](i+"hidden-display");break;case r.OFFSETS:t.removeCls([i+"hidden-visibility",i+"hidden-display"]);t[n?"removeCls":"addCls"](i+"hidden-offsets")}return t},getVisibilityMode:function(){var t=(this.$cache||this.getCache()).data,n=t.visibilityMode;return n===undefined&&(t.visibilityMode=n=this.self.DISPLAY),n},setVisibilityMode:function(n){return(this.$cache||this.getCache()).data.visibilityMode=n,this},getCache:function(){var n=this,t=n.dom.id||Ext.id(n.dom);return n.$cache=Ext.cache[t]||Ext.addCacheEntry(t,null,n.dom),n.$cache}},function(){var t=this;Ext.getDetachedBody=function(){var i=t.detachedBodyEl;return i||(i=n.createElement("div"),t.detachedBodyEl=i=new t.Fly(i),i.isDetachedBody=!0),i};Ext.getElementById=function(i){var r=n.getElementById(i),u;return!r&&(u=t.detachedBodyEl)&&(r=u.dom.querySelector("#"+Ext.escapeId(i))),r};Ext.get=function(n){return Ext.dom.Element.get(n)};this.addStatics({Fly:new Ext.Class({extend:t,isFly:!0,constructor:function(n){this.dom=n},attach:function(n){return this.dom=n,this.$cache=n.id?Ext.cache[n.id]:null,this}}),_flyweights:{},fly:function(n,i){var r=null,u=t._flyweights;return i=i||"_global",n=Ext.getDom(n),n&&(r=u[i]||(u[i]=new t.Fly),r.dom=n,r.$cache=n.id?Ext.cache[n.id]:null),r}});Ext.fly=function(){return t.fly.apply(t,arguments)},function(t){t.destroy=t.remove;t.getById=n.querySelector?function(t,i){var r=n.getElementById(t)||this.dom.querySelector("#"+Ext.escapeId(t));return i?r:r?Ext.get(r):null}:function(t,i){var r=n.getElementById(t);return i?r:r?Ext.get(r):null}}(this.prototype)})}();Ext.dom.AbstractElement.addInheritableStatics({unitRe:/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,camelRe:/(-[a-z])/gi,cssRe:/([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,opacityRe:/alpha\(opacity=(.*)\)/i,propertyCache:{},defaultUnit:"px",borders:{l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"},paddings:{l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"},margins:{l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"},addUnits:function(n,t){return typeof n=="number"?n+(t||this.defaultUnit||"px"):n===""||n=="auto"||n===undefined||n===null?n||"":this.unitRe.test(n)?n:n||""},isAncestor:function(n,t){var i=!1;if(n=Ext.getDom(n),t=Ext.getDom(t),n&&t){if(n.contains)return n.contains(t);if(n.compareDocumentPosition)return!!(n.compareDocumentPosition(t)&16);while(t=t.parentNode)i=t==n||i}return i},parseBox:function(n){typeof n!="string"&&(n=n.toString());var t=n.split(" "),i=t.length;return i==1?t[1]=t[2]=t[3]=t[0]:i==2?(t[2]=t[0],t[3]=t[1]):i==3&&(t[3]=t[1]),{top:parseFloat(t[0])||0,right:parseFloat(t[1])||0,bottom:parseFloat(t[2])||0,left:parseFloat(t[3])||0}},unitizeBox:function(n,t){var i=this.addUnits,r=this.parseBox(n);return i(r.top,t)+" "+i(r.right,t)+" "+i(r.bottom,t)+" "+i(r.left,t)},camelReplaceFn:function(n,t){return t.charAt(1).toUpperCase()},normalize:function(n){return n=="float"&&(n=Ext.supports.Float?"cssFloat":"styleFloat"),this.propertyCache[n]||(this.propertyCache[n]=n.replace(this.camelRe,this.camelReplaceFn))},getDocumentHeight:function(){return Math.max(Ext.isStrict?document.documentElement.scrollHeight:document.body.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return Math.max(Ext.isStrict?document.documentElement.scrollWidth:document.body.scrollWidth,this.getViewportWidth())},getViewportHeight:function(){return window.innerHeight},getViewportWidth:function(){return window.innerWidth},getViewSize:function(){return{width:window.innerWidth,height:window.innerHeight}},getOrientation:function(){return Ext.supports.OrientationChange?window.orientation==0?"portrait":"landscape":window.innerHeight>window.innerWidth?"portrait":"landscape"},fromPoint:function(n,t){return Ext.get(document.elementFromPoint(n,t))},parseStyles:function(n){var i={},r=this.cssRe,t;if(n)for(r.lastIndex=0;t=r.exec(n);)i[t[1]]=t[2];return i}}),function(){function e(n,t,i){return function(){n.selectionStart=t;n.selectionEnd=i}}var n=document,r=Ext.dom.AbstractElement,i=null,u=n.compatMode=="CSS1Compat",t,f=function(n){return t||(t=new r.Fly),t.attach(n),t};"activeElement"in n||!n.addEventListener||n.addEventListener("focus",function(t){t&&t.target&&(i=t.target==n?null:t.target)},!0);r.addInheritableStatics({getActiveElement:function(){return n.activeElement||i},getRightMarginFixCleaner:function(t){var s=Ext.supports,h=s.DisplayChangeInputSelectionBug,c=s.DisplayChangeTextAreaSelectionBug,r,u,f,o;return(h||c)&&(r=n.activeElement||i,u=r&&r.tagName,(c&&u=="TEXTAREA"||h&&u=="INPUT"&&r.type=="text")&&Ext.dom.Element.isAncestor(t,r)&&(f=r.selectionStart,o=r.selectionEnd,Ext.isNumber(f)&&Ext.isNumber(o)))?e(r,f,o):Ext.emptyFn},getViewWidth:function(n){return n?Ext.dom.Element.getDocumentWidth():Ext.dom.Element.getViewportWidth()},getViewHeight:function(n){return n?Ext.dom.Element.getDocumentHeight():Ext.dom.Element.getViewportHeight()},getDocumentHeight:function(){return Math.max(u?n.documentElement.scrollHeight:n.body.scrollHeight,Ext.dom.Element.getViewportHeight())},getDocumentWidth:function(){return Math.max(u?n.documentElement.scrollWidth:n.body.scrollWidth,Ext.dom.Element.getViewportWidth())},getViewportHeight:function(){return Ext.isIE?Ext.isStrict?n.documentElement.clientHeight:n.body.clientHeight:self.innerHeight},getViewportWidth:function(){return!Ext.isStrict&&!Ext.isOpera?n.body.clientWidth:Ext.isIE?n.documentElement.clientWidth:self.innerWidth},getY:function(n){return Ext.dom.Element.getXY(n)[1]},getX:function(n){return Ext.dom.Element.getXY(n)[0]},getXY:function(t){var r=n.body,e=n.documentElement,o=0,s=0,h=[0,0],c=Math.round,i,u;if(t=Ext.getDom(t),t!=n&&t!=r){if(Ext.isIE)try{i=t.getBoundingClientRect();s=e.clientTop||r.clientTop;o=e.clientLeft||r.clientLeft}catch(l){i={left:0,top:0}}else i=t.getBoundingClientRect();u=f(document).getScroll();h=[c(i.left+u.left-o),c(i.top+u.top-s)]}return h},setXY:function(n,t){(n=Ext.fly(n,"_setXY")).position();var i=n.translatePoints(t),u=n.dom.style;for(var r in i)isNaN(i[r])||(u[r]=i[r]+"px")},setX:function(n,t){Ext.dom.Element.setXY(n,[t,!1])},setY:function(n,t){Ext.dom.Element.setXY(n,[!1,t])},serializeForm:function(n){for(var c=n.elements||(document.forms[n]||Ext.getDom(n)).elements,l=!1,u=encodeURIComponent,f="",y=c.length,t,e,r,h,a,s,v,i,o=0;o<y;o++)if(t=c[o],e=t.name,r=t.type,h=t.options,!t.disabled&&e)if(/select-(one|multiple)/i.test(r))for(v=h.length,s=0;s<v;s++)i=h[s],i.selected&&(a=i.hasAttribute?i.hasAttribute("value"):i.getAttributeNode("value").specified,f+=Ext.String.format("{0}={1}&",u(e),u(a?i.value:i.text)));else/file|undefined|reset|button/i.test(r)||/radio|checkbox/i.test(r)&&!t.checked||r=="submit"&&l||(f+=u(e)+"="+u(t.value)+"&",l=/submit/i.test(r));return f.substr(0,f.length-1)}})}();Ext.dom.AbstractElement.override({getAnchorXY:function(n,t,i){n=(n||"tl").toLowerCase();i=i||{};var e=this,o=e.dom==document.body||e.dom==document,r=i.width||o?window.innerWidth:e.getWidth(),u=i.height||o?window.innerHeight:e.getHeight(),s,f=Math.round,h=e.getXY(),c=o?0:t?0:h[0],l=o?0:t?0:h[1],a={c:[f(r*.5),f(u*.5)],t:[f(r*.5),0],l:[0,f(u*.5)],r:[r,f(u*.5)],b:[f(r*.5),u],tl:[0,0],bl:[0,u],br:[r,u],tr:[r,0]};return s=a[n],[s[0]+c,s[1]+l]},alignToRe:/^([a-z]+)-([a-z]+)(\?)?$/,getAlignToXY:function(n,t,i,r){r=!!r;n=Ext.get(n);i=i||[0,0];t&&t!="?"?/-/.test(t)||t===""||(t="tl-"+t):t="tl-bl?";t=t.toLowerCase();var a=this,h=t.match(this.alignToRe),nt=window.innerWidth,tt=window.innerHeight,e="",o="",v,y,u,f,p,w,b,k,d,g,c,l,s,it;if(!h)throw"Element.alignTo with an invalid alignment "+t;return e=h[1],o=h[2],it=!!h[3],v=a.getAnchorXY(e,!0),y=n.getAnchorXY(o,r),u=y[0]-v[0]+i[0],f=y[1]-v[1]+i[1],it&&(c=a.getWidth(),l=a.getHeight(),s=n.getPageBox(),k=e.charAt(0),b=e.charAt(e.length-1),g=o.charAt(0),d=o.charAt(o.length-1),w=k=="t"&&g=="b"||k=="b"&&g=="t",p=b=="r"&&d=="l"||b=="l"&&d=="r",u+c>nt&&(u=p?s.left-c:nt-c),u<0&&(u=p?s.right:0),f+l>tt&&(f=w?s.top-l:tt-l),f<0&&(f=w?s.bottom:0)),[u,f]},getAnchor:function(){var t=(this.$cache||this.getCache()).data,n;if(this.dom)return n=t._anchor,n||(n=t._anchor={}),n},adjustForConstraints:function(n,t){var i=this.getConstrainVector(t,n);return i&&(n[0]+=i[0],n[1]+=i[1]),n}});Ext.dom.AbstractElement.addMethods({appendChild:function(n){return Ext.get(n).appendTo(this)},appendTo:function(n){return Ext.getDom(n).appendChild(this.dom),this},insertBefore:function(n){return n=Ext.getDom(n),n.parentNode.insertBefore(this.dom,n),this},insertAfter:function(n){return n=Ext.getDom(n),n.parentNode.insertBefore(this.dom,n.nextSibling),this},insertFirst:function(n,t){return n=n||{},n.nodeType||n.dom||typeof n=="string"?(n=Ext.getDom(n),this.dom.insertBefore(n,this.dom.firstChild),t?n:Ext.get(n)):this.createChild(n,this.dom.firstChild,t)},insertSibling:function(n,t,i){var u=this,f=(t||"before").toLowerCase()=="after",r,o,s,e;if(Ext.isArray(n)){for(o=u,s=n.length,e=0;e<s;e++)r=Ext.fly(o,"_internal").insertSibling(n[e],t,i),f&&(o=r);return r}return n=n||{},n.nodeType||n.dom?(r=u.dom.parentNode.insertBefore(Ext.getDom(n),f?u.dom.nextSibling:u.dom),i||(r=Ext.get(r))):r=f&&!u.dom.nextSibling?Ext.core.DomHelper.append(u.dom.parentNode,n,!i):Ext.core.DomHelper[f?"insertAfter":"insertBefore"](u.dom,n,!i),r},replace:function(n){return n=Ext.get(n),this.insertBefore(n),n.remove(),this},replaceWith:function(n){var t=this;return n.nodeType||n.dom||typeof n=="string"?(n=Ext.get(n),t.dom.parentNode.insertBefore(n,t.dom)):n=Ext.core.DomHelper.insertBefore(t.dom,n),delete Ext.cache[t.id],Ext.removeNode(t.dom),t.id=Ext.id(t.dom=n),Ext.dom.AbstractElement.addToCache(t.isFlyweight?new Ext.dom.AbstractElement(t.dom):t),t},createChild:function(n,t,i){return n=n||{tag:"div"},t?Ext.core.DomHelper.insertBefore(t,n,i!==!0):Ext.core.DomHelper[this.dom.firstChild?"append":"insertFirst"](this.dom,n,i!==!0)},wrap:function(n,t,i){var r=Ext.core.DomHelper.insertBefore(this.dom,n||{tag:"div"},!0),u=r;return i&&(u=Ext.DomQuery.selectNode(i,r.dom)),u.appendChild(this.dom),t?r.dom:r},insertHtml:function(n,t,i){var r=Ext.core.DomHelper.insertHtml(n,this.dom,t);return i?Ext.get(r):r}}),function(){var n=Ext.dom.AbstractElement;n.override({getX:function(n){return this.getXY(n)[0]},getY:function(n){return this.getXY(n)[1]},getXY:function(){var n=window.webkitConvertPointFromNodeToPage(this.dom,new WebKitPoint(0,0));return[n.x,n.y]},getOffsetsTo:function(n){var t=this.getXY(),i=Ext.fly(n,"_internal").getXY();return[t[0]-i[0],t[1]-i[1]]},setX:function(n){return this.setXY([n,this.getY()])},setY:function(n){return this.setXY([this.getX(),n])},setLeft:function(t){return this.setStyle("left",n.addUnits(t)),this},setTop:function(t){return this.setStyle("top",n.addUnits(t)),this},setRight:function(t){return this.setStyle("right",n.addUnits(t)),this},setBottom:function(t){return this.setStyle("bottom",n.addUnits(t)),this},setXY:function(n){var r=this,t,u,i;arguments.length>1&&(n=[n,arguments[1]]);t=r.translatePoints(n);u=r.dom.style;for(i in t)t.hasOwnProperty(i)&&(isNaN(t[i])||(u[i]=t[i]+"px"));return r},getLeft:function(){return parseInt(this.getStyle("left"),10)||0},getRight:function(){return parseInt(this.getStyle("right"),10)||0},getTop:function(){return parseInt(this.getStyle("top"),10)||0},getBottom:function(){return parseInt(this.getStyle("bottom"),10)||0},translatePoints:function(n,t){t=isNaN(n[1])?t:n[1];n=isNaN(n[0])?n:n[0];var i=this,f=i.isStyle("position","relative"),e=i.getXY(),r=parseInt(i.getStyle("left"),10),u=parseInt(i.getStyle("top"),10);return r=isNaN(r)?f?0:i.dom.offsetLeft:r,u=isNaN(u)?f?0:i.dom.offsetTop:u,{left:n-e[0]+r,top:t-e[1]+u}},setBox:function(n){var t=this,i=n.width,r=n.height,u=n.top,f=n.left;return f!==undefined&&t.setLeft(f),u!==undefined&&t.setTop(u),i!==undefined&&t.setWidth(i),r!==undefined&&t.setHeight(r),this},getBox:function(n,t){var i=this,o=i.dom,s=o.offsetWidth,h=o.offsetHeight,u,r,f,c,e,l;return u=t?n?[0,0]:[parseInt(i.getStyle("left"),10)||0,parseInt(i.getStyle("top"),10)||0]:i.getXY(),n?(f=i.getBorderWidth.call(i,"l")+i.getPadding.call(i,"l"),c=i.getBorderWidth.call(i,"r")+i.getPadding.call(i,"r"),e=i.getBorderWidth.call(i,"t")+i.getPadding.call(i,"t"),l=i.getBorderWidth.call(i,"b")+i.getPadding.call(i,"b"),r={x:u[0]+f,y:u[1]+e,0:u[0]+f,1:u[1]+e,width:s-(f+c),height:h-(e+l)}):r={x:u[0],y:u[1],0:u[0],1:u[1],width:s,height:h},r.left=r.x,r.top=r.y,r.right=r.x+r.width,r.bottom=r.y+r.height,r},getPageBox:function(n){var r=this,i=r.dom,u=i.offsetWidth,f=i.offsetHeight,t=r.getXY(),e=t[1],o=t[0]+u,s=t[1]+f,h=t[0];return i?n?new Ext.util.Region(e,o,s,h):{left:h,top:e,width:u,height:f,right:o,bottom:s}:new Ext.util.Region}})}(),function(){var n=Ext.dom.AbstractElement,b=document.defaultView,k=Ext.Array,t=/^\s+|\s+$/g,v=/\w/g,l=/\s+/,a=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,i=Ext.supports.ClassList,r="padding",u="margin",f="border",o="-left",s="-right",h="-top",c="-bottom",e="-width",y={l:f+o+e,r:f+s+e,t:f+h+e,b:f+c+e},p={l:r+o,r:r+s,t:r+h,b:r+c},w={l:u+o,r:u+s,t:u+h,b:u+c};n.override({styleHooks:{},addStyles:function(n,t){var o=0,r=(n||"").match(v),i,u=r.length,f,e=[];if(u==1)o=Math.abs(parseFloat(this.getStyle(t[r[0]]))||0);else if(u){for(i=0;i<u;i++)f=r[i],e.push(t[f]);for(e=this.getStyle(e),i=0;i<u;i++)f=r[i],o+=Math.abs(parseFloat(e[t[f]])||0)}return o},addCls:i?function(n){var e=this,r=e.dom,o,i,f,s,u;if(typeof n=="string"&&(n=n.replace(t,"").split(l)),r&&n&&!!(s=n.length))if(r.className){for(o=r.classList,f=0;f<s;++f)u=n[f],u&&(o.contains(u)||(i?i.push(u):(i=r.className.replace(t,""),i=i?[i,u]:[u])));i&&(r.className=i.join(" "))}else r.className=n.join(" ");return e}:function(n){var r=this,t=r.dom,i;return t&&n&&n.length&&(i=Ext.Element.mergeClsList(t.className,n),i.changed&&(t.className=i.join(" "))),r},removeCls:function(n){var f=this,r=f.dom,e,u;return typeof n=="string"&&(n=n.replace(t,"").split(l)),r&&r.className&&n&&!!(e=n.length)&&(e==1&&i?n[0]&&r.classList.remove(n[0]):(u=Ext.Element.removeCls(r.className,n),u.changed&&(r.className=u.join(" ")))),f},radioCls:function(n){var r=this.dom.parentNode.childNodes,t,i,u;for(n=Ext.isArray(n)?n:[n],i=0,u=r.length;i<u;i++)t=r[i],t&&t.nodeType==1&&Ext.fly(t,"_internal").removeCls(n);return this.addCls(n)},toggleCls:i?function(n){var i=this,r=i.dom;return r&&(n=n.replace(t,""),n&&r.classList.toggle(n)),i}:function(n){var t=this;return t.hasCls(n)?t.removeCls(n):t.addCls(n)},hasCls:i?function(n){var t=this.dom;return t&&n?t.classList.contains(n):!1}:function(n){var t=this.dom;return t?n&&(" "+t.className+" ").indexOf(" "+n+" ")!=-1:!1},replaceCls:function(n,t){return this.removeCls(n).addCls(t)},isStyle:function(n,t){return this.getStyle(n)==t},getStyle:function(t,i){var h=this,u=h.dom,v=typeof t!="string",y=h.styleHooks,r=t,c=r,p=1,l,w,o,f,s,e,a;if(v&&(o={},r=c[0],a=0,!(p=c.length)))return o;if(!u||u.documentElement)return o||"";l=u.style;i?e=l:(e=u.ownerDocument.defaultView.getComputedStyle(u,null),e||(i=!0,e=l));do{if(f=y[r],f||(y[r]=f={name:n.normalize(r)}),f.get?s=f.get(u,h,i,e):(w=f.name,s=e[w]),!v)return s;o[r]=s;r=c[++a]}while(a<p);return o},getStyles:function(){var n=Ext.Array.slice(arguments),t=n.length,i;return t&&typeof n[t-1]=="boolean"&&(i=n.pop()),this.getStyle(n,i)},isTransparent:function(n){var t=this.getStyle(n);return t?a.test(t):!1},setStyle:function(t,i){var f=this,e=f.dom,o=f.styleHooks,s=e.style,u=t,r;if(typeof u=="string")r=o[u],r||(o[u]=r={name:n.normalize(u)}),i=i==null?"":i,r.set?r.set(e,i,f):s[r.name]=i,r.afterSet&&r.afterSet(e,i,f);else for(u in t)t.hasOwnProperty(u)&&(r=o[u],r||(o[u]=r={name:n.normalize(u)}),i=t[u],i=i==null?"":i,r.set?r.set(e,i,f):s[r.name]=i,r.afterSet&&r.afterSet(e,i,f));return f},getHeight:function(n){var t=this.dom,i=n?t.clientHeight-this.getPadding("tb"):t.offsetHeight;return i>0?i:0},getWidth:function(n){var t=this.dom,i=n?t.clientWidth-this.getPadding("lr"):t.offsetWidth;return i>0?i:0},setWidth:function(t){var i=this;return i.dom.style.width=n.addUnits(t),i},setHeight:function(t){var i=this;return i.dom.style.height=n.addUnits(t),i},getBorderWidth:function(n){return this.addStyles(n,y)},getPadding:function(n){return this.addStyles(n,p)},margins:w,applyStyles:function(t){if(t){var i,r,u=this.dom;if(typeof t=="function"&&(t=t.call()),typeof t=="string")for(t=Ext.util.Format.trim(t).split(/\s*(?::|;)\s*/),i=0,r=t.length;i<r;)u.style[n.normalize(t[i++])]=t[i++];else typeof t=="object"&&this.setStyle(t)}},setSize:function(t,i){var r=this,u=r.dom.style;return Ext.isObject(t)&&(i=t.height,t=t.width),u.width=n.addUnits(t),u.height=n.addUnits(i),r},getViewSize:function(){var i=document,t=this.dom;return t==i||t==i.body?{width:n.getViewportWidth(),height:n.getViewportHeight()}:{width:t.clientWidth,height:t.clientHeight}},getSize:function(n){var t=this.dom;return{width:Math.max(0,n?t.clientWidth-this.getPadding("lr"):t.offsetWidth),height:Math.max(0,n?t.clientHeight-this.getPadding("tb"):t.offsetHeight)}},repaint:function(){var n=this.dom;return this.addCls(Ext.baseCSSPrefix+"repaint"),setTimeout(function(){Ext.fly(n).removeCls(Ext.baseCSSPrefix+"repaint")},1),this},getMargin:function(n){var t=this,f={t:"top",l:"left",r:"right",b:"bottom"},i,r,u;if(n)return t.addStyles.call(t,n,t.margins);u=[];for(i in t.margins)t.margins.hasOwnProperty(i)&&u.push(t.margins[i]);if(r=t.getStyle(u),r&&typeof r=="object")for(i in t.margins)t.margins.hasOwnProperty(i)&&(r[f[i]]=parseFloat(r[t.margins[i]])||0);return r},mask:function(n,t,i){var r=this,h=r.dom,o=(r.$cache||r.getCache()).data,s=o.mask,e,u,c="",f=Ext.baseCSSPrefix;if(r.addCls(f+"masked"),r.getStyle("position")=="static"&&r.addCls(f+"masked-relative"),s&&s.remove(),c=t&&typeof t=="string"?" "+t:" "+f+"mask-gray",e=r.createChild({cls:f+"mask"+(i!==!1?"":" "+f+"mask-gray"),html:n?'<div class="'+(t||f+"mask-message")+'">'+n+"<\/div>":""}),u=r.getSize(),o.mask=e,h===document.body){u.height=window.innerHeight;r.orientationHandler&&Ext.EventManager.unOrientationChange(r.orientationHandler,r);r.orientationHandler=function(){u=r.getSize();u.height=window.innerHeight;e.setSize(u)};Ext.EventManager.onOrientationChange(r.orientationHandler,r)}e.setSize(u);Ext.is.iPad&&Ext.repaint()},unmask:function(){var n=this,t=(n.$cache||n.getCache()).data,i=t.mask,r=Ext.baseCSSPrefix;i&&(i.remove(),delete t.mask);n.removeCls([r+"masked",r+"masked-relative"]);n.dom===document.body&&(Ext.EventManager.unOrientationChange(n.orientationHandler,n),delete n.orientationHandler)}});n.populateStyleMap=function(t,i){for(var f=["margin-","padding-","border-width-"],o=["before","after"],e,u,r=f.length;r--;)for(u=2;u--;)e=f[r]+o[u],t[n.normalize(e)]=t[e]={name:n.normalize(f[r]+i[u])}};Ext.onReady(function(){function o(n,t,i,r){var u=r[this.name]||"";return a.test(u)?"transparent":u}function s(n,t,i,r){var f=r.marginRight,u,e;return f!="0px"&&(u=n.style,e=u.display,u.display="inline-block",f=(i?r:n.ownerDocument.defaultView.getComputedStyle(n,null)).marginRight,u.display=e),f}function h(t,i,r,u){var e=u.marginRight,f,o,s;return e!="0px"&&(f=t.style,o=n.getRightMarginFixCleaner(t),s=f.display,f.display="inline-block",e=(r?u:t.ownerDocument.defaultView.getComputedStyle(t,"")).marginRight,f.display=s,o()),e}var t=Ext.supports,i,r,u,f,e;if(i=n.prototype.styleHooks,n.populateStyleMap(i,["left","right"]),t.init&&t.init(),t.RightMargin||(i.marginRight=i["margin-right"]={name:"marginRight",get:t.DisplayChangeInputSelectionBug||t.DisplayChangeTextAreaSelectionBug?h:s}),!t.TransparentColor)for(r=["background-color","border-color","color","outline-color"],u=r.length;u--;)f=r[u],e=n.normalize(f),i[f]=i[e]={name:e,get:o}})}();Ext.dom.AbstractElement.override({findParent:function(n,t,i){var r=this.dom,e=document.documentElement,u=0,f;for(t=t||50,isNaN(t)&&(f=Ext.getDom(t),t=Number.MAX_VALUE);r&&r.nodeType==1&&u<t&&r!=e&&r!=f;){if(Ext.DomQuery.is(r,n))return i?Ext.get(r):r;u++;r=r.parentNode}return null},findParentNode:function(n,t,i){var r=Ext.fly(this.dom.parentNode,"_internal");return r?r.findParent(n,t,i):null},up:function(n,t){return this.findParentNode(n,t,!0)},select:function(n,t){return Ext.dom.Element.select(n,this.dom,t)},query:function(n){return Ext.DomQuery.select(n,this.dom)},down:function(n,t){var i=Ext.DomQuery.selectNode(n,this.dom);return t?i:Ext.get(i)},child:function(n,t){var r,u=this,i;return i=Ext.id(u.dom),i=Ext.escapeId(i),r=Ext.DomQuery.selectNode("#"+i+" > "+n,u.dom),t?r:Ext.get(r)},parent:function(n,t){return this.matchNode("parentNode","parentNode",n,t)},next:function(n,t){return this.matchNode("nextSibling","nextSibling",n,t)},prev:function(n,t){return this.matchNode("previousSibling","previousSibling",n,t)},first:function(n,t){return this.matchNode("nextSibling","firstChild",n,t)},last:function(n,t){return this.matchNode("previousSibling","lastChild",n,t)},matchNode:function(n,t,i,r){if(!this.dom)return null;for(var u=this.dom[t];u;){if(u.nodeType==1&&(!i||Ext.DomQuery.is(u,i)))return r?u:Ext.get(u);u=u[n]}return null},isAncestor:function(n){return this.self.isAncestor.call(this.self,this.dom,n)}}),function(){var t="afterbegin",h="afterend",i="beforebegin",c="beforeend",r="<table>",u="<\/table>",f=r+"<tbody>",e="<\/tbody>"+u,l=f+"<tr>",a="<\/tr>"+e,n=document.createElement("div"),o=["BeforeBegin","previousSibling"],s=["AfterEnd","nextSibling"],v={beforebegin:o,afterend:s},y={beforebegin:o,afterend:s,afterbegin:["AfterBegin","firstChild"],beforeend:["BeforeEnd","lastChild"]};Ext.define("Ext.dom.Helper",{extend:"Ext.dom.AbstractHelper",requires:["Ext.dom.AbstractElement"],tableRe:/^table|tbody|tr|td$/i,tableElRe:/td|tr|tbody/i,useDom:!1,createDom:function(n,t){var i,e=document,o,r,u,s,f,h;if(Ext.isArray(n))for(i=e.createDocumentFragment(),f=0,h=n.length;f<h;f++)this.createDom(n[f],i);else if(typeof n=="string")i=e.createTextNode(n);else{i=e.createElement(n.tag||"div");o=!!i.setAttribute;for(r in n)this.confRe.test(r)||(u=n[r],r=="cls"?i.className=u:o?i.setAttribute(r,u):i[r]=u);Ext.DomHelper.applyStyles(i,n.style);(s=n.children||n.cn)?this.createDom(s,i):n.html&&(i.innerHTML=n.html)}return t&&t.appendChild(i),i},ieTable:function(t,i,r,u){n.innerHTML=[i,r,u].join("");for(var o=-1,f=n,e;++o<t;)f=f.firstChild;if(e=f.nextSibling,e)for(f=document.createDocumentFragment();e;)f.appendChild(e),e=e.nextSibling;return f},insertIntoTable:function(n,o,s,v){var b,d,y=o==i,p=o==t,k=o==c,w=o==h;return n=="td"&&(p||k)||!this.tableElRe.test(n)&&(y||w)?null:(d=y?s:w?s.nextSibling:p?s.firstChild:null,(y||w)&&(s=s.parentNode),b=n=="td"||n=="tr"&&(k||p)?this.ieTable(4,l,v,a):n=="tbody"&&(k||p)||n=="tr"&&(y||w)?this.ieTable(3,f,v,e):this.ieTable(2,r,v,u),s.insertBefore(b,d),b)},createContextualFragment:function(t){var r=document.createDocumentFragment(),u,i;for(n.innerHTML=t,i=n.childNodes,u=i.length;u--;)r.appendChild(i[0]);return r},applyStyles:function(n,t){t&&(n=Ext.fly(n),typeof t=="function"&&(t=t.call()),typeof t=="string"&&(t=Ext.dom.Element.parseStyles(t)),typeof t=="object"&&n.setStyle(t))},createHtml:function(n){return this.markup(n)},doInsert:function(n,t,i,r,u,f){if(n){n=n.dom||Ext.getDom(n);var e;return this.useDom?(e=this.createDom(t,null),f?n.appendChild(e):(u=="firstChild"?n:n.parentNode).insertBefore(e,n[u]||n)):e=this.insertHtml(r,n,this.markup(t)),i?Ext.get(e,!0):e}},overwrite:function(n,t,i){var r;if(n=Ext.getDom(n),t=this.markup(t),Ext.isIE&&this.tableRe.test(n.tagName)){while(n.firstChild)n.removeChild(n.firstChild);return t?(r=this.insertHtml("afterbegin",n,t),i?Ext.get(r):r):null}return n.innerHTML=t,i?Ext.get(n.firstChild):n.firstChild},insertHtml:function(n,r,u){var o,e,s,h,f;if(n=n.toLowerCase(),r.insertAdjacentHTML){if(Ext.isIE&&this.tableRe.test(r.tagName)&&(f=this.insertIntoTable(r.tagName.toLowerCase(),n,r,u)))return f;if(o=y[n])return r.insertAdjacentHTML(o[0],u),r[o[1]]}else return r.nodeType===3&&(n=n==="afterbegin"?"beforebegin":n,n=n==="beforeend"?"afterend":n),e=Ext.supports.CreateContextualFragment?r.ownerDocument.createRange():undefined,h="setStart"+(this.endRe.test(n)?"After":"Before"),v[n]?(e?(e[h](r),f=e.createContextualFragment(u)):f=this.createContextualFragment(u),r.parentNode.insertBefore(f,n==i?r:r.nextSibling),r[(n==i?"previous":"next")+"Sibling"]):(s=(n==t?"first":"last")+"Child",r.firstChild?(e?(e[h](r[s]),f=e.createContextualFragment(u)):f=this.createContextualFragment(u),n==t?r.insertBefore(f,r.firstChild):r.appendChild(f)):r.innerHTML=u,r[s])},createTemplate:function(n){var t=this.markup(n);return new Ext.Template(t)}},function(){Ext.ns("Ext.core");Ext.DomHelper=Ext.core.DomHelper=new this})}();Ext.ns("Ext.core");Ext.dom.Query=Ext.core.DomQuery=Ext.DomQuery=function(){function child(n,t){for(var r=0,i=n.firstChild;i;){if(i.nodeType==1&&++r==t)return i;i=i.nextSibling}return null}function next(n){while((n=n.nextSibling)&&n.nodeType!=1);return n}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1);return n}function children(n){for(var t=n.firstChild,r=-1,i;t;)i=t.nextSibling,t.nodeType!=3||nonSpace.test(t.nodeValue)?t.nodeIndex=++r:n.removeChild(t),t=i;return this}function byClassName(n,t){if(t=unescapeCssSelector(t),!t)return n;var u=[],f=-1,r,i;for(r=0,i;i=n[r];r++)(" "+i.className+" ").indexOf(t)!=-1&&(u[++f]=i);return u}function attrValue(n,t){return(n.tagName||typeof n.length=="undefined"||(n=n[0]),!n)?null:t=="for"?n.htmlFor:t=="class"||t=="className"?n.className:n.getAttribute(t)||n[t]}function getNodes(n,t,i){var f=[],c=-1,v,u,e,o,l,a,s,r,h;if(!n)return f;if(i=i||"*",typeof n.getElementsByTagName!="undefined"&&(n=[n]),t){if(t=="/"||t==">")for(s=i.toUpperCase(),u=0,e,a;e=n[u];u++)for(a=e.childNodes,o=0,h;h=a[o];o++)(h.nodeName==s||h.nodeName==i||i=="*")&&(f[++c]=h);else if(t=="+")for(s=i.toUpperCase(),u=0,r;r=n[u];u++){while((r=r.nextSibling)&&r.nodeType!=1);r&&(r.nodeName==s||r.nodeName==i||i=="*")&&(f[++c]=r)}else if(t=="~")for(s=i.toUpperCase(),u=0,r;r=n[u];u++)while(r=r.nextSibling)(r.nodeName==s||r.nodeName==i||i=="*")&&(f[++c]=r)}else for(u=0,e;e=n[u];u++)for(v=e.getElementsByTagName(i),o=0,l;l=v[o];o++)f[++c]=l;return f}function concat(n,t){if(t.slice)return n.concat(t);for(var i=0,r=t.length;i<r;i++)n[n.length]=t[i];return n}function byTag(n,t){if((n.tagName||n==document)&&(n=[n]),!t)return n;var u=[],f=-1,r,i;for(t=t.toLowerCase(),r=0,i;i=n[r];r++)i.nodeType==1&&i.tagName.toLowerCase()==t&&(u[++f]=i);return u}function byId(n,t){if(t=unescapeCssSelector(t),(n.tagName||n==document)&&(n=[n]),!t)return n;var r=[],f=-1,u,i;for(u=0,i;i=n[u];u++)if(i&&i.id==t)return r[++f]=i,r;return r}function byAttribute(n,t,i,r,u){var h=[],a=-1,v=u=="{",e=Ext.DomQuery.operators[r],o,c,l,s,f;for(i=unescapeCssSelector(i),s=0,f;f=n[s];s++)f.nodeType==1&&(l||(c=Ext.DomQuery.isXml(f),l=!0),o=c?f.getAttribute(t):v?Ext.DomQuery.getStyle(f,t):t=="class"||t=="className"?f.className:t=="for"?f.htmlFor:t=="href"?f.getAttribute("href",2):f.getAttribute(t),(e&&e(o,i)||!e&&o)&&(h[++a]=f));return h}function byPseudo(n,t,i){return i=unescapeCssSelector(i),Ext.DomQuery.pseudos[t](n,i)}function nodupIEXml(n){var f=++key,i,t,r,u;for(n[0].setAttribute("_nodup",f),i=[n[0]],t=1,r=n.length;t<r;t++)u=n[t],!u.getAttribute("_nodup")!=f&&(u.setAttribute("_nodup",f),i[i.length]=u);for(t=0,r=n.length;t<r;t++)n[t].removeAttribute("_nodup");return i}function nodup(n){if(!n)return[];var o=n.length,e,r,u=n,f,s=-1,i,t;if(!o||typeof n.nodeType!="undefined"||o==1)return n;if(isIE&&typeof n[0].selectSingleNode!="undefined")return nodupIEXml(n);for(i=++key,n[0]._nodup=i,r=1;e=n[r];r++)if(e._nodup!=i)e._nodup=i;else{for(u=[],t=0;t<r;t++)u[++s]=n[t];for(t=r+1;f=n[t];t++)f._nodup!=i&&(f._nodup=i,u[++s]=f);return u}return u}function quickDiffIEXml(n,t){for(var f=++key,u=[],i=0,r=n.length;i<r;i++)n[i].setAttribute("_qdiff",f);for(i=0,r=t.length;i<r;i++)t[i].getAttribute("_qdiff")!=f&&(u[u.length]=t[i]);for(i=0,r=n.length;i<r;i++)n[i].removeAttribute("_qdiff");return u}function quickDiff(n,t){var u=n.length,f=++key,r=[],i,e;if(!u)return t;if(isIE&&typeof n[0].selectSingleNode!="undefined")return quickDiffIEXml(n,t);for(i=0;i<u;i++)n[i]._qdiff=f;for(i=0,e=t.length;i<e;i++)t[i]._qdiff!=f&&(r[r.length]=t[i]);return r}function quickId(n,t,i,r){if(n==i){r=unescapeCssSelector(r);var u=i.ownerDocument||i;return u.getElementById(r)}return n=getNodes(n,t,"*"),byId(n,r)}var cache={},simpleCache={},valueCache={},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?!0:!1,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,longHexToChar=function(n,t){return String.fromCharCode(parseInt(t,16))},shortToLongHex=function(n,t){while(t.length<6)t="0"+t;return"\\"+t},charToLongHex=function(n,t){return num=t.charCodeAt(0).toString(16),num.length===1&&(num="0"+num),"\\0000"+num},unescapeCssSelector=function(n){return hasEscapes?n.replace(longHex,longHexToChar):n},setupEscapes=function(n){return hasEscapes=n.indexOf("\\")>-1,hasEscapes&&(n=n.replace(shortHex,shortToLongHex).replace(nonHex,charToLongHex).replace(escapes,"\\\\")),n};return eval("var batch = 30803;"),{getStyle:function(n,t){return Ext.fly(n).getStyle(t)},compile:function(path,type){type=type||"select";var fn=["var f = function(root){\n var mode; ++batch; var n = root || document;\n"],mode,lastPath,matchers=Ext.DomQuery.matchers,matchersLn=matchers.length,modeMatch,lmode=path.match(modeRe),tokenMatch,matched,j,t,m;for(path=setupEscapes(path),lmode&&lmode[1]&&(fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";',path=path.replace(lmode[1],""));path.substr(0,1)=="/";)path=path.substr(1);while(path&&lastPath!=path){for(lastPath=path,tokenMatch=path.match(tagTokenRe),type=="select"?tokenMatch?(fn[fn.length]=tokenMatch[1]=="#"?'n = quickId(n, mode, root, "'+tokenMatch[2]+'");':'n = getNodes(n, mode, "'+tokenMatch[2]+'");',path=path.replace(tokenMatch[0],"")):path.substr(0,1)!="@"&&(fn[fn.length]='n = getNodes(n, mode, "*");'):tokenMatch&&(fn[fn.length]=tokenMatch[1]=="#"?'n = byId(n, "'+tokenMatch[2]+'");':'n = byTag(n, "'+tokenMatch[2]+'");',path=path.replace(tokenMatch[0],""));!(modeMatch=path.match(modeRe));){for(matched=!1,j=0;j<matchersLn;j++)if(t=matchers[j],m=path.match(t.re),m){fn[fn.length]=t.select.replace(tplRe,function(n,t){return m[t]});path=path.replace(m[0],"");matched=!0;break}matched||Ext.Error.raise({sourceClass:"Ext.DomQuery",sourceMethod:"compile",msg:'Error parsing selector. Parsing failed at "'+path+'"'})}modeMatch[1]&&(fn[fn.length]='mode="'+modeMatch[1].replace(trimRe,"")+'";',path=path.replace(modeMatch[1],""))}return fn[fn.length]="return nodup(n);\n}",eval(fn.join("")),f},jsSelect:function(n,t,i){t=t||document;typeof t=="string"&&(t=document.getElementById(t));for(var o=n.split(","),u=[],r,e,f=0,s=o.length;f<s;f++)r=o[f].replace(trimRe,""),cache[r]?setupEscapes(r):(cache[r]=Ext.DomQuery.compile(r,i),cache[r]||Ext.Error.raise({sourceClass:"Ext.DomQuery",sourceMethod:"jsSelect",msg:r+" is not a valid selector"})),e=cache[r](t),e&&e!=document&&(u=u.concat(e));return o.length>1?nodup(u):u},isXml:function(n){var t=(n?n.ownerDocument||n:0).documentElement;return t?t.nodeName!=="HTML":!1},select:document.querySelectorAll?function(n,t,i){if(t=t||document,!Ext.DomQuery.isXml(t))try{return t.parentNode&&t.nodeType!==9&&n.indexOf(",")===-1&&!startIdRe.test(n)&&(n="#"+Ext.escapeId(Ext.id(t))+" "+n,t=t.parentNode),Ext.Array.toArray(t.querySelectorAll(n))}catch(r){}return Ext.DomQuery.jsSelect.call(this,n,t,i)}:function(n,t,i){return Ext.DomQuery.jsSelect.call(this,n,t,i)},selectNode:function(n,t){return Ext.DomQuery.select(n,t)[0]},selectValue:function(n,t,i){n=n.replace(trimRe,"");valueCache[n]?setupEscapes(n):valueCache[n]=Ext.DomQuery.compile(n,"select");var r=valueCache[n](t),u;return r=r[0]?r[0]:r,typeof r.normalize=="function"&&r.normalize(),u=r&&r.firstChild?r.firstChild.nodeValue:null,u===null||u===undefined||u===""?i:u},selectNumber:function(n,t,i){var r=Ext.DomQuery.selectValue(n,t,i||0);return parseFloat(r)},is:function(n,t){typeof n=="string"&&(n=document.getElementById(n));var i=Ext.isArray(n),r=Ext.DomQuery.filter(i?n:[n],t);return i?r.length==n.length:r.length>0},filter:function(n,t,i){t=t.replace(trimRe,"");simpleCache[t]?setupEscapes(t):simpleCache[t]=Ext.DomQuery.compile(t,"simple");var r=simpleCache[t](n);return i?quickDiff(r,n):r},matchers:[{re:/^\.([\w\-\\]+)/,select:'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}")}};'}],operators:{"=":function(n,t){return n==t},"!=":function(n,t){return n!=t},"^=":function(n,t){return n&&n.substr(0,t.length)==t},"$=":function(n,t){return n&&n.substr(n.length-t.length)==t},"*=":function(n,t){return n&&n.indexOf(t)!==-1},"%=":function(n,t){return n%t==0},"|=":function(n,t){return n&&(n==t||n.substr(0,t.length+1)==t+"-")},"~=":function(n,t){return n&&(" "+n+" ").indexOf(" "+t+" ")!=-1}},pseudos:{"first-child":function(n){for(var r=[],f=-1,t,u,i=0;u=t=n[i];i++){while((t=t.previousSibling)&&t.nodeType!=1);t||(r[++f]=u)}return r},"last-child":function(n){for(var r=[],f=-1,t,u,i=0;u=t=n[i];i++){while((t=t.nextSibling)&&t.nodeType!=1);t||(r[++f]=u)}return r},"nth-child":function(n,t){for(var f=[],s=-1,h=nthRe.exec(t=="even"&&"2n"||t=="odd"&&"2n+1"||!nthRe2.test(t)&&"n+"+t||t),c=(h[1]||1)-0,e=h[2]-0,i,l,r,u,o=0;i=n[o];o++){if(u=i.parentNode,batch!=u._batch){for(l=0,r=u.firstChild;r;r=r.nextSibling)r.nodeType==1&&(r.nodeIndex=++l);u._batch=batch}c==1?(e==0||i.nodeIndex==e)&&(f[++s]=i):(i.nodeIndex+e)%c==0&&(f[++s]=i)}return f},"only-child":function(n){for(var r=[],u=-1,t,i=0;t=n[i];i++)prev(t)||next(t)||(r[++u]=t);return r},empty:function(n){var e=[],s=-1,i,t,o,r,u,f;for(i=0,t;t=n[i];i++){for(o=t.childNodes,r=0,f=!0;u=o[r];)if(++r,u.nodeType==1||u.nodeType==3){f=!1;break}f&&(e[++s]=t)}return e},contains:function(n,t){for(var u=[],f=-1,i,r=0;i=n[r];r++)(i.textContent||i.innerText||i.text||"").indexOf(t)!=-1&&(u[++f]=i);return u},nodeValue:function(n,t){for(var u=[],f=-1,i,r=0;i=n[r];r++)i.firstChild&&i.firstChild.nodeValue==t&&(u[++f]=i);return u},checked:function(n){for(var r=[],u=-1,i,t=0;i=n[t];t++)i.checked==!0&&(r[++u]=i);return r},not:function(n,t){return Ext.DomQuery.filter(n,t,!0)},any:function(n,t){for(var o=t.split("|"),f=[],s=-1,e,r,u,i=0;r=n[i];i++)for(u=0;e=o[u];u++)if(Ext.DomQuery.is(r,e)){f[++s]=r;break}return f},odd:function(n){return this["nth-child"](n,"odd")},even:function(n){return this["nth-child"](n,"even")},nth:function(n,t){return n[t-1]||[]},first:function(n){return n[0]||[]},last:function(n){return n[n.length-1]||[]},has:function(n,t){for(var f=Ext.DomQuery.select,u=[],e=-1,r,i=0;r=n[i];i++)f(t,r).length>0&&(u[++e]=r);return u},next:function(n,t){for(var e=Ext.DomQuery.is,f=[],o=-1,r,u,i=0;r=n[i];i++)u=next(r),u&&e(u,t)&&(f[++o]=r);return f},prev:function(n,t){for(var e=Ext.DomQuery.is,f=[],o=-1,r,u,i=0;r=n[i];i++)u=prev(r),u&&e(u,t)&&(f[++o]=r);return f}}}}();Ext.query=Ext.DomQuery.select,function(){var s="hidden",n=document,h="visibility",r="display",u="none",f=Ext.baseCSSPrefix+"masked",e=Ext.baseCSSPrefix+"masked-relative",o=Ext.baseCSSPrefix+"mask-msg",c=/^body/i,i,l=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1},a=function(n){for(var r=[],u=-1,t,i=0;t=n[i];i++)(t.scrollTop>0||t.scrollLeft>0)&&(r[++u]=t);return r},t=Ext.define("Ext.dom.Element",{extend:"Ext.dom.AbstractElement",alternateClassName:["Ext.Element","Ext.core.Element"],addUnits:function(){return this.self.addUnits.apply(this.self,arguments)},focus:function(i,r){var u=this,f,e;r=r||u.dom;e=(r.ownerDocument||n).body||n.body;try{Number(i)?Ext.defer(u.focus,i,u,[null,r]):(r.offsetHeight>t.getViewHeight()&&(f=e.scrollTop),r.focus(),f!==undefined&&(e.scrollTop=f))}catch(o){}return u},blur:function(){try{this.dom.blur()}catch(n){}return this},isBorderBox:function(){var n=Ext.isBorderBox;return n&&(n=!((this.dom.tagName||"").toLowerCase()in l)),n},hover:function(n,t,i,r){var u=this;u.on("mouseenter",n,i||u.dom,r);u.on("mouseleave",t,i||u.dom,r);return u},getAttributeNS:function(n,t){return this.getAttribute(t,n)},getAttribute:Ext.isIE&&!(Ext.isIE9&&n.documentMode===9)?function(n,t){var i=this.dom,r;return t?(r=typeof i[t+":"+n],r!="undefined"&&r!="unknown")?i[t+":"+n]||null:null:(n==="for"&&(n="htmlFor"),i[n]||null)}:function(n,t){var i=this.dom;return t?i.getAttributeNS(t,n)||i.getAttribute(t+":"+n):i.getAttribute(n)||i[n]||null},cacheScrollValues:function(){var u=this,i,t,n,r=[],f=function(){for(n=0;n<i.length;n++)t=i[n],t.scrollLeft=r[n][0],t.scrollTop=r[n][1]};for(Ext.DomQuery.pseudos.isScrolled||(Ext.DomQuery.pseudos.isScrolled=a),i=u.query(":isScrolled"),n=0;n<i.length;n++)t=i[n],r[n]=[t.scrollLeft,t.scrollTop];return f},autoBoxAdjust:!0,isVisible:function(n){var e=this,f=e.dom,o=f.ownerDocument.documentElement;for(i||(i=new t.Fly);f!==o;){if(!f||f.nodeType===11||i.attach(f).isStyle(h,s)||i.isStyle(r,u))return!1;if(!n)break;f=f.parentNode}return!0},isDisplayed:function(){return!this.isStyle(r,u)},enableDisplayMode:function(n){var i=this;return i.setVisibilityMode(t.DISPLAY),Ext.isEmpty(n)||((i.$cache||i.getCache()).data.originalDisplay=n),i},mask:function(t,i,r){var u=this,l=u.dom,v=l.style.setExpression,a=(u.$cache||u.getCache()).data,s=a.maskEl,h=a.maskMsg;if(c.test(l.tagName)&&u.getStyle("position")=="static"||u.addCls(e),s&&s.remove(),h&&h.remove(),Ext.DomHelper.append(l,[{cls:Ext.baseCSSPrefix+"mask"},{cls:i?o+" "+i:o,cn:{tag:"div",html:t||""}}]),h=Ext.get(l.lastChild),s=Ext.get(h.dom.previousSibling),a.maskMsg=h,a.maskEl=s,u.addCls(f),s.setDisplayed(!0),typeof t=="string"?(h.setDisplayed(!0),h.center(u)):h.setDisplayed(!1),!Ext.supports.IncludePaddingInWidthCalculation&&v)try{s.dom.style.setExpression("width",'this.parentNode.clientWidth + "px"')}catch(y){}if(!Ext.supports.IncludePaddingInHeightCalculation&&v)try{s.dom.style.setExpression("height","this.parentNode."+(l==n.body?"scrollHeight":"offsetHeight")+' + "px"')}catch(y){}else!Ext.isIE||Ext.isIE7&&Ext.isStrict||u.getStyle("height")!="auto"||s.setSize(undefined,r||u.getHeight());return s},unmask:function(){var r=this,n=(r.$cache||r.getCache()).data,t=n.maskEl,u=n.maskMsg,i;t&&(i=t.dom.style,i.clearExpression&&(i.clearExpression("width"),i.clearExpression("height")),t&&(t.remove(),delete n.maskEl),u&&(u.remove(),delete n.maskMsg),r.removeCls([f,e]))},isMasked:function(){var n=this,t=(n.$cache||n.getCache()).data,i=t.maskEl,r=t.maskMsg,u=!1;return i&&i.isVisible()&&(r&&r.center(n),u=!0),u},createShim:function(){var t=n.createElement("iframe"),i;return t.frameBorder="0",t.className=Ext.baseCSSPrefix+"shim",t.src=Ext.SSL_SECURE_URL,i=Ext.get(this.dom.parentNode.insertBefore(t,this.dom)),i.autoBoxAdjust=!1,i},addKeyListener:function(n,t,i){var r;return r=typeof n!="object"||Ext.isArray(n)?{target:this,key:n,fn:t,scope:i}:{target:this,key:n.key,shift:n.shift,ctrl:n.ctrl,alt:n.alt,fn:t,scope:i},new Ext.util.KeyMap(r)},addKeyMap:function(n){return new Ext.util.KeyMap(Ext.apply({target:this},n))},on:function(n,t,i,r){Ext.EventManager.on(this,n,t,i||this,r);return this},un:function(n,t,i){return Ext.EventManager.un(this,n,t,i||this),this},removeAllListeners:function(){return Ext.EventManager.removeAll(this),this},purgeAllListeners:function(){return Ext.EventManager.purgeElement(this),this}},function(){function a(){if(Ext.enableGarbageCollector){var n,t,u,f;for(n in i)i.hasOwnProperty(n)&&((u=i[n],u.skipGarbageCollection)||(t=u.dom,t.parentNode&&(t.offsetParent||Ext.getElementById(n))||(t&&Ext.enableListenerCollection&&Ext.EventManager.removeAll(t),delete i[n])));if(Ext.isIE){f={};for(n in i)i.hasOwnProperty(n)&&(f[n]=i[n]);i=Ext.cache=f}}else clearInterval(r.collectorThreadId)}var i=Ext.cache,r=this,u=Ext.dom.AbstractElement,f=/a|button|embed|iframe|img|input|object|select|textarea/i,e=/\S/,o=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,s=/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,h=/\ssrc=([\'\"])(.*?)\1/i,c=/\stype=([\'\"])(.*?)\1/i,l=!(Ext.isIE6||Ext.isIE7||Ext.isIE8);r.boxMarkup='<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"><\/div><\/div><\/div><div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"><\/div><\/div><\/div><div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"><\/div><\/div><\/div>';r.collectorThreadId=setInterval(a,3e4);r.addMethods({monitorMouseLeave:function(n,t,i){var r=this,u,f={mouseleave:function(f){u=setTimeout(Ext.Function.bind(t,i||r,[f]),n)},mouseenter:function(){clearTimeout(u)},freezeEvent:!0};r.on(f);return f},swallowEvent:function(n,t){function f(n){n.stopPropagation();t&&n.preventDefault()}var i=this,r,u;if(Ext.isArray(n)){for(u=n.length,r=0;r<u;r++)i.on(n[r],f);return i}i.on(n,f);return i},relayEvent:function(n,t){this.on(n,function(i){t.fireEvent(n,i)})},clean:function(n){var r=this,u=r.dom,f=(r.$cache||r.getCache()).data,t=u.firstChild,o=-1,i;if(f.isCleaned&&n!==!0)return r;while(t)i=t.nextSibling,t.nodeType==3?e.test(t.nodeValue)?i&&i.nodeType==3&&(t.appendData(Ext.String.trim(i.data)),u.removeChild(i),i=t.nextSibling,t.nodeIndex=++o):u.removeChild(t):(Ext.fly(t).clean(),t.nodeIndex=++o),t=i;return f.isCleaned=!0,r},load:function(n){return this.getLoader().load(n),this},getLoader:function(){var n=this,i=(n.$cache||n.getCache()).data,t=i.loader;return t||(i.loader=t=new Ext.ElementLoader({target:n})),t},syncContent:function(n){n=Ext.getDom(n);var h=this,e=n.childNodes,o=e.length,r=h.dom,s=r.childNodes,c=s.length,u,i,t,f;if(r.style.cssText=n.style.cssText,r.className=n.className,o!==c){n.innerHTML=r.innerHTML;return}for(u=0;u<o;u++){if(t=e[u],i=s[u],f=t.nodeType,f!==i.nodeType||f===1&&t.tagName!==i.tagName){r.innerHTML=n.innerHTML;return}f===3?i.data=t.data:(t.id&&i.id!==t.id&&(i.id=t.id),i.style.cssText=t.style.cssText,i.className=t.className,Ext.fly(i).syncContent(t))}},update:function(t,i,r){var u=this,f,e,l;return u.dom?(t=t||"",e=u.dom,i!==!0)?(e.innerHTML=t,Ext.callback(r,u),u):(f=Ext.id(),t+='<span id="'+f+'"><\/span>',l=setInterval(function(){var hd,match,attrs,srcMatch,typeMatch,el,s;if(!(el=n.getElementById(f)))return!1;for(clearInterval(l),Ext.removeNode(el),hd=Ext.getHead().dom;match=o.exec(t);)attrs=match[1],srcMatch=attrs?attrs.match(h):!1,srcMatch&&srcMatch[2]?(s=n.createElement("script"),s.src=srcMatch[2],typeMatch=attrs.match(c),typeMatch&&typeMatch[2]&&(s.type=typeMatch[2]),hd.appendChild(s)):match[2]&&match[2].length>0&&(window.execScript?window.execScript(match[2]):window.eval(match[2]));Ext.callback(r,u)},20),e.innerHTML=t.replace(s,""),u):u},removeAllListeners:function(){return this.removeAnchor(),Ext.EventManager.removeAll(this.dom),this},createProxy:function(n,i,r){n=typeof n=="object"?n:{tag:"div",cls:n};var u=this,f=i?Ext.DomHelper.append(i,n,!0):Ext.DomHelper.insertBefore(u.dom,n,!0);return f.setVisibilityMode(t.DISPLAY),f.hide(),r&&u.setBox&&u.getBox&&f.setBox(u.getBox()),f},getScopeParent:function(){var n=this.dom.parentNode;return Ext.scopeResetCSS&&(n=n.parentNode,Ext.supports.CSS3LinearGradient&&Ext.supports.CSS3BorderRadius||(n=n.parentNode)),n},needsTabIndex:function(){if(this.dom)return this.dom.nodeName==="a"&&!this.dom.href?!0:!f.test(this.dom.nodeName)},focusable:function(){var n=this.dom,i=n.nodeName,t=!1;return n.disabled||(f.test(i)?(i!=="a"||n.href)&&(t=!0):t=!isNaN(n.tabIndex)),t&&this.isVisible(!0)}});Ext.isIE&&(r.prototype.getById=function(u,f){var h=this.dom,o,e,s;return h&&(e=l&&n.getElementById(u)||h.all[u],e)?(f?s=e:(o=i[u],s=o&&o.el?Ext.updateCacheEntry(o,e).el:new t(e)),s):f?Ext.getDom(u):r.get(u)});r.createAlias({addListener:"on",removeListener:"un",clearListeners:"removeAllListeners"});r.Fly=u.Fly=new Ext.Class({extend:r,constructor:function(n){this.dom=n},attach:u.Fly.prototype.attach});Ext.isIE?Ext.getElementById=function(t){var i=n.getElementById(t),r;return!i&&(r=u.detachedBodyEl)&&(i=r.dom.all[t]),i}:n.querySelector||(Ext.getDetachedBody=Ext.getBody,Ext.getElementById=function(t){return n.getElementById(t)})})}();Ext.dom.Element.override(function(){var n=document,i=window,r=/^([a-z]+)-([a-z]+)(\?)?$/,t=Math.round;return{getAnchorXY:function(i,r,u){i=(i||"tl").toLowerCase();u=u||{};var e=this,h=e.dom==n.body||e.dom==n,o=u.width||h?Ext.dom.Element.getViewWidth():e.getWidth(),s=u.height||h?Ext.dom.Element.getViewHeight():e.getHeight(),f,c=e.getXY(),l=e.getScroll(),a=h?l.left:r?0:c[0],v=h?l.top:r?0:c[1];switch(i){case"tl":f=[0,0];break;case"bl":f=[0,s];break;case"tr":f=[o,0];break;case"c":f=[t(o*.5),t(s*.5)];break;case"t":f=[t(o*.5),0];break;case"l":f=[0,t(s*.5)];break;case"r":f=[o,t(s*.5)];break;case"b":f=[t(o*.5),s];break;case"br":f=[o,s]}return[f[0]+a,f[1]+v]},getAlignToXY:function(t,i,u){t=Ext.get(t);!t||!t.dom;u=u||[0,0];i=(!i||i=="?"?"tl-bl?":!/-/.test(i)&&i!==""?"tl-"+i:i||"tl-bl").toLowerCase();var y=this,p,w,f,e,c,l,o,rt=Ext.dom.Element.getViewWidth()-10,ut=Ext.dom.Element.getViewHeight()-10,b,k,d,g,nt,tt,ft=n.documentElement,et=n.body,a=ft.scrollLeft||et.scrollLeft||0,v=ft.scrollTop||et.scrollTop||0,ot,s,h,it=i.match(r);return s=it[1],h=it[2],ot=!!it[3],p=y.getAnchorXY(s,!0),w=t.getAnchorXY(h,!1),f=w[0]-p[0]+u[0],e=w[1]-p[1]+u[1],ot&&(c=y.getWidth(),l=y.getHeight(),o=t.getRegion(),b=s.charAt(0),k=s.charAt(s.length-1),d=h.charAt(0),g=h.charAt(h.length-1),nt=b=="t"&&d=="b"||b=="b"&&d=="t",tt=k=="r"&&g=="l"||k=="l"&&g=="r",f+c>rt+a&&(f=tt?o.left-c:rt+a-c),f<a&&(f=tt?o.right:a),e+l>ut+v&&(e=nt?o.top-l:ut+v-l),e<v&&(e=nt?o.bottom:v)),[f,e]},anchorTo:function(n,t,r,u,f,e){var s=this,h=s.dom,c=!Ext.isEmpty(f),o=function(){Ext.fly(h).alignTo(n,t,r,u);Ext.callback(e,Ext.fly(h))},l=this.getAnchor();this.removeAnchor();Ext.apply(l,{fn:o,scroll:c});Ext.EventManager.onWindowResize(o,null);if(c)Ext.EventManager.on(i,"scroll",o,null,{buffer:isNaN(f)?50:f});return o.call(s),s},removeAnchor:function(){var t=this,n=this.getAnchor();return n&&n.fn&&(Ext.EventManager.removeResizeListener(n.fn),n.scroll&&Ext.EventManager.un(i,"scroll",n.fn),delete n.fn),t},getAlignVector:function(n,t,i){var u=this,f=u.getXY(),r=u.getAlignToXY(n,t,i);return n=Ext.get(n),r[0]-=f[0],r[1]-=f[1],r},alignTo:function(n,t,i,r){var u=this;return u.setXY(u.getAlignToXY(n,t,i),u.anim&&!!r?u.anim(r):!1)},getConstrainVector:function(n,t){n instanceof Ext.util.Region||(n=Ext.get(n).getViewRegion());var i=this.getRegion(),r=[0,0],u=this.shadow&&!this.shadowDisabled?this.shadow.getShadowSize():undefined,f=!1;return t&&i.translateBy(t[0]-i.x,t[1]-i.y),u&&n.adjust(u[0],-u[1],-u[2],u[3]),i.right>n.right&&(f=!0,r[0]=n.right-i.right),i.left+r[0]<n.left&&(f=!0,r[0]=n.left-i.left),i.bottom>n.bottom&&(f=!0,r[1]=n.bottom-i.bottom),i.top+r[1]<n.top&&(f=!0,r[1]=n.top-i.top),f?r:!1},getCenterXY:function(){return this.getAlignToXY(n,"c-c")},center:function(t){return this.alignTo(t||n,"c-c")}}}());Ext.dom.Element.override({animate:function(n){var t=this,i,r,u=t.dom.id||Ext.id(t.dom);if(!Ext.fx.Manager.hasFxBlock(u)){if(n.listeners&&(i=n.listeners,delete n.listeners),n.internalListeners&&(n.listeners=n.internalListeners,delete n.internalListeners),r=new Ext.fx.Anim(t.anim(n)),i)r.on(i);Ext.fx.Manager.queueFx(r)}return t},anim:function(n){if(!Ext.isObject(n))return n?{}:!1;var i=this,r=n.duration||Ext.fx.Anim.prototype.duration,u=n.easing||"ease",t;return n.stopAnimation&&i.stopAnimation(),Ext.applyIf(n,Ext.fx.Manager.getFxDefaults(i.id)),Ext.fx.Manager.setFxDefaults(i.id,{delay:0}),t={target:i.dom,remove:n.remove,alternate:n.alternate||!1,duration:r,easing:u,callback:n.callback,listeners:n.listeners,iterations:n.iterations||1,scope:n.scope,block:n.block,concurrent:n.concurrent,delay:n.delay||0,paused:!0,keyframes:n.keyframes,from:n.from||{},to:Ext.apply({},n)},Ext.apply(t.to,n.to),delete t.to.to,delete t.to.from,delete t.to.remove,delete t.to.alternate,delete t.to.keyframes,delete t.to.iterations,delete t.to.listeners,delete t.to.target,delete t.to.paused,delete t.to.callback,delete t.to.scope,delete t.to.duration,delete t.to.easing,delete t.to.concurrent,delete t.to.block,delete t.to.stopAnimation,delete t.to.delay,t},slideIn:function(n,t,i){var r=this,u=r.dom.style,o,f,e,s;return n=n||"t",t=t||{},o=function(){var v=this,l=t.listeners,o,a,c,h;i||r.fixDisplay();o=r.getBox();(n=="t"||n=="b")&&o.height===0?o.height=r.dom.scrollHeight:(n=="l"||n=="r")&&o.width===0&&(o.width=r.dom.scrollWidth);a=r.getStyles("width","height","left","right","top","bottom","position","z-index",!0);r.setSize(o.width,o.height);t.preserveScroll&&(e=r.cacheScrollValues());h=r.wrap({id:Ext.id()+"-anim-wrap-for-"+r.id,style:{visibility:i?"visible":"hidden"}});s=h.dom.parentNode;h.setPositioning(r.getPositioning());h.isStyle("position","static")&&h.position("relative");r.clearPositioning("auto");h.clip();e&&e();r.setStyle({visibility:"",position:"absolute"});i&&h.setSize(o.width,o.height);switch(n){case"t":c={from:{width:o.width+"px",height:"0px"},to:{width:o.width+"px",height:o.height+"px"}};u.bottom="0px";break;case"l":c={from:{width:"0px",height:o.height+"px"},to:{width:o.width+"px",height:o.height+"px"}};u.right="0px";break;case"r":c={from:{x:o.x+o.width,width:"0px",height:o.height+"px"},to:{x:o.x,width:o.width+"px",height:o.height+"px"}};break;case"b":c={from:{y:o.y+o.height,width:o.width+"px",height:"0px"},to:{y:o.y,width:o.width+"px",height:o.height+"px"}};break;case"tl":c={from:{x:o.x,y:o.y,width:"0px",height:"0px"},to:{width:o.width+"px",height:o.height+"px"}};u.bottom="0px";u.right="0px";break;case"bl":c={from:{y:o.y+o.height,width:"0px",height:"0px"},to:{y:o.y,width:o.width+"px",height:o.height+"px"}};u.bottom="0px";break;case"br":c={from:{x:o.x+o.width,y:o.y+o.height,width:"0px",height:"0px"},to:{x:o.x,y:o.y,width:o.width+"px",height:o.height+"px"}};break;case"tr":c={from:{x:o.x+o.width,width:"0px",height:"0px"},to:{x:o.x,width:o.width+"px",height:o.height+"px"}};u.right="0px"}h.show();f=Ext.apply({},t);delete f.listeners;f=new Ext.fx.Anim(Ext.applyIf(f,{target:h,duration:500,easing:"ease-out",from:i?c.to:c.from,to:i?c.from:c.to}));f.on("afteranimate",function(){r.setStyle(a);i&&(t.useDisplay?r.setDisplayed(!1):r.hide());h.dom&&(h.dom.parentNode?h.dom.parentNode.insertBefore(r.dom,h.dom):s.appendChild(r.dom),h.remove());e&&e();v.end()});if(l)f.on(l)},r.animate({duration:t.duration?Math.max(t.duration,500)*2:1e3,listeners:{beforeanimate:o}}),r},slideOut:function(n,t){return this.slideIn(n,t,!0)},puff:function(n){var t=this,r,i=t.getBox(),u=t.getStyles("width","height","left","right","top","bottom","position","z-index","font-size","opacity",!0);return n=Ext.applyIf(n||{},{easing:"ease-out",duration:500,useDisplay:!1}),r=function(){t.clearOpacity();t.show();this.to={width:i.width*2,height:i.height*2,x:i.x-i.width/2,y:i.y-i.height/2,opacity:0,fontSize:"200%"};this.on("afteranimate",function(){t.dom&&(n.useDisplay?t.setDisplayed(!1):t.hide(),t.setStyle(u),n.callback.call(n.scope))})},t.animate({duration:n.duration,easing:n.easing,listeners:{beforeanimate:{fn:r}}}),t},switchOff:function(n){var t=this,i;return n=Ext.applyIf(n||{},{easing:"ease-in",duration:500,remove:!1,useDisplay:!1}),i=function(){var e=this,i=t.getSize(),r=t.getXY(),u,f;t.clearOpacity();t.clip();f=t.getPositioning();u=new Ext.fx.Animator({target:t,duration:n.duration,easing:n.easing,keyframes:{33:{opacity:.3},66:{height:1,y:r[1]+i.height/2},100:{width:1,x:r[0]+i.width/2}}});u.on("afteranimate",function(){n.useDisplay?t.setDisplayed(!1):t.hide();t.clearOpacity();t.setPositioning(f);t.setSize(i);e.end()})},t.animate({duration:Math.max(n.duration,500)*2,listeners:{beforeanimate:{fn:i}}}),t},frame:function(n,t,i){var r=this,u;return n=n||"#C3DAF9",t=t||1,i=i||{},u=function(){r.show();var e=this,u=r.getBox(),f=Ext.getBody().createChild({id:r.id+"-anim-proxy",style:{position:"absolute","pointer-events":"none","z-index":35e3,border:"0px solid "+n}}),o=new Ext.fx.Anim({target:f,duration:i.duration||1e3,iterations:t,from:{top:u.y,left:u.x,borderWidth:0,opacity:1,height:u.height,width:u.width},to:{top:u.y-20,left:u.x-20,borderWidth:10,opacity:0,height:u.height+40,width:u.width+40}});o.on("afteranimate",function(){f.remove();e.end()})},r.animate({duration:Math.max(i.duration,500)*2||2e3,listeners:{beforeanimate:{fn:u}}}),r},ghost:function(n,t){var i=this,r;return n=n||"b",r=function(){var u=i.getWidth(),f=i.getHeight(),r=i.getXY(),e=i.getPositioning(),t={opacity:0};switch(n){case"t":t.y=r[1]-f;break;case"l":t.x=r[0]-u;break;case"r":t.x=r[0]+u;break;case"b":t.y=r[1]+f;break;case"tl":t.x=r[0]-u;t.y=r[1]-f;break;case"bl":t.x=r[0]-u;t.y=r[1]+f;break;case"br":t.x=r[0]+u;t.y=r[1]+f;break;case"tr":t.x=r[0]+u;t.y=r[1]-f}this.to=t;this.on("afteranimate",function(){i.dom&&(i.hide(),i.clearOpacity(),i.setPositioning(e))})},i.animate(Ext.applyIf(t||{},{duration:500,easing:"ease-out",listeners:{beforeanimate:{fn:r}}})),i},highlight:function(n,t){var r=this,s=r.dom,h={},c,e,u,f,i,o;return t=t||{},f=t.listeners||{},u=t.attr||"backgroundColor",h[u]=n||"ffff9c",t.to?e=t.to:(e={},e[u]=t.endColor||r.getColor(u,"ffffff","")),t.listeners=Ext.apply(Ext.apply({},f),{beforeanimate:function(){return c=s.style[u],r.clearOpacity(),r.show(),i=f.beforeanimate,i?(o=i.fn||i,o.apply(i.scope||f.scope||window,arguments)):void 0},afteranimate:function(){s&&(s.style[u]=c);i=f.afteranimate;i&&(o=i.fn||i,o.apply(i.scope||f.scope||window,arguments))}}),r.animate(Ext.apply({},t,{duration:1e3,easing:"ease-in",from:h,to:e})),r},pause:function(n){var t=this;return Ext.fx.Manager.setFxDefaults(t.id,{delay:n}),t},fadeIn:function(n){var t=this;return t.animate(Ext.apply({},n,{opacity:1,internalListeners:{beforeanimate:function(){t.isStyle("display","none")?t.setDisplayed(""):t.show()}}})),this},fadeOut:function(n){var t=this;return n=Ext.apply({opacity:0,internalListeners:{afteranimate:function(i){var r=t.dom;r&&i.to.opacity===0&&(n.useDisplay?t.setDisplayed(!1):t.hide())}}},n),t.animate(n),t},scale:function(n,t,i){return this.animate(Ext.apply({},i,{width:n,height:t})),this},shift:function(n){return this.animate(n),this}});Ext.dom.Element.override({initDD:function(n,t,i){var r=new Ext.dd.DD(Ext.id(this.dom),n,t);return Ext.apply(r,i)},initDDProxy:function(n,t,i){var r=new Ext.dd.DDProxy(Ext.id(this.dom),n,t);return Ext.apply(r,i)},initDDTarget:function(n,t,i){var r=new Ext.dd.DDTarget(Ext.id(this.dom),n,t);return Ext.apply(r,i)}}),function(){var n=Ext.dom.Element,r="visibility",t="display",i="none",u="hidden",h="offsets",c="asclass",l="nosize",f="originalDisplay",e="visibilityMode",a="isVisible",v=Ext.baseCSSPrefix+"hide-offsets",o=function(n){var i=(n.$cache||n.getCache()).data,t=i[f];return t===undefined&&(i[f]=t=""),t},s=function(t){var r=(t.$cache||t.getCache()).data,i=r[e];return i===undefined&&(r[e]=i=n.VISIBILITY),i};n.override({originalDisplay:"",visibilityMode:1,setVisible:function(i,f){var e=this,y=e.dom,o=s(e);if(typeof f=="string"){switch(f){case t:o=n.DISPLAY;break;case r:o=n.VISIBILITY;break;case h:o=n.OFFSETS;break;case l:case c:o=n.ASCLASS}e.setVisibilityMode(o);f=!1}if(f&&e.anim)i&&(e.setOpacity(.01),e.setVisible(!0)),Ext.isObject(f)||(f={duration:350,easing:"ease-in"}),e.animate(Ext.applyIf({callback:function(){i||e.setVisible(!1).setOpacity(1)},to:{opacity:i?1:0}},f));else{if(o==n.DISPLAY)return e.setDisplayed(i);o==n.OFFSETS?e[i?"removeCls":"addCls"](v):o==n.VISIBILITY?(e.fixDisplay(),y.style.visibility=i?"":u):o==n.ASCLASS&&e[i?"removeCls":"addCls"](e.visibilityCls||n.visibilityCls)}return(e.$cache||e.getCache()).data[a]=i,e},hasMetrics:function(){var t=s(this);return this.isVisible()||t==n.OFFSETS||t==n.VISIBILITY},toggle:function(n){var t=this;return t.setVisible(!t.isVisible(),t.anim(n)),t},setDisplayed:function(n){return typeof n=="boolean"&&(n=n?o(this):i),this.setStyle(t,n),this},fixDisplay:function(){var n=this;n.isStyle(t,i)&&(n.setStyle(r,u),n.setStyle(t,o(n)),n.isStyle(t,i)&&n.setStyle(t,"block"))},hide:function(n){return typeof n=="string"?(this.setVisible(!1,n),this):(this.setVisible(!1,this.anim(n)),this)},show:function(n){return typeof n=="string"?(this.setVisible(!0,n),this):(this.setVisible(!0,this.anim(n)),this)}})}(),function(){var i=Ext.dom.Element,r="left",f="right",u="top",e="bottom",o="position",a="static",d="relative",s="auto",v="z-index",y="BODY",h="padding",c="border",p="-left",w="-right",b="-top",k="-bottom",l="-width",n={l:c+p+l,r:c+w+l,t:c+b+l,b:c+k+l},t={l:h+p,r:h+w,t:h+b,b:h+k},g=[t.l,t.r,t.t,t.b],nt=[n.l,n.r,n.t,n.b],tt=["position","top","left"];i.override({getX:function(){return i.getX(this.dom)},getY:function(){return i.getY(this.dom)},getXY:function(){return i.getXY(this.dom)},getOffsetsTo:function(n){var t=this.getXY(),i=Ext.fly(n,"_internal").getXY();return[t[0]-i[0],t[1]-i[1]]},setX:function(n,t){return this.setXY([n,this.getY()],t)},setY:function(n,t){return this.setXY([this.getX(),n],t)},setLeft:function(n){return this.setStyle(r,this.addUnits(n)),this},setTop:function(n){return this.setStyle(u,this.addUnits(n)),this},setRight:function(n){return this.setStyle(f,this.addUnits(n)),this},setBottom:function(n){return this.setStyle(e,this.addUnits(n)),this},setXY:function(n,t){var r=this;return t&&r.anim?(Ext.isObject(t)||(t={}),r.animate(Ext.applyIf({to:{x:n[0],y:n[1]}},t))):i.setXY(r.dom,n),r},pxRe:/^\d+(?:\.\d*)?px$/i,getLocalX:function(){var t=this,i,n=t.getStyle(r);return!n||n===s?0:n&&t.pxRe.test(n)?parseFloat(n):(n=t.getX(),i=t.dom.offsetParent,i&&(n-=Ext.fly(i).getX()),n)},getLocalY:function(){var t=this,i,n=t.getStyle(u);return!n||n===s?0:n&&t.pxRe.test(n)?parseFloat(n):(n=t.getY(),i=t.dom.offsetParent,i&&(n-=Ext.fly(i).getY()),n)},getLeft:function(n){return n?this.getLocalX():this.getX()},getRight:function(n){return(n?this.getLocalX():this.getX())+this.getWidth()},getTop:function(n){return n?this.getLocalY():this.getY()},getBottom:function(n){return(n?this.getLocalY():this.getY())+this.getHeight()},translatePoints:function(n,t){var u=this,f=u.getStyle(tt),e=f.position=="relative",i=parseFloat(f.left),r=parseFloat(f.top),o=u.getXY();return Ext.isArray(n)&&(t=n[1],n=n[0]),isNaN(i)&&(i=e?0:u.dom.offsetLeft),isNaN(r)&&(r=e?0:u.dom.offsetTop),i=typeof n=="number"?n-o[0]+i:undefined,r=typeof t=="number"?t-o[1]+r:undefined,{left:i,top:r}},setBox:function(n,t,i){var r=this,u=n.width,f=n.height;return!t||r.autoBoxAdjust||r.isBorderBox()||(u-=r.getBorderWidth("lr")+r.getPadding("lr"),f-=r.getBorderWidth("tb")+r.getPadding("tb")),r.setBounds(n.x,n.y,u,f,i),r},getBox:function(i,f){var s=this,e,h,c,l,p,a,w,v,y,o;return f?(e=s.getStyle([r,u]),e=[parseFloat(e.left)||0,parseFloat(e.top)||0]):e=s.getXY(),v=s.getWidth(),y=s.getHeight(),i?(h=s.getStyle(g),c=s.getStyle(nt),l=(parseFloat(c[n.l])||0)+(parseFloat(h[t.l])||0),p=(parseFloat(c[n.r])||0)+(parseFloat(h[t.r])||0),a=(parseFloat(c[n.t])||0)+(parseFloat(h[t.t])||0),w=(parseFloat(c[n.b])||0)+(parseFloat(h[t.b])||0),o={x:e[0]+l,y:e[1]+a,0:e[0]+l,1:e[1]+a,width:v-(l+p),height:y-(a+w)}):o={x:e[0],y:e[1],0:e[0],1:e[1],width:v,height:y},o.right=o.x+o.width,o.bottom=o.y+o.height,o},getPageBox:function(n){var r=this,i=r.dom,u=i.nodeName==y,f=u?Ext.dom.AbstractElement.getViewWidth():i.offsetWidth,e=u?Ext.dom.AbstractElement.getViewHeight():i.offsetHeight,t=r.getXY(),o=t[1],s=t[0]+f,h=t[1]+e,c=t[0];return n?new Ext.util.Region(o,s,h,c):{left:c,top:o,width:f,height:e,right:s,bottom:h}},setLocation:function(n,t,i){return this.setXY([n,t],i)},moveTo:function(n,t,i){return this.setXY([n,t],i)},position:function(n,t,i,r){var u=this;!n&&u.isStyle(o,a)?u.setStyle(o,d):n&&u.setStyle(o,n);t&&u.setStyle(v,t);(i||r)&&u.setXY([i||!1,r||!1])},clearPositioning:function(n){return n=n||"",this.setStyle({left:n,right:n,top:n,bottom:n,"z-index":"",position:a}),this},getPositioning:function(){var n=this.getStyle([r,u,o,f,e,v]);return n[f]=n[r]?"":n[f],n[e]=n[u]?"":n[e],n},setPositioning:function(n){var t=this,i=t.dom.style;return t.setStyle(n),n.right==s&&(i.right=""),n.bottom==s&&(i.bottom=""),t},move:function(n,t,i){var o=this,s=o.getXY(),r=s[0],u=s[1],h=[r-t,u],c=[r+t,u],f=[r,u-t],e=[r,u+t],l={l:h,left:h,r:c,right:c,t:f,top:f,up:f,b:e,bottom:e,down:e};n=n.toLowerCase();o.moveTo(l[n][0],l[n][1],i)},setLeftTop:function(n,t){var r=this.dom.style;return r.left=i.addUnits(n),r.top=i.addUnits(t),this},getRegion:function(){return this.getPageBox(!0)},getViewRegion:function(){var n=this,o=n.dom.nodeName==y,r,u,t,i,f,e;return o?(r=n.getScroll(),i=r.left,t=r.top,f=Ext.dom.AbstractElement.getViewportWidth(),e=Ext.dom.AbstractElement.getViewportHeight()):(u=n.getXY(),i=u[0]+n.getBorderWidth("l")+n.getPadding("l"),t=u[1]+n.getBorderWidth("t")+n.getPadding("t"),f=n.getWidth(!0),e=n.getHeight(!0)),new Ext.util.Region(t,i+f-1,t+e-1,i)},setBounds:function(n,t,i,r,u){var f=this;return u&&f.anim?(Ext.isObject(u)||(u={}),f.animate(Ext.applyIf({to:{x:n,y:t,width:f.adjustWidth(i),height:f.adjustHeight(r)}},u))):(f.setSize(i,r),f.setLocation(n,t)),f},setRegion:function(n,t){return this.setBounds(n.left,n.top,n.right-n.left,n.bottom-n.top,t)}})}();Ext.dom.Element.override({isScrollable:function(){var n=this.dom;return n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth},getScroll:function(){var t=this.dom,i=document,n=i.body,e=i.documentElement,r,u,f;return t==i||t==n?(Ext.isIE&&Ext.isStrict?(r=e.scrollLeft,u=e.scrollTop):(r=window.pageXOffset,u=window.pageYOffset),f={left:r||(n?n.scrollLeft:0),top:u||(n?n.scrollTop:0)}):f={left:t.scrollLeft,top:t.scrollTop},f},scrollBy:function(n,t,i){var u=this,r=u.dom;return n.length?(i=t,t=n[1],n=n[0]):typeof n!="number"&&(i=t,t=n.y,n=n.x),n&&u.scrollTo("left",Math.max(Math.min(r.scrollLeft+n,r.scrollWidth-r.clientWidth),0),i),t&&u.scrollTo("top",Math.max(Math.min(r.scrollTop+t,r.scrollHeight-r.clientHeight),0),i),u},scrollTo:function(n,t,i){var e=/top/i.test(n),r=this,o=r.dom,u,f;return i&&r.anim?(u={to:{}},u.to["scroll"+(e?"Top":"Left")]=t,Ext.isObject(i)&&Ext.applyIf(u,i),r.animate(u)):(f="scroll"+(e?"Top":"Left"),o[f]=t,o[f]=t),r},scrollIntoView:function(n,t,i){n=Ext.getDom(n)||Ext.getBody().dom;var u=this.dom,s=this.getOffsetsTo(n),f=s[0]+n.scrollLeft,e=s[1]+n.scrollTop,h=e+u.offsetHeight,c=f+u.offsetWidth,o=n.clientHeight,l=parseInt(n.scrollTop,10),a=parseInt(n.scrollLeft,10),v=l+o,y=a+n.clientWidth,r;return u.offsetHeight>o||e<l?r=e:h>v&&(r=h-o),r!=null&&Ext.get(n).scrollTo("top",r,i),t!==!1&&(r=null,u.offsetWidth>n.clientWidth||f<a?r=f:c>y&&(r=c-n.clientWidth),r!=null&&Ext.get(n).scrollTo("left",r,i)),this},scrollChildIntoView:function(n,t){Ext.fly(n,"_scrollChildIntoView").scrollIntoView(this,t)},scroll:function(n,t,i){if(!this.isScrollable())return!1;var r=this.dom,e=r.scrollLeft,o=r.scrollTop,h=r.scrollWidth,c=r.scrollHeight,l=r.clientWidth,a=r.clientHeight,s=!1,f,u={l:Math.min(e+t,h-l),r:f=Math.max(e-t,0),t:Math.max(o-t,0),b:Math.min(o+t,c-a)};return u.d=u.b,u.u=u.t,n=n.substr(0,1),(f=u[n])>-1&&(s=!0,this.scrollTo(n=="l"||n=="r"?"left":"top",f,this.anim(i))),s}}),function(){var n=Ext.dom.Element,y=document.defaultView,b=/table-row|table-.*-group/,i="_internal",h="hidden",c="height",r="width",u="isClipped",f="overflow",e="overflow-x",o="overflow-y",p="originalClip",w=/#document|body/i,t,l,a,s,v;if(y&&y.getComputedStyle||(n.prototype.getStyle=function(t,i){var h=this,o=h.dom,y=typeof t!="string",p=h.styleHooks,u=t,c=u,w=1,b=i,l,a,s,f,e,r,v;if(y&&(s={},u=c[0],v=0,!(w=c.length)))return s;if(!o||o.documentElement)return s||"";a=o.style;i?r=a:(r=o.currentStyle,r||(b=!0,r=a));do{if(f=p[u],f||(p[u]=f={name:n.normalize(u)}),f.get)e=f.get(o,h,b,r);else if(l=f.name,f.canThrow)try{e=r[l]}catch(k){e=""}else e=r?r[l]:"";if(!y)return e;s[u]=e;u=c[++v]}while(v<w);return s}),n.override({getHeight:function(n,t){var r=this,f=r.dom,e=r.isStyle("display","none"),i,u;return e?0:(i=Math.max(f.offsetHeight,f.clientHeight)||0,Ext.supports.Direct2DBug&&(u=r.adjustDirect2DDimension(c),t?i+=u:u>0&&u<.5&&i++),n&&(i-=r.getBorderWidth("tb")+r.getPadding("tb")),i<0?0:i)},getWidth:function(n,t){var u=this,e=u.dom,s=u.isStyle("display","none"),o,i,f;return s?0:(Ext.supports.BoundingClientRect?(o=e.getBoundingClientRect(),i=o.right-o.left,i=t?i:Math.ceil(i)):i=e.offsetWidth,i=Math.max(i,e.clientWidth)||0,Ext.supports.Direct2DBug&&(f=u.adjustDirect2DDimension(r),t?i+=f:f>0&&f<.5&&i++),n&&(i-=u.getBorderWidth("lr")+u.getPadding("lr")),i<0?0:i)},setWidth:function(n,t){var i=this;return n=i.adjustWidth(n),t&&i.anim?(Ext.isObject(t)||(t={}),i.animate(Ext.applyIf({to:{width:n}},t))):i.dom.style.width=i.addUnits(n),i},setHeight:function(n,t){var i=this;return n=i.adjustHeight(n),t&&i.anim?(Ext.isObject(t)||(t={}),i.animate(Ext.applyIf({to:{height:n}},t))):i.dom.style.height=i.addUnits(n),i},applyStyles:function(n){return Ext.DomHelper.applyStyles(this.dom,n),this},setSize:function(n,t,i){var r=this;return Ext.isObject(n)&&(i=t,t=n.height,n=n.width),n=r.adjustWidth(n),t=r.adjustHeight(t),i&&r.anim?(i===!0&&(i={}),r.animate(Ext.applyIf({to:{width:n,height:t}},i))):(r.dom.style.width=r.addUnits(n),r.dom.style.height=r.addUnits(t)),r},getViewSize:function(){var i=this,t=i.dom,r=w.test(t.nodeName);return r?{width:n.getViewWidth(),height:n.getViewHeight()}:{width:t.clientWidth,height:t.clientHeight}},getSize:function(n){return{width:this.getWidth(n),height:this.getHeight(n)}},adjustWidth:function(n){var t=this,i=typeof n=="number";return i&&t.autoBoxAdjust&&!t.isBorderBox()&&(n-=t.getBorderWidth("lr")+t.getPadding("lr")),i&&n<0?0:n},adjustHeight:function(n){var t=this,i=typeof n=="number";return i&&t.autoBoxAdjust&&!t.isBorderBox()&&(n-=t.getBorderWidth("tb")+t.getPadding("tb")),i&&n<0?0:n},getColor:function(n,t,i){var r=this.getStyle(n),u=i||i===""?i:"#",f,o,e=0;if(!r||/transparent|inherit/.test(r))return t;if(/^r/.test(r))for(r=r.slice(4,r.length-1).split(","),o=r.length;e<o;e++)f=parseInt(r[e],10),u+=(f<16?"0":"")+f.toString(16);else r=r.replace("#",""),u+=r.length==3?r.replace(/^(\w)(\w)(\w)$/,"$1$1$2$2$3$3"):r;return u.length>5?u.toLowerCase():t},setOpacity:function(n,t){var i=this;return i.dom?(t&&i.anim?(typeof t!="object"&&(t={duration:350,easing:"ease-in"}),i.animate(Ext.applyIf({to:{opacity:n}},t))):i.setStyle("opacity",n),i):i},clearOpacity:function(){return this.setOpacity("")},adjustDirect2DDimension:function(n){var u=this,t=u.dom,i=u.getStyle("display"),o=t.style.display,s=t.style.position,h=n===r?0:1,f=t.currentStyle,e;return i==="inline"&&(t.style.display="inline-block"),t.style.position=i.match(b)?"absolute":"static",e=(parseFloat(f[n])||parseFloat(f.msTransformOrigin.split(" ")[h])*2)%1,t.style.position=s,i==="inline"&&(t.style.display=o),e},clip:function(){var n=this,i=(n.$cache||n.getCache()).data,t;return i[u]||(i[u]=!0,t=n.getStyle([f,e,o]),i[p]={o:t[f],x:t[e],y:t[o]},n.setStyle(f,h),n.setStyle(e,h),n.setStyle(o,h)),n},unclip:function(){var t=this,i=(t.$cache||t.getCache()).data,n;return i[u]&&(i[u]=!1,n=i[p],n.o&&t.setStyle(f,n.o),n.x&&t.setStyle(e,n.x),n.y&&t.setStyle(o,n.y)),t},boxWrap:function(t){t=t||Ext.baseCSSPrefix+"box";var i=Ext.get(this.insertHtml("beforeBegin","<div class='"+t+"'>"+Ext.String.format(n.boxMarkup,t)+"<\/div>"));return Ext.DomQuery.selectNode("."+t+"-mc",i.dom).appendChild(this.dom),i},getComputedHeight:function(){var n=this,t=Math.max(n.dom.offsetHeight,n.dom.clientHeight);return t||(t=parseFloat(n.getStyle(c))||0,n.isBorderBox()||(t+=n.getFrameWidth("tb"))),t},getComputedWidth:function(){var n=this,t=Math.max(n.dom.offsetWidth,n.dom.clientWidth);return t||(t=parseFloat(n.getStyle(r))||0,n.isBorderBox()||(t+=n.getFrameWidth("lr"))),t},getFrameWidth:function(n,t){return t&&this.isBorderBox()?0:this.getPadding(n)+this.getBorderWidth(n)},addClsOnOver:function(n,t,r){var u=this,f=u.dom,e=Ext.isFunction(t);return u.hover(function(){e&&t.call(r||u,u)===!1||Ext.fly(f,i).addCls(n)},function(){Ext.fly(f,i).removeCls(n)}),u},addClsOnFocus:function(n,t,r){var u=this,f=u.dom,e=Ext.isFunction(t);u.on("focus",function(){if(e&&t.call(r||u,u)===!1)return!1;Ext.fly(f,i).addCls(n)});u.on("blur",function(){Ext.fly(f,i).removeCls(n)});return u},addClsOnClick:function(n,t,r){var u=this,f=u.dom,e=Ext.isFunction(t);u.on("mousedown",function(){if(e&&t.call(r||u,u)===!1)return!1;Ext.fly(f,i).addCls(n);var o=Ext.getDoc(),s=function(){Ext.fly(f,i).removeCls(n);o.removeListener("mouseup",s)};o.on("mouseup",s)});return u},getStyleSize:function(){var t=this,e=this.dom,o=w.test(e.nodeName),i,u,f;return o?{width:n.getViewWidth(),height:n.getViewHeight()}:(i=t.getStyle([c,r],!0),i.width&&i.width!="auto"&&(u=parseFloat(i.width),t.isBorderBox()&&(u-=t.getFrameWidth("lr"))),i.height&&i.height!="auto"&&(f=parseFloat(i.height),t.isBorderBox()&&(f-=t.getFrameWidth("tb"))),{width:u||t.getWidth(!0),height:f||t.getHeight(!0)})},selectable:function(){var n=this;n.dom.unselectable="off";n.on("selectstart",function(n){return n.stopPropagation(),!0});return n.applyStyles("-moz-user-select: text; -khtml-user-select: text;"),n.removeCls(Ext.baseCSSPrefix+"unselectable"),n},unselectable:function(){var n=this;return n.dom.unselectable="on",n.swallowEvent("selectstart",!0),n.applyStyles("-moz-user-select:-moz-none;-khtml-user-select:none;"),n.addCls(Ext.baseCSSPrefix+"unselectable"),n}}),n.prototype.styleHooks=t=Ext.dom.AbstractElement.prototype.styleHooks,(Ext.isIE6||Ext.isIE7)&&(t.fontSize=t["font-size"]={name:"fontSize",canThrow:!0},t.fontStyle=t["font-style"]={name:"fontStyle",canThrow:!0},t.fontFamily=t["font-family"]={name:"fontFamily",canThrow:!0}),Ext.isIEQuirks||Ext.isIE&&Ext.ieVersion<=8){function k(n,t,i,r){return r[this.styleName]=="none"?"0px":r[this.name]}for(l=["Top","Right","Bottom","Left"],a=l.length;a--;)s=l[a],v="border"+s+"Width",t["border-"+s.toLowerCase()+"-width"]=t[v]={name:v,styleName:"border"+s+"Style",get:k}}}();Ext.onReady(function(){var n=/alpha\(opacity=(.*)\)/i,i=/^\s+|\s+$/g,t=Ext.dom.Element.prototype.styleHooks;t.opacity={name:"opacity",afterSet:function(n,t,i){if(i.isLayer)i.onOpacitySet(t)}};!Ext.supports.Opacity&&Ext.isIE&&Ext.apply(t.opacity,{get:function(t){var u=t.style.filter,r,i;return u.match&&(r=u.match(n),r&&(i=parseFloat(r[1]),!isNaN(i)))?i?i/100:0:1},set:function(t,r){var u=t.style,f=u.filter.replace(n,"").replace(i,"");u.zoom=1;typeof r=="number"&&r>=0&&r<1?(r*=100,u.filter=f+(f.length?" ":"")+"alpha(opacity="+r+")"):u.filter=f}})});Ext.dom.Element.override({select:function(n){return Ext.dom.Element.select(n,!1,this.dom)}});Ext.define("Ext.dom.CompositeElementLite",{alternateClassName:"Ext.CompositeElementLite",requires:["Ext.dom.Element","Ext.dom.Query"],statics:{importElementMethods:function(){var n,i=Ext.dom.Element.prototype,t=this.prototype;for(n in i)typeof i[n]=="function"&&function(n){t[n]=t[n]||function(){return this.invoke(n,arguments)}}.call(t,n)}},constructor:function(n,t){this.elements=[];this.add(n,t);this.el=new Ext.dom.AbstractElement.Fly},isComposite:!0,getElement:function(n){return this.el.attach(n)},transformElement:function(n){return Ext.getDom(n)},getCount:function(){return this.elements.length},add:function(n,t){var u=this.elements,i,r;if(!n)return this;for(typeof n=="string"?n=Ext.dom.Element.selectorFunction(n,t):n.isComposite?n=n.elements:Ext.isIterable(n)||(n=[n]),i=0,r=n.length;i<r;++i)u.push(this.transformElement(n[i]));return this},invoke:function(n,t){var u=this.elements,f=u.length,r,i;for(n=Ext.dom.Element.prototype[n],i=0;i<f;i++)r=u[i],r&&n.apply(this.getElement(r),t);return this},item:function(n){var t=this.elements[n],i=null;return t&&(i=this.getElement(t)),i},addListener:function(n,t,i,r){for(var e=this.elements,o=e.length,f,u=0;u<o;u++)if(f=e[u],f)Ext.EventManager.on(f,n,t,i||f,r);return this},each:function(n,t){for(var u=this,f=u.elements,e=f.length,i,r=0;r<e;r++)if(i=f[r],i&&(i=this.getElement(i),n.call(t||i,i,u,r)===!1))break;return u},fill:function(n){var t=this;return t.elements=[],t.add(n),t},filter:function(n){for(var i=this,f=i.elements,o=f.length,e=[],r=0,s=typeof n=="function",u,t;r<o;r++)t=f[r],u=!1,t&&(t=i.getElement(t),u=s?n.call(t,t,i,r)!==!1:t.is(n),u&&e.push(i.transformElement(t)));return i.elements=e,i},indexOf:function(n){return Ext.Array.indexOf(this.elements,this.transformElement(n))},replaceElement:function(n,t,i){var u=isNaN(n)?this.indexOf(n):n,r;return u>-1&&(t=Ext.getDom(t),i&&(r=this.elements[u],r.parentNode.insertBefore(t,r),Ext.removeNode(r)),Ext.Array.splice(this.elements,u,1,t)),this},clear:function(){this.elements=[]},addElements:function(n,t){if(!n)return this;typeof n=="string"&&(n=Ext.dom.Element.selectorFunction(n,t));for(var r=this.elements,u=n.length,i=0;i<u;i++)r.push(Ext.get(n[i]));return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(n){return this.indexOf(n)!=-1},removeElement:function(n,t){n=[].concat(n);for(var f=this,e=f.elements,o=n.length,i,r,u=0;u<o;u++)i=n[u],(r=e[i]||e[i=f.indexOf(i)])&&(t&&(r.dom?r.remove():Ext.removeNode(r)),Ext.Array.erase(e,i,1));return f}},function(){this.importElementMethods();this.prototype.on=this.prototype.addListener;Ext.DomQuery&&(Ext.dom.Element.selectorFunction=Ext.DomQuery.select);Ext.dom.Element.select=function(n,t){var i;return typeof n=="string"?i=Ext.dom.Element.selectorFunction(n,t):n.length!==undefined&&(i=n),new Ext.CompositeElementLite(i)};Ext.select=function(){return Ext.dom.Element.select.apply(Ext.dom.Element,arguments)}});Ext.define("Ext.util.Animate",{requires:["Ext.Element","Ext.CompositeElementLite"],uses:["Ext.fx.Manager","Ext.fx.Anim"],animate:function(n){var t=this;return Ext.fx.Manager.hasFxBlock(t.id)?t:(Ext.fx.Manager.queueFx(new Ext.fx.Anim(t.anim(n))),this)},anim:function(n){if(!Ext.isObject(n))return n?{}:!1;var t=this;return n.stopAnimation&&t.stopAnimation(),Ext.applyIf(n,Ext.fx.Manager.getFxDefaults(t.id)),Ext.apply({target:t,paused:!0},n)},stopFx:Ext.Function.alias(Ext.util.Animate,"stopAnimation"),stopAnimation:function(){return Ext.fx.Manager.stopAnimation(this.id),this},syncFx:function(){return Ext.fx.Manager.setFxDefaults(this.id,{concurrent:!0}),this},sequenceFx:function(){return Ext.fx.Manager.setFxDefaults(this.id,{concurrent:!1}),this},hasActiveFx:Ext.Function.alias(Ext.util.Animate,"getActiveAnimation"),getActiveAnimation:function(){return Ext.fx.Manager.getActiveAnimation(this.id)}},function(){Ext.applyIf(Ext.Element.prototype,this.prototype);Ext.CompositeElementLite.importElementMethods()});Ext.define("Ext.util.ElementContainer",{childEls:[],constructor:function(){var n=this,t;n.hasOwnProperty("childEls")&&(t=n.childEls,delete n.childEls,n.addChildEls.apply(n,t))},destroy:function(){for(var t=this,u=t.getChildEls(),i,n,r=u.length;r--;)n=u[r],typeof n!="string"&&(n=n.name),i=t[n],i&&(t[n]=null,i.remove())},addChildEls:function(){var n=this,t=arguments;n.hasOwnProperty("childEls")?n.childEls.push.apply(n.childEls,t):n.childEls=n.getChildEls().concat(Array.prototype.slice.call(t));n.prune(n.childEls,!1)},applyChildEls:function(n,t){for(var u=this,s=u.getChildEls(),i,r,o,f=(t||u.id)+"-",e=s.length;e--;)i=s[e],typeof i=="string"?o=n.getById(f+i):(o=(r=i.select)?Ext.select(r,!0,n.dom):(r=i.selectNode)?Ext.get(Ext.DomQuery.selectNode(r,n.dom)):n.getById(i.id||f+i.itemId),i=i.name),u[i]=o},getChildEls:function(){var n=this,t;return n.hasOwnProperty("childEls")?n.childEls:(t=n.self,t.$childEls||n.getClassChildEls(t))},getClassChildEls:function(n){var h=this,t=n.$childEls,u,f,v,c,l,e,o,r,s,i,a;if(!t){i=n.superclass;i?(i=i.self,r=[i.$childEls||h.getClassChildEls(i)],a=i.prototype.mixins||{}):(r=[],a={});s=n.prototype;e=s.mixins;for(o in e)e.hasOwnProperty(o)&&!a.hasOwnProperty(o)&&(l=e[o].self,r.push(l.$childEls||h.getClassChildEls(l)));for(r.push(s.hasOwnProperty("childEls")&&s.childEls),f=0,v=r.length;f<v;++f)u=r[f],u&&u.length&&(t?(c||(c=!0,t=t.slice(0)),t.push.apply(t,u)):t=u);n.$childEls=t=t?h.prune(t,!c):[]}return t},prune:function(n,t){for(var r=n.length,u={},i;r--;)i=n[r],typeof i!="string"&&(i=i.name),u[i]?(t&&(t=!1,n=n.slice(0)),Ext.Array.erase(n,r,1)):u[i]=1;return n},removeChildEls:function(n){for(var r=this,u=r.getChildEls(),e=r.childEls=[],i,t=0,f=u.length;t<f;++t)i=u[t],n(i)||e.push(i)}});Ext.define("Ext.util.Renderable",{requires:["Ext.dom.Element"],frameCls:Ext.baseCSSPrefix+"frame",frameIdRegex:/[\-]frame\d+[TMB][LCR]$/,frameElementCls:{tl:[],tc:[],tr:[],ml:[],mc:[],mr:[],bl:[],bc:[],br:[]},frameElNames:["TL","TC","TR","ML","MC","MR","BL","BC","BR"],frameTpl:["{%this.renderDockedItems(out,values,0);%}",'<tpl if="top">','<tpl if="left"><div id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl<\/tpl>" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation"><\/tpl>','<tpl if="right"><div id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr<\/tpl>" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation"><\/tpl>','<div id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc<\/tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"><\/div>','<tpl if="right"><\/div><\/tpl>','<tpl if="left"><\/div><\/tpl>',"<\/tpl>",'<tpl if="left"><div id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml<\/tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"><\/tpl>','<tpl if="right"><div id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr<\/tpl>" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation"><\/tpl>','<div id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc<\/tpl>" 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" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl<\/tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"><\/tpl>','<tpl if="right"><div id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br<\/tpl>" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation"><\/tpl>','<div id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc<\/tpl>" style="background-position: {bc}; height: {frameWidth}px" 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><tbody>",'<tpl if="top">',"<tr>",'<tpl if="left"><td id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl<\/tpl>" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"><\/td><\/tpl>','<td id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc<\/tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"><\/td>','<tpl if="right"><td id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr<\/tpl>" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation"><\/td><\/tpl>',"<\/tr>","<\/tpl>","<tr>",'<tpl if="left"><td id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml<\/tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"><\/td><\/tpl>','<td id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc<\/tpl>" style="background-position: 0 0;" role="presentation">',"{%this.applyRenderTpl(out, values)%}","<\/td>",'<tpl if="right"><td id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr<\/tpl>" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation"><\/td><\/tpl>',"<\/tr>",'<tpl if="bottom">',"<tr>",'<tpl if="left"><td id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl<\/tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"><\/td><\/tpl>','<td id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc<\/tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"><\/td>','<tpl if="right"><td id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br<\/tpl>" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation"><\/td><\/tpl>',"<\/tr>","<\/tpl>","<\/tbody><\/table>","{%this.renderDockedItems(out,values,1);%}"],afterRender:function(){var n=this,i={},u=n.protoEl,r=n.getTargetEl(),t;n.finishRenderChildren();n.styleHtmlContent&&r.addCls(n.styleHtmlCls);u.writeTo(i);t=i.removed;t&&r.removeCls(t);t=i.cls;t.length&&r.addCls(t);t=i.style;i.style&&r.setStyle(t);n.protoEl=null;n.ownerCt||n.updateLayout()},afterFirstLayout:function(n,t){var i=this,f=Ext.isDefined(i.x),e=Ext.isDefined(i.y),r,u;!i.floating||f&&e||(i.floatParent?(r=i.floatParent.getTargetEl().getViewRegion(),u=i.el.getAlignToXY(i.floatParent.getTargetEl(),"c-c"),r.left=u[0]-r.left,r.top=u[1]-r.top):(u=i.el.getAlignToXY(i.container,"c-c"),r=i.container.translatePoints(u[0],u[1])),i.x=f?i.x:r.left,i.y=e?i.y:r.top,f=e=!0);(f||e)&&i.setPosition(i.x,i.y);i.onBoxReady(n,t);i.hasListeners.boxready&&i.fireEvent("boxready",i,n,t)},onBoxReady:Ext.emptyFn,applyRenderSelectors:function(){var i=this,n=i.renderSelectors,r=i.el,u=r.dom,t;if(i.applyChildEls(r),n)for(t in n)n.hasOwnProperty(t)&&n[t]&&(i[t]=Ext.get(Ext.DomQuery.selectNode(n[t],u)))},beforeRender:function(){var n=this,t=n.getTargetEl(),i=n.getComponentLayout();n.frame=n.frame||n.alwaysFramed;i.initialized||i.initLayout();t&&(t.setStyle(n.getOverflowStyle()),n.overflowStyleSet=!0);n.setUI(n.ui);n.disabled&&n.disable(!0)},doApplyRenderTpl:function(n,t){var i=t.$comp,r;i.rendered||(r=i.initRenderTpl(),r.applyOut(t.renderData,n))},doAutoRender:function(){var n=this;n.rendered||(n.floating?n.render(document.body):n.render(Ext.isBoolean(n.autoRender)?Ext.getBody():n.autoRender))},doRenderContent:function(n,t){var i=t.$comp;i.html&&(Ext.DomHelper.generateMarkup(i.html,n),delete i.html);i.tpl&&(i.tpl.isTemplate||(i.tpl=new Ext.XTemplate(i.tpl)),i.data&&(i.tpl.applyOut(i.data,n),delete i.data))},doRenderFramingDockedItems:function(n,t,i){var r=t.$comp;!r.rendered&&r.doRenderDockedItems&&(t.renderData.$skipDockedItems=!0,r.doRenderDockedItems.call(this,n,t,i))},finishRender:function(n){var t=this,u,o,f,i,e,r;!t.el||t.$pid?(i=t.container?t.container.getById(t.id,!0):Ext.getDom(t.id),t.el?(delete t.$pid,t.el.dom||t.wrapPrimaryEl(t.el),i.parentNode.insertBefore(t.el.dom,i),Ext.removeNode(i)):t.wrapPrimaryEl(i)):t.rendering||(u=t.initRenderTpl(),u&&(o=t.initRenderData(),u.insertFirst(t.getTargetEl(),o)));t.container||(t.container=Ext.get(t.el.dom.parentNode));t.ctCls&&t.container.addCls(t.ctCls);t.onRender(t.container,n);t.overflowStyleSet||t.getTargetEl().setStyle(t.getOverflowStyle());t.el.setVisibilityMode(Ext.Element[t.hideMode.toUpperCase()]);t.overCls&&t.el.hover(t.addOverCls,t.removeOverCls,t);t.hasListeners.render&&t.fireEvent("render",t);t.contentEl&&(e=Ext.baseCSSPrefix,r=e+"hide-",f=Ext.get(t.contentEl),f.removeCls([e+"hidden",r+"display",r+"offsets",r+"nosize"]),t.getTargetEl().appendChild(f.dom));t.afterRender();t.hasListeners.afterrender&&t.fireEvent("afterrender",t);t.initEvents();t.hidden&&t.el.hide()},finishRenderChildren:function(){var n=this.getComponentLayout();n.finishRender()},getElConfig:function(){var n=this,f=n.autoEl,t=n.getFrameInfo(),i={tag:"div",tpl:t?n.initFramingTpl(t.table):n.initRenderTpl()},r,e,s,o,u;if(n.initStyles(n.protoEl),n.protoEl.writeTo(i),n.protoEl.flush(),Ext.isString(f)?i.tag=f:Ext.apply(i,f),i.id=n.id,i.tpl)if(t){for(e=n.frameElNames,s=e.length,u=n.id+"-frame1",n.frameGenId=1,i.tplData=Ext.apply({},{$comp:n,fgid:u,ui:n.ui,uiCls:n.uiCls,frameCls:n.frameCls,baseCls:n.baseCls,frameWidth:t.maxWidth,top:!!t.top,left:!!t.left,right:!!t.right,bottom:!!t.bottom,renderData:n.initRenderData()},n.getFramePositions(t)),r=0;r<s;r++)o=e[r],n.addChildEls({name:"frame"+o,id:u+o});n.addChildEls({name:"frameBody",id:u+"MC"})}else i.tplData=n.initRenderData();return i},initFramingTpl:function(n){var t=n?this.getTpl("frameTableTpl"):this.getTpl("frameTpl");return t&&!t.applyRenderTpl&&this.setupFramingTpl(t),t},setupFramingTpl:function(n){n.applyRenderTpl=this.doApplyRenderTpl;n.renderDockedItems=this.doRenderFramingDockedItems},getInsertPosition:function(n){return n!==undefined&&(n=Ext.isNumber(n)?this.container.dom.childNodes[n]:Ext.getDom(n)),n},getRenderTree:function(){var n=this;return!n.hasListeners.beforerender||n.fireEvent("beforerender",n)!==!1?(n.beforeRender(),n.rendering=!0,n.el)?{tag:"div",id:n.$pid=Ext.id()}:n.getElConfig():null},initContainer:function(n){var t=this;return!n&&t.el&&(n=t.el.dom.parentNode,t.allowDomMove=!1),t.container=n.dom?n:Ext.get(n),t.container},initRenderData:function(){var n=this;return Ext.apply({$comp:n,id:n.id,ui:n.ui,uiCls:n.uiCls,baseCls:n.baseCls,componentCls:n.componentCls,frame:n.frame},n.renderData)},initRenderTpl:function(){var n=this.getTpl("renderTpl");return n&&!n.renderContent&&this.setupRenderTpl(n),n},onRender:function(){var n=this,f=n.x,e=n.y,t,i,r,u=n.el,o=Ext.getBody().dom;Ext.scopeResetCSS&&!n.ownerCt&&(u.dom===o?u.parent().addCls(Ext.resetCls):n.floating&&n.el.dom.parentNode===o?Ext.resetElement.appendChild(n.el):n.resetEl=u.wrap(Ext.resetElementSpec,!1,Ext.supports.CSS3LinearGradient?undefined:"*"));n.applyRenderSelectors();delete n.rendering;n.rendered=!0;t=null;f!==undefined&&(t=t||{},t.x=f);e!==undefined&&(t=t||{},t.y=e);!n.getFrameInfo()&&Ext.isBorderBox&&(i=n.width,r=n.height,typeof i=="number"&&(t=t||{},t.width=i),typeof r=="number"&&(t=t||{},t.height=r));n.lastBox=n.el.lastBox=t},render:function(n,t){var i=this,r=i.el&&(i.el=Ext.get(i.el)),e,u,f;Ext.suspendLayouts();n=i.initContainer(n);f=i.getInsertPosition(t);r?i.hasListeners.beforerender&&i.fireEvent("beforerender",i)===!1?e=!0:(i.initStyles(r),i.allowDomMove!==!1&&(f?n.dom.insertBefore(r.dom,f):n.dom.appendChild(r.dom))):(u=i.getRenderTree(),i.ownerLayout&&i.ownerLayout.transformItemRenderTree&&(u=i.ownerLayout.transformItemRenderTree(u)),u&&(r=f?Ext.DomHelper.insertBefore(f,u):i.applyTo?Ext.DomHelper.insertAfter(Ext.get(i.applyTo).dom,u):Ext.DomHelper.append(n,u),i.wrapPrimaryEl(r)));r&&!e&&i.finishRender(t);n&&Ext.resumeLayouts(!n.isDetachedBody)},ensureAttachedToBody:function(n){for(var t=this,i;t.ownerCt;)t=t.ownerCt;t.container.isDetachedBody&&(t.container=i=Ext.resetElement,i.appendChild(t.el.dom),n&&t.updateLayout(),(typeof t.x=="number"||typeof t.y=="number")&&t.setPosition(t.x,t.y))},setupRenderTpl:function(n){n.renderBody=n.renderContent=this.doRenderContent},wrapPrimaryEl:function(n){this.el=Ext.get(n,!0)},initFrame:function(){if(!Ext.supports.CSS3BorderRadius&&this.frame){var n=this,t=n.getFrameInfo(),f,e,i,r,o=n.frameElNames,s=o.length,u;if(t)for(f=t.maxWidth,e=n.getFrameTpl(t.table),n.frameGenId=i=(n.frameGenId||0)+1,i=n.id+"-frame"+i,e.insertFirst(n.el,Ext.apply({$comp:n,fgid:i,ui:n.ui,uiCls:n.uiCls,frameCls:n.frameCls,baseCls:n.baseCls,frameWidth:f,top:!!t.top,left:!!t.left,right:!!t.right,bottom:!!t.bottom},n.getFramePositions(t))),n.frameBody=n.el.down("."+n.frameCls+"-mc"),n.removeChildEls(function(t){return t.id&&n.frameIdRegex.test(t.id)}),r=0;r<s;r++)u=o[r],n["frame"+u]=n.el.getById(i+u)}},updateFrame:function(){if(!Ext.supports.CSS3BorderRadius&&this.frame){var t=this,e=this.frameSize&&this.frameSize.table,i=this.frameTL,r=this.frameBL,u=this.frameML,n=this.frameMC,f;this.initFrame();n?t.frame&&(f=this.frameMC.dom.className,n.insertAfter(this.frameMC),this.frameMC.remove(),this.frameBody=this.frameMC=n,n.dom.className=f,e?t.el.query("> table")[1].remove():(i&&i.remove(),r&&r.remove(),u&&u.remove())):t.frame&&this.applyRenderSelectors()}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius||!this.frame)return!1;var n=this,s=n.frameInfoCache,i=n.el||n.protoEl,e=i.dom?i.dom.className:i.classList.join(" "),t=s[e],r,u,f,o;return t==null&&(r=Ext.fly(n.getStyleProxy(e),"frame-style-el"),u=r.getStyle("background-position-x"),f=r.getStyle("background-position-y"),u||f||(o=r.getStyle("background-position").split(" "),u=o[0],f=o[1]),t=n.calculateFrame(u,f),t&&i.setStyle("background-image","none"),s[e]=t),n.frame=!!t,n.frameSize=t,t},calculateFrame:function(n,t){if(!(parseInt(n,10)>=1e6&&parseInt(t,10)>=1e6))return!1;var r=Math.max,u=parseInt(n.substr(3,2),10),f=parseInt(n.substr(5,2),10),e=parseInt(t.substr(3,2),10),o=parseInt(t.substr(5,2),10),i={table:n.substr(0,3)=="110",vertical:t.substr(0,3)=="110",top:r(u,f),right:r(f,e),bottom:r(o,e),left:r(u,o)};return i.maxWidth=r(i.top,i.right,i.bottom,i.left),i.width=i.left+i.right,i.height=i.top+i.bottom,i},getStyleProxy:function(n){var t=this.styleProxyEl||(Ext.AbstractComponent.prototype.styleProxyEl=Ext.resetElement.createChild({style:{position:"absolute",top:"-10000px"}},null,!0));return t.className=n,t},getFramePositions:function(n){var s=this,t=n.maxWidth,i=s.dock,r,u,f,e,o;return n.vertical?(u="0 -"+t*0+"px",f="0 -"+t*1+"px",i&&i=="right"&&(u="right -"+t*0+"px",f="right -"+t*1+"px"),r={tl:"0 -"+t*0+"px",tr:"0 -"+t*1+"px",bl:"0 -"+t*2+"px",br:"0 -"+t*3+"px",ml:"-"+t*1+"px 0",mr:"right 0",tc:u,bc:f}):(e="-"+t*0+"px 0",o="right 0",i&&i=="bottom"&&(e="left bottom",o="right bottom"),r={tl:"0 -"+t*2+"px",tr:"right -"+t*3+"px",bl:"0 -"+t*4+"px",br:"right -"+t*5+"px",ml:e,mr:o,tc:"0 -"+t*0+"px",bc:"0 -"+t*1+"px"}),r},getFrameTpl:function(n){return this.getTpl(n?"frameTableTpl":"frameTpl")},frameInfoCache:{}});Ext.define("Ext.state.Provider",{mixins:{observable:"Ext.util.Observable"},prefix:"ext-",constructor:function(n){n=n||{};var t=this;Ext.apply(t,n);t.addEvents("statechange");t.state={};t.mixins.observable.constructor.call(t)},get:function(n,t){return typeof this.state[n]=="undefined"?t:this.state[n]},clear:function(n){var t=this;delete t.state[n];t.fireEvent("statechange",t,n,null)},set:function(n,t){var i=this;i.state[n]=t;i.fireEvent("statechange",i,n,t)},decodeValue:function(n){var o=this,u=/^(a|n|d|b|s|o|e)\:(.*)$/.exec(unescape(n)),i,s,e,r,f,t;if(u&&u[1]){s=u[1];n=u[2];switch(s){case"e":return null;case"n":return parseFloat(n);case"d":return new Date(Date.parse(n));case"b":return n=="1";case"a":if(i=[],n!="")for(r=n.split("^"),f=r.length,t=0;t<f;t++)n=r[t],i.push(o.decodeValue(n));return i;case"o":if(i={},n!="")for(r=n.split("^"),f=r.length,t=0;t<f;t++)n=r[t],e=n.split("="),i[e[0]]=o.decodeValue(e[1]);return i;default:return n}}},encodeValue:function(n){var i="",u=0,t,f,r;if(n==null)return"e:1";if(typeof n=="number")t="n:"+n;else if(typeof n=="boolean")t="b:"+(n?"1":"0");else if(Ext.isDate(n))t="d:"+n.toGMTString();else if(Ext.isArray(n)){for(f=n.length;u<f;u++)i+=this.encodeValue(n[u]),u!=f-1&&(i+="^");t="a:"+i}else if(typeof n=="object"){for(r in n)typeof n[r]!="function"&&n[r]!==undefined&&(i+=r+"="+this.encodeValue(n[r])+"^");t="o:"+i.substring(0,i.length-1)}else t="s:"+n;return escape(t)}});Ext.define("Ext.state.Manager",{singleton:!0,requires:["Ext.state.Provider"],constructor:function(){this.provider=new Ext.state.Provider},setProvider:function(n){this.provider=n},get:function(n,t){return this.provider.get(n,t)},set:function(n,t){this.provider.set(n,t)},clear:function(n){this.provider.clear(n)},getProvider:function(){return this.provider}});Ext.define("Ext.state.Stateful",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.state.Manager"],stateful:!1,saveDelay:100,constructor:function(n){var t=this;n=n||{};n.stateful!==undefined&&(t.stateful=n.stateful);n.saveDelay!==undefined&&(t.saveDelay=n.saveDelay);t.stateId=t.stateId||n.stateId;t.stateEvents||(t.stateEvents=[]);n.stateEvents&&t.stateEvents.concat(n.stateEvents);this.addEvents("beforestaterestore","staterestore","beforestatesave","statesave");t.mixins.observable.constructor.call(t);t.stateful!==!1&&(t.addStateEvents(t.stateEvents),t.initState())},addStateEvents:function(n){var t=this,r,i,u;if(t.stateful&&t.getStateId())for(typeof n=="string"&&(n=Array.prototype.slice.call(arguments,0)),u=t.stateEventsByName||(t.stateEventsByName={}),r=n.length;r--;)if(i=n[r],!u[i]){u[i]=1;t.on(i,t.onStateChange,t)}},onStateChange:function(){var n=this,i=n.saveDelay,t,r;n.stateful&&(i?(n.stateTask||(t=Ext.state.Stateful,r=t.runner||(t.runner=new Ext.util.TaskRunner),n.stateTask=r.newTask({run:n.saveState,scope:n,interval:i,repeat:1})),n.stateTask.start()):n.saveState())},saveState:function(){var n=this,i=n.stateful&&n.getStateId(),r=n.hasListeners,t;i&&(t=n.getState()||{},r.beforestatesave&&n.fireEvent("beforestatesave",n,t)===!1||(Ext.state.Manager.set(i,t),r.statesave&&n.fireEvent("statesave",n,t)))},getState:function(){return null},applyState:function(n){n&&Ext.apply(this,n)},getStateId:function(){var n=this;return n.stateId||(n.autoGenId?null:n.id)},initState:function(){var n=this,i=n.stateful&&n.getStateId(),r=n.hasListeners,t;i&&(t=Ext.state.Manager.get(i),t&&(t=Ext.apply({},t),r.beforestaterestore&&n.fireEvent("beforestaterestore",n,t)===!1||(n.applyState(t),r.staterestore&&n.fireEvent("staterestore",n,t))))},savePropToState:function(n,t,i){var r=this,u=r[n],f=r.initialConfig;return r.hasOwnProperty(n)&&(!f||f[n]!==u)?(t&&(t[i||n]=u),!0):!1},savePropsToState:function(n,t){var r=this,i,u;if(typeof n=="string")r.savePropToState(n,t);else for(i=0,u=n.length;i<u;++i)r.savePropToState(n[i],t);return t},destroy:function(){var n=this,t=n.stateTask;t&&(t.destroy(),n.stateTask=null);n.clearListeners()}});Ext.define("Ext.AbstractComponent",{requires:["Ext.ComponentQuery","Ext.ComponentManager","Ext.util.ProtoElement"],mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate",elementCt:"Ext.util.ElementContainer",renderable:"Ext.util.Renderable",state:"Ext.state.Stateful"},uses:["Ext.PluginManager","Ext.Element","Ext.DomHelper","Ext.XTemplate","Ext.ComponentQuery","Ext.ComponentLoader","Ext.EventManager","Ext.layout.Context","Ext.layout.Layout","Ext.layout.component.Auto","Ext.LoadMask","Ext.ZIndexManager"],statics:{AUTO_ID:1e3,pendingLayouts:null,layoutSuspendCount:0,cancelLayout:function(n,t){var i=this.runningLayoutContext||this.pendingLayouts;i&&i.cancelComponent(n,!1,t)},flushLayouts:function(){var t=this,n=t.pendingLayouts;n&&n.invalidQueue.length&&(t.pendingLayouts=null,t.runningLayoutContext=n,Ext.override(n,{runComplete:function(){return t.runningLayoutContext=null,this.callParent()}}),n.run())},resumeLayouts:function(n){this.layoutSuspendCount&&!--this.layoutSuspendCount&&n&&this.flushLayouts()},suspendLayouts:function(){++this.layoutSuspendCount},updateLayout:function(n,t){var i=this,r=i.runningLayoutContext,u;r?r.queueInvalidate(n):(u=i.pendingLayouts||(i.pendingLayouts=new Ext.layout.Context),u.queueInvalidate(n),t||i.layoutSuspendCount||n.isLayoutSuspended()||i.flushLayouts())}},isComponent:!0,getAutoId:function(){return this.autoGenId=!0,++Ext.AbstractComponent.AUTO_ID},deferLayouts:!1,autoGenId:!1,renderTpl:"{%this.renderContent(out,values)%}",frameSize:{left:0,top:0,right:0,bottom:0,width:0,height:0},tplWriteMode:"overwrite",baseCls:Ext.baseCSSPrefix+"component",disabledCls:Ext.baseCSSPrefix+"item-disabled",ui:"default",uiCls:[],hidden:!1,disabled:!1,draggable:!1,floating:!1,hideMode:"display",styleHtmlContent:!1,styleHtmlCls:Ext.baseCSSPrefix+"html",autoShow:!1,autoRender:!1,allowDomMove:!0,rendered:!1,componentLayoutCounter:0,shrinkWrap:2,weight:0,maskOnDisable:!0,_isLayoutRoot:!1,constructor:function(n){var t=this,r,f,u,i;if(n?(Ext.apply(t,n),u=t.xhooks,u&&(delete t.xhooks,Ext.override(t,u))):n={},t.initialConfig=n,t.mixins.elementCt.constructor.call(t),t.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","boxready","beforedestroy","destroy","resize","move","focus","blur"),t.getId(),t.setupProtoEl(),t.cls&&(t.initialCls=t.cls,t.protoEl.addCls(t.cls)),t.style&&(t.initialStyle=t.style,t.protoEl.setStyle(t.style)),t.mons=[],t.renderData=t.renderData||{},t.renderSelectors=t.renderSelectors||{},t.plugins&&(t.plugins=t.constructPlugins()),t.hasListeners||(t.hasListeners=new t.HasListeners),t.initComponent(),Ext.ComponentManager.register(t),t.mixins.observable.constructor.call(t),t.mixins.state.constructor.call(t,n),this.addStateEvents("resize"),t.plugins)for(r=0,f=t.plugins.length;r<f;r++)t.plugins[r]=t.initPlugin(t.plugins[r]);t.loader=t.getLoader();t.applyTo?(t.inputId=t.applyTo,i=Ext.get(t.applyTo),t.setValue(i.getValue()),t.name=i.dom.name,t.setReadOnly(i.dom.readOnly),t.setDisabled(i.dom.disabled),t.render(i.dom.parentNode),i.dom.parentNode.removeChild(i.dom)):t.renderTo&&t.render(t.renderTo);t.autoShow&&!t.isContained&&t.show()},initComponent:function(){this.plugins=this.constructPlugins();this.setSize(this.width,this.height)},getState:function(){var t=this,n=null,i=t.getSizeModel();return i.width.configured&&(n=t.addPropertyToState(n,"width")),i.height.configured&&(n=t.addPropertyToState(n,"height")),n},addPropertyToState:function(n,t,i){var r=this,u=arguments.length;return(u==3||r.hasOwnProperty(t))&&(u<3&&(i=r[t]),i!==r.initialConfig[t]&&((n||(n={}))[t]=i)),n},show:Ext.emptyFn,animate:function(n){var t=this,r,u,f,e,i,a,v,o,c,s,l,h;return(n=n||{},i=n.to||{},Ext.fx.Manager.hasFxBlock(t.id))?t:(r=Ext.isDefined(i.width),r&&(e=Ext.Number.constrain(i.width,t.minWidth,t.maxWidth)),u=Ext.isDefined(i.height),u&&(f=Ext.Number.constrain(i.height,t.minHeight,t.maxHeight)),!n.dynamic&&(r||u)&&(o=(n.from?n.from.width:undefined)||t.getWidth(),c=o,s=(n.from?n.from.height:undefined)||t.getHeight(),l=s,h=!1,u&&f>s&&(l=f,h=!0),r&&e>o&&(c=e,h=!0),h&&(a=!Ext.isNumber(t.width),v=!Ext.isNumber(t.height),t.setSize(c,l),t.el.setSize(o,s),a&&delete t.width,v&&delete t.height),r&&(i.width=e),u&&(i.height=f)),t.mixins.animate.animate.apply(t,arguments))},onHide:function(){this.updateLayout({isRoot:!1})},onShow:function(){this.updateLayout({isRoot:!1})},constructPlugin:function(n){return n.ptype&&typeof n.init!="function"?(n.cmp=this,n=Ext.PluginManager.create(n)):typeof n=="string"&&(n=Ext.PluginManager.create({ptype:n,cmp:this})),n},constructPlugins:function(){var n=this,i,r=[],t,u;if(n.plugins){for(i=Ext.isArray(n.plugins)?n.plugins:[n.plugins],t=0,u=i.length;t<u;t++)r[t]=n.constructPlugin(i[t]);return r}},initPlugin:function(n){return n.init(this),n},updateAria:Ext.emptyFn,registerFloatingItem:function(n){var t=this;t.floatingDescendants||(t.floatingDescendants=new Ext.ZIndexManager(t));t.floatingDescendants.register(n)},unregisterFloatingItem:function(n){var t=this;t.floatingDescendants&&t.floatingDescendants.unregister(n)},layoutSuspendCount:0,suspendLayouts:function(){var n=this;n.rendered&&++n.layoutSuspendCount==1&&(n.suspendLayout=!0)},resumeLayouts:function(n){var t=this;t.rendered&&(--t.layoutSuspendCount||(t.suspendLayout=!1,n&&!t.isLayoutSuspended()&&t.updateLayout(n)))},setupProtoEl:function(){var n=this,t=[n.baseCls,n.getComponentLayout().targetCls];Ext.isDefined(n.cmpCls)&&(Ext.isDefined(Ext.global.console)&&Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls."),n.componentCls=n.cmpCls,delete n.cmpCls);n.componentCls?t.push(n.componentCls):n.componentCls=n.baseCls;n.protoEl=new Ext.util.ProtoElement({cls:t.join(" ")})},setUI:function(n){for(var t=this,e=Ext.Array.clone(t.uiCls),f=[],i=[],u,r=0;r<e.length;r++)u=e[r],i=i.concat(t.removeClsWithUI(u,!0)),f.push(u);for(i.length&&t.removeCls(i),t.removeUIFromElement(),t.ui=n,t.addUIToElement(),i=[],r=0;r<f.length;r++)u=f[r],i=i.concat(t.addClsWithUI(u,!0));i.length&&t.addCls(i);t.rendered&&t.updateLayout()},addClsWithUI:function(n,t){var i=this,u=[],e,f=0,r;for(typeof n=="string"&&(n=n.indexOf(" ")<0?[n]:Ext.String.splitWords(n)),e=n.length,i.uiCls=Ext.Array.clone(i.uiCls);f<e;f++)r=n[f],r&&!i.hasUICls(r)&&(i.uiCls.push(r),u=u.concat(i.addUIClsToElement(r)));return t!==!0&&i.addCls(u),u},removeClsWithUI:function(n,t){var i=this,u=[],f=0,e,r;for(typeof n=="string"&&(n=n.indexOf(" ")<0?[n]:Ext.String.splitWords(n)),e=n.length,f=0;f<e;f++)r=n[f],r&&i.hasUICls(r)&&(i.uiCls=Ext.Array.remove(i.uiCls,r),u=u.concat(i.removeUIClsFromElement(r)));return t!==!0&&i.removeCls(u),u},hasUICls:function(n){var t=this,i=t.uiCls||[];return Ext.Array.contains(i,n)},frameElementsArray:["tl","tc","tr","ml","mc","mr","bl","bc","br"],addUIClsToElement:function(n){var t=this,s=t.baseCls+"-"+t.ui+"-"+n,c=[Ext.baseCSSPrefix+n,t.baseCls+"-"+n,s],e=t.frameElementCls,o,h,r,u,i,f;if(t.frame&&!Ext.supports.CSS3BorderRadius)for(o=t.frameElementsArray,h=o.length,r=0;r<h;r++)i=o[r],u=t["frame"+i.toUpperCase()],f=s+"-"+i,u&&u.dom?u.addCls(f):Ext.Array.indexOf(e[i],f)==-1&&e[i].push(f);return t.frameElementCls=e,c},removeUIClsFromElement:function(n){var t=this,o=t.baseCls+"-"+t.ui+"-"+n,c=[Ext.baseCSSPrefix+n,t.baseCls+"-"+n,o],s=t.frameElementCls,f,h,i,r,u,e;if(t.frame&&!Ext.supports.CSS3BorderRadius)for(f=t.frameElementsArray,h=f.length,i=0;i<h;i++)u=f[i],r=t["frame"+u.toUpperCase()],e=o+"-"+u,r&&r.dom?r.addCls(e):Ext.Array.remove(s[u],e);return t.frameElementCls=s,c},addUIToElement:function(){var n=this,e=n.baseCls+"-"+n.ui,o=n.frameElementCls,u,s,i,f,t,r;if(n.addCls(e),n.frame&&!Ext.supports.CSS3BorderRadius)for(u=n.frameElementsArray,s=u.length,i=0;i<s;i++)t=u[i],f=n["frame"+t.toUpperCase()],r=e+"-"+t,f?f.addCls(r):Ext.Array.contains(o[t],r)||o[t].push(r)},removeUIFromElement:function(){var n=this,e=n.baseCls+"-"+n.ui,s=n.frameElementCls,r,o,t,u,i,f;if(n.removeCls(e),n.frame&&!Ext.supports.CSS3BorderRadius)for(r=n.frameElementsArray,o=r.length,t=0;t<o;t++)i=r[t],u=n["frame"+i.toUpperCase()],f=e+"-"+i,u?u.removeCls(f):Ext.Array.remove(s[i],f)},getTpl:function(n){return Ext.XTemplate.getTpl(this,n)},initStyles:function(n){var t=this,s=Ext.Element,e=t.padding,o=t.margin,u=t.x,f=t.y,i,r;e!==undefined&&n.setStyle("padding",s.unitizeBox(e===!0?5:e));o!==undefined&&n.setStyle("margin",s.unitizeBox(o===!0?5:o));t.border!==undefined&&t.setBorder(t.border,n);t.cls&&t.cls!=t.initialCls&&(n.addCls(t.cls),delete t.cls,delete t.initialCls);t.style&&t.style!=t.initialStyle&&(n.setStyle(t.style),delete t.style,delete t.initialStyle);u!==undefined&&n.setStyle("left",typeof u=="number"?u+"px":u);f!==undefined&&n.setStyle("top",typeof f=="number"?f+"px":f);t.getFrameInfo()||(i=t.width,r=t.height,i!==undefined&&(typeof i=="number"?Ext.isBorderBox&&n.setStyle("width",i+"px"):n.setStyle("width",i)),r!==undefined&&(typeof r=="number"?Ext.isBorderBox&&n.setStyle("height",r+"px"):n.setStyle("height",r)))},initEvents:function(){var n=this,t=n.afterRenderEvents,i,r,u=function(t){n.mon(i,t)};if(t)for(r in t)t.hasOwnProperty(r)&&(i=n[r],i&&i.on&&Ext.each(t[r],u));n.addFocusListener()},addFocusListener:function(){var n=this,t=n.getFocusEl(),i;if(t){if(t.isComponent)return t.addFocusListener();if(i=t.needsTabIndex(),!n.focusListenerAdded&&(!i||Ext.FocusManager.enabled)){i&&(t.dom.tabIndex=-1);t.on({focus:n.onFocus,blur:n.onBlur,scope:n});n.focusListenerAdded=!0}}},getFocusEl:Ext.emptyFn,isFocusable:function(){var n=this,t;if(n.focusable!==!1&&(t=n.getFocusEl())&&n.rendered&&!n.destroying&&!n.isDestroyed&&!n.disabled&&n.isVisible(!0))return t.isComponent?t.isFocusable():t&&t.dom&&t.isVisible()},preFocus:Ext.emptyFn,onFocus:function(n){var t=this,i=t.focusCls,r=t.getFocusEl();t.disabled||(t.preFocus(n),i&&r&&r.addCls(t.addClsWithUI(i,!0)),t.hasFocus||(t.hasFocus=!0,t.fireEvent("focus",t,n)))},beforeBlur:Ext.emptyFn,onBlur:function(n){var t=this,i=t.focusCls,r=t.getFocusEl();t.destroying||(t.beforeBlur(n),i&&r&&r.removeCls(t.removeClsWithUI(i,!0)),t.validateOnBlur&&t.validate(),t.hasFocus=!1,t.fireEvent("blur",t,n),t.postBlur(n))},postBlur:Ext.emptyFn,is:function(n){return Ext.ComponentQuery.is(this,n)},up:function(n){var t=this.getBubbleTarget();if(n)for(;t;t=t.getBubbleTarget())if(Ext.ComponentQuery.is(t,n))return t;return t},nextSibling:function(n){var r=this.ownerCt,i,u,t,f;if(r&&(i=r.items,t=i.indexOf(this)+1,t))if(n){for(u=i.getCount();t<u;t++)if((f=i.getAt(t)).is(n))return f}else if(t<i.getCount())return i.getAt(t);return null},previousSibling:function(n){var r=this.ownerCt,i,t,u;if(r&&(i=r.items,t=i.indexOf(this),t!=-1))if(n){for(--t;t>=0;t--)if((u=i.getAt(t)).is(n))return u}else if(t)return i.getAt(--t);return null},previousNode:function(n,t){var u=this,e=u.ownerCt,i,o,f,r;if(t&&u.is(n))return u;if(e){for(o=e.items.items,f=Ext.Array.indexOf(o,u)-1;f>-1;f--){if(r=o[f],r.query&&(i=r.query(n),i=i[i.length-1],i))return i;if(r.is(n))return r}return e.previousNode(n,!0)}return null},nextNode:function(n,t){var r=this,e=r.ownerCt,o,u,s,f,i;if(t&&r.is(n))return r;if(e){for(u=e.items.items,f=Ext.Array.indexOf(u,r)+1,s=u.length;f<s;f++){if(i=u[f],i.is(n))return i;if(i.down&&(o=i.down(n),o))return o}return e.nextNode(n)}return null},getId:function(){return this.id||(this.id="ext-comp-"+this.getAutoId())},getItemId:function(){return this.itemId||this.id},getEl:function(){return this.el},getTargetEl:function(){return this.frameBody||this.el},getOverflowStyle:function(){var n=this,t=null;return typeof n.autoScroll=="boolean"?t={overflow:n.autoScroll?"auto":""}:(n.overflowX!==undefined||n.overflowY!==undefined)&&(t={"overflow-x":n.overflowX||"","overflow-y":n.overflowY||""}),t&&(Ext.isIE6||Ext.isIE7)&&(t.position="relative"),t},isXType:function(n,t){return t?this.xtype===n:this.xtypesMap[n]},getXTypes:function(){var i=this.self,n,t,r;if(!i.xtypes){for(n=[],t=this;t;)r=t.xtypes,r!==undefined&&n.unshift.apply(n,r),t=t.superclass;i.xtypeChain=n;i.xtypes=n.join("/")}return i.xtypes},update:function(n,t,i){var r=this;r.tpl&&!Ext.isString(n)?(r.data=n,r.rendered&&r.tpl[r.tplWriteMode](r.getTargetEl(),n||{})):(r.html=Ext.isObject(n)?Ext.DomHelper.markup(n):n,r.rendered&&r.getTargetEl().update(r.html,t,i));r.rendered&&r.updateLayout()},setVisible:function(n){return this[n?"show":"hide"]()},isVisible:function(n){var i=this,u=i,r=i.rendered&&!i.hidden,t=i.ownerCt;if(i.hiddenAncestor=!1,i.destroyed)return!1;if(n&&r&&t)while(t){if(t.hidden||t.collapsed&&!(t.getDockedItems&&Ext.Array.contains(t.getDockedItems(),u))){i.hiddenAncestor=t;r=!1;break}u=t;t=t.ownerCt}return r},onBoxReady:function(){var n=this;n.disableOnBoxReady?n.onDisable():n.enableOnBoxReady&&n.onEnable();n.resizable&&n.initResizable(n.resizable);n.draggable&&n.initDraggable()},enable:function(n){var t=this;return delete t.disableOnBoxReady,t.removeCls(t.disabledCls),t.rendered?t.onEnable():t.enableOnBoxReady=!0,t.disabled=!1,delete t.resetDisable,n!==!0&&t.fireEvent("enable",t),t},disable:function(n){var t=this;return delete t.enableOnBoxReady,t.addCls(t.disabledCls),t.rendered?t.onDisable():t.disableOnBoxReady=!0,t.disabled=!0,n!==!0&&(delete t.resetDisable,t.fireEvent("disable",t)),t},onEnable:function(){this.maskOnDisable&&(this.el.dom.disabled=!1,this.unmask())},onDisable:function(){var n=this,t=n.focusCls,i=n.getFocusEl();t&&i&&i.removeCls(n.removeClsWithUI(t,!0));n.maskOnDisable&&(n.el.dom.disabled=!0,n.mask())},mask:function(){var n=this.lastBox,t=this.getMaskTarget(),i=[];n&&(i[2]=n.height);t.mask.apply(t,i)},unmask:function(){this.getMaskTarget().unmask()},getMaskTarget:function(){return this.el},isDisabled:function(){return this.disabled},setDisabled:function(n){return this[n?"disable":"enable"]()},isHidden:function(){return this.hidden},addCls:function(){var n=this,t=n.rendered?n.el:n.protoEl;return t.addCls.apply(t,arguments),n},addClass:function(){return this.addCls.apply(this,arguments)},hasCls:function(){var n=this,t=n.rendered?n.el:n.protoEl;return t.hasCls.apply(t,arguments)},removeCls:function(){var n=this,t=n.rendered?n.el:n.protoEl;return t.removeCls.apply(t,arguments),n},addOverCls:function(){var n=this;n.disabled||n.el.addCls(n.overCls)},removeOverCls:function(){this.el.removeCls(this.overCls)},addListener:function(n,t,i,r){var u=this,e,f;if(Ext.isString(n)&&(Ext.isObject(t)||r&&r.element)){if(r.element){e=t;t={};t[n]=e;n=r.element;i&&(t.scope=i);for(f in r)r.hasOwnProperty(f)&&u.eventOptionsRe.test(f)&&(t[f]=r[f])}u[n]&&u[n].on?u.mon(u[n],t):(u.afterRenderEvents=u.afterRenderEvents||{},u.afterRenderEvents[n]||(u.afterRenderEvents[n]=[]),u.afterRenderEvents[n].push(t))}return u.mixins.observable.addListener.apply(u,arguments)},removeManagedListenerItem:function(n,t,i,r,u,f){var o=this,e=t.options?t.options.element:null;if(e)e=o[e],e&&e.un&&(!n&&(t.item!==i||t.ename!==r||u&&t.fn!==u||f&&t.scope!==f)||(e.un(t.ename,t.fn,t.scope),n||Ext.Array.remove(o.managedListeners,t)));else return o.mixins.observable.removeManagedListenerItem.apply(o,arguments)},getBubbleTarget:function(){return this.ownerCt},isFloating:function(){return this.floating},isDraggable:function(){return!!this.draggable},isDroppable:function(){return!!this.droppable},onAdded:function(n,t){var i=this;i.ownerCt=n;i.hasListeners.added&&i.fireEvent("added",i,n,t)},onRemoved:function(){var n=this;n.hasListeners.removed&&n.fireEvent("removed",n,n.ownerCt);delete n.ownerCt;delete n.ownerLayout},beforeDestroy:Ext.emptyFn,onResize:Ext.emptyFn,setSize:function(n,t){var i=this;return n&&typeof n=="object"&&(t=n.height,n=n.width),typeof n=="number"?i.width=Ext.Number.constrain(n,i.minWidth,i.maxWidth):n===null&&delete i.width,typeof t=="number"?i.height=Ext.Number.constrain(t,i.minHeight,i.maxHeight):t===null&&delete i.height,i.rendered&&i.isVisible()&&i.updateLayout({isRoot:!1}),i},isLayoutRoot:function(){var n=this,t=n.ownerLayout;return!t||n._isLayoutRoot||n.floating?!0:t.isItemLayoutRoot(n)},isLayoutSuspended:function(){for(var n=this,t;n;){if(n.layoutSuspendCount||n.suspendLayout)return!0;if(t=n.ownerLayout,!t)break;n=t.owner}return!1},updateLayout:function(n){var t=this,r,i=n&&n.isRoot;!t.rendered||t.layoutSuspendCount||t.suspendLayout||(t.hidden?Ext.AbstractComponent.cancelLayout(t):typeof i!="boolean"&&(i=t.isLayoutRoot()),!i&&t.ownerLayout&&t.ownerLayout.onContentChange(t)||t.isLayoutSuspended()||(r=n&&n.hasOwnProperty("defer")?n.defer:t.deferLayouts,Ext.AbstractComponent.updateLayout(t,r)))},getSizeModel:function(n){var r=this,t=Ext.layout.SizeModel,h=r.componentLayout.ownerContext,a=r.width,v=r.height,y,p,o,s,u,c,f,i,l,e;return h&&(e=h.widthModel,u=h.heightModel),e&&u||(o=(y=typeof a)=="number",s=(p=typeof v)=="number",l=r.floating||!(c=r.ownerLayout),l?(f=Ext.layout.Layout.prototype.autoSizePolicy,i=r.floating?3:r.shrinkWrap,o&&(e=t.configured),s&&(u=t.configured)):(f=c.getItemSizePolicy(r,n),i=c.isItemShrinkWrap(r)),i=i===!0?3:i||0,l&&i&&(a&&y=="string"&&(i&=2),v&&p=="string"&&(i&=1)),i!==3&&(n||(n=r.ownerCt&&r.ownerCt.getSizeModel()),n&&(i|=(n.width.shrinkWrap?1:0)|(n.height.shrinkWrap?2:0))),e||(e=f.setsWidth?f.readsWidth?o?t.calculatedFromConfigured:i&1?t.calculatedFromShrinkWrap:t.calculatedFromNatural:t.calculated:o?t.configured:i&1?t.shrinkWrap:t.natural),u||(u=f.setsHeight?f.readsHeight?s?t.calculatedFromConfigured:i&2?t.calculatedFromShrinkWrap:t.calculatedFromNatural:t.calculated:s?t.configured:i&2?t.shrinkWrap:t.natural)),e.pairsByHeightOrdinal[u.ordinal]},isDescendant:function(n){if(n.isContainer)for(var t=this.ownerCt;t;t=t.ownerCt)if(t===n)return!0;return!1},doComponentLayout:function(){return this.updateLayout(),this},forceComponentLayout:function(){this.updateLayout()},setComponentLayout:function(n){var t=this.componentLayout;t&&t.isLayout&&t!=n&&t.setOwner(null);this.componentLayout=n;n.setOwner(this)},getComponentLayout:function(){var n=this;return n.componentLayout&&n.componentLayout.isLayout||n.setComponentLayout(Ext.layout.Layout.create(n.componentLayout,"autocomponent")),n.componentLayout},afterComponentLayout:function(n,t,i,r){var u=this,o,s,f,e;if(++u.componentLayoutCounter==1&&u.afterFirstLayout(n,t),u.floatingItems)for(o=u.floatingItems.items,s=o.length,f=0;f<s;f++)e=o[f],!e.rendered&&e.autoShow&&e.show();u.hasListeners.resize&&(n!==i||t!==r)&&u.fireEvent("resize",u,n,t,i,r)},beforeComponentLayout:function(){return!0},setPosition:function(n,t,i){var u=this,r=u.beforeSetPosition.apply(u,arguments);return r&&u.rendered&&(r=u.convertPosition(r),(r.left!==u.el.getLeft()||r.top!==u.el.getTop())&&(i?(u.stopAnimation(),u.animate(Ext.apply({duration:1e3,listeners:{afteranimate:Ext.Function.bind(u.afterSetPosition,u,[r.left,r.top])},to:r},i))):(r.left!==undefined&&r.top!==undefined?u.el.setLeftTop(r.left,r.top):r.left!==undefined?u.el.setLeft(r.left):r.top!==undefined&&u.el.setTop(r.top),u.afterSetPosition(r.left,r.top)))),u},beforeSetPosition:function(n,t,i){var r,u;return r=!n||Ext.isNumber(n)?{x:n,y:t,anim:i}:Ext.isNumber(u=n[0])?{x:u,y:n[1],anim:t}:{x:n.x,y:n.y,anim:t},r.hasX=Ext.isNumber(r.x),r.hasY=Ext.isNumber(r.y),this.x=r.x,this.y=r.y,r.hasX||r.hasY?r:null},afterSetPosition:function(n,t){var i=this;i.onPosition(n,t);i.hasListeners.move&&i.fireEvent("move",i,n,t)},convertPosition:function(n,t){var i={},r=Ext.Element;return n.hasX&&(i.left=t?r.addUnits(n.x):n.x),n.hasY&&(i.top=t?r.addUnits(n.y):n.y),i},onPosition:Ext.emptyFn,setWidth:function(n){return this.setSize(n)},setHeight:function(n){return this.setSize(undefined,n)},getSize:function(){return this.el.getSize()},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},getLoader:function(){var n=this,i=n.autoLoad?Ext.isObject(n.autoLoad)?n.autoLoad:{url:n.autoLoad}:null,t=n.loader||i;return t?(t.isLoader?t.setTarget(n):n.loader=new Ext.ComponentLoader(Ext.apply({target:n,autoLoad:i},t)),n.loader):null},setDocked:function(n,t){var i=this;return i.dock=n,t&&i.ownerCt&&i.rendered&&i.ownerCt.updateLayout(),i},setBorder:function(n,t){var i=this,r=!!t;(i.rendered||r)&&(r||(t=i.el),n=n?Ext.Element.unitizeBox(n===!0?1:n):0,t.setStyle("border-width",n),r||i.updateLayout());i.border=n},onDestroy:function(){var n=this;n.monitorResize&&Ext.EventManager.resizeEvent&&Ext.EventManager.resizeEvent.removeListener(n.setSize,n);Ext.destroy(n.componentLayout,n.loadMask,n.floatingDescendants)},destroy:function(){var n=this,i=n.renderSelectors,t,r;if(!n.isDestroyed&&(!n.hasListeners.beforedestroy||n.fireEvent("beforedestroy",n)!==!1)){if(n.destroying=!0,n.beforeDestroy(),n.floating?(delete n.floatParent,n.zIndexManager&&n.zIndexManager.unregister(n)):n.ownerCt&&n.ownerCt.remove&&n.ownerCt.remove(n,!1),n.onDestroy(),Ext.destroy(n.plugins),n.hasListeners.destroy&&n.fireEvent("destroy",n),Ext.ComponentManager.unregister(n),n.mixins.state.destroy.call(n),n.clearListeners(),n.rendered){if(n.preserveElOnDestroy||n.el.remove(),n.mixins.elementCt.destroy.call(n),i)for(t in i)i.hasOwnProperty(t)&&(r=n[t],r&&(delete n[t],r.remove()));delete n.el;delete n.frameBody;delete n.rendered}n.destroying=!1;n.isDestroyed=!0}},getPlugin:function(n){for(var t=0,i=this.plugins,r=i.length;t<r;t++)if(i[t].pluginId===n)return i[t]},isDescendantOf:function(n){return!!this.findParentBy(function(t){return t===n})}},function(){var n=this;n.createAlias({on:"addListener",prev:"previousSibling",next:"nextSibling"});Ext.resumeLayouts=function(t){n.resumeLayouts(t)};Ext.suspendLayouts=function(){n.suspendLayouts()};Ext.batchLayouts=function(t,i){n.suspendLayouts();t.call(i);n.resumeLayouts(!0)}});Ext.define("Ext.AbstractPlugin",{disabled:!1,constructor:function(n){this.initialConfig=n;Ext.apply(this,n)},clone:function(){return new this.self(this.initialConfig)},getCmp:function(){return this.cmp},init:Ext.emptyFn,destroy:Ext.emptyFn,enable:function(){this.disabled=!1},disable:function(){this.disabled=!0}});Ext.define("Ext.Action",{constructor:function(n){this.initialConfig=n;this.itemId=n.itemId=n.itemId||n.id||Ext.id();this.items=[]},isAction:!0,setText:function(n){this.initialConfig.text=n;this.callEach("setText",[n])},getText:function(){return this.initialConfig.text},setIconCls:function(n){this.initialConfig.iconCls=n;this.callEach("setIconCls",[n])},getIconCls:function(){return this.initialConfig.iconCls},setDisabled:function(n){this.initialConfig.disabled=n;this.callEach("setDisabled",[n])},enable:function(){this.setDisabled(!1)},disable:function(){this.setDisabled(!0)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(n){this.initialConfig.hidden=n;this.callEach("setVisible",[!n])},show:function(){this.setHidden(!1)},hide:function(){this.setHidden(!0)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(n,t){this.initialConfig.handler=n;this.initialConfig.scope=t;this.callEach("setHandler",[n,t])},each:function(n,t){Ext.each(this.items,n,t)},callEach:function(n,t){var u=this.items,i=0,f=u.length,r;for(Ext.suspendLayouts();i<f;i++)r=u[i],r[n].apply(r,t);Ext.resumeLayouts(!0)},addComponent:function(n){this.items.push(n);n.on("destroy",this.removeComponent,this)},removeComponent:function(n){Ext.Array.remove(this.items,n)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||Ext.global,arguments)}});Ext.define("Ext.data.Connection",{mixins:{observable:"Ext.util.Observable"},statics:{requestId:0},url:null,async:!0,method:null,username:"",password:"",disableCaching:!0,withCredentials:!1,cors:!1,disableCachingParam:"_dc",timeout:3e4,useDefaultHeader:!0,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:!0,defaultXhrHeader:"XMLHttpRequest",constructor:function(n){n=n||{};Ext.apply(this,n);this.requests={};this.mixins.observable.constructor.call(this)},request:function(n){n=n||{};var t=this,o=n.scope||window,s=n.username||t.username,h=n.password||t.password||"",u,r,i,e,f;return t.fireEvent("beforerequest",t,n)!==!1?(r=t.setOptions(n,o),t.isFormUpload(n))?(t.upload(n.form,r.url,r.data,n),null):((n.autoAbort||t.autoAbort)&&t.abort(),u=n.async!==!1?n.async||t.async:!1,f=t.openRequest(n,r,u,s,h),e=t.setupHeaders(f,n,r.data,r.params),i={id:++Ext.data.Connection.requestId,xhr:f,headers:e,options:n,async:u,timeout:setTimeout(function(){i.timedout=!0;t.abort(i)},n.timeout||t.timeout)},t.requests[i.id]=i,t.latestId=i.id,u&&(f.onreadystatechange=Ext.Function.bind(t.onStateChange,t,[i])),f.send(r.data),!u)?t.onComplete(i):i:(Ext.callback(n.callback,n.scope,[n,undefined,undefined]),null)},upload:function(n,t,i,r){n=Ext.getDom(n);r=r||{};var u=Ext.id(),o=document.createElement("iframe"),a=[],v="multipart/form-data",y={target:n.target,method:n.method,encoding:n.encoding,enctype:n.enctype,action:n.action},p=function(t,i){s=document.createElement("input");Ext.fly(s).set({type:"hidden",value:i,name:t});n.appendChild(s);a.push(s)},s,h,f,e,w,c,b,l;if(Ext.fly(o).set({id:u,name:u,cls:Ext.baseCSSPrefix+"hide-display",src:Ext.SSL_SECURE_URL}),document.body.appendChild(o),document.frames&&(document.frames[u].name=u),Ext.fly(n).set({target:u,method:"POST",enctype:v,encoding:v,action:t||y.action}),i){h=Ext.Object.fromQueryString(i)||{};for(e in h)if(h.hasOwnProperty(e))if(f=h[e],Ext.isArray(f))for(w=f.length,c=0;c<w;c++)p(e,f[c]);else p(e,f)}Ext.fly(o).on("load",Ext.Function.bind(this.onUploadComplete,this,[o,r]),null,{single:!0});for(n.submit(),Ext.fly(n).set(y),b=a.length,l=0;l<b;l++)Ext.removeNode(a[l])},onUploadComplete:function(n,t){var f=this,r={responseText:"",responseXML:null},i,u;try{i=n.contentWindow.document||n.contentDocument||window.frames[n.id].document;i&&(i.body&&(r.responseText=(u=i.body.firstChild)&&/pre/i.test(u.tagName)?u.innerText:(u=i.getElementsByTagName("textarea")[0])?u.value:i.body.textContent||i.body.innerText),r.responseXML=i.XMLDocument||i)}catch(e){}f.fireEvent("requestcomplete",f,r,t);Ext.callback(t.success,t.scope,[r,t]);Ext.callback(t.callback,t.scope,[t,!0,r]);setTimeout(function(){Ext.removeNode(n)},100)},isFormUpload:function(n){var t=this.getForm(n);return t?n.isUpload||/multipart\/form-data/i.test(t.getAttribute("enctype")):!1},getForm:function(n){return Ext.getDom(n.form)||null},setOptions:function(n,t){var e=this,i=n.params||{},o=e.extraParams,u=n.urlParams,r=n.url||e.url,h=n.jsonData,s,c,f;return Ext.isFunction(i)&&(i=i.call(t,n)),Ext.isFunction(r)&&(r=r.call(t,n)),r=this.setupUrl(n,r),f=n.rawData||n.xmlData||h||null,h&&!Ext.isPrimitive(h)&&(f=Ext.encode(f)),Ext.isObject(i)&&(i=Ext.Object.toQueryString(i)),Ext.isObject(o)&&(o=Ext.Object.toQueryString(o)),i=i+(o?(i?"&":"")+o:""),u=Ext.isObject(u)?Ext.Object.toQueryString(u):u,i=this.setupParams(n,i),s=(n.method||e.method||(i||f?"POST":"GET")).toUpperCase(),this.setupMethod(n,s),c=n.disableCaching!==!1?n.disableCaching||e.disableCaching:!1,s==="GET"&&c&&(r=Ext.urlAppend(r,(n.disableCachingParam||e.disableCachingParam)+"="+(new Date).getTime())),(s=="GET"||f)&&i&&(r=Ext.urlAppend(r,i),i=null),u&&(r=Ext.urlAppend(r,u)),{url:r,method:s,data:f||i||null}},setupUrl:function(n,t){var i=this.getForm(n);return i&&(t=t||i.action),t},setupParams:function(n,t){var r=this.getForm(n),i;return r&&!this.isFormUpload(n)&&(i=Ext.Element.serializeForm(r),t=t?t+"&"+i:i),t},setupMethod:function(n,t){return this.isFormUpload(n)?"POST":t},setupHeaders:function(n,t,i,r){var f=this,u=Ext.apply({},t.headers||{},f.defaultHeaders||{}),o=f.defaultPostHeader,h=t.jsonData,c=t.xmlData,e,s;!u["Content-Type"]&&(i||r)&&(i&&(t.rawData?o="text/plain":c&&Ext.isDefined(c)?o="text/xml":h&&Ext.isDefined(h)&&(o="application/json")),u["Content-Type"]=o);f.useDefaultXhrHeader&&!u["X-Requested-With"]&&(u["X-Requested-With"]=f.defaultXhrHeader);try{for(e in u)u.hasOwnProperty(e)&&(s=u[e],n.setRequestHeader(e,s))}catch(l){f.fireEvent("exception",e,s)}return u},newRequest:function(n){return(n.cors||this.cors)&&Ext.isIE&&Ext.ieVersion>=8?new XDomainRequest:this.getXhrInstance()},openRequest:function(n,t,i,r,u){var f=this.newRequest(n);return r?f.open(t.method,t.url,i,r,u):f.open(t.method,t.url,i),(n.withCredentials||this.withCredentials)&&(f.withCredentials=!0),f},getXhrInstance:function(){for(var i=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],n=0,r=i.length,t;n<r;++n)try{t=i[n];t();break}catch(u){}return t}(),isLoading:function(n){if(n||(n=this.getLatest()),!(n&&n.xhr))return!1;var t=n.xhr.readyState;return!(t===0||t==4)},abort:function(n){var t=this,i;if(n||(n=t.getLatest()),n&&t.isLoading(n)){i=n.xhr;try{i.onreadystatechange=null}catch(r){i=Ext.emptyFn}i.abort();t.clearTimeout(n);n.timedout||(n.aborted=!0);t.onComplete(n);t.cleanup(n)}},abortAll:function(){var n=this.requests;for(var t in n)n.hasOwnProperty(t)&&this.abort(n[t])},getLatest:function(){var n=this.latestId,t;return n&&(t=this.requests[n]),t||null},onStateChange:function(n){if(n.xhr.readyState==4){this.clearTimeout(n);this.onComplete(n);this.cleanup(n)}},clearTimeout:function(n){clearTimeout(n.timeout);delete n.timeout},cleanup:function(n){n.xhr=null;delete n.xhr},onComplete:function(n){var i=this,t=n.options,u,f,r;try{u=i.parseStatus(n.xhr.status)}catch(e){u={success:!1,isException:!1}}return f=u.success,f?(r=i.createResponse(n),i.fireEvent("requestcomplete",i,r,t),Ext.callback(t.success,t.scope,[r,t])):(r=u.isException||n.aborted||n.timedout?i.createException(n):i.createResponse(n),i.fireEvent("requestexception",i,r,t),Ext.callback(t.failure,t.scope,[r,t])),Ext.callback(t.callback,t.scope,[t,f,r]),delete i.requests[n.id],r},parseStatus:function(n){n=n==1223?204:n;var t=n>=200&&n<300||n==304,i=!1;if(!t)switch(n){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:i=!0}return{success:t,isException:i}},createResponse:function(n){for(var t=n.xhr,u={},f=t.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),e=f.length,r,i,o,s;e--;)r=f[e],i=r.indexOf(":"),i>=0&&(o=r.substr(0,i).toLowerCase(),r.charAt(i+1)==" "&&++i,u[o]=r.substr(i+1));return n.xhr=null,delete n.xhr,s={request:n,requestId:n.id,status:t.status,statusText:t.statusText,getResponseHeader:function(n){return u[n.toLowerCase()]},getAllResponseHeaders:function(){return u},responseText:t.responseText,responseXML:t.responseXML},t=null,s},createException:function(n){return{request:n,requestId:n.id,status:n.aborted?-1:0,statusText:n.aborted?"transaction aborted":"communication failure",aborted:n.aborted,timedout:n.timedout}}});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:!0,autoAbort:!1});Ext.define("Ext.util.Floating",{uses:["Ext.Layer","Ext.window.Window"],focusOnToFront:!0,shadow:"sides",constructor:function(n){var t=this;t.el=new Ext.Layer(Ext.apply({hideMode:t.hideMode,hidden:t.hidden,shadow:typeof t.shadow!="undefined"?t.shadow:"sides",shadowOffset:t.shadowOffset,constrain:!1,shim:t.shim===!1?!1:undefined},t.floating),n);t.floating=!0;t.registerWithOwnerCt()},registerWithOwnerCt:function(){var n=this;n.zIndexParent&&n.zIndexParent.unregisterFloatingItem(n);n.zIndexParent=n.up("[floating]");n.setFloatParent(n.ownerCt);delete n.ownerCt;n.zIndexParent?n.zIndexParent.registerFloatingItem(n):Ext.WindowManager.register(n)},setFloatParent:function(n){var t=this;t.floatParent&&t.mun(t.floatParent,{hide:t.onFloatParentHide,show:t.onFloatParentShow,scope:t});t.floatParent=n;n&&t.mon(t.floatParent,{hide:t.onFloatParentHide,show:t.onFloatParentShow,scope:t});(t.constrain||t.constrainHeader)&&!t.constrainTo&&(t.constrainTo=n?n.getTargetEl():t.container)},onAfterFloatLayout:function(){this.syncShadow()},onFloatParentHide:function(){var n=this;n.hideOnParentHide!==!1&&n.isVisible()&&(n.hide(),n.showOnParentShow=!0)},onFloatParentShow:function(){this.showOnParentShow&&(delete this.showOnParentShow,this.show())},setZIndex:function(n){var t=this;return t.el.setZIndex(n),n+=10,t.floatingDescendants&&(n=Math.floor(t.floatingDescendants.setBase(n)/100)*100+1e4),n},doConstrain:function(n){var t=this,r=t.getConstrainVector(n),i;r&&(i=t.getPosition(!!t.floatParent),i[0]+=r[0],i[1]+=r[1],t.setPosition(i))},getConstrainVector:function(n){var t=this;if(t.constrain||t.constrainHeader)return n=n||t.floatParent&&t.floatParent.getTargetEl()||t.container||t.el.getScopeParent(),(t.constrainHeader?t.header.el:t.el).getConstrainVector(n)},alignTo:function(n,t,i){return this.setPagePosition(this.el.getAlignToXY(n.el||n,t,i)),this},toFront:function(n){var t=this;return t.zIndexParent&&t.bringParentToFront!==!1&&t.zIndexParent.toFront(!0),Ext.isDefined(n)||(n=!t.focusOnToFront),n&&(t.preventFocusOnActivate=!0),t.zIndexManager.bringToFront(t)&&(n||t.focus(!1,!0)),delete t.preventFocusOnActivate,t},setActive:function(n,t){var i=this;n?(i.el.shadow&&!i.maximized&&i.el.enableShadow(!0),i.modal&&!i.preventFocusOnActivate&&i.focus(!1,!0),i.fireEvent("activate",i)):(i.isWindow&&t&&t.isWindow&&i.el.disableShadow(),i.fireEvent("deactivate",i))},toBack:function(){return this.zIndexManager.sendToBack(this),this},center:function(){var n=this,t;return n.isVisible()?(t=n.el.getAlignToXY(n.container,"c-c"),n.setPagePosition(t)):n.needsCenter=!0,n},onFloatShow:function(){this.needsCenter&&this.center();delete this.needsCenter},syncShadow:function(){this.floating&&this.el.sync(!0)},fitContainer:function(){var n=this,t=n.floatParent,i=t?t.getTargetEl():n.container;n.setSize(i.getViewSize(!1));n.setPosition.apply(n,t?[0,0]:i.getXY())}});Ext.define("Ext.Component",{alias:["widget.component","widget.box"],extend:"Ext.AbstractComponent",requires:["Ext.util.DelayedTask"],uses:["Ext.Layer","Ext.resizer.Resizer","Ext.util.ComponentDragger"],mixins:{floating:"Ext.util.Floating"},statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g},resizeHandles:"all",floating:!1,toFrontOnShow:!0,hideMode:"display",bubbleEvents:[],monPropRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,defaultComponentLayoutType:"autocomponent",constructor:function(n){var t=this;n=n||{};n.initialConfig?(n.isAction&&(t.baseAction=n),n=n.initialConfig):(n.tagName||n.dom||Ext.isString(n))&&(n={applyTo:n,id:n.id||n});t.callParent([n]);t.baseAction&&t.baseAction.addComponent(t)},initComponent:function(){var n=this;if(n.callParent(),n.listeners){n.on(n.listeners);n.listeners=null}n.enableBubble(n.bubbleEvents);n.mons=[]},afterRender:function(){var n=this;n.callParent();n.x&&n.y||!(n.pageX||n.pageY)||n.setPagePosition(n.pageX,n.pageY)},setAutoScroll:function(n){var t=this;return t.autoScroll=!!n,t.rendered&&t.getTargetEl().setStyle(t.getOverflowStyle()),t.updateLayout(),t},setOverflowXY:function(n,t){var i=this,r=arguments.length;return r&&(i.overflowX=n||"",r>1&&(i.overflowY=t||"")),i.rendered&&i.getTargetEl().setStyle(i.getOverflowStyle()),i.updateLayout(),i},beforeRender:function(){var n=this,i=n.floating,t;return i&&(n.addCls(Ext.baseCSSPrefix+"layer"),t=i.cls,t&&n.addCls(t)),n.callParent()},afterComponentLayout:function(){this.callParent(arguments);this.floating&&this.onAfterFloatLayout()},makeFloating:function(n){this.mixins.floating.constructor.call(this,n)},wrapPrimaryEl:function(n){this.floating?this.makeFloating(n):this.callParent(arguments)},initResizable:function(n){var t=this;n=Ext.apply({target:t,dynamic:!1,constrainTo:t.constrainTo||(t.floatParent?t.floatParent.getTargetEl():null),handles:t.resizeHandles},n);n.target=t;t.resizer=new Ext.resizer.Resizer(n)},getDragEl:function(){return this.el},initDraggable:function(){var n=this,i=n.resizer&&n.resizer.el!==n.el?n.resizerComponent=new Ext.Component({el:n.resizer.el,rendered:!0,container:n.container}):n,t=Ext.applyIf({el:i.getDragEl(),constrainTo:n.constrain?n.constrainTo||(n.floatParent?n.floatParent.getTargetEl():n.el.getScopeParent()):undefined},n.draggable);(n.constrain||n.constrainDelegate)&&(t.constrain=n.constrain,t.constrainDelegate=n.constrainDelegate);n.dd=new Ext.util.ComponentDragger(i,t)},scrollBy:function(){var n;(n=this.getTargetEl())&&n.dom&&n.scrollBy.apply(n,arguments)},setLoading:function(n,t){var i=this,r;return i.rendered&&(Ext.destroy(i.loadMask),i.loadMask=null,n===!1||i.collapsed||(r=Ext.isObject(n)?Ext.apply({},n):Ext.isString(n)?{msg:n}:{},t&&Ext.applyIf(r,{useTargetEl:!0}),i.loadMask=new Ext.LoadMask(i,r),i.loadMask.show())),i.loadMask},beforeSetPosition:function(){var i=this,n=i.callParent(arguments),t;return n&&(t=i.adjustPosition(n.x,n.y),n.x=t.x,n.y=t.y),n||null},afterSetPosition:function(n,t){this.onPosition(n,t);this.fireEvent("move",this,n,t)},showAt:function(n,t,i){var r=this;!r.rendered&&(r.autoRender||r.floating)&&(r.doAutoRender(),r.hidden=!0);r.floating?r.setPosition(n,t,i):r.setPagePosition(n,t,i);r.show()},setPagePosition:function(n,t,i){var r=this,u,f;return Ext.isArray(n)&&(t=n[1],n=n[0]),r.pageX=n,r.pageY=t,r.floating?(r.isContainedFloater()?(f=r.floatParent.getTargetEl().getViewRegion(),Ext.isNumber(n)&&Ext.isNumber(f.left)&&(n-=f.left),Ext.isNumber(t)&&Ext.isNumber(f.top)&&(t-=f.top)):(u=r.el.translatePoints(n,t),n=u.left,t=u.top),r.setPosition(n,t,i)):(u=r.el.translatePoints(n,t),r.setPosition(u.left,u.top,i)),r},isContainedFloater:function(){return this.floating&&this.floatParent},getBox:function(n){var i=n?this.getPosition(n):this.el.getXY(),t=this.getSize();return t.x=i[0],t.y=i[1],t},updateBox:function(n){return this.setSize(n.width,n.height),this.setPagePosition(n.x,n.y),this},getOuterSize:function(){var n=this.el;return{width:n.getWidth()+n.getMargin("lr"),height:n.getHeight()+n.getMargin("tb")}},adjustPosition:function(n,t){var r=this,i;return r.isContainedFloater()&&(i=r.floatParent.getTargetEl().getViewRegion(),n+=i.left,t+=i.top),{x:n,y:t}},getPosition:function(n){var t=this,u=t.el,i,f=t.isContainedFloater(),r;return n===!0&&!f?[u.getLocalX(),u.getLocalY()]:(i=t.el.getXY(),n===!0&&f&&(r=t.floatParent.getTargetEl().getViewRegion(),i[0]-=r.left,i[1]-=r.top),i)},getId:function(){var n=this,t;return n.id||(t=n.getXType(),t=t?t.replace(Ext.Component.INVALID_ID_CHARS_Re,"-"):Ext.name.toLowerCase()+"-comp",n.id=t+"-"+n.getAutoId()),n.id},show:function(){var n=this,t=n.rendered;return t&&n.isVisible()?n.toFrontOnShow&&n.floating&&n.toFront():n.fireEvent("beforeshow",n)!==!1?(n.hidden=!1,!t&&(n.autoRender||n.floating)&&(n.doAutoRender(),t=n.rendered),t&&(n.beforeShow(),n.onShow.apply(n,arguments),n.afterShow.apply(n,arguments))):n.onShowVeto(),n},onShowVeto:Ext.emptyFn,beforeShow:Ext.emptyFn,onShow:function(){var n=this;n.el.show();n.callParent(arguments);n.floating&&(n.maximized?n.fitContainer():n.constrain&&n.doConstrain())},afterShow:function(n,t,i){var r=this,f,e,u;if(n=n||r.animateTarget,r.ghost||(n=null),n)n=n.el?n.el:Ext.get(n),e=r.el.getBox(),f=n.getBox(),r.el.addCls(Ext.baseCSSPrefix+"hide-offsets"),u=r.ghost(),u.el.stopAnimation(),u.el.setX(-1e4),u.el.animate({from:f,to:e,listeners:{afteranimate:function(){delete u.componentLayout.lastComponentSize;r.unghost();r.el.removeCls(Ext.baseCSSPrefix+"hide-offsets");r.onShowComplete(t,i)}}});else r.onShowComplete(t,i)},onShowComplete:function(n,t){var i=this;i.floating&&(i.toFront(),i.onFloatShow());Ext.callback(n,t||i);i.fireEvent("show",i);delete i.hiddenByLayout},hide:function(){var n=this;return n.showOnParentShow=!1,n.rendered&&!n.isVisible()||n.fireEvent("beforehide",n)===!1||(n.hidden=!0,n.rendered&&n.onHide.apply(n,arguments)),n},onHide:function(n,t,i){var r=this,u,f;n=n||r.animateTarget;r.ghost||(n=null);n&&(n=n.el?n.el:Ext.get(n),u=r.ghost(),u.el.stopAnimation(),f=n.getBox(),f.width+="px",f.height+="px",u.el.animate({to:f,listeners:{afteranimate:function(){delete u.componentLayout.lastComponentSize;u.el.hide();r.afterHide(t,i)}}}));r.el.hide();n||r.afterHide(t,i)},afterHide:function(n,t){var i=this;delete i.hiddenByLayout;Ext.AbstractComponent.prototype.onHide.call(this);Ext.callback(n,t||i);i.fireEvent("hide",i)},onDestroy:function(){var n=this;n.rendered&&Ext.destroy(n.proxy,n.proxyWrap,n.resizer,n.resizerComponent);delete n.focusTask;n.callParent()},deleteMembers:function(){for(var t=arguments,i=t.length,n=0;n<i;++n)delete this[t[n]]},focus:function(n,t){var i=this,r,u,f;if(t)return i.focusTask||(i.focusTask=new Ext.util.DelayedTask(i.focus)),i.focusTask.delay(Ext.isNumber(t)?t:10,null,i,[n,!1]),i;if(i.rendered&&!i.isDestroyed&&i.isVisible(!0)&&(r=i.getFocusEl())){if(r.isComponent)return r.focus(n,t);(u=r.dom)&&(r.needsTabIndex()&&(u.tabIndex=-1),i.floating&&(f=i.container.dom.scrollTop),r.focus(),n===!0&&u.select());i.floating&&(i.toFront(!0),f!==undefined&&(i.container.dom.scrollTop=f))}return i},cancelFocus:function(){var n=this.focusTask;n&&n.cancel()},blur:function(){var n;return this.rendered&&(n=this.getFocusEl())&&n.blur(),this},getEl:function(){return this.el},getResizeEl:function(){return this.el},getPositionEl:function(){return this.el},getActionEl:function(){return this.el},getVisibilityEl:function(){return this.el},onResize:Ext.emptyFn,getBubbleTarget:function(){return this.ownerCt||this.floatParent},getContentTarget:function(){return this.el},cloneConfig:function(n){n=n||{};var r=n.id||Ext.id(),t=Ext.applyIf(n,this.initialConfig),i;return t.id=r,i=Ext.getClass(this),new i(t)},getXType:function(){return this.self.xtype},findParentBy:function(n){for(var t=this.getBubbleTarget();t&&!n(t,this);t=t.getBubbleTarget());return t||null},findParentByType:function(n){return Ext.isFunction(n)?this.findParentBy(function(t){return t.constructor===n}):this.up(n)},bubble:function(n,t,i){for(var r=this;r;){if(n.apply(t||r,i||[r])===!1)break;r=r.getBubbleTarget()}return this},getProxy:function(){var n=this,t;return n.proxy||(t=Ext.getBody(),Ext.scopeResetCSS&&(n.proxyWrap=t=Ext.getBody().createChild({cls:Ext.resetCls})),n.proxy=n.el.createProxy(Ext.baseCSSPrefix+"proxy-el",t,!0)),n.proxy}});Ext.define("Ext.ElementLoader",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.data.Connection","Ext.Ajax"],statics:{Renderer:{Html:function(n,t,i){return n.getTarget().update(t.responseText,i.scripts===!0),!0}}},url:null,params:null,baseParams:null,autoLoad:!1,target:null,loadMask:!1,ajaxOptions:null,scripts:!1,isLoader:!0,constructor:function(n){var t=this,i;n=n||{};Ext.apply(t,n);t.setTarget(t.target);t.addEvents("beforeload","exception","load");t.mixins.observable.constructor.call(t);t.autoLoad&&(i=t.autoLoad,i===!0&&(i={}),t.load(i))},setTarget:function(n){var t=this;n=Ext.get(n);t.target&&t.target!=n&&t.abort();t.target=n},getTarget:function(){return this.target||null},abort:function(){var n=this.active;n!==undefined&&(Ext.Ajax.abort(n.request),n.mask&&this.removeMask(),delete this.active)},removeMask:function(){this.target.unmask()},addMask:function(n){this.target.mask(n===!0?null:n)},load:function(n){n=Ext.apply({},n);var t=this,s=t.target,i=Ext.isDefined(n.loadMask)?n.loadMask:t.loadMask,r=Ext.apply({},n.params),u=Ext.apply({},n.ajaxOptions),e=n.callback||t.callback,o=n.scope||t.scope||t,f;(Ext.applyIf(u,t.ajaxOptions),Ext.applyIf(n,u),Ext.applyIf(r,t.params),Ext.apply(r,t.baseParams),Ext.applyIf(n,{url:t.url}),Ext.apply(n,{scope:t,params:r,callback:t.onComplete}),t.fireEvent("beforeload",t,n)!==!1)&&(i&&t.addMask(i),f=Ext.Ajax.request(n),t.active={request:f,options:n,mask:i,scope:o,callback:e,success:n.success||t.success,failure:n.failure||t.failure,renderer:n.renderer||t.renderer,scripts:Ext.isDefined(n.scripts)?n.scripts:t.scripts},t.setOptions(t.active,n))},setOptions:Ext.emptyFn,onComplete:function(n,t,i){var r=this,u=r.active,f=u.scope,e=r.getRenderer(u.renderer);t&&(t=e.call(r,r,i,u)!==!1);t?(Ext.callback(u.success,f,[r,i,n]),r.fireEvent("load",r,i,n)):(Ext.callback(u.failure,f,[r,i,n]),r.fireEvent("exception",r,i,n));Ext.callback(u.callback,f,[r,t,i,n]);u.mask&&r.removeMask();delete r.active},getRenderer:function(n){return Ext.isFunction(n)?n:this.statics().Renderer.Html},startAutoRefresh:function(n,t){var i=this;i.stopAutoRefresh();i.autoRefresh=setInterval(function(){i.load(t)},n)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var n=this;n.stopAutoRefresh();delete n.target;n.abort();n.clearListeners()}});Ext.define("Ext.ComponentLoader",{extend:"Ext.ElementLoader",statics:{Renderer:{Data:function(n,t){var i=!0;try{n.getTarget().update(Ext.decode(t.responseText))}catch(r){i=!1}return i},Component:function(n,t,i){var u=!0,r=n.getTarget(),f=[];try{f=Ext.decode(t.responseText)}catch(e){u=!1}return u&&(r.suspendLayouts(),i.removeAll&&r.removeAll(),r.add(f),r.resumeLayouts(!0)),u}}},target:null,loadMask:!1,renderer:"html",setTarget:function(n){var t=this;Ext.isString(n)&&(n=Ext.getCmp(n));t.target&&t.target!=n&&t.abort();t.target=n},removeMask:function(){this.target.setLoading(!1)},addMask:function(n){this.target.setLoading(n)},setOptions:function(n,t){n.removeAll=Ext.isDefined(t.removeAll)?t.removeAll:this.removeAll},getRenderer:function(n){if(Ext.isFunction(n))return n;var t=this.statics().Renderer;switch(n){case"component":return t.Component;case"data":return t.Data;default:return Ext.ElementLoader.Renderer.Html}}});Ext.define("Ext.Template",{requires:["Ext.dom.Helper","Ext.util.Format"],inheritableStatics:{from:function(n,t){return n=Ext.getDom(n),new this(n.value||n.innerHTML,t||"")}},constructor:function(n){var t=this,r=arguments,f=[],e=0,u=r.length,i;if(t.initialConfig={},u===1&&Ext.isArray(n)&&(r=n,u=r.length),u>1)for(;e<u;e++)i=r[e],typeof i=="object"?(Ext.apply(t.initialConfig,i),Ext.apply(t,i)):f.push(i);else f.push(n);t.html=f.join("");t.compiled&&t.compile()},isTemplate:!0,disableFormats:!1,re:/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,apply:function(n){function f(t,f,e,o){return e&&u?(o=o?[n[f]].concat(Ext.functionFactory("return ["+o+"];")()):[n[f]],e.substr(0,5)=="this."?r[e.substr(5)].apply(r,o):i[e].apply(i,o)):n[f]!==undefined?n[f]:""}var t=this,u=t.disableFormats!==!0,i=Ext.util.Format,r=t;return t.compiled?t.compiled(n).join(""):t.html.replace(t.re,f)},applyOut:function(n,t){var i=this;return i.compiled?t.push.apply(t,i.compiled(n)):t.push(i.apply(n)),t},applyTemplate:function(){return this.apply.apply(this,arguments)},set:function(n,t){var i=this;return i.html=n,i.compiled=null,t?i.compile():i},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){function fn(n,t,i,r){return i&&useFormat?(r=r?","+r:"",i=i.substr(0,5)!="this."?"fm."+i+"(":"this."+i.substr(5)+"("):(r="",i="(values['"+t+"'] == undefined ? '' : "),"',"+i+"values['"+t+"']"+r+") ,'"}var me=this,fm=Ext.util.Format,useFormat=me.disableFormats!==!0,body,bodyReturn;return bodyReturn=me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn),body="this.compiled = function(values){ return ['"+bodyReturn+"'];};",eval(body),me},insertFirst:function(n,t,i){return this.doInsert("afterBegin",n,t,i)},insertBefore:function(n,t,i){return this.doInsert("beforeBegin",n,t,i)},insertAfter:function(n,t,i){return this.doInsert("afterEnd",n,t,i)},append:function(n,t,i){return this.doInsert("beforeEnd",n,t,i)},doInsert:function(n,t,i,r){var u=Ext.DomHelper.insertHtml(n,Ext.getDom(t),this.apply(i));return r?Ext.get(u):u},overwrite:function(n,t,i){var r=Ext.DomHelper.overwrite(Ext.getDom(n),this.apply(t));return i?Ext.get(r):r}});Ext.define("Ext.XTemplateParser",{constructor:function(n){Ext.apply(this,n)},doTpl:Ext.emptyFn,parse:function(n){var i=this,p=n.length,w={elseif:"elif"},v=i.topRe,b=i.actionsRe,o,u,s,r,f,c,l,a,h,e,t,y;for(i.level=0,i.stack=u=[],o=0;o<p;o=e){if(v.lastIndex=o,r=v.exec(n),!r){i.doText(n.substring(o,p));break}if(h=r.index,e=v.lastIndex,o<h&&i.doText(n.substring(o,h)),r[1])e=n.indexOf("%}",h+2),i.doEval(n.substring(h+2,e)),e+=2;else if(r[2])e=n.indexOf("]}",h+2),i.doExpr(n.substring(h+2,e)),e+=2;else if(r[3])i.doTag(r[3]);else if(r[4]){for(t=null;(a=b.exec(r[4]))!==null;)s=a[2]||a[3],s&&(s=Ext.String.htmlDecode(s),f=a[1],f=w[f]||f,t=t||{},c=t[f],typeof c=="string"?t[f]=[c,s]:c?t[f].push(s):t[f]=s);t?t["if"]?(i.doIf(t["if"],t),u.push({type:"if"})):t["switch"]?(i.doSwitch(t["switch"],t),u.push({type:"switch"})):t["case"]?i.doCase(t["case"],t):t.elif?i.doElseIf(t.elif,t):t["for"]?(++i.level,(y=i.propRe.exec(r[4]))&&(t.propName=y[1]||y[2]),i.doFor(t["for"],t),u.push({type:"for",actions:t})):t.exec&&(i.doExec(t.exec,t),u.push({type:"exec",actions:t})):i.elseRe.test(r[4])?i.doElse():i.defaultRe.test(r[4])?i.doDefault():(i.doTpl(),u.push({type:"tpl"}))}else r[0].length===5?u.push({type:"tpl"}):(l=u.pop(),i.doEnd(l.type,l.actions),l.type=="for"&&--i.level)}},topRe:/(?:(\{\%)|(\{\[)|\{([^{}]*)\})|(?:<tpl([^>]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|exec|switch|case|eval)\s*\=\s*(?:(?:"([^"]*)")|(?:'([^']*)'))\s*/g,propRe:/prop=(?:(?:"([^"]*)")|(?:'([^']*)'))/,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/});Ext.define("Ext.XTemplateCompiler",{extend:"Ext.XTemplateParser",useEval:Ext.isGecko,useIndex:Ext.isIE6||Ext.isIE7,useFormat:!0,propNameRe:/^[\w\d\$]*$/,compile:function(n){var t=this,i=t.generate(n);return t.useEval?t.evalTpl(i):new Function("Ext",i)(Ext)},generate:function(n){var t=this,i="var fm=Ext.util.Format,ts=Object.prototype.toString;",r;return t.maxLevel=0,t.body=["var c0=values, a0="+t.createArrayTest(0)+", p0=parent, n0=xcount, i0=xindex, v;\n"],t.definitions?typeof t.definitions=="string"?t.definitions=[t.definitions,i]:t.definitions.push(i):t.definitions=[i],t.switches=[],t.parse(n),t.definitions.push((t.useEval?"$=":"return")+" function ("+t.fnArgs+") {",t.body.join(""),"}"),r=t.definitions.join("\n"),t.definitions.length=t.body.length=t.switches.length=0,delete t.definitions,delete t.body,delete t.switches,r},doText:function(n){var t=this,i=t.body;n=n.replace(t.aposRe,"\\'").replace(t.newLineRe,"\\n");t.useIndex?i.push("out[out.length]='",n,"'\n"):i.push("out.push('",n,"')\n")},doExpr:function(n){var t=this.body;t.push("if ((v="+n+")!==undefined) out");this.useIndex?t.push("[out.length]=v+''\n"):t.push(".push(v+'')\n")},doTag:function(n){this.doExpr(this.parseTag(n))},doElse:function(){this.body.push("} else {\n")},doEval:function(n){this.body.push(n,"\n")},doIf:function(n,t){var i=this;n==="."?i.body.push("if (values) {\n"):i.propNameRe.test(n)?i.body.push("if (",i.parseTag(n),") {\n"):i.body.push("if (",i.addFn(n),i.callFn,") {\n");t.exec&&i.doExec(t.exec)},doElseIf:function(n,t){var i=this;n==="."?i.body.push("else if (values) {\n"):i.propNameRe.test(n)?i.body.push("} else if (",i.parseTag(n),") {\n"):i.body.push("} else if (",i.addFn(n),i.callFn,") {\n");t.exec&&i.doExec(t.exec)},doSwitch:function(n){var t=this;n==="."?t.body.push("switch (values) {\n"):t.propNameRe.test(n)?t.body.push("switch (",t.parseTag(n),") {\n"):t.body.push("switch (",t.addFn(n),t.callFn,") {\n");t.switches.push(0)},doCase:function(n){var t=this,r=Ext.isArray(n)?n:[n],u=t.switches.length-1,f,i;for(t.switches[u]?t.body.push("break;\n"):t.switches[u]++,i=0,u=r.length;i<u;++i)f=t.intRe.exec(r[i]),r[i]=f?f[1]:"'"+r[i].replace(t.aposRe,"\\'")+"'";t.body.push("case ",r.join(": case "),":\n")},doDefault:function(){var n=this,t=n.switches.length-1;n.switches[t]?n.body.push("break;\n"):n.switches[t]++;n.body.push("default:\n")},doEnd:function(n,t){var i=this,r=i.level-1;n=="for"?(t.exec&&i.doExec(t.exec),i.body.push("}\n"),i.body.push("parent=p",r,";values=r",r+1,";xcount=n",r,";xindex=i",r,"\n")):(n=="if"||n=="switch")&&i.body.push("}\n")},doFor:function(n,t){var r=this,f,i=r.level,u=i-1,o="p"+i,e;f=n==="."?"values":r.propNameRe.test(n)?r.parseTag(n):r.addFn(n)+r.callFn;r.maxLevel<i&&(r.maxLevel=i,r.body.push("var "));e=n=="."?"c"+i:"a"+u+"?c"+u+"[i"+u+"]:p"+i;r.body.push("i",i,"=0,n",i,"=0,c",i,"=",f,",a",i,"=",r.createArrayTest(i),",p",i,"=c",u,",r",i,"=values;\n","parent=",e,"\n","if (c",i,"){if(a",i,"){n",i,"=c",i,".length;}else if (c",i,".isMixedCollection){c",i,"=c",i,".items;n",i,"=c",i,".length;}else if(c",i,".isStore){c",i,"=c",i,".data.items;n",i,"=c",i,".length;}else{c",i,"=[c",i,"];n",i,"=1;}}\n","for (xcount=n",i,";i",i,"<n"+i+";++i",i,"){\n","values=c",i,"[i",i,"]");t.propName&&r.body.push(".",t.propName);r.body.push("\n","xindex=i",i,"+1\n")},createArrayTest:"isArray"in Array?function(n){return"Array.isArray(c"+n+")"}:function(n){return"ts.call(c"+n+')==="[object Array]"'},doExec:function(n){var t=this,i="f"+t.definitions.length;t.definitions.push("function "+i+"("+t.fnArgs+") {"," try { with(values) {","  "+n," }} catch(e) {","}","}");t.body.push(i+t.callFn+"\n")},addFn:function(n){var t=this,i="f"+t.definitions.length;return n==="."?t.definitions.push("function "+i+"("+t.fnArgs+") {"," return values","}"):n===".."?t.definitions.push("function "+i+"("+t.fnArgs+") {"," return parent","}"):t.definitions.push("function "+i+"("+t.fnArgs+") {"," try { with(values) {","  return("+n+")"," }} catch(e) {","}","}"),i},parseTag:function(n){var u=this,f=u.tagRe.exec(n),t=f[1],i=f[2],e=f[3],o=f[4],r;if(t=="."?(u.validTypes||(u.definitions.push("var validTypes={string:1,number:1,boolean:1};"),u.validTypes=!0),r='validTypes[typeof values] || ts.call(values) === "[object Date]" ? values : ""'):r=t=="#"?"xindex":t.substr(0,7)=="parent."?t:isNaN(t)&&t.indexOf("-")==-1&&t.indexOf(".")!=-1?"values."+t:"values['"+t+"']",o&&(r="("+r+o+")"),i&&u.useFormat)e=e?","+e:"",i.substr(0,5)!="this."?i="fm."+i+"(":i+="(";else return r;return i+r+e+")"},evalTpl:function($){return eval($),$},newLineRe:/\r\n|\r|\n/g,aposRe:/[']/g,intRe:/^\s*(\d+)\s*$/,tagRe:/([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?/},function(){var n=this.prototype;n.fnArgs="out,values,parent,xindex,xcount";n.callFn=".call(this,"+n.fnArgs+")"});Ext.define("Ext.XTemplate",{extend:"Ext.Template",requires:"Ext.XTemplateCompiler",emptyObj:{},apply:function(n,t){return this.applyOut(n,[],t).join("")},applyOut:function(n,t,i){var r=this,u;r.fn||(u=new Ext.XTemplateCompiler({useFormat:r.disableFormats!==!0,definitions:r.definitions}),r.fn=u.compile(r.html));try{r.fn.call(r,t,n,i||r.emptyObj,1,1)}catch(f){}return t},compile:function(){return this},statics:{getTpl:function(n,t){var i=n[t],r;if(i&&!i.isTemplate)if(i=Ext.ClassManager.dynInstantiate("Ext.XTemplate",i),n.hasOwnProperty(t))n[t]=i;else for(r=n.self.prototype;r;r=r.superclass)if(r.hasOwnProperty(t)){r[t]=i;break}return i||null}}});Ext.define("Ext.layout.Layout",{requires:["Ext.XTemplate"],uses:["Ext.layout.Context"],isLayout:!0,initialized:!1,running:!1,autoSizePolicy:{setsWidth:0,setsHeight:0},statics:{layoutsByType:{},create:function(n,t){var f=Ext.ClassManager,s=this.layoutsByType,e,o,u,i,r,h;if(n&&typeof n!="string"){if(n.isLayout)return n;u=n;r=n.type||t}else r=n||t,u={};if(!(i=s[r])){if(e="layout."+r,o=f.getNameByAlias(e),o||(h=!0),i=f.get(o),h||!i)return f.instantiateByAlias(e,u||{});s[r]=i}return new i(u)}},constructor:function(n){var t=this;t.id=Ext.id(null,t.type+"-");Ext.apply(t,n);t.layoutCount=0},beginLayout:Ext.emptyFn,beginLayoutCycle:function(n){var t=this,r=t.context,i;t.lastWidthModel!=n.widthModel&&(t.lastWidthModel&&(i=!0),t.lastWidthModel=n.widthModel);t.lastHeightModel!=n.heightModel&&(t.lastWidthModel&&(i=!0),t.lastHeightModel=n.heightModel);i&&((r=n.context).clearTriggers(t,!1),r.clearTriggers(t,!0),t.triggerCount=0)},finishedLayout:function(){this.ownerContext=null},redoLayout:Ext.emptyFn,undoLayout:Ext.emptyFn,getAnimatePolicy:function(){return this.animatePolicy},getItemSizePolicy:function(){return this.autoSizePolicy},isItemBoxParent:function(){return!1},isItemLayoutRoot:function(n){var t=n.getSizeModel(),i=t.width,r=t.height;return!n.componentLayout.lastComponentSize&&(i.calculated||r.calculated)?!1:!i.shrinkWrap&&!r.shrinkWrap},isItemShrinkWrap:function(n){return n.shrinkWrap},isRunning:function(){return!!this.ownerContext},getItemsRenderTree:function(n,t){var e=n.length,u,i,r,f;if(e)for(f=[],u=0;u<e;++u)i=n[u],i.rendered||(t&&t[i.id]!==undefined?r=t[i.id]:(this.configureItem(i),r=i.getRenderTree(),t&&(t[i.id]=r)),r&&f.push(r));return f},finishRender:Ext.emptyFn,finishRenderItems:function(n,t){for(var u=t.length,r,i=0;i<u;i++)r=t[i],r.rendering&&(r.finishRender(i),this.afterRenderItem(r))},renderChildren:function(){var n=this,t=n.getLayoutItems(),i=n.getRenderTarget();n.renderItems(t,i)},renderItems:function(n,t){var u=this,f=n.length,r=0,i;if(f){for(Ext.suspendLayouts();r<f;r++)i=n[r],i&&!i.rendered?u.renderItem(i,t,r):u.isValidParent(i,t,r)?u.configureItem(i):u.moveItem(i,t,r);Ext.resumeLayouts(!0)}},isValidParent:function(n,t,i){var r=n.el?n.el.dom:Ext.getDom(n),u=t&&t.dom||t;return(r.parentNode&&r.parentNode.className.indexOf(Ext.baseCSSPrefix+"resizable-wrap")!==-1&&(r=r.parentNode),r&&u)?typeof i=="number"?r===u.childNodes[i]:r.parentNode===u:!1},configureItem:function(n){n.ownerLayout=this},renderItem:function(n,t,i){var r=this;n.rendered||(r.configureItem(n),n.render(t,i),r.afterRenderItem(n))},moveItem:function(n,t,i){t=t.dom||t;typeof i=="number"&&(i=t.childNodes[i]);t.insertBefore(n.el.dom,i||null);n.container=Ext.get(t);this.configureItem(n)},onContentChange:function(){return this.owner.updateLayout(),!0},initLayout:function(){this.initialized=!0},setOwner:function(n){this.owner=n},getLayoutItems:function(){return[]},afterRenderItem:Ext.emptyFn,onAdd:Ext.emptyFn,onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,afterRemove:function(n){var i=this,u=n.el,r=i.owner,t;n.rendered&&(t=[].concat(i.itemCls||[]),r.itemCls&&(t=Ext.Array.push(t,r.itemCls)),t.length&&u.removeCls(t));delete n.ownerLayout},destroy:function(){var n=this,t;n.targetCls&&(t=n.getTarget(),t&&t.removeCls(n.targetCls));n.onDestroy()},sortWeightedItems:function(n,t){for(var i=0,r=n.length;i<r;++i)n[i].$i=i;for(Ext.Array.sort(n,function(n,i){var r=i.weight-n.weight;return r||(r=n.$i-i.$i,n[t]&&(r=-r)),r}),i=0;i<r;++i)delete n[i].$i}},function(){var e=this,o={},t=[],i,r,u,s,f,n,h;for(e.prototype.sizeModels=e.sizeModels=o,n=function(i){var r=this,u=i.name;Ext.apply(Ext.apply(r,h),i);r[u]=!0;n[u]=o[u]=r;r.fixed=!(r.auto=r.natural||r.shrinkWrap);r.ordinal=t.length;t.push(r)},Ext.layout.SizeModel=n,h={calculated:!1,configured:!1,constrainedMax:!1,constrainedMin:!1,natural:!1,shrinkWrap:!1,calculatedFromConfigured:!1,calculatedFromNatural:!1,calculatedFromShrinkWrap:!1,names:null},new n({name:"calculated"}),new n({name:"configured",names:{width:"width",height:"height"}}),new n({name:"natural"}),new n({name:"shrinkWrap"}),new n({name:"calculatedFromConfigured",configured:!0,names:{width:"width",height:"height"}}),new n({name:"calculatedFromNatural",natural:!0}),new n({name:"calculatedFromShrinkWrap",shrinkWrap:!0}),new n({name:"constrainedMax",configured:!0,constrained:!0,names:{width:"maxWidth",height:"maxHeight"}}),new n({name:"constrainedMin",configured:!0,constrained:!0,names:{width:"minWidth",height:"minHeight"}}),i=0,u=t.length;i<u;++i)for(f=t[i],f.pairsByHeightOrdinal=s=[],r=0;r<u;++r)s.push({width:f,height:t[r]})});Ext.define("Ext.layout.container.Container",{extend:"Ext.layout.Layout",alternateClassName:"Ext.layout.ContainerLayout",mixins:{elementCt:"Ext.util.ElementContainer"},requires:["Ext.XTemplate"],type:"container",manageOverflow:0,beginCollapse:Ext.emptyFn,beginExpand:Ext.emptyFn,animatePolicy:null,childEls:["overflowPadderEl"],renderTpl:["{%this.renderBody(out,values)%}"],usesContainerHeight:!0,usesContainerWidth:!0,usesHeight:!0,usesWidth:!0,reserveScrollbar:!1,lastOverflowAdjust:{width:0,height:0},constructor:function(){this.callParent(arguments);this.mixins.elementCt.constructor.call(this)},destroy:function(){this.callParent();this.mixins.elementCt.destroy.call(this)},initLayout:function(){var n=this,t=Ext.getScrollbarSize().width;n.callParent();t&&n.manageOverflow&&!n.hasOwnProperty("lastOverflowAdjust")&&(n.owner.autoScroll||n.reserveScrollbar)&&(n.lastOverflowAdjust={width:t,height:0})},beginLayout:function(n){this.callParent(arguments);n.targetContext=n.getEl("getTarget",this);this.cacheChildItems(n)},beginLayoutCycle:function(n,t){var i=this,r=i.overflowPadderEl;i.callParent(arguments);n.state.overflowAdjust||(n.state.overflowAdjust=i.lastOverflowAdjust);t&&(i.usesContainerHeight&&++n.consumersContainerHeight,i.usesContainerWidth&&++n.consumersContainerWidth);r&&r.setStyle("display","none")},completeLayout:function(n){this.lastOverflowAdjust=n.state.overflowAdjust},cacheChildItems:function(n){var u=n.context,r=[],i=this.getVisibleItems(),f=i.length,t;for(n.childItems=r,n.visibleItems=i,t=0;t<f;++t)r.push(u.getCmp(i[t]))},cacheElements:function(){var n=this.owner;this.applyChildEls(n.el,n.id)},calculateContentSize:function(n,t){var e=this,g=(t||0)|e.manageOverflow|(n.widthModel.shrinkWrap?1:0)|(n.heightModel.shrinkWrap?2:0),i=g&1||undefined,r=g&2||undefined,nt=n.childItems,ut=nt.length,o=0,s=0,l=0,tt=n.props,h,it,rt,a,v,u,f,y,p,w,c,b,k,d;if(i&&(isNaN(tt.contentWidth)?++l:i=undefined),r&&(isNaN(tt.contentHeight)?++l:r=undefined),l){for(c=0;c<ut;++c)if(f=nt[c],u=f.target,w=r&&f.getProp("height"),k=i&&f.getProp("width"),b=f.getMarginInfo(),i&&isNaN(u.x)||r&&isNaN(u.y)?(d=u.el.getXY(),h||(h=n.targetContext.el.getXY(),v=n.targetContext.getBorderInfo(),it=h[0]+v.left,rt=h[1]+v.top),y=d[0]-it,p=d[1]-rt):(y=u.x,p=u.y),w+=b.bottom,k+=b.right,o=Math.max(o,p+w),s=Math.max(s,y+k),isNaN(o)&&isNaN(s)){e.done=!1;return}(i||r)&&(a=n.targetContext.getPaddingInfo());i&&!n.setContentWidth(s+a.right)&&(e.done=!1);r&&!n.setContentHeight(o+a.bottom)&&(e.done=!1)}},calculateOverflow:function(n,t,i){var r=this,s=r.owner,nt=r.manageOverflow,h=n.state,l=h.overflowAdjust,a,v,c,y,p,f,w,b,k,d,g,u,e,o;(!nt||h.secondPass||r.reserveScrollbar||(s.autoScroll?e=o=!0:(s.overflowX?e=s.overflowX=="auto":(f=n.targetContext.getStyle("overflow-x"),e=f&&f!="hidden"&&f!="scroll"),s.overflowY?o=s.overflowY=="auto":(f=n.targetContext.getStyle("overflow-y"),o=f&&f!="hidden"&&f!="scroll")),t.gotWidth||(e=!1),t.gotHeight||(o=!1),(e||o)&&(w=Ext.getScrollbarSize(),b=n.peek("contentWidth"),k=n.peek("contentHeight"),d=t.width,g=t.height,u=r.getScrollbarsNeeded(d,g,b,k),h.overflowState=u,typeof i=="number"&&(u&=~i),l={width:e&&u&2?w.width:0,height:o&&u&1?w.height:0},(l.width!==r.lastOverflowAdjust.width||l.height!==r.lastOverflowAdjust.height)&&(r.done=!1,n.invalidate({state:{overflowAdjust:l,overflowState:h.overflowState,secondPass:!0}})))),r.done)&&(c=n.padElContext||(n.padElContext=n.getEl("overflowPadderEl",r)),c&&(u=h.overflowState,a=t.width,v=0,u?(y=n.targetContext.getPaddingInfo(),p=r.scrollRangeFlags,u&2&&p&1&&(v+=y.bottom),u&1&&p&4&&(a+=y.right),c.setProp("display",""),c.setSize(a,v)):c.setProp("display","none")))},configureItem:function(n){var t=this,r=t.owner.itemCls,i=[].concat(t.itemCls||[]);t.callParent(arguments);r&&(i=Ext.Array.push(i,r));n.addCls(i)},doRenderBody:function(n,t){this.renderItems(n,t);this.renderContent(n,t)},doRenderContainer:function(n,t){var i=t.$comp.layout,r=i.getRenderTpl(),u=i.getRenderData();r.applyOut(u,n)},doRenderItems:function(n,t){var r=t.$layout,i=r.getRenderTree();i&&Ext.DomHelper.generateMarkup(i,n)},doRenderPadder:function(n,t){var i=t.$layout,u=i.owner,r=i.getScrollRangeFlags();i.manageOverflow==2&&r&5&&(n.push('<div id="',u.id,'-overflowPadderEl" ','style="font-size: 1px; width:1px; height: 1px;'),n.push('"><\/div>'),i.scrollRangeFlags=r)},finishRender:function(){var n=this,t,i;n.callParent();n.cacheElements();t=n.getRenderTarget();i=n.getLayoutItems();n.targetCls&&n.getTarget().addCls(n.targetCls);n.finishRenderItems(t,i)},notifyOwner:function(){this.owner.afterLayout(this)},getContainerSize:function(n,t){var i=n.targetContext,c=i.getFrameInfo(),l=i.getPaddingInfo(),f=0,e=0,o=n.state.overflowAdjust,s,h,r,u;return n.widthModel.shrinkWrap||(++e,r=t?i.getDomProp("width"):i.getProp("width"),s=typeof r=="number",s&&(++f,r-=c.width+l.width,o&&(r-=o.width))),n.heightModel.shrinkWrap||(++e,u=t?i.getDomProp("height"):i.getProp("height"),h=typeof u=="number",h&&(++f,u-=c.height+l.height,o&&(u-=o.height))),{width:r,height:u,needed:e,got:f,gotAll:f==e,gotWidth:s,gotHeight:h}},getLayoutItems:function(){var n=this.owner,t=n&&n.items;return t&&t.items||[]},getRenderData:function(){var n=this.owner;return{$comp:n,$layout:this,ownerId:n.id}},getRenderedItems:function(){for(var i=this,f=i.getRenderTarget(),r=i.getLayoutItems(),e=r.length,u=[],t,n=0;n<e;n++)t=r[n],t.rendered&&i.isValidParent(t,f,n)&&u.push(t);return u},getRenderTarget:function(){return this.owner.getTargetEl()},getElementTarget:function(){return this.getRenderTarget()},getRenderTpl:function(){var t=this,n=Ext.XTemplate.getTpl(this,"renderTpl");return n.renderContent||t.owner.setupRenderTpl(n),n},getRenderTree:function(){var n,t=this.owner.items,i,r={};do i=t.generation,n=this.getItemsRenderTree(this.getLayoutItems(),r);while(t.generation!==i);return n},getScrollbarsNeeded:function(n,t,i,r){var f=Ext.getScrollbarSize(),s=typeof n=="number",e=typeof t=="number",o=0,u=0;return f.width?(e&&t<r&&(u=2,n-=f.width),s&&n<i&&(o=1,!u&&e&&(t-=f.height,t<r&&(u=2))),u+o):0},getScrollRangeFlags:function(){var n=-1;return function(){if(n<0){var t=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"border-box",style:{width:"100px",height:"100px",padding:"10px",overflow:"auto"},children:[{style:{border:"1px solid red",width:"150px",height:"150px",margin:"0 5px 5px 0"}}]}),i=t.dom.scrollHeight,r=t.dom.scrollWidth;n=({175:0,165:1,170:2,160:3}[i]||0)|({175:0,165:4,170:8,160:12}[r]||0);t.remove()}return n}}(),getTarget:function(){return this.owner.getTargetEl()},getVisibleItems:function(){for(var u=this.getRenderTarget(),i=this.getLayoutItems(),f=i.length,r=[],t,n=0;n<f;n++)t=i[n],t.rendered&&this.isValidParent(t,u,n)&&t.hidden!==!0&&r.push(t);return r},setupRenderTpl:function(n){var t=this;n.renderBody=t.doRenderBody;n.renderContainer=t.doRenderContainer;n.renderItems=t.doRenderItems;n.renderPadder=t.doRenderPadder}});Ext.define("Ext.layout.container.Editor",{alias:"layout.editor",extend:"Ext.layout.container.Container",autoSizeDefault:{width:"field",height:"field"},getItemSizePolicy:function(){var t=this,n=t.owner.autoSize;return t.sizePolicy||(t.sizePolicy={setsWidth:n&&n.width==="boundEl"?1:0,setsHeight:n&&n.height==="boundEl"?1:0})},calculate:function(n){var r=this,t=r.owner,i=t.autoSize,u,f;i===!0&&(i=r.autoSizeDefault);i&&(u=r.getDimension(t,i.width,"getWidth",t.width),f=r.getDimension(t,i.height,"getHeight",t.height));n.childItems[0].setSize(u,f);n.setWidth(u);n.setHeight(f);n.setContentSize(u||t.field.getWidth(),f||t.field.getHeight())},getDimension:function(n,t,i,r){switch(t){case"boundEl":return n.boundEl[i]();case"field":return undefined;default:return r}}});Ext.define("Ext.layout.component.Component",{extend:"Ext.layout.Layout",type:"component",isComponentLayout:!0,nullBox:{},usesContentHeight:!0,usesContentWidth:!0,usesHeight:!0,usesWidth:!0,beginLayoutCycle:function(n,t){var r=this,u=r.owner,y=n.ownerCtContext,e=n.heightModel,o=n.widthModel,c=u.el.dom===document.body,s=u.lastBox||r.nullBox,f=u.el.lastBox||r.nullBox,h=!c,l,i,a,v;r.callParent(arguments);t&&(r.usesContentWidth&&++n.consumersContentWidth,r.usesContentHeight&&++n.consumersContentHeight,r.usesWidth&&++n.consumersWidth,r.usesHeight&&++n.consumersHeight,y&&!y.hasRawContent&&(l=u.ownerLayout,l.usesWidth&&++n.consumersWidth,l.usesHeight&&++n.consumersHeight));o.configured?(a=o.names.width,c||(h=t?u[a]!==f.width:o.constrained),n.setWidth(u[a],h)):n.isTopLevel&&(o.calculated&&(i=s.width,n.setWidth(i,i!=f.width)),i=s.x,n.setProp("x",i,i!=f.x));e.configured?(v=e.names.height,c||(h=t?u[v]!==f.height:e.constrained),n.setHeight(u[v],h)):n.isTopLevel&&(e.calculated&&(i=s.height,n.setHeight(i,i!=f.height)),i=s.y,n.setProp("y",i,i!=f.y))},finishedLayout:function(n){var u=this,e=n.children,s=u.owner,h,f,o,i,r,t;if(e)for(h=e.length,f=0;f<h;f++)o=e[f],o.el.lastBox=o.props;n.previousSize=u.lastComponentSize;u.lastComponentSize=s.el.lastBox=r=n.props;s.lastBox=i={};t=r.x;t!==undefined&&(i.x=t);t=r.y;t!==undefined&&(i.y=t);t=r.width;t!==undefined&&(i.width=t);t=r.height;t!==undefined&&(i.height=t);u.callParent(arguments)},notifyOwner:function(n){var t=this,r=t.lastComponentSize,i=n.previousSize,u=[r.width,r.height];i&&u.push(i.width,i.height);t.owner.afterComponentLayout.apply(t.owner,u)},getTarget:function(){return this.owner.el},getRenderTarget:function(){return this.owner.el},cacheTargetInfo:function(n){var t=this,i=t.targetInfo,r;return i||(r=n.getEl("getTarget",t),t.targetInfo=i={padding:r.getPaddingInfo(),border:r.getBorderInfo()}),i},measureAutoDimensions:function(n,t){var h=this,b=h.owner,o=b.layout,k=n.heightModel,p=n.widthModel,f=n.boxParent,l=n.isBoxParent,a=n.props,w,i={gotWidth:!1,gotHeight:!1,isContainer:w=!n.hasRawContent},d=t||3,v,y,c=0,r=0,e,u,s;return p.shrinkWrap&&n.consumersContentWidth?(++c,v=!(d&1),w?v?(i.contentWidth=0,i.gotWidth=!0,++r):(i.contentWidth=n.getProp("contentWidth"))!==undefined&&(i.gotWidth=!0,++r):(u=a.contentWidth,typeof u=="number"?(i.contentWidth=u,i.gotWidth=!0,++r):(e=v?!0:n.hasDomProp("containerChildrenDone")?l||!f||f.widthModel.shrinkWrap?!0:f.hasDomProp("width"):!1,e&&(s=v?0:o&&o.measureContentWidth?o.measureContentWidth(n):h.measureContentWidth(n),isNaN(i.contentWidth=s)||(n.setContentWidth(s,!0),i.gotWidth=!0,++r))))):p.natural&&n.consumersWidth&&(++c,u=a.width,typeof u=="number"?(i.width=u,i.gotWidth=!0,++r):(e=l||!f?!0:f.hasDomProp("width"),e&&(isNaN(i.width=h.measureOwnerWidth(n))||(n.setWidth(i.width,!1),i.gotWidth=!0,++r)))),k.shrinkWrap&&n.consumersContentHeight?(++c,y=!(d&2),w?y?(i.contentHeight=0,i.gotHeight=!0,++r):(i.contentHeight=n.getProp("contentHeight"))!==undefined&&(i.gotHeight=!0,++r):(u=a.contentHeight,typeof u=="number"?(i.contentHeight=u,i.gotHeight=!0,++r):(e=y?!0:n.hasDomProp("containerChildrenDone")?b.noWrap?!0:p.shrinkWrap?l||!f||f.widthModel.shrinkWrap?!0:f.hasDomProp("width"):(n.bodyContext||n).hasDomProp("width"):!1,e&&(s=y?0:o&&o.measureContentHeight?o.measureContentHeight(n):h.measureContentHeight(n),isNaN(i.contentHeight=s)||(n.setContentHeight(s,!0),i.gotHeight=!0,++r))))):k.natural&&n.consumersHeight&&(++c,u=a.height,typeof u=="number"?(i.height=u,i.gotHeight=!0,++r):(e=l||!f?!0:f.hasDomProp("width"),e&&(isNaN(i.height=h.measureOwnerHeight(n))||(n.setHeight(i.height,!1),i.gotHeight=!0,++r)))),f&&n.onBoxMeasured(),i.gotAll=r==c,i},measureContentWidth:function(n){return n.el.getWidth()-n.getFrameInfo().width},measureContentHeight:function(n){return n.el.getHeight()-n.getFrameInfo().height},measureOwnerHeight:function(n){return n.el.getHeight()},measureOwnerWidth:function(n){return n.el.getWidth()}});Ext.define("Ext.layout.component.Auto",{alias:"layout.autocomponent",extend:"Ext.layout.component.Component",type:"autocomponent",setHeightInDom:!1,setWidthInDom:!1,waitForOuterHeightInDom:!1,waitForOuterWidthInDom:!1,beginLayoutCycle:function(n){var t=this,i=t.lastWidthModel,r=t.lastHeightModel,u=t.owner;t.callParent(arguments);i&&i.fixed&&n.widthModel.shrinkWrap&&u.el.setWidth(null);r&&r.fixed&&n.heightModel.shrinkWrap&&u.el.setHeight(null)},calculate:function(n){var t=this,i=t.measureAutoDimensions(n),f=n.heightModel,e=n.widthModel,r,u;i.gotWidth?e.shrinkWrap?t.publishOwnerWidth(n,i.contentWidth):t.publishInnerWidth&&t.publishInnerWidth(n,i.width):!e.auto&&t.publishInnerWidth&&(r=t.waitForOuterWidthInDom?n.getDomProp("width"):n.getProp("width"),r===undefined?t.done=!1:t.publishInnerWidth(n,r));i.gotHeight?f.shrinkWrap?t.publishOwnerHeight(n,i.contentHeight):t.publishInnerHeight&&t.publishInnerHeight(n,i.height):!f.auto&&t.publishInnerHeight&&(u=t.waitForOuterHeightInDom?n.getDomProp("height"):n.getProp("height"),u===undefined?t.done=!1:t.publishInnerHeight(n,u));i.gotAll||(t.done=!1)},calculateOwnerHeightFromContentHeight:function(n,t){return t+n.getFrameInfo().height},calculateOwnerWidthFromContentWidth:function(n,t){return t+n.getFrameInfo().width},publishOwnerHeight:function(n,t){var r=this,e=r.owner,i=r.calculateOwnerHeightFromContentHeight(n,t),u,o,f;isNaN(i)?r.done=!1:(u=Ext.Number.constrain(i,e.minHeight,e.maxHeight),u==i?o=r.setHeightInDom:(f=r.sizeModels[u<i?"constrainedMax":"constrainedMin"],i=u,n.heightModel.calculatedFromShrinkWrap?n.heightModel=f:n.invalidate({heightModel:f})),n.setHeight(i,o))},publishOwnerWidth:function(n,t){var r=this,e=r.owner,i=r.calculateOwnerWidthFromContentWidth(n,t),u,o,f;isNaN(i)?r.done=!1:(u=Ext.Number.constrain(i,e.minWidth,e.maxWidth),u==i?o=r.setWidthInDom:(f=r.sizeModels[u<i?"constrainedMax":"constrainedMin"],i=u,n.widthModel.calculatedFromShrinkWrap?n.widthModel=f:n.invalidate({widthModel:f})),n.setWidth(i,o))}});Ext.define("Ext.layout.container.Auto",{alias:["layout.auto","layout.autocontainer"],extend:"Ext.layout.container.Container",type:"autocontainer",childEls:["clearEl"],renderTpl:["{%this.renderBody(out,values)%}",'<div id="{ownerId}-clearEl" class="',Ext.baseCSSPrefix,'clear" role="presentation"><\/div>'],calculate:function(n){var t=this,i;n.hasDomProp("containerChildrenDone")?(i=t.getContainerSize(n),i.gotAll||(t.done=!1),t.calculateContentSize(n)):t.done=!1}});Ext.define("Ext.util.Filter",{anyMatch:!1,exactMatch:!1,caseSensitive:!1,constructor:function(n){var t=this;Ext.apply(t,n);t.filter=t.filter||t.filterFn;t.filter===undefined&&(t.property===undefined||t.value===undefined||(t.filter=t.createFilterFn()),t.filterFn=t.filter)},createFilterFn:function(){var n=this,t=n.createValueMatcher(),i=n.property;return function(r){var u=n.getRoot.call(n,r)[i];return t===null?u===null:t.test(u)}},getRoot:function(n){var t=this.root;return t===undefined?n:n[t]},createValueMatcher:function(){var t=this,n=t.value,r=t.anyMatch,u=t.exactMatch,f=t.caseSensitive,i=Ext.String.escapeRegex;return n===null?n:(n.exec||(n=String(n),r===!0?n=i(n):(n="^"+i(n),u===!0&&(n+="$")),n=new RegExp(n,f?"":"i")),n)}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.util.Observable"},isMixedCollection:!0,generation:0,constructor:function(n,t){var i=this;i.items=[];i.map={};i.keys=[];i.length=0;i.allowFunctions=n===!0;t&&(i.getKey=t);i.mixins.observable.constructor.call(i)},allowFunctions:!1,add:function(n,t){var i=this,u=t,r=n,f;if(arguments.length==1&&(u=r,r=i.getKey(u)),typeof r!="undefined"&&r!==null){if(f=i.map[r],typeof f!="undefined")return i.replace(r,u);i.map[r]=u}return i.generation++,i.length++,i.items.push(u),i.keys.push(r),i.hasListeners.add&&i.fireEvent("add",i.length-1,u,r),u},getKey:function(n){return n.id},replace:function(n,t){var i=this,r,u;return(arguments.length==1&&(t=arguments[0],n=i.getKey(t)),r=i.map[n],typeof n=="undefined"||n===null||typeof r=="undefined")?i.add(n,t):(i.generation++,u=i.indexOfKey(n),i.items[u]=t,i.map[n]=t,i.hasListeners.replace&&i.fireEvent("replace",n,r,t),t)},addAll:function(n){var i=this,r=0,u,f,t;if(arguments.length>1||Ext.isArray(n))for(u=arguments.length>1?arguments:n,f=u.length;r<f;r++)i.add(u[r]);else for(t in n)n.hasOwnProperty(t)&&(i.allowFunctions||typeof n[t]!="function")&&i.add(t,n[t])},each:function(n,t){for(var u=[].concat(this.items),i=0,f=u.length,r;i<f;i++)if(r=u[i],n.call(t||r,r,i,f)===!1)break},eachKey:function(n,t){for(var r=this.keys,f=this.items,i=0,u=r.length;i<u;i++)n.call(t||window,r[i],f[i],i,u)},findBy:function(n,t){for(var u=this.keys,r=this.items,i=0,f=r.length;i<f;i++)if(n.call(t||window,r[i],u[i]))return r[i];return null},find:function(){return Ext.isDefined(Ext.global.console)&&Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead."),this.findBy.apply(this,arguments)},insert:function(n,t,i){var r=this,u=t,f=i;return(arguments.length==2&&(f=u,u=r.getKey(f)),r.containsKey(u)&&(r.suspendEvents(),r.removeAtKey(u),r.resumeEvents()),n>=r.length)?r.add(u,f):(r.generation++,r.length++,Ext.Array.splice(r.items,n,0,f),typeof u!="undefined"&&u!==null&&(r.map[u]=f),Ext.Array.splice(r.keys,n,0,u),r.hasListeners.add&&r.fireEvent("add",n,f,u),f)},remove:function(n){return this.generation++,this.removeAt(this.indexOf(n))},removeAll:function(n){n=[].concat(n);for(var i=n.length,t=0;t<i;t++)this.remove(n[t]);return this},removeAt:function(n){var t=this,r,i;return n<t.length&&n>=0?(t.length--,r=t.items[n],Ext.Array.erase(t.items,n,1),i=t.keys[n],typeof i!="undefined"&&delete t.map[i],Ext.Array.erase(t.keys,n,1),t.hasListeners.remove&&t.fireEvent("remove",r,i),t.generation++,r):!1},removeAtKey:function(n){return this.removeAt(this.indexOfKey(n))},getCount:function(){return this.length},indexOf:function(n){return Ext.Array.indexOf(this.items,n)},indexOfKey:function(n){return Ext.Array.indexOf(this.keys,n)},get:function(n){var t=this,i=t.map[n],r=i!==undefined?i:typeof n=="number"?t.items[n]:undefined;return typeof r!="function"||t.allowFunctions?r:null},getAt:function(n){return this.items[n]},getByKey:function(n){return this.map[n]},contains:function(n){return typeof this.map[this.getKey(n)]!="undefined"},containsKey:function(n){return typeof this.map[n]!="undefined"},clear:function(){var n=this;n.length=0;n.items=[];n.keys=[];n.map={};n.generation++;n.hasListeners.clear&&n.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(n,t,i,r){var f=this.extractValues(n,t),o=f.length,e=0,u;for(i=i||0,r=r||r===0?r:o-1,u=i;u<=r;u++)e+=f[u];return e},collect:function(n,t,i){for(var e=this.extractValues(n,t),h=e.length,o={},s=[],r,f,u=0;u<h;u++)r=e[u],f=String(r),!i&&Ext.isEmpty(r)||o[f]||(o[f]=!0,s.push(r));return s},extractValues:function(n,t){var i=this.items;return t&&(i=Ext.Array.pluck(i,t)),Ext.Array.pluck(i,n)},getRange:function(n,t){var u=this,f=u.items,r=[],i;if(f.length<1)return r;if(n=n||0,t=Math.min(typeof t=="undefined"?u.length-1:t,u.length-1),n<=t)for(i=n;i<=t;i++)r[r.length]=f[i];else for(i=n;i>=t;i--)r[r.length]=f[i];return r},filter:function(n,t,i,r){var u=[],f;return Ext.isString(n)?u.push(new Ext.util.Filter({property:n,value:t,anyMatch:i,caseSensitive:r})):(Ext.isArray(n)||n instanceof Ext.util.Filter)&&(u=u.concat(n)),f=function(n){for(var i=!0,o=u.length,r,f,e,t=0;t<o;t++)r=u[t],f=r.filterFn,e=r.scope,i=i&&f.call(e,n);return i},this.filterBy(f)},filterBy:function(n,t){var r=this,u=new this.self,e=r.keys,f=r.items,o=f.length,i;for(u.getKey=r.getKey,i=0;i<o;i++)n.call(t||r,f[i],e[i])&&u.add(e[i],f[i]);return u},findIndex:function(n,t,i,r,u){return Ext.isEmpty(t,!1)?-1:(t=this.createValueMatcher(t,r,u),this.findIndexBy(function(i){return i&&t.test(i[n])},null,i))},findIndexBy:function(n,t,i){for(var u=this,e=u.keys,f=u.items,r=i||0,o=f.length;r<o;r++)if(n.call(t||u,f[r],e[r]))return r;return-1},createValueMatcher:function(n,t,i,r){if(!n.exec){var u=Ext.String.escapeRegex;n=String(n);t===!0?n=u(n):(n="^"+u(n),r===!0&&(n+="$"));n=new RegExp(n,i?"":"i")}return n},clone:function(){for(var t=this,i=new this.self,u=t.keys,r=t.items,n=0,f=r.length;n<f;n++)i.add(u[n],r[n]);return i.getKey=t.getKey,i}});Ext.define("Ext.util.Sorter",{direction:"ASC",constructor:function(n){var t=this;Ext.apply(t,n);t.updateSortFunction()},createSortFunction:function(n){var t=this,u=t.property,i=t.direction||"ASC",r=i.toUpperCase()=="DESC"?-1:1;return function(i,u){return r*n.call(t,i,u)}},defaultSorterFn:function(n,t){var i=this,f=i.transform,r=i.getRoot(n)[i.property],u=i.getRoot(t)[i.property];return f&&(r=f(r),u=f(u)),r>u?1:r<u?-1:0},getRoot:function(n){return this.root===undefined?n:n[this.root]},setDirection:function(n){var t=this;t.direction=n?n.toUpperCase():n;t.updateSortFunction()},toggle:function(){var n=this;n.direction=Ext.String.toggle(n.direction,"ASC","DESC");n.updateSortFunction()},updateSortFunction:function(n){var t=this;n=n||t.sorterFn||t.defaultSorterFn;t.sort=t.createSortFunction(n)}});Ext.define("Ext.util.Sortable",{isSortable:!0,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var n=this,t=n.sorters;n.sorters=new Ext.util.AbstractMixedCollection(!1,function(n){return n.id||n.property});t&&n.sorters.addAll(n.decodeSorters(t))},sort:function(n,t,i,r){var u=this,e,f;if(Ext.isArray(n)?(r=i,i=t,f=n):Ext.isObject(n)?(r=i,i=t,f=[n]):Ext.isString(n)&&(e=u.sorters.get(n),e?t===undefined?e.toggle():e.setDirection(t):(e={property:n,direction:t},f=[e])),f&&f.length&&(f=u.decodeSorters(f),Ext.isString(i)?i==="prepend"?(n=u.sorters.clone().items,u.sorters.clear(),u.sorters.addAll(f),u.sorters.addAll(n)):u.sorters.addAll(f):(u.sorters.clear(),u.sorters.addAll(f))),r!==!1){u.onBeforeSort(f);n=u.sorters.items;n.length&&u.doSort(u.generateComparator())}return n},generateComparator:function(){var n=this.sorters.getRange();return n.length?this.createComparator(n):this.emptyComparator},createComparator:function(n){return function(t,i){for(var r=n[0].sort(t,i),f=n.length,u=1;u<f;u++)r=r||n[u].sort.call(this,t,i);return r}},emptyComparator:function(){return 0},onBeforeSort:Ext.emptyFn,decodeSorters:function(n){Ext.isArray(n)||(n=n===undefined?[]:[n]);for(var f=n.length,e=Ext.util.Sorter,u=this.model?this.model.prototype.fields:null,r,t,i=0;i<f;i++)t=n[i],t instanceof e||(Ext.isString(t)&&(t={property:t}),Ext.applyIf(t,{root:this.sortRoot,direction:"ASC"}),t.fn&&(t.sorterFn=t.fn),typeof t=="function"&&(t={sorterFn:t}),u&&!t.transform&&(r=u.get(t.property),t.transform=r?r.sortType:undefined),n[i]=new Ext.util.Sorter(t));return n},getSorters:function(){return this.sorters.items},getFirstSorter:function(){for(var i=this.sorters.items,r=i.length,n=0,t;n<r;++n)if(t=i[n],!t.isGrouper)return t;return null}});Ext.define("Ext.util.MixedCollection",{extend:"Ext.util.AbstractMixedCollection",mixins:{sortable:"Ext.util.Sortable"},constructor:function(){var n=this;n.callParent(arguments);n.addEvents("sort");n.mixins.sortable.initSortable.call(n)},doSort:function(n){this.sortBy(n)},_sort:function(n,t,i){var f=this,r,e,h=String(t).toUpperCase()=="DESC"?-1:1,u=[],s=f.keys,o=f.items;for(i=i||function(n,t){return n-t},r=0,e=o.length;r<e;r++)u[u.length]={key:s[r],value:o[r],index:r};for(Ext.Array.sort(u,function(t,r){var u=i(t[n],r[n])*h;return u===0&&(u=t.index<r.index?-1:1),u}),r=0,e=u.length;r<e;r++)o[r]=u[r].value,s[r]=u[r].key;f.fireEvent("sort",f)},sortBy:function(n){for(var i=this,r=i.items,f=i.keys,e=r.length,u=[],t=0;t<e;t++)u[t]={key:f[t],value:r[t],index:t};for(Ext.Array.sort(u,function(t,i){var r=n(t.value,i.value);return r===0&&(r=t.index<i.index?-1:1),r}),t=0;t<e;t++)r[t]=u[t].value,f[t]=u[t].key;i.fireEvent("sort",i,r,f)},findInsertionIndex:function(n,t){var e=this,o=e.items,i=0,u=o.length-1,r,f;for(t||(t=e.generateComparator());i<=u;)r=i+u>>1,f=t(n,o[r]),f>=0?i=r+1:f<0&&(u=r-1);return i},reorder:function(n){var i=this,u=i.items,t=0,e=u.length,r=[],o=[],f;i.suspendEvents();for(f in n)r[n[f]]=u[f];for(t=0;t<e;t++)n[t]==undefined&&o.push(u[t]);for(t=0;t<e;t++)r[t]==undefined&&(r[t]=o.shift());i.clear();i.addAll(r);i.resumeEvents();i.fireEvent("sort",i)},sortByKey:function(n,t){this._sort("key",n,t||function(n,t){var i=String(n).toUpperCase(),r=String(t).toUpperCase();return i>r?1:i<r?-1:0})}});Ext.define("Ext.ZIndexManager",{alternateClassName:"Ext.WindowGroup",statics:{zBase:9e3},constructor:function(n){var t=this;if(t.list={},t.zIndexStack=[],t.front=null,n)if(n.isContainer){n.on("resize",t._onContainerResize,t);t.zseed=Ext.Number.from(t.rendered?n.getEl().getStyle("zIndex"):undefined,t.getNextZSeed());t.targetEl=n.getTargetEl();t.container=n}else{Ext.EventManager.onWindowResize(t._onContainerResize,t);t.zseed=t.getNextZSeed();t.targetEl=Ext.get(n)}else{Ext.EventManager.onWindowResize(t._onContainerResize,t);t.zseed=t.getNextZSeed();Ext.onDocumentReady(function(){t.targetEl=Ext.getBody()})}},getNextZSeed:function(){return Ext.ZIndexManager.zBase+=1e4},setBase:function(n){this.zseed=n;var t=this.assignZIndices();return this._activateLast(),t},assignZIndices:function(){for(var r=this.zIndexStack,u=r.length,t=0,i=this.zseed,n;t<u;t++)n=r[t],n&&!n.hidden&&(i=n.setZIndex(i));return this._activateLast(),i},_setActiveChild:function(n,t){var i=this.front;n!==i&&(i&&!i.destroying&&i.setActive(!1,n),this.front=n,n&&n!=t&&(n.setActive(!0),n.modal&&this._showModalMask(n)))},onComponentHide:function(n){n.setActive(!1);this._activateLast()},_activateLast:function(){var i=this,r=i.zIndexStack,n=r.length-1,u=i.front,t;for(i.front=undefined;n>=0&&r[n].hidden;--n);if(!(t=r[n])||(i._setActiveChild(t,u),!t.modal)){for(;n>=0;--n)if(t=r[n],t.isVisible()&&t.modal){i._showModalMask(t);return}i._hideModalMask()}},_showModalMask:function(n){var t=this,u=n.el.getStyle("zIndex")-4,i=n.floatParent?n.floatParent.getTargetEl():n.container,r=i.getBox();if(i.dom===document.body&&(r.height=Math.max(document.body.scrollHeight,Ext.dom.Element.getDocumentHeight()),r.width=Math.max(document.body.scrollWidth,r.width)),!t.mask){t.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask"});t.mask.setVisibilityMode(Ext.Element.DISPLAY);t.mask.on("click",t._onMaskClick,t)}t.mask.maskTarget=i;i.addCls(Ext.baseCSSPrefix+"body-masked");t.mask.setStyle("zIndex",u);t.mask.show();t.mask.setBox(r)},_hideModalMask:function(){var n=this.mask;n&&n.isVisible()&&(n.maskTarget.removeCls(Ext.baseCSSPrefix+"body-masked"),n.maskTarget=undefined,n.hide())},_onMaskClick:function(){this.front&&this.front.focus()},_onContainerResize:function(){var n=this.mask,t,i;n&&n.isVisible()&&(n.hide(),t=n.maskTarget,i=t.dom===document.body?{height:Math.max(document.body.scrollHeight,Ext.dom.Element.getDocumentHeight()),width:Math.max(document.body.scrollWidth,document.documentElement.clientWidth)}:t.getViewSize(!0),n.setSize(i),n.show())},register:function(n){var t=this;n.zIndexManager&&n.zIndexManager.unregister(n);n.zIndexManager=t;t.list[n.id]=n;t.zIndexStack.push(n);n.on("hide",t.onComponentHide,t)},unregister:function(n){var t=this,i=t.list;delete n.zIndexManager;i&&i[n.id]&&(delete i[n.id],n.un("hide",t.onComponentHide),Ext.Array.remove(t.zIndexStack,n),t._activateLast())},get:function(n){return n.isComponent?n:this.list[n]},bringToFront:function(n){var t=this,i=!1,r=t.zIndexStack;return n=t.get(n),n!==t.front&&(Ext.Array.remove(r,n),n.preventBringToFront?r.unshift(n):r.push(n),t.assignZIndices(),i=!0,this.front=n),i&&n.modal&&t._showModalMask(n),i},sendToBack:function(n){var t=this;return n=t.get(n),Ext.Array.remove(t.zIndexStack,n),t.zIndexStack.unshift(n),t.assignZIndices(),this._activateLast(),n},hideAll:function(){var t=this.list,n;for(var i in t)t.hasOwnProperty(i)&&(n=t[i],n.isComponent&&n.isVisible()&&n.hide())},hide:function(){var n=this,r=n.mask,i=0,u=n.zIndexStack,f=u.length,t;for(n.tempHidden=n.tempHidden||[];i<f;i++)t=u[i],t.isVisible()&&(n.tempHidden.push(t),t.el.hide());r&&r.hide()},show:function(){for(var i=this,t=i.mask,r=0,u=i.tempHidden,f=u?u.length:0,n;r<f;r++)n=u[r],n.el.show(),n.setPosition(n.x,n.y);i.tempHidden.length=0;t&&(t.show(),t.alignTo(t.maskTarget,"tl-tl"))},getActive:function(){return this.front},getBy:function(n,t){for(var u=[],r=0,f=this.zIndexStack,e=f.length,i;r<e;r++)i=f[r],n.call(t||i,i)!==!1&&u.push(i);return u},each:function(n,t){var r=this.list,u,i;for(u in r)if(r.hasOwnProperty(u)&&(i=r[u],i.isComponent&&n.call(t||i,i)===!1))return},eachBottomUp:function(n,t){for(var u=this.zIndexStack,r=0,f=u.length,i;r<f;r++)if(i=u[r],i.isComponent&&n.call(t||i,i)===!1)return},eachTopDown:function(n,t){for(var r=this.zIndexStack,u=r.length,i;u-->0;)if(i=r[u],i.isComponent&&n.call(t||i,i)===!1)return},destroy:function(){var n=this,t=n.list,i;for(var r in t)t.hasOwnProperty(r)&&(i=t[r],i.isComponent&&i.destroy());delete n.zIndexStack;delete n.list;delete n.container;delete n.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this});Ext.define("Ext.container.AbstractContainer",{extend:"Ext.Component",requires:["Ext.util.MixedCollection","Ext.layout.container.Auto","Ext.ZIndexManager"],renderTpl:"{%this.renderContainer(out,values)%}",suspendLayout:!1,autoDestroy:!0,defaultType:"panel",detachOnRemove:!0,isContainer:!0,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",bubbleEvents:["add","remove"],defaultLayoutType:"auto",initComponent:function(){var n=this;n.addEvents("afterlayout","beforeadd","beforeremove","add","remove");n.callParent();n.getLayout();n.initItems()},initItems:function(){var t=this,n=t.items;t.items=new Ext.util.AbstractMixedCollection(!1,t.getComponentId);n&&(Ext.isArray(n)||(n=[n]),t.add(n))},getFocusEl:function(){return this.getTargetEl()},finishRenderChildren:function(){this.callParent();var n=this.getLayout();n&&n.finishRender()},beforeRender:function(){var n=this,t=n.getLayout();n.callParent();t.initialized||t.initLayout()},setupRenderTpl:function(n){var t=this.getLayout();this.callParent(arguments);t.setupRenderTpl(n)},setLayout:function(n){var t=this.layout;t&&t.isLayout&&t!=n&&t.setOwner(null);this.layout=n;n.setOwner(this)},getLayout:function(){var n=this;return n.layout&&n.layout.isLayout||n.setLayout(Ext.layout.Layout.create(n.layout,n.self.prototype.layout||"autocontainer")),n.layout},doLayout:function(){return this.updateLayout(),this},afterLayout:function(n){var t=this;++t.layoutCounter;t.hasListeners.afterlayout&&t.fireEvent("afterlayout",t,n)},prepareItems:function(n,t){n=Ext.isArray(n)?n.slice():[n];for(var u=this,r=0,f=n.length,i;r<f;r++)i=n[r],i==null?(Ext.Array.erase(n,r,1),--r,--f):(t&&(i=this.applyDefaults(i)),i.isContained=u,n[r]=u.lookupComponent(i),delete i.isContained);return n},applyDefaults:function(n){var t=this.defaults;return t&&(Ext.isFunction(t)&&(t=t.call(this,n)),Ext.isString(n)&&(n=Ext.ComponentManager.get(n)),Ext.applyIf(n,t)),n},lookupComponent:function(n){return typeof n=="string"?Ext.ComponentManager.get(n):Ext.ComponentManager.create(n,this.defaultType)},getComponentId:function(n){return n.getItemId()},add:function(){var n=this,u=Ext.Array.slice(arguments),s=typeof u[0]=="number"?u.shift():-1,c=n.getLayout(),h,r,f,e,t,i,o;for(u.length==1&&Ext.isArray(u[0])?(r=u[0],h=!0):r=u,o=r=n.prepareItems(r,!0),e=r.length,n.rendered&&Ext.suspendLayouts(),h||e!=1||(o=r[0]),f=0;f<e;f++)if(t=r[f],i=s<0?n.items.length:s+f,t.floating){n.floatingItems=n.floatingItems||new Ext.util.MixedCollection;n.floatingItems.add(t);t.onAdded(n,i)}else if((!n.hasListeners.beforeadd||n.fireEvent("beforeadd",n,t,i)!==!1)&&n.onBeforeAdd(t)!==!1){n.items.insert(i,t);t.onAdded(n,i);n.onAdd(t,i);c.onAdd(t,i);n.hasListeners.add&&n.fireEvent("add",n,t,i)}return n.updateLayout(),n.rendered&&Ext.resumeLayouts(!0),o},onAdd:Ext.emptyFn,onRemove:Ext.emptyFn,insert:function(n,t){return this.add(n,t)},move:function(n,t){var r=this.items,i;return(i=r.removeAt(n),i===!1)?!1:(r.insert(t,i),this.doLayout(),i)},onBeforeAdd:function(n){var t=this,i=n.border;n.ownerCt&&n.ownerCt!==t&&n.ownerCt.remove(n,!1);(t.border===!1||t.border===0)&&(n.border=Ext.isDefined(i)&&i!==!1&&i!==0)},remove:function(n,t){var i=this,r=i.getComponent(n);return r&&(!i.hasListeners.beforeremove||i.fireEvent("beforeremove",i,r)!==!1)&&(i.doRemove(r,t),i.hasListeners.remove&&i.fireEvent("remove",i,r),i.destroying||i.doLayout()),r},doRemove:function(n,t){var i=this,u=i.layout,f=u&&i.rendered,r=t===!0||t!==!1&&i.autoDestroy;if(t=t===!0||t!==!1&&i.autoDestroy,i.items.remove(n),f){u.running&&Ext.AbstractComponent.cancelLayout(n,r);u.onRemove(n,r)}n.onRemoved(r);i.onRemove(n,r);r?n.destroy():(f&&u.afterRemove(n),i.detachOnRemove&&n.rendered&&Ext.getDetachedBody().appendChild(n.getEl()))},removeAll:function(n){var t=this,u=t.items.items.slice(),f=[],r=0,e=u.length,i;for(t.suspendLayouts();r<e;r++)i=u[r],t.remove(i,n),i.ownerCt!==t&&f.push(i);return t.resumeLayouts(!!e),f},getRefItems:function(n){for(var r=this,f=r.items.items,e=f.length,u=0,i,t=[];u<e;u++)i=f[u],t.push(i),n&&i.getRefItems&&t.push.apply(t,i.getRefItems(!0));return r.floatingItems&&t.push.apply(t,r.floatingItems.items),t},cascade:function(n,t,i){var r=this,e=r.items?r.items.items:[],s=e.length,o=0,u,f=i?i.concat(r):[r],h=f.length-1;if(n.apply(t||r,f)!==!1)for(;o<s;o++)u=e[o],u.cascade?u.cascade(n,t,i):(f[h]=u,n.apply(t||e,f));return this},isAncestor:function(n){while(n){if(n.ownerCt===this)return!0;n=n.ownerCt}},getComponent:function(n){return Ext.isObject(n)&&(n=n.getItemId()),this.items.get(n)},query:function(n){return n=n||"*",Ext.ComponentQuery.query(n,this)},queryBy:function(n,t){for(var u=[],f=this.getRefItems(!0),r=0,e=f.length,i;r<e;++r)i=f[r],n.call(t||i,i)!==!1&&u.push(i);return u},queryById:function(n){return this.down("#"+n)},child:function(n){return n=n||"",this.query("> "+n)[0]||null},nextChild:function(n,t){var i=this,r,u=i.items.indexOf(n);return u!==-1&&(r=t?Ext.ComponentQuery(t,i.items.items.slice(u+1)):i.items.getAt(u+1),!r&&i.ownerCt&&(r=i.ownerCt.nextChild(i,t))),r},prevChild:function(n,t){var i=this,r,u=i.items.indexOf(n);return u!==-1&&(r=t?Ext.ComponentQuery(t,i.items.items.slice(u+1)):i.items.getAt(u+1),!r&&i.ownerCt&&(r=i.ownerCt.nextChild(i,t))),r},down:function(n){return this.query(n)[0]||null},enable:function(){this.callParent(arguments);for(var i=this.getChildItemsToDisable(),r=i.length,t,n=0;n<r;n++)t=i[n],t.resetDisable&&t.enable();return this},disable:function(){this.callParent(arguments);for(var i=this.getChildItemsToDisable(),r=i.length,n,t=0;t<r;t++)n=i[t],n.resetDisable===!1||n.disabled||(n.disable(),n.resetDisable=!0);return this},getChildItemsToDisable:function(){return this.query("[isFormField],button")},beforeLayout:function(){return!0},beforeDestroy:function(){var n=this,t=n.items,i;if(t)while(i=t.first())n.doRemove(i,!0);Ext.destroy(n.layout);n.callParent()}});Ext.define("Ext.container.Container",{extend:"Ext.container.AbstractContainer",alias:"widget.container",alternateClassName:"Ext.Container",fireHierarchyEvent:function(n){this.hierarchyEventSource.fireEvent(n,this)},afterHide:function(){this.callParent(arguments);this.fireHierarchyEvent("hide")},afterShow:function(){this.callParent(arguments);this.fireHierarchyEvent("show")},onAdded:function(){this.callParent(arguments);this.hierarchyEventSource.hasListeners.added&&this.fireHierarchyEvent("added")},getChildByElement:function(n,t){var i,r,u=0,f=this.getRefItems(),e=f.length;for(n=Ext.getDom(n);u<e;u++)if(i=f[u],r=i.getEl(),r&&(r.dom===n||r.contains(n)))return t&&i.getChildByElement?i.getChildByElement(n,t):i;return null}},function(){this.hierarchyEventSource=this.prototype.hierarchyEventSource=new Ext.util.Observable({events:{hide:!0,show:!0,collapse:!0,expand:!0,added:!0}})});Ext.define("Ext.Editor",{extend:"Ext.container.Container",alias:"widget.editor",requires:["Ext.layout.container.Editor"],layout:"editor",allowBlur:!0,revertInvalid:!0,value:"",alignment:"c-c?",offsets:[0,0],shadow:"frame",constrain:!1,swallowKeys:!0,completeOnEnter:!0,cancelOnEsc:!0,updateEl:!1,hidden:!0,baseCls:Ext.baseCSSPrefix+"editor",initComponent:function(){var n=this,t=n.field=Ext.ComponentManager.create(n.field,"textfield");Ext.apply(t,{inEditor:!0,msgTarget:t.msgTarget=="title"?"title":"qtip"});n.mon(t,{scope:n,blur:{fn:n.onFieldBlur,delay:1},specialkey:n.onSpecialKey});t.grow&&n.mon(t,"autosize",n.onFieldAutosize,n,{delay:1});n.floating={constrain:n.constrain};n.items=t;n.callParent(arguments);n.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onFieldAutosize:function(){this.updateLayout()},afterRender:function(){var n=this,i=n.field,t=i.inputEl;n.callParent(arguments);t&&(t.dom.name="",n.swallowKeys&&t.swallowEvent(["keypress","keydown"]))},onSpecialKey:function(n,t){var i=this,r=t.getKey(),u=i.completeOnEnter&&r==t.ENTER,f=i.cancelOnEsc&&r==t.ESC;(u||f)&&(t.stopEvent(),Ext.defer(function(){u?i.completeEdit():i.cancelEdit();n.triggerBlur&&n.triggerBlur(t)},10));i.fireEvent("specialkey",i,n,t)},startEdit:function(n,t){var i=this,r=i.field;i.completeEdit();i.boundEl=Ext.get(n);t=Ext.isDefined(t)?t:Ext.String.trim(i.boundEl.dom.innerText||i.boundEl.dom.innerHTML);i.rendered||i.render(i.parentEl||document.body);i.fireEvent("beforestartedit",i,i.boundEl,t)!==!1&&(i.startValue=t,i.show(),r.suspendEvents(),r.reset(),r.setValue(t),r.resumeEvents(),i.realign(!0),r.focus(!1,10),r.autoSize&&r.autoSize(),i.editing=!0)},realign:function(n){var t=this;n===!0&&t.updateLayout();t.alignTo(t.boundEl,t.alignment,t.offsets)},completeEdit:function(n){var t=this,r=t.field,i;if(t.editing){if(r.assertValue&&r.assertValue(),i=t.getValue(),!r.isValid()){t.revertInvalid!==!1&&t.cancelEdit(n);return}if(String(i)===String(t.startValue)&&t.ignoreNoChange){t.hideEdit(n);return}t.fireEvent("beforecomplete",t,i,t.startValue)!==!1&&(i=t.getValue(),t.updateEl&&t.boundEl&&t.boundEl.update(i),t.hideEdit(n),t.fireEvent("complete",t,i,t.startValue))}},onShow:function(){var n=this;n.callParent(arguments);n.hideEl!==!1&&n.boundEl.hide();n.fireEvent("startedit",n,n.boundEl,n.startValue)},cancelEdit:function(n){var t=this,i=t.startValue,r=t.field,u;t.editing&&(u=t.getValue(),r.suspendEvents(),t.setValue(i),r.resumeEvents(),t.hideEdit(n),t.fireEvent("canceledit",t,u,i))},hideEdit:function(n){n!==!0&&(this.editing=!1,this.hide())},onFieldBlur:function(n,t){var i=this,r;i.allowBlur===!0&&i.editing&&i.selectSameEditor!==!0&&i.completeEdit();t&&Ext.fly(r=t.getTarget()).focusable()&&r.focus()},onHide:function(){var n=this,t=n.field;if(n.editing){n.completeEdit();return}t.hasFocus&&t.blur();t.collapse&&t.collapse();n.hideEl!==!1&&n.boundEl.show();n.callParent(arguments)},setValue:function(n){this.field.setValue(n)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){var n=this;Ext.destroy(n.field);delete n.field;delete n.parentEl;delete n.boundEl;n.callParent(arguments)}});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",eventName:"keydown",constructor:function(n){var t=this;if(arguments.length!==1||typeof n=="string"||n.dom||n.tagName||n===document||n.isComponent){t.legacyConstructor.apply(t,arguments);return}Ext.apply(t,n);t.bindings=[];t.target.isComponent||(t.target=Ext.get(t.target));t.binding?t.addBinding(t.binding):n.key&&t.addBinding(n);t.enable()},legacyConstructor:function(n,t,i){var r=this;Ext.apply(r,{target:Ext.get(n),eventName:i||r.eventName,bindings:[]});t&&r.addBinding(t);r.enable()},addBinding:function(n){var i=n.key,o=!1,u,f,e,t,r;if(Ext.isArray(n)){for(t=0,r=n.length;t<r;t++)this.addBinding(n[t]);return}if(Ext.isString(i)){for(f=[],e=i.toUpperCase(),t=0,r=e.length;t<r;++t)f.push(e.charCodeAt(t));i=f;o=!0}if(Ext.isArray(i)||(i=[i]),!o)for(t=0,r=i.length;t<r;++t)u=i[t],Ext.isString(u)&&(i[t]=u.toUpperCase().charCodeAt(0));this.bindings.push(Ext.apply({keyCode:i},n))},handleTargetEvent:function(){var n=/input|textarea/i;return function(t){var i=this,u,r,o,f,e;if(this.enabled){if(u=this.bindings,r=0,o=u.length,t=i.processEvent.apply(i||i.processEventScope,arguments),i.ignoreInputFields&&(f=t.target,e=f.contentEditable,n.test(f.tagName)||e===""||e==="true"))return;if(!t.getKey)return t;for(;r<o;++r)this.processBinding(u[r],t)}}}(),processEvent:function(n){return n},processBinding:function(n,t){if(this.checkModifiers(n,t))for(var r=t.getKey(),o=n.fn||n.handler,s=n.scope||this,u=n.keyCode,f=n.defaultEventAction,h=new Ext.EventObjectImpl(t),i=0,e=u.length;i<e;++i)if(r===u[i]){o.call(s,r,t)!==!0&&f&&h[f]();break}},checkModifiers:function(n,t){for(var f=["shift","ctrl","alt"],i=0,e=f.length,r,u;i<e;++i)if(u=f[i],r=n[u],!(r===undefined||r===t[u+"Key"]))return!1;return!0},on:function(n,t,i){var r,u,f,e;Ext.isObject(n)&&!Ext.isArray(n)?(r=n.key,u=n.shift,f=n.ctrl,e=n.alt):r=n;this.addBinding({key:r,shift:u,ctrl:f,alt:e,fn:t,scope:i})},isEnabled:function(){return this.enabled},enable:function(){var n=this;if(!n.enabled){n.target.on(n.eventName,n.handleTargetEvent,n);n.enabled=!0}},disable:function(){var n=this;n.enabled&&(n.target.removeListener(n.eventName,n.handleTargetEvent,n),n.enabled=!1)},setDisabled:function(n){n?this.disable():this.enable()},destroy:function(n){var t=this,i=t.target;t.bindings=[];t.disable();n===!0&&(i.isComponent?i.destroy():i.remove());delete t.target}});Ext.define("Ext.util.KeyNav",{alternateClassName:"Ext.KeyNav",requires:["Ext.util.KeyMap"],statics:{keyOptions:{left:37,right:39,up:38,down:40,space:32,pageUp:33,pageDown:34,del:46,backspace:8,home:36,end:35,enter:13,esc:27,tab:9}},constructor:function(n){var t=this;if(arguments.length===2){t.legacyConstructor.apply(t,arguments);return}t.setConfig(n)},legacyConstructor:function(n,t){this.setConfig(Ext.apply({target:n},t))},setConfig:function(n){var t=this,e={target:n.target,ignoreInputFields:n.ignoreInputFields,eventName:t.getKeyEvent("forceKeyDown"in n?n.forceKeyDown:t.forceKeyDown,n.eventName)},r,u,o,f,i;t.map&&t.map.destroy();n.processEvent&&(e.processEvent=n.processEvent,e.processEventScope=n.processEventScope||t);r=t.map=new Ext.util.KeyMap(e);u=Ext.util.KeyNav.keyOptions;o=n.scope||t;for(f in u)u.hasOwnProperty(f)&&(i=n[f])&&(typeof i=="function"&&(i={handler:i,defaultAction:n.defaultEventAction!==undefined?n.defaultEventAction:t.defaultEventAction}),r.addBinding({key:u[f],handler:Ext.Function.bind(t.handleEvent,i.scope||o,i.handler||i.fn,!0),defaultEventAction:i.defaultEventAction!==undefined?i.defaultAction:t.defaultEventAction}));r.disable();n.disabled||r.enable()},handleEvent:function(n,t,i){return i.call(this,t)},disabled:!1,defaultEventAction:"stopEvent",forceKeyDown:!1,eventName:"keypress",destroy:function(n){this.map.destroy(n);delete this.map},enable:function(){this.map.enable();this.disabled=!1},disable:function(){this.map.disable();this.disabled=!0},setDisabled:function(n){this.map.setDisabled(n);this.disabled=n},getKeyEvent:function(n,t){return n||Ext.EventManager.useKeyDown&&!t?"keydown":t||this.eventName}});Ext.define("Ext.FocusManager",{singleton:!0,alternateClassName:["Ext.FocusMgr"],mixins:{observable:"Ext.util.Observable"},requires:["Ext.AbstractComponent","Ext.Component","Ext.ComponentManager","Ext.ComponentQuery","Ext.util.HashMap","Ext.util.KeyNav"],enabled:!1,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],constructor:function(n){var t=this,i=Ext.ComponentQuery;t.mixins.observable.constructor.call(t,n);t.addEvents("beforecomponentfocus","componentfocus","disable","enable");t.focusTask=new Ext.util.DelayedTask(t.handleComponentFocus,t);Ext.override(Ext.AbstractComponent,{onFocus:function(){this.callParent(arguments);t.enabled&&this.hasFocus&&(Array.prototype.unshift.call(arguments,this),t.onComponentFocus.apply(t,arguments))},onBlur:function(){this.callParent(arguments);t.enabled&&!this.hasFocus&&(Array.prototype.unshift.call(arguments,this),t.onComponentBlur.apply(t,arguments))},onDestroy:function(){this.callParent(arguments);t.enabled&&(Array.prototype.unshift.call(arguments,this),t.onComponentDestroy.apply(t,arguments))}});Ext.override(Ext.Component,{afterHide:function(){this.callParent(arguments);t.enabled&&(Array.prototype.unshift.call(arguments,this),t.onComponentHide.apply(t,arguments))}});t.keyNav=new Ext.util.KeyNav(Ext.getDoc(),{disabled:!0,scope:t,backspace:t.focusLast,enter:t.navigateIn,esc:t.navigateOut,tab:t.navigateSiblings,space:t.navigateIn,del:t.focusLast,left:t.navigateSiblings,right:t.navigateSiblings,down:t.navigateSiblings,up:t.navigateSiblings});t.focusData={};t.subscribers=new Ext.util.HashMap;t.focusChain={};Ext.apply(i.pseudos,{focusable:function(n){for(var u=n.length,r=[],t=0,i;t<u;t++)i=n[t],i.isFocusable()&&r.push(i);return r},nextFocus:function(n,t,i){i=i||1;t=parseInt(t,10);for(var u=n.length,r=t,f;;){if((r+=i)>=u?r=0:r<0&&(r=u-1),r===t)return[];if((f=n[r]).isFocusable())return[f]}return[]},prevFocus:function(n,t){return this.nextFocus(n,t,-1)},root:function(n){for(var u=n.length,r=[],t=0,i;t<u;t++)i=n[t],i.ownerCt||r.push(i);return r}})},addXTypeToWhitelist:function(n){var t=this;if(Ext.isArray(n)){Ext.Array.forEach(n,t.addXTypeToWhitelist,t);return}Ext.Array.contains(t.whitelist,n)||t.whitelist.push(n)},clearComponent:function(n){clearTimeout(this.cmpFocusDelay);n.isDestroyed||n.blur()},disable:function(){var n=this;n.enabled&&(delete n.options,n.enabled=!1,n.removeDOM(),n.keyNav.disable(),n.fireEvent("disable",n))},enable:function(n){var t=this;(n===!0&&(n={focusFrame:!0}),t.options=n=n||{},t.enabled)||(t.enabled=!0,t.initDOM(n),t.keyNav.enable(),t.focusEl.focus(),delete t.focusedCmp,t.fireEvent("enable",t))},focusLast:function(){var n=this;if(n.isWhitelisted(n.focusedCmp))return!0;n.previousFocusedCmp&&n.previousFocusedCmp.focus()},getRootComponents:function(){var r=this,n=Ext.ComponentQuery,i=n.query(":focusable:root:not([floating])"),t=n.query(":focusable:root[floating]");return t.sort(function(n,t){return n.el.getZIndex()>t.el.getZIndex()}),t.concat(i)},initDOM:function(n){var t=this,i=t.focusFrameCls,u=Ext.ComponentQuery.query("{getFocusEl()}:not([focusListenerAdded])"),r=0,f=u.length;if(!Ext.isReady)return Ext.onReady(t.initDOM,t);for(;r<f;r++)u[r].addFocusListener();t.focusEl||(t.focusEl=Ext.getBody(),t.focusEl.dom.tabIndex=-1);!t.focusFrame&&n.focusFrame&&(t.focusFrame=Ext.getBody().createChild({cls:i,children:[{cls:i+"-top"},{cls:i+"-bottom"},{cls:i+"-left"},{cls:i+"-right"}],style:"top: -100px; left: -100px;"}),t.focusFrame.setVisibilityMode(Ext.Element.DISPLAY),t.focusFrame.hide().setLeftTop(0,0))},isWhitelisted:function(n){return n&&Ext.Array.some(this.whitelist,function(t){return n.isXType(t)})},navigateIn:function(n){var i=this,t=i.focusedCmp,r,u;if(i.isWhitelisted(t))return!0;if(t){if(u=t.hasFocus?Ext.ComponentQuery.query(">:focusable",t)[0]:t,u)u.focus();else if(Ext.isFunction(t.onClick)){n.button=0;t.onClick(n);t.isVisible(!0)?t.focus():i.navigateOut()}}else r=i.getRootComponents()[0],r&&(r.getFocusEl()===i.focusEl&&i.focusEl.blur(),r.focus())},navigateOut:function(){var n=this,t;return n.focusedCmp&&(t=n.focusedCmp.up(":focusable"))?t.focus():n.focusEl.focus(),!0},navigateSiblings:function(n,t,i){var s=this,h=t||s,u=n.getKey(),f=Ext.EventObject,l=n.shiftKey||u==f.LEFT||u==f.UP,a=u==f.LEFT||u==f.RIGHT||u==f.UP||u==f.DOWN,v=l?"prev":"next",c,e,r,o;return(r=h.focusedCmp&&h.focusedCmp.comp||h.focusedCmp,!r&&!i)?!0:a&&s.isWhitelisted(r)?!0:(!r||r.is(":root")?o=s.getRootComponents():(i=i||r.up(),i&&(o=i.getRefItems())),o&&(c=r?Ext.Array.indexOf(o,r):-1,e=Ext.ComponentQuery.query(":"+v+"Focus("+c+")",o)[0],e&&r!==e)?(e.focus(),e):void 0)},onComponentBlur:function(n){var t=this;t.focusedCmp===n&&(t.previousFocusedCmp=n,delete t.focusedCmp);t.focusFrame&&t.focusFrame.hide()},onComponentFocus:function(n){var t=this,r=t.focusChain,i;if(!n.isFocusable()){if(t.clearComponent(n),r[n.id])return;i=n.up();i&&(r[n.id]=!0,i.focus());return}t.focusChain={};t.focusTask.delay(10,null,null,[n,n.getFocusEl()])},handleComponentFocus:function(n,t){var i=this,u,r,f,e,o,s,h,c,l,a,v;if(i.fireEvent("beforecomponentfocus",i,n,i.previousFocusedCmp)===!1){i.clearComponent(n);return}i.focusedCmp=n;i.shouldShowFocusFrame(n)&&(u="."+i.focusFrameCls+"-",r=i.focusFrame,f=t.getPageBox(),e=f.top,o=f.left,s=f.width,h=f.height,c=r.child(u+"top"),l=r.child(u+"bottom"),a=r.child(u+"left"),v=r.child(u+"right"),c.setWidth(s).setLeftTop(o,e),l.setWidth(s).setLeftTop(o,e+h-2),a.setHeight(h-2).setLeftTop(o,e+2),v.setHeight(h-2).setLeftTop(o+s-2,e+2),r.show());i.fireEvent("componentfocus",i,n,i.previousFocusedCmp)},onComponentHide:function(n){var t=this,i=!1,u=t.focusedCmp,r;u&&(i=n.hasFocus||n.isContainer&&n.isAncestor(t.focusedCmp));t.clearComponent(n);i&&(r=n.up(":focusable"))?r.focus():t.focusEl.focus()},onComponentDestroy:function(){},removeDOM:function(){var n=this;n.enabled||n.subscribers.length||(Ext.destroy(n.focusFrame),delete n.focusEl,delete n.focusFrame)},removeXTypeFromWhitelist:function(n){var t=this;if(Ext.isArray(n)){Ext.Array.forEach(n,t.removeXTypeFromWhitelist,t);return}Ext.Array.remove(t.whitelist,n)},setupSubscriberKeys:function(n,t){var i=this,u=n.getFocusEl(),f=t.scope,r={backspace:i.focusLast,enter:i.navigateIn,esc:i.navigateOut,scope:i},e=function(t){return i.focusedCmp===n?i.navigateSiblings(t,i,n):i.navigateSiblings(t)};return Ext.iterate(t,function(t,i){r[t]=function(t){var r=e(t);return Ext.isFunction(i)&&i.call(f||n,t,r)===!0?!0:r}},i),new Ext.util.KeyNav(u,r)},shouldShowFocusFrame:function(n){var t=this,i=t.options||{},r=n.getFocusEl(),u=Ext.getDom(r).tagName;return!t.focusFrame||!n?!1:i.focusFrame?!0:t.focusData[n.id].focusFrame?!0:!1}});Ext.define("Ext.Img",{extend:"Ext.Component",alias:["widget.image","widget.imagecomponent"],autoEl:"img",src:"",alt:"",imgCls:"",getElConfig:function(){var n=this,i=n.callParent(),t;return n.autoEl=="img"?t=i:i.cn=[t={tag:"img",id:n.id+"-img"}],n.imgCls&&(t.cls=(t.cls?t.cls+" ":"")+n.imgCls),t.src=n.src||Ext.BLANK_IMAGE_URL,n.alt&&(t.alt=n.alt),i},onRender:function(){var n=this,t;n.callParent(arguments);t=n.el;n.imgEl=n.autoEl=="img"?t:t.getById(n.id+"-img")},onDestroy:function(){Ext.destroy(this.imgEl);this.imgEl=null;this.callParent()},setSrc:function(n){var t=this,i=t.imgEl;t.src=n;i&&(i.dom.src=n||Ext.BLANK_IMAGE_URL)}});Ext.define("Ext.Layer",{extend:"Ext.Element",uses:["Ext.Shadow"],statics:{shims:[]},isLayer:!0,constructor:function(n,t){n=n||{};var i=this,e=Ext.DomHelper,r=n.parentEl,u=r?Ext.getDom(r):document.body,f=n.hideMode;t&&(i.dom=Ext.getDom(t));i.dom?(i.addCls(Ext.baseCSSPrefix+"layer"),i.dom.parentNode||u.appendChild(i.dom)):i.dom=e.append(u,n.dh||{tag:"div",cls:Ext.baseCSSPrefix+"layer"});i.id=n.id?i.dom.id=n.id:Ext.id(i.dom);Ext.Element.addToCache(i);n.cls&&i.addCls(n.cls);i.constrain=n.constrain!==!1;f?(i.setVisibilityMode(Ext.Element[f.toUpperCase()]),i.visibilityMode==Ext.Element.ASCLASS&&(i.visibilityCls=n.visibilityCls)):n.useDisplay?i.setVisibilityMode(Ext.Element.DISPLAY):i.setVisibilityMode(Ext.Element.VISIBILITY);n.shadow?(i.shadowOffset=n.shadowOffset||4,i.shadow=new Ext.Shadow({offset:i.shadowOffset,mode:n.shadow}),i.disableShadow()):i.shadowOffset=0;i.useShim=n.shim!==!1&&Ext.useShims;n.hidden===!0?i.hide():i.show()},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var n=this,t,i;return n.useShim?(n.shim||(t=n.self.shims.shift(),t||(t=n.createShim(),t.enableDisplayMode("block"),t.hide()),i=n.dom.parentNode,t.dom.parentNode!=i&&i.insertBefore(t.dom,n.dom),n.shim=t),n.shim):null},hideShim:function(){var n=this;n.shim&&(n.shim.setDisplayed(!1),n.self.shims.push(n.shim),delete n.shim)},disableShadow:function(){var n=this;n.shadow&&!n.shadowDisabled&&(n.shadowDisabled=!0,n.shadow.hide(),n.lastShadowOffset=n.shadowOffset,n.shadowOffset=0)},enableShadow:function(n){var t=this;t.shadow&&t.shadowDisabled&&(t.shadowDisabled=!1,t.shadowOffset=t.lastShadowOffset,delete t.lastShadowOffset,n&&t.sync(!0))},sync:function(n){var t=this,r=t.shadow,u,f,e,i,o,s,h,c,l;return!t.updating&&t.isVisible()&&(r||t.useShim)&&(i=t.getShim(),o=t.getLocalX(),s=t.getLocalY(),h=t.dom.offsetWidth,c=t.dom.offsetHeight,r&&!t.shadowDisabled?(n&&!r.isVisible()?r.show(t):r.realign(o,s,h,c),i&&(l=i.getStyle("z-index"),l>t.zindex&&t.shim.setStyle("z-index",t.zindex-2),i.show(),r.isVisible()?(u=r.el.getXY(),f=i.dom.style,e=r.el.getSize(),Ext.supports.CSS3BoxShadow&&(e.height+=6,e.width+=4,u[0]-=2,u[1]-=4),f.left=u[0]+"px",f.top=u[1]+"px",f.width=e.width+"px",f.height=e.height+"px"):(i.setSize(h,c),i.setLeftTop(o,s)))):i&&(l=i.getStyle("z-index"),l>t.zindex&&t.shim.setStyle("z-index",t.zindex-2),i.show(),i.setSize(h,c),i.setLeftTop(o,s))),t},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=!0},endUpdate:function(){this.updating=!1;this.sync(!0)},hideUnders:function(){this.shadow&&this.shadow.hide();this.hideShim()},constrainXY:function(){if(this.constrain){var f=Ext.Element.getViewWidth(),e=Ext.Element.getViewHeight(),n=Ext.getDoc().getScroll(),o=this.getXY(),t=o[0],i=o[1],u=this.shadowOffset,s=this.dom.offsetWidth+u,h=this.dom.offsetHeight+u,r=!1;t+s>f+n.left&&(t=f-s-u,r=!0);i+h>e+n.top&&(i=e-h-u,r=!0);t<n.left&&(t=n.left,r=!0);i<n.top&&(i=n.top,r=!0);r&&(Ext.Layer.superclass.setXY.call(this,[t,i]),this.sync())}return this},getConstrainOffset:function(){return this.shadowOffset},setVisible:function(n,t,i,r,u){var f=this,e;return e=function(){n&&f.sync(!0);r&&r()},n||f.hideUnders(!0),f.callParent([n,t,i,r,u]),t||e(),f},beforeFx:function(){return this.beforeAction(),this.callParent(arguments)},afterFx:function(){this.callParent(arguments);this.sync(this.isVisible())},beforeAction:function(){!this.updating&&this.shadow&&this.shadow.hide()},setLeft:function(){return this.callParent(arguments),this.sync()},setTop:function(){return this.callParent(arguments),this.sync()},setLeftTop:function(){return this.callParent(arguments),this.sync()},setXY:function(n,t,i,r,u){var f=this;return r=f.createCB(r),f.fixDisplay(),f.beforeAction(),f.callParent([n,t,i,r,u]),t||r(),f},createCB:function(n){var t=this,i=t.shadow&&t.shadow.isVisible();return function(){t.constrainXY();t.sync(i);n&&n()}},setX:function(n,t,i,r,u){return this.setXY([n,this.getY()],t,i,r,u),this},setY:function(n,t,i,r,u){return this.setXY([this.getX(),n],t,i,r,u),this},setSize:function(n,t,i,r,u,f){var e=this;return u=e.createCB(u),e.beforeAction(),e.callParent([n,t,i,r,u,f]),i||u(),e},setWidth:function(n,t,i,r,u){var f=this;return r=f.createCB(r),f.beforeAction(),f.callParent([n,t,i,r,u]),t||r(),f},setHeight:function(n,t,i,r,u){var f=this;return r=f.createCB(r),f.beforeAction(),f.callParent([n,t,i,r,u]),t||r(),f},setBounds:function(n,t,i,r,u,f,e,o){var s=this;return e=s.createCB(e),s.beforeAction(),u?s.callParent([n,t,i,r,u,f,e,o]):(Ext.Layer.superclass.setXY.call(s,[n,t]),Ext.Layer.superclass.setSize.call(s,i,r),e()),s},setZIndex:function(n){var t=this;return t.zindex=n,t.getShim()&&t.shim.setStyle("z-index",n++),t.shadow&&t.shadow.setZIndex(n++),t.setStyle("z-index",n)},onOpacitySet:function(n){var t=this.shadow;t&&t.setOpacity(n)}});Ext.define("Ext.util.Bindable",{bindStore:function(n,t){var i=this,r=i.store;if(!t&&i.store){i.onUnbindStore(r,t);n!==r&&r.autoDestroy?r.destroyStore():i.unbindStoreListeners(r)}if(n){n=Ext.data.StoreManager.lookup(n);i.bindStoreListeners(n);i.onBindStore(n,t)}return i.store=n||null,i},getStore:function(){return this.store},unbindStoreListeners:function(n){var t=this.storeListeners;t&&n.un(t)},bindStoreListeners:function(n){var i=this,t=Ext.apply({},i.getStoreListeners());t.scope||(t.scope=i);i.storeListeners=t;n.on(t)},getStoreListeners:Ext.emptyFn,onUnbindStore:Ext.emptyFn,onBindStore:Ext.emptyFn});Ext.define("Ext.LoadMask",{extend:"Ext.Component",alias:"widget.loadmask",mixins:{floating:"Ext.util.Floating",bindable:"Ext.util.Bindable"},uses:["Ext.data.StoreManager"],msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",maskCls:Ext.baseCSSPrefix+"mask",useMsg:!0,useTargetEl:!1,baseCls:Ext.baseCSSPrefix+"mask-msg",childEls:["msgEl"],renderTpl:'<div id="{id}-msgEl" style="position:relative" class="{[values.$comp.msgCls]}"><\/div>',floating:{shadow:"frame"},focusOnToFront:!1,bringParentToFront:!1,constructor:function(n,t){var i=this;n.isComponent||(n=Ext.get(n),this.isElement=!0);i.ownerCt=n;this.isElement||i.bindComponent(n);i.callParent([t]);i.store&&i.bindStore(i.store,!0)},bindComponent:function(n){var t=this,i={scope:this,resize:t.sizeMask,added:t.onComponentAdded,removed:t.onComponentRemoved},r=Ext.container.Container.hierarchyEventSource;if(n.floating)i.move=t.sizeMask,t.activeOwner=n;else if(n.ownerCt)t.onComponentAdded(n.ownerCt);else t.preventBringToFront=!0;t.mon(n,i);t.mon(r,{show:t.onContainerShow,hide:t.onContainerHide,expand:t.onContainerExpand,collapse:t.onContainerCollapse,scope:t})},onComponentAdded:function(n){var t=this;delete t.activeOwner;t.floatParent=n;n.floating||(n=n.up("[floating]"));n&&(t.activeOwner=n,t.mon(n,"move",t.sizeMask,t));n=t.floatParent.ownerCt;t.rendered&&t.isVisible()&&n&&(t.floatOwner=n,t.mon(n,"afterlayout",t.sizeMask,t,{single:!0}))},onComponentRemoved:function(){var n=this,t=n.activeOwner,i=n.floatOwner;t&&n.mun(t,"move",n.sizeMask,n);i&&n.mun(i,"afterlayout",n.sizeMask,n);delete n.activeOwner;delete n.floatOwner},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onContainerShow:function(n){this.isActiveContainer(n)&&this.onComponentShow()},onContainerHide:function(n){this.isActiveContainer(n)&&this.onComponentHide()},onContainerExpand:function(n){this.isActiveContainer(n)&&this.onComponentShow()},onContainerCollapse:function(n){this.isActiveContainer(n)&&this.onComponentHide()},isActiveContainer:function(n){return this.isDescendantOf(n)},onComponentHide:function(){var n=this;n.rendered&&n.isVisible()&&(n.hide(),n.showNext=!0)},onComponentShow:function(){this.showNext&&this.show();delete this.showNext},sizeMask:function(){var n=this,t;n.rendered&&n.isVisible()&&(n.center(),t=n.getMaskTarget(),n.getMaskEl().show().setSize(t.getSize()).alignTo(t,"tl-tl"))},bindStore:function(n){var t=this;t.mixins.bindable.bindStore.apply(t,arguments);n=t.store;n&&n.isLoading()&&t.onBeforeLoad()},getStoreListeners:function(){return{beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.onLoad,cachemiss:this.onBeforeLoad,cachefilled:this.onLoad}},onDisable:function(){this.callParent(arguments);this.loading&&this.onLoad()},getOwner:function(){return this.ownerCt||this.floatParent},getMaskTarget:function(){var n=this.getOwner();return this.useTargetEl?n.getTargetEl():n.getEl()},onBeforeLoad:function(){var n=this,t=n.getOwner(),i;n.disabled||(n.loading=!0,t.componentLayoutCounter?n.maybeShow():(i=t.afterComponentLayout,t.afterComponentLayout=function(){t.afterComponentLayout=i;i.apply(t,arguments);n.maybeShow()}))},maybeShow:function(){var n=this,t=n.getOwner();t.isVisible(!0)?n.loading&&t.rendered&&n.show():n.showNext=!0},getMaskEl:function(){var n=this;return n.maskEl||(n.maskEl=n.el.insertSibling({cls:n.maskCls,style:{zIndex:n.el.getStyle("zIndex")-2}},"before"))},onShow:function(){var n=this,t=n.msgEl;n.callParent(arguments);n.loading=!0;n.useMsg?t.show().update(n.msg):t.parent().hide()},hide:function(){if(this.isElement){this.ownerCt.unmask();this.fireEvent("hide",this);return}return delete this.showNext,this.callParent(arguments)},onHide:function(){this.callParent();this.getMaskEl().hide()},show:function(){if(this.isElement){this.ownerCt.mask(this.useMsg?this.msg:"",this.msgCls);this.fireEvent("show",this);return}return this.callParent(arguments)},afterShow:function(){this.callParent(arguments);this.sizeMask()},setZIndex:function(n){var t=this,i=t.activeOwner;return i&&(n=parseInt(i.el.getStyle("zIndex"),10)+1),t.getMaskEl().setStyle("zIndex",n-1),t.mixins.floating.setZIndex.apply(t,arguments)},onLoad:function(){this.loading=!1;this.hide()},onDestroy:function(){var n=this;n.isElement&&n.ownerCt.unmask();Ext.destroy(n.maskEl);n.callParent()}});Ext.define("Ext.data.association.Association",{alternateClassName:"Ext.data.Association",primaryKey:"id",defaultReaderType:"json",isAssociation:!0,initialConfig:null,statics:{AUTO_ID:1e3,create:function(n){Ext.isString(n)&&(n={type:n});switch(n.type){case"belongsTo":return new Ext.data.association.BelongsTo(n);case"hasMany":return new Ext.data.association.HasMany(n);case"hasOne":return new Ext.data.association.HasOne(n)}return n}},constructor:function(n){Ext.apply(this,n);var t=this,i=Ext.ModelManager.types,r=n.ownerModel,u=n.associatedModel,f=i[r],e=i[u];t.initialConfig=n;t.ownerModel=f;t.associatedModel=e;Ext.applyIf(t,{ownerName:r,associatedName:u});t.associationId="association"+ ++t.statics().AUTO_ID},getReader:function(){var t=this,n=t.reader,i=t.associatedModel;return n&&(Ext.isString(n)&&(n={type:n}),n.isReader?n.setModel(i):Ext.applyIf(n,{model:i,type:t.defaultReaderType}),t.reader=Ext.createByAlias("reader."+n.type,n)),t.reader||null}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.association.Association"],singleton:!0,typeName:"mtype",associationStack:[],registerType:function(n,t){var r=t.prototype,i;return r&&r.isModel?i=t:(t.extend||(t.extend="Ext.data.Model"),i=Ext.define(n,t)),this.types[n]=i,i},onModelDefined:function(n){for(var r=this.associationStack,u=r.length,f=[],e,i,t=0;t<u;t++)e=r[t],e.associatedModel==n.modelName&&f.push(e);for(t=0,u=f.length;t<u;t++)i=f[t],this.types[i.ownerModel].prototype.associations.add(Ext.data.association.Association.create(i)),Ext.Array.remove(r,i)},registerDeferredAssociation:function(n){this.associationStack.push(n)},getModel:function(n){var t=n;return typeof t=="string"&&(t=this.types[t]),t},create:function(n,t,i){var r=typeof t=="function"?t:this.types[t||n.name];return new r(n,i)}},function(){Ext.regModel=function(){return this.ModelManager.registerType.apply(this.ModelManager,arguments)}});Ext.define("Ext.PluginManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.PluginMgr",singleton:!0,typeName:"ptype",create:function(n,t){return n.init?n:Ext.createByAlias("plugin."+(n.ptype||t),n)},findByType:function(n,t){var f=[],r=this.types,u,i;for(u in r)r.hasOwnProperty(u)&&(i=r[u],i.type==n&&(!t||t===!0&&i.isDefault)&&f.push(i));return f}},function(){Ext.preg=function(){return Ext.PluginManager.registerType.apply(Ext.PluginManager,arguments)}});Ext.define("Ext.layout.component.ProgressBar",{alias:["layout.progressbar"],extend:"Ext.layout.component.Auto",type:"progressbar",beginLayout:function(n){var r=this,i,t;if(r.callParent(arguments),!n.textEls)if(t=r.owner.textEl,t.isComposite)for(n.textEls=[],t=t.elements,i=t.length;i--;)n.textEls[i]=n.getEl(Ext.get(t[i]));else n.textEls=[n.getEl("textEl")]},calculate:function(n){var u=this,t,i,r;if(u.callParent(arguments),Ext.isNumber(r=n.getProp("width")))for(r-=n.getBorderInfo().width,i=n.textEls,t=i.length;t--;)i[t].setWidth(r);else u.done=!1}});Ext.define("Ext.dom.CompositeElement",{alternateClassName:"Ext.CompositeElement",extend:"Ext.dom.CompositeElementLite",getElement:function(n){return n},transformElement:function(n){return Ext.get(n)}},function(){Ext.dom.Element.select=function(n,t,i){var r;return typeof n=="string"?r=Ext.dom.Element.selectorFunction(n,i):n.length!==undefined&&(r=n),t===!0?new Ext.CompositeElement(r):new Ext.CompositeElementLite(r)}});Ext.select=Ext.Element.select;Ext.define("Ext.ProgressBar",{extend:"Ext.Component",alias:"widget.progressbar",requires:["Ext.Template","Ext.CompositeElement","Ext.TaskManager","Ext.layout.component.ProgressBar"],uses:["Ext.fx.Anim"],baseCls:Ext.baseCSSPrefix+"progress",animate:!1,text:"",waitTimer:null,childEls:["bar"],renderTpl:['<tpl if="internalText">','<div class="{baseCls}-text {baseCls}-text-back">{text}<\/div>',"<\/tpl>",'<div id="{id}-bar" class="{baseCls}-bar" style="width:{percentage}%">','<tpl if="internalText">','<div class="{baseCls}-text">',"<div>{text}<\/div>","<\/div>","<\/tpl>","<\/div>"],componentLayout:"progressbar",initComponent:function(){this.callParent();this.addEvents("update")},initRenderData:function(){var n=this;return Ext.apply(n.callParent(),{internalText:!n.hasOwnProperty("textEl"),text:n.text||"&#160;",percentage:n.value?n.value*100:0})},onRender:function(){var n=this;n.callParent(arguments);n.textEl?(n.textEl=Ext.get(n.textEl),n.updateText(n.text)):n.textEl=n.el.select("."+n.baseCls+"-text")},updateProgress:function(n,t,i){var r=this,u=r.value;return r.value=n||0,t&&r.updateText(t),r.rendered&&!r.isDestroyed&&(i===!0||i!==!1&&r.animate?(r.bar.stopAnimation(),r.bar.animate(Ext.apply({from:{width:u*100+"%"},to:{width:r.value*100+"%"}},r.animate))):r.bar.setStyle("width",r.value*100+"%")),r.fireEvent("update",r,r.value,t),r},updateText:function(n){var t=this;return t.text=n,t.rendered&&t.textEl.update(t.text),t},applyText:function(n){this.updateText(n)},getText:function(){return this.text},wait:function(n){var t=this,i;return t.waitTimer||(i=t,n=n||{},t.updateText(n.text),t.waitTimer=Ext.TaskManager.start({run:function(i){var r=n.increment||10;i-=1;t.updateProgress(((i+r)%r+1)*(100/r)*.01,null,n.animate)},interval:n.interval||1e3,duration:n.duration,onStop:function(){n.fn&&n.fn.apply(n.scope||t);t.reset()},scope:i})),t},isWaiting:function(){return this.waitTimer!==null},reset:function(n){var t=this;return t.updateProgress(0),t.clearTimer(),n===!0&&t.hide(),t},clearTimer:function(){var n=this;n.waitTimer&&(n.waitTimer.onStop=null,Ext.TaskManager.stop(n.waitTimer),n.waitTimer=null)},onDestroy:function(){var n=this;n.clearTimer();n.rendered&&(n.textEl.isComposite&&n.textEl.clear(),Ext.destroyMembers(n,"textEl","progressBar"));n.callParent()}});Ext.define("Ext.ShadowPool",{singleton:!0,requires:["Ext.DomHelper"],markup:function(){return Ext.String.format('<div class="{0}{1}-shadow" role="presentation"><\/div>',Ext.baseCSSPrefix,Ext.isIE&&!Ext.supports.CSS3BoxShadow?"ie":"css")}(),shadows:[],pull:function(){var n=this.shadows.shift();return n||(n=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup)),n.autoBoxAdjust=!1),n},push:function(n){this.shadows.push(n)},reset:function(){for(var t=[].concat(this.shadows),i=t.length,n=0;n<i;n++)t[n].remove();this.shadows=[]}});Ext.define("Ext.Shadow",{requires:["Ext.ShadowPool"],constructor:function(n){var r=this,u,t,i;Ext.apply(r,n);Ext.isString(r.mode)||(r.mode=r.defaultMode);t=r.offset;i=Math.floor(t/2);r.opacity=50;switch(r.mode.toLowerCase()){case"drop":u=Ext.supports.CSS3BoxShadow?{t:t,l:t,h:-t,w:-t}:{t:-i,l:-i,h:-i,w:-i};break;case"sides":u=Ext.supports.CSS3BoxShadow?{t:t,l:0,h:-t,w:0}:{t:-(1+i),l:1+i-2*t,h:-1,w:i-1};break;case"frame":u=Ext.supports.CSS3BoxShadow?{t:0,l:0,h:0,w:0}:{t:1+i-2*t,l:1+i-2*t,h:t-i-1,w:t-i-1}}r.adjusts=u},getShadowSize:function(){var n=this,t=n.el?n.offset:0,i=[t,t,t,t],r=n.mode.toLowerCase();return n.el&&r!=="frame"&&(i[0]=0,r=="drop"&&(i[3]=0)),i},offset:4,defaultMode:"drop",boxShadowProperty:function(){var n="boxShadow",t=document.documentElement.style;return"boxShadow"in t||("WebkitBoxShadow"in t?n="WebkitBoxShadow":"MozBoxShadow"in t&&(n="MozBoxShadow")),n}(),show:function(n){var t=this,i;n=Ext.get(n);t.el||(t.el=Ext.ShadowPool.pull(),t.el.dom.nextSibling!=n.dom&&t.el.insertBefore(n));i=parseInt(n.getStyle("z-index"),10)-1||0;t.el.setStyle("z-index",t.zIndex||i);Ext.isIE&&!Ext.supports.CSS3BoxShadow&&(t.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+t.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+t.offset+")");t.realign(n.getLocalX(),n.getLocalY(),n.dom.offsetWidth,n.dom.offsetHeight);t.el.dom.style.display="block"},isVisible:function(){return this.el?!0:!1},realign:function(n,t,i,r){if(this.el){var f=this.adjusts,c=this.el.dom,u=c.style,s,h,e,o;u.left=n+f.l+"px";u.top=t+f.t+"px";s=Math.max(i+f.w,0);h=Math.max(r+f.h,0);e=s+"px";o=h+"px";(u.width!=e||u.height!=o)&&(u.width=e,u.height=o,Ext.supports.CSS3BoxShadow&&(u[this.boxShadowProperty]="0 0 "+this.offset+"px #888"))}},hide:function(){var n=this;n.el&&(n.el.dom.style.display="none",Ext.ShadowPool.push(n.el),delete n.el)},setZIndex:function(n){this.zIndex=n;this.el&&this.el.setStyle("z-index",n)},setOpacity:function(n){this.el&&(Ext.isIE&&!Ext.supports.CSS3BoxShadow&&(n=Math.floor(n*50)/100),this.opacity=n,this.el.setOpacity(n))}});Ext.define("Ext.app.Controller",{mixins:{observable:"Ext.util.Observable"},onClassExtended:function(n,t,i){var f=Ext.getClassName(n),e=f.match(/^(.*)\.controller\./),o,s,r,u,h;e!==null&&(o=Ext.Loader.getPrefix(f)||e[1],s=i.onBeforeCreated,r=[],u=["model","view","store"],i.onBeforeCreated=function(n,t){for(var c,l,e,v,i,f=0,a=u.length;f<a;f++)for(c=u[f],h=o+"."+c+".",l=Ext.Array.from(t[c+"s"]),e=0,v=l.length;e<v;e++)i=l[e],i.indexOf(".")!==-1&&(Ext.ClassManager.isCreated(i)||Ext.Loader.isAClassNameWithAKnownPrefix(i))?r.push(i):r.push(h+i);Ext.require(r,Ext.Function.pass(s,arguments,this))})},constructor:function(n){this.mixins.observable.constructor.call(this,n);Ext.apply(this,n||{});this.createGetters("model",this.models);this.createGetters("store",this.stores);this.createGetters("view",this.views);this.refs&&this.ref(this.refs)},init:Ext.emptyFn,onLaunch:Ext.emptyFn,createGetters:function(n,t){n=Ext.String.capitalize(n);for(var f=0,s=t?t.length:0,i,r,e,u,o;f<s;f++){for(i="get",r=t[f],e=r.split("."),o=e.length,u=0;u<o;u++)i+=Ext.String.capitalize(e[u]);i+=n;this[i]||(this[i]=Ext.Function.pass(this["get"+n],[r],this));this[i](r)}},ref:function(n){n=Ext.Array.from(n);var t=this,r=0,e=n.length,u,i,f;for(t.references=t.references||[];r<e;r++)u=n[r],i=u.ref,f="get"+Ext.String.capitalize(i),t[f]||(t[f]=Ext.Function.pass(t.getRef,[i,u],t)),t.references.push(i.toLowerCase())},addRef:function(n){return this.ref([n])},getRef:function(n,t,i){if(this.refCache=this.refCache||{},t=t||{},i=i||{},Ext.apply(t,i),t.forceCreate)return Ext.ComponentManager.create(t,"component");var u=this,r=u.refCache[n];if(!r&&(u.refCache[n]=r=Ext.ComponentQuery.query(t.selector)[0],!r&&t.autoCreate&&(u.refCache[n]=r=Ext.ComponentManager.create(t,"component")),r))r.on("beforedestroy",function(){u.refCache[n]=null});return r},hasRef:function(n){return this.references&&this.references.indexOf(n.toLowerCase())!==-1},control:function(n,t){this.application.control(n,t,this)},getController:function(n){return this.application.getController(n)},getStore:function(n){return this.application.getStore(n)},getModel:function(n){return this.application.getModel(n)},getView:function(n){return this.application.getView(n)}});Ext.define("Ext.data.IdGenerator",{isGenerator:!0,constructor:function(n){var t=this;Ext.apply(t,n);t.id&&(Ext.data.IdGenerator.all[t.id]=t)},getRecId:function(n){return n.modelName+"-"+n.internalId},statics:{all:{},get:function(n){var t,i,r;if(typeof n=="string")i=r=n,n=null;else{if(n.isGenerator)return n;i=n.id||n.type;r=n.type}return t=this.all[i],t||(t=Ext.create("idgen."+r,n)),t}}});Ext.define("Ext.data.SortTypes",{singleton:!0,none:function(n){return n},stripTagsRE:/<\/?[^>]+>/gi,asText:function(n){return String(n).replace(this.stripTagsRE,"")},asUCText:function(n){return String(n).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(n){return String(n).toUpperCase()},asDate:function(n){return n?Ext.isDate(n)?n.getTime():Date.parse(String(n)):0},asFloat:function(n){var t=parseFloat(String(n).replace(/,/g,""));return isNaN(t)?0:t},asInt:function(n){var t=parseInt(String(n).replace(/,/g,""),10);return isNaN(t)?0:t}});Ext.define("Ext.data.Types",{singleton:!0,requires:["Ext.data.SortTypes"]},function(){var n=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{sortType:n.none,type:"auto"},STRING:{convert:function(n){var t=this.useNull?null:"";return n===undefined||n===null?t:String(n)},sortType:n.asUCString,type:"string"},INT:{convert:function(n){return n!==undefined&&n!==null&&n!==""?parseInt(String(n).replace(Ext.data.Types.stripRe,""),10):this.useNull?null:0},sortType:n.none,type:"int"},FLOAT:{convert:function(n){return n!==undefined&&n!==null&&n!==""?parseFloat(String(n).replace(Ext.data.Types.stripRe,""),10):this.useNull?null:0},sortType:n.none,type:"float"},BOOL:{convert:function(n){return this.useNull&&(n===undefined||n===null||n==="")?null:n===!0||n==="true"||n==1},sortType:n.none,type:"bool"},DATE:{convert:function(n){var t=this.dateFormat,i;return n?Ext.isDate(n)?n:t?t=="timestamp"?new Date(n*1e3):t=="time"?new Date(parseInt(n,10)):Ext.Date.parse(n,t):(i=Date.parse(n),i?new Date(i):null):null},sortType:n.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",isField:!0,constructor:function(n){var t=this,r=Ext.data.Types,i;Ext.isString(n)&&(n={name:n});Ext.apply(t,n);i=t.sortType;t.type?Ext.isString(t.type)&&(t.type=r[t.type.toUpperCase()]||r.AUTO):t.type=r.AUTO;Ext.isString(i)?t.sortType=Ext.data.SortTypes[i]:Ext.isEmpty(i)&&(t.sortType=t.type.sortType);n.hasOwnProperty("convert")?t.convert||!t.type.convert||n.hasOwnProperty("defaultValue")||(t.defaultValue=t.type.convert(t.defaultValue)):t.convert=t.type.convert;n.convert&&(t.hasCustomConvert=!0)},dateFormat:null,useNull:!1,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:!0,persist:!0});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(n){for(var r=[],i,t=0;t<this.length;t++)i=this.items[t],i.field==n&&r.push(i);return r}});Ext.define("Ext.data.Operation",{synchronous:!0,action:undefined,filters:undefined,sorters:undefined,groupers:undefined,start:undefined,limit:undefined,batch:undefined,callback:undefined,scope:undefined,started:!1,running:!1,complete:!1,success:undefined,exception:!1,error:undefined,actionCommitRecordsRe:/^(?:create|update)$/i,actionSkipSyncRe:/^destroy$/i,constructor:function(n){Ext.apply(this,n||{})},commitRecords:function(n){var i=this,o,r,t,f,u,e,s;if(!i.actionSkipSyncRe.test(i.action)&&(t=i.records,t&&t.length)){if(t.length>1)if(i.action=="update"||t[0].clientIdProperty)for(o=new Ext.util.MixedCollection,o.addAll(n),r=t.length;r--;)u=t[r],f=o.findBy(i.matchClientRec,u),u.copyFrom(f);else for(e=0,s=t.length;e<s;++e)u=t[e],f=n[e],u&&f&&i.updateRecord(u,f);else this.updateRecord(t[0],n[0]);if(i.actionCommitRecordsRe.test(i.action))for(r=t.length;r--;)t[r].commit()}},updateRecord:function(n,t){t&&(n.phantom||n.getId()===t.getId())&&n.copyFrom(t)},matchClientRec:function(n){var t=this,i=t.getId();return i&&n.getId()===i?!0:n.internalId===t.internalId},setStarted:function(){this.started=!0;this.running=!0},setCompleted:function(){this.complete=!0;this.running=!1},setSuccessful:function(){this.success=!0},setException:function(n){this.exception=!0;this.success=!1;this.running=!1;this.error=n},hasException:function(){return this.exception===!0},getError:function(){return this.error},getRecords:function(){var n=this.getResultSet();return this.records||(n?n.records:null)},getResultSet:function(){return this.resultSet},isStarted:function(){return this.started===!0},isRunning:function(){return this.running===!0},isComplete:function(){return this.complete===!0},wasSuccessful:function(){return this.isComplete()&&this.success===!0},setBatch:function(n){this.batch=n},allowWrite:function(){return this.action!="read"}});Ext.define("Ext.data.validations",{singleton:!0,presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address",emailRe:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,presence:function(n,t){return arguments.length===1&&(t=n),!!t||t===0},length:function(n,t){if(t===undefined||t===null)return!1;var i=t.length,r=n.min,u=n.max;return r&&i<r||u&&i>u?!1:!0},email:function(n,t){return Ext.data.validations.emailRe.test(t)},format:function(n,t){return!!(n.matcher&&n.matcher.test(t))},inclusion:function(n,t){return n.list&&Ext.Array.indexOf(n.list,t)!=-1},exclusion:function(n,t){return n.list&&Ext.Array.indexOf(n.list,t)==-1}});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.IdGenerator","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.util.MixedCollection"],compareConvertFields:function(n,t){var i=n.convert&&n.type&&n.convert!==n.type.convert,r=t.convert&&t.type&&t.convert!==t.type.convert;return i&&!r?1:!i&&r?-1:0},itemNameFn:function(n){return n.name},onClassExtended:function(n,t,i){var r=i.onBeforeCreated;i.onBeforeCreated=function(n,t){var ft=this,c=Ext.getClassName(n),l=n.prototype,p=n.prototype.superclass,w=t.validations||[],a=t.fields||[],v,o=t.associations||[],b=function(n,t){var r=0,u,i;if(n)for(n=Ext.Array.from(n),u=n.length;r<u;++r)i=n[r],Ext.isObject(i)||(i={model:i}),i.type=t,o.push(i)},g=t.idgen,e=new Ext.util.MixedCollection(!1,l.itemNameFn),nt=new Ext.util.MixedCollection(!1,l.itemNameFn),tt=p.validations,it=p.fields,rt=p.associations,f,u,s,k=[],y=t.idProperty||n.prototype.idProperty,ut=function(n,t,i){var r,u;e.events.add.firing?(u=n,r=t):(r=i,u=t.originalIndex);r.originalIndex=u;(r.mapping===y||r.mapping==null&&r.name===y)&&(r.defaultValue=undefined)},h=t.proxy||n.prototype.proxy||n.prototype.defaultProxyType,d=function(){e.sortBy(l.compareConvertFields)};n.modelName=c;l.modelName=c;tt&&(w=tt.concat(w));t.validations=w;it&&(a=it.items.concat(a));e.on({add:ut,replace:ut});for(u=0,s=a.length;u<s;++u)v=a[u],e.add(v.isField?v:new Ext.data.Field(v));e.get(y)||e.add(new Ext.data.Field(y));d();e.on({add:d,replace:d});for(t.fields=e,g&&(t.idgen=Ext.data.IdGenerator.get(g)),b(t.belongsTo,"belongsTo"),delete t.belongsTo,b(t.hasMany,"hasMany"),delete t.hasMany,b(t.hasOne,"hasOne"),delete t.hasOne,rt&&(o=rt.items.concat(o)),u=0,s=o.length;u<s;++u)k.push("association."+o[u].type.toLowerCase());h&&!h.isProxy&&k.push("proxy."+(typeof h=="string"?h:h.type));Ext.require(k,function(){for(Ext.ModelManager.registerType(c,n),u=0,s=o.length;u<s;++u)f=o[u],f.isAssociation?f=Ext.applyIf({ownerModel:c,associatedModel:f.model},f.initialConfig):Ext.apply(f,{ownerModel:c,associatedModel:f.model}),Ext.ModelManager.getModel(f.model)===undefined?Ext.ModelManager.registerDeferredAssociation(f):nt.add(Ext.data.association.Association.create(f));t.associations=nt;r.call(ft,n,t,i);n.setProxy(h);Ext.ModelManager.onModelDefined(n)})}},inheritableStatics:{setProxy:function(n){return n.isProxy||(typeof n=="string"&&(n={type:n}),n=Ext.createByAlias("proxy."+n.type,n)),n.setModel(this),this.proxy=this.prototype.proxy=n,n},getProxy:function(){return this.proxy},setFields:function(n,t,i){var f=this,u=f.prototype,r=u.fields,o=n?n.length:0,e=0;for(t&&(u.idProperty=t),i&&(u.clientIdProperty=i),r?r.clear():r=f.prototype.fields=new Ext.util.MixedCollection(!1,function(n){return n.name});e<o;e++)r.add(new Ext.data.Field(n[e]));return r.get(u.idProperty)||r.add(new Ext.data.Field(u.idProperty)),f.fields=r,r},getFields:function(){return this.prototype.fields.items},load:function(n,t){t=Ext.apply({},t);t=Ext.applyIf(t,{action:"read",id:n});var f=new Ext.data.Operation(t),r=t.scope||this,i=null,u;u=function(n){n.wasSuccessful()?(i=n.getRecords()[0],Ext.callback(t.success,r,[i,n])):Ext.callback(t.failure,r,[i,n]);Ext.callback(t.callback,r,[i,n])};this.proxy.read(f,u,this)}},statics:{PREFIX:"ext-record",AUTO_ID:1,EDIT:"edit",REJECT:"reject",COMMIT:"commit",id:function(n){var t=[this.PREFIX,"-",this.AUTO_ID++].join("");return n.phantom=!0,n.internalId=t,t}},idgen:{isGenerator:!0,type:"default",generate:function(){return null},getRecId:function(n){return n.modelName+"-"+n.internalId}},editing:!1,dirty:!1,persistenceProperty:"data",evented:!1,isModel:!0,phantom:!1,idProperty:"id",clientIdProperty:null,defaultProxyType:"ajax",constructor:function(n,t,i,r){n=n||{};var u=this,h,c,e,s,f,l,a,o;if(u.internalId=t||t===0?t:Ext.data.Model.id(u),u.raw=i||n,u.data||(u.data={}),u.modified={},u.persistanceProperty&&(u.persistenceProperty=u.persistanceProperty),u[u.persistenceProperty]=r||{},u.mixins.observable.constructor.call(u),!r)if(h=u.fields.items,c=h.length,o=0,a=u[u.persistenceProperty],Ext.isArray(n))for(;o<c;o++)e=h[o],s=e.name,f=n[e.originalIndex],f===undefined&&(f=e.defaultValue),e.convert&&(f=e.convert(f,u)),f!==undefined&&(a[s]=f);else for(;o<c;o++)e=h[o],s=e.name,f=n[s],f===undefined&&(f=e.defaultValue),e.convert&&(f=e.convert(f,u)),f!==undefined&&(a[s]=f);u.stores=[];u.getId()?u.phantom=!1:u.phantom&&(l=u.idgen.generate(),l!==null&&u.setId(l));u.dirty=!1;u.modified={};typeof u.init=="function"&&u.init();u.id=u.idgen.getRecId(u)},get:function(n){return this[this.persistenceProperty][n]},_singleProp:{},set:function(n,t){var i=this,c=i[i.persistenceProperty],l=i.fields,e=i.modified,a=typeof n=="string",h,o,v,y,s,r,p,w,u,f;a?(f=i._singleProp,f[n]=t):f=n;for(r in f)if(f.hasOwnProperty(r)){if(u=f[r],l&&(o=l.get(r))&&o.convert&&(u=o.convert(u,i)),h=c[r],i.isEqual(h,u))continue;if(c[r]=u,(s||(s=[])).push(r),o&&o.persist)if(e.hasOwnProperty(r)){if(i.isEqual(e[r],u)){delete e[r];i.dirty=!1;for(y in e)if(e.hasOwnProperty(y)){i.dirty=!0;break}}}else i.dirty=!0,e[r]=h;r==i.idProperty&&(v=!0,p=h,w=u)}return a&&delete f[n],v&&i.fireEvent("idchanged",i,p,w),!i.editing&&s&&i.afterEdit(s),s||null},copyFrom:function(n){if(n){for(var t=this,f=t.fields.items,e=f.length,i,r=0,o=t[t.persistenceProperty],s=n[n.persistenceProperty],u;r<e;r++)i=f[r],u=s[i.name],u!==undefined&&(o[i.name]=u);t.phantom&&!n.phantom&&t.setId(n.getId())}},isEqual:function(n,t){return Ext.isDate(n)&&Ext.isDate(t)?Ext.Date.isEqual(n,t):n===t},beginEdit:function(){var n=this;n.editing||(n.editing=!0,n.dirtySave=n.dirty,n.dataSave=Ext.apply({},n[n.persistenceProperty]),n.modifiedSave=Ext.apply({},n.modified))},cancelEdit:function(){var n=this;n.editing&&(n.editing=!1,n.modified=n.modifiedSave,n[n.persistenceProperty]=n.dataSave,n.dirty=n.dirtySave,delete n.modifiedSave,delete n.dataSave,delete n.dirtySave)},endEdit:function(n,t){var i=this,r;i.editing&&(i.editing=!1,t||(t=i.getModifiedFieldNames()),r=i.dirty||t.length>0,delete i.modifiedSave,delete i.dataSave,delete i.dirtySave,r&&n!==!0&&i.afterEdit(t))},getModifiedFieldNames:function(){var n=this,u=n.dataSave,i=n[n.persistenceProperty],r=[];for(var t in i)i.hasOwnProperty(t)&&(n.isEqual(i[t],u[t])||r.push(t));return r},getChanges:function(){var t=this.modified,i={};for(var n in t)t.hasOwnProperty(n)&&(i[n]=this.get(n));return i},isModified:function(n){return this.modified.hasOwnProperty(n)},setDirty:function(){var n=this,u=n.fields.items,f=u.length,i,r,t;for(n.dirty=!0,t=0;t<f;t++)i=u[t],i.persist&&(r=i.name,n.modified[r]=n.get(r))},reject:function(n){var t=this,i=t.modified;for(var r in i)i.hasOwnProperty(r)&&typeof i[r]!="function"&&(t[t.persistenceProperty][r]=i[r]);t.dirty=!1;t.editing=!1;t.modified={};n!==!0&&t.afterReject()},commit:function(n){var t=this;t.phantom=t.dirty=t.editing=!1;t.modified={};n!==!0&&t.afterCommit()},copy:function(n){var t=this;return new t.self(t.raw,n,null,Ext.apply({},t[t.persistenceProperty]))},setProxy:function(n){return n.isProxy||(typeof n=="string"&&(n={type:n}),n=Ext.createByAlias("proxy."+n.type,n)),n.setModel(this.self),this.proxy=n,n},getProxy:function(){return this.proxy},validate:function(){var f=new Ext.data.Errors,i=this.validations,e=Ext.data.validations,o,n,r,s,u,t;if(i)for(o=i.length,t=0;t<o;t++)n=i[t],r=n.field||n.name,u=n.type,s=e[u](n,this.get(r)),s||f.add({field:r,message:n.message||e[u+"Message"]});return f},isValid:function(){return this.validate().isValid()},save:function(n){n=Ext.apply({},n);var t=this,e=t.phantom?"create":"update",u=n.scope||t,o=t.stores,f=0,s,i,r,h,c;return Ext.apply(n,{records:[t],action:e}),h=new Ext.data.Operation(n),c=function(e){if(r=[t,e],e.wasSuccessful()){for(s=o.length;f<s;f++)i=o[f],i.fireEvent("write",i,e),i.fireEvent("datachanged",i);Ext.callback(n.success,u,r)}else Ext.callback(n.failure,u,r);Ext.callback(n.callback,u,r)},t.getProxy()[e](h,c,t),t},destroy:function(n){n=Ext.apply({},n);var t=this,u=n.scope||t,e=t.stores,f=0,o,i,r,s,h;return Ext.apply(n,{records:[t],action:"destroy"}),s=new Ext.data.Operation(n),h=function(s){if(r=[t,s],s.wasSuccessful()){for(o=e.length;f<o;f++)i=e[f],i.fireEvent("write",i,s),i.fireEvent("datachanged",i);t.clearListeners();Ext.callback(n.success,u,r)}else Ext.callback(n.failure,u,r);Ext.callback(n.callback,u,r)},t.getProxy().destroy(s,h,t),t},getId:function(){return this.get(this.idProperty)},getObservableId:function(){return this.id},setId:function(n){this.set(this.idProperty,n);this.phantom=!(n||n===0)},join:function(n){Ext.Array.include(this.stores,n);this.store=this.stores[0]},unjoin:function(n){Ext.Array.remove(this.stores,n);this.store=this.stores[0]||null},afterEdit:function(n){this.callStore("afterEdit",n)},afterReject:function(){this.callStore("afterReject")},afterCommit:function(){this.callStore("afterCommit")},callStore:function(n){var r=Ext.Array.clone(arguments),f=this.stores,u=0,e=f.length,t,i;for(r[0]=this;u<e;++u)t=f[u],t&&typeof t[n]=="function"&&t[n].apply(t,r),i=t.treeStore,i&&typeof i[n]=="function"&&i[n].apply(i,r)},getData:function(n){for(var i=this,f=i.fields.items,e=f.length,r={},u,t=0;t<e;t++)u=f[t].name,r[u]=i.get(u);return n===!0&&Ext.apply(r,i.getAssociatedData()),r},getAssociatedData:function(){return this.prepareAssociatedData({},1)},prepareAssociatedData:function(n,t){for(var a=this,nt=a.associations.items,tt=nt.length,o={},s=[],v=[],y=[],h,p,r,w,b,k,d,g,c,u,f,l,e,i=0;i<tt;i++)if(u=nt[i],g=u.associationId,d=n[g],!d||d===t)if(n[g]=t,l=u.type,e=u.name,l=="hasMany"){if(h=a[u.storeName],o[e]=[],h&&h.getCount()>0)for(p=h.data.items,c=p.length,f=0;f<c;f++)r=p[f],o[e][f]=r.getData(),s.push(r),v.push(e),y.push(f)}else(l=="belongsTo"||l=="hasOne")&&(r=a[u.instanceName],r!==undefined&&(o[e]=r.getData(),s.push(r),v.push(e),y.push(-1)));for(i=0,c=s.length;i<c;++i)r=s[i],w=o[v[i]],b=y[i],k=r.prepareAssociatedData(n,t+1),b===-1?Ext.apply(w,k):Ext.apply(w[b],k);return o}});Ext.define("Ext.data.StoreManager",{extend:"Ext.util.MixedCollection",alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:!0,uses:["Ext.data.ArrayStore"],register:function(){for(var n=0,t;t=arguments[n];n++)this.add(t)},unregister:function(){for(var n=0,t;t=arguments[n];n++)this.remove(this.lookup(t))},lookup:function(n){if(Ext.isArray(n)){var u=["field1"],f=!Ext.isArray(n[0]),r=n,t,i;if(f)for(r=[],t=0,i=n.length;t<i;++t)r.push([n[t]]);else for(t=2,i=n[0].length;t<=i;++t)u.push("field"+t);return new Ext.data.ArrayStore({data:r,fields:u,autoDestroy:!0,autoCreated:!0,expanded:f})}return Ext.isString(n)?this.get(n):Ext.data.AbstractStore.create(n)},getKey:function(n){return n.storeId}},function(){Ext.regStore=function(n,t){var i;return Ext.isObject(n)?t=n:t.storeId=n,i=t instanceof Ext.data.Store?t:new Ext.data.Store(t),Ext.data.StoreManager.register(i)};Ext.getStore=function(n){return Ext.data.StoreManager.lookup(n)}});Ext.define("Ext.layout.component.Dock",{extend:"Ext.layout.component.Component",alias:"layout.dock",alternateClassName:"Ext.layout.component.AbstractDock",type:"dock",initializedBorders:-1,horizontalCollapsePolicy:{width:!0,x:!0},verticalCollapsePolicy:{height:!0,y:!0},finishRender:function(){var n=this,t,i;n.callParent();t=n.getRenderTarget();i=n.getDockedItems();n.finishRenderItems(t,i)},isItemBoxParent:function(){return!0},isItemShrinkWrap:function(){return!0},dockOpposites:{top:"bottom",right:"left",bottom:"top",left:"right"},handleItemBorders:function(){var u=this,i=u.owner,n,c,o=u.borders,h=u.dockOpposites,a=i.dockedItems.generation,r,s,f,e,t,l,v=u.collapsed;if(u.initializedBorders!=a&&(!i.border||i.manageBodyBorders)){for(u.initializedBorders=a,u.collapsed=!1,c=u.getLayoutItems(),u.collapsed=v,n={top:[],right:[],bottom:[],left:[]},r=0,s=c.length;r<s;r++)(f=c[r],e=f.dock,f.ignoreBorderManagement)||(n[e].satisfied||(n[e].push(f),n[e].satisfied=!0),n.top.satisfied||h[e]==="top"||n.top.push(f),n.right.satisfied||h[e]==="right"||n.right.push(f),n.bottom.satisfied||h[e]==="bottom"||n.bottom.push(f),n.left.satisfied||h[e]==="left"||n.left.push(f));if(o)for(t in o)if(o.hasOwnProperty(t))if(s=o[t].length,i.manageBodyBorders)o[t].satisfied&&i.setBodyStyle("border-"+t+"-width","");else{for(r=0;r<s;r++)l=o[t][r],l.isDestroyed||l.removeCls(Ext.baseCSSPrefix+"docked-noborder-"+t);o[t].satisfied||i.bodyBorder||i.removeBodyCls(Ext.baseCSSPrefix+"docked-noborder-"+t)}for(t in n)if(n.hasOwnProperty(t))if(s=n[t].length,i.manageBodyBorders)n[t].satisfied&&i.setBodyStyle("border-"+t+"-width","1px");else{for(r=0;r<s;r++)n[t][r].addCls(Ext.baseCSSPrefix+"docked-noborder-"+t);(n[t].satisfied||i.bodyBorder)&&i.bodyBorder!==!1||i.addBodyCls(Ext.baseCSSPrefix+"docked-noborder-"+t)}u.borders=n}},beforeLayoutCycle:function(n){var r=this,u=r.owner,f=r.sizeModels.shrinkWrap,t,i;u.collapsed&&(u.collapsedVertical()?(i=!0,n.measureDimensions=1):(t=!0,n.measureDimensions=2));n.collapsedVert=i;n.collapsedHorz=t;i?n.heightModel=f:t&&(n.widthModel=f)},beginLayout:function(n){var t=this,r=t.owner,s=t.getLayoutItems(),c=n.context,l=s.length,h,u,f,e,i,o;for(t.callParent(arguments),t.handleItemBorders(),o=r.getCollapsed(),o!==t.lastCollapsedState&&Ext.isDefined(t.lastCollapsedState)&&(t.owner.collapsed?(n.isCollapsingOrExpanding=1,r.addClsWithUI(r.collapsedCls)):(n.isCollapsingOrExpanding=2,r.removeClsWithUI(r.collapsedCls),n.lastCollapsedState=t.lastCollapsedState)),t.lastCollapsedState=o,n.dockedItems=h=[],u=0;u<l;u++)f=s[u],f.rendered&&(e=c.getCmp(f),e.dockedAt={x:0,y:0},e.offsets=i=Ext.Element.parseBox(f.offsets||{}),i.width=i.left+i.right,i.height=i.top+i.bottom,h.push(e));n.bodyContext=n.getEl("body")},beginLayoutCycle:function(n){var i=this,o=n.dockedItems,h=o.length,t=i.owner,r=t.frameBody,s=i.lastHeightModel,u,f,e;for(i.callParent(arguments),s&&s.shrinkWrap&&!n.heightModel.shrinkWrap&&!i.owner.manageHeight&&(t.body.dom.style.marginBottom=""),n.widthModel.auto&&(n.widthModel.shrinkWrap&&t.el.setWidth(null),t.body.setWidth(null),r&&r.setWidth(null)),n.heightModel.auto&&(t.body.setHeight(null),r&&r.setHeight(null)),n.collapsedVert?n.setContentHeight(0):n.collapsedHorz&&n.setContentWidth(0),u=0;u<h;u++)if(f=o[u].target,e=f.dock,e=="right")f.el.setLeft(0);else if(e!="left")continue},calculate:function(n){var t=this,c=t.measureAutoDimensions(n,n.measureDimensions),e=n.state,u=e.horzDone,f=e.vertDone,o=n.bodyContext,i,r,s,h;for(n.borderInfo||n.getBorderInfo(),n.paddingInfo||n.getPaddingInfo(),n.framingInfo||n.getFraming(),o.borderInfo||o.getBorderInfo(),o.paddingInfo||o.getPaddingInfo(),i=!u&&t.createAxis(n,c.contentWidth,n.widthModel,"left","right","x","width","Width",n.collapsedHorz),r=!f&&t.createAxis(n,c.contentHeight,n.heightModel,"top","bottom","y","height","Height",n.collapsedVert),s=0,h=n.dockedItems.length;h--;++s)i&&t.dockChild(n,i,h,s),r&&t.dockChild(n,r,h,s);i&&t.finishAxis(n,i)&&(e.horzDone=u=i);r&&t.finishAxis(n,r)&&(e.vertDone=f=r);u&&f&&t.finishConstraints(n,u,f)?t.finishPositions(n,u,f):t.done=!1},createAxis:function(n,t,i,r,u,f,e,o,s){var c=0,y=this.owner,p=y["max"+o],w=y["min"+o]||0,b=p!=null,d="set"+o,l,k,a,v,h;return i.shrinkWrap?s?h=0:(k=n.bodyContext,h=t+k.borderInfo[e]):(l=n.borderInfo,a=n.framingInfo,v=n.paddingInfo,h=n.getProp(e),h-=l[u]+v[u]+a[u],c=l[r]+v[r]+a[r]),{shrinkWrap:i.shrinkWrap,sizeModel:i,begin:c,end:h,collapsed:s,horizontal:f=="x",ignoreFrameBegin:!1,ignoreFrameEnd:!1,initialSize:h-c,hasMinMaxConstraints:(w||b)&&i.shrinkWrap,minSize:w,maxSize:b?p:1e9,bodyPosProp:this.owner.manageHeight?f:"margin-"+r,dockBegin:r,dockEnd:u,posProp:f,sizeProp:e,sizePropCap:o,setSize:d,dockedPixelsEnd:0}},dockChild:function(n,t,i,r){var e=this,u=n.dockedItems[t.shrinkWrap?i:r],f=u.target,o=f.dock,s;f.ignoreParentFrame&&n.isCollapsingOrExpanding&&u.clearMarginCache();s=o==t.dockBegin?t.shrinkWrap?e.dockOutwardBegin(n,u,f,t):e.dockInwardBegin(n,u,f,t):o==t.dockEnd?t.shrinkWrap?e.dockOutwardEnd(n,u,f,t):e.dockInwardEnd(n,u,f,t):e.dockStretch(n,u,f,t);u.dockedAt[t.posProp]=s},dockInwardBegin:function(n,t,i,r){var f=r.begin,e=r.sizeProp,o,u;return i.ignoreParentFrame&&(u=i.dock,f-=n.borderInfo[u]+n.paddingInfo[u]+n.framingInfo[u]),i.overlay||(o=t.getProp(e)+t.getMarginInfo()[e],r.begin+=o),f},dockInwardEnd:function(n,t,i,r){var f=r.sizeProp,e=t.getProp(f)+t.getMarginInfo()[f],u=r.end-e;return i.overlay||(r.end=u),i.ignoreParentFrame&&(u+=n.borderInfo[i.dock]+n.paddingInfo[i.dock]+n.framingInfo[i.dock]),u},dockOutwardBegin:function(n,t,i,r){var u=r.begin,e=r.sizeProp,f,o;return r.collapsed?r.ignoreFrameBegin=r.ignoreFrameEnd=!0:i.ignoreParentFrame&&(f=i.dock,u-=n.borderInfo[f]+n.paddingInfo[f]+n.framingInfo[f],r.ignoreFrameBegin=!0),i.overlay||(o=t.getProp(e)+t.getMarginInfo()[e],u-=o,r.begin=u),u},dockOutwardEnd:function(n,t,i,r){var f=r.end,o=r.sizeProp,u,e;return e=t.getProp(o)+t.getMarginInfo()[o],r.collapsed?r.ignoreFrameBegin=r.ignoreFrameEnd=!0:i.ignoreParentFrame&&(u=i.dock,f+=n.borderInfo[u]+n.paddingInfo[u]+n.framingInfo[u],r.ignoreFrameEnd=!0),i.overlay||(r.end=f+e,r.dockedPixelsEnd+=e),f},dockStretch:function(n,t,i,r){var h=i.dock,u=r.sizeProp,c=h=="top"||h=="bottom",l=t.offsets,a=n.borderInfo,v=n.paddingInfo,p=c?"right":"bottom",f=c?"left":"top",o=r.begin+l[f],y,e,s;return i.stretch!==!1&&(e=r.end-o-l[p],i.ignoreParentFrame&&(s=n.framingInfo,o-=a[f]+v[f]+s[f],e+=a[u]+v[u]+s[u]),y=t.getMarginInfo(),e-=y[u],t[r.setSize](e)),o},finishAxis:function(n,t){var r=t.end-t.begin,v=t.setSize,i=t.dockBegin,e=t.dockEnd,u=n.borderInfo,o=n.paddingInfo,s=n.framingInfo,h=o[i]+u[i]+s[i],l=n.bodyContext,f,c,a;return t.shrinkWrap?(t.delta=-t.begin,c=t.initialSize,t.ignoreFrameBegin?(t.delta-=u[i],f=-t.begin-h):(r+=h,t.delta+=o[i]+s[i],f=-t.begin),t.ignoreFrameEnd||(r+=o[e]+u[e]+s[e]),t.size=r,t.horizontal||this.owner.manageHeight||(a=!1)):(t.delta=-u[t.dockBegin],c=r,f=t.begin-h),l[v](c,a),l.setProp(t.bodyPosProp,f),!isNaN(r)},finishConstraints:function(n,t,i){var e=this.sizeModels,h=t.shrinkWrap,c=i.shrinkWrap,l,o,s,u,r,f;if(h&&(f=t.size,f<t.minSize?(r=e.constrainedMin,s=t.minSize):f>t.maxSize?(r=e.constrainedMax,s=t.maxSize):s=f),c&&(f=i.size,f<i.minSize?(u=e.constrainedMin,o=i.minSize):f>i.maxSize?(u=e.constrainedMax,o=i.maxSize):(n.collapsedVert||this.owner.manageHeight||(l=!1,n.bodyContext.setProp("margin-bottom",i.dockedPixelsEnd)),o=f)),r||u){if(r&&u&&r.constrainedMax&&u.constrainedMin)return n.invalidate({widthModel:r}),!1;if(!n.widthModel.calculatedFromShrinkWrap&&!n.heightModel.calculatedFromShrinkWrap)return n.invalidate({widthModel:r,heightModel:u}),!1}return h&&(n.setWidth(s),r&&(n.widthModel=r)),c&&(n.setHeight(o,l),u&&(n.heightModel=u)),!0},finishPositions:function(n,t,i){for(var f=n.dockedItems,e=f.length,o=t.delta,s=i.delta,r,u=0;u<e;++u)r=f[u],r.setProp("x",o+r.dockedAt.x),r.setProp("y",s+r.dockedAt.y)},finishedLayout:function(n){var i=this,t=n.target;i.callParent(arguments);n.animatePolicy||(n.isCollapsingOrExpanding===1?t.afterCollapse(!1):n.isCollapsingOrExpanding===2&&t.afterExpand(!1))},getAnimatePolicy:function(n){var i=this,t,r;return n.isCollapsingOrExpanding==1?t=i.lastCollapsedState:n.isCollapsingOrExpanding==2&&(t=n.lastCollapsedState),t=="left"||t=="right"?r=i.horizontalCollapsePolicy:(t=="top"||t=="bottom")&&(r=i.verticalCollapsePolicy),r},getDockedItems:function(n,t){var r=this,h=n==="visual",i=h?Ext.ComponentQuery.query("[rendered]",r.owner.dockedItems.items):r.owner.dockedItems.items,e=i&&i.length&&n!==!1,c,o,u,f,s,l;if(t==null)u=e&&!h?i.slice():i;else{for(u=[],f=0,l=i.length;f<l;++f)o=i[f].dock,s=o=="top"||o=="left",(t?s:!s)&&u.push(i[f]);e=e&&u.length}return e&&(c=(n=n||"render")=="render",Ext.Array.sort(u,function(t,i){var u,f;return c&&(u=r.owner.dockOrder[t.dock])!==(f=r.owner.dockOrder[i.dock])&&!(u+f)?u-f:(u=r.getItemWeight(t,n),f=r.getItemWeight(i,n),u!==undefined&&f!==undefined)?u-f:0})),u||[]},getItemWeight:function(n,t){var i=n.weight||this.owner.defaultDockWeights[n.dock];return i[t]||i},getLayoutItems:function(){var i=this,r,f,u,n,t;if(i.owner.collapsed)t=i.owner.getCollapsedDockedItems();else for(r=i.getDockedItems("visual"),f=r.length,t=[],n=0;n<f;n++)u=r[n],u.hidden||t.push(u);return t},measureContentWidth:function(n){var t=n.bodyContext;return t.el.getWidth()-t.getBorderInfo().width},measureContentHeight:function(n){var t=n.bodyContext;return t.el.getHeight()-t.getBorderInfo().height},redoLayout:function(n){var i=this,t=i.owner;n.isCollapsingOrExpanding==1?(t.reExpander&&t.reExpander.el.show(),t.addClsWithUI(t.collapsedCls),n.redo(!0)):n.isCollapsingOrExpanding==2&&(t.removeClsWithUI(t.collapsedCls),n.bodyContext.redo())},renderChildren:function(){var n=this,t=n.getDockedItems(),i=n.getRenderTarget();n.renderItems(t,i)},renderItems:function(n,t){for(var f=this,s=n.length,e=0,r=0,c=0,l=f.getRenderTarget().dom.childNodes,a=l.length,h,i,o=0,u=0;o<a;o++){if(h=l[o],Ext.fly(h).hasCls("x-resizable-handle"))break;for(u=0;u<s;u++)if(i=n[u],i.rendered&&i.el.dom===h)break;u===s&&c++}for(;e<s;e++,r++)i=n[e],e===r&&(i.dock==="right"||i.dock==="bottom")&&(r+=c),i&&!i.rendered?f.renderItem(i,t,r):f.isValidParent(i,t,r)||f.moveItem(i,t,r)},undoLayout:function(n){var i=this,t=i.owner;n.isCollapsingOrExpanding==1?(t.reExpander&&t.reExpander.el.hide(),t.removeClsWithUI(t.collapsedCls),n.undo(!0)):n.isCollapsingOrExpanding==2&&(t.addClsWithUI(t.collapsedCls),n.bodyContext.undo())},sizePolicy:{nostretch:{setsWidth:0,setsHeight:0},stretchH:{setsWidth:1,setsHeight:0},stretchV:{setsWidth:0,setsHeight:1},autoStretchH:{readsWidth:1,setsWidth:1,setsHeight:0},autoStretchV:{readsHeight:1,setsWidth:0,setsHeight:1}},getItemSizePolicy:function(n){var t=this.sizePolicy,i,r;return n.stretch===!1?t.nostretch:(i=n.dock,r=i=="left"||i=="right",r)?t.stretchV:t.stretchH},configureItem:function(n){this.callParent(arguments);n.addCls(Ext.baseCSSPrefix+"docked");n.addClsWithUI("docked-"+n.dock)},afterRemove:function(n){this.callParent(arguments);this.itemCls&&n.el.removeCls(this.itemCls+"-"+n.dock);var t=n.el.dom;!n.destroying&&t&&t.parentNode.removeChild(t);this.childrenChanged=!0}});Ext.define("Ext.toolbar.Fill",{extend:"Ext.Component",alias:"widget.tbfill",alternateClassName:"Ext.Toolbar.Fill",isFill:!0,flex:1});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(n,t){this.layout=n;Ext.apply(this,t)},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,beginLayout:Ext.emptyFn,beginLayoutCycle:Ext.emptyFn,finishedLayout:Ext.emptyFn,completeLayout:function(n){var i=this,r=n.state.boxPlan,t;r&&r.tooNarrow?(t=i.handleOverflow(n),t&&t.reservedSpace&&i.layout.publishInnerCtSize(n,t.reservedSpace)):i.clearOverflow()},onRemove:Ext.emptyFn,getItem:function(n){return this.layout.owner.getComponent(n)},getOwnerType:function(n){return n.isToolbar?"toolbar":n.isTabBar?"tabbar":n.isMenu?"menu":n.getXType()},getPrefixConfig:Ext.emptyFn,getSuffixConfig:Ext.emptyFn,getOverflowCls:function(){return""}});Ext.define("Ext.toolbar.Item",{extend:"Ext.Component",alias:"widget.tbitem",alternateClassName:"Ext.Toolbar.Item",enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.define("Ext.toolbar.Separator",{extend:"Ext.toolbar.Item",alias:"widget.tbseparator",alternateClassName:"Ext.Toolbar.Separator",baseCls:Ext.baseCSSPrefix+"toolbar-separator",focusable:!1,border:!0});Ext.define("Ext.layout.component.Button",{alias:["layout.button"],extend:"Ext.layout.component.Auto",type:"button",cellClsRE:/-btn-(tl|br)\b/,htmlRE:/<.*>/,constructor:function(){this.callParent(arguments);this.hackWidth=Ext.isIE&&(!Ext.isStrict||Ext.isIE6||Ext.isIE7||Ext.isIE8);this.heightIncludesPadding=Ext.isIE6&&Ext.isStrict},beginLayout:function(n){this.callParent(arguments);this.cacheTargetInfo(n)},beginLayoutCycle:function(n){var f=this,t="",i=f.owner,e=i.btnEl,r=i.btnInnerEl,o=i.text,u;f.callParent(arguments);r.setStyle("overflow",t);n.widthModel.natural||i.el.setStyle("width",t);u=n.heightModel.shrinkWrap&&o&&f.htmlRE.test(o);e.setStyle("width",t);e.setStyle("height",u?"auto":t);r.setStyle("width",t);r.setStyle("height",u?"auto":t);r.setStyle("line-height",u?"normal":t);r.setStyle("padding-top",t);i.btnIconEl.setStyle("width",t)},calculateOwnerHeightFromContentHeight:function(n,t){return t},calculateOwnerWidthFromContentWidth:function(n,t){return t},measureContentWidth:function(n){var u=this,t=u.owner,c=t.btnEl,l=t.btnInnerEl,f=t.text,i,r,o,e,s,h;return t.text&&u.hackWidth&&c?(i=u.btnFrameWidth,f.indexOf(">")===-1&&(f=f.replace(/</g,"&lt;")),r=Ext.util.TextMetrics.measure(l,f),e=r.width+i+u.adjWidth,s=n.getEl("btnEl"),h=n.getEl("btnInnerEl"),o=(t.icon||t.iconCls)&&(t.iconAlign=="top"||t.iconAlign=="bottom"),n.setWidth(e),s.setWidth(r.width+i),h.setWidth(r.width+i),o&&t.btnIconEl.setWidth(r.width+i)):e=n.el.getWidth(),e},measureContentHeight:function(n){var i=this,u=i.owner,s=u.btnInnerEl,l=n.getEl("btnEl"),h=n.getEl("btnInnerEl"),f=i.minTextHeight,e=i.adjHeight,c=u.getText(),t,r,o;return u.vertical?(t=Ext.util.TextMetrics.measure(s,u.text).width,t+=i.btnFrameHeight+e,n.setHeight(t,!0,!0)):c&&i.htmlRE.test(c)?(r=s.getHeight(),r<f&&(o=Math.floor((f-r)/2),h.setHeight(f-(i.heightIncludesPadding?o:0)),h.setProp("padding-top",o),r=f),t=r+e):t=n.el.getHeight(),l.setHeight(t-e),t},publishInnerHeight:function(n,t){var i=this,f=i.owner,l=Ext.isNumber,a=n.getEl("btnEl"),s=f.btnInnerEl,u=n.getEl("btnInnerEl"),r=l(t)?t-i.adjHeight:t,h=i.btnFrameHeight,e=f.getText(),c,o;a.setHeight(r);u.setHeight(r);!f.vertical&&r>=0&&u.setProp("line-height",r-h+"px");e&&i.htmlRE.test(e)&&(u.setProp("line-height","normal"),s.setStyle("line-height","normal"),c=Ext.util.TextMetrics.measure(s,e).height,o=Math.floor(Math.max(r-h-c,0)/2),u.setProp("padding-top",i.btnFrameTop+o),u.setHeight(r-(i.heightIncludesPadding?o:0)))},publishInnerWidth:function(n,t){var r=this,u=Ext.isNumber,f=n.getEl("btnEl"),e=n.getEl("btnInnerEl"),i=u(t)?t-r.adjWidth:t;f.setWidth(i);e.setWidth(i)},clearTargetCache:function(){delete this.adjWidth},cacheTargetInfo:function(n){var t=this,o=t.owner,s=o.scale,r,u,f,e,i;"adjWidth"in t&&t.lastScale===s||(t.lastScale&&o.btnInnerEl.setStyle("line-height",""),t.lastScale=s,r=n.getPaddingInfo(),u=n.getFrameInfo(),f=n.getEl("btnWrap").getPaddingInfo(),e=n.getEl("btnInnerEl"),i=e.getPaddingInfo(),Ext.apply(t,{adjWidth:f.width+u.width+r.width,adjHeight:f.height+u.height+r.height,btnFrameWidth:i.width,btnFrameHeight:i.height,btnFrameTop:i.top,minTextHeight:parseInt(e.getStyle("line-height"),10)}));t.callParent(arguments)},finishedLayout:function(){var n=this.owner;this.callParent(arguments);Ext.isWebKit&&n.el.dom.offsetWidth}});Ext.define("Ext.menu.Manager",{singleton:!0,requires:["Ext.util.MixedCollection","Ext.util.KeyMap"],alternateClassName:"Ext.menu.MenuMgr",uses:["Ext.menu.Menu"],menus:{},groups:{},attached:!1,lastShow:new Date,init:function(){var n=this;n.active=new Ext.util.MixedCollection;Ext.getDoc().addKeyListener(27,function(){n.active.length>0&&n.hideAll()},n)},hideAll:function(){var t=this.active,r,i,n,u;if(t&&t.length>0){for(r=t.clone(),i=r.items,u=i.length,n=0;n<u;n++)i[n].hide();return!0}return!1},onHide:function(n){var t=this,i=t.active;i.remove(n);i.length<1&&(Ext.getDoc().un("mousedown",t.onMouseDown,t),t.attached=!1)},onShow:function(n){var t=this,i=t.active,u=i.last(),r=t.attached,f=n.getEl();if(t.lastShow=new Date,i.add(n),!r){Ext.getDoc().on("mousedown",t.onMouseDown,t,{buffer:Ext.isIE?10:undefined});t.attached=!0}n.toFront()},onBeforeHide:function(n){n.activeChild&&n.activeChild.hide();n.autoHideTimer&&(clearTimeout(n.autoHideTimer),delete n.autoHideTimer)},onBeforeShow:function(n){var i=this.active,t=n.parentMenu;i.remove(n);t||n.allowOtherMenus?t&&t.activeChild&&n!=t.activeChild&&t.activeChild.hide():this.hideAll()},onMouseDown:function(n){var t=this,i=t.active,r=t.lastShow;Ext.Date.getElapsed(r)>50&&i.length>0&&!n.getTarget("."+Ext.baseCSSPrefix+"menu")&&t.hideAll()},register:function(n){var t=this;if(t.active||t.init(),n.floating){t.menus[n.id]=n;n.on({beforehide:t.onBeforeHide,hide:t.onHide,beforeshow:t.onBeforeShow,show:t.onShow,scope:t})}},get:function(n){var t=this.menus;return typeof n=="string"?t?t[n]:null:n.isMenu?n:Ext.isArray(n)?new Ext.menu.Menu({items:n}):Ext.ComponentManager.create(n,"menu")},unregister:function(n){var t=this,i=t.menus,r=t.active;delete i[n.id];r.remove(n);n.un({beforehide:t.onBeforeHide,hide:t.onHide,beforeshow:t.onBeforeShow,show:t.onShow,scope:t})},registerCheckable:function(n){var i=this.groups,t=n.group;t&&(i[t]||(i[t]=[]),i[t].push(n))},unregisterCheckable:function(n){var i=this.groups,t=n.group;t&&Ext.Array.remove(i[t],n)},onCheckChange:function(n,t){var o=this.groups,f=n.group,i=0,r,e,u;if(f&&t)for(r=o[f],e=r.length;i<e;i++)u=r[i],u!=n&&u.setChecked(!1)}});Ext.define("Ext.util.ClickRepeater",{extend:"Ext.util.Observable",constructor:function(n,t){var i=this;if(i.el=Ext.get(n),i.el.unselectable(),Ext.apply(i,t),i.callParent(),i.addEvents("mousedown","click","mouseup"),i.disabled||(i.disabled=!0,i.enable()),i.handler)i.on("click",i.handler,i.scope||i)},interval:20,delay:250,preventDefault:!0,stopDefault:!1,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE&&!(Ext.isStrict&&Ext.isIE9))this.el.on("dblclick",this.handleDblClick,this);if(this.preventDefault||this.stopDefault)this.el.on("click",this.eventOptions,this)}this.disabled=!1},disable:function(n){(n||!this.disabled)&&(clearTimeout(this.timer),this.pressedCls&&this.el.removeCls(this.pressedCls),Ext.getDoc().un("mouseup",this.handleMouseUp,this),this.el.removeAllListeners());this.disabled=!0},setDisabled:function(n){this[n?"disable":"enable"]()},eventOptions:function(n){this.preventDefault&&n.preventDefault();this.stopDefault&&n.stopEvent()},destroy:function(){this.disable(!0);Ext.destroy(this.el);this.clearListeners()},handleDblClick:function(n){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,n);this.fireEvent("click",this,n)},handleMouseDown:function(n){clearTimeout(this.timer);this.el.blur();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,n);this.fireEvent("click",this,n);this.accelerate&&(this.delay=400);n=new Ext.EventObjectImpl(n);this.timer=Ext.defer(this.click,this.delay||this.interval,this,[n])},click:function(n){this.fireEvent("click",this,n);this.timer=Ext.defer(this.click,this.accelerate?this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime),400,-390,12e3):this.interval,this,[n])},easeOutExpo:function(n,t,i,r){return n==r?t+i:i*(-Math.pow(2,-10*n/r)+1)+t},handleMouseOut:function(){clearTimeout(this.timer);this.pressedCls&&this.el.removeCls(this.pressedCls);this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);this.pressedCls&&this.el.addCls(this.pressedCls);this.click()},handleMouseUp:function(n){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.pressedCls&&this.el.removeCls(this.pressedCls);this.fireEvent("mouseup",this,n)}});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(n,t,i){var u=this,r=u.shared;return r||(r=u.shared=new u(n,i)),r.bind(n),r.setFixedWidth(i||"auto"),r.getSize(t)},destroy:function(){var n=this;Ext.destroy(n.shared);n.shared=null}},constructor:function(n,t){var i=this.measure=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"textmetrics"});this.el=Ext.get(n);i.position("absolute");i.setLeftTop(-1e3,-1e3);i.hide();t&&i.setWidth(t)},getSize:function(n){var t=this.measure,i;return t.update(n),i=t.getSize(),t.update(""),i},bind:function(n){var t=this;t.el=Ext.get(n);t.measure.setStyle(t.el.getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(n){this.measure.setWidth(n)},getWidth:function(n){return this.measure.dom.style.width="auto",this.getSize(n).width},getHeight:function(n){return this.getSize(n).height},destroy:function(){var n=this;n.measure.remove();delete n.el;delete n.measure}},function(){Ext.Element.addMethods({getTextWidth:function(n,t,i){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.value(n,this.dom.innerHTML,!0)).width,t||0,i||1e6)}})});Ext.define("Ext.button.Button",{alias:"widget.button",extend:"Ext.Component",requires:["Ext.menu.Manager","Ext.util.ClickRepeater","Ext.layout.component.Button","Ext.util.TextMetrics","Ext.util.KeyMap"],alternateClassName:"Ext.Button",isButton:!0,componentLayout:"button",hidden:!1,disabled:!1,pressed:!1,enableToggle:!1,menuAlign:"tl-bl?",textAlign:"center",type:"button",clickEvent:"click",preventDefault:!0,handleMouseEvents:!0,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",pressedCls:"pressed",overCls:"over",focusCls:"focus",menuActiveCls:"menu-active",hrefTarget:"_blank",border:!0,childEls:["btnEl","btnWrap","btnInnerEl","btnIconEl"],renderTpl:['<em id="{id}-btnWrap"<tpl if="splitCls"> class="{splitCls}"<\/tpl>>','<tpl if="href">','<a id="{id}-btnEl" href="{href}" class="{btnCls}" target="{hrefTarget}"','<tpl if="tabIndex"> tabIndex="{tabIndex}"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>',' role="link">','<span id="{id}-btnInnerEl" class="{baseCls}-inner">',"{text}","<\/span>",'<span id="{id}-btnIconEl" class="{baseCls}-icon {iconCls}"<tpl if="iconUrl"> style="background-image:url({iconUrl})"<\/tpl>><\/span>',"<\/a>","<tpl else>",'<button id="{id}-btnEl" type="{type}" class="{btnCls}" hidefocus="true"','<tpl if="tabIndex"> tabIndex="{tabIndex}"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>',' role="button" autocomplete="off">','<span id="{id}-btnInnerEl" class="{baseCls}-inner" style="{innerSpanStyle}">',"{text}","<\/span>",'<span id="{id}-btnIconEl" class="{baseCls}-icon {iconCls}"<tpl if="iconUrl"> style="background-image:url({iconUrl})"<\/tpl>><\/span>',"<\/button>","<\/tpl>","<\/em>",'<tpl if="closable">','<a id="{id}-closeEl" href="#" class="{baseCls}-close-btn" title="{closeText}"><\/a>',"<\/tpl>"],scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:!1,persistentPadding:undefined,shrinkWrap:3,frame:!0,initComponent:function(){var n=this;n.callParent(arguments);n.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");n.menu&&(n.split=!0,n.menu=Ext.menu.Manager.get(n.menu),n.menu.ownerButton=n);n.url&&(n.href=n.url);n.href&&!n.hasOwnProperty("preventDefault")&&(n.preventDefault=!1);Ext.isString(n.toggleGroup)&&n.toggleGroup!==""&&(n.enableToggle=!0);n.html&&!n.text&&(n.text=n.html,delete n.html)},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.useElForFocus?this.el:this.btnEl},onFocus:function(){var n=this;n.useElForFocus=!0;n.callParent(arguments);n.useElForFocus=!1},onBlur:function(){this.useElForFocus=!0;this.callParent(arguments);this.useElForFocus=!1},onDisable:function(){this.useElForFocus=!0;this.callParent(arguments);this.useElForFocus=!1},setComponentCls:function(){var n=this,t=n.getComponentCls();Ext.isEmpty(n.oldCls)||(n.removeClsWithUI(n.oldCls),n.removeClsWithUI(n.pressedCls));n.oldCls=t;n.addClsWithUI(t)},getComponentCls:function(){var n=this,t=[];return n.iconCls||n.icon?n.text?t.push("icon-text-"+n.iconAlign):t.push("icon"):n.text&&t.push("noicon"),n.pressed&&t.push(n.pressedCls),t},beforeRender:function(){var n=this;n.callParent();n.oldCls=n.getComponentCls();n.addClsWithUI(n.oldCls);Ext.applyIf(n.renderData,n.getTemplateArgs());n.scale&&n.setScale(n.scale)},onRender:function(){var n=this,r,i,t;n.doc=Ext.getDoc();n.callParent(arguments);n.split&&n.arrowTooltip&&n.arrowEl.dom.setAttribute(n.getTipAttr(),n.arrowTooltip);i=n.el;n.tooltip&&n.setTooltip(n.tooltip,!0);n.handleMouseEvents?(t={scope:n,mouseover:n.onMouseOver,mouseout:n.onMouseOut,mousedown:n.onMouseDown},n.split&&(t.mousemove=n.onMouseMove)):t={scope:n};n.menu&&(n.mon(n.menu,{scope:n,show:n.onMenuShow,hide:n.onMenuHide}),n.keyMap=new Ext.util.KeyMap({target:n.el,key:Ext.EventObject.DOWN,handler:n.onDownKey,scope:n}));n.repeat?n.mon(new Ext.util.ClickRepeater(i,Ext.isObject(n.repeat)?n.repeat:{}),"click",n.onRepeatClick,n):t[n.clickEvent]?r=!0:t[n.clickEvent]=n.onClick;n.mon(i,t);r&&n.mon(i,n.clickEvent,n.onClick,n);Ext.ButtonToggleManager.register(n)},getTemplateArgs:function(){var n=this,t=n.getPersistentPadding(),i="";return Math.max.apply(Math,t)>0&&(i="margin:"+Ext.Array.map(t,function(n){return-n+"px"}).join(" ")),{href:n.getHref(),disabled:n.disabled,hrefTarget:n.hrefTarget,type:n.type,btnCls:n.getBtnCls(),splitCls:n.getSplitCls(),iconUrl:n.icon,iconCls:n.iconCls,text:n.text||"&#160;",tabIndex:n.tabIndex,innerSpanStyle:i}},getHref:function(){var n=this,t=Ext.apply({},n.baseParams);return t=Ext.apply(t,n.params),n.href?Ext.urlAppend(n.href,Ext.Object.toQueryString(t)):!1},setParams:function(n){this.params=n;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var n=this;return n.split?n.baseCls+"-"+n.arrowCls+" "+(n.baseCls+"-"+n.arrowCls+"-"+n.arrowAlign):""},getBtnCls:function(){return this.textAlign?this.baseCls+"-"+this.textAlign:""},setIconCls:function(n){var t=this,i=t.btnIconEl,r=t.iconCls;return t.iconCls=n,i&&(i.removeCls(r),i.addCls(n||""),t.setComponentCls(),t.didIconStateChange(r,n)&&t.updateLayout()),t},setTooltip:function(n,t){var i=this;return i.rendered?(t||i.clearTip(),Ext.isObject(n)?(Ext.tip.QuickTipManager.register(Ext.apply({target:i.btnEl.id},n)),i.tooltip=n):i.btnEl.dom.setAttribute(i.getTipAttr(),n)):i.tooltip=n,i},setTextAlign:function(n){var t=this,i=t.btnEl;return i&&(i.removeCls(t.baseCls+"-"+t.textAlign),i.addCls(t.baseCls+"-"+n)),t.textAlign=n,t},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(n){var t=this.menu,i;return t&&(i=t.getRefItems(n),i.unshift(t)),i||[]},clearTip:function(){Ext.isObject(this.tooltip)&&Ext.tip.QuickTipManager.unregister(this.btnEl)},beforeDestroy:function(){var n=this;n.rendered&&n.clearTip();n.menu&&n.destroyMenu!==!1&&Ext.destroy(n.menu);Ext.destroy(n.btnInnerEl,n.repeater);n.callParent()},onDestroy:function(){var n=this;n.rendered&&(n.doc.un("mouseover",n.monitorMouseOver,n),n.doc.un("mouseup",n.onMouseUp,n),delete n.doc,Ext.ButtonToggleManager.unregister(n),Ext.destroy(n.keyMap),delete n.keyMap);n.callParent()},setHandler:function(n,t){return this.handler=n,this.scope=t,this},setText:function(n){var t=this;return t.text=n,t.rendered&&(t.btnInnerEl.update(n||"&#160;"),t.setComponentCls(),Ext.isStrict&&Ext.isIE8&&t.el.repaint(),t.updateLayout()),t},setIcon:function(n){var t=this,i=t.btnIconEl,r=t.icon;return t.icon=n,i&&(i.setStyle("background-image",n?"url("+n+")":""),t.setComponentCls(),t.didIconStateChange(r,n)&&t.updateLayout()),t},didIconStateChange:function(n,t){var i=Ext.isEmpty(t);return Ext.isEmpty(n)?!i:i},getText:function(){return this.text},toggle:function(n,t){var i=this;return n=n===undefined?!i.pressed:!!n,n!==i.pressed&&(i.rendered&&i[n?"addClsWithUI":"removeClsWithUI"](i.pressedCls),i.pressed=n,t||(i.fireEvent("toggle",i,n),Ext.callback(i.toggleHandler,i.scope||i,[i,n]))),i},maybeShowMenu:function(){var n=this;!n.menu||n.hasVisibleMenu()||n.ignoreNextClick||n.showMenu()},showMenu:function(){var n=this;return n.rendered&&n.menu&&(n.tooltip&&n.getTipAttr()!="title"&&Ext.tip.QuickTipManager.getQuickTip().cancelShow(n.btnEl),n.menu.isVisible()&&n.menu.hide(),n.menu.showBy(n.el,n.menuAlign,!Ext.isStrict&&Ext.isIE||Ext.isIE6?[-2,-2]:undefined)),n},hideMenu:function(){return this.hasVisibleMenu()&&this.menu.hide(),this},hasVisibleMenu:function(){var n=this.menu;return n&&n.rendered&&n.isVisible()},onRepeatClick:function(n,t){this.onClick(t)},onClick:function(n){var t=this;((t.preventDefault||t.disabled&&t.getHref()&&n)&&n.preventDefault(),n.button===0)&&(t.disabled||(t.doToggle(),t.maybeShowMenu(),t.fireHandler(n)))},fireHandler:function(n){var t=this,i=t.handler;t.fireEvent("click",t,n)!==!1&&(i&&i.call(t.scope||t,t,n),t.blur())},doToggle:function(){var n=this;n.enableToggle&&(n.allowDepress!==!1||!n.pressed)&&n.toggle()},onMouseOver:function(n){var t=this;if(!t.disabled&&!n.within(t.el,!0,!0))t.onMouseEnter(n)},onMouseOut:function(n){var t=this;if(!n.within(t.el,!0,!0)){if(t.overMenuTrigger)t.onMenuTriggerOut(n);t.onMouseLeave(n)}},onMouseMove:function(n){var t=this,i=t.el,f=t.overMenuTrigger,r,u;if(t.split)if(t.arrowAlign==="right"?(r=n.getX()-i.getX(),u=i.getWidth()):(r=n.getY()-i.getY(),u=i.getHeight()),r>u-t.getTriggerSize()){if(!f)t.onMenuTriggerOver(n)}else if(f)t.onMenuTriggerOut(n)},getTriggerSize:function(){var n=this,t=n.triggerSize,i,r,u;return t===u&&(i=n.arrowAlign,r=i.charAt(0),t=n.triggerSize=n.el.getFrameWidth(r)+n.btnWrap.getFrameWidth(r)+n.frameSize[i]),t},onMouseEnter:function(n){var t=this;t.addClsWithUI(t.overCls);t.fireEvent("mouseover",t,n)},onMouseLeave:function(n){var t=this;t.removeClsWithUI(t.overCls);t.fireEvent("mouseout",t,n)},onMenuTriggerOver:function(n){var t=this;t.overMenuTrigger=!0;t.fireEvent("menutriggerover",t,t.menu,n)},onMenuTriggerOut:function(n){var t=this;delete t.overMenuTrigger;t.fireEvent("menutriggerout",t,t.menu,n)},enable:function(){var n=this;return n.callParent(arguments),n.btnEl&&(n.btnEl.dom.disabled=!1),n.removeClsWithUI("disabled"),n},disable:function(){var n=this;return n.callParent(arguments),n.btnEl&&(n.btnEl.dom.disabled=!0),n.addClsWithUI("disabled"),n.removeClsWithUI(n.overCls),n.btnInnerEl&&(Ext.isIE6||Ext.isIE7)&&n.btnInnerEl.repaint(),n},setScale:function(n){var t=this,i=t.ui.replace("-"+t.scale,"");if(!Ext.Array.contains(t.allowedScales,n))throw"#setScale: scale must be an allowed scale ("+t.allowedScales.join(", ")+")";t.scale=n;t.setUI(i)},setUI:function(n){var t=this;t.scale&&!n.match(t.scale)&&(n=n+"-"+t.scale);t.callParent([n])},onMouseDown:function(n){var t=this;if(!t.disabled&&n.button===0){t.addClsWithUI(t.pressedCls);t.doc.on("mouseup",t.onMouseUp,t)}},onMouseUp:function(n){var t=this;n.button===0&&(t.pressed||t.removeClsWithUI(t.pressedCls),t.doc.un("mouseup",t.onMouseUp,t))},onMenuShow:function(){var n=this;n.ignoreNextClick=0;n.addClsWithUI(n.menuActiveCls);n.fireEvent("menushow",n,n.menu)},onMenuHide:function(){var n=this;n.removeClsWithUI(n.menuActiveCls);n.ignoreNextClick=Ext.defer(n.restoreClick,250,n);n.fireEvent("menuhide",n,n.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var n=this;n.disabled||n.menu&&n.showMenu()},getPersistentPadding:function(){var f=this,e=Ext.scopeResetCSS,t=f.persistentPadding,n,i,r,u;return t||(t=f.self.prototype.persistentPadding=[0,0,0,0],Ext.isIE||(n=new Ext.button.Button({text:"test",style:"position:absolute;top:-999px;"}),n.el=Ext.DomHelper.append(Ext.resetElement,n.getRenderTree(),!0),n.applyChildEls(n.el),r=n.btnEl,u=n.btnInnerEl,r.setSize(null,null),i=u.getOffsetsTo(r),t[0]=i[1],t[1]=r.getWidth()-u.getWidth()-i[0],t[2]=r.getHeight()-u.getHeight()-i[1],t[3]=i[0],n.destroy(),n.el.remove())),t}},function(){var n={},t=function(t,i){if(i)for(var u=n[t.toggleGroup],f=u.length,r=0;r<f;r++)u[r]!==t&&u[r].toggle(!1)};Ext.ButtonToggleManager={register:function(i){if(i.toggleGroup){var r=n[i.toggleGroup];r||(r=n[i.toggleGroup]=[]);r.push(i);i.on("toggle",t)}},unregister:function(i){if(i.toggleGroup){var r=n[i.toggleGroup];r&&(Ext.Array.remove(r,i),i.un("toggle",t))}},getPressed:function(t){var i=n[t],r=0,u;if(i)for(u=i.length;r<u;r++)if(i[r].pressed===!0)return i[r];return null}}});Ext.define("Ext.layout.container.boxOverflow.Menu",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.toolbar.Separator","Ext.button.Button"],alternateClassName:"Ext.layout.boxOverflow.Menu",noItemsMenuText:'<div class="'+Ext.baseCSSPrefix+'toolbar-no-items">(None)<\/div>',constructor:function(n){var t=this;t.callParent(arguments);t.triggerButtonCls=t.triggerButtonCls||Ext.baseCSSPrefix+"box-menu-"+n.getNames().right;t.menuItems=[]},beginLayout:function(n){this.callParent(arguments);this.clearOverflow(n)},beginLayoutCycle:function(n,t){this.callParent(arguments);t||(this.clearOverflow(n),this.layout.cacheChildItems(n))},onRemove:function(n){Ext.Array.remove(this.menuItems,n)},getSuffixConfig:function(){var n=this,t=n.layout,i=t.owner.id;return n.menu=new Ext.menu.Menu({listeners:{scope:n,beforeshow:n.beforeMenuShow}}),n.menuTrigger=new Ext.button.Button({id:i+"-menu-trigger",cls:Ext.layout.container.Box.prototype.innerCls+" "+n.triggerButtonCls,hidden:!0,ownerCt:t.owner,ownerLayout:t,iconCls:Ext.baseCSSPrefix+n.getOwnerType(t.owner)+"-more-icon",ui:t.owner instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:n.menu,getSplitCls:function(){return""}}),n.menuTrigger.getRenderTree()},getOverflowCls:function(){return Ext.baseCSSPrefix+this.layout.direction+"-box-overflow-body"},handleOverflow:function(n){var t=this,u=t.layout,i=u.getNames(),f=n.state.boxPlan,r=[null,null];return t.showTrigger(n),r[i.heightIndex]=(f.maxSize-t.menuTrigger[i.getHeight]())/2,t.menuTrigger.setPosition.apply(t.menuTrigger,r),{reservedSpace:t.menuTrigger[i.getWidth]()}},captureChildElements:function(){var n=this.menuTrigger;n.rendering&&n.finishRender()},_asLayoutRoot:{isRoot:!0},clearOverflow:function(){var n=this,i=n.menuItems,t,r=0,f=i.length,u=n.layout.owner,e=n._asLayoutRoot;for(u.suspendLayouts(),n.captureChildElements(),n.hideTrigger(),u.resumeLayouts();r<f;r++)t=i[r],t.suspendLayouts(),t.show(),t.resumeLayouts(e);i.length=0},showTrigger:function(n){var t=this,o=t.layout,s=o.owner,h=o.getNames(),v=h.x,c=h.width,y=n.state.boxPlan,l=y.targetSize[c],a=n.childItems,p=a.length,r=t.menuTrigger,u,f,i,e;for(r.suspendLayouts(),r.show(),r.resumeLayouts(t._asLayoutRoot),l-=t.menuTrigger.getWidth(),s.suspendLayouts(),t.menuItems.length=0,i=0;i<p;i++)u=a[i],e=u.props,e[v]+e[c]>l&&(f=u.target,t.menuItems.push(f),f.hide());s.resumeLayouts()},hideTrigger:function(){var n=this.menuTrigger;n&&n.hide()},beforeMenuShow:function(n){var i=this,f=i.menuItems,r=0,o=f.length,t,u,e=function(n,t){return n.isXType("buttongroup")&&!(t instanceof Ext.toolbar.Separator)};for(n.suspendLayouts(),i.clearMenu(),n.removeAll();r<o;r++)(t=f[r],!r&&t instanceof Ext.toolbar.Separator)||(u&&(e(t,u)||e(u,t))&&n.add("-"),i.addComponentToMenu(n,t),u=t);n.items.length<1&&n.add(i.noItemsMenuText);n.resumeLayouts()},createMenuConfig:function(n,t){var i=Ext.apply({},n.initialConfig),r=n.toggleGroup;return Ext.copyTo(i,n,["iconCls","icon","itemId","disabled","handler","scope","menu"]),Ext.apply(i,{text:n.overflowText||n.text,hideOnClick:t,destroyMenu:!1}),n.isFormField?(i.value=n.getValue(),i.listeners||(i.listeners={}),i.listeners.change=function(t,i){n.setValue(i)}):(r||n.enableToggle)&&Ext.apply(i,{iconAlign:"right",hideOnClick:!1,group:r,checked:n.pressed,listeners:{checkchange:function(t,i){n.toggle(i)}}}),delete i.ownerCt,delete i.xtype,delete i.id,i},addComponentToMenu:function(n,t){var i=this,r,u,f;if(t instanceof Ext.toolbar.Separator)n.add("-");else if(t.isComponent)if(t.isXType("splitbutton"))n.add(i.createMenuConfig(t,!0));else if(t.isXType("button"))n.add(i.createMenuConfig(t,!t.menu));else if(t.isXType("buttongroup"))for(u=t.items.items,f=u.length,r=0;r<f;r++)i.addComponentToMenu(n,u[r]);else n.add(Ext.create(Ext.getClassName(t),i.createMenuConfig(t)))},clearMenu:function(){var t=this.menu,i,n,u,r;if(t&&t.items)for(i=t.items.items,u=i.length,n=0;n<u;n++)r=i[n],r.setMenu&&r.setMenu(null)},destroy:function(){var n=this.menuTrigger;n&&!this.layout.owner.items.contains(n)&&delete n.ownerCt;Ext.destroy(this.menu,n)}});Ext.define("Ext.layout.container.boxOverflow.Scroller",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.util.ClickRepeater","Ext.Element"],alternateClassName:"Ext.layout.boxOverflow.Scroller",mixins:{observable:"Ext.util.Observable"},animateScroll:!1,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",constructor:function(n,t){var i=this;i.layout=n;Ext.apply(i,t||{});i.mixins.observable.constructor.call(i);i.addEvents("scroll");i.scrollPosition=0;i.scrollSize=0},getPrefixConfig:function(){var n=this;return n.initCSSClasses(),{cls:Ext.layout.container.Box.prototype.innerCls+" "+n.beforeCtCls,cn:{id:n.layout.owner.id+"-before-scroller",cls:n.scrollerCls+" "+n.beforeScrollerCls,style:"display:none"}}},getSuffixConfig:function(){var n=this;return{cls:Ext.layout.container.Box.prototype.innerCls+" "+n.afterCtCls,cn:{id:n.layout.owner.id+"-after-scroller",cls:n.scrollerCls+" "+n.afterScrollerCls,style:"display:none"}}},getOverflowCls:function(){return Ext.baseCSSPrefix+this.layout.direction+"-box-overflow-body"},initCSSClasses:function(){var n=this,t=Ext.baseCSSPrefix,i=n.layout,r=i.getNames(),u=r.left,f=r.right,e=n.getOwnerType(i.owner);n.beforeCtCls=n.beforeCtCls||t+"box-scroller-"+u;n.afterCtCls=n.afterCtCls||t+"box-scroller-"+f;n.beforeScrollerCls=n.beforeScrollerCls||t+e+"-scroll-"+u;n.afterScrollerCls=n.afterScrollerCls||t+e+"-scroll-"+f},beginLayout:function(n){var t=this.layout,i=t.getNames();n.innerCtScrollPos=t.innerCt.dom["scroll"+i.leftCap];this.callParent(arguments)},completeLayout:function(n){this.scrollSize=n.props["content"+this.layout.getNames().widthCap];this.callParent(arguments)},finishedLayout:function(n){var t=this,i=t.layout,r=i.getNames(),u=Math.min(t.getMaxScrollPosition(),n.innerCtScrollPos);i.innerCt.dom["scroll"+r.leftCap]=u},handleOverflow:function(){var n=this,i=n.layout,r=i.getNames(),t="get"+r.widthCap;return n.captureChildElements(),n.showScrollers(),{reservedSpace:n.beforeCt[t]()+n.afterCt[t]()}},captureChildElements:function(){var n=this,r=n.layout.owner.el,t,i;n.beforeCt||(t=n.beforeScroller=r.getById(n.layout.owner.id+"-before-scroller"),i=n.afterScroller=r.getById(n.layout.owner.id+"-after-scroller"),n.beforeCt=t.up(""),n.afterCt=i.up(""),n.createWheelListener(),t.addClsOnOver(n.beforeScrollerCls+"-hover"),i.addClsOnOver(n.afterScrollerCls+"-hover"),t.setVisibilityMode(Ext.Element.DISPLAY),i.setVisibilityMode(Ext.Element.DISPLAY),n.beforeRepeater=new Ext.util.ClickRepeater(t,{interval:n.scrollRepeatInterval,handler:n.scrollLeft,scope:n}),n.afterRepeater=new Ext.util.ClickRepeater(i,{interval:n.scrollRepeatInterval,handler:n.scrollRight,scope:n}))},createWheelListener:function(){this.layout.innerCt.on({mousewheel:function(n){this.scrollBy(n.getWheelDelta()*this.wheelIncrement*-1,!1)},stopEvent:!0,scope:this})},clearOverflow:function(){var n=this.layout;this.hideScrollers()},showScrollers:function(){var n=this;n.captureChildElements();n.beforeScroller.show();n.afterScroller.show();n.updateScrollButtons();n.layout.owner.addClsWithUI("scroller")},hideScrollers:function(){var n=this;n.beforeScroller!==undefined&&(n.beforeScroller.hide(),n.afterScroller.hide(),n.layout.owner.removeClsWithUI("scroller"))},destroy:function(){var n=this;Ext.destroy(n.beforeRepeater,n.afterRepeater,n.beforeScroller,n.afterScroller,n.beforeCt,n.afterCt)},scrollBy:function(n,t){this.scrollTo(this.getScrollPosition()+n,t)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){var n=this,t,i,r,u;n.beforeScroller!==undefined&&n.afterScroller!==undefined&&(t=n.atExtremeBefore()?"addCls":"removeCls",i=n.atExtremeAfter()?"addCls":"removeCls",r=n.beforeScrollerCls+"-disabled",u=n.afterScrollerCls+"-disabled",n.beforeScroller[t](r),n.afterScroller[i](u),n.scrolling=!1)},atExtremeBefore:function(){return!this.getScrollPosition()},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,!1)},scrollRight:function(){this.scrollBy(this.scrollIncrement,!1)},getScrollPosition:function(){var n=this,t=n.layout;return n.hasOwnProperty("scrollPosition")?n.scrollPosition:parseInt(t.innerCt.dom["scroll"+t.getNames().leftCap],10)||0},getMaxScrollPosition:function(){var n=this,t=n.layout,r=t.getNames(),i=n.scrollSize-t.innerCt["get"+r.widthCap]();return i<0?0:i},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},scrollTo:function(n,t){var i=this,u=i.layout,f=u.getNames(),e=i.getScrollPosition(),r=Ext.Number.constrain(n,0,i.getMaxScrollPosition());r==e||i.scrolling||(delete i.scrollPosition,t===undefined&&(t=i.animateScroll),u.innerCt.scrollTo(f.left,r,t?i.getScrollAnim():!1),t?i.scrolling=!0:i.updateScrollButtons(),i.fireEvent("scroll",i,r,t?i.getScrollAnim():!1))},scrollToItem:function(n,t){var i=this,o=i.layout,r=o.getNames(),u,f,e;n=i.getItem(n);n!==undefined&&(u=i.getItemVisibility(n),u.fullyVisible||(f=n.getBox(!0,!0),e=f[r.x],u.hiddenEnd&&(e-=i.layout.innerCt["get"+r.widthCap]()-f[r.width]),i.scrollTo(e,t)))},getItemVisibility:function(n){var t=this,f=t.getItem(n).getBox(!0,!0),e=t.layout,i=e.getNames(),r=f[i.x],o=r+f[i.width],u=t.getScrollPosition(),s=u+e.innerCt["get"+i.widthCap]();return{hiddenStart:r<u,hiddenEnd:o>s,fullyVisible:r>u&&o<s}}});Ext.define("Ext.util.Offset",{statics:{fromObject:function(n){return new this(n.x,n.y)}},constructor:function(n,t){return this.x=n!=null&&!isNaN(n)?n:0,this.y=t!=null&&!isNaN(t)?t:0,this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(n){this.x=n.x;this.y=n.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(n){return this.x==n.x&&this.y==n.y},round:function(n){if(isNaN(n))this.x=Math.round(this.x),this.y=Math.round(this.y);else{var t=Math.pow(10,n);this.x=Math.round(this.x*t)/t;this.y=Math.round(this.y*t)/t}},isZero:function(){return this.x==0&&this.y==0}});Ext.define("Ext.util.Region",{requires:["Ext.util.Offset"],statics:{getRegion:function(n){return Ext.fly(n).getPageBox(!0)},from:function(n){return new this(n.top,n.right,n.bottom,n.left)}},constructor:function(n,t,i,r){var u=this;u.y=u.top=u[1]=n;u.right=t;u.bottom=i;u.x=u.left=u[0]=r},contains:function(n){var t=this;return n.x>=t.x&&n.right<=t.right&&n.y>=t.y&&n.bottom<=t.bottom},intersect:function(n){var t=this,i=Math.max(t.y,n.y),r=Math.min(t.right,n.right),u=Math.min(t.bottom,n.bottom),f=Math.max(t.x,n.x);return u>i&&r>f?new this.self(i,r,u,f):!1},union:function(n){var t=this,i=Math.min(t.y,n.y),r=Math.max(t.right,n.right),u=Math.max(t.bottom,n.bottom),f=Math.min(t.x,n.x);return new this.self(i,r,u,f)},constrainTo:function(n){var t=this,i=Ext.Number.constrain;return t.top=t.y=i(t.top,n.y,n.bottom),t.bottom=i(t.bottom,n.y,n.bottom),t.left=t.x=i(t.left,n.x,n.right),t.right=i(t.right,n.x,n.right),t},adjust:function(n,t,i,r){var u=this;return u.top=u.y+=n,u.left=u.x+=r,u.right+=t,u.bottom+=i,u},getOutOfBoundOffset:function(n,t){if(Ext.isObject(n)){t=n;var i=new Ext.util.Offset;return i.x=this.getOutOfBoundOffsetX(t.x),i.y=this.getOutOfBoundOffsetY(t.y),i}return n=="x"?this.getOutOfBoundOffsetX(t):this.getOutOfBoundOffsetY(t)},getOutOfBoundOffsetX:function(n){return n<=this.x?this.x-n:n>=this.right?this.right-n:0},getOutOfBoundOffsetY:function(n){return n<=this.y?this.y-n:n>=this.bottom?this.bottom-n:0},isOutOfBound:function(n,t){return Ext.isObject(n)?(t=n,this.isOutOfBoundX(t.x)||this.isOutOfBoundY(t.y)):n=="x"?this.isOutOfBoundX(t):this.isOutOfBoundY(t)},isOutOfBoundX:function(n){return n<this.x||n>this.right},isOutOfBoundY:function(n){return n<this.y||n>this.bottom},restrict:function(n,t,i){if(Ext.isObject(n)){var r;return i=t,t=n,r=t.copy?t.copy():{x:t.x,y:t.y},r.x=this.restrictX(t.x,i),r.y=this.restrictY(t.y,i),r}return n=="x"?this.restrictX(t,i):this.restrictY(t,i)},restrictX:function(n,t){return t||(t=1),n<=this.x?n-=(n-this.x)*t:n>=this.right&&(n-=(n-this.right)*t),n},restrictY:function(n,t){return t||(t=1),n<=this.y?n-=(n-this.y)*t:n>=this.bottom&&(n-=(n-this.bottom)*t),n},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(n){var t=this;return t.top=t.y=t[1]=n.y,t.right=n.right,t.bottom=n.bottom,t.left=t.x=t[0]=n.x,this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(n,t){arguments.length==1&&(t=n.y,n=n.x);var i=this;return i.top=i.y+=t,i.right+=n,i.bottom+=t,i.left=i.x+=n,i},round:function(){var n=this;return n.top=n.y=Math.round(n.y),n.right=Math.round(n.right),n.bottom=Math.round(n.bottom),n.left=n.x=Math.round(n.x),n},equals:function(n){return this.top==n.top&&this.right==n.right&&this.bottom==n.bottom&&this.left==n.left}});Ext.define("Ext.dd.DragDropManager",{singleton:!0,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:!0,stopPropagation:!0,initialized:!1,locked:!1,init:function(){this.initialized=!0},POINT:0,INTERSECT:1,mode:0,notifyOccluded:!1,_execOnAll:function(n,t){var r,u,i;for(r in this.ids)for(u in this.ids[r])(i=this.ids[r][u],this.isTypeOfDD(i))&&i[n].apply(i,t)},_onLoad:function(){this.init();var n=Ext.EventManager;n.on(document,"mouseup",this.handleMouseUp,this,!0);n.on(document,"mousemove",this.handleMouseMove,this,!0);n.on(window,"unload",this._onUnload,this,!0);n.on(window,"resize",this._onResize,this,!0)},_onResize:function(){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=!0},unlock:function(){this.locked=!1},isLocked:function(){return this.locked},locationCache:{},useCache:!0,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:!1,clickTimeout:null,startX:0,startY:0,regDragDrop:function(n,t){this.initialized||this.init();this.ids[t]||(this.ids[t]={});this.ids[t][n.id]=n},removeDDFromGroup:function(n,t){this.ids[t]||(this.ids[t]={});var i=this.ids[t];i&&i[n.id]&&delete i[n.id]},_remove:function(n){for(var t in n.groups)t&&this.ids[t]&&this.ids[t][n.id]&&delete this.ids[t][n.id];delete this.handleIds[n.id]},regHandle:function(n,t){this.handleIds[n]||(this.handleIds[n]={});this.handleIds[n][t]=t},isDragDrop:function(n){return this.getDDById(n)?!0:!1},getRelated:function(n,t){var r=[],u,f,i;for(u in n.groups)for(f in this.ids[u])(i=this.ids[u][f],this.isTypeOfDD(i))&&(!t||i.isTarget)&&(r[r.length]=i);return r},isLegalTarget:function(n,t){for(var r=this.getRelated(n,!0),i=0,u=r.length;i<u;++i)if(r[i].id==t.id)return!0;return!1},isTypeOfDD:function(n){return n&&n.__ygDragDrop},isHandle:function(n,t){return this.handleIds[n]&&this.handleIds[n][t]},getDDById:function(n){var r=this,i,t;for(i in this.ids)if(t=this.ids[i][n],t instanceof Ext.dd.DDTarget)return t;return null},handleMouseDown:function(n,t){Ext.tip.QuickTipManager&&Ext.tip.QuickTipManager.ddDisable();this.dragCurrent&&this.handleMouseUp(n);this.currentTarget=n.getTarget();this.dragCurrent=t;var i=t.getEl();Ext.isIE&&i.setCapture&&i.setCapture();this.startX=n.getPageX();this.startY=n.getPageY();this.deltaX=this.startX-i.offsetLeft;this.deltaY=this.startY-i.offsetTop;this.dragThreshMet=!1;this.clickTimeout=setTimeout(function(){var n=Ext.dd.DragDropManager;n.startDrag(n.startX,n.startY)},this.clickTimeThresh)},startDrag:function(n,t){clearTimeout(this.clickTimeout);this.dragCurrent&&(this.dragCurrent.b4StartDrag(n,t),this.dragCurrent.startDrag(n,t));this.dragThreshMet=!0},handleMouseUp:function(n){var t=this.dragCurrent;(Ext.tip&&Ext.tip.QuickTipManager&&Ext.tip.QuickTipManager.ddEnable(),t)&&(Ext.isIE&&document.releaseCapture&&document.releaseCapture(),clearTimeout(this.clickTimeout),this.dragThreshMet&&this.fireEvents(n,!0),this.stopDrag(n),this.stopEvent(n))},stopEvent:function(n){this.stopPropagation&&n.stopPropagation();this.preventDefault&&n.preventDefault()},stopDrag:function(n){if(this.dragCurrent){this.dragThreshMet&&(this.dragCurrent.b4EndDrag(n),this.dragCurrent.endDrag(n));this.dragCurrent.onMouseUp(n)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(n){var t=this,i,r;if(!t.dragCurrent)return!0;if(t.dragThreshMet||(i=Math.abs(t.startX-n.getPageX()),r=Math.abs(t.startY-n.getPageY()),(i>t.clickPixelThresh||r>t.clickPixelThresh)&&t.startDrag(t.startX,t.startY)),t.dragThreshMet){t.dragCurrent.b4Drag(n);t.dragCurrent.onDrag(n);t.dragCurrent.moveOnly||t.fireEvents(n,!1)}return t.stopEvent(n),!0},fireEvents:function(n,t){var f=this,r=f.dragCurrent,y=n.getPoint(),u,v,l=[],p=[],s=[],h=[],o=[],c=[],w,i,e,a;if(r&&!r.isLocked()){for(i in f.dragOvers)(u=f.dragOvers[i],f.isTypeOfDD(u))&&(this.isOverTarget(y,u,f.mode)||s.push(u),p[i]=!0,delete f.dragOvers[i]);for(a in r.groups)if("string"==typeof a)for(i in f.ids[a])u=f.ids[a][i],f.isTypeOfDD(u)&&(v=u.getEl())&&u.isTarget&&!u.isLocked()&&Ext.fly(v).isVisible(!0)&&(u!=r||r.ignoreSelf===!1)&&((u.zIndex=f.getZIndex(v))!==-1&&(w=!0),l.push(u));for(w&&Ext.Array.sort(l,f.byZIndex),i=0,e=l.length;i<e;i++)if(u=l[i],f.isOverTarget(y,u,f.mode)&&(t?o.push(u):(p[u.id]?h.push(u):c.push(u),f.dragOvers[u.id]=u),!f.notifyOccluded))break;if(f.mode){if(s.length){r.b4DragOut(n,s);r.onDragOut(n,s)}if(c.length)r.onDragEnter(n,c);if(h.length){r.b4DragOver(n,h);r.onDragOver(n,h)}if(o.length){r.b4DragDrop(n,o);r.onDragDrop(n,o)}}else{for(i=0,e=s.length;i<e;++i){r.b4DragOut(n,s[i].id);r.onDragOut(n,s[i].id)}for(i=0,e=c.length;i<e;++i)r.onDragEnter(n,c[i].id);for(i=0,e=h.length;i<e;++i){r.b4DragOver(n,h[i].id);r.onDragOver(n,h[i].id)}for(i=0,e=o.length;i<e;++i){r.b4DragDrop(n,o[i].id);r.onDragDrop(n,o[i].id)}}if(t&&!o.length)r.onInvalidDrop(n)}},getZIndex:function(n){var r=document.body,t,i=-1;for(n=Ext.getDom(n);n!==r;)isNaN(t=Number(Ext.fly(n).getStyle("zIndex")))||(i=t),n=n.parentNode;return i},byZIndex:function(n,t){return n.zIndex<t.zIndex},getBestMatch:function(n){var t=null,u=n.length,r,i;if(u==1)t=n[0];else for(r=0;r<u;++r)if(i=n[r],i.cursorIsOver){t=i;break}else(!t||t.overlap.getArea()<i.overlap.getArea())&&(t=i);return t},refreshCache:function(n){var i,u,t,r;for(i in n)if("string"==typeof i)for(u in this.ids[i])t=this.ids[i][u],this.isTypeOfDD(t)&&(r=this.getLocation(t),r?this.locationCache[t.id]=r:delete this.locationCache[t.id])},verifyEl:function(n){if(n){var t;if(Ext.isIE)try{t=n.offsetParent}catch(i){}else t=n.offsetParent;if(t)return!0}return!1},getLocation:function(n){if(!this.isTypeOfDD(n))return null;if(n.getRegion)return n.getRegion();var i=n.getEl(),t,r,f,u,e,o,s,h,c;try{t=Ext.Element.getXY(i)}catch(l){}return t?(r=t[0],f=r+i.offsetWidth,u=t[1],e=u+i.offsetHeight,o=u-n.padding[0],s=f+n.padding[1],h=e+n.padding[2],c=r-n.padding[3],new Ext.util.Region(o,s,h,c)):null},isOverTarget:function(n,t,i){var u=this.locationCache[t.id],r,f,e,s,o;return(u&&this.useCache||(u=this.getLocation(t),this.locationCache[t.id]=u),!u)?!1:(t.cursorIsOver=u.contains(n),r=this.dragCurrent,!r||!r.getTargetCoord||!i&&!r.constrainX&&!r.constrainY)?t.cursorIsOver:(t.overlap=null,f=r.getTargetCoord(n.x,n.y),e=r.getDragEl(),s=new Ext.util.Region(f.y,f.x+e.offsetWidth,f.y+e.offsetHeight,f.x),o=s.intersect(u),o?(t.overlap=o,i?!0:t.cursorIsOver):!1)},_onUnload:function(){Ext.dd.DragDropManager.unregAll()},unregAll:function(){this.dragCurrent&&(this.stopDrag(),this.dragCurrent=null);this._execOnAll("unreg",[]);for(var n in this.elementCache)delete this.elementCache[n];this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(n){var t=this.elementCache[n];return t&&t.el||(t=this.elementCache[n]=new this.ElementWrapper(Ext.getDom(n))),t},getElement:function(n){return Ext.getDom(n)},getCss:function(n){var t=Ext.getDom(n);return t?t.style:null},ElementWrapper:function(n){this.el=n||null;this.id=this.el&&n.id;this.css=this.el&&n.style},getPosX:function(n){return Ext.Element.getX(n)},getPosY:function(n){return Ext.Element.getY(n)},swapNode:function(n,t){if(n.swapNode)n.swapNode(t);else{var i=t.parentNode,r=t.nextSibling;r==n?i.insertBefore(n,t):t==n.nextSibling?i.insertBefore(t,n):(n.parentNode.replaceChild(t,n),i.insertBefore(n,r))}},getScroll:function(){var u=window.document,n=u.documentElement,r=u.body,t=0,i=0;return Ext.isGecko4?(t=window.scrollYOffset,i=window.scrollXOffset):n&&(n.scrollTop||n.scrollLeft)?(t=n.scrollTop,i=n.scrollLeft):r&&(t=r.scrollTop,i=r.scrollLeft),{top:t,left:i}},getStyle:function(n,t){return Ext.fly(n).getStyle(t)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(n,t){var i=Ext.Element.getXY(t);Ext.Element.setXY(n,i)},numericSort:function(n,t){return n-t},_timeoutCount:0,_addListeners:function(){document?this._onLoad():this._timeoutCount<=2e3&&(setTimeout(this._addListeners,10),document&&document.body&&(this._timeoutCount+=1))},handleWasClicked:function(n,t){if(this.isHandle(t,n.id))return!0;for(var i=n.parentNode;i;){if(this.isHandle(t,i.id))return!0;i=i.parentNode}return!1}},function(){this._addListeners()});Ext.define("Ext.layout.container.Box",{alias:["layout.box"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.BoxLayout",requires:["Ext.layout.container.boxOverflow.None","Ext.layout.container.boxOverflow.Menu","Ext.layout.container.boxOverflow.Scroller","Ext.util.Format","Ext.dd.DragDropManager"],defaultMargins:{top:0,right:0,bottom:0,left:0},padding:0,pack:"start",flex:undefined,stretchMaxPartner:undefined,type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",innerCls:Ext.baseCSSPrefix+"box-inner",availableSpaceOffset:0,reserveOffset:!0,manageMargins:!0,childEls:["innerCt","targetEl"],renderTpl:["{%var oc,l=values.$comp.layout,oh=l.overflowHandler;","if (oh.getPrefixConfig!==Ext.emptyFn) {","if(oc=oh.getPrefixConfig())dh.generateMarkup(oc, out)","}%}",'<div id="{ownerId}-innerCt" class="{[l.innerCls]} {[oh.getOverflowCls()]}" role="presentation">','<div id="{ownerId}-targetEl" style="position:absolute;',"width:20000px;","left:0px;top:0px;",'height:1px">',"{%this.renderBody(out, values)%}","<\/div>","<\/div>","{%if (oh.getSuffixConfig!==Ext.emptyFn) {","if(oc=oh.getSuffixConfig())dh.generateMarkup(oc, out)","}%}",{disableFormats:!0,definitions:"var dh=Ext.DomHelper;"}],constructor:function(){var n=this,t;n.callParent(arguments);n.flexSortFn=Ext.Function.bind(n.flexSort,n);n.initOverflowHandler();t=typeof n.padding;(t=="string"||t=="number")&&(n.padding=Ext.util.Format.parseBox(n.padding),n.padding.height=n.padding.top+n.padding.bottom,n.padding.width=n.padding.left+n.padding.right)},getNames:function(){return this.names},_percentageRe:/^\s*(\d+(?:\.\d*)?)\s*[%]\s*$/,getItemSizePolicy:function(n,t){var i=this,u=i.sizePolicy,f=i.align,s=n.flex,e=f,r=i.names,a=n[r.width],h=n[r.height],o=i._percentageRe,c=o.test(a),l=f=="stretch";return(l||s||c)&&!t&&(t=i.owner.getSizeModel()),l?!o.test(h)&&t[r.height].shrinkWrap&&(e="stretchmax"):f!="stretchmax"&&(e=o.test(h)?"stretch":""),(s||c)&&(t[r.width].shrinkWrap||(u=u.flex)),u[e]},flexSort:function(n,t){var i=this.getNames().maxWidth,r=Infinity;return(n=n.target[i]||r,t=t.target[i]||r,!isFinite(n)&&!isFinite(t))?0:n-t},isItemBoxParent:function(){return!0},isItemShrinkWrap:function(){return!0},minSizeSortFn:function(n,t){return t.available-n.available},roundFlex:function(n){return Math.ceil(n)},beginCollapse:function(n){var t=this;t.direction==="vertical"&&n.collapsedVertical()?(n.collapseMemento.capture(["flex"]),delete n.flex):t.direction==="horizontal"&&n.collapsedHorizontal()&&(n.collapseMemento.capture(["flex"]),delete n.flex)},beginExpand:function(n){n.collapseMemento.restore(["flex"])},beginLayout:function(n){var t=this,i=t.owner.stretchMaxPartner,u=t.innerCt.dom.style,r=t.getNames();n.boxNames=r;t.overflowHandler.beginLayout(n);typeof i=="string"&&(i=Ext.getCmp(i)||t.owner.query(i)[0]);n.stretchMaxPartner=i&&n.context.getCmp(i);t.callParent(arguments);n.innerCtContext=n.getEl("innerCt",t);t.scrollParallel=!!(t.owner.autoScroll||t.owner[r.overflowX]);t.scrollPerpendicular=!!(t.owner.autoScroll||t.owner[r.overflowY]);t.scrollParallel&&(t.scrollPos=t.owner.getTargetEl().dom[r.scrollLeft]);u.width="";u.height=""},beginLayoutCycle:function(n,t){var r=this,i=r.align,f=n.boxNames,u=r.pack,e=f.heightModel;r.overflowHandler.beginLayoutCycle(n,t);r.callParent(arguments);n.parallelSizeModel=n[f.widthModel];n.perpendicularSizeModel=n[e];n.boxOptions={align:i={stretch:i=="stretch",stretchmax:i=="stretchmax",center:i==f.center},pack:u={center:u=="center",end:u=="end"}};i.stretch&&n.perpendicularSizeModel.shrinkWrap&&(i.stretchmax=!0,i.stretch=!1);i.nostretch=!(i.stretch||i.stretchmax);n.parallelSizeModel.shrinkWrap&&(u.center=u.end=!1);r.cacheFlexes(n);Ext.isWebKit&&r.targetEl.setWidth(2e4)},cacheFlexes:function(n){for(var o=this,i=n.boxNames,p=i.widthModel,w=i.heightModel,b=n.boxOptions.align.nostretch,s=0,h=n.childItems,c=h.length,f=[],l=0,k=i.minWidth,a=o._percentageRe,v=0,y=0,r,t,e,u;c--;)t=h[c],r=t.target,t[p].calculated&&(t.flex=e=r.flex,e?(s+=e,f.push(t),l+=r[k]||0):(u=a.exec(r[i.width]),t.percentageParallel=parseFloat(u[1])/100,++v)),b&&t[w].calculated&&(u=a.exec(r[i.height]),t.percentagePerpendicular=parseFloat(u[1])/100,++y);n.flexedItems=f;n.flexedMinSize=l;n.totalFlex=s;n.percentageWidths=v;n.percentageHeights=y;Ext.Array.sort(f,o.flexSortFn)},calculate:function(n){var t=this,f=t.getContainerSize(n),u=n.boxNames,i=n.state,r=i.boxPlan||(i.boxPlan={});if(r.targetSize=f,!n.parallelSizeModel.shrinkWrap&&!f[u.gotWidth]){t.done=!1;return}i.parallelDone||(i.parallelDone=t.calculateParallel(n,u,r));i.perpendicularDone||(i.perpendicularDone=t.calculatePerpendicular(n,u,r));i.parallelDone&&i.perpendicularDone?(t.owner.dock&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&!t.owner.width&&!t.horizontal&&(r.isIEVerticalDock=!0,r.calculatedWidth=r.maxSize+n.getPaddingInfo().width+n.getFrameInfo().width),t.publishInnerCtSize(n,t.reserveOffset?t.availableSpaceOffset:0),t.done&&n.childItems.length>1&&n.boxOptions.align.stretchmax&&!i.stretchMaxDone&&(t.calculateStretchMax(n,u,r),i.stretchMaxDone=!0)):t.done=!1},calculateParallel:function(n,t,i){var e=this,l=t.width,a=n.childItems,g=t.left,nt=t.right,ot=t.setWidth,p=a.length,tt=n.flexedItems,st=tt.length,it=n.boxOptions.pack,rt=e.padding,ut=i.targetSize[l],w=0,f=rt[g],o=f+rt[nt]+e.scrollOffset+(e.reserveOffset?e.availableSpaceOffset:0),ft=Ext.getScrollbarSize()[t.width],r,v,s,b,u,k,y,h,et,c,d;if(ft&&e.scrollPerpendicular&&n.parallelSizeModel.shrinkWrap&&!n.boxOptions.align.stretch&&!n.perpendicularSizeModel.shrinkWrap){if(!n.state.perpendicularDone)return!1;et=!0}for(r=0;r<p;++r)if(u=a[r],v=u.marginInfo||u.getMarginInfo(),w+=v[l],!u[t.widthModel].calculated&&(c=u.getProp(l),o+=c,isNaN(o)))return!1;if(o+=w,n.percentageWidths){if(d=ut-w,isNaN(d))return!1;for(r=0;r<p;++r)u=a[r],u.percentageParallel&&(c=Math.ceil(d*u.percentageParallel),c=u.setWidth(c),o+=c)}if(n.parallelSizeModel.shrinkWrap)i.availableSpace=0,i.tooNarrow=!1;else if(i.availableSpace=ut-o,i.tooNarrow=i.availableSpace<n.flexedMinSize,i.tooNarrow&&Ext.getScrollbarSize()[t.height]&&e.scrollParallel&&n.state.perpendicularDone)for(n.state.perpendicularDone=!1,r=0;r<p;++r)a[r].invalidate();for(h=o,s=i.availableSpace,b=n.totalFlex,r=0;r<st;r++)u=tt[r],k=u.flex,y=e.roundFlex(k/b*s),y=u[ot](y),h+=y,s=Math.max(0,s-y),b-=k;for(it.center?(f+=s/2,f<0&&(f=0)):it.end&&(f+=s),r=0;r<p;++r)u=a[r],v=u.marginInfo,f+=v[g],u.setProp(t.x,f),f+=v[nt]+u.props[l];return h+=n.targetContext.getPaddingInfo()[l],n.state.contentWidth=h,et&&n.peek(t.contentHeight)>i.targetSize[t.height]&&(h+=ft,n[t.hasOverflowY]=!0,n.target.componentLayout[t.setWidthInDom]=!0,n[t.invalidateScrollY]=Ext.isStrict&&Ext.isIE8),n[t.setContentWidth](h),!0},calculatePerpendicular:function(n,t,i){var p=this,c=n.perpendicularSizeModel.shrinkWrap,ht=i.targetSize,w=n.childItems,ft=w.length,b=Math.max,f=t.height,ct=t.setHeight,et=t.top,lt=t.y,ot=p.padding,k=ot[et],l=ht[f]-k-ot[t.bottom],d=n.boxOptions.align,g=d.stretch,at=d.stretchmax,nt=d.center,u=0,st=0,v=Ext.getScrollbarSize().height,tt,e,o,s,it,h,r,y,rt,ut,a;if((g||nt&&!c)&&isNaN(l))return!1;if(p.scrollParallel&&i.tooNarrow&&(c?ut=!0:(l-=v,i.targetSize[f]-=v)),g)h=l;else{for(e=0;e<ft;e++){if(r=w[e],s=(r.marginInfo||r.getMarginInfo())[f],a=r.percentagePerpendicular)if(++st,c)continue;else o=a*l-s,o=r[t.setHeight](o);else o=r.getProp(f);if(isNaN(u=b(u,o+s,r.target[t.minHeight]||0)))return!1}if(ut&&(u+=v,n[t.hasOverflowX]=!0,n.target.componentLayout[t.setHeightInDom]=!0,n[t.invalidateScrollX]=Ext.isStrict&&Ext.isIE8),y=n.stretchMaxPartner,y&&(n.setProp("maxChildHeight",u),rt=y.childItems,rt&&rt.length&&(u=b(u,y.getProp("maxChildHeight")),isNaN(u))))return!1;n[t.setContentHeight](u+p.padding[f]+n.targetContext.getPaddingInfo()[f]);ut&&(u-=v);i.maxSize=u;at?h=u:(nt||st)&&(h=(c?u:b(l,u))-n.innerCtContext.getBorderInfo()[f])}for(e=0;e<ft;e++)r=w[e],s=r.marginInfo||r.getMarginInfo(),tt=k+s[et],g?r[ct](h-s[f]):(a=r.percentagePerpendicular,c&&a&&(s=r.marginInfo||r.getMarginInfo(),o=a*h-s[f],o=r.setHeight(o)),nt&&(it=h-r.props[f],it>0&&(tt=k+Math.round(it/2)))),r.setProp(lt,tt);return!0},calculateStretchMax:function(n,t,i){for(var e=this,s=t.height,c=t.width,h=n.childItems,l=h.length,a=i.maxSize,v=e.onBeforeInvalidateChild,y=e.onAfterInvalidateChild,r,u,o,f=0;f<l;++f)r=h[f],u=r.props,o=a-r.getMarginInfo()[s],(o!=u[s]||r[t.heightModel].constrained)&&r.invalidate({before:v,after:y,layout:e,childWidth:u[c],childHeight:o,childX:u.x,childY:u.y,names:t})},completeLayout:function(n){var i=this,h=n.boxNames,r=n.invalidateScrollX,u=n.invalidateScrollY,s,f,e,o,t;i.overflowHandler.completeLayout(n);(r||u)&&(f=i.getTarget(),s=f.dom,t=s.style,r&&(e=f.getStyle("overflowX"),e=="auto"?(e=t.overflowX,t.overflowX="scroll"):r=!1),u&&(o=f.getStyle("overflowY"),o=="auto"?(o=t.overflowY,t.overflowY="scroll"):u=!1),(r||u)&&(s.scrollWidth,r&&(t.overflowX=e),u&&(t.overflowY=o)));i.scrollParallel&&(i.owner.getTargetEl().dom[h.scrollLeft]=i.scrollPos)},finishedLayout:function(n){this.overflowHandler.finishedLayout(n);this.callParent(arguments);Ext.isWebKit&&this.targetEl.setWidth(n.innerCtContext.props.width)},onBeforeInvalidateChild:function(n,t){var i=t.names.heightModel;n[i].constrainedMax||(n[i]=Ext.layout.SizeModel.calculated)},onAfterInvalidateChild:function(n,t){var i=t.names,f=Ext.getScrollbarSize(),r=t.childHeight,u=t.childWidth;n.setProp("x",t.childX);n.setProp("y",t.childY);n[i.heightModel].calculated&&n[i.setHeight](r);n[i.widthModel].calculated&&n[i.setWidth](u)},publishInnerCtSize:function(n,t){var f=this,i=n.boxNames,o=i.height,y=i.width,s=n.boxOptions.align,h=f.owner.dock,c=f.padding,u=n.state.boxPlan,l=u.targetSize,a=l[o],e=n.innerCtContext,v=(n.parallelSizeModel.shrinkWrap||u.tooNarrow&&f.scrollParallel?n.state.contentWidth:l[y])-(t||0),r;s.stretch?r=a:(r=u.maxSize+c[i.top]+c[i.bottom]+e.getBorderInfo()[o],!n.perpendicularSizeModel.shrinkWrap&&s.center&&(r=Math.max(a,r)));e[i.setWidth](v);e[i.setHeight](r);isNaN(v+r)&&(f.done=!1);u.calculatedWidth&&(h=="left"||h=="right")&&n.setWidth(u.calculatedWidth,!0,!0)},onRemove:function(n){var t=this;if(t.callParent(arguments),t.overflowHandler)t.overflowHandler.onRemove(n);n.layoutMarginCap==t.id&&delete n.layoutMarginCap},initOverflowHandler:function(){var t=this,n=t.overflowHandler,i,r;typeof n=="string"&&(n={type:n});i="None";n&&n.type!==undefined&&(i=n.type);r=Ext.layout.container.boxOverflow[i];r[t.type]&&(r=r[t.type]);t.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+i,t,n)},getRenderTarget:function(){return this.targetEl},getElementTarget:function(){return this.innerCt},destroy:function(){Ext.destroy(this.innerCt,this.overflowHandler);this.callParent(arguments)}});Ext.define("Ext.layout.container.HBox",{alias:["layout.hbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.HBoxLayout",align:"top",type:"hbox",direction:"horizontal",horizontal:!0,names:{lr:"lr",left:"left",leftCap:"Left",right:"right",position:"left",width:"width",contentWidth:"contentWidth",minWidth:"minWidth",maxWidth:"maxWidth",widthCap:"Width",widthModel:"widthModel",widthIndex:0,x:"x",scrollLeft:"scrollLeft",overflowX:"overflowX",hasOverflowX:"hasOverflowX",invalidateScrollX:"invalidateScrollX",center:"middle",top:"top",topPosition:"top",bottom:"bottom",height:"height",contentHeight:"contentHeight",minHeight:"minHeight",maxHeight:"maxHeight",heightCap:"Height",heightModel:"heightModel",heightIndex:1,y:"y",scrollTop:"scrollTop",overflowY:"overflowY",hasOverflowY:"hasOverflowY",invalidateScrollY:"invalidateScrollY",getWidth:"getWidth",getHeight:"getHeight",setWidth:"setWidth",setHeight:"setHeight",gotWidth:"gotWidth",gotHeight:"gotHeight",setContentWidth:"setContentWidth",setContentHeight:"setContentHeight",setWidthInDom:"setWidthInDom",setHeightInDom:"setHeightInDom"},sizePolicy:{flex:{"":{setsWidth:1,setsHeight:0},stretch:{setsWidth:1,setsHeight:1},stretchmax:{readsHeight:1,setsWidth:1,setsHeight:1}},"":{setsWidth:0,setsHeight:0},stretch:{setsWidth:0,setsHeight:1},stretchmax:{readsHeight:1,setsWidth:0,setsHeight:1}}});Ext.define("Ext.layout.container.VBox",{alias:["layout.vbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.VBoxLayout",align:"left",type:"vbox",direction:"vertical",horizontal:!1,names:{lr:"tb",left:"top",leftCap:"Top",right:"bottom",position:"top",width:"height",contentWidth:"contentHeight",minWidth:"minHeight",maxWidth:"maxHeight",widthCap:"Height",widthModel:"heightModel",widthIndex:1,x:"y",scrollLeft:"scrollTop",overflowX:"overflowY",hasOverflowX:"hasOverflowY",invalidateScrollX:"invalidateScrollY",center:"center",top:"left",topPosition:"left",bottom:"right",height:"width",contentHeight:"contentWidth",minHeight:"minWidth",maxHeight:"maxWidth",heightCap:"Width",heightModel:"widthModel",heightIndex:0,y:"x",scrollTop:"scrollLeft",overflowY:"overflowX",hasOverflowY:"hasOverflowX",invalidateScrollY:"invalidateScrollX",getWidth:"getHeight",getHeight:"getWidth",setWidth:"setHeight",setHeight:"setWidth",gotWidth:"gotHeight",gotHeight:"gotWidth",setContentWidth:"setContentHeight",setContentHeight:"setContentWidth",setWidthInDom:"setHeightInDom",setHeightInDom:"setWidthInDom"},sizePolicy:{flex:{"":{setsWidth:0,setsHeight:1},stretch:{setsWidth:1,setsHeight:1},stretchmax:{readsWidth:1,setsWidth:1,setsHeight:1}},"":{setsWidth:0,setsHeight:0},stretch:{setsWidth:1,setsHeight:0},stretchmax:{readsWidth:1,setsWidth:1,setsHeight:0}}});Ext.define("Ext.toolbar.Toolbar",{extend:"Ext.container.Container",requires:["Ext.toolbar.Fill","Ext.layout.container.HBox","Ext.layout.container.VBox"],uses:["Ext.toolbar.Separator"],alias:"widget.toolbar",alternateClassName:"Ext.Toolbar",isToolbar:!0,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:!1,enableOverflow:!1,menuTriggerCls:Ext.baseCSSPrefix+"toolbar-more-icon",trackMenus:!0,itemCls:Ext.baseCSSPrefix+"toolbar-item",statics:{shortcuts:{"-":"tbseparator"," ":"tbspacer"},shortcutsHV:{0:{"->":{xtype:"tbfill",height:0}},1:{"->":{xtype:"tbfill",width:0}}}},initComponent:function(){var n=this;!n.layout&&n.enableOverflow&&(n.layout={overflowHandler:"Menu"});(n.dock==="right"||n.dock==="left")&&(n.vertical=!0);n.layout=Ext.applyIf(Ext.isString(n.layout)?{type:n.layout}:n.layout||{},{type:n.vertical?"vbox":"hbox",align:n.vertical?"stretchmax":"middle"});n.vertical&&n.addClsWithUI("vertical");n.ui==="footer"&&(n.ignoreBorderManagement=!0);n.callParent();n.addEvents("overflowchange")},getRefItems:function(n){var i=this,r=i.callParent(arguments),u=i.layout,t;return n&&i.enableOverflow&&(t=u.overflowHandler,t&&t.menu&&(r=r.concat(t.menu.getRefItems(n)))),r},lookupComponent:function(n){if(typeof n=="string"){var i=Ext.toolbar.Toolbar,t=i.shortcutsHV[this.vertical?1:0][n]||i.shortcuts[n];n=typeof t=="string"?{xtype:t}:t?Ext.apply({},t):{xtype:"tbtext",text:n};this.applyDefaults(n)}return this.callParent(arguments)},applyDefaults:function(n){return Ext.isString(n)||(n=this.callParent(arguments)),n},trackMenu:function(n,t){if(this.trackMenus&&n.menu){var r=t?"mun":"mon",i=this;i[r](n,"mouseover",i.onButtonOver,i);i[r](n,"menushow",i.onButtonMenuShow,i);i[r](n,"menuhide",i.onButtonMenuHide,i)}},constructButton:function(n){return n.events?n:Ext.widget(n.split?"splitbutton":this.defaultType,n)},onBeforeAdd:function(n){(n.is("field")||n.is("button")&&this.ui!="footer")&&(n.ui=n.ui+"-toolbar");n instanceof Ext.toolbar.Separator&&n.setUI(this.vertical?"vertical":"horizontal");this.callParent(arguments)},onAdd:function(n){this.callParent(arguments);this.trackMenu(n)},onRemove:function(n){this.callParent(arguments);this.trackMenu(n,!0)},getChildItemsToDisable:function(){return this.items.getRange()},onButtonOver:function(n){this.activeMenuBtn&&this.activeMenuBtn!=n&&(this.activeMenuBtn.hideMenu(),n.showMenu(),this.activeMenuBtn=n)},onButtonMenuShow:function(n){this.activeMenuBtn=n},onButtonMenuHide:function(){delete this.activeMenuBtn}});Ext.define("Ext.container.DockingContainer",{requires:["Ext.util.MixedCollection","Ext.Element"],isDockingContainer:!0,defaultDockWeights:{top:{render:1,visual:1},left:{render:3,visual:5},right:{render:5,visual:7},bottom:{render:7,visual:3}},dockOrder:{top:-1,left:-1,right:1,bottom:1},addDocked:function(n,t){var i=this,u=0,r,f;for(n=i.prepareItems(n),f=n.length;u<f;u++){if(r=n[u],r.dock=r.dock||"top",t!==undefined?i.dockedItems.insert(t+u,r):i.dockedItems.add(r),r.onAdded!==Ext.emptyFn)r.onAdded(i,u);if(i.onDockedAdd!==Ext.emptyFn)i.onDockedAdd(r)}return i.rendered&&!i.suspendLayout&&i.updateLayout(),n},destroyDockedItems:function(){var n=this.dockedItems,t;if(n)while(t=n.first())this.removeDocked(t,!0)},doRenderDockedItems:function(n,t,i){var e=t.$comp,r=e.componentLayout,u,f;r.getDockedItems&&!t.$skipDockedItems&&(u=r.getDockedItems("render",!i),f=u&&r.getItemsRenderTree(u),f&&Ext.DomHelper.generateMarkup(f,n))},getDockedComponent:function(n){return Ext.isObject(n)&&(n=n.getItemId()),this.dockedItems.get(n)},getDockedItems:function(n,t){var i=this.getComponentLayout().getDockedItems("render",t);return n&&i.length&&(i=Ext.ComponentQuery.query(n,i)),i},getDockingRefItems:function(n,t){var r=n&&"*,* *",i=this.getDockedItems(r,!0),u;return i.push.apply(i,t),u=this.getDockedItems(r,!1),i.push.apply(i,u),i},initDockingItems:function(){var n=this,t=n.dockedItems;n.dockedItems=new Ext.util.AbstractMixedCollection(!1,n.getComponentId);t&&n.addDocked(t)},insertDocked:function(n,t){this.addDocked(t,n)},onDockedAdd:Ext.emptyFn,onDockedRemove:Ext.emptyFn,removeDocked:function(n,t){var i=this,r,u;if(!i.dockedItems.contains(n))return n;if(r=i.componentLayout,u=r&&i.rendered,u)r.onRemove(n);i.dockedItems.remove(n);n.onRemoved();i.onDockedRemove(n);return t===!0||t!==!1&&i.autoDestroy?n.destroy():u&&r.afterRemove(n),i.destroying||i.suspendLayout||i.updateLayout(),n},setupDockingRenderTpl:function(n){n.renderDockedItems=this.doRenderDockedItems}});Ext.define("Ext.panel.AbstractPanel",{extend:"Ext.container.Container",mixins:{docking:"Ext.container.DockingContainer"},requires:["Ext.util.MixedCollection","Ext.Element","Ext.toolbar.Toolbar"],baseCls:Ext.baseCSSPrefix+"panel",isPanel:!0,componentLayout:"dock",childEls:["body"],renderTpl:["{% this.renderDockedItems(out,values,0); %}",Ext.isIE6||Ext.isIE7||Ext.isIEQuirks?"<div><\/div>":"",'<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}<\/tpl>',' {baseCls}-body-{ui}<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}<\/tpl>','<\/tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"<\/tpl>>',"{%this.renderContainer(out,values);%}","<\/div>","{% this.renderDockedItems(out,values,1); %}"],bodyPosProps:{x:"x",y:"y"},border:!0,emptyArray:[],initComponent:function(){var n=this;n.frame&&n.border&&n.bodyBorder===undefined&&(n.bodyBorder=!1);n.frame&&n.border&&(n.bodyBorder===!1||n.bodyBorder===0)&&(n.manageBodyBorders=!0);n.callParent()},beforeDestroy:function(){this.destroyDockedItems();this.callParent()},initItems:function(){this.callParent();this.initDockingItems()},initRenderData:function(){var n=this,t=n.callParent();return n.initBodyStyles(),n.protoBody.writeTo(t),delete n.protoBody,t},getComponent:function(n){var t=this.callParent(arguments);return t!==undefined||Ext.isNumber(n)||(t=this.getDockedComponent(n)),t},getProtoBody:function(){var n=this,t=n.protoBody;return t||(n.protoBody=t=new Ext.util.ProtoElement({cls:n.bodyCls,style:n.bodyStyle,clsProp:"bodyCls",styleProp:"bodyStyle",styleIsText:!0})),t},initBodyStyles:function(){var n=this,t=n.getProtoBody(),i=Ext.Element;n.bodyPadding!==undefined&&t.setStyle("padding",i.unitizeBox(n.bodyPadding===!0?5:n.bodyPadding));n.frame&&n.bodyBorder&&(Ext.isNumber(n.bodyBorder)||(n.bodyBorder=1),t.setStyle("border-width",i.unitizeBox(n.bodyBorder)))},getCollapsedDockedItems:function(){var n=this;return n.collapseMode=="placeholder"?n.emptyArray:[n.getReExpander()]},setBodyStyle:function(n,t){var i=this,r=i.rendered?i.body:i.getProtoBody();return Ext.isFunction(n)&&(n=n()),arguments.length==1?(Ext.isString(n)&&(n=Ext.Element.parseStyles(n)),r.setStyle(n)):r.setStyle(n,t),i},addBodyCls:function(n){var t=this,i=t.rendered?t.body:t.getProtoBody();return i.addCls(n),t},removeBodyCls:function(n){var t=this,i=t.rendered?t.body:t.getProtoBody();return i.removeCls(n),t},addUIClsToElement:function(n){var t=this,i=t.callParent(arguments);return t.addBodyCls([Ext.baseCSSPrefix+n,t.baseCls+"-body-"+n,t.baseCls+"-body-"+t.ui+"-"+n]),i},removeUIClsFromElement:function(n){var t=this,i=t.callParent(arguments);return t.removeBodyCls([Ext.baseCSSPrefix+n,t.baseCls+"-body-"+n,t.baseCls+"-body-"+t.ui+"-"+n]),i},addUIToElement:function(){var n=this;n.callParent(arguments);n.addBodyCls(n.baseCls+"-body-"+n.ui)},removeUIFromElement:function(){var n=this;n.callParent(arguments);n.removeBodyCls(n.baseCls+"-body-"+n.ui)},getTargetEl:function(){return this.body},getRefItems:function(n){var t=this.callParent(arguments);return this.getDockingRefItems(n,t)},setupRenderTpl:function(n){this.callParent(arguments);this.setupDockingRenderTpl(n)}});Ext.define("Ext.layout.component.Body",{alias:["layout.body"],extend:"Ext.layout.component.Auto",type:"body",beginLayout:function(n){this.callParent(arguments);n.bodyContext=n.getEl("body")},calculateOwnerHeightFromContentHeight:function(n){var t=this.callParent(arguments);return n.targetContext!=n&&(t+=n.getPaddingInfo().height),t},calculateOwnerWidthFromContentWidth:function(n){var t=this.callParent(arguments);return n.targetContext!=n&&(t+=n.getPaddingInfo().width),t},measureContentWidth:function(n){return n.bodyContext.setWidth(n.bodyContext.el.dom.offsetWidth,!1)},measureContentHeight:function(n){return n.bodyContext.setHeight(n.bodyContext.el.dom.offsetHeight,!1)},publishInnerHeight:function(n,t){var i=t-n.getFrameInfo().height,r=n.targetContext;return r!=n&&(i-=n.getPaddingInfo().height),n.bodyContext.setHeight(i,!n.heightModel.natural)},publishInnerWidth:function(n,t){var i=t-n.getFrameInfo().width,r=n.targetContext;r!=n&&(i-=n.getPaddingInfo().width);n.bodyContext.setWidth(i,!n.widthModel.natural)}});Ext.define("Ext.panel.Header",{extend:"Ext.container.Container",uses:["Ext.panel.Tool","Ext.draw.Component","Ext.util.CSS","Ext.layout.component.Body","Ext.Img"],alias:"widget.header",isHeader:!0,defaultType:"tool",indicateDrag:!1,weight:-1,componentLayout:"body",titleAlign:"left",childEls:["body"],renderTpl:['<div id="{id}-body" class="{baseCls}-body {bodyCls}','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}<\/tpl>"','<tpl if="bodyStyle"> style="{bodyStyle}"<\/tpl>>',"{%this.renderContainer(out,values)%}","<\/div>"],headingTpl:'<span id="{id}-textEl" class="{cls}-text {cls}-text-{ui}">{title}<\/span>',shrinkWrap:3,initComponent:function(){var n=this,r,u,t,i,f;n.addEvents("click","dblclick");n.indicateDragCls=n.baseCls+"-draggable";n.title=n.title||"&#160;";n.tools=n.tools||[];n.items=n.items||[];n.orientation=n.orientation||"horizontal";n.dock=n.dock?n.dock:n.orientation=="horizontal"?"top":"left";n.addClsWithUI([n.orientation,n.dock]);n.indicateDrag&&n.addCls(n.indicateDragCls);Ext.isEmpty(n.iconCls)&&Ext.isEmpty(n.icon)||(n.initIconCmp(),n.items.push(n.iconCmp));n.orientation=="vertical"?(n.layout={type:"vbox",align:"center"},n.textConfig={width:16,cls:n.baseCls+"-text",type:"text",text:n.title,rotate:{degrees:90}},i=n.ui,Ext.isArray(i)&&(i=i[0]),r="."+n.baseCls+"-text-"+i,Ext.scopeResetCSS&&(r="."+Ext.baseCSSPrefix+"reset "+r),u=Ext.util.CSS.getRule(r),u?t=u.style:(t=(f=Ext.resetElement.createChild({style:"position:absolute",cls:n.baseCls+"-text-"+i})).getStyles("fontFamily","fontWeight","fontSize","color"),f.remove()),t&&Ext.apply(n.textConfig,{"font-family":t.fontFamily,"font-weight":t.fontWeight,"font-size":t.fontSize,fill:t.color}),n.titleCmp=new Ext.draw.Component({width:16,ariaRole:"heading",focusable:!1,viewBox:!1,flex:1,id:n.id+"_hd",autoSize:!0,items:n.textConfig,xhooks:{setSize:function(n){this.callParent([n])}},childEls:[{name:"textEl",select:"."+n.baseCls+"-text"}]})):(n.layout={type:"hbox",align:"middle"},n.titleCmp=new Ext.Component({ariaRole:"heading",focusable:!1,noWrap:!0,flex:1,id:n.id+"_hd",style:"text-align:"+n.titleAlign,cls:n.baseCls+"-text-container",renderTpl:n.getTpl("headingTpl"),renderData:{title:n.title,cls:n.baseCls,ui:n.ui},childEls:["textEl"]}));n.items.push(n.titleCmp);n.items=n.items.concat(n.tools);n.callParent();n.on({dblclick:n.onDblClick,click:n.onClick,element:"el",scope:n})},initIconCmp:function(){var n=this,t={focusable:!1,src:Ext.BLANK_IMAGE_URL,cls:[n.baseCls+"-icon",n.iconCls],id:n.id+"-iconEl",iconCls:n.iconCls};Ext.isEmpty(n.icon)||(delete t.iconCls,t.src=n.icon);n.iconCmp=new Ext.Img(t)},afterRender:function(){this.el.unselectable();this.callParent()},addUIClsToElement:function(n){var t=this,f=t.callParent(arguments),r=[t.baseCls+"-body-"+n,t.baseCls+"-body-"+t.ui+"-"+n],u,i;if(t.bodyCls){for(u=t.bodyCls.split(" "),i=0;i<r.length;i++)Ext.Array.contains(u,r[i])||u.push(r[i]);t.bodyCls=u.join(" ")}else t.bodyCls=r.join(" ");return f},removeUIClsFromElement:function(n){var t=this,f=t.callParent(arguments),u=[t.baseCls+"-body-"+n,t.baseCls+"-body-"+t.ui+"-"+n],r,i;if(t.bodyCls){for(r=t.bodyCls.split(" "),i=0;i<u.length;i++)Ext.Array.remove(r,u[i]);t.bodyCls=r.join(" ")}return f},addUIToElement:function(){var n=this,i,t;n.callParent(arguments);t=n.baseCls+"-body-"+n.ui;n.rendered?n.bodyCls?n.body.addCls(n.bodyCls):n.body.addCls(t):n.bodyCls?(i=n.bodyCls.split(" "),Ext.Array.contains(i,t)||i.push(t),n.bodyCls=i.join(" ")):n.bodyCls=t;n.titleCmp&&n.titleCmp.rendered&&n.titleCmp.textEl&&n.titleCmp.textEl.addCls(n.baseCls+"-text-"+n.ui)},removeUIFromElement:function(){var n=this,i,t;n.callParent(arguments);t=n.baseCls+"-body-"+n.ui;n.rendered?n.bodyCls?n.body.removeCls(n.bodyCls):n.body.removeCls(t):n.bodyCls?(i=n.bodyCls.split(" "),Ext.Array.remove(i,t),n.bodyCls=i.join(" ")):n.bodyCls=t;n.titleCmp&&n.titleCmp.rendered&&n.titleCmp.textEl&&n.titleCmp.textEl.removeCls(n.baseCls+"-text-"+n.ui)},onClick:function(n){this.fireClickEvent("click",n)},onDblClick:function(n){this.fireClickEvent("dblclick",n)},fireClickEvent:function(n,t){var i="."+Ext.panel.Tool.prototype.baseCls;t.getTarget(i)||this.fireEvent(n,this,t)},getFocusEl:function(){return this.el},getTargetEl:function(){return this.body||this.frameBody||this.el},setTitle:function(n){var t=this,i,r;if(t.rendered)if(t.titleCmp.rendered)t.titleCmp.surface?(t.title=n||"",i=t.titleCmp.surface.items.items[0],r=t.titleCmp.surface,r.remove(i),t.textConfig.type="text",t.textConfig.text=n,i=r.add(t.textConfig),i.setAttributes({rotate:{degrees:90}},!0),t.titleCmp.autoSizeSurface()):(t.title=n,t.titleCmp.textEl.update(t.title||"&#160;")),t.titleCmp.updateLayout();else t.titleCmp.on({render:function(){t.setTitle(n)},single:!0});else t.title=n},getMinWidth:function(){var t=this,u=t.titleCmp.textEl.dom,i,r=t.tools,f,n;if(u.style.display="inline",i=u.offsetWidth,u.style.display="",r&&(f=r.length))for(n=0;n<f;n++)r[n].el&&(i+=r[n].el.dom.offsetWidth);return t.iconCmp&&(i+=t.iconCmp.el.dom.offsetWidth),i+10},setIconCls:function(n){var t=this,r=!n||!n.length,i=t.iconCmp;t.iconCls=n;t.iconCmp||r?i&&(r?(t.iconCmp.destroy(),delete t.iconCmp):(i.removeCls(i.iconCls),i.addCls(n),i.iconCls=n)):(t.initIconCmp(),t.insert(0,t.iconCmp))},setIcon:function(n){var t=this,i=!n||!n.length,r=t.iconCmp;t.icon=n;t.iconCmp||i?r&&(i?(t.iconCmp.destroy(),delete t.iconCmp):r.setSrc(t.icon)):(t.initIconCmp(),t.insert(0,t.iconCmp))},addTool:function(n){this.tools.push(this.add(n))},onAdd:function(n){this.callParent(arguments);n instanceof Ext.panel.Tool&&(n.bindTo(this.ownerCt),this.tools[n.type]=n)},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyCls:this.bodyCls})}});Ext.define("Ext.fx.target.Target",{isAnimTarget:!0,constructor:function(n){this.target=n;this.id=this.getId()},getId:function(){return this.target.id}});Ext.define("Ext.fx.target.Element",{extend:"Ext.fx.target.Target",type:"element",getElVal:function(n,t,i){return i==undefined&&(i=t==="x"?n.getX():t==="y"?n.getY():t==="scrollTop"?n.getScroll().top:t==="scrollLeft"?n.getScroll().left:t==="height"?n.getHeight():t==="width"?n.getWidth():n.getStyle(t)),i},getAttr:function(n,t){var i=this.target;return[[i,this.getElVal(i,n,t)]]},setAttr:function(n){for(var c=this.target,h=n.length,u,t,o,e,s,i,r,f=0;f<h;f++){u=n[f].attrs;for(t in u)if(u.hasOwnProperty(t))for(s=u[t].length,e=0;e<s;e++)o=u[t][e],i=o[0],r=o[1],t==="x"?i.setX(r):t==="y"?i.setY(r):t==="scrollTop"?i.scrollTo("top",r):t==="scrollLeft"?i.scrollTo("left",r):t==="width"?i.setWidth(r):t==="height"?i.setHeight(r):i.setStyle(t,r)}}});Ext.define("Ext.fx.target.ElementCSS",{extend:"Ext.fx.target.Element",setAttr:function(n,t){for(var f={attrs:[],duration:[],easing:[]},c=n.length,l,i,e,o,s,r,h,a,u=0;u<c;u++){i=n[u];s=i.duration;o=i.easing;i=i.attrs;for(e in i)Ext.Array.indexOf(f.attrs,e)==-1&&(f.attrs.push(e.replace(/[A-Z]/g,function(n){return"-"+n.toLowerCase()})),f.duration.push(s+"ms"),f.easing.push(o))}for(l=f.attrs.join(","),s=f.duration.join(","),o=f.easing.join(", "),u=0;u<c;u++){i=n[u].attrs;for(e in i)for(a=i[e].length,h=0;h<a;h++)if(r=i[e][h],r[0].setStyle(Ext.supports.CSS3Prefix+"TransitionProperty",t?"":l),r[0].setStyle(Ext.supports.CSS3Prefix+"TransitionDuration",t?"":s),r[0].setStyle(Ext.supports.CSS3Prefix+"TransitionTimingFunction",t?"":o),r[0].setStyle(e,r[1]),t)r=r[0].dom.offsetWidth;else r[0].on(Ext.supports.CSS3TransitionEnd,function(){this.setStyle(Ext.supports.CSS3Prefix+"TransitionProperty",null);this.setStyle(Ext.supports.CSS3Prefix+"TransitionDuration",null);this.setStyle(Ext.supports.CSS3Prefix+"TransitionTimingFunction",null)},r[0],{single:!0})}}});Ext.define("Ext.fx.target.CompositeElement",{extend:"Ext.fx.target.Element",isComposite:!0,constructor:function(n){n.id=n.id||Ext.id(null,"ext-composite-");this.callParent([n])},getAttr:function(n,t){for(var u=[],f=this.target.elements,e=f.length,i,r=0;r<e;r++)i=f[r],i&&(i=this.target.getElement(i),u.push([i,this.getElVal(i,n,t)]));return u}});Ext.define("Ext.fx.target.CompositeElementCSS",{extend:"Ext.fx.target.CompositeElement",requires:["Ext.fx.target.ElementCSS"],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(n,t){var i;switch(t){case"rotate":case"rotation":return i=n.attr.rotation,{x:i.x||0,y:i.y||0,degrees:i.degrees||0};case"scale":case"scaling":return i=n.attr.scaling,{x:i.x||1,y:i.y||1,cx:i.cx||0,cy:i.cy||0};case"translate":case"translation":return i=n.attr.translation,{x:i.x||0,y:i.y||0};default:return n.attr[t]}},getAttr:function(n,t){return[[this.target,t!=undefined?t:this.getFromPrim(this.target,n)]]},setAttr:function(n){for(var l=n.length,e=[],a,t,h,i,v,c,o,s,u,f,y,r=0;r<l;r++){a=n[r].attrs;for(t in a)for(h=a[t],y=h.length,s=0;s<y;s++)v=h[s][0],i=h[s][1],t==="translate"||t==="translation"?o={x:i.x,y:i.y}:t==="rotate"||t==="rotation"?(u=i.x,isNaN(u)&&(u=null),f=i.y,isNaN(f)&&(f=null),o={degrees:i.degrees,x:u,y:f}):t==="scale"||t==="scaling"?(u=i.x,isNaN(u)&&(u=null),f=i.y,isNaN(f)&&(f=null),o={x:u,y:f,cx:i.cx,cy:i.cy}):o=t==="width"||t==="height"||t==="x"||t==="y"?parseFloat(i):i,c=Ext.Array.indexOf(e,v),c==-1&&(e.push([v,{}]),c=e.length-1),e[c][1][t]=o}for(l=e.length,r=0;r<l;r++)e[r][0].setAttributes(e[r][1]);this.target.redraw()}});Ext.define("Ext.fx.target.CompositeSprite",{extend:"Ext.fx.target.Sprite",getAttr:function(n,t){for(var u=[],f=[].concat(this.target.items),e=f.length,r,i=0;i<e;i++)r=f[i],u.push([r,t!=undefined?t:this.getFromPrim(r,n)]);return u}});Ext.define("Ext.fx.target.Component",{extend:"Ext.fx.target.Target",type:"component",getPropMethod:{top:function(){return this.getPosition(!0)[1]},left:function(){return this.getPosition(!0)[0]},x:function(){return this.getPosition()[0]},y:function(){return this.getPosition()[1]},height:function(){return this.getHeight()},width:function(){return this.getWidth()},opacity:function(){return this.el.getStyle("opacity")}},compMethod:{top:"setPosition",left:"setPosition",x:"setPagePosition",y:"setPagePosition",height:"setSize",width:"setSize",opacity:"setOpacity"},getAttr:function(n,t){return[[this.target,t!==undefined?t:this.getPropMethod[n].call(this.target)]]},setAttr:function(n,t,i){for(var e=this,w=e.target,p=n.length,o,f,r,h,u,a,v,y,c,l,s=0;s<p;s++){o=n[s].attrs;for(f in o){for(a=o[f].length,u={setPosition:{},setPagePosition:{},setSize:{},setOpacity:{}},h=0;h<a;h++)r=o[f][h],u[e.compMethod[f]].target=r[0],u[e.compMethod[f]][f]=r[1];u.setPosition.target&&(r=u.setPosition,v=r.left===undefined?undefined:parseFloat(r.left),y=r.top===undefined?undefined:parseFloat(r.top),r.target.setPosition(v,y));u.setPagePosition.target&&(r=u.setPagePosition,r.target.setPagePosition(r.x,r.y));u.setSize.target&&(r=u.setSize,c=r.width===undefined?r.target.getWidth():parseFloat(r.width),l=r.height===undefined?r.target.getHeight():parseFloat(r.height),i||e.dynamic?r.target.setSize(c,l):r.target.el.setSize(c,l));u.setOpacity.target&&(r=u.setOpacity,r.target.el.setStyle("opacity",r.opacity))}}}});Ext.define("Ext.fx.Queue",{requires:["Ext.util.HashMap"],constructor:function(){this.targets=new Ext.util.HashMap;this.fxQueue={}},getFxDefaults:function(n){var t=this.targets.get(n);return t?t.fxDefaults:{}},setFxDefaults:function(n,t){var i=this.targets.get(n);i&&(i.fxDefaults=Ext.apply(i.fxDefaults||{},t))},stopAnimation:function(n){for(var r=this,i=r.getFxQueue(n),t=i.length;t;)i[t-1].end(),t--},getActiveAnimation:function(n){var t=this.getFxQueue(n);return t&&!!t.length?t[0]:!1},hasFxBlock:function(n){var t=this.getFxQueue(n);return t&&t[0]&&t[0].block},getFxQueue:function(n){if(!n)return!1;var t=this,r=t.fxQueue[n],i=t.targets.get(n);if(!i)return!1;if(!r&&(t.fxQueue[n]=[],i.type!="element"))i.target.on("destroy",function(){t.fxQueue[n]=[]});return t.fxQueue[n]},queueFx:function(n){var u=this,i=n.target,t,r;if(i){if(t=u.getFxQueue(i.getId()),r=t.length,r)if(n.concurrent)n.paused=!1;else t[r-1].on("afteranimate",function(){n.paused=!1});else n.paused=!1;n.on("afteranimate",function(){if(Ext.Array.remove(t,n),n.remove&&i.type=="element"){var r=Ext.get(i.id);r&&r.remove()}},this);t.push(n)}}});Ext.define("Ext.fx.Manager",{singleton:!0,requires:["Ext.util.MixedCollection","Ext.fx.target.Element","Ext.fx.target.ElementCSS","Ext.fx.target.CompositeElement","Ext.fx.target.CompositeElementCSS","Ext.fx.target.Sprite","Ext.fx.target.CompositeSprite","Ext.fx.target.Component"],mixins:{queue:"Ext.fx.Queue"},constructor:function(){this.items=new Ext.util.MixedCollection;this.mixins.queue.constructor.call(this)},interval:16,forceJS:!0,createTarget:function(n){var r=this,i=!r.forceJS&&Ext.supports.Transitions,t;if(r.useCSS3=i,n){if(n.tagName||Ext.isString(n)||n.isFly)n=Ext.get(n),t=new Ext.fx.target["Element"+(i?"CSS":"")](n);else if(n.dom)t=new Ext.fx.target["Element"+(i?"CSS":"")](n);else if(n.isComposite)t=new Ext.fx.target["CompositeElement"+(i?"CSS":"")](n);else if(n.isSprite)t=new Ext.fx.target.Sprite(n);else if(n.isCompositeSprite)t=new Ext.fx.target.CompositeSprite(n);else if(n.isComponent)t=new Ext.fx.target.Component(n);else return n.isAnimTarget?n:null;return r.targets.add(t),t}return null},addAnim:function(n){var i=this.items,t=this.task;i.add(n.id,n);!t&&i.length&&(t=this.task={run:this.runner,interval:this.interval,scope:this},Ext.TaskManager.start(t))},removeAnim:function(n){var t=this,i=t.items,r=t.task;i.removeAtKey(n.id);r&&!i.length&&(Ext.TaskManager.stop(r),delete t.task)},runner:function(){var t=this,r=t.items.getRange(),n=0,u=r.length,i;for(t.targetArr={},t.timestamp=new Date;n<u;n++)i=r[n],i.isReady()&&t.startAnim(i);for(n=0;n<u;n++)i=r[n],i.isRunning()&&t.runAnim(i);t.applyPendingAttrs()},startAnim:function(n){n.start(this.timestamp)},runAnim:function(n){if(n){var r=this,o=n.target.getId(),u=r.useCSS3&&n.target.type=="element",f=r.timestamp-n.startTime,e=f>=n.duration,t,i;if(t=this.collectTargetData(n,f,u,e),u){n.target.setAttr(t.anims[n.id].attributes,!0);r.collectTargetData(n,n.duration,u,e);n.paused=!0;t=n.target.target;n.target.isComposite&&(t=n.target.target.last());i={};i[Ext.supports.CSS3TransitionEnd]=n.lastFrame;i.scope=n;i.single=!0;t.on(i)}}},collectTargetData:function(n,t,i,r){var f=n.target.getId(),u=this.targetArr[f];return u||(u=this.targetArr[f]={id:f,el:n.target,anims:{}}),u.anims[n.id]={id:n.id,anim:n,elapsed:t,isLastFrame:r,attributes:[{duration:n.duration,easing:i&&n.reverse?n.easingFn.reverse().toCSS3():n.easing,attrs:n.runAnim(t)}]},u},applyPendingAttrs:function(){var i=this.targetArr,t,r,n,u,f;for(r in i)if(i.hasOwnProperty(r)){t=i[r];for(f in t.anims)t.anims.hasOwnProperty(f)&&(n=t.anims[f],u=n.anim,n.attributes&&u.isRunning()&&(t.el.setAttr(n.attributes,!1,n.isLastFrame),n.isLastFrame&&u.lastFrame()))}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:!0,duration:250,delay:0,delayStart:0,dynamic:!1,easing:"ease",running:!1,paused:!1,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(n){var t=this;n=Ext.apply(t,n||{});t.config=n;t.id=Ext.id(null,"ext-animator-");t.addEvents("beforeanimate","keyframe","afteranimate");t.mixins.observable.constructor.call(t,n);t.timeline=[];t.createTimeline(t.keyframes);t.target&&(t.applyAnimator(t.target),Ext.fx.Manager.addAnim(t))},sorter:function(n,t){return n.pct-t.pct},createTimeline:function(n){var u=this,i=[],c=u.to||{},e=u.duration,o,s,r,h,t,f;for(t in n)n.hasOwnProperty(t)&&u.animKeyFramesRE.test(t)&&(f={attrs:Ext.apply(n[t],c)},t=="from"?t=0:t=="to"&&(t=100),f.pct=parseInt(t,10),i.push(f));for(Ext.Array.sort(i,u.sorter),h=i.length,r=0;r<h;r++)o=i[r-1]?e*(i[r-1].pct/100):0,s=e*(i[r].pct/100),u.timeline.push({duration:s-o,attrs:i[r].attrs})},applyAnimator:function(n){var t=this,f=[],o=t.timeline,c=t.reverse,e=o.length,i,s,h,u,r;if(t.fireEvent("beforeanimate",t)!==!1){for(r=0;r<e;r++)i=o[r],u=i.attrs,s=u.easing||t.easing,h=u.damper||t.damper,delete u.easing,delete u.damper,i=new Ext.fx.Anim({target:n,easing:s,damper:h,duration:i.duration,paused:!0,to:u}),f.push(i);for(t.animations=f,t.target=i.target,r=0;r<e-1;r++){i=f[r];i.nextAnim=f[r+1];i.on("afteranimate",function(){this.nextAnim.paused=!1});i.on("afteranimate",function(){this.fireEvent("keyframe",this,++this.keyframeStep)},t)}f[e-1].on("afteranimate",function(){this.lastFrame()},t)}},start:function(n){var t=this,i=t.delay,r=t.delayStart,u;if(i)if(r){if(u=n-r,u<i)return;n=new Date(r.getTime()+i)}else{t.delayStart=n;return}t.fireEvent("beforeanimate",t)!==!1&&(t.startTime=n,t.running=!0,t.animations[t.keyframeStep].paused=!1)},lastFrame:function(){var n=this,i=n.iterations,t=n.currentIteration;t++;t<i?(n.startTime=new Date,n.currentIteration=t,n.keyframeStep=0,n.applyAnimator(n.target),n.animations[n.keyframeStep].paused=!1):(n.currentIteration=0,n.end())},end:function(){var n=this;n.fireEvent("afteranimate",n,n.startTime,new Date-n.startTime)},isReady:function(){return this.paused===!1&&this.running===!1&&this.iterations>0},isRunning:function(){return!1}});Ext.define("Ext.fx.CubicBezier",{singleton:!0,cubicBezierAtTime:function(n,t,i,r,u,f){function l(n){return((h*n+o)*n+e)*n}function v(n,t){var i=y(n,t);return((a*i+c)*i+s)*i}function y(n,t){for(var r,u,f,s,i=n,c=0;c<8;c++){if(f=l(i)-n,Math.abs(f)<t)return i;if(s=(3*h*i+2*o)*i+e,Math.abs(s)<1e-6)break;i=i-f/s}if(r=0,u=1,i=n,i<r)return r;if(i>u)return u;while(r<u){if(f=l(i),Math.abs(f-n)<t)return i;n>f?r=i:u=i;i=(u-r)/2+r}return i}var e=3*t,o=3*(r-t)-e,h=1-e-o,s=3*i,c=3*(u-i)-s,a=1-s-c;return v(n,1/(200*f))},cubicBezier:function(n,t,i,r){var u=function(u){return Ext.fx.CubicBezier.cubicBezierAtTime(u,n,t,i,r,1)};return u.toCSS3=function(){return"cubic-bezier("+[n,t,i,r].join(",")+")"},u.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-i,1-r,1-n,1-t)},u}});Ext.ns("Ext.fx");Ext.require("Ext.fx.CubicBezier",function(){var t=Math,f=t.PI,n=t.pow,e=t.sin,u=t.sqrt,i=t.abs,r=1.70158;Ext.fx.Easing={};Ext.apply(Ext.fx.Easing,{linear:function(n){return n},ease:function(t){var f=.07813-t/2,e=u(.0066+f*f),o=e-f,h=n(i(o),1/3)*(o<0?-1:1),s=-e-f,c=n(i(s),1/3)*(s<0?-1:1),r=h+c+.25;return n(1-r,2)*3*r*.1+(1-r)*3*r*r+r*r*r},easeIn:function(t){return n(t,1.7)},easeOut:function(t){return n(t,.48)},easeInOut:function(t){var f=.48-t/1.04,e=u(.1734+f*f),o=e-f,h=n(i(o),1/3)*(o<0?-1:1),s=-e-f,c=n(i(s),1/3)*(s<0?-1:1),r=h+c+.5;return(1-r)*3*r*r+r*r*r},backIn:function(n){return n*n*((r+1)*n-r)},backOut:function(n){return n=n-1,n*n*((r+1)*n+r)+1},elasticIn:function(t){if(t===0||t===1)return t;var i=.3,r=i/4;return n(2,-10*t)*e((t-r)*2*f/i)+1},elasticOut:function(n){return 1-Ext.fx.Easing.elasticIn(1-n)},bounceIn:function(n){return 1-Ext.fx.Easing.bounceOut(1-n)},bounceOut:function(n){var r=7.5625,t=2.75,i;return n<1/t?i=r*n*n:n<2/t?(n-=1.5/t,i=r*n*n+.75):n<2.5/t?(n-=2.25/t,i=r*n*n+.9375):(n-=2.625/t,i=r*n*n+.984375),i}});Ext.apply(Ext.fx.Easing,{"back-in":Ext.fx.Easing.backIn,"back-out":Ext.fx.Easing.backOut,"ease-in":Ext.fx.Easing.easeIn,"ease-out":Ext.fx.Easing.easeOut,"elastic-in":Ext.fx.Easing.elasticIn,"elastic-out":Ext.fx.Easing.elasticIn,"bounce-in":Ext.fx.Easing.bounceIn,"bounce-out":Ext.fx.Easing.bounceOut,"ease-in-out":Ext.fx.Easing.easeInOut})});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:.2,constructor:function(n,t,i){var r=this,u=Ext.Number.constrain;r.r=u(n,0,255);r.g=u(t,0,255);r.b=u(i,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var n=this;return[n.r,n.g,n.b]},getHSL:function(){var o=this,i=o.r/255,r=o.g/255,e=o.b/255,n=Math.max(i,r,e),u=Math.min(i,r,e),f=n-u,t,s=0,h=.5*(n+u);return u!=n&&(s=h<.5?f/(n+u):f/(2-n-u),t=i==n?60*(r-e)/f:r==n?120+60*(e-i)/f:240+60*(i-r)/f,t<0&&(t+=360),t>=360&&(t-=360)),[t,s,h]},getLighter:function(n){var t=this.getHSL();return n=n||this.lightnessFactor,t[2]=Ext.Number.constrain(t[2]+n,0,1),this.fromHSL(t[0],t[1],t[2])},getDarker:function(n){return n=n||this.lightnessFactor,this.getLighter(-n)},toString:function(){var r=this,u=Math.round,n=u(r.r).toString(16),t=u(r.g).toString(16),i=u(r.b).toString(16);return n=n.length==1?"0"+n:n,t=t.length==1?"0"+t:t,i=i.length==1?"0"+i:i,["#",n,t,i].join("")},toHex:function(n){if(Ext.isArray(n)&&(n=n[0]),!Ext.isString(n))return"";if(n.substr(0,1)==="#")return n;var t=this.colorToHexRe.exec(n),i,r,u,f;return Ext.isArray(t)?(i=parseInt(t[2],10),r=parseInt(t[3],10),u=parseInt(t[4],10),f=u|r<<8|i<<16,t[1]+"#"+("000000"+f.toString(16)).slice(-6)):n},fromString:function(n){var t,i,r,u,f=parseInt;return(n.length==4||n.length==7)&&n.substr(0,1)==="#"?(t=n.match(this.hexRe),t&&(i=f(t[1],16)>>0,r=f(t[2],16)>>0,u=f(t[3],16)>>0,n.length==4&&(i+=i*16,r+=r*16,u+=u*16))):(t=n.match(this.rgbRe),t&&(i=t[1],r=t[2],u=t[3])),typeof i=="undefined"?undefined:new Ext.draw.Color(i,r,u)},getGrayscale:function(){return this.r*.3+this.g*.59+this.b*.11},fromHSL:function(n,t,i){var u,f,e,r=[],o=Math.abs,s=Math.floor;if(t==0||n==null)r=[i,i,i];else{n/=60;u=t*(1-o(2*i-1));f=u*(1-o(n-2*s(n/2)-1));e=i-u/2;switch(s(n)){case 0:r=[u,f,0];break;case 1:r=[f,u,0];break;case 2:r=[0,u,f];break;case 3:r=[0,f,u];break;case 4:r=[f,0,u];break;case 5:r=[u,0,f]}r=[r[0]+e,r[1]+e,r[2]+e]}return new Ext.draw.Color(r[0]*255,r[1]*255,r[2]*255)}},function(){var n=this.prototype;this.addStatics({fromHSL:function(){return n.fromHSL.apply(n,arguments)},fromString:function(){return n.fromString.apply(n,arguments)},toHex:function(){return n.toHex.apply(n,arguments)}})});Ext.define("Ext.draw.Draw",{singleton:!0,requires:["Ext.draw.Color"],pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(n,t){return t=String(t).toLowerCase(),t=="object"&&n===Object(n)||t=="undefined"&&typeof n==t||t=="null"&&n===null||t=="array"&&Array.isArray&&Array.isArray(n)||Object.prototype.toString.call(n).toLowerCase().slice(8,-1)==t},ellipsePath:function(n){var t=n.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",t.x,t.y-t.ry,t.rx,t.ry,t.y+t.ry)},rectPath:function(n){var t=n.attr;return t.radius?Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",t.x+t.radius,t.y,t.width-t.radius*2,t.radius,-t.radius,t.height-t.radius*2,t.radius*2-t.width,t.radius*2-t.height):Ext.String.format("M{0},{1}L{2},{1},{2},{3},{0},{3}z",t.x,t.y,t.width+t.x,t.height+t.y)},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(n){return n.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(n){if(!n)return null;var r={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},t=[],i=this;return i.is(n,"array")&&i.is(n[0],"array")&&(t=i.pathClone(n)),t.length||String(n).replace(i.pathCommandRE,function(n,u,f){var e=[],o=u.toLowerCase();for(f.replace(i.pathValuesRE,function(n,t){t&&e.push(+t)}),o=="m"&&e.length>2&&(t.push([u].concat(Ext.Array.splice(e,0,2))),o="l",u=u=="m"?"l":"L");e.length>=r[o];)if(t.push([u].concat(Ext.Array.splice(e,0,r[o]))),!r[o])break}),t.toString=i.path2string,t},mapPath:function(n,t){if(!t)return n;var f,e,u,o,i,s,r;for(n=this.path2curve(n),u=0,o=n.length;u<o;u++)for(r=n[u],i=1,s=r.length;i<s-1;i+=2)f=t.x(r[i],r[i+1]),e=t.y(r[i],r[i+1]),r[i]=f,r[i+1]=e;return n},pathClone:function(n){var r=[],i,u,t,f;for(this.is(n,"array")&&this.is(n&&n[0],"array")||(n=this.parsePathString(n)),t=0,f=n.length;t<f;t++)for(r[t]=[],i=0,u=n[t].length;i<u;i++)r[t][i]=n[t][i];return r.toString=this.path2string,r},pathToAbsolute:function(n){this.is(n,"array")&&this.is(n&&n[0],"array")||(n=this.parsePathString(n));var s=[],u=0,f=0,h=0,c=0,o=0,l=n.length,i,t,r,e;for(l&&n[0][0]=="M"&&(u=+n[0][1],f=+n[0][2],h=u,c=f,o++,s[0]=["M",u,f]);o<l;o++){if(i=s[o]=[],t=n[o],t[0]!=t[0].toUpperCase()){i[0]=t[0].toUpperCase();switch(i[0]){case"A":i[1]=t[1];i[2]=t[2];i[3]=t[3];i[4]=t[4];i[5]=t[5];i[6]=+(t[6]+u);i[7]=+(t[7]+f);break;case"V":i[1]=+t[1]+f;break;case"H":i[1]=+t[1]+u;break;case"M":h=+t[1]+u;c=+t[2]+f;default:for(r=1,e=t.length;r<e;r++)i[r]=+t[r]+(r%2?u:f)}}else for(r=0,e=t.length;r<e;r++)s[o][r]=t[r];switch(i[0]){case"Z":u=h;f=c;break;case"H":u=i[1];break;case"V":f=i[1];break;case"M":t=s[o];e=t.length;h=t[e-2];c=t[e-1];default:t=s[o];e=t.length;u=t[e-2];f=t[e-1]}}return s.toString=this.path2string,s},pathToRelative:function(n){this.is(n,"array")&&this.is(n&&n[0],"array")||(n=this.parsePathString(n));var u=[],e=0,f=0,c=0,l=0,a=0,i,t,r,o,s,h,v,y,p;for(n[0][0]=="M"&&(e=n[0][1],f=n[0][2],c=e,l=f,a++,u.push(["M",e,f])),r=a,v=n.length;r<v;r++){if(i=u[r]=[],t=n[r],t[0]!=t[0].toLowerCase()){i[0]=t[0].toLowerCase();switch(i[0]){case"a":i[1]=t[1];i[2]=t[2];i[3]=t[3];i[4]=t[4];i[5]=t[5];i[6]=+(t[6]-e).toFixed(3);i[7]=+(t[7]-f).toFixed(3);break;case"v":i[1]=+(t[1]-f).toFixed(3);break;case"m":c=t[1];l=t[2];default:for(o=1,y=t.length;o<y;o++)i[o]=+(t[o]-(o%2?e:f)).toFixed(3)}}else for(i=u[r]=[],t[0]=="m"&&(c=t[1]+e,l=t[2]+f),s=0,p=t.length;s<p;s++)u[r][s]=t[s];h=u[r].length;switch(u[r][0]){case"z":e=c;f=l;break;case"h":e+=+u[r][h-1];break;case"v":f+=+u[r][h-1];break;default:e+=+u[r][h-2];f+=+u[r][h-1]}}return u.toString=this.path2string,u},path2curve:function(n){for(var o=this,i=o.pathToAbsolute(n),s=i.length,r={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},u,f,e,t=0;t<s;t++){if(i[t]=o.command2curve(i[t],r),i[t].length>7){for(i[t].shift(),e=i[t];e.length;)Ext.Array.splice(i,t++,0,["C"].concat(Ext.Array.splice(e,0,6)));Ext.Array.erase(i,t,1);s=i.length;t--}u=i[t];f=u.length;r.x=u[f-2];r.y=u[f-1];r.bx=parseFloat(u[f-4])||r.x;r.by=parseFloat(u[f-3])||r.y}return i},interpolatePaths:function(n,t){for(var l=this,r=l.pathToAbsolute(n),u=l.pathToAbsolute(t),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},v=function(n,t){if(n[t].length>7){n[t].shift();for(var i=n[t];i.length;)Ext.Array.splice(n,t++,0,["C"].concat(Ext.Array.splice(i,0,6)));Ext.Array.erase(n,t,1);a=Math.max(r.length,u.length||0)}},y=function(n,t,i,f,e){n&&t&&n[e][0]=="M"&&t[e][0]!="M"&&(Ext.Array.splice(t,e,0,["M",f.x,f.y]),i.bx=0,i.by=0,i.x=n[e][1],i.y=n[e][2],a=Math.max(r.length,u.length||0))},o,s,h,c,i=0,a=Math.max(r.length,u.length||0);i<a;i++)r[i]=l.command2curve(r[i],f),v(r,i),u[i]=l.command2curve(u[i],e),v(u,i),y(r,u,f,e,i),y(u,r,e,f,i),o=r[i],s=u[i],h=o.length,c=s.length,f.x=o[h-2],f.y=o[h-1],f.bx=parseFloat(o[h-4])||f.x,f.by=parseFloat(o[h-3])||f.y,e.bx=parseFloat(s[c-4])||e.x,e.by=parseFloat(s[c-3])||e.y,e.x=s[c-2],e.y=s[c-1];return[r,u]},command2curve:function(n,t){var i=this;if(!n)return["C",t.x,t.y,t.x,t.y,t.x,t.y];n[0]!="T"&&n[0]!="Q"&&(t.qx=t.qy=null);switch(n[0]){case"M":t.X=n[1];t.Y=n[2];break;case"A":n=["C"].concat(i.arc2curve.apply(i,[t.x,t.y].concat(n.slice(1))));break;case"S":n=["C",t.x+(t.x-(t.bx||t.x)),t.y+(t.y-(t.by||t.y))].concat(n.slice(1));break;case"T":t.qx=t.x+(t.x-(t.qx||t.x));t.qy=t.y+(t.y-(t.qy||t.y));n=["C"].concat(i.quadratic2curve(t.x,t.y,t.qx,t.qy,n[1],n[2]));break;case"Q":t.qx=n[1];t.qy=n[2];n=["C"].concat(i.quadratic2curve(t.x,t.y,n[1],n[2],n[3],n[4]));break;case"L":n=["C"].concat(t.x,t.y,n[1],n[2],n[1],n[2]);break;case"H":n=["C"].concat(t.x,t.y,n[1],t.y,n[1],t.y);break;case"V":n=["C"].concat(t.x,t.y,t.x,n[1],t.x,n[1]);break;case"Z":n=["C"].concat(t.x,t.y,t.X,t.Y,t.X,t.Y)}return n},quadratic2curve:function(n,t,i,r,u,f){var e=1/3,o=2/3;return[e*n+o*i,e*t+o*r,e*u+o*i,e*f+o*r,u,f]},rotate:function(n,t,i){var r=Math.cos(i),u=Math.sin(i),f=n*r-t*u,e=n*u+t*r;return{x:f,y:e}},arc2curve:function(n,t,i,r,u,f,e,o,s,h){var k=this,w=Math.PI,ht=k.radian,kt=w*120/180,rt=ht*(+u||0),a=[],d=Math,ut=d.cos,ft=d.sin,dt=d.sqrt,gt=d.abs,ni=d.asin,g,hi,ci,y,p,nt,et,ot,ct,tt,it,l,c,st,ti,ii,ri,ui,lt,at,vt,yt,b,pt,wt,bt,v,fi,ei,oi,si;if(h?(l=h[0],c=h[1],tt=h[2],it=h[3]):(g=k.rotate(n,t,-rt),n=g.x,t=g.y,g=k.rotate(o,s,-rt),o=g.x,s=g.y,hi=ut(ht*u),ci=ft(ht*u),y=(n-o)/2,p=(t-s)/2,nt=y*y/(i*i)+p*p/(r*r),nt>1&&(nt=dt(nt),i=nt*i,r=nt*r),et=i*i,ot=r*r,ct=(f==e?-1:1)*dt(gt((et*ot-et*p*p-ot*y*y)/(et*p*p+ot*y*y))),tt=ct*i*p/r+(n+o)/2,it=ct*-r*y/i+(t+s)/2,l=ni(((t-it)/r).toFixed(7)),c=ni(((s-it)/r).toFixed(7)),l=n<tt?w-l:l,c=o<tt?w-c:c,l<0&&(l=w*2+l),c<0&&(c=w*2+c),e&&l>c&&(l=l-w*2),!e&&c>l&&(c=c-w*2)),st=c-l,gt(st)>kt&&(ei=c,oi=o,si=s,c=l+kt*(e&&c>l?1:-1),o=tt+i*ut(c),s=it+r*ft(c),a=k.arc2curve(o,s,i,r,u,0,e,oi,si,[c,ei,tt,it])),st=c-l,ti=ut(l),ii=ft(l),ri=ut(c),ui=ft(c),lt=d.tan(st/4),at=4/3*i*lt,vt=4/3*r*lt,yt=[n,t],b=[n+at*ii,t-vt*ti],pt=[o+at*ui,s-vt*ri],wt=[o,s],b[0]=2*yt[0]-b[0],b[1]=2*yt[1]-b[1],h)return[b,pt,wt].concat(a);for(a=[b,pt,wt].concat(a).join().split(","),bt=[],fi=a.length,v=0;v<fi;v++)bt[v]=v%2?k.rotate(a[v-1],a[v],rt).y:k.rotate(a[v],a[v+1],rt).x;return bt},rotateAndTranslatePath:function(n){var o=n.rotation.degrees,h=n.rotation.x,c=n.rotation.y,u=n.translation.x,f=n.translation.y,s,e,t,r,i,l=[];if(!o&&!u&&!f)return this.pathToAbsolute(n.attr.path);for(u=u||0,f=f||0,s=this.pathToAbsolute(n.attr.path),e=s.length;e--;)if(t=l[e]=s[e].slice(),t[0]=="A")r=this.rotatePoint(t[6],t[7],o,h,c),t[6]=r.x+u,t[7]=r.y+f;else for(i=1;t[i+1]!=null;)r=this.rotatePoint(t[i],t[i+1],o,h,c),t[i]=r.x+u,t[i+1]=r.y+f,i+=2;return l},rotatePoint:function(n,t,i,r,u){if(!i)return{x:n,y:t};r=r||0;u=u||0;n=n-r;t=t-u;i=i*this.radian;var f=Math.cos(i),e=Math.sin(i);return{x:n*f-t*e+r,y:n*e+t*f+u}},pathDimensions:function(n){if(!n||!(n+""))return{x:0,y:0,width:0,height:0};n=this.path2curve(n);for(var f=0,e=0,i=[],r=[],o=0,c=n.length,t,s,h,u;o<c;o++)t=n[o],t[0]=="M"?(f=t[1],e=t[2],i.push(f),r.push(e)):(u=this.curveDim(f,e,t[1],t[2],t[3],t[4],t[5],t[6]),i=i.concat(u.min.x,u.max.x),r=r.concat(u.min.y,u.max.y),f=t[5],e=t[6]);return s=Math.min.apply(0,i),h=Math.min.apply(0,r),{x:s,y:h,path:n,width:Math.max.apply(0,i)-s,height:Math.max.apply(0,r)-h}},intersectInside:function(n,t,i){return(i[0]-t[0])*(n[1]-t[1])>(i[1]-t[1])*(n[0]-t[0])},intersectIntersection:function(n,t,i,r){var u=[],f=i[0]-r[0],e=i[1]-r[1],o=n[0]-t[0],s=n[1]-t[1],h=i[0]*r[1]-i[1]*r[0],c=n[0]*t[1]-n[1]*t[0],l=1/(f*s-e*o);return u[0]=(h*o-c*f)*l,u[1]=(h*s-c*e)*l,u},intersect:function(n,t){for(var o=this,c=0,l=t.length,r=t[l-1],u=n,i,f,e,a,s,h;c<l;++c){for(i=t[c],s=u,u=[],f=s[s.length-1],h=0,a=s.length;h<a;h++)e=s[h],o.intersectInside(e,r,i)?(o.intersectInside(f,r,i)||u.push(o.intersectIntersection(f,e,r,i)),u.push(e)):o.intersectInside(f,r,i)&&u.push(o.intersectIntersection(f,e,r,i)),f=e;r=i}return u},bezier:function(n,t,i,r,u){if(u===0)return n;if(u===1)return r;var f=1-u,o=f*f*f,e=u/f;return o*(n+e*(3*t+e*(3*i+r*e)))},bezierDim:function(n,t,i,r){var f=[],u,s,e,y,h,c,v,l,a,o;for(n+3*i==r+3*t?(u=n-t,u/=2*(n-t-t+i),u<1&&u>0&&f.push(u)):(s=n-3*t+3*i-r,e=2*(n-t-t+i),y=n-t,h=e*e-4*s*y,c=s+s,h===0?(u=e/c,u<1&&u>0&&f.push(u)):h>0&&(v=Math.sqrt(h),u=(v+e)/c,u<1&&u>0&&f.push(u),u=(e-v)/c,u<1&&u>0&&f.push(u))),l=Math.min(n,r),a=Math.max(n,r),o=0;o<f.length;o++)l=Math.min(l,this.bezier(n,t,i,r,f[o])),a=Math.max(a,this.bezier(n,t,i,r,f[o]));return[l,a]},curveDim:function(n,t,i,r,u,f,e,o){var s=this.bezierDim(n,i,u,e),h=this.bezierDim(t,r,f,o);return{min:{x:s[0],y:h[0]},max:{x:s[1],y:h[1]}}},getAnchors:function(n,t,i,r,u,f,e){e=e||4;var l=Math,a=l.PI,b=a/2,y=l.abs,g=l.sin,nt=l.cos,tt=l.atan,k,d,o,s,p,h,w,c,v;return k=(i-n)/e,d=(u-i)/e,r>=t&&r>=f||r<=t&&r<=f?o=s=b:(o=tt((i-n)/y(r-t)),t<r&&(o=a-o),s=tt((u-i)/y(r-f)),f<r&&(s=a-s)),v=b-(o+s)%(a*2)/2,v>b&&(v-=a),o+=v,s+=v,p=i-k*g(o),h=r+k*nt(o),w=i+d*g(s),c=r+d*nt(s),(r>t&&h<t||r<t&&h>t)&&(p+=y(t-h)*(p-i)/(h-r),h=t),(r>f&&c<f||r<f&&c>f)&&(w-=y(f-c)*(w-i)/(c-r),c=f),{x1:p,y1:h,x2:w,y2:c}},smooth:function(n,t){for(var r=this.path2curve(n),u=[r[0]],p=r[0][1],w=r[0][2],l,o,s=1,d=r.length,h=1,a=p,v=w,g=0,nt=0,i,f,c,y,e,b,k;s<d;s++){if(i=r[s],f=i.length,c=r[s-1],y=c.length,e=r[s+1],b=e&&e.length,i[0]=="M"){for(a=i[1],v=i[2],l=s+1;r[l][0]!="C";)l++;g=r[l][5];nt=r[l][6];u.push(["M",a,v]);h=u.length;p=a;w=v;continue}i[f-2]!=a||i[f-1]!=v||e&&e[0]!="M"?o=e&&e[0]!="M"?this.getAnchors(c[y-2],c[y-1],i[f-2],i[f-1],e[b-2],e[b-1],t):{x1:i[f-2],y1:i[f-1]}:(k=u[h].length,o=this.getAnchors(c[y-2],c[y-1],a,v,u[h][k-2],u[h][k-1],t),u[h][1]=o.x2,u[h][2]=o.y2);u.push(["C",p,w,o.x1,o.y1,i[f-2],i[f-1]]);p=o.x2;w=o.y2}return u},findDotAtSegment:function(n,t,i,r,u,f,e,o,s){var h=1-s;return{x:Math.pow(h,3)*n+Math.pow(h,2)*3*s*i+h*3*s*s*u+Math.pow(s,3)*e,y:Math.pow(h,3)*t+Math.pow(h,2)*3*s*r+h*3*s*s*f+Math.pow(s,3)*o}},snapEnds:function(n,t,i,r){if(Ext.isDate(n))return this.snapEndsByDate(n,t,i);var u=(t-n)/i,f=Math.floor(Math.log(u)/Math.LN10)+1,h=Math.pow(10,f),o,v=Math.round(u%h*Math.pow(10,2-f)),c=[[0,15],[20,4],[30,2],[40,4],[50,9],[60,4],[70,2],[80,4],[100,15]],l=0,s,a,e,y,p=1e9,w=c.length;if(o=n=Math.floor(n/h)*h,r){for(e=0;e<w;e++)s=c[e][0],a=s-v<0?1e6:(s-v)/c[e][1],a<p&&(y=s,p=a);for(u=Math.floor(u*Math.pow(10,-f))*Math.pow(10,f)+y*Math.pow(10,f-2);o<t;)o+=u,l++;t=+o.toFixed(10)}else l=i;return{from:n,to:t,power:f,step:u,steps:l}},snapEndsByDate:function(n,t,i,r){for(var e=!1,s=[[Ext.Date.MILLI,[1,2,3,5,10,20,30,50,100,200,300,500]],[Ext.Date.SECOND,[1,2,3,5,10,15,30]],[Ext.Date.MINUTE,[1,2,3,5,10,20,30]],[Ext.Date.HOUR,[1,2,3,4,6,12]],[Ext.Date.DAY,[1,2,3,7,14]],[Ext.Date.MONTH,[1,2,3,4,6]]],l=s.length,h=!1,u,f,c,o=0;o<l;o++)if(u=s[o],!h)for(f=0;f<u[1].length;f++)if(t<Ext.Date.add(n,u[0],u[1][f]*i)){e=[u[0],u[1][f]];h=!0;break}return e||(c=this.snapEnds(n.getFullYear(),t.getFullYear()+1,i,r),e=[Date.YEAR,Math.round(c.step)]),this.snapEndsByDateAndStep(n,t,e,r)},snapEndsByDateAndStep:function(n,t,i,r){var u=[n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()],o=0,f,e;if(r)f=n;else switch(i[0]){case Ext.Date.MILLI:f=new Date(u[0],u[1],u[2],u[3],u[4],u[5],Math.floor(u[6]/i[1])*i[1]);break;case Ext.Date.SECOND:f=new Date(u[0],u[1],u[2],u[3],u[4],Math.floor(u[5]/i[1])*i[1],0);break;case Ext.Date.MINUTE:f=new Date(u[0],u[1],u[2],u[3],Math.floor(u[4]/i[1])*i[1],0,0);break;case Ext.Date.HOUR:f=new Date(u[0],u[1],u[2],Math.floor(u[3]/i[1])*i[1],0,0,0);break;case Ext.Date.DAY:f=new Date(u[0],u[1],Math.floor(u[2]-1/i[1])*i[1]+1,0,0,0,0);break;case Ext.Date.MONTH:f=new Date(u[0],Math.floor(u[1]/i[1])*i[1],1,0,0,0,0);break;default:f=new Date(Math.floor(u[0]/i[1])*i[1],0,1,0,0,0,0)}for(e=f;e<t;)e=Ext.Date.add(e,i[0],i[1]),o++;return r&&(e=t),{from:+f,to:+e,step:(e-f)/o,steps:o}},sorter:function(n,t){return n.offset-t.offset},rad:function(n){return n%360*Math.PI/180},degrees:function(n){return n*180/Math.PI%360},withinBox:function(n,t,i){return i=i||{},n>=i.x&&n<=i.x+i.width&&t>=i.y&&t<=i.y+i.height},parseGradient:function(n){var e=this,r=n.type||"linear",s=n.angle||0,h=e.radian,u=n.stops,f=[],i,t,o,c;r=="linear"&&(t=[0,0,Math.cos(s*h),Math.sin(s*h)],o=1/(Math.max(Math.abs(t[2]),Math.abs(t[3]))||1),t[2]*=o,t[3]*=o,t[2]<0&&(t[0]=-t[2],t[2]=0),t[3]<0&&(t[1]=-t[3],t[3]=0));for(i in u)u.hasOwnProperty(i)&&e.stopsRE.test(i)&&(c={offset:parseInt(i,10),color:Ext.draw.Color.toHex(u[i].color)||"#ffffff",opacity:u[i].opacity||1},f.push(c));return Ext.Array.sort(f,e.sorter),r=="linear"?{id:n.id,type:r,vector:t,stops:f}:{id:n.id,type:r,centerX:n.centerX,centerY:n.centerY,focalX:n.focalX,focalY:n.focalY,radius:n.radius,vector:t,stops:f}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(n,t,i,r,u){i=typeof i=="number"?i:1;var o=this.unitRE,f=o.exec(n),s,e;return f&&(n=f[1],e=f[2],this.scrollRE.test(u)||e||!this.pixelDefaultsRE.test(u)||(e="px")),n=+n||0,f=o.exec(t),f&&(t=f[1],e=f[2]||e),t=+t||0,s=r!=null?r:n,{from:n,delta:(t-s)*i,units:e}},get:function(n,t,i,r,u){for(var l=n.length,o=[],s,h,e,c,f=0;f<l;f++)if(r&&(s=r[f][1].from),Ext.isArray(n[f][1])&&Ext.isArray(t)){for(h=[],e=0,c=n[f][1].length;e<c;e++)h.push(this.computeDelta(n[f][1][e],t[e],i,s,u));o.push([n[f][0],h])}else o.push([n[f][0],this.computeDelta(n[f][1],t,i,s,u)]);return o},set:function(n,t){for(var s=n.length,f=[],i,e,o,u,r=0;r<s;r++)if(i=n[r][1],Ext.isArray(i)){for(e=[],u=0,o=i.length;u<o;u++)e.push(i[u].from+i[u].delta*t+(i[u].units||0));f.push([n[r][0],e])}else f.push([n[r][0],i.from+i.delta*t+(i.units||0)]);return f}},stringHandler:{computeDelta:function(n,t){return{from:n,delta:t}},get:function(n,t,i,r,u){for(var o=n.length,e=[],s,f=0;f<o;f++)e.push([n[f][0],this.computeDelta(n[f][1],t,i,s,u)]);return e},set:function(n){for(var u=n.length,i=[],r,t=0;t<u;t++)r=n[t][1],i.push([n[t][0],r.delta]);return i}},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(n,t){t=typeof t=="number"?t:1;for(var f=!1,e=[this.hexRE,this.rgbRE,this.hex3RE],s=e.length,i,u,o,r=0;r<s;r++)if(o=e[r],u=r%2==0?16:10,i=o.exec(n),i&&i.length===4){r===2&&(i[1]+=i[1],i[2]+=i[2],i[3]+=i[3]);f={red:parseInt(i[1],u),green:parseInt(i[2],u),blue:parseInt(i[3],u)};break}return f||n},computeDelta:function(n,t,i,r){n=this.parseColor(n);t=this.parseColor(t,i);var u=r?r:n,f=typeof u,e=typeof t;return f=="string"||f=="undefined"||e=="string"||e=="undefined"?t||u:{from:n,delta:{red:Math.round((t.red-u.red)*i),green:Math.round((t.green-u.green)*i),blue:Math.round((t.blue-u.blue)*i)}}},get:function(n,t,i,r){for(var o=n.length,f=[],e,u=0;u<o;u++)r&&(e=r[u][1].from),f.push([n[u][0],this.computeDelta(n[u][1],t,i,e)]);return f},set:function(n,t){for(var s=n.length,e=[],i,o,u,f,r=0;r<s;r++)if(i=n[r][1],i){if(u=i.from,f=i.delta,i=typeof i=="object"&&"red"in i?"rgb("+i.red+", "+i.green+", "+i.blue+")":i,i=typeof i=="object"&&i.length?i[0]:i,typeof i=="undefined")return[];o=typeof i=="string"?i:"rgb("+[(u.red+Math.round(f.red*t))%256,(u.green+Math.round(f.green*t))%256,(u.blue+Math.round(f.blue*t))%256].join(",")+")";e.push([n[r][0],o])}return e}},object:{interpolate:function(n,t){t=typeof t=="number"?t:1;var i={};for(var r in n)i[r]=parseFloat(n[r])*t;return i},computeDelta:function(n,t,i,r){n=this.interpolate(n);t=this.interpolate(t,i);var e=r?r:n,f={};for(var u in t)f[u]=t[u]-e[u];return{from:n,delta:f}},get:function(n,t,i,r){for(var o=n.length,f=[],e,u=0;u<o;u++)r&&(e=r[u][1].from),f.push([n[u][0],this.computeDelta(n[u][1],t,i,e)]);return f},set:function(n,t){for(var h=n.length,e=[],o={},u,s,f,r,i=0;i<h;i++){f=n[i][1];u=f.from;s=f.delta;for(r in u)o[r]=u[r]+s[r]*t;e.push([n[i][0],o])}return e}},path:{computeDelta:function(n,t,i,r){i=typeof i=="number"?i:1;var u;return n=+n||0,t=+t||0,u=r!=null?r:n,{from:n,delta:(t-u)*i}},forcePath:function(n){return Ext.isArray(n)||Ext.isArray(n[0])||(n=Ext.draw.Draw.parsePathString(n)),n},get:function(n,t,i,r){for(var h=this.forcePath(t),l=[],p=n.length,a,v,e,y,u,o,c,f,s=0;s<p;s++){for(f=this.forcePath(n[s][1]),e=Ext.draw.Draw.interpolatePaths(f,h),f=e[0],h=e[1],a=f.length,c=[],u=0;u<a;u++){for(e=[f[u][0]],v=f[u].length,o=1;o<v;o++)y=r&&r[0][1][u][o].from,e.push(this.computeDelta(f[u][o],h[u][o],i,y));c.push(e)}l.push([n[s][0],c])}return l},set:function(n,t){for(var l=n.length,s=[],i,f,e,o,r,h,c,u=0;u<l;u++){for(r=n[u][1],e=[],h=r.length,i=0;i<h;i++){for(o=[r[i][0]],c=r[i].length,f=1;f<c;f++)o.push(r[i][f].from+r[i][f].delta*t);e.push(o.join(","))}s.push([n[u][0],e.join(",")])}return s}}}},function(){for(var t=["outlineColor","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","fill","stroke"],r=t.length,n=0,i;n<r;n++)i=t[n],this[i]=this.color;for(t=["cursor"],r=t.length,n=0;n<r;n++)i=t[n],this[i]=this.stringHandler});Ext.define("Ext.fx.Anim",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager","Ext.fx.Animator","Ext.fx.Easing","Ext.fx.CubicBezier","Ext.fx.PropertyHandler"],isAnimation:!0,duration:250,delay:0,delayStart:0,dynamic:!1,easing:"ease",damper:1,bezierRE:/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,reverse:!1,running:!1,paused:!1,iterations:1,alternate:!1,currentIteration:0,startTime:0,frameCount:0,constructor:function(n){var t=this,i;if(n=n||{},n.keyframes)return new Ext.fx.Animator(n);Ext.apply(t,n);t.from===undefined&&(t.from={});t.propHandlers={};t.config=n;t.target=Ext.fx.Manager.createTarget(t.target);t.easingFn=Ext.fx.Easing[t.easing];t.target.dynamic=t.dynamic;t.easingFn||(t.easingFn=String(t.easing).match(t.bezierRE),t.easingFn&&t.easingFn.length==5&&(i=t.easingFn,t.easingFn=Ext.fx.CubicBezier.cubicBezier(+i[1],+i[2],+i[3],+i[4])));t.id=Ext.id(null,"ext-anim-");t.addEvents("beforeanimate","afteranimate","lastframe");t.mixins.observable.constructor.call(t);Ext.fx.Manager.addAnim(t)},setAttr:function(n,t){return Ext.fx.Manager.items.get(this.id).setAttr(this.target,n,t)},initAttrs:function(){var t=this,o=t.from,i=t.to,s=t.initialFrom||{},u={},f,r,e;for(var n in i)i.hasOwnProperty(n)&&(f=t.target.getAttr(n,o[n]),r=i[n],e=Ext.fx.PropertyHandler[n]?t.propHandlers[n]=Ext.fx.PropertyHandler[n]:Ext.isObject(r)?t.propHandlers[n]=Ext.fx.PropertyHandler.object:t.propHandlers[n]=Ext.fx.PropertyHandler.defaultHandler,u[n]=e.get(f,r,t.damper,s[n],n));t.currentAttrs=u},start:function(n){var t=this,i=t.delay,r=t.delayStart,u;if(i)if(r){if(u=n-r,u<i)return;n=new Date(r.getTime()+i)}else{t.delayStart=n;return}t.fireEvent("beforeanimate",t)!==!1&&(t.startTime=n,t.paused||t.currentAttrs||t.initAttrs(),t.running=!0,t.frameCount=0)},runAnim:function(n){var t=this,u=t.currentAttrs,r=t.duration,h=t.easingFn,c=t.propHandlers,f={},e,o,i,s;n>=r&&(n=r,s=!0);t.reverse&&(n=r-n);for(i in u)u.hasOwnProperty(i)&&(o=u[i],e=s?1:h(n/r),f[i]=c[i].set(o,e));return t.frameCount++,f},lastFrame:function(){var n=this,i=n.iterations,t=n.currentIteration;t++;t<i?(n.alternate&&(n.reverse=!n.reverse),n.startTime=new Date,n.currentIteration=t,n.paused=!1):(n.currentIteration=0,n.end(),n.fireEvent("lastframe",n,n.startTime))},endWasCalled:0,end:function(){if(!this.endWasCalled++){var n=this;n.startTime=0;n.paused=!1;n.running=!1;Ext.fx.Manager.removeAnim(n);n.fireEvent("afteranimate",n,n.startTime);Ext.callback(n.callback,n.scope,[n,n.startTime])}},isReady:function(){return this.paused===!1&&this.running===!1&&this.iterations>0},isRunning:function(){return this.paused===!1&&this.running===!0&&this.isAnimator!==!0}});Ext.enableFx=!0;Ext.define("Ext.dd.DragDrop",{requires:["Ext.dd.DragDropManager"],constructor:function(n,t,i){n&&this.init(n,t,i)},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:!1,lock:function(){this.locked=!0},moveOnly:!1,unlock:function(){this.locked=!1},isTarget:!0,padding:null,_domRef:null,__ygDragDrop:!0,constrainX:!1,constrainY:!1,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:!1,xTicks:null,yTicks:null,primaryButtonOnly:!0,available:!1,hasOuterHandles:!1,b4StartDrag:function(){},startDrag:function(){},b4Drag:function(){},onDrag:function(){},onDragEnter:function(){},b4DragOver:function(){},onDragOver:function(){},b4DragOut:function(){},onDragOut:function(){},b4DragDrop:function(){},onDragDrop:function(){},onInvalidDrop:function(){},b4EndDrag:function(){},endDrag:function(){},b4MouseDown:function(){},onMouseDown:function(){},onMouseUp:function(){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(n,t){Ext.isNumber(t)&&(t={left:t,right:t,top:t,bottom:t});t=t||this.defaultPadding;var r=Ext.get(this.getEl()).getBox(),u=Ext.get(n),h=u.getScroll(),i,f=u.dom,e,o,s;f==document.body?i={x:h.left,y:h.top,width:Ext.Element.getViewWidth(),height:Ext.Element.getViewHeight()}:(e=u.getXY(),i={x:e[0],y:e[1],width:f.clientWidth,height:f.clientHeight});o=r.y-i.y;s=r.x-i.x;this.resetConstraints();this.setXConstraint(s-(t.left||0),i.width-s-r.width-(t.right||0),this.xTickSize);this.setYConstraint(o-(t.top||0),i.height-o-r.height-(t.bottom||0),this.yTickSize)},getEl:function(){return this._domRef||(this._domRef=Ext.getDom(this.id)),this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(n,t,i){this.initTarget(n,t,i);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(n,t,i){this.config=i||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};typeof n!="string"&&(n=Ext.id(n));this.id=n;this.addToGroup(t?t:"default");this.handleElId=n;this.setDragElId(n);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=this.config.isTarget!==!1;this.maintainOffset=this.config.maintainOffset;this.primaryButtonOnly=this.config.primaryButtonOnly!==!1},handleOnAvailable:function(){this.available=!0;this.resetConstraints();this.onAvailable()},setPadding:function(n,t,i,r){this.padding=t||0===t?i||0===i?[n,t,i,r]:[n,t,n,t]:[n,n,n,n]},setInitPosition:function(n,t){var r=this.getEl(),u,f,i;this.DDMInstance.verifyEl(r)&&(u=n||0,f=t||0,i=Ext.Element.getXY(r),this.initPageX=i[0]-u,this.initPageY=i[1]-f,this.lastPageX=i[0],this.lastPageY=i[1],this.setStartPosition(i))},setStartPosition:function(n){var t=n||Ext.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=t[0];this.startPageY=t[1]},addToGroup:function(n){this.groups[n]=!0;this.DDMInstance.regDragDrop(this,n)},removeFromGroup:function(n){this.groups[n]&&delete this.groups[n];this.DDMInstance.removeDDFromGroup(this,n)},setDragElId:function(n){this.dragElId=n},setHandleElId:function(n){typeof n!="string"&&(n=Ext.id(n));this.handleElId=n;this.DDMInstance.regHandle(this.id,n)},setOuterHandleElId:function(n){typeof n!="string"&&(n=Ext.id(n));Ext.EventManager.on(n,"mousedown",this.handleMouseDown,this);this.setHandleElId(n);this.hasOuterHandles=!0},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return this.DDMInstance.isLocked()||this.locked},handleMouseDown:function(n){if((!this.primaryButtonOnly||n.button==0)&&!this.isLocked()&&(this.DDMInstance.refreshCache(this.groups),(this.hasOuterHandles||this.DDMInstance.isOverTarget(n.getPoint(),this))&&this.clickValidator(n))){this.setStartPosition();this.b4MouseDown(n);this.onMouseDown(n);this.DDMInstance.handleMouseDown(n,this);this.DDMInstance.stopEvent(n)}},clickValidator:function(n){var t=n.getTarget();return this.isValidHandleChild(t)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(t,this.id))},addInvalidHandleType:function(n){var t=n.toUpperCase();this.invalidHandleTypes[t]=t},addInvalidHandleId:function(n){typeof n!="string"&&(n=Ext.id(n));this.invalidHandleIds[n]=n},addInvalidHandleClass:function(n){this.invalidHandleClasses.push(n)},removeInvalidHandleType:function(n){var t=n.toUpperCase();delete this.invalidHandleTypes[t]},removeInvalidHandleId:function(n){typeof n!="string"&&(n=Ext.id(n));delete this.invalidHandleIds[n]},removeInvalidHandleClass:function(n){for(var t=0,i=this.invalidHandleClasses.length;t<i;++t)this.invalidHandleClasses[t]==n&&delete this.invalidHandleClasses[t]},isValidHandleChild:function(n){var t=!0,r,i,u;try{r=n.nodeName.toUpperCase()}catch(f){r=n.nodeName}for(t=t&&!this.invalidHandleTypes[r],t=t&&!this.invalidHandleIds[n.id],i=0,u=this.invalidHandleClasses.length;t&&i<u;++i)t=!Ext.fly(n).hasCls(this.invalidHandleClasses[i]);return t},setXTicks:function(n,t){this.xTicks=[];this.xTickSize=t;for(var r={},i=this.initPageX;i>=this.minX;i=i-t)r[i]||(this.xTicks[this.xTicks.length]=i,r[i]=!0);for(i=this.initPageX;i<=this.maxX;i=i+t)r[i]||(this.xTicks[this.xTicks.length]=i,r[i]=!0);Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(n,t){this.yTicks=[];this.yTickSize=t;for(var r={},i=this.initPageY;i>=this.minY;i=i-t)r[i]||(this.yTicks[this.yTicks.length]=i,r[i]=!0);for(i=this.initPageY;i<=this.maxY;i=i+t)r[i]||(this.yTicks[this.yTicks.length]=i,r[i]=!0);Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(n,t,i){this.leftConstraint=n;this.rightConstraint=t;this.minX=this.initPageX-n;this.maxX=this.initPageX+t;i&&this.setXTicks(this.initPageX,i);this.constrainX=!0},clearConstraints:function(){this.constrainX=!1;this.constrainY=!1;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(n,t,i){this.topConstraint=n;this.bottomConstraint=t;this.minY=this.initPageY-n;this.maxY=this.initPageY+t;i&&this.setYTicks(this.initPageY,i);this.constrainY=!0},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var n=this.maintainOffset?this.lastPageX-this.initPageX:0,t=this.maintainOffset?this.lastPageY-this.initPageY:0;this.setInitPosition(n,t)}else this.setInitPosition();this.constrainX&&this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);this.constrainY&&this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)},getTick:function(n,t){if(t){if(t[0]>=n)return t[0];for(var r,f,e,i=0,u=t.length;i<u;++i)if(r=i+1,t[r]&&t[r]>=n)return f=n-t[i],e=t[r]-n,e>f?t[i]:t[r];return t[t.length-1]}return n},toString:function(){return"DragDrop "+this.id}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(n,t,i){n&&this.init(n,t,i)},scroll:!0,autoOffset:function(n,t){var i=n-this.startPageX,r=t-this.startPageY;this.setDelta(i,r)},setDelta:function(n,t){this.deltaX=n;this.deltaY=t},setDragElPos:function(n,t){var i=this.getDragEl();this.alignElWithMouse(i,n,t)},alignElWithMouse:function(n,t,i){var r=this.getTargetCoord(t,i),f=n.dom?n:Ext.fly(n,"_dd"),e=f.getSize(),o=Ext.Element,u,s,h,c;return this.deltaSetXY?(u=this.cachedViewportSize,f.setLeftTop(Math.max(0,Math.min(r.x+this.deltaSetXY[0],u.width-e.width)),Math.max(0,Math.min(r.y+this.deltaSetXY[1],u.height-e.height)))):(u=this.cachedViewportSize={width:o.getDocumentWidth(),height:o.getDocumentHeight()},s=[Math.max(0,Math.min(r.x,u.width-e.width)),Math.max(0,Math.min(r.y,u.height-e.height))],f.setXY(s),h=f.getLocalX(),c=f.getLocalY(),this.deltaSetXY=[h-r.x,c-r.y]),this.cachePosition(r.x,r.y),this.autoScroll(r.x,r.y,n.offsetHeight,n.offsetWidth),r},cachePosition:function(n,t){if(n)this.lastPageX=n,this.lastPageY=t;else{var i=Ext.Element.getXY(this.getEl());this.lastPageX=i[0];this.lastPageY=i[1]}},autoScroll:function(n,t,i,r){if(this.scroll){var s=Ext.Element.getViewHeight(),h=Ext.Element.getViewWidth(),u=this.DDMInstance.getScrollTop(),f=this.DDMInstance.getScrollLeft(),c=i+t,l=r+n,a=s+u-t-this.deltaY,v=h+f-n-this.deltaX,e=40,o=document.all?80:30;c>s&&a<e&&window.scrollTo(f,u+o);t<u&&u>0&&t-u<e&&window.scrollTo(f,u-o);l>h&&v<e&&window.scrollTo(f+o,u);n<f&&f>0&&n-f<e&&window.scrollTo(f-o,u)}},getTargetCoord:function(n,t){var i=n-this.deltaX,r=t-this.deltaY;return this.constrainX&&(i<this.minX&&(i=this.minX),i>this.maxX&&(i=this.maxX)),this.constrainY&&(r<this.minY&&(r=this.minY),r>this.maxY&&(r=this.maxY)),i=this.getTick(i,this.xTicks),r=this.getTick(r,this.yTicks),{x:i,y:r}},applyConfig:function(){this.callParent();this.scroll=this.config.scroll!==!1},b4MouseDown:function(n){this.autoOffset(n.getPageX(),n.getPageY())},b4Drag:function(n){this.setDragElPos(n.getPageX(),n.getPageY())},toString:function(){return"DD "+this.id}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(n,t,i){n&&(this.init(n,t,i),this.initFrame())},resizeFrame:!0,centerFrame:!1,createFrame:function(){var r=this,i=document.body,n,t;if(!i||!i.firstChild){setTimeout(function(){r.createFrame()},50);return}n=this.getDragEl();n||(n=document.createElement("div"),n.id=this.dragElId,t=n.style,t.position="absolute",t.visibility="hidden",t.cursor="move",t.border="2px solid #aaa",t.zIndex=999,i.insertBefore(n,i.firstChild))},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=this.config.resizeFrame!==!1;this.centerFrame=this.config.centerFrame;this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(n,t){var u=this.getEl(),i=this.getDragEl(),r=i.style;this._resizeProxy();this.centerFrame&&this.setDelta(Math.round(parseInt(r.width,10)/2),Math.round(parseInt(r.height,10)/2));this.setDragElPos(n,t);Ext.fly(i).show()},_resizeProxy:function(){if(this.resizeFrame){var n=this.getEl();Ext.fly(this.getDragEl()).setSize(n.offsetWidth,n.offsetHeight)}},b4MouseDown:function(n){var t=n.getPageX(),i=n.getPageY();this.autoOffset(t,i);this.setDragElPos(t,i)},b4StartDrag:function(n,t){this.showFrame(n,t)},b4EndDrag:function(){Ext.fly(this.getDragEl()).hide()},endDrag:function(){var n=this.getEl(),t=this.getDragEl();t.style.visibility="";this.beforeMove();n.style.visibility="hidden";Ext.dd.DDM.moveToEl(n,t);t.style.visibility="hidden";n.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return"DDProxy "+this.id}});Ext.define("Ext.dd.StatusProxy",{extend:"Ext.Component",animRepair:!1,childEls:["ghost"],renderTpl:['<div class="'+Ext.baseCSSPrefix+'dd-drop-icon"><\/div><div id="{id}-ghost" class="'+Ext.baseCSSPrefix+'dd-drag-ghost"><\/div>'],constructor:function(n){var t=this;n=n||{};Ext.apply(t,{hideMode:"visibility",hidden:!0,floating:!0,id:t.id||Ext.id(),cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:n.shadow||!1,renderTo:Ext.getDetachedBody()});t.callParent(arguments);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(n){n=n||this.dropNotAllowed;this.dropStatus!=n&&(this.el.replaceCls(this.dropStatus,n),this.dropStatus=n)},reset:function(n){var t=this,i=Ext.baseCSSPrefix+"dd-drag-proxy ";t.el.replaceCls(i+t.dropAllowed,i+t.dropNotAllowed);t.dropStatus=t.dropNotAllowed;n&&t.ghost.update("")},update:function(n){typeof n=="string"?this.ghost.update(n):(this.ghost.update(""),n.style.margin="0",this.ghost.dom.appendChild(n));var t=this.ghost.dom.firstChild;t&&Ext.fly(t).setStyle("float","none")},getGhost:function(){return this.ghost},hide:function(n){this.callParent();n&&this.reset(!0)},stop:function(){this.anim&&this.anim.isAnimated&&this.anim.isAnimated()&&this.anim.stop()},sync:function(){this.el.sync()},repair:function(n,t,i){var r=this;r.callback=t;r.scope=i;n&&r.animRepair!==!1?(r.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair"),r.el.hideUnders(!0),r.anim=r.el.animate({duration:r.repairDuration||500,easing:"ease-out",to:{x:n[0],y:n[1]},stopAnimation:!0,callback:r.afterRepair,scope:r})):r.afterRepair()},afterRepair:function(){var n=this;n.hide(!0);n.el.removeCls(Ext.baseCSSPrefix+"dd-drag-repair");typeof n.callback=="function"&&n.callback.call(n.scope||n);delete n.callback;delete n.scope}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:!0,repairHighlightColor:"c3daf9",constructor:function(n,t){this.el=Ext.get(n);this.dragData||(this.dragData={});Ext.apply(this,t);this.proxy||(this.proxy=new Ext.dd.StatusProxy({id:this.el.id+"-drag-status-proxy",animRepair:this.animRepair}));this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:!1,isTarget:!1,scroll:this.scroll===!0}]);this.dragging=!1},getDragData:function(){return this.dragData},onDragEnter:function(n,t){var i=Ext.dd.DragDropManager.getDDById(t),r;this.cachedTarget=i;this.beforeDragEnter(i,n,t)!==!1&&(i.isNotifyTarget?(r=i.notifyEnter(this,n,this.dragData),this.proxy.setStatus(r)):this.proxy.setStatus(this.dropAllowed),this.afterDragEnter&&this.afterDragEnter(i,n,t))},beforeDragEnter:function(){return!0},onDragOver:function(n,t){var i=this.cachedTarget||Ext.dd.DragDropManager.getDDById(t),r;this.beforeDragOver(i,n,t)!==!1&&(i.isNotifyTarget&&(r=i.notifyOver(this,n,this.dragData),this.proxy.setStatus(r)),this.afterDragOver&&this.afterDragOver(i,n,t))},beforeDragOver:function(){return!0},onDragOut:function(n,t){var i=this.cachedTarget||Ext.dd.DragDropManager.getDDById(t);this.beforeDragOut(i,n,t)!==!1&&(i.isNotifyTarget&&i.notifyOut(this,n,this.dragData),this.proxy.reset(),this.afterDragOut&&this.afterDragOut(i,n,t));this.cachedTarget=null},beforeDragOut:function(){return!0},onDragDrop:function(n,t){var i=this.cachedTarget||Ext.dd.DragDropManager.getDDById(t);if(this.beforeDragDrop(i,n,t)!==!1){if(i.isNotifyTarget)if(i.notifyDrop(this,n,this.dragData)!==!1)this.onValidDrop(i,n,t);else this.onInvalidDrop(i,n,t);else this.onValidDrop(i,n,t);this.afterDragDrop&&this.afterDragDrop(i,n,t)}delete this.cachedTarget},beforeDragDrop:function(){return!0},onValidDrop:function(n,t,i){this.hideProxy();this.afterValidDrop&&this.afterValidDrop(n,t,i)},getRepairXY:function(){return this.el.getXY()},onInvalidDrop:function(n,t,i){t||(t=n,n=null,i=t.getTarget().id);this.beforeInvalidDrop(n,t,i);this.cachedTarget&&(this.cachedTarget.isNotifyTarget&&this.cachedTarget.notifyOut(this,t,this.dragData),this.cacheTarget=null);this.proxy.repair(this.getRepairXY(t,this.dragData),this.afterRepair,this);this.afterInvalidDrop&&this.afterInvalidDrop(t,i)},afterRepair:function(){var n=this;Ext.enableFx&&n.el.highlight(n.repairHighlightColor);n.dragging=!1},beforeInvalidDrop:function(){return!0},handleMouseDown:function(n){if(!this.dragging){var t=this.getDragData(n);t&&this.onBeforeDrag(t,n)!==!1&&(this.dragData=t,this.proxy.stop(),this.callParent(arguments))}},onBeforeDrag:function(){return!0},onStartDrag:Ext.emptyFn,alignElWithMouse:function(){return this.proxy.ensureAttachedToBody(!0),this.callParent(arguments)},startDrag:function(n,t){this.proxy.reset();this.proxy.hidden=!1;this.dragging=!0;this.proxy.update("");this.onInitDrag(n,t);this.proxy.show()},onInitDrag:function(n,t){var i=this.el.dom.cloneNode(!0);i.id=Ext.id();this.proxy.update(i);this.onStartDrag(n,t);return!0},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(!0);this.dragging=!1},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(){},endDrag:function(n){this.onEndDrag(this.dragData,n)},onEndDrag:function(){},autoOffset:function(){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",moveOnDrag:!0,constructor:function(n,t){var i=this;i.panel=n;i.id=i.panel.id+"-ddproxy";Ext.apply(i,t)},insertProxy:!0,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){var n=this;n.ghost&&(n.proxy&&(n.proxy.remove(),delete n.proxy),n.panel.unghost(null,n.moveOnDrag),delete n.ghost)},show:function(){var n=this,t;n.ghost||(t=n.panel.getSize(),n.panel.el.setVisibilityMode(Ext.Element.DISPLAY),n.ghost=n.panel.ghost(),n.insertProxy&&(n.proxy=n.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"}),n.proxy.setSize(t)))},repair:function(n,t,i){this.hide();Ext.callback(t,i||this)},moveProxy:function(n,t){this.proxy&&n.insertBefore(this.proxy.dom,t)}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(n,t){var i=this;i.panel=n;i.dragData={panel:n};i.panelProxy=new Ext.panel.Proxy(n,t);i.proxy=i.panelProxy.proxy;i.callParent([n.el,t]);i.setupEl(n)},setupEl:function(n){var t=this,i=n.header,r=n.body;if(i&&(t.setHandleElId(i.id),r=i.el),r)r.setStyle("cursor","move"),t.scroll=!1;else n.on("boxready",t.setupEl,t,{single:!0})},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(){this.panelProxy.show()},b4MouseDown:function(n){var t=n.getPageX(),i=n.getPageY();this.autoOffset(t,i)},onInitDrag:function(n,t){this.onStartDrag(n,t);return!0},createFrame:Ext.emptyFn,getDragEl:function(){return this.panelProxy.ghost.el.dom},endDrag:function(){this.panelProxy.hide();this.panel.saveState()},autoOffset:function(n,t){n-=this.startPageX;t-=this.startPageY;this.setDelta(n,t)},onInvalidDrop:function(n,t,i){var r=this;r.beforeInvalidDrop(n,t,i);r.cachedTarget&&(r.cachedTarget.isNotifyTarget&&r.cachedTarget.notifyOut(r,t,r.dragData),r.cacheTarget=null);r.afterInvalidDrop&&r.afterInvalidDrop(t,i)}});Ext.define("Ext.util.Memento",function(){function i(n,t,i,r){n[r?r+i:i]=t[i]}function r(n,t,i){delete n[i]}function u(n,i,r,u){var f=u?u+r:r,e=n[f];(e||n.hasOwnProperty(f))&&t(i,r,e)}function t(n,t,i){Ext.isDefined(i)?n[t]=i:delete n[t]}function n(n,t,i,r,u){if(t)if(Ext.isArray(r))for(var e=r.length,f=0;f<e;f++)n(t,i,r[f],u);else n(t,i,r,u)}return{data:null,target:null,constructor:function(n,t){n&&(this.target=n,t&&this.capture(t))},capture:function(t,r,u){var f=this;n(i,f.data||(f.data={}),r||f.target,t,u)},remove:function(t){n(r,this.data,null,t)},restore:function(t,i,r,f){n(u,this.data,r||this.target,t,f);i!==!1&&this.remove(t)},restoreAll:function(n,i){var f=this,e=i||this.target,r=f.data;for(var u in r)r.hasOwnProperty(u)&&t(e,u,r[u]);n!==!1&&delete f.data}}}());Ext.define("Ext.panel.Panel",{extend:"Ext.panel.AbstractPanel",requires:["Ext.panel.Header","Ext.fx.Anim","Ext.util.KeyMap","Ext.panel.DD","Ext.XTemplate","Ext.layout.component.Dock","Ext.util.Memento"],alias:"widget.panel",alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:!1,collapseFirst:!0,hideCollapseTool:!1,titleCollapse:!1,floatable:!0,collapsible:!1,closable:!1,closeAction:"destroy",placeholderCollapseHideMode:Ext.Element.VISIBILITY,preventHeader:!1,header:undefined,headerPosition:"top",frame:!1,frameHeader:!0,titleAlign:"left",manageHeight:!0,initComponent:function(){var n=this;n.addEvents("beforeclose","close","beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange","iconclschange");n.collapsible&&this.addStateEvents(["expand","collapse"]);n.unstyled&&n.setUI("plain");n.frame&&n.setUI(n.ui+"-framed");n.bridgeToolbars();n.callParent();n.collapseDirection=n.collapseDirection||n.headerPosition||Ext.Component.DIRECTION_TOP;n.hiddenOnCollapse=new Ext.dom.CompositeElement},beforeDestroy:function(){var n=this;Ext.destroy(n.placeholder,n.ghostPanel,n.dd);n.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},getFocusEl:function(){return this.el},initHeaderAria:function(){var n=this,t=n.el,i=n.header;t&&i&&t.dom.setAttribute("aria-labelledby",i.titleCmp.id)},getHeader:function(){return this.header},setTitle:function(n){var t=this,f=t.title,i=t.header,u=t.reExpander,r=t.placeholder;t.title=n;i?i.isHeader?i.setTitle(n):i.title=n:t.updateHeader();u&&u.setTitle(n);r&&r.setTitle&&r.setTitle(n);t.fireEvent("titlechange",t,n,f)},setIconCls:function(n){var t=this,u=t.iconCls,i=t.header,r=t.placeholder;t.iconCls=n;i?i.isHeader?i.setIconCls(n):i.iconCls=n:t.updateHeader();r&&r.setIconCls&&r.setIconCls(n);t.fireEvent("iconclschange",t,n,u)},setIcon:function(n){var t=this,u=t.icon,i=t.header,r=t.placeholder;t.icon=n;i?i.isHeader?i.setIcon(n):i.icon=n:t.updateHeader();r&&r.setIcon&&r.setIcon(n);t.fireEvent("iconchange",t,n,u)},bridgeToolbars:function(){function r(t,i,r){return Ext.isArray(t)?t={xtype:"toolbar",items:t}:t.xtype||(t.xtype="toolbar"),t.dock=i,(i=="left"||i=="right")&&(t.vertical=!0),r&&(t.layout=Ext.applyIf(t.layout||{},{pack:{left:"start",center:"center"}[n.buttonAlign]||"end"})),t}var n=this,t=[],i,u,f=n.minButtonWidth;n.tbar&&(t.push(r(n.tbar,"top")),n.tbar=null);n.bbar&&(t.push(r(n.bbar,"bottom")),n.bbar=null);n.buttons&&(n.fbar=n.buttons,n.buttons=null);n.fbar&&(i=r(n.fbar,"bottom",!0),i.ui="footer",f&&(u=i.defaults,i.defaults=function(n){var t=u||{};return n.xtype&&n.xtype!=="button"&&(!n.isComponent||!n.isXType("button"))||"minWidth"in t||(t=Ext.apply({minWidth:f},t)),t}),t.push(i),n.fbar=null);n.lbar&&(t.push(r(n.lbar,"left")),n.lbar=null);n.rbar&&(t.push(r(n.rbar,"right")),n.rbar=null);n.dockedItems?(Ext.isArray(n.dockedItems)||(n.dockedItems=[n.dockedItems]),n.dockedItems=n.dockedItems.concat(t)):n.dockedItems=t},isPlaceHolderCollapse:function(){return this.collapseMode=="placeholder"},onBoxReady:function(){this.callParent();this.collapsed&&this.setHiddenDocked()},beforeRender:function(){var n=this,t;n.callParent();n.initTools();n.preventHeader||n.header===!1||n.updateHeader();n.collapsed&&(n.isPlaceHolderCollapse()?(n.hidden=!0,n.placeholderCollapse(),t=n.collapsed,n.collapsed=!1):(n.beginCollapse(),n.addClsWithUI(n.collapsedCls)));t&&(n.collapsed=t)},initTools:function(){var n=this;n.tools=n.tools?Ext.Array.clone(n.tools):[];!n.collapsible||n.hideCollapseTool||n.header===!1||n.preventHeader||(n.collapseDirection=n.collapseDirection||n.headerPosition||"top",n.collapseTool=n.expandTool=Ext.widget({xtype:"tool",type:n.collapsed&&!n.isPlaceHolderCollapse()?"expand-"+n.getOppositeDirection(n.collapseDirection):"collapse-"+n.collapseDirection,handler:n.toggleCollapse,scope:n}),n.collapseFirst&&n.tools.unshift(n.collapseTool));n.addTools();n.closable&&(n.addClsWithUI("closable"),n.addTool({type:"close",handler:Ext.Function.bind(n.close,n,[])}));n.collapseTool&&!n.collapseFirst&&n.addTool(n.collapseTool)},addTools:Ext.emptyFn,close:function(){this.fireEvent("beforeclose",this)!==!1&&this.doClose()},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},updateHeader:function(n){var t=this,i=t.header,u=t.title,r=t.tools,f=t.icon||t.iconCls,e=t.headerPosition=="left"||t.headerPosition=="right";i!==!1&&(n||u||f||r&&r.length||t.collapsible&&!t.titleCollapse)?(i&&i.isHeader?i.show():(i=t.header=Ext.widget(Ext.apply({xtype:"header",title:u,titleAlign:t.titleAlign,orientation:e?"vertical":"horizontal",dock:t.headerPosition||"top",textCls:t.headerTextCls,iconCls:t.iconCls,icon:t.icon,baseCls:t.baseCls+"-header",tools:r,ui:t.ui,id:t.id+"_header",indicateDrag:t.draggable,frame:(t.frame||t.alwaysFramed)&&t.frameHeader,ignoreParentFrame:t.frame||t.overlapHeader,ignoreBorderManagement:t.frame||t.ignoreHeaderBorderManagement,listeners:t.collapsible&&t.titleCollapse?{click:t.toggleCollapse,scope:t}:null},t.header)),t.addDocked(i,0),t.tools=i.tools),t.initHeaderAria()):i&&i.hide()},setUI:function(n){var t=this;t.callParent(arguments);t.header&&t.header.rendered&&t.header.setUI(n)},getContentTarget:function(){return this.body},getTargetEl:function(){var n=this;return n.body||n.protoBody||n.frameBody||n.el},isVisible:function(n){var t=this;return t.collapsed&&t.placeholder?t.placeholder.isVisible(n):t.callParent(arguments)},onHide:function(){var n=this;n.collapsed&&n.placeholder?n.placeholder.hide():n.callParent(arguments)},onShow:function(){var n=this;n.collapsed&&n.placeholder?(n.hidden=!0,n.placeholder.show()):n.callParent(arguments)},onRemoved:function(n){var t=this;t.callParent(arguments);t.placeholder&&!n&&t.ownerCt.remove(t.placeholder,!1)},addTool:function(n){n=[].concat(n);for(var i=this,r=i.header,f=n.length,u,t=0;t<f;t++)u=n[t],i.tools.push(u),r&&r.isHeader&&r.addTool(u);i.updateHeader()},getOppositeDirection:function(n){var t=Ext.Component;switch(n){case t.DIRECTION_TOP:return t.DIRECTION_BOTTOM;case t.DIRECTION_RIGHT:return t.DIRECTION_LEFT;case t.DIRECTION_BOTTOM:return t.DIRECTION_TOP;case t.DIRECTION_LEFT:return t.DIRECTION_RIGHT}},getWidthAuthority:function(){return this.collapsed&&this.collapsedHorizontal()?1:this.callParent()},getHeightAuthority:function(){return this.collapsed&&this.collapsedVertical()?1:this.callParent()},collapsedHorizontal:function(){var n=this.getCollapsed();return n=="left"||n=="right"},collapsedVertical:function(){var n=this.getCollapsed();return n=="top"||n=="bottom"},restoreDimension:function(){var n=this.collapseDirection;return n==="top"||n==="bottom"?"height":"width"},getCollapsed:function(){var n=this;return n.collapsed===!0?n.collapseDirection:n.collapsed},getState:function(){var i=this,n=i.callParent(),t;return n=i.addPropertyToState(n,"collapsed"),i.collapsed&&(t=i.collapseMemento,t=t&&t.data,i.collapsedVertical()?(n&&delete n.height,t&&(n=i.addPropertyToState(n,"height",t.height))):(n&&delete n.width,t&&(n=i.addPropertyToState(n,"width",t.width)))),n},findReExpander:function(n){var f=this,r=Ext.Component,u=f.dockedItems.items,e=u.length,t,i;if(f.collapseMode!="mini")switch(n){case r.DIRECTION_TOP:case r.DIRECTION_BOTTOM:for(i=0;i<e;i++)if(t=u[i],!t.hidden&&t.isHeader&&(!t.dock||t.dock=="top"||t.dock=="bottom"))return t;break;case r.DIRECTION_LEFT:case r.DIRECTION_RIGHT:for(i=0;i<e;i++)if(t=u[i],!t.hidden&&t.isHeader&&(t.dock=="left"||t.dock=="right"))return t;break;default:throw"Panel#findReExpander must be passed a valid collapseDirection";}},getReExpander:function(n){var t=this,i=n||t.collapseDirection,r=t.reExpander||t.findReExpander(i);return t.expandDirection=t.getOppositeDirection(i),r||(t.reExpander=r=t.createReExpander(i,{dock:i,cls:Ext.baseCSSPrefix+"docked "+t.baseCls+"-"+t.ui+"-collapsed",ownerCt:t,ownerLayout:t.componentLayout}),t.dockedItems.insert(0,r)),r},createReExpander:function(n,t){var i=this,u=n=="left",f=n=="right",e=u||f,o,r=Ext.apply({hideMode:"offsets",title:i.title,orientation:e?"vertical":"horizontal",textCls:i.headerTextCls,icon:i.icon,iconCls:i.iconCls,baseCls:i.baseCls+"-header",ui:i.ui,frame:i.frame&&i.frameHeader,ignoreParentFrame:i.frame||i.overlapHeader,indicateDrag:i.draggable},t);return i.collapseMode=="mini"&&(e?r.width=1:r.height=1),i.hideCollapseTool||(o=u||f&&i.isPlaceHolderCollapse(),r[o?"items":"tools"]=[{xtype:"tool",type:"expand-"+i.getOppositeDirection(n),uiCls:["top"],handler:i.toggleCollapse,scope:i}]),r=new Ext.panel.Header(r),r.addClsWithUI(i.getHeaderCollapsedClasses(r)),r},getHeaderCollapsedClasses:function(n){var t=this,i=t.collapsedCls,r;return r=[i,i+"-"+n.dock],t.border&&(!t.frame||t.frame&&Ext.supports.CSS3BorderRadius)&&r.push(i+"-border-"+n.dock),r},beginCollapse:function(){var n=this,i=n.lastBox,r=n.rendered,u=n.collapseMemento||(n.collapseMemento=new Ext.util.Memento(n)),f=n.getSizeModel(),t;u.capture(["height","minHeight","width","minWidth"]);i&&u.capture(n.restoreDimension(),i,"last.");n.collapsedVertical()?(f.width.shrinkWrap&&(n.width=r?n.getWidth():n.width||n.minWidth||100),delete n.height,n.minHeight=0):n.collapsedHorizontal()&&(f.height.shrinkWrap&&(n.height=r?n.getHeight():n.height||n.minHeight||100),delete n.width,n.minWidth=0);n.ownerCt&&n.ownerCt.getLayout().beginCollapse(n);n.isPlaceHolderCollapse()||(n.header===(t=n.getReExpander())?(n.header.addClsWithUI(n.getHeaderCollapsedClasses(n.header)),n.header.rendered&&n.header.updateFrame()):t.el&&(t.el.show(),t.hidden=!1));n.resizer&&n.resizer.disable()},beginExpand:function(){var n=this,i=n.lastBox,r=n.collapseMemento,u=this.restoreDimension(),t;r.restore(["minHeight","minWidth",u]);i&&r.restore(u,!0,i,"last.");n.ownerCt&&n.ownerCt.getLayout().beginExpand(n);n.isPlaceHolderCollapse()||(n.header===(t=n.getReExpander())?(n.header.removeClsWithUI(n.getHeaderCollapsedClasses(n.header)),n.header.rendered&&n.header.updateFrame()):(t.hidden=!0,t.el.hide()));n.resizer&&n.resizer.enable()},collapse:function(n,t){var i=this,r=n||i.collapseDirection,u=i.ownerCt;return i.isCollapsingOrExpanding?i:(arguments.length<2&&(t=i.animCollapse),i.collapsed||i.fireEvent("beforecollapse",i,n,t)===!1)?i:u&&i.isPlaceHolderCollapse()?i.placeholderCollapse(n,t):(i.collapsed=r,i.beginCollapse(),i.fireHierarchyEvent("collapse"),i.doCollapseExpand(1,t))},doCollapseExpand:function(n,t){var i=this,u=i.animCollapse,r=i.ownerLayout;if(i.animCollapse=t,i.isCollapsingOrExpanding=n,r&&!t)r.onContentChange(i);else i.updateLayout({isRoot:!0});return i.animCollapse=u,i},afterCollapse:function(n){var t=this,i=t.ownerLayout;if(t.isCollapsingOrExpanding=0,t.collapseTool&&t.collapseTool.setType("expand-"+t.getOppositeDirection(t.collapseDirection)),i&&n)i.onContentChange(t);t.setHiddenDocked();t.fireEvent("collapse",t)},setHiddenDocked:function(){var t=this,i=t.hiddenOnCollapse,f=t.getReExpander(),u=t.getDockedItems(),e=u.length,r=0,n;for(i.add(t.body);r<e;r++)n=u[r],n&&n!==f&&n.el&&i.add(n.el);i.setStyle("visibility","hidden")},restoreHiddenDocked:function(){var n=this.hiddenOnCollapse;n.setStyle("visibility","");n.clear()},getPlaceholder:function(n){var t=this,r=n||t.collapseDirection,u=null,i=t.placeholder;return i||((t.floatable||t.collapsible&&t.titleCollapse)&&(u={click:{fn:t.floatable?t.floatCollapsedPanel:t.toggleCollapse,element:"el",scope:t}}),t.placeholder=i=Ext.widget(t.createReExpander(r,{id:t.id+"-placeholder",listeners:u}))),i.placeholderFor||(i.isComponent||(t.placeholder=i=t.lookupComponent(i)),Ext.applyIf(i,{margins:t.margins,placeholderFor:t}),i.addCls([Ext.baseCSSPrefix+"region-collapsed-placeholder",Ext.baseCSSPrefix+"region-collapsed-"+r+"-placeholder",t.collapsedCls])),i},placeholderCollapse:function(n,t){var i=this,u=i.ownerCt,f=n||i.collapseDirection,e=Ext.baseCSSPrefix+"border-region-slide-in",r=i.getPlaceholder(n);return i.isCollapsingOrExpanding=1,i.hidden=!0,i.collapsed=f,r.rendered?(r.el.dom.parentNode!==i.el.dom.parentNode&&i.el.dom.parentNode.insertBefore(r.el.dom,i.el.dom),r.hidden=!1,r.el.show(),u.updateLayout()):u.insert(u.items.indexOf(i),r),i.rendered?(i.el.setVisibilityMode(i.placeholderCollapseHideMode),t?(i.el.addCls(e),r.el.hide(),i.el.slideOut(f.substr(0,1),{preserveScroll:!0,duration:Ext.Number.from(t,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){i.el.removeCls(e);r.el.show().setStyle("display","none").slideIn(f.substr(0,1),{easing:"linear",duration:100,listeners:{afteranimate:function(){r.focus();i.isCollapsingOrExpanding=0;i.fireEvent("collapse",i)}}})}}})):(i.el.hide(),i.isCollapsingOrExpanding=0,i.fireEvent("collapse",i))):(i.isCollapsingOrExpanding=0,i.fireEvent("collapse",i)),i},floatCollapsedPanel:function(){function o(t){if(!n.isDestroyed){var i=n.el.getRegion().union(r.el.getRegion()).adjust(1,-1,-1,1);i.contains(t.getPoint())||n.slideOutFloatedPanel()}}var n=this,r=n.placeholder,t=r.getBox(!0),u,f=Ext.baseCSSPrefix+"border-region-slide-in",s=n.collapsed,e=n.ownerCt||n,i;if(n.el.hasCls(f)){n.slideOutFloatedPanel();return}if(!n.isSliding){n.isSliding=!0;n.placeholder.el.hide();n.placeholder.hidden=!0;n.el.show();n.hidden=!1;n.collapsed=!1;e.updateLayout();u=n.getBox(!0);n.placeholder.el.show();n.placeholder.hidden=!1;n.el.hide();n.hidden=!0;n.collapsed=s;e.updateLayout();n.placeholderMouseMon=r.el.monitorMouseLeave(500,o);n.panelMouseMon=n.el.monitorMouseLeave(500,o);n.el.addCls(f);n.collapseTool&&n.collapseTool.el.hide();switch(n.collapsed){case"top":n.el.setLeftTop(t.x,t.y+t.height-1);i="t";break;case"right":n.el.setLeftTop(t.x-u.width+1,t.y);i="r";break;case"bottom":n.el.setLeftTop(t.x,t.y-u.height+1);i="b";break;case"left":n.el.setLeftTop(t.x+t.width-1,t.y);i="l"}n.floatedFromCollapse=n.collapsed;n.collapsed=n.hidden=!1;n.el.slideIn(i,{preserveScroll:!0,listeners:{afteranimate:function(){n.isSliding=!1}}})}},isLayoutRoot:function(){return this.floatedFromCollapse?!0:this.callParent()},slideOutFloatedPanel:function(){var n=this,i=this.el,t;n.isSliding||(n.isSliding=!0,n.slideOutFloatedPanelBegin(),typeof n.collapsed=="string"&&(t=n.collapsed.charAt(0)),i.slideOut(t,{preserveScroll:!0,listeners:{afteranimate:function(){n.slideOutFloatedPanelEnd();n.el.removeCls(Ext.baseCSSPrefix+"border-region-slide-in");n.isSliding=!1}}}))},slideOutFloatedPanelBegin:function(){var n=this,t=this.el;n.collapsed=n.floatedFromCollapse;n.hidden=!0;n.floatedFromCollapse=null;t.un(n.panelMouseMon);n.placeholder.el.un(n.placeholderMouseMon)},slideOutFloatedPanelEnd:function(){this.collapseTool&&this.collapseTool.el.show()},expand:function(n){var t=this;return t.isCollapsingOrExpanding?t:(arguments.length||(n=t.animCollapse),!t.collapsed&&!t.floatedFromCollapse)?t:t.fireEvent("beforeexpand",t,n)===!1?t:t.isPlaceHolderCollapse()?t.placeholderExpand(n):(t.restoreHiddenDocked(),t.beginExpand(),t.collapsed=!1,t.fireHierarchyEvent("expand"),t.doCollapseExpand(2,n))},placeholderExpand:function(n){var t=this,f=t.collapsed,r=Ext.baseCSSPrefix+"border-region-slide-in",u,i,e;return t.floatedFromCollapse&&(i=t.getPosition(!0),t.slideOutFloatedPanelBegin(),t.slideOutFloatedPanelEnd()),t.isCollapsingOrExpanding=2,t.placeholder.hidden=!0,t.placeholder.el.hide(),t.collapsed=!1,t.show(),n?i?(u=t.el.getXY(),t.el.setLeftTop(i[0],i[1]),t.el.moveTo(u[0],u[1],{duration:Ext.Number.from(n,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){t.el.removeCls(r);t.isCollapsingOrExpanding=0;t.fireEvent("expand",t)}}})):(t.hidden=!0,t.el.addCls(r),t.el.hide(),t.collapsed=f,t.placeholder.show(),e=f.substr(0,1),t.hidden=!1,t.el.slideIn(e,{preserveScroll:!0,duration:Ext.Number.from(n,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){t.collapsed=!1;t.el.removeCls(r);t.placeholder.hide();t.isCollapsingOrExpanding=0;t.fireEvent("expand",t)}}})):(t.isCollapsingOrExpanding=0,t.fireEvent("expand",t)),t},afterExpand:function(n){var t=this,i=t.ownerLayout;if(t.isCollapsingOrExpanding=0,t.collapseTool&&t.collapseTool.setType("collapse-"+t.collapseDirection),i&&n)i.onContentChange(t);t.fireEvent("expand",t)},setBorder:function(n,t){if(!t){var i=this,r=i.header;n=n?Ext.Element.unitizeBox(n===!0?1:n):0;r&&(r.isHeader?r.setBorder(n):r.border=n);i.rendered&&i.bodyBorder!==!1&&i.body.setStyle("border-width",n);i.updateLayout();i.border=n}},toggleCollapse:function(){return this.collapsed||this.floatedFromCollapse?this.expand():this.collapse()},getKeyMap:function(){return this.keyMap||(this.keyMap=new Ext.util.KeyMap(Ext.apply({target:this.el},this.keys)))},initDraggable:function(){this.dd=new Ext.panel.DD(this,Ext.isBoolean(this.draggable)?null:this.draggable)},ghostTools:function(){var t=[],r=this.header,i=r?r.query("tool[hidden=false]"):[],n,u,f;if(i.length)for(n=0,u=i.length;n<u;n++)f=i[n],t.push({type:f.type});else t=[{type:"placeholder"}];return t},ghost:function(n){var t=this,i=t.ghostPanel,u=t.getBox(),r;return i?i.el.show():(i=new Ext.panel.Panel({renderTo:document.body,floating:{shadow:!1},frame:t.frame&&!t.alwaysFramed,alwaysFramed:t.alwaysFramed,overlapHeader:t.overlapHeader,headerPosition:t.headerPosition,baseCls:t.baseCls,cls:t.baseCls+"-ghost "+(n||"")}),t.ghostPanel=i),i.floatParent=t.floatParent,t.floating?i.setZIndex(Ext.Number.from(t.el.getStyle("zIndex"),0)):i.toFront(),t.preventHeader||t.header===!1||(r=i.header,r&&(r.suspendLayouts(),Ext.Array.forEach(r.query("tool"),r.remove,r),r.resumeLayouts()),i.addTool(t.ghostTools()),i.setTitle(t.title),i.setIconCls(t.iconCls)),i.setPagePosition(u.x,u.y),i.setSize(u.width,u.height),t.el.hide(),i},unghost:function(n,t){var i=this;i.ghostPanel&&(n!==!1&&(i.el.show(),t!==!1&&(i.setPagePosition(i.ghostPanel.el.getXY()),i.hideMode=="offsets"&&delete i.el.hideModeStyles),Ext.defer(i.focus,10,i)),i.ghostPanel.el.hide())},beginDrag:function(){this.floatingDescendants&&this.floatingDescendants.hide()},endDrag:function(){this.floatingDescendants&&this.floatingDescendants.show()},initResizable:function(n){this.collapsed&&(n.disabled=!0);this.callParent([n])}},function(){this.prototype.animCollapse=Ext.enableFx});Ext.define("Ext.tip.Tip",{extend:"Ext.panel.Panel",alternateClassName:"Ext.Tip",minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:!0,autoRender:!0,hidden:!0,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:!0,shim:!0,constrain:!0},focusOnToFront:!1,closeAction:"hide",ariaRole:"tooltip",alwaysFramed:!0,frameHeader:!1,initComponent:function(){var n=this;n.floating=Ext.apply({},{shadow:n.shadow},n.self.prototype.floating);n.callParent(arguments);n.constrain=n.constrain||n.constrainPosition},showAt:function(n){var t=this;this.callParent(arguments);t.isVisible()&&(t.setPagePosition(n[0],n[1]),(t.constrainPosition||t.constrain)&&t.doConstrain(),t.toFront(!0))},showBy:function(n,t){this.showAt(this.el.getAlignToXY(n,t||this.defaultAlign))},initDraggable:function(){var n=this;n.draggable={el:n.getDragEl(),delegate:n.header.el,constrain:n,constrainTo:n.el.getScopeParent()};Ext.Component.prototype.initDraggable.call(n)},ghost:undefined,unghost:undefined});Ext.define("Ext.tip.ToolTip",{extend:"Ext.tip.Tip",alias:"widget.tooltip",alternateClassName:"Ext.ToolTip",autoHide:!0,showDelay:500,hideDelay:200,dismissDelay:5e3,trackMouse:!1,anchorToTarget:!0,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var n=this;n.callParent(arguments);n.lastActive=new Date;n.setTarget(n.target);n.origAnchor=n.anchor},onRender:function(){var n=this;n.callParent(arguments);n.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+n.getAnchorPosition();n.anchorEl=n.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+n.anchorCls})},setTarget:function(n){var t=this,r=Ext.get(n),i;t.target&&(i=Ext.get(t.target),t.mun(i,"mouseover",t.onTargetOver,t),t.mun(i,"mouseout",t.onTargetOut,t),t.mun(i,"mousemove",t.onMouseMove,t));t.target=r;r&&t.mon(r,{freezeEvent:!0,mouseover:t.onTargetOver,mouseout:t.onTargetOut,mousemove:t.onMouseMove,scope:t});t.anchor&&(t.anchorTarget=t.target)},onMouseMove:function(n){var t=this,r=t.delegate?n.getTarget(t.delegate):t.triggerElement=!0,i;if(r)if(t.targetXY=n.getXY(),r===t.triggerElement)!t.hidden&&t.trackMouse&&(i=t.getTargetXY(),t.constrainPosition&&(i=t.el.adjustForConstraints(i,t.el.getScopeParent())),t.setPagePosition(i));else{t.hide();t.lastActive=new Date(0);t.onTargetOver(n)}else!t.closable&&t.isVisible()&&t.autoHide!==!1&&t.hide()},getTargetXY:function(){var n=this,i,r,u,s,h,f,e,c,l,t,o,a;if(n.delegate&&(n.anchorTarget=n.triggerElement),n.anchor){if(n.targetCounter++,r=n.getOffsets(),u=n.anchorToTarget&&!n.trackMouse?n.el.getAlignToXY(n.anchorTarget,n.getAnchorAlign()):n.targetXY,s=Ext.Element.getViewWidth()-5,h=Ext.Element.getViewHeight()-5,f=document.documentElement,e=document.body,c=(f.scrollLeft||e.scrollLeft||0)+5,l=(f.scrollTop||e.scrollTop||0)+5,t=[u[0]+r[0],u[1]+r[1]],o=n.getSize(),a=n.constrainPosition,n.anchorEl.removeCls(n.anchorCls),n.targetCounter<2&&a){if(t[0]<c)return n.anchorToTarget&&(n.defaultAlign="l-r",n.mouseOffset&&(n.mouseOffset[0]*=-1)),n.anchor="left",n.getTargetXY();if(t[0]+o.width>s)return n.anchorToTarget&&(n.defaultAlign="r-l",n.mouseOffset&&(n.mouseOffset[0]*=-1)),n.anchor="right",n.getTargetXY();if(t[1]<l)return n.anchorToTarget&&(n.defaultAlign="t-b",n.mouseOffset&&(n.mouseOffset[1]*=-1)),n.anchor="top",n.getTargetXY();if(t[1]+o.height>h)return n.anchorToTarget&&(n.defaultAlign="b-t",n.mouseOffset&&(n.mouseOffset[1]*=-1)),n.anchor="bottom",n.getTargetXY()}return n.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+n.getAnchorPosition(),n.anchorEl.addCls(n.anchorCls),n.targetCounter=0,t}return i=n.getMouseOffset(),n.targetXY?[n.targetXY[0]+i[0],n.targetXY[1]+i[1]]:i},getMouseOffset:function(){var n=this,t=n.anchor?[0,0]:[15,18];return n.mouseOffset&&(t[0]+=n.mouseOffset[0],t[1]+=n.mouseOffset[1]),t},getAnchorPosition:function(){var n=this,t;n.anchor?n.tipAnchor=n.anchor.charAt(0):(t=n.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/),n.tipAnchor=t[1].charAt(0));switch(n.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var t=this,i,n,r=t.getAnchorPosition().charAt(0);if(t.anchorToTarget&&!t.trackMouse)switch(r){case"t":n=[0,9];break;case"b":n=[0,-13];break;case"r":n=[-13,0];break;default:n=[9,0]}else switch(r){case"t":n=[-15-t.anchorOffset,30];break;case"b":n=[-19-t.anchorOffset,-13-t.el.dom.offsetHeight];break;case"r":n=[-15-t.el.dom.offsetWidth,-13-t.anchorOffset];break;default:n=[25,-13-t.anchorOffset]}return i=t.getMouseOffset(),n[0]+=i[0],n[1]+=i[1],n},onTargetOver:function(n){var t=this,i;t.disabled||n.within(t.target.dom,!0)||(i=n.getTarget(t.delegate),i&&(t.triggerElement=i,t.clearTimer("hide"),t.targetXY=n.getXY(),t.delayShow()))},delayShow:function(){var n=this;n.hidden&&!n.showTimer?Ext.Date.getElapsed(n.lastActive)<n.quickShowInterval?n.show():n.showTimer=Ext.defer(n.show,n.showDelay,n):n.hidden||n.autoHide===!1||n.show()},onShowVeto:function(){this.callParent();this.clearTimer("show")},onTargetOut:function(n){var t=this;t.disabled||n.within(t.target.dom,!0)||(t.clearTimer("show"),t.autoHide!==!1&&t.delayHide())},delayHide:function(){var n=this;n.hidden||n.hideTimer||(n.hideTimer=Ext.defer(n.hide,n.hideDelay,n))},hide:function(){var n=this;n.clearTimer("dismiss");n.lastActive=new Date;n.anchorEl&&n.anchorEl.hide();n.callParent(arguments);delete n.triggerElement},show:function(){var n=this;this.callParent();this.hidden===!1&&(n.setPagePosition(-1e4,-1e4),n.anchor&&(n.anchor=n.origAnchor),n.calledFromShowAt||n.showAt(n.getTargetXY()),n.anchor?(n.syncAnchor(),n.anchorEl.show()):n.anchorEl.hide())},showAt:function(n){var t=this;t.lastActive=new Date;t.clearTimers();t.calledFromShowAt=!0;t.isVisible()||this.callParent(arguments);t.isVisible()&&(t.setPagePosition(n[0],n[1]),(t.constrainPosition||t.constrain)&&t.doConstrain(),t.toFront(!0),t.el.sync(!0),t.dismissDelay&&t.autoHide!==!1&&(t.dismissTimer=Ext.defer(t.hide,t.dismissDelay,t)),t.anchor?(t.syncAnchor(),t.anchorEl.isVisible()||t.anchorEl.show()):t.anchorEl.hide());delete t.calledFromShowAt},syncAnchor:function(){var n=this,t,i,r;switch(n.tipAnchor.charAt(0)){case"t":t="b";i="tl";r=[20+n.anchorOffset,1];break;case"r":t="l";i="tr";r=[-1,12+n.anchorOffset];break;case"b":t="t";i="bl";r=[20+n.anchorOffset,-1];break;default:t="r";i="tl";r=[1,12+n.anchorOffset]}n.anchorEl.alignTo(n.el,t+"-"+i,r);n.anchorEl.setStyle("z-index",parseInt(n.el.getZIndex(),10)||1).setVisibilityMode(Ext.Element.DISPLAY)},setPagePosition:function(){var n=this;n.callParent(arguments);n.anchor&&n.syncAnchor()},clearTimer:function(n){n=n+"Timer";clearTimeout(this[n]);delete this[n]},clearTimers:function(){var n=this;n.clearTimer("show");n.clearTimer("dismiss");n.clearTimer("hide")},onShow:function(){var n=this;n.callParent();n.mon(Ext.getDoc(),"mousedown",n.onDocMouseDown,n)},onHide:function(){var n=this;n.callParent();n.mun(Ext.getDoc(),"mousedown",n.onDocMouseDown,n)},onDocMouseDown:function(n){var t=this;t.closable||n.within(t.el.dom)||(t.disable(),Ext.defer(t.doEnable,100,t))},doEnable:function(){this.isDestroyed||this.enable()},onDisable:function(){this.callParent();this.clearTimers();this.hide()},beforeDestroy:function(){var n=this;n.clearTimers();Ext.destroy(n.anchorEl);delete n.anchorEl;delete n.target;delete n.anchorTarget;delete n.triggerElement;n.callParent()},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);this.callParent()}});Ext.define("Ext.tip.QuickTip",{extend:"Ext.tip.ToolTip",alias:"widget.quicktip",alternateClassName:"Ext.QuickTip",interceptTitles:!1,title:"&#160;",tagConfig:{namespace:"data-",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){var n=this;n.target=n.target||Ext.getDoc();n.targets=n.targets||{};n.callParent()},register:function(n){for(var u=Ext.isArray(n)?n:arguments,r=0,e=u.length,t,i,f;r<e;r++)if(n=u[r],t=n.target,t)if(Ext.isArray(t))for(i=0,f=t.length;i<f;i++)this.targets[Ext.id(t[i])]=n;else this.targets[Ext.id(t)]=n},unregister:function(n){delete this.targets[Ext.id(n)]},cancelShow:function(n){var t=this,i=t.activeTarget;n=Ext.get(n).dom;t.isVisible()?i&&i.el==n&&t.hide():i&&i.el==n&&t.clearTimer("show")},getTipCfg:function(n){var t=n.getTarget(),r=t.title,i;return this.interceptTitles&&r&&Ext.isString(r)?(t.qtip=r,t.removeAttribute("title"),n.preventDefault(),{text:r}):(i=this.tagConfig,t=n.getTarget("["+i.namespace+i.attribute+"]"),t)?{target:t,text:t.getAttribute(i.namespace+i.attribute)}:void 0},onTargetOver:function(n){var t=this,i=n.getTarget(t.delegate),e,h,r,u,f,o,l,c,s,v,a;if(!t.disabled&&(t.targetXY=n.getXY(),i&&i.nodeType===1&&i!=document.documentElement&&i!=document.body)){if(t.activeTarget&&(i==t.activeTarget.el||Ext.fly(t.activeTarget.el).contains(i))){t.clearTimer("hide");t.show();return}if(i){c=t.targets;for(a in c)if(c.hasOwnProperty(a)&&(v=c[a],s=Ext.fly(v.target),s&&(s.dom===i||s.contains(i)))){r=s.dom;break}if(r){t.activeTarget=t.targets[r.id];t.activeTarget.el=i;t.anchor=t.activeTarget.anchor;t.anchor&&(t.anchorTarget=i);e=Ext.isDefined(t.activeTarget.showDelay);e&&(h=t.showDelay,t.showDelay=t.activeTarget.showDelay);t.delayShow();e&&(t.showDelay=h);return}}r=Ext.fly(i,"_quicktip-target");u=t.tagConfig;f=u.namespace;o=t.getTipCfg(n);o&&(o.target&&(i=o.target,r=Ext.fly(i,"_quicktip-target")),l=r.getAttribute(f+u.hide),t.activeTarget={el:i,text:o.text,width:+r.getAttribute(f+u.width)||null,autoHide:l!="user"&&l!=="false",title:r.getAttribute(f+u.title),cls:r.getAttribute(f+u.cls),align:r.getAttribute(f+u.align)},t.anchor=r.getAttribute(f+u.anchor),t.anchor&&(t.anchorTarget=i),e=Ext.isDefined(t.activeTarget.showDelay),e&&(h=t.showDelay,t.showDelay=t.activeTarget.showDelay),t.delayShow(),e&&(t.showDelay=h))}},onTargetOut:function(n){var t=this,i=t.activeTarget,r,u;i&&n.within(t.activeTarget.el)&&!t.getTipCfg(n)||(t.clearTimer("show"),delete t.activeTarget,t.autoHide!==!1&&(r=i&&Ext.isDefined(i.hideDelay),r&&(u=t.hideDelay,t.hideDelay=i.hideDelay),t.delayHide(),r&&(t.hideDelay=u)))},showAt:function(n){var t=this,i=t.activeTarget,r;i&&(t.rendered||(t.render(Ext.getBody()),t.activeTarget=i),t.suspendLayouts(),i.title?(t.setTitle(i.title),t.header.show()):t.header.hide(),t.update(i.text),t.autoHide=i.autoHide,t.dismissDelay=i.dismissDelay||t.dismissDelay,i.mouseOffset&&(n[0]+=i.mouseOffset[0],n[1]+=i.mouseOffset[1]),r=t.lastCls,r&&(t.removeCls(r),delete t.lastCls),r=i.cls,r&&(t.addCls(r),t.lastCls=r),t.setWidth(i.width),t.anchor?t.constrainPosition=!1:i.align?(n=t.el.getAlignToXY(i.el,i.align),t.constrainPosition=!1):t.constrainPosition=!0,t.resumeLayouts(!0));t.callParent([n])},hide:function(){delete this.activeTarget;this.callParent()}});Ext.define("Ext.tip.QuickTipManager",function(){var n,t=!1;return{requires:["Ext.tip.QuickTip"],singleton:!0,alternateClassName:"Ext.QuickTips",init:function(i,r){if(!n){if(!Ext.isReady){Ext.onReady(function(){Ext.tip.QuickTipManager.init(i,r)});return}var u=Ext.apply({disabled:t,id:"ext-quicktips-tip"},r),f=u.className,e=u.xtype;f?delete u.className:e&&(f="widget."+e,delete u.xtype);i!==!1&&(u.renderTo=document.body);n=Ext.create(f||"Ext.tip.QuickTip",u)}},destroy:function(){if(n){var t;n.destroy();n=t}},ddDisable:function(){n&&!t&&n.disable()},ddEnable:function(){n&&!t&&n.enable()},enable:function(){n&&n.enable();t=!1},disable:function(){n&&n.disable();t=!0},isEnabled:function(){return n!==undefined&&!n.disabled},getQuickTip:function(){return n},register:function(){n.register.apply(n,arguments)},unregister:function(){n.unregister.apply(n,arguments)},tips:function(){n.register.apply(n,arguments)}}}());Ext.define("Ext.app.EventBus",{requires:["Ext.util.Event","Ext.Component"],mixins:{observable:"Ext.util.Observable"},constructor:function(){this.mixins.observable.constructor.call(this);this.bus={};var n=this;Ext.override(Ext.Component,{fireEvent:function(t){return Ext.util.Observable.prototype.fireEvent.apply(this,arguments)!==!1?n.dispatch.call(n,t,this,arguments):!1}})},dispatch:function(n,t,i){var l=this.bus,r=l[n],u,f,o,s,h,e,c;if(r)for(u in r)if(r.hasOwnProperty(u)&&t.is(u)){f=r[u];for(o in f)if(f.hasOwnProperty(o))for(s=f[o],e=0,c=s.length;e<c;e++)if(h=s[e],h.fire.apply(h,Array.prototype.slice.call(i,1))===!1)return!1}return!0},control:function(n,t,i){var l=this.bus,a,e,v,r,u,o,h,c,s,f;if(Ext.isString(n)){r=n;n={};n[r]=t;this.control(n,null,i);return}a=Ext.util.Observable.HasListeners.prototype;for(r in n)if(n.hasOwnProperty(r)){s=n[r]||{};for(f in s)s.hasOwnProperty(f)&&(u={},o=s[f],h=i,c=new Ext.util.Event(i,f),Ext.isObject(o)&&(u=o,o=u.fn,h=u.scope||i,delete u.fn,delete u.scope),c.addListener(o,h,u),a[f]=1,e=l[f]||(l[f]={}),e=e[r]||(e[r]={}),v=e[i.id]||(e[i.id]=[]),v.push(c))}}});Ext.define("Ext.app.Application",{extend:"Ext.app.Controller",requires:["Ext.ModelManager","Ext.data.Model","Ext.data.StoreManager","Ext.tip.QuickTipManager","Ext.ComponentManager","Ext.app.EventBus"],scope:undefined,enableQuickTips:!0,appFolder:"app",autoCreateViewport:!1,constructor:function(n){n=n||{};Ext.apply(this,n);var t=this,e=n.requires||[],r,o,i,s,u,h,f;if(Ext.Loader.setPath(t.name,t.appFolder),t.paths){u=t.paths;for(f in u)u.hasOwnProperty(f)&&(h=u[f],Ext.Loader.setPath(f,h))}for(t.callParent(arguments),t.eventbus=new Ext.app.EventBus,r=Ext.Array.from(t.controllers),o=r&&r.length,t.controllers=new Ext.util.MixedCollection,t.autoCreateViewport&&e.push(t.getModuleClassName("Viewport","view")),i=0;i<o;i++)e.push(t.getModuleClassName(r[i],"controller"));Ext.require(e);Ext.onReady(function(){for(t.init(t),i=0;i<o;i++)s=t.getController(r[i]),s.init(t);t.onBeforeLaunch.call(t)},t)},control:function(n,t,i){this.eventbus.control(n,t,i)},launch:Ext.emptyFn,onBeforeLaunch:function(){var n=this,i,t,r,u;for(n.enableQuickTips&&Ext.tip.QuickTipManager.init(),n.autoCreateViewport&&n.getView("Viewport").create(),n.launch.call(this.scope||this),n.launched=!0,n.fireEvent("launch",this),i=n.controllers.items,r=i.length,t=0;t<r;t++){u=i[t];u.onLaunch(this)}},getModuleClassName:function(n,t){return n.indexOf(".")!==-1&&(Ext.ClassManager.isCreated(n)||Ext.Loader.isAClassNameWithAKnownPrefix(n))?n:this.name+"."+t+"."+n},getController:function(n){var t=this.controllers.get(n);return t||(t=Ext.create(this.getModuleClassName(n,"controller"),{application:this,id:n}),this.controllers.add(t)),t},getStore:function(n){var t=Ext.StoreManager.get(n);return t||(t=Ext.create(this.getModuleClassName(n,"store"),{storeId:n})),t},getModel:function(n){return n=this.getModuleClassName(n,"model"),Ext.ModelManager.getModel(n)},getView:function(n){return n=this.getModuleClassName(n,"view"),Ext.ClassManager.get(n)}});Ext.define("Ext.button.Split",{alias:"widget.splitbutton",extend:"Ext.button.Button",alternateClassName:"Ext.SplitButton",arrowCls:"split",split:!0,initComponent:function(){this.callParent();this.addEvents("arrowclick")},setArrowHandler:function(n,t){this.arrowHandler=n;this.scope=t},onClick:function(n){var t=this;n.preventDefault();t.disabled||(t.overMenuTrigger?(t.maybeShowMenu(),t.fireEvent("arrowclick",t,n),t.arrowHandler&&t.arrowHandler.call(t.scope||t,t,n)):(t.doToggle(),t.fireHandler(n)))}});Ext.define("Ext.button.Cycle",{alias:"widget.cycle",extend:"Ext.button.Split",alternateClassName:"Ext.CycleButton",getButtonText:function(n){var t=this,i="";return n&&t.showText===!0?(t.prependText&&(i+=t.prependText),i+n.text):t.text},setActiveItem:function(n,t){var i=this;Ext.isObject(n)||(n=i.menu.getComponent(n));n&&(i.rendered?(i.setText(i.getButtonText(n)),i.setIconCls(n.iconCls)):(i.text=i.getButtonText(n),i.iconCls=n.iconCls),i.activeItem=n,n.checked||n.setChecked(!0,!1),i.forceIcon&&i.setIconCls(i.forceIcon),t||i.fireEvent("change",i,n))},getActiveItem:function(){return this.activeItem},initComponent:function(){var n=this,u=0,r,t,f,i;if(n.addEvents("change"),n.changeHandler){n.on("change",n.changeHandler,n.scope||n);delete n.changeHandler}for(r=(n.menu.items||[]).concat(n.items||[]),n.menu=Ext.applyIf({cls:Ext.baseCSSPrefix+"cycle-menu",items:[]},n.menu),f=r.length,t=0;t<f;t++)i=r[t],i=Ext.applyIf({group:n.id,itemIndex:t,checkHandler:n.checkHandler,scope:n,checked:i.checked||!1},i),n.menu.items.push(i),i.checked&&(u=t);n.itemCount=n.menu.items.length;n.callParent(arguments);n.on("click",n.toggleSelected,n);n.setActiveItem(u,n);n.width&&n.showText&&n.addCls(Ext.baseCSSPrefix+"cycle-fixed-width")},checkHandler:function(n,t){t&&this.setActiveItem(n)},toggleSelected:function(){var n=this,i=n.menu,t;t=n.activeItem.next(":not([disabled])")||i.items.getAt(0);t.setChecked(!0)}});Ext.define("Ext.chart.Callout",{constructor:function(n){n.callouts&&(n.callouts.styles=Ext.applyIf(n.callouts.styles||{},{color:"#000",font:"11px Helvetica, sans-serif"}),this.callouts=Ext.apply(this.callouts||{},n.callouts),this.calloutsArray=[])},renderCallouts:function(){if(this.callouts){for(var r=this,c=r.items,p=r.chart.animate,s=r.callouts,w=s.styles,l=r.calloutsArray,a=r.chart.store,v=a.getCount(),b=c.length/v,y=[],f,t,h,n,e,o,u=0,i=0;u<v;u++)for(f=0;f<b;f++){if(h=c[i],n=l[i],e=a.getAt(u),o=s.filter(e),!o&&!n){i++;continue}n||(l[i]=n=r.onCreateCallout(e,h,u,o,f,i));for(t in n)n[t]&&n[t].setAttributes&&n[t].setAttributes(w,!0);if(!o)for(t in n)n[t]&&(n[t].setAttributes?n[t].setAttributes({hidden:!0},!0):n[t].setVisible&&n[t].setVisible(!1));s.renderer(n,e);r.onPlaceCallout(n,e,h,u,o,p,f,i,y);y.push(n);i++}this.hideCallouts(i)}},onCreateCallout:function(){var n=this,s=n.calloutsGroup,t=n.callouts,i=t.styles,f=i.width,e=i.height,u=n.chart,o=u.surface,r={lines:!1};return r.lines=o.add(Ext.apply({},{type:"path",path:"M0,0",stroke:n.getLegendColor()||"#555"},i)),t.items&&(r.panel=new Ext.Panel({style:"position: absolute;",width:f,height:e,items:t.items,renderTo:u.el})),r},hideCallouts:function(n){for(var r=this.calloutsArray,u=r.length,t,i;u-->n;){t=r[u];for(i in t)t[i]&&t[i].hide(!0)}}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",measureContentWidth:function(n){var r=n.target,t=n.getPaddingInfo(),i=this.getBBox(n);return r.viewBox?n.heightModel.shrinkWrap?t.width:i.width/i.height*(n.getProp("contentHeight")-t.height)+t.width:r.autoSize?i.width+t.width:i.x+i.width+t.width},measureContentHeight:function(n){var r=n.target,t=n.getPaddingInfo(),i=this.getBBox(n);return n.target.viewBox?n.widthModel.shrinkWrap?t.height:i.height/i.width*(n.getProp("contentWidth")-t.width)+t.height:r.autoSize?i.height+t.height:i.y+i.height+t.height},getBBox:function(n){var t=n.surfaceBBox;return t||(t=n.target.surface.items.getBBox(),t.width===-Infinity&&t.height===-Infinity&&(t.width=t.height=t.x=t.y=0),n.surfaceBBox=t),t},publishInnerWidth:function(n,t){n.setContentWidth(t-n.getFrameInfo().width,!0)},publishInnerHeight:function(n,t){n.setContentHeight(t-n.getFrameInfo().height,!0)},finishedLayout:function(n){var t=n.props,i=n.getPaddingInfo();this.owner.setSurfaceSize(t.contentWidth-i.width,t.contentHeight-i.height);this.callParent(arguments)}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},autoDestroy:!1,isCompositeSprite:!0,constructor:function(n){var t=this;n=n||{};Ext.apply(t,n);t.addEvents("mousedown","mouseup","mouseover","mouseout","click");t.id=Ext.id(null,"ext-sprite-group-");t.callParent()},onClick:function(n){this.fireEvent("click",n)},onMouseUp:function(n){this.fireEvent("mouseup",n)},onMouseDown:function(n){this.fireEvent("mousedown",n)},onMouseOver:function(n){this.fireEvent("mouseover",n)},onMouseOut:function(n){this.fireEvent("mouseout",n)},attachEvents:function(n){var t=this;n.on({scope:t,mousedown:t.onMouseDown,mouseup:t.onMouseUp,mouseover:t.onMouseOver,mouseout:t.onMouseOut,click:t.onClick})},add:function(){var n=this.callParent(arguments);return this.attachEvents(n),n},insert:function(){return this.callParent(arguments)},remove:function(n){var t=this;return n.un({scope:t,mousedown:t.onMouseDown,mouseup:t.onMouseUp,mouseover:t.onMouseOver,mouseout:t.onMouseOut,click:t.onClick}),t.callParent(arguments)},getBBox:function(){for(var f=0,t,n,s=this.items,h=this.length,i=Infinity,r=i,e=-i,u=i,o=-i;f<h;f++)t=s[f],t.el&&!t.bboxExcluded&&(n=t.getBBox(),r=Math.min(r,n.x),u=Math.min(u,n.y),e=Math.max(e,n.height+n.y),o=Math.max(o,n.width+n.x));return{x:r,y:u,height:e-u,width:o-r}},setAttributes:function(n,t){for(var i=0,r=this.items,u=this.length;i<u;i++)r[i].setAttributes(n,t);return this},hide:function(n){for(var t=0,i=this.items,r=this.length;t<r;t++)i[t].hide(n);return this},show:function(n){for(var t=0,i=this.items,r=this.length;t<r;t++)i[t].show(n);return this},redraw:function(){var n=this,t=0,r=n.items,i=n.getSurface(),u=n.length;if(i)for(;t<u;t++)i.renderItem(r[t]);return n},setStyle:function(n){for(var t=0,u=this.items,f=this.length,r,i;t<f;t++)r=u[t],i=r.el,i&&i.setStyle(n)},addCls:function(n){var t=0,r=this.items,i=this.getSurface(),u=this.length;if(i)for(;t<u;t++)i.addCls(r[t],n)},removeCls:function(n){var t=0,r=this.items,i=this.getSurface(),u=this.length;if(i)for(;t<u;t++)i.removeCls(r[t],n)},getSurface:function(){var n=this.first();return n?n.surface:null},destroy:function(){var n=this,i=n.getSurface(),r=n.autoDestroy,t;if(i)while(n.getCount()>0)t=n.first(),n.remove(t),i.remove(t,r);n.clearListeners()}});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml","Ext.draw.engine.SvgExporter","Ext.draw.engine.ImageExporter"],separatorRe:/[, ]+/,statics:{create:function(n,t){t=t||["Svg","Vml"];for(var i=0,r=t.length;i<r;i++)if(Ext.supports[t[i]]!==!1)return Ext.create("Ext.draw.engine."+t[i],n);return!1},save:function(n,t){t=t||{};var i={"image/png":"Image","image/jpeg":"Image","image/svg+xml":"Svg"}[t.type]||"Svg",r=Ext.draw.engine[i+"Exporter"];return r.generate(n,t)}},availableAttrs:{blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,"dominant-baseline":"auto",fill:"none","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:"",height:0,hidden:!1,href:"http://sencha.com/",opacity:1,path:"M0,0",radius:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"none","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank",text:"","text-anchor":"middle",title:"Ext Draw",width:0,x:0,y:0,zIndex:0},container:undefined,height:352,width:512,x:0,y:0,orderSpritesByZIndex:!0,constructor:function(n){var t=this;n=n||{};Ext.apply(t,n);t.domRef=Ext.getDoc().dom;t.customAttributes={};t.addEvents("mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","click","dblclick");t.mixins.observable.constructor.call(t);t.getId();t.initGradients();t.initItems();t.renderTo&&(t.render(t.renderTo),delete t.renderTo);t.initBackground(n.background)},initSurface:Ext.emptyFn,renderItem:Ext.emptyFn,renderItems:Ext.emptyFn,setViewBox:function(n,t,i,r){isFinite(n)&&isFinite(t)&&isFinite(i)&&isFinite(r)&&(this.viewBox={x:n,y:t,width:i,height:r},this.applyViewBox())},addCls:Ext.emptyFn,removeCls:Ext.emptyFn,setStyle:Ext.emptyFn,initGradients:function(){if(this.hasOwnProperty("gradients")){var t=this.gradients,i=t.length,r=this.addGradient,n;if(t)for(n=0;n<i;n++)if(r.call(this,t[n],n,i)===!1)break}},initItems:function(){var n=this.items;this.items=new Ext.draw.CompositeSprite;this.items.autoDestroy=!0;this.groups=new Ext.draw.CompositeSprite;n&&this.add(n)},initBackground:function(n){var t=this,i=t.width,r=t.height,f,u;Ext.isString(n)&&(n={fill:n});n&&(n.gradient?(u=n.gradient,f=u.id,t.addGradient(u),t.background=t.add({type:"rect",x:0,y:0,width:i,height:r,fill:"url(#"+f+")",zIndex:-1})):n.fill?t.background=t.add({type:"rect",x:0,y:0,width:i,height:r,fill:n.fill,zIndex:-1}):n.image&&(t.background=t.add({type:"image",x:0,y:0,width:i,height:r,src:n.image,zIndex:-1})),t.background.bboxExcluded=!0)},setSize:function(){this.applyViewBox()},scrubAttrs:function(n){var t,i={},u={},r=n.attr;for(t in r)this.translateAttrs.hasOwnProperty(t)?(i[this.translateAttrs[t]]=r[t],u[this.translateAttrs[t]]=!0):this.availableAttrs.hasOwnProperty(t)&&!u[t]&&(i[t]=r[t]);return i},onClick:function(n){this.processEvent("click",n)},onDblClick:function(n){this.processEvent("dblclick",n)},onMouseUp:function(n){this.processEvent("mouseup",n)},onMouseDown:function(n){this.processEvent("mousedown",n)},onMouseOver:function(n){this.processEvent("mouseover",n)},onMouseOut:function(n){this.processEvent("mouseout",n)},onMouseMove:function(n){this.fireEvent("mousemove",n)},onMouseEnter:Ext.emptyFn,onMouseLeave:Ext.emptyFn,addGradient:Ext.emptyFn,add:function(){var n=Array.prototype.slice.call(arguments),t,e=n.length>1,u,f,i,o,r;if(e||Ext.isArray(n[0])){for(u=e?n:n[0],f=[],i=0,o=u.length;i<o;i++)r=u[i],r=this.add(r),f.push(r);return f}t=this.prepareItems(n[0],!0)[0];this.insertByZIndex(t);this.onAdd(t);return t},insertByZIndex:function(n){var f=this,i=f.items.items,e=i.length,h=Math.ceil,r=n.attr.zIndex,t=e,u=t-1,o=0,s;if(f.orderSpritesByZIndex&&e&&r<i[u].attr.zIndex){while(o<=u)if(t=h((o+u)/2),s=i[t].attr.zIndex,s>r)u=t-1;else if(s<r)o=t+1;else break;while(t<e&&i[t].attr.zIndex<=r)t++}return f.items.insert(t,n),t},onAdd:function(n){var t=n.group,f=n.draggable,r,u,i;if(t){for(r=[].concat(t),u=r.length,i=0;i<u;i++)t=r[i],this.getGroup(t).add(n);delete n.group}f&&n.initDraggable()},remove:function(n,t){if(n){this.items.remove(n);for(var r=[].concat(this.groups.items),u=r.length,i=0;i<u;i++)r[i].remove(n);n.onRemove();t===!0&&n.destroy()}},removeAll:function(n){for(var i=this.items.items,r=i.length,t=r-1;t>-1;t--)this.remove(i[t],n)},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var t=this,u=t.viewBox,i=t.width||1,r=t.height||1,f,e,o,s,h,c,n;u&&(i||r)?(f=u.x,e=u.y,o=u.width,s=u.height,h=r/s,c=i/o,n=Math.min(c,h),o*n<i&&(f-=(i-o*n)/2/n),s*n<r&&(e-=(r-s*n)/2/n),t.viewBoxShift={dx:-f,dy:-e,scale:n},t.background&&t.background.setAttributes(Ext.apply({},{x:f,y:e,width:i/n,height:r/n},{hidden:!1}),!0)):t.background&&i&&r&&t.background.setAttributes(Ext.apply({x:0,y:0,width:i,height:r},{hidden:!1}),!0)},getBBox:function(n,t){var i=this["getPath"+n.type](n);return t?(n.bbox.plain=n.bbox.plain||Ext.draw.Draw.pathDimensions(i),n.bbox.plain):(n.dirtyTransform&&this.applyTransformations(n,!0),n.bbox.transform=n.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(i,n.matrix)),n.bbox.transform)},transformToViewBox:function(n,t){if(this.viewBoxShift){var r=this,i=r.viewBoxShift;return[n/i.scale-i.dx,t/i.scale-i.dy]}return[n,t]},applyTransformations:function(n,t){n.type=="text"&&(n.bbox.transform=0,this.transform(n,!1));n.dirtyTransform=!1;var r=this,i=n.attr;(i.translation.x!=null||i.translation.y!=null)&&r.translate(n);(i.scaling.x!=null||i.scaling.y!=null)&&r.scale(n);i.rotation.degrees!=null&&r.rotate(n);n.bbox.transform=0;this.transform(n,t);n.transformations=[]},rotate:function(n){var t,u=n.attr.rotation.degrees,i=n.attr.rotation.x,r=n.attr.rotation.y;Ext.isNumber(i)&&Ext.isNumber(r)||(t=this.getBBox(n,!0),i=Ext.isNumber(i)?i:t.x+t.width/2,r=Ext.isNumber(r)?r:t.y+t.height/2);n.transformations.push({type:"rotate",degrees:u,x:i,y:r})},translate:function(n){var t=n.attr.translation.x||0,i=n.attr.translation.y||0;n.transformations.push({type:"translate",x:t,y:i})},scale:function(n){var t,u=n.attr.scaling.x||1,f=n.attr.scaling.y||1,i=n.attr.scaling.centerX,r=n.attr.scaling.centerY;Ext.isNumber(i)&&Ext.isNumber(r)||(t=this.getBBox(n,!0),i=Ext.isNumber(i)?i:t.x+t.width/2,r=Ext.isNumber(r)?r:t.y+t.height/2);n.transformations.push({type:"scale",x:u,y:f,centerX:i,centerY:r})},rectPath:function(n,t,i,r,u){return u?[["M",n+u,t],["l",i-u*2,0],["a",u,u,0,0,1,u,u],["l",0,r-u*2],["a",u,u,0,0,1,-u,u],["l",u*2-i,0],["a",u,u,0,0,1,-u,-u],["l",0,u*2-r],["a",u,u,0,0,1,u,-u],["z"]]:[["M",n,t],["l",i,0],["l",0,r],["l",-i,0],["z"]]},ellipsePath:function(n,t,i,r){return r==null&&(r=i),[["M",n,t],["m",0,-r],["a",i,r,0,1,1,0,2*r],["a",i,r,0,1,1,0,-2*r],["z"]]},getPathpath:function(n){return n.attr.path},getPathcircle:function(n){var t=n.attr;return this.ellipsePath(t.x,t.y,t.radius,t.radius)},getPathellipse:function(n){var t=n.attr;return this.ellipsePath(t.x,t.y,t.radiusX||t.width/2||0,t.radiusY||t.height/2||0)},getPathrect:function(n){var t=n.attr;return this.rectPath(t.x||0,t.y||0,t.width||0,t.height||0,t.r||0)},getPathimage:function(n){var t=n.attr;return this.rectPath(t.x||0,t.y||0,t.width,t.height)},getPathtext:function(n){var t=this.getBBoxText(n);return this.rectPath(t.x,t.y,t.width,t.height)},createGroup:function(n){var t=this.groups.get(n);return t||(t=new Ext.draw.CompositeSprite({surface:this}),t.id=n||Ext.id(null,"ext-surface-group-"),this.groups.add(t)),t},getGroup:function(n){var t;return typeof n=="string"?(t=this.groups.get(n),t||(t=this.createGroup(n))):t=n,t},prepareItems:function(n){n=[].concat(n);for(var t,i=0,r=n.length;i<r;i++)t=n[i],t instanceof Ext.draw.Sprite?t.surface=this:(t.surface=this,n[i]=this.createItem(t));return n},setText:Ext.emptyFn,createItem:Ext.emptyFn,getId:function(){return this.id||(this.id=Ext.id(null,"ext-surface-"))},destroy:function(){var n=this;delete n.domRef;n.background&&n.background.destroy();n.removeAll(!0);Ext.destroy(n.groups.items)}});Ext.define("Ext.draw.Component",{alias:"widget.draw",extend:"Ext.Component",requires:["Ext.draw.Surface","Ext.layout.component.Draw"],enginePriority:["Svg","Vml"],baseCls:Ext.baseCSSPrefix+"surface",componentLayout:"draw",viewBox:!0,shrinkWrap:3,autoSize:!1,initComponent:function(){this.callParent(arguments);this.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave","click","dblclick")},onRender:function(){var n=this,o=n.viewBox,s=n.autoSize,t,i,r,u,f,e;n.callParent(arguments);n.createSurface()!==!1&&(i=n.surface.items,(o||s)&&(t=i.getBBox(),r=t.width,u=t.height,f=t.x,e=t.y,n.viewBox?n.surface.setViewBox(f,e,r,u):n.autoSizeSurface()))},autoSizeSurface:function(){var n=this.surface.items.getBBox();this.setSurfaceSize(n.width,n.height)},setSurfaceSize:function(n,t){if(this.surface.setSize(n,t),this.autoSize){var i=this.surface.items.getBBox();this.surface.setViewBox(i.x,i.y-+Ext.isOpera,n,t)}},createSurface:function(){function t(t){return function(i){n.fireEvent(t,i)}}var n=this,r=Ext.applyIf({renderTo:n.el,height:n.height,width:n.width,items:n.items},n.initialConfig),i;if(delete r.listeners,i=Ext.draw.Surface.create(r),!i)return!1;n.surface=i;i.on({scope:n,mouseup:t("mouseup"),mousedown:t("mousedown"),mousemove:t("mousemove"),mouseenter:t("mouseenter"),mouseleave:t("mouseleave"),click:t("click"),dblclick:t("dblclick")})},onDestroy:function(){Ext.destroy(this.surface);this.callParent(arguments)}});Ext.define("Ext.chart.Shape",{singleton:!0,circle:function(n,t){return n.add(Ext.apply({type:"circle",x:t.x,y:t.y,stroke:null,radius:t.radius},t))},line:function(n,t){return n.add(Ext.apply({type:"rect",x:t.x-t.radius,y:t.y-t.radius,height:2*t.radius,width:2*t.radius/5},t))},square:function(n,t){return n.add(Ext.applyIf({type:"rect",x:t.x-t.radius,y:t.y-t.radius,height:2*t.radius,width:2*t.radius,radius:null},t))},triangle:function(n,t){return t.radius*=1.75,n.add(Ext.apply({type:"path",stroke:null,path:"M".concat(t.x,",",t.y,"m0-",t.radius*.58,"l",t.radius*.5,",",t.radius*.87,"-",t.radius,",0z")},t))},diamond:function(n,t){var i=t.radius;return i*=1.5,n.add(Ext.apply({type:"path",stroke:null,path:["M",t.x,t.y-i,"l",i,i,-i,i,-i,-i,i,-i,"z"]},t))},cross:function(n,t){var i=t.radius;return i=i/1.7,n.add(Ext.apply({type:"path",stroke:null,path:"M".concat(t.x-i,",",t.y,"l",[-i,-i,i,-i,i,i,i,-i,i,i,-i,i,i,i,-i,i,-i,-i,-i,i,-i,-i,"z"])},t))},plus:function(n,t){var i=t.radius/1.3;return n.add(Ext.apply({type:"path",stroke:null,path:"M".concat(t.x-i/2,",",t.y-i/2,"l",[0,-i,i,0,0,i,i,0,0,i,-i,0,0,i,-i,0,0,-i,-i,0,0,-i,"z"])},t))},arrow:function(n,t){var i=t.radius;return n.add(Ext.apply({type:"path",path:"M".concat(t.x-i*.7,",",t.y-i*.4,"l",[i*.6,0,0,-i*.4,i,i*.8,-i,i*.8,0,-i*.4,-i*.6,0],"z")},t))},drop:function(n,t,i,r,u,f){u=u||30;f=f||0;n.add({type:"path",path:["M",t,i,"l",u,0,"A",u*.4,u*.4,0,1,0,t+u*.7,i-u*.7,"z"],fill:"#000",stroke:"none",rotate:{degrees:22.5-f,x:t,y:i}});f=(f+90)*Math.PI/180;n.add({type:"text",x:t+u*Math.sin(f)-10,y:i+u*Math.cos(f)+5,text:r,"font-size":u*12/40,stroke:"none",fill:"#fff"})}});Ext.define("Ext.chart.LegendItem",{extend:"Ext.draw.CompositeSprite",requires:["Ext.chart.Shape"],x:0,y:0,zIndex:500,boldRe:/bold\s\d{1,}.*/i,constructor:function(n){this.callParent(arguments);this.createLegend(n)},createLegend:function(n){function v(n){var t=i[n];return Ext.isArray(t)?t[y]:t}var t=this,r=n.yFieldIndex,i=t.series,c=i.type,y=t.yFieldIndex,u=t.legend,e=t.surface,w=u.x+t.x,b=u.y+t.y,o,s=t.zIndex,h,f,a,l=!1,p=Ext.apply(i.seriesStyle,i.style);f=t.add("label",e.add({type:"text",x:20,y:0,zIndex:(s||0)+2,fill:u.labelColor,font:u.labelFont,text:v("title")||v("yField"),style:{cursor:"pointer"}}));c==="line"||c==="scatter"?(c==="line"&&t.add("line",e.add({type:"path",path:"M0.5,0.5L16.5,0.5",zIndex:(s||0)+2,"stroke-width":i.lineWidth,"stroke-linejoin":"round","stroke-dasharray":i.dash,stroke:p.stroke||i.getLegendColor(r)||"#000",style:{cursor:"pointer"}})),(i.showMarkers||c==="scatter")&&(h=Ext.apply(i.markerStyle,i.markerConfig||{},{fill:i.getLegendColor(r)}),t.add("marker",Ext.chart.Shape[h.type](e,{fill:h.fill,x:8.5,y:.5,zIndex:(s||0)+2,radius:h.radius||h.size,style:{cursor:"pointer"}})))):t.add("box",e.add({type:"rect",zIndex:(s||0)+2,x:0,y:0,width:12,height:12,fill:i.getLegendColor(r),style:{cursor:"pointer"}}));t.setAttributes({hidden:!1},!0);o=t.getBBox();a=t.add("mask",e.add({type:"rect",x:o.x,y:o.y,width:o.width||20,height:o.height||20,zIndex:(s||0)+1,fill:t.legend.boxFill,style:{cursor:"pointer"}}));t.on("mouseover",function(){f.setStyle({"font-weight":"bold"});a.setStyle({cursor:"pointer"});i._index=r;i.highlightItem()},t);t.on("mouseout",function(){f.setStyle({"font-weight":u.labelFont&&t.boldRe.test(u.labelFont)?"bold":"normal"});i._index=r;i.unHighlightItem()},t);i.visibleInLegend(r)||(l=!0,f.setAttributes({opacity:.5},!0));t.on("mousedown",function(){l?(i.showAll(r),f.setAttributes({opacity:1},!0)):(i.hideAll(r),f.setAttributes({opacity:.5},!0));l=!l;t.legend.chart.redraw()},t);t.updatePosition({x:0,y:0})},updatePosition:function(n){var t=this,u=t.items,f=u.length,r=0,i;for(n||(n=t.legend);r<f;r++){i=u[r];switch(i.type){case"text":i.setAttributes({x:20+n.x+t.x,y:n.y+t.y},!0);break;case"rect":i.setAttributes({translate:{x:n.x+t.x,y:n.y+t.y-6}},!0);break;default:i.setAttributes({translate:{x:n.x+t.x,y:n.y+t.y}},!0)}}}});Ext.define("Ext.chart.Legend",{requires:["Ext.chart.LegendItem"],visible:!0,update:!0,position:"bottom",x:0,y:0,labelColor:"#000",labelFont:"12px Helvetica, sans-serif",boxStroke:"#000",boxStrokeWidth:1,boxFill:"#FFF",itemSpacing:10,padding:5,width:0,height:0,boxZIndex:100,constructor:function(n){var t=this;n&&Ext.apply(t,n);t.items=[];t.isVertical="left|right|float".indexOf(t.position)!==-1;t.origX=t.x;t.origY=t.y},create:function(){var n=this,i=n.chart.series.items,t,r,u;if(n.createBox(),n.rebuild!==!1&&n.createItems(),!n.created&&n.isDisplayed())for(n.created=!0,t=0,r=i.length;t<r;t++){u=i[t];u.on("titlechange",function(){n.create();n.updatePosition()})}},isDisplayed:function(){return this.visible&&this.chart.series.findIndex("showInLegend",!0)!==-1},createItems:function(){var n=this,a=n.chart,d=a.series.items,g,h,ot=a.surface,r=n.items,u=n.padding,ft=n.itemSpacing,nt=2,v=0,c=0,y=0,p=0,i=n.isVertical,tt=Math,l=tt.floor,it=tt.max,t=0,rt=r?r.length:0,f,o,w,s,b,k,et,ut,e;if(rt)for(;t<rt;t++)r[t].destroy();for(r.length=[],t=0,g=d.length;t<g;t++)if(h=d[t],h.showInLegend)for(k=[].concat(h.yField),e=0,ut=k.length;e<ut;e++)et=k[e],o=new Ext.chart.LegendItem({legend:this,series:h,surface:a.surface,yFieldIndex:e}),w=o.getBBox(),b=w.width,s=w.height,f=t+e===0?i?u+s/2:u:ft/(i?2:1),o.x=l(i?u:y+f),o.y=l(i?p+f:u+s/2),y+=b+f,p+=s+f,v=it(v,b),c=it(c,s),r.push(o);n.width=l((i?v:y)+u*2);i&&r.length===1&&(nt=1);n.height=l((i?p-nt*f:c)+u*2);n.itemHeight=c},getBBox:function(){var n=this;return{x:Math.round(n.x)-n.boxStrokeWidth/2,y:Math.round(n.y)-n.boxStrokeWidth/2,width:n.width,height:n.height}},createBox:function(){var n=this,i,t;if(n.boxSprite&&n.boxSprite.destroy(),t=n.getBBox(),isNaN(t.width)||isNaN(t.height)){n.boxSprite=!1;return}i=n.boxSprite=n.chart.surface.add(Ext.apply({type:"rect",stroke:n.boxStroke,"stroke-width":n.boxStrokeWidth,fill:n.boxFill,zIndex:n.boxZIndex},t));i.redraw()},updatePosition:function(){var n=this,l=n.items,f,a,r,u,s=n.width||0,h=n.height||0,k=n.padding,c=n.chart,e=c.chartBBox,t=c.insetPadding,v=e.width-t*2,y=e.height-t*2,p=e.x+t,w=e.y+t,b=c.surface,i=Math.floor,o;if(n.isDisplayed()){switch(n.position){case"left":r=t;u=i(w+y/2-h/2);break;case"right":r=i(b.width-s)-t;u=i(w+y/2-h/2);break;case"top":r=i(p+v/2-s/2);u=t;break;case"bottom":r=i(p+v/2-s/2);u=i(b.height-h)-t;break;default:r=i(n.origX)+t;u=i(n.origY)+t}for(n.x=r,n.y=u,f=0,a=l.length;f<a;f++)l[f].updatePosition();o=n.getBBox();isNaN(o.width)||isNaN(o.height)?n.boxSprite&&n.boxSprite.hide(!0):(n.boxSprite||n.createBox(),n.boxSprite.setAttributes(o,!0),n.boxSprite.show(!0))}},toggle:function(n){var t=this,i=0,r=t.items,u=r.length;for(t.boxSprite&&(n?t.boxSprite.show(!0):t.boxSprite.hide(!0));i<u;++i)n?r[i].show(!0):r[i].hide(!0);t.visible=n}});Ext.define("Ext.chart.theme.Theme",{requires:["Ext.draw.Color"],theme:"Base",themeAttrs:!1,initTheme:function(n){var t=this,u=Ext.chart.theme,i,r;if(n){n=n.split(":");for(i in u)if(i==n[0]){r=n[1]=="gradients";t.themeAttrs=new u[i]({useGradients:r});r&&(t.gradients=t.themeAttrs.gradients);t.themeAttrs.background&&(t.background=t.themeAttrs.background);return}}}},function(){(function(){Ext.chart.theme=function(n,t){n=n||{};var r=0,y=+new Date,e,f,s,o,c,l,a,u,v=[],i,h;if(n.baseColor&&(i=Ext.draw.Color.fromString(n.baseColor),h=i.getHSL()[2],h<.15?i=i.getLighter(.3):h<.3?i=i.getLighter(.15):h>.85?i=i.getDarker(.3):h>.7&&(i=i.getDarker(.15)),n.colors=[i.getDarker(.3).toString(),i.getDarker(.15).toString(),i.toString(),i.getLighter(.15).toString(),i.getLighter(.3).toString()],delete n.baseColor),n.colors){for(f=n.colors.slice(),c=t.markerThemes,o=t.seriesThemes,e=f.length,t.colors=f;r<e;r++)s=f[r],a=c[r]||{},l=o[r]||{},a.fill=l.fill=a.stroke=l.stroke=s,c[r]=a,o[r]=l;t.markerThemes=c.slice(0,e);t.seriesThemes=o.slice(0,e)}for(u in t)u in n&&(Ext.isObject(n[u])&&Ext.isObject(t[u])?Ext.apply(t[u],n[u]):t[u]=n[u]);if(n.useGradients){for(f=t.colors||function(){var n=[];for(r=0,o=t.seriesThemes,e=o.length;r<e;r++)n.push(o[r].fill||o[r].stroke);return n}(),r=0,e=f.length;r<e;r++)i=Ext.draw.Color.fromString(f[r]),i&&(s=i.getDarker(.1).toString(),i=i.toString(),u="theme-"+i.substr(1)+"-"+s.substr(1)+"-"+y,v.push({id:u,angle:45,stops:{0:{color:i.toString()},100:{color:s.toString()}}}),f[r]="url(#"+u+")");t.gradients=v;t.colors=f}Ext.apply(this,t)}})()});Ext.define("Ext.chart.theme.Base",{requires:["Ext.chart.theme.Theme"],constructor:function(n){Ext.chart.theme.call(this,n,{background:!1,axis:{stroke:"#444","stroke-width":1},axisLabelTop:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(n){return n}},axisLabelRight:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(n){return n}},axisLabelBottom:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(n){return n}},axisLabelLeft:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(n){return n}},axisTitleTop:{font:"bold 18px Arial",fill:"#444"},axisTitleRight:{font:"bold 18px Arial",fill:"#444",rotate:{x:0,y:0,degrees:270}},axisTitleBottom:{font:"bold 18px Arial",fill:"#444"},axisTitleLeft:{font:"bold 18px Arial",fill:"#444",rotate:{x:0,y:0,degrees:270}},series:{"stroke-width":0},seriesLabel:{font:"12px Arial",fill:"#333"},marker:{stroke:"#555",radius:3,size:3},colors:["#94ae0a","#115fa6","#a61120","#ff8809","#ffd13e","#a61187","#24ad9a","#7c7474","#a66111"],seriesThemes:[{fill:"#115fa6"},{fill:"#94ae0a"},{fill:"#a61120"},{fill:"#ff8809"},{fill:"#ffd13e"},{fill:"#a61187"},{fill:"#24ad9a"},{fill:"#7c7474"},{fill:"#115fa6"},{fill:"#94ae0a"},{fill:"#a61120"},{fill:"#ff8809"},{fill:"#ffd13e"},{fill:"#a61187"},{fill:"#24ad9a"},{fill:"#7c7474"},{fill:"#a66111"}],markerThemes:[{fill:"#115fa6",type:"circle"},{fill:"#94ae0a",type:"cross"},{fill:"#115fa6",type:"plus"},{fill:"#94ae0a",type:"circle"},{fill:"#a61120",type:"cross"}]})}},function(){for(var i=["#b1da5a","#4ce0e7","#e84b67","#da5abd","#4d7fe6","#fec935"],u=["Green","Sky","Red","Purple","Blue","Yellow"],n=0,f=i.length,t=Ext.chart.theme,r=[["#f0a50a","#c20024","#2044ba","#810065","#7eae29"],["#6d9824","#87146e","#2a9196","#d39006","#1e40ac"],["#fbbc29","#ce2e4e","#7e0062","#158b90","#57880e"],["#ef5773","#fcbd2a","#4f770d","#1d3eaa","#9b001f"],["#7eae29","#fdbe2a","#910019","#27b4bc","#d74dbc"],["#44dce1","#0b2592","#996e05","#7fb325","#b821a1"]],e=r.length;n<f;n++)t[u[n]]=function(n){return Ext.extend(t.Base,{constructor:function(i){t.Base.prototype.constructor.call(this,Ext.apply({baseColor:n},i))}})}(i[n]);for(n=0;n<e;n++)t["Category"+(n+1)]=function(n){return Ext.extend(t.Base,{constructor:function(i){t.Base.prototype.constructor.call(this,Ext.apply({colors:n},i))}})}(r[n])});Ext.define("Ext.chart.MaskLayer",{extend:"Ext.Component",constructor:function(n){n=Ext.apply(n||{},{style:"position:absolute;background-color:#888;cursor:move;opacity:0.6;border:1px solid #222;"});this.callParent([n])},initComponent:function(){var n=this;n.callParent(arguments);n.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave")},initDraggable:function(){this.callParent(arguments);this.dd.onStart=function(){var n=this,t=n.comp;this.startPosition=t.getPosition(!0);t.ghost&&!t.liveDrag&&(n.proxy=t.ghost(),n.dragTarget=n.proxy.header.el);(n.constrain||n.constrainDelegate)&&(n.constrainTo=n.calculateConstrainRegion())}}});Ext.define("Ext.chart.Mask",{requires:["Ext.chart.MaskLayer"],constructor:function(n){var t=this,i;if(t.addEvents("select"),n&&Ext.apply(t,n),t.enableMask)t.on("afterrender",function(){var n=new Ext.chart.MaskLayer({renderTo:t.el,hidden:!0});n.el.on({mousemove:function(n){t.onMouseMove(n)},mouseup:function(n){t.resized(n)}});i=new Ext.resizer.Resizer({el:n.el,handles:"all",pinned:!0});i.on({resize:function(n){t.resized(n)}});n.initDraggable();t.maskType=t.mask;t.mask=n;t.maskSprite=t.surface.add({type:"path",path:["M",0,0],zIndex:1001,opacity:.7,hidden:!0,stroke:"#444"})},t,{single:!0})},resized:function(){var n=this,u=n.bbox||n.chartBBox,f=u.x,e=u.y,h=u.width,c=u.height,t=n.mask.getBox(!0),o=Math.max,s=Math.min,i=t.x-f,r=t.y-e;i=o(i,f);r=o(r,e);i=s(i,h);r=s(r,c);t.x=i;t.y=r;n.fireEvent("select",n,t)},onMouseUp:function(n){var t=this,r=t.bbox||t.chartBBox,i=t.maskSelection;if(t.maskMouseDown=!1,t.mouseDown=!1,t.mouseMoved){t.onMouseMove(n);t.mouseMoved=!1;t.fireEvent("select",t,{x:i.x-r.x,y:i.y-r.y,width:i.width,height:i.height})}},onMouseDown:function(n){var t=this;t.mouseDown=!0;t.mouseMoved=!1;t.maskMouseDown={x:n.getPageX()-t.el.getX(),y:n.getPageY()-t.el.getY()}},onMouseMove:function(n){var t=this,e=t.maskType,o=t.bbox||t.chartBBox,s=o.x,h=o.y,l=Math,v=l.floor,y=l.abs,p=l.min,w=l.max,f=v(h+o.height),u=v(s+o.width),k=n.getPageX(),b=n.getPageY(),i=k-t.el.getX(),r=b-t.el.getY(),c=t.maskMouseDown,a;t.mouseMoved=t.mouseDown;i=w(i,s);r=w(r,h);i=p(i,u);r=p(r,f);c&&t.mouseDown?(e=="horizontal"?(r=h,c.y=f,b=t.el.getY()+o.height+t.insetPadding):e=="vertical"&&(i=s,c.x=u),u=c.x-i,f=c.y-r,a=["M",i,r,"l",u,0,0,f,-u,0,"z"],t.maskSelection={x:u>0?i:i+u,y:f>0?r:r+f,width:y(u),height:y(f)},t.mask.updateBox(t.maskSelection),t.mask.show(),t.maskSprite.setAttributes({hidden:!0},!0)):(a=e=="horizontal"?["M",i,h,"L",i,f]:e=="vertical"?["M",s,r,"L",u,r]:["M",i,h,"L",i,f,"M",s,r,"L",u,r],t.maskSprite.setAttributes({path:a,fill:t.maskMouseDown?t.maskSprite.stroke:!1,"stroke-width":e===!0?1:3,hidden:!1},!0))},onMouseLeave:function(){var n=this;n.mouseMoved=!1;n.mouseDown=!1;n.maskMouseDown=!1;n.mask.hide();n.maskSprite.hide(!0)}});Ext.define("Ext.chart.Navigation",{constructor:function(){this.originalStore=this.store},setZoom:function(n){for(var o=this,v=o.axes,s=v.items,i,c=o.chartBBox,l=1/c.width,a=1/c.height,e={x:n.x*l,y:n.y*a,width:n.width*l,height:n.height*a},t,r,u,f=0,h=s.length;f<h;f++)i=s[f],t=i.calcEnds(),i.position=="bottom"||i.position=="top"?(r=(t.to-t.from)*e.x+t.from,u=(t.to-t.from)*e.width+r,i.minimum=r,i.maximum=u):(u=(t.to-t.from)*(1-e.y)+t.from,r=u-(t.to-t.from)*e.height,i.minimum=r,i.maximum=u);o.redraw(!1)},restoreZoom:function(){this.originalStore&&(this.store=this.substore=this.originalStore,this.redraw(!0))}});Ext.define("Ext.chart.Chart",{alias:"widget.chart",extend:"Ext.draw.Component",mixins:{themeManager:"Ext.chart.theme.Theme",mask:"Ext.chart.Mask",navigation:"Ext.chart.Navigation",bindable:"Ext.util.Bindable",observable:"Ext.util.Observable"},uses:["Ext.chart.series.Series"],requires:["Ext.util.MixedCollection","Ext.data.StoreManager","Ext.chart.Legend","Ext.chart.theme.Base","Ext.chart.theme.Theme","Ext.util.DelayedTask"],viewBox:!1,animate:!1,legend:!1,insetPadding:10,enginePriority:["Svg","Vml"],background:!1,constructor:function(n){var t=this,i;n=Ext.apply({},n);t.initTheme(n.theme||t.theme);t.gradients&&Ext.apply(n,{gradients:t.gradients});t.background&&Ext.apply(n,{background:t.background});n.animate&&(i={easing:"ease",duration:500},n.animate=Ext.isObject(n.animate)?Ext.applyIf(n.animate,i):i);t.mixins.observable.constructor.call(t,n);n.enableMask&&t.mixins.mask.constructor.call(t);t.mixins.navigation.constructor.call(t);t.callParent([n])},getChartStore:function(){return this.substore||this.store},initComponent:function(){var n=this,t,i;n.callParent();n.addEvents("itemmousedown","itemmouseup","itemmouseover","itemmouseout","itemclick","itemdblclick","itemdragstart","itemdrag","itemdragend","beforerefresh","refresh");Ext.applyIf(n,{zoom:{width:1,height:1,x:0,y:0}});n.maxGutter=[0,0];n.store=Ext.data.StoreManager.lookup(n.store);t=n.axes;n.axes=new Ext.util.MixedCollection(!1,function(n){return n.position});t&&n.axes.addAll(t);i=n.series;n.series=new Ext.util.MixedCollection(!1,function(n){return n.seriesId||(n.seriesId=Ext.id(null,"ext-chart-series-"))});i&&n.series.addAll(i);n.legend!==!1&&(n.legend=new Ext.chart.Legend(Ext.applyIf({chart:n},n.legend)));n.on({mousemove:n.onMouseMove,mouseleave:n.onMouseLeave,mousedown:n.onMouseDown,mouseup:n.onMouseUp,click:n.onClick,dblclick:n.onDblClick,scope:n})},afterComponentLayout:function(n,t){var i=this;Ext.isNumber(n)&&Ext.isNumber(t)&&(n!==i.curWidth||t!==i.curHeight?(i.curWidth=n,i.curHeight=t,i.redraw(!0)):i.needsRedraw&&(delete i.needsRedraw,i.redraw()));this.callParent(arguments)},redraw:function(n){var i=this,e=i.series.items,o=e.length,u=i.axes.items,f=u.length,t,s=i.chartBBox={x:0,y:0,height:i.curHeight,width:i.curWidth},r=i.legend;for(i.surface.setSize(s.width,s.height),t=0;t<o;t++)i.initializeSeries(e[t],t);for(t=0;t<f;t++)i.initializeAxis(u[t]);for(t=0;t<f;t++)u[t].processView();for(t=0;t<f;t++)u[t].drawAxis(!0);for(r!==!1&&r.visible&&(r.update||!r.created)&&r.create(),i.alignAxes(),r!==!1&&r.visible&&r.updatePosition(),i.getMaxGutter(),i.resizing=!!n,t=0;t<f;t++)u[t].drawAxis();for(t=0;t<o;t++)i.drawCharts(e[t]);i.resizing=!1},afterRender:function(){var t,n=this;if(this.callParent(),n.categoryNames&&n.setCategoryNames(n.categoryNames),n.tipRenderer&&(t=n.getFunctionRef(n.tipRenderer),n.setTipRenderer(t.fn,t.scope)),n.bindStore(n.store,!0),n.refresh(),n.surface.engine==="Vml"){n.on("added",n.onAddedVml,n);n.mon(Ext.container.Container.hierarchyEventSource,"added",n.onContainerAddedVml,n)}},onAddedVml:function(){this.needsRedraw=!0},onContainerAddedVml:function(n){this.isDescendantOf(n)&&(this.needsRedraw=!0)},getEventXY:function(n){var f=this,t=this.surface.getRegion(),i=n.getXY(),r=i[0]-t.left,u=i[1]-t.top;return[r,u]},onClick:function(n){this.handleClick("itemclick",n)},onDblClick:function(n){this.handleClick("itemdblclick",n)},handleClick:function(n,t){for(var e=this,r=e.getEventXY(t),o=e.series.items,i,f,u=0,s=o.length;u<s;u++)i=o[u],Ext.draw.Draw.withinBox(r[0],r[1],i.bbox)&&i.getItemForPoint&&(f=i.getItemForPoint(r[0],r[1]),f&&i.fireEvent(n,f))},onMouseDown:function(n){var t=this,r=t.getEventXY(n),e=t.series.items,u,o,i,f;for(t.enableMask&&t.mixins.mask.onMouseDown.call(t,n),u=0,o=e.length;u<o;u++)i=e[u],Ext.draw.Draw.withinBox(r[0],r[1],i.bbox)&&i.getItemForPoint&&(f=i.getItemForPoint(r[0],r[1]),f&&i.fireEvent("itemmousedown",f))},onMouseUp:function(n){var t=this,r=t.getEventXY(n),e=t.series.items,u,o,i,f;for(t.enableMask&&t.mixins.mask.onMouseUp.call(t,n),u=0,o=e.length;u<o;u++)i=e[u],Ext.draw.Draw.withinBox(r[0],r[1],i.bbox)&&i.getItemForPoint&&(f=i.getItemForPoint(r[0],r[1]),f&&i.fireEvent("itemmouseup",f))},onMouseMove:function(n){var u=this,f=u.getEventXY(n),o=u.series.items,e,s,t,i,r,h,c;for(u.enableMask&&u.mixins.mask.onMouseMove.call(u,n),e=0,s=o.length;e<s;e++)t=o[e],Ext.draw.Draw.withinBox(f[0],f[1],t.bbox)?t.getItemForPoint&&(i=t.getItemForPoint(f[0],f[1]),r=t._lastItemForPoint,h=t._lastStoreItem,c=t._lastStoreField,(i!==r||i&&(i.storeItem!=h||i.storeField!=c))&&(r&&(t.fireEvent("itemmouseout",r),delete t._lastItemForPoint,delete t._lastStoreField,delete t._lastStoreItem),i&&(t.fireEvent("itemmouseover",i),t._lastItemForPoint=i,t._lastStoreItem=i.storeItem,t._lastStoreField=i.storeField))):(r=t._lastItemForPoint,r&&(t.fireEvent("itemmouseout",r),delete t._lastItemForPoint,delete t._lastStoreField,delete t._lastStoreItem))},onMouseLeave:function(n){var t=this,r=t.series.items,i,u,f;for(t.enableMask&&t.mixins.mask.onMouseLeave.call(t,n),i=0,u=r.length;i<u;i++)f=r[i],delete f._lastItemForPoint},delayRefresh:function(){var n=this;n.refreshTask||(n.refreshTask=new Ext.util.DelayedTask(n.refresh,n));n.refreshTask.delay(n.refreshBuffer)},refresh:function(){var n=this;if(n.rendered&&n.curWidth!==undefined&&n.curHeight!==undefined){if(!n.isVisible(!0)&&!n.refreshPending){n.setShowListeners("mon");n.refreshPending=!0;return}n.fireEvent("beforerefresh",n)!==!1&&(n.redraw(),n.fireEvent("refresh",n))}},onShow:function(){var n=this;n.callParent(arguments);n.refreshPending&&(n.delayRefresh(),n.setShowListeners("mun"));delete n.refreshPending},setShowListeners:function(n){var t=this;t[n](Ext.container.Container.hierarchyEventSource,{scope:t,single:!0,show:t.forceRefresh,expand:t.forceRefresh})},forceRefresh:function(n){var t=this;t.isDescendantOf(n)&&t.refreshPending&&(t.setShowListeners("mun"),t.delayRefresh());delete t.refreshPending},bindStore:function(n,t){var i=this;i.mixins.bindable.bindStore.apply(i,arguments);i.store&&!t&&i.refresh()},getStoreListeners:function(){var t=this.refresh,n=this.delayRefresh;return{refresh:t,add:n,remove:n,update:n,clear:t}},initializeAxis:function(n){var f=this,e=f.chartBBox,u=e.width,r=e.height,o=e.x,s=e.y,i=f.themeAttrs,t={chart:f};i&&(t.axisStyle=Ext.apply({},i.axis),t.axisLabelLeftStyle=Ext.apply({},i.axisLabelLeft),t.axisLabelRightStyle=Ext.apply({},i.axisLabelRight),t.axisLabelTopStyle=Ext.apply({},i.axisLabelTop),t.axisLabelBottomStyle=Ext.apply({},i.axisLabelBottom),t.axisTitleLeftStyle=Ext.apply({},i.axisTitleLeft),t.axisTitleRightStyle=Ext.apply({},i.axisTitleRight),t.axisTitleTopStyle=Ext.apply({},i.axisTitleTop),t.axisTitleBottomStyle=Ext.apply({},i.axisTitleBottom));switch(n.position){case"top":Ext.apply(t,{length:u,width:r,x:o,y:s});break;case"bottom":Ext.apply(t,{length:u,width:r,x:o,y:r});break;case"left":Ext.apply(t,{length:r,width:u,x:o,y:r});break;case"right":Ext.apply(t,{length:r,width:u,x:u,y:r})}n.chart?Ext.apply(n,t):(Ext.apply(t,n),n=f.axes.replace(Ext.createByAlias("axis."+n.type.toLowerCase(),t)))},alignAxes:function(){function p(n){var t=l.findIndex("position",n);return t<0?null:l.getAt(t)}for(var f=this,l=f.axes,v=l.items,t,a=f.legend,y=["top","right","bottom","left"],r,n,c=f.insetPadding,i={top:c,right:c,bottom:c,left:c},e,o,s,u=0,h=y.length;u<h;u++)r=y[u],e=r==="left"||r==="right",t=p(r),a!==!1&&a.position===r&&(o=a.getBBox(),i[r]+=(e?o.width:o.height)+i[r]),t&&t.bbox&&(o=t.bbox,i[r]+=e?o.width:o.height);for(n={x:i.left,y:i.top,width:f.curWidth-i.left-i.right,height:f.curHeight-i.top-i.bottom},f.chartBBox=n,u=0,h=v.length;u<h;u++)t=v[u],s=t.position,e=s==="left"||s==="right",t.x=s==="right"?n.x+n.width:n.x,t.y=s==="top"?n.y:n.y+n.height,t.width=e?n.width:n.height,t.length=e?n.height:n.width},initializeSeries:function(n,t){var o=this,r=o.themeAttrs,c,l,u,f,s,e=[],h=0,a,i={chart:o,seriesId:n.seriesId};if(r){if(u=r.seriesThemes,s=r.markerThemes,c=Ext.apply({},r.series),l=Ext.apply({},r.marker),i.seriesStyle=Ext.apply(c,u[t%u.length]),i.seriesLabelStyle=Ext.apply({},r.seriesLabel),i.markerStyle=Ext.apply(l,s[t%s.length]),r.colors)i.colorArrayStyle=r.colors;else{for(e=[],a=u.length;h<a;h++)f=u[h],(f.fill||f.stroke)&&e.push(f.fill||f.stroke);e.length&&(i.colorArrayStyle=e)}i.seriesIdx=t}n instanceof Ext.chart.series.Series?Ext.apply(n,i):(Ext.applyIf(i,n),n=o.series.replace(Ext.createByAlias("series."+n.type.toLowerCase(),i)));n.initialize&&n.initialize()},getMaxGutter:function(){for(var u=this,f=u.series.items,i,n=[0,0],r,t=0,e=f.length;t<e;t++)i=f[t],r=i.getGutters&&i.getGutters()||[0,0],n[0]=Math.max(n[0],r[0]),n[1]=Math.max(n[1],r[1]);u.maxGutter=n},drawAxis:function(n){n.drawAxis()},drawCharts:function(n){n.triggerafterrender=!1;n.drawSeries();this.animate||n.fireEvent("afterrender")},save:function(n){return Ext.draw.Surface.save(this.surface,n)},destroy:function(){Ext.destroy(this.surface);this.bindStore(null);this.callParent(arguments)}});Ext.define("Ext.chart.Highlight",{requires:["Ext.fx.Anim"],highlight:!1,highlightCfg:{fill:"#fdd","stroke-width":5,stroke:"#f55"},constructor:function(n){n.highlight&&n.highlight!==!0&&(this.highlightCfg=Ext.merge(this.highlightCfg,n.highlight))},highlightItem:function(n){if(n){var o=this,t=n.sprite,f=Ext.merge({},o.highlightCfg,o.highlight),s=o.chart.surface,h=o.chart.animate,i,e,u,r;if(o.highlight&&t&&!t._highlighted){if(t._anim&&(t._anim.paused=!0),t._highlighted=!0,!t._defaults){t._defaults=Ext.apply({},t.attr);e={};u={};for(i in f)if(i in t._defaults||(t._defaults[i]=s.availableAttrs[i]),e[i]=t._defaults[i],u[i]=f[i],Ext.isObject(f[i])){e[i]={};u[i]={};Ext.apply(t._defaults[i],t.attr[i]);Ext.apply(e[i],t._defaults[i]);for(r in t._defaults[i])u[i][r]=r in f[i]?f[i][r]:e[i][r];for(r in f[i])r in u[i]||(u[i][r]=f[i][r])}t._from=e;t._to=u;t._endStyle=u}h?t._anim=new Ext.fx.Anim({target:t,from:t._from,to:t._to,duration:150}):t.setAttributes(t._to,!0)}}},unHighlightItem:function(){if(this.highlight&&this.items)for(var r=this,f=r.items,e=f.length,o=Ext.merge({},r.highlightCfg,r.highlight),s=r.chart.animate,u=0,t,i,n;u<e;u++)if(f[u]&&(n=f[u].sprite,n&&n._highlighted)){n._anim&&(n._anim.paused=!0);t={};for(i in o)Ext.isObject(n._defaults[i])?(t[i]={},Ext.apply(t[i],n._defaults[i])):t[i]=n._defaults[i];s?(n._endStyle=t,n._anim=new Ext.fx.Anim({target:n,to:t,duration:150})):n.setAttributes(t,!0);delete n._highlighted}},cleanHighlights:function(){if(this.highlight){for(var r=this.group,i=this.markerGroup,n=0,t=r.getCount();n<t;n++)delete r.getAt(n)._defaults;if(i)for(t=i.getCount();n<t;n++)delete i.getAt(n)._defaults}}});Ext.define("Ext.chart.Label",{requires:["Ext.draw.Color"],colorStringRe:/url\s*\(\s*#([^\/)]+)\s*\)/,constructor:function(){var n=this;n.label=Ext.applyIf(n.label||{},{display:"none",color:"#000",field:"name",minMargin:50,font:"11px Helvetica, sans-serif",orientation:"horizontal",renderer:function(n){return n}});n.label.display!=="none"&&(n.labelsGroup=n.chart.surface.getGroup(n.seriesId+"-labels"))},renderLabels:function(){var t=this,ft=t.chart,w=ft.gradients,b=t.items,ct=ft.animate,h=t.label,k=h.display,yt=h.color,lt=[].concat(h.field),c=t.labelsGroup,l=(c||0)&&c.length,et=t.chart.getChartStore(),ot=et.getCount(),st=(b||0)&&b.length,at=st/ot,vt=(w||0)&&w.length,a=Ext.draw.Color,d=[],v,e,g,r,o,s,y,nt,ht,tt,u,n,it,f,rt,p,ut,i;if(k!="none"){if(st==0)while(l--)d.push(l);else{for(e=0,g=0,r=0;e<ot;e++)for(o=0,s=0;s<at;s++){for(u=b[g],n=c.getAt(r),it=et.getAt(e);this.__excludes&&this.__excludes[o];)o++;if(!u&&n&&(n.hide(!0),r++),u&&lt[s]){n||(n=t.onCreateLabel(it,u,e,k,s,o));t.onPlaceLabel(n,it,u,e,k,ct,s,o);if(r++,h.contrast&&u.sprite){if(f=u.sprite,i=f._endStyle?f._endStyle.fill:f._to?f._to.fill:f.attr.fill,i=i||f.attr.fill,rt=a.fromString(i),i&&!rt){for(i=i.match(t.colorStringRe)[1],y=0;y<vt;y++)if(v=w[y],v.id==i){tt=0;nt=0;for(ht in v.stops)tt++,nt+=a.fromString(v.stops[ht].color).getGrayscale();p=nt/tt/255;break}}else p=rt.getGrayscale()/255;n.isOutside&&(p=1);ut=a.fromString(n.attr.color||n.attr.fill).getHSL();ut[2]=p>.5?.2:.8;n.setAttributes({fill:String(a.fromHSL.apply({},ut))},!0)}}g++;o++}for(l=c.length;l>r;)d.push(r),r++}t.hideLabels(d)}},hideLabels:function(n){var i=this.labelsGroup,t=!!n&&n.length;if(i)if(t===!1)for(t=i.getCount();t--;)i.getAt(t).hide(!0);else while(t--)i.getAt(n[t]).hide(!0)}});Ext.define("Ext.chart.TipSurface",{extend:"Ext.draw.Component",spriteArray:!1,renderFirst:!0,constructor:function(n){this.callParent([n]);n.sprites&&(this.spriteArray=[].concat(n.sprites),delete n.sprites)},onRender:function(){var n=this,i=0,r=0,u,t;if(this.callParent(arguments),t=n.spriteArray,n.renderFirst&&t)for(n.renderFirst=!1,r=t.length;i<r;i++)u=n.surface.add(t[i]),u.setAttributes({hidden:!1},!0)}});Ext.define("Ext.chart.Tip",{requires:["Ext.tip.ToolTip","Ext.chart.TipSurface"],constructor:function(n){var t=this,i,u,r;if(n.tips){t.tipTimeout=null;t.tipConfig=Ext.apply({},n.tips,{renderer:Ext.emptyFn,constrainPosition:!0,autoHide:!0});t.tooltip=new Ext.tip.ToolTip(t.tipConfig);t.chart.surface.on("mousemove",t.tooltip.onMouseMove,t.tooltip);t.chart.surface.on("mouseleave",function(){t.hideTip()});t.tipConfig.surface&&(i=t.tipConfig.surface,u=i.sprites,r=new Ext.chart.TipSurface({id:"tipSurfaceComponent",sprites:u}),i.width&&i.height&&r.setSize(i.width,i.height),t.tooltip.add(r),t.spriteTip=r)}},showTip:function(n){var r=this,t,u,f,e,i,h,o,s,c,l;r.tooltip&&(clearTimeout(r.tipTimeout),t=r.tooltip,u=r.spriteTip,f=r.tipConfig,e=t.trackMouse,e||(t.trackMouse=!0,i=n.sprite,h=i.surface,o=Ext.get(h.getId()),o&&(s=o.getXY(),c=s[0]+(i.attr.x||0)+(i.attr.translation&&i.attr.translation.x||0),l=s[1]+(i.attr.y||0)+(i.attr.translation&&i.attr.translation.y||0),t.targetXY=[c,l])),u?f.renderer.call(t,n.storeItem,n,u.surface):f.renderer.call(t,n.storeItem,n),t.show(),t.trackMouse=e)},hideTip:function(){var n=this.tooltip;n&&(clearTimeout(this.tipTimeout),this.tipTimeout=setTimeout(function(){n.hide()},0))}});Ext.define("Ext.chart.axis.Abstract",{requires:["Ext.chart.Chart"],constructor:function(n){n=n||{};var t=this,i=n.position||"left";i=i.charAt(0).toUpperCase()+i.substring(1);n.label=Ext.apply(n["axisLabel"+i+"Style"]||{},n.label||{});n.axisTitleStyle=Ext.apply(n["axisTitle"+i+"Style"]||{},n.labelTitle||{});Ext.apply(t,n);t.fields=Ext.Array.from(t.fields);this.callParent();t.labels=[];t.getId();t.labelGroup=t.chart.surface.getGroup(t.axisId+"-labels")},alignment:null,grid:!1,steps:10,x:0,y:0,minValue:0,maxValue:0,getId:function(){return this.axisId||(this.axisId=Ext.id(null,"ext-axis-"))},processView:Ext.emptyFn,drawAxis:Ext.emptyFn,addDisplayAndLabels:Ext.emptyFn});Ext.define("Ext.chart.axis.Axis",{extend:"Ext.chart.axis.Abstract",alternateClassName:"Ext.chart.Axis",requires:["Ext.draw.Draw"],forceMinMax:!1,dashSize:3,position:"bottom",skipFirst:!1,length:0,width:0,adjustEnd:!0,majorTickSteps:!1,applyData:Ext.emptyFn,getRange:function(){var f=this,nt=f.chart,ut=nt.getChartStore(),tt=ut.data.items,i=nt.series.items,k=f.position,l,a=Ext.chart.series,h=[],e=Infinity,u=-Infinity,v=f.position==="left"||f.position==="right",n,y,d,t,o,ft=tt.length,p,it={},c={},w=!0,r,g,rt,b,s;for(r=f.fields,t=0,y=r.length;t<y;t++)c[r[t]]=!0;for(n=0,y=i.length;n<y;n++)if(!i[n].seriesIsHidden&&i[n].getAxesForXAndYFields&&(l=i[n].getAxesForXAndYFields(),!l.xAxis||l.xAxis===k||!l.yAxis||l.yAxis===k)){if(r=a.Bar&&i[n]instanceof a.Bar&&!i[n].column?v?Ext.Array.from(i[n].xField):Ext.Array.from(i[n].yField):v?Ext.Array.from(i[n].yField):Ext.Array.from(i[n].xField),f.fields.length){for(t=0,d=r.length;t<d;t++)if(c[r[t]])break;if(t==d)continue}if((p=i[n].stacked)&&(a.Bar&&i[n]instanceof a.Bar?i[n].column!=v&&(p=!1,w=!1):v||(p=!1,w=!1)),p){for(g={},t=0;t<r.length;t++)w&&i[n].__excludes&&i[n].__excludes[t]||(c[r[t]]||Ext.Logger.warn("Field `"+r[t]+"` is not included in the "+k+" axis config."),c[r[t]]=g[r[t]]=!0);h.push({fields:g,value:0})}else for(r&&r.length!=0||(r=f.fields),t=0;t<r.length;t++)w&&i[n].__excludes&&i[n].__excludes[t]||(c[r[t]]=it[r[t]]=!0)}for(n=0;n<ft;n++){for(rt=tt[n],o=0;o<h.length;o++)h[o].value=0;for(b in c)if(s=rt.get(b),!isNaN(s))for(s===undefined&&(s=0),it[b]&&(e>s&&(e=s),u<s&&(u=s)),o=0;o<h.length;o++)h[o].fields[b]&&(h[o].value+=s,e>0&&(e=0),u<h[o].value&&(u=h[o].value))}return isFinite(u)||(u=f.prevMax||0),isFinite(e)||(e=f.prevMin||0),e!=u&&u!=Math.floor(u)&&(u=Math.floor(u)+1),isNaN(f.minimum)||(e=f.minimum),isNaN(f.maximum)||(u=f.maximum),e>=u&&(u=e+1),{min:e,max:u}},calcEnds:function(){var n=this,f=n.getRange(),r=f.min,u=f.max,e,o,t,i;return e=Ext.isNumber(n.majorTickSteps)?n.majorTickSteps+1:n.steps,o=!(Ext.isNumber(n.maximum)&&Ext.isNumber(n.minimum)&&Ext.isNumber(n.majorTickSteps)&&n.majorTickSteps>0),t=Ext.draw.Draw.snapEnds(r,u,e,o),Ext.isNumber(n.maximum)&&(t.to=n.maximum,i=!0),Ext.isNumber(n.minimum)&&(t.from=n.minimum,i=!0),n.adjustMaximumByMajorUnit&&(t.to=Math.ceil(t.to/t.step)*t.step,i=!0),n.adjustMinimumByMajorUnit&&(t.from=Math.floor(t.from/t.step)*t.step,i=!0),i&&(t.steps=Math.ceil((t.to-t.from)/t.step)),n.prevMin=r==u?0:r,n.prevMax=u,t},drawAxis:function(n){var t=this,i,o=t.x,s=t.y,l=t.chart.maxGutter[0],a=t.chart.maxGutter[1],f=t.dashSize,tt=t.minorTickSteps||0,it=t.minorTickSteps||0,c=t.length,w=t.position,v=[],b=!1,y=t.applyData(),k=y.step,nt=y.steps,rt=y.from,ut=y.to,p,r,u,e,d,g,h;if(!t.hidden&&!isNaN(k)&&!(rt>ut)){if(t.from=y.from,t.to=y.to,w=="left"||w=="right"?(r=Math.floor(o)+.5,e=["M",r,s,"l",0,-c],p=c-a*2):(u=Math.floor(s)+.5,e=["M",o,u,"l",c,0],p=c-l*2),h=nt&&p/nt,d=Math.max(tt+1,0),g=Math.max(it+1,0),(t.type=="Numeric"||t.type=="Time")&&(b=!0,t.labels=[y.from]),w=="right"||w=="left"){for(u=s-a,r=o-(w=="left")*f*2;u>=s-a-p;){if(e.push("M",r,Math.floor(u)+.5,"l",f*2+1,0),u!=s-a)for(i=1;i<g;i++)e.push("M",r+f,Math.floor(u+h*i/g)+.5,"l",f+1,0);if(v.push([Math.floor(o),Math.floor(u)]),u-=h,b&&t.labels.push(t.labels[t.labels.length-1]+k),h===0)break}if(Math.round(u+h-(s-a-p))){for(e.push("M",r,Math.floor(s-c+a)+.5,"l",f*2+1,0),i=1;i<g;i++)e.push("M",r+f,Math.floor(s-c+a+h*i/g)+.5,"l",f+1,0);v.push([Math.floor(o),Math.floor(u)]);b&&t.labels.push(t.labels[t.labels.length-1]+k)}}else{for(r=o+l,u=s-(w=="top")*f*2;r<=o+l+p;){if(e.push("M",Math.floor(r)+.5,u,"l",0,f*2+1),r!=o+l)for(i=1;i<d;i++)e.push("M",Math.floor(r-h*i/d)+.5,u,"l",0,f+1);if(v.push([Math.floor(r),Math.floor(s)]),r+=h,b&&t.labels.push(t.labels[t.labels.length-1]+k),h===0)break}if(Math.round(r-h-(o+l+p))){for(e.push("M",Math.floor(o+c-l)+.5,u,"l",0,f*2+1),i=1;i<d;i++)e.push("M",Math.floor(o+c-l-h*i/d)+.5,u,"l",0,f+1);v.push([Math.floor(r),Math.floor(s)]);b&&t.labels.push(t.labels[t.labels.length-1]+k)}}b&&(t.labels[v.length-1]=+t.labels[v.length-1].toFixed(10));t.axis||(t.axis=t.chart.surface.add(Ext.apply({type:"path",path:e},t.axisStyle)));t.axis.setAttributes({path:e},!0);t.inflections=v;!n&&t.grid&&t.drawGrid();t.axisBBox=t.axis.getBBox();t.drawLabel()}},drawGrid:function(){var i=this,y=i.chart.surface,p=i.grid,s=p.odd,h=p.even,a=i.inflections,w=a.length-(s||h?0:1),e=i.position,b=i.chart.maxGutter,f=i.width-2,t,r,o=1,u=[],v,n,k,c=[],l=[];for((b[1]!==0&&(e=="left"||e=="right")||b[0]!==0&&(e=="top"||e=="bottom"))&&(o=0,w++);o<w;o++)t=a[o],r=a[o-1],s||h?(u=o%2?c:l,v=(o%2?s:h)||{},n=(v.lineWidth||v["stroke-width"]||0)/2,k=2*n,e=="left"?u.push("M",r[0]+1+n,r[1]+.5-n,"L",r[0]+1+f-n,r[1]+.5-n,"L",t[0]+1+f-n,t[1]+.5+n,"L",t[0]+1+n,t[1]+.5+n,"Z"):e=="right"?u.push("M",r[0]-n,r[1]+.5-n,"L",r[0]-f+n,r[1]+.5-n,"L",t[0]-f+n,t[1]+.5+n,"L",t[0]-n,t[1]+.5+n,"Z"):e=="top"?u.push("M",r[0]+.5+n,r[1]+1+n,"L",r[0]+.5+n,r[1]+1+f-n,"L",t[0]+.5-n,t[1]+1+f-n,"L",t[0]+.5-n,t[1]+1+n,"Z"):u.push("M",r[0]+.5+n,r[1]-n,"L",r[0]+.5+n,r[1]-f+n,"L",t[0]+.5-n,t[1]-f+n,"L",t[0]+.5-n,t[1]-n,"Z")):u=e=="left"?u.concat(["M",t[0]+.5,t[1]+.5,"l",f,0]):e=="right"?u.concat(["M",t[0]-.5,t[1]+.5,"l",-f,0]):e=="top"?u.concat(["M",t[0]+.5,t[1]+.5,"l",0,f]):u.concat(["M",t[0]+.5,t[1]-.5,"l",0,-f]);s||h?(c.length&&(!i.gridOdd&&c.length&&(i.gridOdd=y.add({type:"path",path:c})),i.gridOdd.setAttributes(Ext.apply({path:c,hidden:!1},s||{}),!0)),l.length&&(i.gridEven||(i.gridEven=y.add({type:"path",path:l})),i.gridEven.setAttributes(Ext.apply({path:l,hidden:!1},h||{}),!0))):u.length?(i.gridLines||(i.gridLines=i.chart.surface.add({type:"path",path:u,"stroke-width":i.lineWidth||1,stroke:i.gridColor||"#ccc"})),i.gridLines.setAttributes({hidden:!1,path:u},!0)):i.gridLines&&i.gridLines.hide(!0)},getOrCreateLabel:function(n,t){var r=this,u=r.labelGroup,i=u.getAt(n),f=r.chart.surface;return i?t!=i.attr.text&&(i.setAttributes(Ext.apply({text:t},r.label),!0),i._bbox=i.getBBox()):(i=f.add(Ext.apply({group:u,type:"text",x:0,y:0,text:t},r.label)),f.renderItem(i),i._bbox=i.getBBox()),r.label.rotation?(i.setAttributes({rotation:{degrees:0}},!0),i._ubbox=i.getBBox(),i.setAttributes(r.label,!0)):i._ubbox=i._bbox,i},rect2pointArray:function(n){var l=this.chart.surface,i=l.getBBox(n,!0),r=[i.x,i.y],o=r.slice(),u=[i.x+i.width,i.y],s=u.slice(),f=[i.x+i.width,i.y+i.height],h=f.slice(),e=[i.x,i.y+i.height],c=e.slice(),t=n.matrix;return r[0]=t.x.apply(t,o),r[1]=t.y.apply(t,o),u[0]=t.x.apply(t,s),u[1]=t.y.apply(t,s),f[0]=t.x.apply(t,h),f[1]=t.y.apply(t,h),e[0]=t.x.apply(t,c),e[1]=t.y.apply(t,c),[r,u,f,e]},intersect:function(n,t){var i=this.rect2pointArray(n),r=this.rect2pointArray(t);return!!Ext.draw.Draw.intersect(i,r).length},drawHorizontalLabels:function(){var n=this,c=n.label,d=Math.floor,g=Math.max,l=n.chart.axes,nt=n.chart.insetPadding,tt=n.position,e=n.inflections,a=e.length,v=n.labels,o=0,y,i,r,s,p,it=n.adjustEnd,rt=l.findIndex("position","left")!=-1,ut=l.findIndex("position","right")!=-1,u,w,h,f,b,t,k;for(h=a-1,r=e[0],k=n.getOrCreateLabel(0,n.label.renderer(v[0])),y=Math.floor(Math.abs(Math.sin(c.rotate&&c.rotate.degrees*Math.PI/180||0))),t=0;t<a;t++){if(r=e[t],w=n.label.renderer(v[t]),u=n.getOrCreateLabel(t,w),i=u._bbox,o=g(o,i.height+n.dashSize+n.label.padding),f=d(r[0]-(y?i.height:i.width)/2),it&&n.chart.maxGutter[0]==0&&(t!=0||rt?t!=h||ut||(f=Math.min(f,r[0]-i.width+nt)):f=r[0]),b=tt=="top"?r[1]-n.dashSize*2-n.label.padding-i.height/2:r[1]+n.dashSize*2+n.label.padding+i.height/2,u.setAttributes({hidden:!1,x:f,y:b},!0),t!=0&&(n.intersect(u,s)||n.intersect(u,k)))if(t===h&&p!==0)s.hide(!0);else{u.hide(!0);continue}s=u;p=t}return o},drawVerticalLabels:function(){for(var n=this,s=n.inflections,w=n.position,h=s.length,b=n.chart,k=b.insetPadding,d=n.labels,e=0,g=Math.max,nt=Math.floor,tt=Math.ceil,c=n.chart.axes,l=n.chart.maxGutter[1],i,f,o,a,it=c.findIndex("position","top")!=-1,rt=c.findIndex("position","bottom")!=-1,ut=n.adjustEnd,r,v,y=h-1,p,u,t=0;t<h;t++){if(f=s[t],v=n.label.renderer(d[t]),r=n.getOrCreateLabel(t,v),i=r._bbox,e=g(e,i.width+n.dashSize+n.label.padding),u=f[1],ut&&l<i.height/2&&(t!=y||it?t!=0||rt||(u=n.y+l-nt(i.height/2)):u=Math.max(u,n.y-n.length+tt(i.height/2)-k)),p=w=="left"?f[0]-i.width-n.dashSize-n.label.padding-2:f[0]+n.dashSize+n.label.padding+2,r.setAttributes(Ext.apply({hidden:!1,x:p,y:u},n.label),!0),t!=0&&n.intersect(r,o))if(t===y&&a!==0)o.hide(!0);else{r.hide(!0);continue}o=r;a=t}return e},drawLabel:function(){var n=this,u=n.position,f=n.labelGroup,o=n.inflections,i=0,r=0,e,t;for(u=="left"||u=="right"?i=n.drawVerticalLabels():r=n.drawHorizontalLabels(),e=f.getCount(),t=o.length;t<e;t++)f.getAt(t).hide(!0);n.bbox={};Ext.apply(n.bbox,n.axisBBox);n.bbox.height=r;n.bbox.width=i;Ext.isString(n.title)&&n.drawTitle(i,r)},setTitle:function(n){this.title=n;this.drawLabel()},drawTitle:function(n,t){var i=this,e=i.position,h=i.chart.surface,u=i.displaySprite,c=i.title,a=e=="left"||e=="right",o=i.x,s=i.y,l,r,f;u?u.setAttributes({text:c},!0):(l={type:"text",x:0,y:0,text:c},u=i.displaySprite=h.add(Ext.apply(l,i.axisTitleStyle,i.labelTitle)),h.renderItem(u));r=u.getBBox();f=i.dashSize+i.label.padding;a?(s-=i.length/2-r.height/2,e=="left"?o-=n+f+r.width/2:o+=n+f+r.width-r.width/2,i.bbox.width+=r.width+10):(o+=i.length/2-r.width*.5,e=="top"?s-=t+f+r.height*.3:s+=t+f+r.height*.8,i.bbox.height+=r.height+10);u.setAttributes({translate:{x:o,y:s}},!0)}});Ext.define("Ext.chart.axis.Category",{extend:"Ext.chart.axis.Axis",alternateClassName:"Ext.chart.CategoryAxis",alias:"axis.category",categoryNames:null,calculateCategoryCount:!1,setLabels:function(){var e=this.chart.getChartStore(),i=e.data.items,n,r,u,f=this.fields,o=f.length,t;for(this.labels=[],n=0,r=i.length;n<r;n++)for(u=i[n],t=0;t<o;t++)this.labels.push(u.get(f[t]))},applyData:function(){this.callParent();this.setLabels();var n=this.chart.getChartStore().getCount();return{from:0,to:n-1,power:1,step:1,steps:n-1}}});Ext.define("Ext.chart.axis.Gauge",{extend:"Ext.chart.axis.Abstract",position:"gauge",alias:"axis.gauge",drawAxis:function(){var l=this.chart,v=l.surface,u=l.chartBBox,e=u.x+u.width/2,o=u.y+u.height,f=this.margin||10,r=Math.min(u.width,2*u.height)/2+f,s=[],a,i=this.steps,t,n=Math.PI,h=Math.cos,c=Math.sin;if(this.sprites&&!l.resizing){this.drawLabel();return}if(this.margin>=0)if(this.sprites)for(s=this.sprites,t=0;t<=i;t++)s[t].setAttributes({path:["M",e+(r-f)*h(t/i*n-n),o+(r-f)*c(t/i*n-n),"L",e+r*h(t/i*n-n),o+r*c(t/i*n-n),"Z"],stroke:"#ccc"},!0);else for(t=0;t<=i;t++)a=v.add({type:"path",path:["M",e+(r-f)*h(t/i*n-n),o+(r-f)*c(t/i*n-n),"L",e+r*h(t/i*n-n),o+r*c(t/i*n-n),"Z"],stroke:"#ccc"}),a.setAttributes({hidden:!1},!0),s.push(a);this.sprites=s;this.drawLabel();this.title&&this.drawTitle()},drawTitle:function(){var n=this,u=n.chart,f=u.surface,i=u.chartBBox,t=n.titleSprite,r;t||(n.titleSprite=t=f.add({type:"text",zIndex:2}));t.setAttributes(Ext.apply({text:n.title},n.label||{}),!0);r=t.getBBox();t.setAttributes({x:i.x+i.width/2-r.width/2,y:i.y+i.height-r.height/2-4},!0)},setTitle:function(n){this.title=n;this.drawTitle()},drawLabel:function(){var h=this.chart,b=h.surface,r=h.chartBBox,c=r.x+r.width/2,l=r.y+r.height,k=this.margin||10,u=Math.min(r.width,2*r.height)/2+2*k,a=Math.round,f=[],s,v=this.maximum||0,e=this.minimum||0,t=this.steps,n=0,o,i=Math.PI,y=Math.cos,p=Math.sin,d=this.label,w=d.renderer||function(n){return n};if(this.labelArray)for(f=this.labelArray,n=0;n<=t;n++)o=n===0||n===t?7:0,f[n].setAttributes({text:w(a(e+n/t*(v-e))),x:c+u*y(n/t*i-i),y:l+u*p(n/t*i-i)-o},!0);else for(n=0;n<=t;n++)o=n===0||n===t?7:0,s=b.add({type:"text",text:w(a(e+n/t*(v-e))),x:c+u*y(n/t*i-i),y:l+u*p(n/t*i-i)-o,"text-anchor":"middle","stroke-width":.2,zIndex:10,stroke:"#333"}),s.setAttributes({hidden:!1},!0),f.push(s);this.labelArray=f}});Ext.define("Ext.chart.axis.Numeric",{extend:"Ext.chart.axis.Axis",alternateClassName:"Ext.chart.NumericAxis",type:"numeric",alias:"axis.numeric",uses:["Ext.data.Store"],constructor:function(n){var t=this,r=!!(n.label&&n.label.renderer),i;t.callParent([n]);i=t.label;n.constrain==null&&(t.constrain=n.minimum!=null&&n.maximum!=null);r||(i.renderer=function(n){return t.roundToDecimal(n,t.decimals)})},roundToDecimal:function(n,t){var i=Math.pow(10,t||0);return Math.round(n*i)/i},minimum:NaN,maximum:NaN,constrain:!0,decimals:2,scale:"linear",doConstrain:function(){for(var t=this,o=t.chart.store,s=o.data.items,i,h,u,f=t.chart.series.items,c=t.fields,y=c.length,l=t.calcEnds(),p=l.from,w=l.to,e,v=[],r,n=0,a=f.length;n<a;n++)if(f[n].type==="bar"&&f[n].stacked)return;for(i=0,h=s.length;i<h;i++){for(r=!0,u=s[i],n=0;n<y;n++){if(e=u.get(c[n]),+e<+p){r=!1;break}if(+e>+w){r=!1;break}}r&&v.push(u)}t.chart.substore=Ext.create("Ext.data.Store",{model:o.model});t.chart.substore.loadData(v)},position:"left",adjustMaximumByMajorUnit:!1,adjustMinimumByMajorUnit:!1,processView:function(){var n=this,t=n.constrain;t&&n.doConstrain()},applyData:function(){return this.callParent(),this.calcEnds()}});Ext.define("Ext.chart.axis.Radial",{extend:"Ext.chart.axis.Abstract",position:"radial",alias:"axis.radial",drawAxis:function(){var h=this.chart,a=h.surface,t=h.chartBBox,p=h.store,i=p.getCount(),r=t.x+t.width/2,u=t.y+t.height/2,f=Math.min(t.width,t.height)/2,e=[],o,c=this.steps,n,s,l=Math.PI*2,v=Math.cos,y=Math.sin;if(this.sprites&&!h.resizing){this.drawLabel();return}if(this.sprites){for(e=this.sprites,n=0;n<c;n++)e[n].setAttributes({x:r,y:u,radius:Math.max(f*(n+1)/c,0),stroke:"#ccc"},!0);for(s=0;s<i;s++)e[n+s].setAttributes({path:["M",r,u,"L",r+f*v(s/i*l),u+f*y(s/i*l),"Z"],stroke:"#ccc"},!0)}else{for(n=1;n<=c;n++)o=a.add({type:"circle",x:r,y:u,radius:Math.max(f*n/c,0),stroke:"#ccc"}),o.setAttributes({hidden:!1},!0),e.push(o);for(n=0;n<i;n++)o=a.add({type:"path",path:["M",r,u,"L",r+f*v(n/i*l),u+f*y(n/i*l),"Z"],stroke:"#ccc"}),o.setAttributes({hidden:!1},!0),e.push(o)}this.sprites=e;this.drawLabel()},drawLabel:function(){var c=this.chart,nt=c.series.items,k,tt=c.surface,f=c.chartBBox,st=c.store,it=st.data.items,l,d,a=f.x+f.width/2,v=f.y+f.height/2,e=Math.min(f.width,f.height)/2,ht=Math.max,rt=Math.round,u=[],o,g=[],ut,s=[],ft,ct=!this.maximum,y=this.maximum||0,i=this.steps,n=0,t,r,p,w=Math.PI*2,et=Math.cos,ot=Math.sin,h=this.label.display,lt=h!=="none",b=10;if(lt){for(n=0,l=nt.length;n<l;n++)k=nt[n],g.push(k.yField),ft=k.xField;for(t=0,l=it.length;t<l;t++){if(d=it[t],ct)for(n=0,ut=g.length;n<ut;n++)y=ht(+d.get(g[n]),y);s.push(d.get(ft))}if(this.labelArray){if(u=this.labelArray,h!="categories")for(n=0;n<i;n++)u[n].setAttributes({text:rt((n+1)/i*y),x:a,y:v-e*(n+1)/i,"text-anchor":"middle","stroke-width":.1,stroke:"#333"},!0);if(h!="scale")for(t=0,i=s.length;t<i;t++)r=et(t/i*w)*(e+b),p=ot(t/i*w)*(e+b),u[n+t]&&u[n+t].setAttributes({type:"text",text:s[t],x:a+r,y:v+p,"text-anchor":r*r<=.001?"middle":r<0?"end":"start"},!0)}else{if(h!="categories")for(n=1;n<=i;n++)o=tt.add({type:"text",text:rt(n/i*y),x:a,y:v-e*n/i,"text-anchor":"middle","stroke-width":.1,stroke:"#333"}),o.setAttributes({hidden:!1},!0),u.push(o);if(h!="scale")for(t=0,i=s.length;t<i;t++)r=et(t/i*w)*(e+b),p=ot(t/i*w)*(e+b),o=tt.add({type:"text",text:s[t],x:a+r,y:v+p,"text-anchor":r*r<=.001?"middle":r<0?"end":"start"}),o.setAttributes({hidden:!1},!0),u.push(o)}this.labelArray=u}}});Ext.define("Ext.chart.axis.Time",{extend:"Ext.chart.axis.Numeric",alternateClassName:"Ext.chart.TimeAxis",alias:"axis.time",uses:["Ext.data.Store"],dateFormat:!1,fromDate:!1,toDate:!1,step:[Ext.Date.DAY,1],constrain:!1,constructor:function(n){var u=this,t,r,i;u.callParent([n]);t=u.label||{};i=this.dateFormat;i&&(t.renderer?(r=t.renderer,t.renderer=function(n){return n=r(n),Ext.Date.format(new Date(r(n)),i)}):t.renderer=function(n){return Ext.Date.format(new Date(n>>0),i)})},processView:function(){var n=this;n.fromDate&&(n.minimum=+n.fromDate);n.toDate&&(n.maximum=+n.toDate);n.constrain&&n.doConstrain()},calcEnds:function(){var t=this,n,i=t.step;return i?(n=t.getRange(),n=Ext.draw.Draw.snapEndsByDateAndStep(new Date(n.min),new Date(n.max),Ext.isNumber(i)?[Date.MILLI,i]:i),t.minimum&&(n.from=t.minimum),t.maximum&&(n.to=t.maximum),n.step=(n.to-n.from)/n.steps,n):t.callParent(arguments)}});Ext.define("Ext.chart.series.Series",{mixins:{observable:"Ext.util.Observable",labels:"Ext.chart.Label",highlights:"Ext.chart.Highlight",tips:"Ext.chart.Tip",callouts:"Ext.chart.Callout"},type:null,title:null,showInLegend:!0,renderer:function(n,t,i){return i},shadowAttributes:null,animating:!1,constructor:function(n){var t=this;n&&Ext.apply(t,n);t.shadowGroups=[];t.mixins.labels.constructor.call(t,n);t.mixins.highlights.constructor.call(t,n);t.mixins.tips.constructor.call(t,n);t.mixins.callouts.constructor.call(t,n);t.addEvents({scope:t,itemmouseover:!0,itemmouseout:!0,itemmousedown:!0,itemmouseup:!0,mouseleave:!0,afterdraw:!0,titlechange:!0});t.mixins.observable.constructor.call(t,n);t.on({scope:t,itemmouseover:t.onItemMouseOver,itemmouseout:t.onItemMouseOut,mouseleave:t.onMouseLeave});t.style&&Ext.apply(t.seriesStyle,t.style)},eachRecord:function(n,t){var i=this.chart;(i.substore||i.store).each(n,t)},getRecordCount:function(){var n=this.chart,t=n.substore||n.store;return t?t.getCount():0},isExcluded:function(n){var t=this.__excludes;return!!(t&&t[n])},setBBox:function(n){var u=this,t=u.chart,r=t.chartBBox,f=n?0:t.maxGutter[0],e=n?0:t.maxGutter[1],i,o;i={x:r.x,y:r.y,width:r.width,height:r.height};u.clipBox=i;o={x:i.x+f-t.zoom.x*t.zoom.width,y:i.y+e-t.zoom.y*t.zoom.height,width:(i.width-f*2)*t.zoom.width,height:(i.height-e*2)*t.zoom.height};u.bbox=o},onAnimate:function(n,t){var i=this;return n.stopAnimation(),i.animating?n.animate(Ext.applyIf(t,i.chart.animate)):(i.animating=!0,n.animate(Ext.apply(Ext.applyIf(t,i.chart.animate),{listeners:{afteranimate:function(){i.animating=!1;i.fireEvent("afterrender")}}})))},getGutters:function(){return[0,0]},onItemMouseOver:function(n){var t=this;n.series===t&&(t.highlight&&t.highlightItem(n),t.tooltip&&t.showTip(n))},onItemMouseOut:function(n){var t=this;n.series===t&&(t.unHighlightItem(),t.tooltip&&t.hideTip(n))},onMouseLeave:function(){var n=this;n.unHighlightItem();n.tooltip&&n.hideTip()},getItemForPoint:function(n,t){if(!this.items||!this.items.length||this.seriesIsHidden)return null;var u=this,r=u.items,e=u.bbox,i,f;if(!Ext.draw.Draw.withinBox(n,t,e))return null;for(i=0,f=r.length;i<f;i++)if(r[i]&&this.isItemInPoint(n,t,r[i],i))return r[i];return null},isItemInPoint:function(){return!1},hideAll:function(){var n=this,f=n.items,e,o,i,r,s,t,u;for(n.seriesIsHidden=!0,n._prevShowMarkers=n.showMarkers,n.showMarkers=!1,n.hideLabels(0),i=0,o=f.length;i<o;i++)if(e=f[i],t=e.sprite,t&&t.setAttributes({hidden:!0},!0),t&&t.shadows)for(u=t.shadows,r=0,s=u.length;r<s;++r)u[r].setAttributes({hidden:!0},!0)},showAll:function(){var n=this,t=n.chart.animate;n.chart.animate=!1;n.seriesIsHidden=!1;n.showMarkers=n._prevShowMarkers;n.drawSeries();n.chart.animate=t},hide:function(){if(this.items){var u=this,n=u.items,t,i,f,e,r;if(n&&n.length){for(t=0,e=n.length;t<e;++t)if(n[t].sprite&&(n[t].sprite.hide(!0),r=n[t].shadows||n[t].sprite.shadows,r))for(i=0,f=r.length;i<f;++i)r[i].hide(!0);u.hideLabels()}}},getLegendColor:function(){var n=this,t,i;if(n.seriesStyle){if(t=n.seriesStyle.fill,i=n.seriesStyle.stroke,t&&t!="none")return t;if(i)return i}return n.colorArrayStyle?n.colorArrayStyle[n.seriesIdx%n.colorArrayStyle.length]:"#000"},visibleInLegend:function(n){var t=this.__excludes;return t?!t[n]:!this.seriesIsHidden},setTitle:function(n,t){var i=this,r=i.title;Ext.isString(n)&&(t=n,n=0);Ext.isArray(r)?r[n]=t:i.title=t;i.fireEvent("titlechange",t,n)}});Ext.define("Ext.chart.series.Cartesian",{extend:"Ext.chart.series.Series",alternateClassName:["Ext.chart.CartesianSeries","Ext.chart.CartesianChart"],xField:null,yField:null,axis:"left",getLegendLabels:function(){var e=this,t=[],o,n,u,i=e.combinations,f,r,s,h;for(o=[].concat(e.yField),n=0,u=o.length;n<u;n++)f=e.title,t.push((Ext.isArray(f)?f[n]:f)||o[n]);if(i)for(i=Ext.Array.from(i),n=0,u=i.length;n<u;n++)r=i[n],s=t[r[0]],h=t[r[1]],t[r[1]]=s+" & "+h,t.splice(r[0],1);return t},eachYValue:function(n,t,i){for(var o=this,u=o.getYValueAccessors(),e,r=0,f=u.length;r<f;r++)e=u[r],t.call(i,e(n),r)},getYValueCount:function(){return this.getYValueAccessors().length},combine:function(n,t){var r=this,i=r.getYValueAccessors(),u=i[n],f=i[t];i[t]=function(n){return u(n)+f(n)};i.splice(n,1);r.callParent([n,t])},clearCombinations:function(){delete this.yValueAccessors;this.callParent()},getYValueAccessors:function(){var i=this,n=i.yValueAccessors,r,u,t,f;if(!n)for(n=i.yValueAccessors=[],r=[].concat(i.yField),t=0,f=r.length;t<f;t++)u=r[t],n.push(function(n){return n.get(u)});return n},getMinMaxXValues:function(){var u=this,s=u.chart,h=s.getChartStore(),f=h.data.items,r,e,o,n,t,c=u.xField,i;if(u.getRecordCount()>0)for(n=Infinity,t=-n,r=0,e=f.length;r<e;r++)o=f[r],i=o.get(c),i>t&&(t=i),i<n&&(n=i);else n=t=0;return[n,t]},getMinMaxYValues:function(){function a(n,i){t.isExcluded(i)||(n<0?f+=n:u+=n)}function v(r,u){t.isExcluded(u)||(r>i&&(i=r),r<n&&(n=r))}var t=this,h=t.chart,c=h.getChartStore(),o=c.data.items,r,s,e,l=t.stacked,n,i,u,f;if(t.getRecordCount()>0)for(n=Infinity,i=-n,r=0,s=o.length;r<s;r++)e=o[r],l?(u=0,f=0,t.eachYValue(e,a),u>i&&(i=u),f<n&&(n=f)):t.eachYValue(e,v);else n=i=0;return[n,i]},getAxesForXAndYFields:function(){var e=this,i=e.chart.axes,o=[].concat(e.axis),c={},s=[].concat(e.yField),l={},h=[].concat(e.xField),t,u,f,n,r,a;if(a=e.type==="bar"&&e.column===!1,a&&(t=s,s=h,h=t),Ext.Array.indexOf(o,"top")>-1)u="top";else if(Ext.Array.indexOf(o,"bottom")>-1)u="bottom";else if(i.get("top")&&i.get("bottom")){for(n=0,r=h.length;n<r;n++)l[h[n]]=!0;for(t=[].concat(i.get("bottom").fields),n=0,r=t.length;n<r;n++)if(l[t[n]]){u="bottom";break}for(t=[].concat(i.get("top").fields),n=0,r=t.length;n<r;n++)if(l[t[n]]){u="top";break}}else i.get("top")?u="top":i.get("bottom")&&(u="bottom");if(Ext.Array.indexOf(o,"left")>-1)f="left";else if(Ext.Array.indexOf(o,"right")>-1)f="right";else if(i.get("left")&&i.get("right")){for(n=0,r=s.length;n<r;n++)c[s[n]]=!0;for(t=[].concat(i.get("right").fields),n=0,r=t.length;n<r;n++)if(c[t[n]])break;for(t=[].concat(i.get("left").fields),n=0,r=t.length;n<r;n++)if(c[t[n]]){f="left";break}}else i.get("left")?f="left":i.get("right")&&(f="right");return a?{xAxis:f,yAxis:u}:{xAxis:u,yAxis:f}}});Ext.define("Ext.chart.series.Area",{extend:"Ext.chart.series.Cartesian",alias:"series.area",requires:["Ext.chart.axis.Axis","Ext.draw.Color","Ext.fx.Anim"],type:"area",stacked:!0,style:{},constructor:function(n){this.callParent(arguments);var t=this,i=t.chart.surface;n.highlightCfg=Ext.Object.merge({},{lineWidth:3,stroke:"#55c",opacity:.8,color:"#f00"},n.highlightCfg);Ext.apply(t,n,{__excludes:[]});t.highlight&&(t.highlightSprite=i.add({type:"path",path:["M",0,0],zIndex:1e3,opacity:.3,lineWidth:5,hidden:!0,stroke:"#444"}));t.group=i.getGroup(t.seriesId)},shrink:function(n,t,i){for(var h=n.length,o=Math.floor(h/i),u,s=0,e=this.areas.length,f=[],c=[],l=[],r=0;r<e;++r)f[r]=0;for(u=0;u<h;++u){for(s+=+n[u],r=0;r<e;++r)f[r]+=+t[u][r];if(u%o==0){for(c.push(s/o),r=0;r<e;++r)f[r]/=o;for(l.push(f),s=0,r=0,f=[];r<e;++r)f[r]=0}}return{x:c,y:l}},getBounds:function(){var n=this,v=n.chart,st=v.getChartStore(),g=st.data.items,f,nt,y,tt=[].concat(n.yField),it=tt.length,e=[],l=[],a=Infinity,o=a,i=a,p=-a,s=-a,rt=Math,at=rt.min,vt=rt.max,ut=n.getAxesForXAndYFields(),ht=ut.xAxis,ct=ut.yAxis,r,w,u,ft,et,h,b,c,lt,ot,k,d,t;for(n.setBBox(),u=n.bbox,(t=v.axes.get(ht))&&(t.type==="Time"&&(w=!0),r=t.applyData(),o=r.from,p=r.to),(t=v.axes.get(ct))&&(r=t.applyData(),i=r.from,s=r.to),n.xField&&!Ext.isNumber(o)&&(t=n.getMinMaxXValues(),w=!0,o=t[0],p=t[1]),n.yField&&!Ext.isNumber(i)&&(t=n.getMinMaxYValues(),i=t[0],s=t[1]),Ext.isNumber(i)||(i=0),Ext.isNumber(s)||(s=0),f=0,nt=g.length;f<nt;f++){for(y=g[f],h=y.get(n.xField),b=[],typeof h!="number"&&(h=w?+h:f),e.push(h),lt=0,c=0;c<it;c++)n.__excludes[c]||(d=y.get(tt[c]),typeof d=="number"&&b.push(d));l.push(b)}return ft=u.width/(p-o||1),et=u.height/(s-i||1),ot=e.length,ot>u.width&&n.areas&&(k=n.shrink(e,l,u.width),e=k.x,l=k.y),{bbox:u,minX:o,minY:i,xValues:e,yValues:l,xScale:ft,yScale:et,areasLen:it}},getPaths:function(){for(var e=this,g=e.chart,nt=g.getChartStore(),p=!0,i=e.getBounds(),r=i.bbox,l=e.items=[],h=[],u,v=0,c=[],f,o,w,b,y,n,k,d,s,a=i.xValues.length,t=0;t<a;t++)for(w=i.xValues[t],b=i.yValues[t],f=r.x+(w-i.minX)*i.xScale,y=0,v=0,n=0;n<i.areasLen;n++)e.__excludes[n]||(h[n]||(h[n]=[]),d=b[v],y+=d,o=r.y+r.height-(y-i.minY)*i.yScale,c[n]?(c[n].push("L",f,o),h[n].push(["L",f,o])):(c[n]=["M",f,o],h[n].push(["L",f,o])),l[n]||(l[n]={pointsUp:[],pointsDown:[],series:e}),l[n].pointsUp.push([f,o]),v++);for(n=0;n<i.areasLen;n++)if(!e.__excludes[n]){if(s=c[n],n==0||p)p=!1,s.push("L",f,r.y+r.height,"L",r.x,r.y+r.height,"Z");else{for(u=h[k],u.reverse(),s.push("L",f,u[0][2]),t=0;t<a;t++)s.push(u[t][0],u[t][1],u[t][2]),l[n].pointsDown[a-t-1]=[u[t][1],u[t][2]];s.push("L",r.x,s[2],"Z")}k=n}return{paths:c,areasLen:i.areasLen}},drawSeries:function(){var n=this,h=n.chart,u=h.getChartStore(),l=h.surface,a=h.animate,v=n.group,f=Ext.apply(n.seriesStyle,n.style),i=n.colorArrayStyle,r=i&&i.length||0,t,e,o,c,s;if(n.unHighlightItem(),n.cleanHighlights(),!u||!u.getCount()||n.seriesIsHidden){n.hide();n.items=[];return}for(o=n.getPaths(),n.areas||(n.areas=[]),t=0;t<o.areasLen;t++)n.__excludes[t]||(n.areas[t]||(n.items[t].sprite=n.areas[t]=l.add(Ext.apply({},{type:"path",group:v,path:o.paths[t],stroke:f.stroke||i[t%r],fill:i[t%r]},f||{}))),e=n.areas[t],c=o.paths[t],a?(s=n.renderer(e,!1,{path:c,fill:i[t%r],stroke:f.stroke||i[t%r]},t,u),n.animation=n.onAnimate(e,{to:s})):(s=n.renderer(e,!1,{path:c,hidden:!1,fill:i[t%r],stroke:f.stroke||i[t%r]},t,u),n.areas[t].setAttributes(s,!0)));n.renderLabels();n.renderCallouts()},onAnimate:function(n){return n.show(),this.callParent(arguments)},onCreateLabel:function(n,t){var i=this,u=i.labelsGroup,f=i.label,r=i.bbox,e=Ext.apply(f,i.seriesLabelStyle);return i.chart.surface.add(Ext.apply({type:"text","text-anchor":"middle",group:u,x:t.point[0],y:r.y+r.height/2},e||{}))},onPlaceLabel:function(n,t,i,r,u,f,e){var c=this,p=c.chart,w=p.resizing,y=c.label,b=y.renderer,k=y.field,o=c.bbox,s=i.point[0],h=i.point[1],v,l,a;if(n.setAttributes({text:b(t.get(k[e])),hidden:!0},!0),v=n.getBBox(),l=v.width/2,a=v.height/2,s=s-l<o.x?o.x+l:s,s=s+l>o.x+o.width?s-(s+l-o.x-o.width):s,h=h-a<o.y?o.y+a:h,h=h+a>o.y+o.height?h-(h+a-o.y-o.height):h,c.chart.animate&&!c.chart.resizing){n.show(!0);c.onAnimate(n,{to:{x:s,y:h}})}else if(n.setAttributes({x:s,y:h},!0),w)c.animation.on("afteranimate",function(){n.show(!0)});else n.show(!0)},onPlaceCallout:function(n,t,i,r){var b=this,ut=b.chart,et=ut.surface,ot=ut.resizing,st=b.callouts,tt=b.items,s=r==0?!1:tt[r-1].point,h=r==tt.length-1?!1:tt[r+1].point,f=i.point,it,rt,u,k,v,y,o=n.label.getBBox(),d=30,e=3,p,w,g,nt,ft,c=b.clipRect,l,a;s||(s=f);h||(h=f);k=(h[1]-s[1])/(h[0]-s[0]);v=(f[1]-s[1])/(f[0]-s[0]);y=(h[1]-f[1])/(h[0]-f[0]);rt=Math.sqrt(1+k*k);it=[1/rt,k/rt];u=[-it[1],it[0]];v>0&&y<0&&u[1]<0||v<0&&y>0&&u[1]>0?(u[0]*=-1,u[1]*=-1):(Math.abs(v)<Math.abs(y)&&u[0]<0||Math.abs(v)>Math.abs(y)&&u[0]>0)&&(u[0]*=-1,u[1]*=-1);l=f[0]+u[0]*d;a=f[1]+u[1]*d;p=l+(u[0]>0?0:-(o.width+2*e));w=a-o.height/2-e;g=o.width+2*e;nt=o.height+2*e;(p<c[0]||p+g>c[0]+c[2])&&(u[0]*=-1);(w<c[1]||w+nt>c[1]+c[3])&&(u[1]*=-1);l=f[0]+u[0]*d;a=f[1]+u[1]*d;p=l+(u[0]>0?0:-(o.width+2*e));w=a-o.height/2-e;g=o.width+2*e;nt=o.height+2*e;n.lines.setAttributes({path:["M",f[0],f[1],"L",l,a,"Z"]},!0);n.box.setAttributes({x:p,y:w,width:g,height:nt},!0);n.label.setAttributes({x:l+(u[0]>0?e:-(o.width+e)),y:a},!0);for(ft in n)n[ft].show(!0)},isItemInPoint:function(n,t,i,r){for(var l=this,e=i.pointsUp,o=i.pointsDown,a=Math.abs,s=!1,h=!1,v=Infinity,f,u=0,c=e.length;u<c;u++)if(f=[e[u][0],e[u][1]],s=!1,h=u==c-1,v>a(n-f[0])&&(v=a(n-f[0]),s=!0,h&&++u),!s||s&&h){if(f=e[u-1],t>=f[1]&&(!o.length||t<=o[u-1][1]))return i.storeIndex=u-1,i.storeField=l.yField[r],i.storeItem=l.chart.store.getAt(u-1),i._points=o.length?[f,o[u-1]]:[f],!0;break}return!1},highlightSeries:function(){var n,t,i;this._index!==undefined&&(n=this.areas[this._index],n.__highlightAnim&&(n.__highlightAnim.paused=!0),n.__highlighted=!0,n.__prevOpacity=n.__prevOpacity||n.attr.opacity||1,n.__prevFill=n.__prevFill||n.attr.fill,n.__prevLineWidth=n.__prevLineWidth||n.attr.lineWidth,i=Ext.draw.Color.fromString(n.__prevFill),t={lineWidth:(n.__prevLineWidth||0)+2},i?t.fill=i.getLighter(.2).toString():t.opacity=Math.max(n.__prevOpacity-.3,0),this.chart.animate?n.__highlightAnim=new Ext.fx.Anim(Ext.apply({target:n,to:t},this.chart.animate)):n.setAttributes(t,!0))},unHighlightSeries:function(){var n;this._index!==undefined&&(n=this.areas[this._index],n.__highlightAnim&&(n.__highlightAnim.paused=!0),n.__highlighted&&(n.__highlighted=!1,n.__highlightAnim=new Ext.fx.Anim({target:n,to:{fill:n.__prevFill,opacity:n.__prevOpacity,lineWidth:n.__prevLineWidth}})))},highlightItem:function(n){var i=this,t,r;if(!n){this.highlightSeries();return}t=n._points;r=t.length==2?["M",t[0][0],t[0][1],"L",t[1][0],t[1][1]]:["M",t[0][0],t[0][1],"L",t[0][0],i.bbox.y+i.bbox.height];i.highlightSprite.setAttributes({path:r,hidden:!1},!0)},unHighlightItem:function(n){n||this.unHighlightSeries();this.highlightSprite&&this.highlightSprite.hide(!0)},hideAll:function(n){var t=this;n=(isNaN(t._index)?n:t._index)||0;t.__excludes[n]=!0;t.areas[n].hide(!0);t.redraw()},showAll:function(n){var t=this;n=(isNaN(t._index)?n:t._index)||0;t.__excludes[n]=!1;t.areas[n].show(!0);t.redraw()},redraw:function(){var n=this,t;t=n.chart.legend.rebuild;n.chart.legend.rebuild=!1;n.chart.redraw();n.chart.legend.rebuild=t},hide:function(){if(this.areas){var i=this,n=i.areas,t,r;if(n&&n.length){for(t=0,r=n.length;t<r;++t)n[t]&&n[t].hide(!0);i.hideLabels()}}},getLegendColor:function(n){var t=this;return t.colorArrayStyle[n%t.colorArrayStyle.length]}});Ext.define("Ext.chart.series.Bar",{extend:"Ext.chart.series.Cartesian",alternateClassName:["Ext.chart.BarSeries","Ext.chart.BarChart","Ext.chart.StackedBarChart"],requires:["Ext.chart.axis.Axis","Ext.fx.Anim"],type:"bar",alias:"series.bar",column:!1,style:{},gutter:38.2,groupGutter:38.2,xPadding:0,yPadding:10,constructor:function(n){this.callParent(arguments);var t=this,r=t.chart.surface,f=t.chart.shadow,i,u;if(n.highlightCfg=Ext.Object.merge({lineWidth:3,stroke:"#55c",opacity:.8,color:"#f00"},n.highlightCfg),Ext.apply(t,n,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":.05,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:1.2}},{"stroke-width":4,"stroke-opacity":.1,stroke:"rgb(150, 150, 150)",translate:{x:.9,y:.9}},{"stroke-width":2,"stroke-opacity":.15,stroke:"rgb(100, 100, 100)",translate:{x:.6,y:.6}}]}),t.group=r.getGroup(t.seriesId+"-bars"),f)for(i=0,u=t.shadowAttributes.length;i<u;i++)t.shadowGroups.push(r.getGroup(t.seriesId+"-shadows"+i))},getBarGirth:function(){var n=this,r=n.chart.getChartStore(),t=n.column,u=r.getCount(),i=n.gutter/100;return(n.chart.chartBBox[t?"width":"height"]-n[t?"xPadding":"yPadding"]*2)/(u*(i+1)-i)},getGutters:function(){var n=this,i=n.column,t=Math.ceil(n[i?"xPadding":"yPadding"]+n.getBarGirth()/2);return n.column?[t,0]:[0,t]},getBounds:function(){var n=this,et=n.chart,vt=et.getChartStore(),ot=vt.data.items,u,st,ht,w=[].concat(n.yField),b=w.length,a=b,v=n.groupGutter/100,o=n.column,y=n.xPadding,p=n.yPadding,k=n.stacked,d=n.getBarGirth(),ct=o?"width":"height",h=Math,yt=h.min,lt=h.max,g=h.abs,pt=n.getAxesForXAndYFields(),wt=pt.yAxis,nt,tt,c,f,t,r,it,rt,l,s,i,ut,e,at,ft;if(n.setBBox(!0),f=n.bbox,n.__excludes)for(e=0,i=n.__excludes.length;e<i;e++)n.__excludes[e]&&a--;if(it=et.axes.get(wt),it&&(nt=it.applyData(),t=nt.from,r=nt.to),n.yField&&!Ext.isNumber(t)&&(rt=n.getMinMaxYValues(),t=rt[0],r=rt[1]),Ext.isNumber(t)||(t=0),Ext.isNumber(r)||(r=0),l=(o?f.height-p*2:f.width-y*2)/(r-t),tt=d,c=d/((k?1:a)*(v+1)-v),ct in n.style&&(c=yt(c,n.style[ct]),tt=c*((k?1:a)*(v+1)-v)),s=o?f.y+f.height-p:f.x+y,k){for(i=[[],[]],u=0,st=ot.length;u<st;u++)for(ht=ot[u],i[0][u]=i[0][u]||0,i[1][u]=i[1][u]||0,e=0;e<b;e++)n.__excludes&&n.__excludes[e]||(ut=ht.get(w[e]),i[+(ut>0)][u]+=g(ut));i[+(r>0)].push(g(r));i[+(t>0)].push(g(t));ft=lt.apply(h,i[0]);at=lt.apply(h,i[1]);l=(o?f.height-p*2:f.width-y*2)/(at+ft);s=s+ft*l*(o?-1:1)}else t/r<0&&(s=s-t*l*(o?-1:1));return{bars:w,bbox:f,shrunkBarWidth:tt,barsLen:b,groupBarsLen:a,barWidth:d,groupBarWidth:c,scale:l,zero:s,xPadding:y,yPadding:p,signed:t/r<0,minY:t,maxY:r}},getPaths:function(){for(var t=this,y=t.chart,bt=y.getChartStore(),tt=bt.data.items,p,i=t.bounds=t.getBounds(),w=t.items=[],kt=t.yField,lt=t.gutter/100,at=t.groupGutter/100,dt=y.animate,h=t.column,gt=t.group,ni=y.shadow,it=t.shadowGroups,ui=t.shadowAttributes,vt=it.length,yt=i.bbox,b=i.barWidth,pt=i.shrunkBarWidth,ti=t.xPadding,ii=t.yPadding,e=t.stacked,k=i.barsLen,rt=t.colorArrayStyle,ri=rt&&rt.length||0,ut=Math,ft=ut.max,fi=ut.min,d=ut.abs,f,v,u,et,ot,c,g,st,n,ht,s,o,l,ct,wt,nt,r=0,a=tt.length;r<a;r++){for(p=tt[r],c=i.zero,g=i.zero,et=0,ot=0,st=!1,f=0,s=0;f<k;f++)if(!t.__excludes||!t.__excludes[f]){if(v=p.get(i.bars[f]),u=Math.round((v-ft(i.minY,0))*i.scale),n={fill:rt[(k>1?f:0)%ri]},h?Ext.apply(n,{height:u,width:ft(i.groupBarWidth,0),x:yt.x+ti+(b-pt)*.5+r*b*(1+lt)+s*i.groupBarWidth*(1+at)*!e,y:c-u}):(wt=a-1-r,Ext.apply(n,{height:ft(i.groupBarWidth,0),width:u+(c==i.zero),x:c+(c!=i.zero),y:yt.y+ii+(b-pt)*.5+wt*b*(1+lt)+s*i.groupBarWidth*(1+at)*!e+1})),u<0&&(h?(n.y=g,n.height=d(u)):(n.x=g+u,n.width=d(u))),e&&(u<0?g+=u*(h?-1:1):c+=u*(h?-1:1),et+=d(u),u<0&&(ot+=d(u))),n.x=Math.floor(n.x)+1,nt=Math.floor(n.y),!Ext.isIE9&&n.y>nt&&nt--,n.y=nt,n.width=Math.floor(n.width),n.height=Math.floor(n.height),w.push({series:t,yField:kt[f],storeItem:p,value:[p.get(t.xField),v],attr:n,point:h?[n.x+n.width/2,v>=0?n.y:n.y+n.height]:[v>=0?n.x+n.width:n.x,n.y+n.height/2]}),dt&&y.resizing){if(ht=h?{x:n.x,y:i.zero,width:n.width,height:0}:{x:i.zero,y:n.y,width:0,height:n.height},ni&&(e&&!st||!e))for(st=!0,o=0;o<vt;o++)l=it[o].getAt(e?r:r*k+f),l&&l.setAttributes(ht,!0);ct=gt.getAt(r*k+f);ct&&ct.setAttributes(ht,!0)}s++}e&&w.length&&(w[r*s].totalDim=et,w[r*s].totalNegDim=ot)}if(e&&s==0)for(r=0,a=tt.length;r<a;r++)for(o=0;o<vt;o++)l=it[o].getAt(r),l&&l.hide(!0)},renderShadows:function(n,t,i,r){var u=this,l=u.chart,d=l.surface,g=l.animate,s=u.stacked,a=u.shadowGroups,nt=u.shadowAttributes,tt=a.length,p=l.getChartStore(),it=u.column,w=u.items,b=[],k=r.zero,o,f,e,h,v,y,c;if(s&&n%r.groupBarsLen==0||!s)for(y=n/r.groupBarsLen,o=0;o<tt;o++){if(f=Ext.apply({},nt[o]),e=a[o].getAt(s?y:n),Ext.copyTo(f,t,"x,y,width,height"),e||(e=d.add(Ext.apply({type:"rect",group:a[o]},Ext.apply({},i,f)))),s&&(h=w[n].totalDim,v=w[n].totalNegDim,it?(f.y=k+v-h-1,f.height=h):(f.x=k-v,f.width=h)),c=u.renderer(e,p.getAt(y),f,n,p),c.hidden=!!t.hidden,g)u.onAnimate(e,{to:c});else e.setAttributes(c,!0);b.push(e)}return b},drawSeries:function(){var n=this,a=n.chart,e=a.getChartStore(),nt=a.surface,tt=a.animate,it=n.stacked,rt=n.column,p=a.shadow,w=n.shadowGroups,d=w.length,v=n.group,ut=n.seriesStyle,h,o,t,i,b,r,c,f,k,s,u,l,y,g;if(!e||!e.getCount()||n.seriesIsHidden){n.hide();n.items=[];return}for(u=Ext.apply({},this.style,ut),delete u.fill,delete u.x,delete u.y,delete u.width,delete u.height,n.unHighlightItem(),n.cleanHighlights(),n.getPaths(),s=n.bounds,h=n.items,b=rt?{y:s.zero,height:0}:{x:s.zero,width:0},o=h.length,t=0;t<o;t++){if(r=v.getAt(t),l=h[t].attr,p&&(h[t].shadows=n.renderShadows(t,l,b,s)),r||(y=Ext.apply({},b,l),y=Ext.apply(y,u||{}),r=nt.add(Ext.apply({},{type:"rect",group:v},y))),tt){if(c=n.renderer(r,e.getAt(t),l,t,e),r._to=c,g=n.onAnimate(r,{to:Ext.apply(c,u)}),p&&it&&t%s.barsLen==0)for(i=t/s.barsLen,f=0;f<d;f++)g.on("afteranimate",function(){this.show(!0)},w[f].getAt(i))}else c=n.renderer(r,e.getAt(t),Ext.apply(l,{hidden:!1}),t,e),r.setAttributes(Ext.apply(c,u),!0);h[t].sprite=r}for(o=v.getCount(),i=t;i<o;i++)v.getAt(i).hide(!0);if(n.stacked&&(t=e.getCount()),p)for(f=0;f<d;f++)for(k=w[f],o=k.getCount(),i=t;i<o;i++)k.getAt(i).hide(!0);n.renderLabels()},onCreateLabel:function(){var n=this,t=n.chart.surface,i=n.labelsGroup,r=n.label,u=Ext.apply({},r,n.seriesLabelStyle||{});return t.add(Ext.apply({type:"text",group:i},u||{}))},onPlaceLabel:function(n,t,i,r,u,f,e,o){var v=this,d=v.bounds,nt=d.groupBarWidth,tt=v.column,it=v.chart,y=it.chartBBox,ct=it.resizing,vt=i.value[0],p=i.value[1],s=i.attr,g=v.label,rt=g.orientation=="vertical",lt=[].concat(g.field),at=g.renderer,ut=at(t.get(lt[o])),ft=v.getLabelSize(ut),w=ft.width,b=ft.height,h=d.zero,c="outside",et="insideStart",ot="insideEnd",st=10,ht=6,yt=d.signed,l,a,k;if(n.setAttributes({text:ut}),n.isOutside=!1,tt?(u==c?b+ht+s.height>(p>=0?h-y.y:y.y+y.height-h)&&(u=ot):b+ht>s.height&&(u=c,n.isOutside=!0),l=s.x+nt/2,a=u==et?h+(b/2+3)*(p>=0?-1:1):p>=0?s.y+(b/2+3)*(u==c?-1:1):s.y+s.height+(b/2+3)*(u===c?1:-1)):(u==c?w+st+s.width>(p>=0?y.x+y.width-h:h-y.x)&&(u=ot):w+st>s.width&&(u=c,n.isOutside=!0),l=u==et?h+(w/2+5)*(p>=0?1:-1):p>=0?s.x+s.width+(w/2+5)*(u===c?1:-1):s.x+(w/2+5)*(u===c?-1:1),a=s.y+nt/2),k={x:l,y:a},rt&&(k.rotate={x:l,y:a,degrees:270}),f&&ct&&(tt?(l=s.x+s.width/2,a=h):(l=h,a=s.y+s.height/2),n.setAttributes({x:l,y:a},!0),rt&&n.setAttributes({rotate:{x:l,y:a,degrees:270}},!0)),f)v.onAnimate(n,{to:k});else n.setAttributes(Ext.apply(k,{hidden:!1}),!0)},getLabelSize:function(n){var t=this.testerLabel,f=this.label,o=Ext.apply({},f,this.seriesLabelStyle||{}),e=f.orientation==="vertical",i,r,u;return t||(t=this.testerLabel=this.chart.surface.add(Ext.apply({type:"text",opacity:0},o))),t.setAttributes({text:n},!0),i=t.getBBox(),r=i.width,u=i.height,{width:e?u:r,height:e?r:u}},onAnimate:function(n){return n.show(),this.callParent(arguments)},isItemInPoint:function(n,t,i){var r=i.sprite.getBBox();return r.x<=n&&r.y<=t&&r.x+r.width>=n&&r.y+r.height>=t},hideAll:function(n){var r=this.chart.axes,i=r.items,u=i.length,t=0;for(n=(isNaN(this._index)?n:this._index)||0,this.__excludes||(this.__excludes=[]),this.__excludes[n]=!0,this.drawSeries(),t;t<u;t++)i[t].drawAxis()},showAll:function(n){var r=this.chart.axes,i=r.items,u=i.length,t=0;for(n=(isNaN(this._index)?n:this._index)||0,this.__excludes||(this.__excludes=[]),this.__excludes[n]=!1,this.drawSeries(),t;t<u;t++)i[t].drawAxis()},getLegendColor:function(n){var t=this,i=t.colorArrayStyle.length;return t.style&&t.style.fill?t.style.fill:t.colorArrayStyle[n%i]},highlightItem:function(){this.callParent(arguments);this.renderLabels()},unHighlightItem:function(){this.callParent(arguments);this.renderLabels()},cleanHighlights:function(){this.callParent(arguments);this.renderLabels()}});Ext.define("Ext.chart.series.Column",{alternateClassName:["Ext.chart.ColumnSeries","Ext.chart.ColumnChart","Ext.chart.StackedColumnChart"],extend:"Ext.chart.series.Bar",type:"column",alias:"series.column",column:!0,xPadding:10,yPadding:0});Ext.define("Ext.chart.series.Gauge",{extend:"Ext.chart.series.Series",type:"gauge",alias:"series.gauge",rad:Math.PI/180,highlightDuration:150,angleField:!1,needle:!1,donut:!1,showInLegend:!1,style:{},constructor:function(n){this.callParent(arguments);var t=this,r=t.chart,u=r.surface,o=r.store,e=r.shadow,i,f;if(Ext.apply(t,n,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":1,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:2}},{"stroke-width":4,"stroke-opacity":1,stroke:"rgb(150, 150, 150)",translate:{x:.9,y:1.5}},{"stroke-width":2,"stroke-opacity":1,stroke:"rgb(100, 100, 100)",translate:{x:.6,y:1}}]}),t.group=u.getGroup(t.seriesId),e)for(i=0,f=t.shadowAttributes.length;i<f;i++)t.shadowGroups.push(u.getGroup(t.seriesId+"-shadows"+i));u.customAttributes.segment=function(n){return t.getSegment(n)}},initialize:function(){var n=this,f=n.chart.getChartStore(),i=f.data.items,t,r,u;if(n.yField=[],n.label.field)for(t=0,r=i.length;t<r;t++)u=i[t],n.yField.push(u.get(n.label.field))},getSegment:function(n){var l=this,a=l.rad,t=Math.cos,i=Math.sin,v=Math.abs,r=l.centerX,u=l.centerY,f=0,y=0,p=0,w=0,e=0,b=0,k=0,d=0,nt=.01,ut=n.endRho-n.startRho,o=n.startAngle,s=n.endAngle,tt=(o+s)/2*a,it=n.margin||0,g=v(s-o)>180,h=Math.min(o,s)*a,c=Math.max(o,s)*a,rt=!1;return r+=it*t(tt),u+=it*i(tt),f=r+n.startRho*t(h),e=u+n.startRho*i(h),y=r+n.endRho*t(h),b=u+n.endRho*i(h),p=r+n.startRho*t(c),k=u+n.startRho*i(c),w=r+n.endRho*t(c),d=u+n.endRho*i(c),v(f-p)<=nt&&v(e-k)<=nt&&(rt=!0),rt?{path:[["M",f,e],["L",y,b],["A",n.endRho,n.endRho,0,+g,1,w,d],["Z"]]}:{path:[["M",f,e],["L",y,b],["A",n.endRho,n.endRho,0,+g,1,w,d],["L",p,k],["A",n.startRho,n.startRho,0,+g,0,f,e],["Z"]]}},calcMiddle:function(n){var t=this,r=t.rad,i=n.slice,s=t.centerX,h=t.centerY,u=i.startAngle,f=i.endAngle,v=Math.max("rho"in i?i.rho:t.radius,t.label.minMargin),y=+t.donut,e=Math.min(u,f)*r,c=Math.max(u,f)*r,o=-(e+(c-e)/2),l=s+(n.endRho+n.startRho)/2*Math.cos(o),a=h-(n.endRho+n.startRho)/2*Math.sin(o);n.middle={x:l,y:a}},drawSeries:function(){var n=this,y=n.chart,p=y.getChartStore(),rt=n.group,ut=n.chart.animate,k=n.chart.axes.get(0),d=k&&k.minimum||n.minimum||0,ft=k&&k.maximum||n.maximum||0,ct=n.angleField||n.field||n.xField,lt=y.surface,c=y.chartBBox,vt=n.rad,h=+n.donut,et=[],nt=n.seriesStyle,yt=n.seriesLabelStyle,e=n.colorArrayStyle,tt=e&&e.length||0,pt=y.maxGutter[0],wt=y.maxGutter[1],l=Math.cos,a=Math.sin,r,o,s,u,w,f,v,it,ot,b,i,st,at,t,g,ht;if(Ext.apply(nt,n.style||{}),n.setBBox(),at=n.bbox,n.colorSet&&(e=n.colorSet,tt=e.length),!p||!p.getCount()||n.seriesIsHidden){n.hide();n.items=[];return}for(o=n.centerX=c.x+c.width/2,s=n.centerY=c.y+c.height,n.radius=Math.min(o-c.x,s-c.y),n.slices=w=[],n.items=et=[],n.value||(b=p.getAt(0),n.value=b.get(ct)),v=n.value,n.needle?(g={series:n,value:v,startAngle:-180,endAngle:0,rho:n.radius},t=-180*(1-(v-d)/(ft-d)),w.push(g)):(t=-180*(1-(v-d)/(ft-d)),g={series:n,value:v,startAngle:-180,endAngle:t,rho:n.radius},ht={series:n,value:n.maximum-v,startAngle:t,endAngle:0,rho:n.radius},w.push(g,ht)),i=0,ot=w.length;i<ot;i++)if(u=w[i],f=rt.getAt(i),r=Ext.apply({segment:{startAngle:u.startAngle,endAngle:u.endAngle,margin:0,rho:u.rho,startRho:u.rho*+h/100,endRho:u.rho}},Ext.apply(nt,e&&{fill:e[i%tt]}||{})),it=Ext.apply({},r.segment,{slice:u,series:n,storeItem:b,index:i}),et[i]=it,f||(st=Ext.apply({type:"path",group:rt},Ext.apply(nt,e&&{fill:e[i%tt]}||{})),f=lt.add(Ext.apply(st,r))),u.sprite=u.sprite||[],it.sprite=f,u.sprite.push(f),ut){r=n.renderer(f,b,r,i,p);f._to=r;n.onAnimate(f,{to:r})}else r=n.renderer(f,b,Ext.apply(r,{hidden:!1}),i,p),f.setAttributes(r,!0);if(n.needle){if(t=t*Math.PI/180,n.needleSprite)if(ut)n.onAnimate(n.needleSprite,{to:{path:["M",o+n.radius*+h/100*l(t),s+-Math.abs(n.radius*+h/100*a(t)),"L",o+n.radius*l(t),s+-Math.abs(n.radius*a(t))]}});else n.needleSprite.setAttributes({type:"path",path:["M",o+n.radius*+h/100*l(t),s+-Math.abs(n.radius*+h/100*a(t)),"L",o+n.radius*l(t),s+-Math.abs(n.radius*a(t))]});else n.needleSprite=n.chart.surface.add({type:"path",path:["M",o+n.radius*+h/100*l(t),s+-Math.abs(n.radius*+h/100*a(t)),"L",o+n.radius*l(t),s+-Math.abs(n.radius*a(t))],"stroke-width":4,stroke:"#222"});n.needleSprite.setAttributes({hidden:!1},!0)}delete n.value},setValue:function(n){this.value=n;this.drawSeries()},onCreateLabel:function(){},onPlaceLabel:function(){},onPlaceCallout:function(){},onAnimate:function(n){return n.show(),this.callParent(arguments)},isItemInPoint:function(n,t,i,r){var u=this,f=u.centerX,e=u.centerY,o=Math.abs,s=o(n-f),h=o(t-e),a=i.startAngle,v=i.endAngle,c=Math.sqrt(s*s+h*h),l=Math.atan2(t-e,n-f)/u.rad;return r===0&&l>=a&&l<v&&c>=i.startRho&&c<=i.endRho},showAll:function(){isNaN(this._index)||(this.__excludes[this._index]=!1,this.drawSeries())},getLegendColor:function(n){var t=this;return t.colorArrayStyle[n%t.colorArrayStyle.length]}});Ext.define("Ext.chart.series.Line",{extend:"Ext.chart.series.Cartesian",alternateClassName:["Ext.chart.LineSeries","Ext.chart.LineChart"],requires:["Ext.chart.axis.Axis","Ext.chart.Shape","Ext.draw.Draw","Ext.fx.Anim"],type:"line",alias:"series.line",selectionTolerance:20,showMarkers:!0,markerConfig:{},style:{},smooth:!1,defaultSmoothness:3,fill:!1,constructor:function(n){this.callParent(arguments);var t=this,r=t.chart.surface,f=t.chart.shadow,i,u;if(n.highlightCfg=Ext.Object.merge({"stroke-width":3},n.highlightCfg),Ext.apply(t,n,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":.05,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":4,"stroke-opacity":.1,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":2,"stroke-opacity":.15,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}}]}),t.group=r.getGroup(t.seriesId),t.showMarkers&&(t.markerGroup=r.getGroup(t.seriesId+"-markers")),f)for(i=0,u=t.shadowAttributes.length;i<u;i++)t.shadowGroups.push(r.getGroup(t.seriesId+"-shadows"+i))},shrink:function(n,t,i){for(var o=n.length,u=Math.floor(o/i),r=1,f=0,e=0,s=[+n[0]],h=[+t[0]];r<o;++r)f+=+n[r]||0,e+=+t[r]||0,r%u==0&&(s.push(f/u),h.push(e/u),f=0,e=0);return{x:s,y:h}},drawSeries:function(){var n=this,a=n.chart,ft=a.axes,b=a.getChartStore(),di=b.data.items,fi,lt=b.getCount(),yt=n.chart.surface,r={},ei=n.group,pt=n.showMarkers,o=n.markerGroup,wt=a.shadow,gi=n.shadowGroups,lr=n.shadowAttributes,bt=n.smooth,nt=gi.length,k=["M"],s=["M"],tt=["M"],nr=["M"],tr=a.markerIndex,pr=[].concat(n.axis),kt,et=[],oi={},dt=[],si=!1,ir=[],ar=n.markerStyle,vr=n.seriesStyle,it=n.colorArrayStyle,gt=it&&it.length||0,yr=Ext.isNumber,ni=n.seriesIdx,rr=n.getAxesForXAndYFields(),ti=rr.xAxis,ii=rr.yAxis,h,ot,at,vt,ur,hi,l,p,d,fr,er,ci,li,ai,t,u,g,w,st,y,vi,f,c,e,yi,pi,wi,rt,bi,ut,ki,ht,or,ct,i,sr,v,hr,ri,ui,cr;if(n.fireEvent("beforedraw",n)!==!1){if(!lt||n.seriesIsHidden){if(n.hide(),n.items=[],n.line){if(n.line.hide(!0),n.line.shadows)for(h=n.line.shadows,u=0,nt=h.length;u<nt;u++)ot=h[u],ot.hide(!0);n.fillPath&&n.fillPath.hide(!0)}n.line=null;n.fillPath=null;return}if(ct=Ext.apply(ar||{},n.markerConfig,{fill:n.seriesStyle.fill||it[ni%it.length]}),sr=ct.type,delete ct.type,i=vr,i["stroke-width"]||(i["stroke-width"]=.5),hr="opacity"in i?i.opacity:1,cr="opacity"in i?i.opacity:.3,ri="lineOpacity"in i?i.lineOpacity:hr,ui="fillOpacity"in i?i.fillOpacity:cr,tr&&o&&o.getCount())for(t=0;t<tr;t++)y=o.getAt(t),o.remove(y),o.add(y),vi=o.getAt(o.getCount()-2),y.setAttributes({x:0,y:0,translate:{x:vi.attr.translation.x,y:vi.attr.translation.y}},!0);for(n.unHighlightItem(),n.cleanHighlights(),n.setBBox(),r=n.bbox,n.clipRect=[r.x,r.y,r.width,r.height],(w=ft.get(ti))&&(st=w.applyData(),rt=st.from,bi=st.to),(w=ft.get(ii))&&(st=w.applyData(),ut=st.from,ki=st.to),n.xField&&!Ext.isNumber(rt)&&(w=n.getMinMaxXValues(),rt=w[0],bi=w[1]),n.yField&&!Ext.isNumber(ut)&&(w=n.getMinMaxYValues(),ut=w[0],ki=w[1]),isNaN(rt)?(rt=0,pi=r.width/(lt-1||1)):pi=r.width/(bi-rt||lt-1||1),isNaN(ut)?(ut=0,wi=r.height/(lt-1||1)):wi=r.height/(ki-ut||lt-1||1),t=0,g=di.length;t<g;t++)(fi=di[t],c=fi.get(n.xField),(typeof c=="string"||typeof c=="object"&&!Ext.isDate(c)||ti&&ft.get(ti)&&ft.get(ti).type=="Category")&&(c=c in oi?oi[c]:oi[c]=t),e=fi.get(n.yField),typeof e!="undefined"&&(typeof e!="string"||e))&&((typeof e=="string"||typeof e=="object"&&!Ext.isDate(e)||ii&&ft.get(ii)&&ft.get(ii).type=="Category")&&(e=t),ir.push(t),et.push(c),dt.push(e));for(g=et.length,g>r.width&&(yi=n.shrink(et,dt,r.width),et=yi.x,dt=yi.y),n.items=[],v=0,g=et.length,t=0;t<g;t++){if(c=et[t],e=dt[t],e===!1){s.length==1&&(s=[]);si=!0;n.items.push(!1);continue}else p=(r.x+(c-rt)*pi).toFixed(2),d=(r.y+r.height-(e-ut)*wi).toFixed(2),si&&(si=!1,s.push("M")),s=s.concat([p,d]);if(typeof li=="undefined"&&typeof d!="undefined"&&(li=d,ci=p),(!n.line||a.resizing)&&(k=k.concat([p,r.y+r.height/2])),a.animate&&a.resizing&&n.line&&(n.line.setAttributes({path:k,opacity:ri},!0),n.fillPath&&n.fillPath.setAttributes({path:k,opacity:ui},!0),n.line.shadows))for(h=n.line.shadows,u=0,nt=h.length;u<nt;u++)ot=h[u],ot.setAttributes({path:k},!0);pt&&(y=o.getAt(v++),y?(y.setAttributes({value:'"'+c+", "+e+'"',x:0,y:0,hidden:!1},!0),y._to={translate:{x:+p,y:+d}}):(y=Ext.chart.Shape[sr](yt,Ext.apply({group:[ei,o],x:0,y:0,translate:{x:+(fr||p),y:er||r.y+r.height/2},value:'"'+c+", "+e+'"',zIndex:4e3},ct)),y._to={translate:{x:+p,y:+d}}));n.items.push({series:n,value:[c,e],point:[p,d],sprite:y,storeItem:b.getAt(ir[t])});fr=p;er=d}if(!(s.length<=1)){if(n.smooth&&(nr=Ext.draw.Draw.smooth(s,yr(bt)?bt:n.defaultSmoothness)),tt=bt?nr:s,a.markerIndex&&n.previousPath?(vt=n.previousPath,bt||Ext.Array.erase(vt,1,2)):vt=s,!n.line&&(n.line=yt.add(Ext.apply({type:"path",group:ei,path:k,stroke:i.stroke||i.fill},i||{})),n.line.setAttributes({opacity:ri},!0),wt&&n.line.setAttributes(Ext.apply({},n.shadowOptions),!0),n.line.setAttributes({fill:"none",zIndex:3e3}),!i.stroke&&gt&&n.line.setAttributes({stroke:it[ni%gt]},!0),wt))for(h=n.line.shadows=[],at=0;at<nt;at++)kt=lr[at],kt=Ext.apply({},kt,{path:k}),ot=yt.add(Ext.apply({},{type:"path",group:gi[at]},kt)),h.push(ot);if(n.fill&&(hi=tt.concat([["L",p,r.y+r.height],["L",ci,r.y+r.height],["L",ci,li]]),n.fillPath||(n.fillPath=yt.add({group:ei,type:"path",fill:i.fill||it[ni%gt],path:k}))),ai=pt&&o.getCount(),a.animate){if(ur=n.fill,ht=n.line,l=n.renderer(ht,!1,{path:tt},t,b),Ext.apply(l,i||{},{stroke:i.stroke||i.fill}),delete l.fill,ht.show(!0),n.animation=a.markerIndex&&n.previousPath?or=n.onAnimate(ht,{to:l,from:{path:vt}}):or=n.onAnimate(ht,{to:l}),wt)for(h=ht.shadows,u=0;u<nt;u++)if(h[u].show(!0),a.markerIndex&&n.previousPath)n.onAnimate(h[u],{to:{path:tt},from:{path:vt}});else n.onAnimate(h[u],{to:{path:tt}});if(ur){n.fillPath.show(!0);n.onAnimate(n.fillPath,{to:Ext.apply({},{path:hi,fill:i.fill||it[ni%gt],"stroke-width":0,opacity:ui},i||{})})}if(pt){for(v=0,t=0;t<g;t++)if(n.items[t]&&(f=o.getAt(v++),f)){l=n.renderer(f,b.getAt(t),f._to,t,b);n.onAnimate(f,{to:Ext.apply(l,ct||{})});f.show(!0)}for(;v<ai;v++)f=o.getAt(v),f.hide(!0)}}else{if(l=n.renderer(n.line,!1,{path:tt,hidden:!1},t,b),Ext.apply(l,i||{},{stroke:i.stroke||i.fill}),delete l.fill,n.line.setAttributes(l,!0),n.line.setAttributes({opacity:ri},!0),wt)for(h=n.line.shadows,u=0;u<nt;u++)h[u].setAttributes({path:tt,hidden:!1},!0);if(n.fill&&n.fillPath.setAttributes({path:hi,hidden:!1,opacity:ui},!0),pt){for(v=0,t=0;t<g;t++)n.items[t]&&(f=o.getAt(v++),f&&(l=n.renderer(f,b.getAt(t),f._to,t,b),f.setAttributes(Ext.apply(ct||{},l||{}),!0),f.attr.hidden||f.show(!0)));for(;v<ai;v++)f=o.getAt(v),f.hide(!0)}}a.markerIndex&&(n.smooth?Ext.Array.erase(s,1,2):Ext.Array.splice(s,1,0,s[1],s[2]),n.previousPath=s);n.renderLabels();n.renderCallouts();n.fireEvent("draw",n)}}},onCreateLabel:function(n,t){var i=this,u=i.labelsGroup,f=i.label,r=i.bbox,e=Ext.apply(f,i.seriesLabelStyle);return i.chart.surface.add(Ext.apply({type:"text","text-anchor":"middle",group:u,x:t.point[0],y:r.y+r.height/2},e||{}))},onPlaceLabel:function(n,t,i,r,u){var h=this,y=h.chart,p=y.resizing,a=h.label,w=a.renderer,b=a.field,f=h.bbox,e=i.point[0],o=i.point[1],v=i.sprite.attr.radius,s,c,l;if(n.setAttributes({text:w(t.get(b)),hidden:!0},!0),u=="rotate"?(n.setAttributes({"text-anchor":"start",rotation:{x:e,y:o,degrees:-45}},!0),s=n.getBBox(),c=s.width,l=s.height,e=e<f.x?f.x:e,e=e+c>f.x+f.width?e-(e+c-f.x-f.width):e,o=o-l<f.y?f.y+l:o):(u=="under"||u=="over")&&(s=i.sprite.getBBox(),s.width=s.width||v*2,s.height=s.height||v*2,o=o+(u=="over"?-s.height:s.height),s=n.getBBox(),c=s.width/2,l=s.height/2,e=e-c<f.x?f.x+c:e,e=e+c>f.x+f.width?e-(e+c-f.x-f.width):e,o=o-l<f.y?f.y+l:o,o=o+l>f.y+f.height?o-(o+l-f.y-f.height):o),h.chart.animate&&!h.chart.resizing){n.show(!0);h.onAnimate(n,{to:{x:e,y:o}})}else if(n.setAttributes({x:e,y:o},!0),p&&h.animation)h.animation.on("afteranimate",function(){n.show(!0)});else n.show(!0)},highlightItem:function(){var n=this;n.callParent(arguments);n.line&&!n.highlighted&&("__strokeWidth"in n.line||(n.line.__strokeWidth=parseFloat(n.line.attr["stroke-width"])||0),n.line.__anim&&(n.line.__anim.paused=!0),n.line.__anim=Ext.create("Ext.fx.Anim",{target:n.line,to:{"stroke-width":n.line.__strokeWidth+3}}),n.highlighted=!0)},unHighlightItem:function(){var n=this;n.callParent(arguments);n.line&&n.highlighted&&(n.line.__anim=Ext.create("Ext.fx.Anim",{target:n.line,to:{"stroke-width":n.line.__strokeWidth}}),n.highlighted=!1)},onPlaceCallout:function(n,t,i,r,u){if(u){var w=this,tt=w.chart,st=tt.surface,ht=tt.resizing,b=w.callouts,it=w.items,h=r==0?!1:it[r-1].point,c=r==it.length-1?!1:it[r+1].point,e=[+i.point[0],+i.point[1]],rt,ut,f,g,k,d,nt=b.offsetFromViz||30,ct=b.offsetToSide||10,o=b.offsetBox||3,l,a,ft,et,ot,v=w.clipRect,s={width:b.styles.width||10,height:b.styles.height||10},y,p;if(h||(h=e),c||(c=e),g=(c[1]-h[1])/(c[0]-h[0]),k=(e[1]-h[1])/(e[0]-h[0]),d=(c[1]-e[1])/(c[0]-e[0]),ut=Math.sqrt(1+g*g),rt=[1/ut,g/ut],f=[-rt[1],rt[0]],k>0&&d<0&&f[1]<0||k<0&&d>0&&f[1]>0?(f[0]*=-1,f[1]*=-1):(Math.abs(k)<Math.abs(d)&&f[0]<0||Math.abs(k)>Math.abs(d)&&f[0]>0)&&(f[0]*=-1,f[1]*=-1),y=e[0]+f[0]*nt,p=e[1]+f[1]*nt,l=y+(f[0]>0?0:-(s.width+2*o)),a=p-s.height/2-o,ft=s.width+2*o,et=s.height+2*o,(l<v[0]||l+ft>v[0]+v[2])&&(f[0]*=-1),(a<v[1]||a+et>v[1]+v[3])&&(f[1]*=-1),y=e[0]+f[0]*nt,p=e[1]+f[1]*nt,l=y+(f[0]>0?0:-(s.width+2*o)),a=p-s.height/2-o,ft=s.width+2*o,et=s.height+2*o,tt.animate){w.onAnimate(n.lines,{to:{path:["M",e[0],e[1],"L",y,p,"Z"]}});n.panel&&n.panel.setPosition(l,a,!0)}else n.lines.setAttributes({path:["M",e[0],e[1],"L",y,p,"Z"]},!0),n.panel&&n.panel.setPosition(l,a);for(ot in n)n[ot].show(!0)}},isItemInPoint:function(n,t,i,r){var w=this,s=w.items,h=w.selectionTolerance,u,f,e,o,b,c,l,a,v,y,k,p,d=Math.sqrt,g=Math.abs;return(f=s[r],u=r&&s[r-1],r>=b&&(u=s[b-1]),e=u&&u.point,o=f&&f.point,c=u?e[0]:o[0]-h,l=u?e[1]:o[1],a=f?o[0]:e[0]+h,v=f?o[1]:e[1],y=d((n-c)*(n-c)+(t-l)*(t-l)),k=d((n-a)*(n-a)+(t-v)*(t-v)),p=Math.min(y,k),p<=h)?p==y?u:f:!1},toggleAll:function(n){var t=this,i,u,f,r;if(n?Ext.chart.series.Cartesian.prototype.showAll.call(t):Ext.chart.series.Cartesian.prototype.hideAll.call(t),t.line&&(t.line.setAttributes({hidden:!n},!0),t.line.shadows))for(i=0,r=t.line.shadows,u=r.length;i<u;i++)f=r[i],f.setAttributes({hidden:!n},!0);t.fillPath&&t.fillPath.setAttributes({hidden:!n},!0)},hideAll:function(){this.toggleAll(!1)},showAll:function(){this.toggleAll(!0)}});Ext.define("Ext.chart.series.Pie",{alternateClassName:["Ext.chart.PieSeries","Ext.chart.PieChart"],extend:"Ext.chart.series.Series",type:"pie",alias:"series.pie",accuracy:1e5,rad:Math.PI/5e4,highlightDuration:150,angleField:!1,lengthField:!1,donut:!1,showInLegend:!1,style:{},constructor:function(n){this.callParent(arguments);var t=this,r=t.chart,u=r.surface,o=r.store,e=r.shadow,i,f;if(n.highlightCfg=Ext.merge({segment:{margin:20}},n.highlightCfg),Ext.apply(t,n,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":1,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:2}},{"stroke-width":4,"stroke-opacity":1,stroke:"rgb(150, 150, 150)",translate:{x:.9,y:1.5}},{"stroke-width":2,"stroke-opacity":1,stroke:"rgb(100, 100, 100)",translate:{x:.6,y:1}}]}),t.group=u.getGroup(t.seriesId),e)for(i=0,f=t.shadowAttributes.length;i<f;i++)t.shadowGroups.push(u.getGroup(t.seriesId+"-shadows"+i));u.customAttributes.segment=function(n){var i=t.getSegment(n);return i.path&&i.path.length!==0||(i.path=["M",0,0]),i};t.__excludes=t.__excludes||[]},initialize:function(){var n=this,f=n.chart.getChartStore(),i=f.data.items,t,r,u;if(n.yField=[],n.label.field)for(t=0,r=i.length;t<r;t++)u=i[t],n.yField.push(u.get(n.label.field))},getSegment:function(n){var o=this,s=o.rad,h=Math.cos,c=Math.sin,t=o.centerX,i=o.centerY,l=0,a=0,ut=0,r=0,v=0,y=0,ft=0,u=0,p=0,w=0,f=0,e=0,b=n.startAngle,k=n.endAngle,et=(b+k)/2*s,d=n.margin||0,g=Math.min(b,k)*s,nt=Math.max(b,k)*s,ot=h(g),st=c(g),ht=h(nt),ct=c(nt),tt=h(et),it=c(et),rt=0;return nt-g<.01?{path:""}:(d!==0&&(t+=d*tt,i+=d*it),a=t+n.endRho*ot,y=i+n.endRho*st,r=t+n.endRho*ht,u=i+n.endRho*ct,f=t+n.endRho*tt,e=i+n.endRho*it,n.startRho!==0?(l=t+n.startRho*ot,v=i+n.startRho*st,ut=t+n.startRho*ht,ft=i+n.startRho*ct,p=t+n.startRho*tt,w=i+n.startRho*it,{path:[["M",a,y],["A",n.endRho,n.endRho,0,0,1,f,e],["L",f,e],["A",n.endRho,n.endRho,0,rt,1,r,u],["L",r,u],["L",ut,ft],["A",n.startRho,n.startRho,0,rt,0,p,w],["L",p,w],["A",n.startRho,n.startRho,0,0,0,l,v],["L",l,v],["Z"]]}):{path:[["M",t,i],["L",a,y],["A",n.endRho,n.endRho,0,0,1,f,e],["L",f,e],["A",n.endRho,n.endRho,0,rt,1,r,u],["L",r,u],["L",t,i],["Z"]]})},calcMiddle:function(n){var t=this,f=t.rad,i=n.slice,e=t.centerX,o=t.centerY,s=i.startAngle,h=i.endAngle,a=+t.donut,r=-(s+h)*f/2,u=(n.endRho+n.startRho)/2,c=e+u*Math.cos(r),l=o-u*Math.sin(r);n.middle={x:c,y:l}},drawSeries:function(){var n=this,o=n.chart.getChartStore(),rt=o.data.items,b,k=n.group,wt=n.chart.animate,bt=n.angleField||n.field||n.xField,l=[].concat(n.lengthField),ut=0,ft=n.chart,ri=ft.surface,d=ft.chartBBox,ct=ft.shadow,g=n.shadowGroups,ui=n.shadowAttributes,lt=g.length,c=l.length,y=0,kt=+n.donut,et=[],dt=[],tt=0,at=0,ot=0,vt=n.seriesStyle,a=n.colorArrayStyle,yt=a&&a.length||0,u,nt,st,p,e,gt,ni,w,ht=0,i,h,f,it,v,ti,s,t,r,pt,ii,fi;if(Ext.apply(vt,n.style||{}),n.setBBox(),fi=n.bbox,n.colorSet&&(a=n.colorSet,yt=a.length),!o||!o.getCount()||n.seriesIsHidden){n.hide();n.items=[];return}for(n.unHighlightItem(),n.cleanHighlights(),gt=n.centerX=d.x+d.width/2,ni=n.centerY=d.y+d.height/2,n.radius=Math.min(gt-d.x,ni-d.y),n.slices=h=[],n.items=dt=[],t=0,s=rt.length;t<s;t++)if((b=rt[t],!this.__excludes||!this.__excludes[t])&&(tt+=+b.get(bt),l[0])){for(r=0,ut=0;r<c;r++)ut+=+b.get(l[r]);et[t]=ut;at=Math.max(at,ut)}for(tt=tt||1,t=0,s=rt.length;t<s;t++){if(b=rt[t],this.__excludes&&this.__excludes[t]?it=0:(it=b.get(bt),ht==0&&(ht=1)),ht==1)for(ht=2,n.firstAngle=ot=n.accuracy*it/tt/2,r=0;r<t;r++)h[r].startAngle=h[r].endAngle=n.firstAngle;pt=ot-n.accuracy*it/tt;i={series:n,value:it,startAngle:ot,endAngle:pt,storeItem:b};l[0]?(ti=+et[t],i.rho=Math.floor(n.radius/at*ti)):i.rho=n.radius;h[t]=i,function(){ot=pt}()}if(ct)for(t=0,s=h.length;t<s;t++)for(i=h[t],i.shadowAttrs=[],r=0,y=0,st=[];r<c;r++){for(f=k.getAt(t*c+r),w=l[r]?o.getAt(t).get(l[r])/et[t]*i.rho:i.rho,u={segment:{startAngle:i.startAngle,endAngle:i.endAngle,margin:0,rho:i.rho,startRho:y+w*kt/100,endRho:y+w},hidden:!i.value&&i.startAngle%n.accuracy==i.endAngle%n.accuracy},e=0,st=[];e<lt;e++){if(nt=ui[e],p=g[e].getAt(t),p||(p=ft.surface.add(Ext.apply({},{type:"path",group:g[e],strokeLinejoin:"round"},u,nt))),nt=n.renderer(p,o.getAt(t),Ext.apply({},u,nt),t,o),wt)n.onAnimate(p,{to:nt});else p.setAttributes(nt,!0);st.push(p)}i.shadowAttrs[r]=st}for(t=0,s=h.length;t<s;t++)for(i=h[t],r=0,y=0;r<c;r++){if(f=k.getAt(t*c+r),w=l[r]?o.getAt(t).get(l[r])/et[t]*i.rho:i.rho,u=Ext.apply({segment:{startAngle:i.startAngle,endAngle:i.endAngle,margin:0,rho:i.rho,startRho:y+w*kt/100,endRho:y+w},hidden:!i.value&&i.startAngle%n.accuracy==i.endAngle%n.accuracy},Ext.apply(vt,a&&{fill:a[(c>1?r:t)%yt]}||{})),v=Ext.apply({},u.segment,{slice:i,series:n,storeItem:i.storeItem,index:t}),n.calcMiddle(v),ct&&(v.shadows=i.shadowAttrs[r]),dt[t]=v,f||(ii=Ext.apply({type:"path",group:k,middle:v.middle},Ext.apply(vt,a&&{fill:a[(c>1?r:t)%yt]}||{})),f=ri.add(Ext.apply(ii,u))),i.sprite=i.sprite||[],v.sprite=f,i.sprite.push(f),i.point=[v.middle.x,v.middle.y],wt){u=n.renderer(f,o.getAt(t),u,t,o);f._to=u;f._animating=!0;n.onAnimate(f,{to:u,listeners:{afteranimate:{fn:function(){this._animating=!1},scope:f}}})}else u=n.renderer(f,o.getAt(t),Ext.apply(u,{hidden:!1}),t,o),f.setAttributes(u,!0);y+=w}for(s=k.getCount(),t=0;t<s;t++)!h[t/c>>0]&&k.getAt(t)&&k.getAt(t).hide(!0);if(ct)for(lt=g.length,e=0;e<s;e++)if(!h[e/c>>0])for(r=0;r<lt;r++)g[r].getAt(e)&&g[r].getAt(e).hide(!0);n.renderLabels();n.renderCallouts()},onCreateLabel:function(n,t){var i=this,u=i.labelsGroup,f=i.label,o=i.centerX,s=i.centerY,r=t.middle,e=Ext.apply(i.seriesLabelStyle||{},f||{});return i.chart.surface.add(Ext.apply({type:"text","text-anchor":"middle",group:u,x:r.x,y:r.y},e))},onPlaceLabel:function(n,t,i,r,u,f,e){function d(n){return n<0&&(n+=360),n%360}var h=this,g=h.chart,nt=g.resizing,w=h.label,tt=w.renderer,it=[].concat(w.field),b=h.centerX,k=h.centerY,l=i.middle,s={x:l.x,y:l.y},a=l.x-b,v=l.y-k,y=1,p=Math.atan2(v,a||1),o=p*180/Math.PI,c;s.hidden=!1;this.__excludes&&this.__excludes[r]&&(s.hidden=!0);n.setAttributes({text:tt(t.get(it[e]))},!0);switch(u){case"outside":y=Math.sqrt(a*a+v*v)*2;s.x=y*Math.cos(p)+b;s.y=y*Math.sin(p)+k;break;case"rotate":o=d(o);o=o>90&&o<270?o+180:o;c=n.attr.rotation.degrees;c!=null&&Math.abs(c-o)>180*.5?(o>c?o-=360:o+=360,o=o%360):o=d(o);s.rotate={degrees:o,x:s.x,y:s.y}}if(s.translate={x:0,y:0},f&&!nt&&(u!="rotate"||c!=null))h.onAnimate(n,{to:s});else n.setAttributes(s,!0);n._from={}},onPlaceCallout:function(n,t,i){var h=this,b=h.chart,c=h.centerX,l=h.centerY,a=i.middle,r={x:a.x,y:a.y},o=a.x-c,s=a.y-l,y=1,p,v=Math.atan2(s,o||1),u=n.label.getBBox(),e=10,f=10,w;if(y=i.endRho+20,p=(i.endRho+i.startRho)/2+(i.endRho-i.startRho)/3,r.x=y*Math.cos(v)+c,r.y=y*Math.sin(v)+l,o=p*Math.cos(v),s=p*Math.sin(v),b.animate){h.onAnimate(n.lines,{to:{path:["M",o+c,s+l,"L",r.x,r.y,"Z","M",r.x,r.y,"l",o>0?e:-e,0,"z"]}});h.onAnimate(n.box,{to:{x:r.x+(o>0?e:-(e+u.width+2*f)),y:r.y+(s>0?-u.height-f/2:-u.height-f/2),width:u.width+2*f,height:u.height+2*f}});h.onAnimate(n.label,{to:{x:r.x+(o>0?e+f:-(e+u.width+f)),y:r.y+(s>0?-u.height/4:-u.height/4)}})}else n.lines.setAttributes({path:["M",o+c,s+l,"L",r.x,r.y,"Z","M",r.x,r.y,"l",o>0?e:-e,0,"z"]},!0),n.box.setAttributes({x:r.x+(o>0?e:-(e+u.width+2*f)),y:r.y+(s>0?-u.height-f/2:-u.height-f/2),width:u.width+2*f,height:u.height+2*f},!0),n.label.setAttributes({x:r.x+(o>0?e+f:-(e+u.width+f)),y:r.y+(s>0?-u.height/4:-u.height/4)},!0);for(w in n)n[w].show(!0)},onAnimate:function(n){return n.show(),this.callParent(arguments)},isItemInPoint:function(n,t,i){var r=this,f=r.centerX,e=r.centerY,o=Math.abs,s=o(n-f),h=o(t-e),l=i.startAngle,a=i.endAngle,c=Math.sqrt(s*s+h*h),u=Math.atan2(t-e,n-f)/r.rad;return u>r.firstAngle&&(u-=r.accuracy),u<=l&&u>a&&c>=i.startRho&&c<=i.endRho},hideAll:function(n){var i,o,u,f,t,r,e;for(n=(isNaN(this._index)?n:this._index)||0,this.__excludes=this.__excludes||[],this.__excludes[n]=!0,e=this.slices[n].sprite,t=0,r=e.length;t<r;t++)e[t].setAttributes({hidden:!0},!0);if(this.slices[n].shadowAttrs)for(i=0,f=this.slices[n].shadowAttrs,o=f.length;i<o;i++)for(u=f[i],t=0,r=u.length;t<r;t++)u[t].setAttributes({hidden:!0},!0);this.drawSeries()},showAll:function(n){n=(isNaN(this._index)?n:this._index)||0;this.__excludes[n]=!1;this.drawSeries()},highlightItem:function(n){var t=this,k=t.rad,s,h,c,u,l,f,w,a,v,e,b,d,o,y,p,i,r;if((n=n||this.items[this._index],this.unHighlightItem(),n&&!t.animating&&(!n.sprite||!n.sprite._animating))&&(t.callParent([n]),t.highlight)&&"segment"in t.highlightCfg&&(s=t.highlightCfg.segment,h=t.chart.animate,t.labelsGroup&&(b=t.labelsGroup,d=t.label.display,o=b.getAt(n.index),y=(n.startAngle+n.endAngle)/2*k,p=s.margin||0,i=p*Math.cos(y),r=p*Math.sin(y),Math.abs(i)<1e-10&&(i=0),Math.abs(r)<1e-10&&(r=0),h?(o.stopAnimation(),o.animate({to:{translate:{x:i,y:r}},duration:t.highlightDuration})):o.setAttributes({translate:{x:i,y:r}},!0)),t.chart.shadow&&n.shadows))for(u=0,l=n.shadows,w=l.length;u<w;u++){f=l[u];a={};v=n.sprite._from.segment;for(e in v)e in s||(a[e]=v[e]);c={segment:Ext.applyIf(a,t.highlightCfg.segment)};h?(f.stopAnimation(),f.animate({to:c,duration:t.highlightDuration})):f.setAttributes(c,!0)}},unHighlightItem:function(){var n=this,s,h,w,c,b,u,f,k,d,e,r,l,a,v,y,o,t,i,p;if(n.highlight){if("segment"in n.highlightCfg&&n.items)for(s=n.items,h=n.chart.animate,w=!!n.chart.shadow,c=n.labelsGroup,b=s.length,u=0,f=0,k=n.label.display;u<b;u++)if((t=s[u],t)&&(v=t.sprite,v&&v._highlighted&&(c&&(i=c.getAt(t.index),p=Ext.apply({translate:{x:0,y:0}},k=="rotate"?{rotate:{x:i.attr.x,y:i.attr.y,degrees:i.attr.rotation.degrees}}:{}),h?(i.stopAnimation(),i.animate({to:p,duration:n.highlightDuration})):i.setAttributes(p,!0)),w)))for(y=t.shadows,d=y.length;f<d;f++){r={};l=t.sprite._to.segment;a=t.sprite._from.segment;Ext.apply(r,a);for(e in l)e in a||(r[e]=l[e]);o=y[f];h?(o.stopAnimation(),o.animate({to:{segment:r},duration:n.highlightDuration})):o.setAttributes({segment:r},!0)}n.callParent(arguments)}},getLegendColor:function(n){var t=this;return t.colorSet&&t.colorSet[n%t.colorSet.length]||t.colorArrayStyle[n%t.colorArrayStyle.length]}});Ext.define("Ext.chart.series.Radar",{extend:"Ext.chart.series.Series",requires:["Ext.chart.Shape","Ext.fx.Anim"],type:"radar",alias:"series.radar",rad:Math.PI/180,showInLegend:!1,style:{},constructor:function(){this.callParent(arguments);var n=this,t=n.chart.surface;n.group=t.getGroup(n.seriesId);n.showMarkers&&(n.markerGroup=t.getGroup(n.seriesId+"-markers"))},drawSeries:function(){var n=this,v=n.chart.getChartStore(),g=v.data.items,y,l,ht=n.group,i=n.chart,nt=i.series.items,p,tt,it,wt=i.animate,ct=n.field||n.yField,lt=i.surface,r=i.chartBBox,at=n.seriesIdx,rt=n.colorArrayStyle,u,f,ut,ft,e=0,b=[],vt=Math.max,yt=Math.cos,pt=Math.sin,et=Math.PI*2,w=v.getCount(),a,o,s,h,k,t,ot,c=n.seriesStyle,bt=n.seriesLabelStyle,kt=i.resizing||!n.radar,d=i.axes&&i.axes.get(0),st=!(d&&d.maximum);if(n.setBBox(),e=st?0:d.maximum||0,Ext.apply(c,n.style||{}),!v||!v.getCount()||n.seriesIsHidden){n.hide();n.items=[];n.radar&&n.radar.hide(!0);n.radar=null;return}if(c.stroke||(c.stroke=rt[at%rt.length]),n.unHighlightItem(),n.cleanHighlights(),u=n.centerX=r.x+r.width/2,f=n.centerY=r.y+r.height/2,n.radius=ft=Math.min(r.width,r.height)/2,n.items=ut=[],st){for(p=0,tt=nt.length;p<tt;p++)it=nt[p],b.push(it.yField);for(y=0;y<w;y++)for(l=g[y],t=0,ot=b.length;t<ot;t++)e=vt(+l.get(b[t]),e)}for(e=e||1,a=[],o=[],t=0;t<w;t++)l=g[t],k=ft*l.get(ct)/e,s=k*yt(t/w*et),h=k*pt(t/w*et),t==0?(o.push("M",s+u,h+f),a.push("M",.01*s+u,.01*h+f)):(o.push("L",s+u,h+f),a.push("L",.01*s+u,.01*h+f)),ut.push({sprite:!1,point:[u+s,f+h],storeItem:l,series:n});if(o.push("Z"),n.radar||(n.radar=lt.add(Ext.apply({type:"path",group:ht,path:a},c||{}))),i.resizing&&n.radar.setAttributes({path:a},!0),i.animate)n.onAnimate(n.radar,{to:Ext.apply({path:o},c||{})});else n.radar.setAttributes(Ext.apply({path:o},c||{}),!0);n.showMarkers&&n.drawMarkers();n.renderLabels();n.renderCallouts()},drawMarkers:function(){var n=this,f=n.chart,l=f.surface,a=Ext.apply({},n.markerStyle||{}),r=Ext.apply(a,n.markerConfig,{fill:n.colorArrayStyle[n.seriesIdx%n.colorArrayStyle.length]}),e=n.items,v=r.type,o=n.markerGroup,s=n.centerX,h=n.centerY,u,i,c,t;for(delete r.type,i=0,c=e.length;i<c;i++)if(u=e[i],t=o.getAt(i),t?t.show():t=Ext.chart.Shape[v](l,Ext.apply({group:o,x:0,y:0,translate:{x:s,y:h}},r)),u.sprite=t,f.resizing&&t.setAttributes({x:0,y:0,translate:{x:s,y:h}},!0),t._to={translate:{x:u.point[0],y:u.point[1]}},f.animate)n.onAnimate(t,{to:t._to});else t.setAttributes(Ext.apply(t._to,r||{}),!0)},isItemInPoint:function(n,t,i){var r,u=10,f=Math.abs;return r=i.point,f(r[0]-n)<=u&&f(r[1]-t)<=u},onCreateLabel:function(n,t){var i=this,u=i.labelsGroup,r=i.label,f=i.centerX,e=i.centerY,o=t.point,s=Ext.apply(i.seriesLabelStyle||{},r);return i.chart.surface.add(Ext.apply({type:"text","text-anchor":"middle",group:u,x:f,y:e},r||{}))},onPlaceLabel:function(n,t,i,r,u,f){var e=this,l=e.chart,a=l.resizing,s=e.label,v=s.renderer,y=s.field,h=e.centerX,c=e.centerY,o={x:i.point[0],y:i.point[1]},p=o.x-h,w=o.y-c;if(n.setAttributes({text:v(t.get(y)),hidden:!0},!0),a&&n.setAttributes({x:h,y:c},!0),f){n.show(!0);e.onAnimate(n,{to:o})}else n.setAttributes(o,!0),n.show(!0)},toggleAll:function(n){var t=this,i,u,f,r;if(n?Ext.chart.series.Radar.superclass.showAll.call(t):Ext.chart.series.Radar.superclass.hideAll.call(t),t.radar&&(t.radar.setAttributes({hidden:!n},!0),t.radar.shadows))for(i=0,r=t.radar.shadows,u=r.length;i<u;i++)f=r[i],f.setAttributes({hidden:!n},!0)},hideAll:function(){this.toggleAll(!1);this.hideMarkers(0)},showAll:function(){this.toggleAll(!0)},hideMarkers:function(n){for(var t=this,r=t.markerGroup&&t.markerGroup.getCount()||0,i=n||0;i<r;i++)t.markerGroup.getAt(i).hide(!0)}});Ext.define("Ext.chart.series.Scatter",{extend:"Ext.chart.series.Cartesian",requires:["Ext.chart.axis.Axis","Ext.chart.Shape","Ext.fx.Anim"],type:"scatter",alias:"series.scatter",constructor:function(n){this.callParent(arguments);var t=this,f=t.chart.shadow,r=t.chart.surface,i,u;if(Ext.apply(t,n,{style:{},markerConfig:{},shadowAttributes:[{"stroke-width":6,"stroke-opacity":.05,stroke:"rgb(0, 0, 0)"},{"stroke-width":4,"stroke-opacity":.1,stroke:"rgb(0, 0, 0)"},{"stroke-width":2,"stroke-opacity":.15,stroke:"rgb(0, 0, 0)"}]}),t.group=r.getGroup(t.seriesId),f)for(i=0,u=t.shadowAttributes.length;i<u;i++)t.shadowGroups.push(r.getGroup(t.seriesId+"-shadows"+i))},getBounds:function(){var t=this,l=t.chart,e=l.getChartStore(),a=l.axes,v=t.getAxesForXAndYFields(),y=v.xAxis,p=v.yAxis,u,h,c,i,r,o,s,n,f;return t.setBBox(),u=t.bbox,(n=a.get(y))&&(f=n.applyData(),i=f.from,o=f.to),(n=a.get(p))&&(f=n.applyData(),r=f.from,s=f.to),t.xField&&!Ext.isNumber(i)&&(n=t.getMinMaxXValues(),i=n[0],o=n[1]),t.yField&&!Ext.isNumber(r)&&(n=t.getMinMaxYValues(),r=n[0],s=n[1]),isNaN(i)?(i=0,o=e.getCount()-1,h=u.width/(e.getCount()-1)):h=u.width/(o-i),isNaN(r)?(r=0,s=e.getCount()-1,c=u.height/(e.getCount()-1)):c=u.height/(s-r),{bbox:u,minX:i,minY:r,xScale:h,yScale:c}},getPaths:function(){for(var n=this,u=n.chart,y=u.shadow,p=u.getChartStore(),l=p.data.items,f,w=n.group,e=n.bounds=n.getBounds(),s=n.bbox,b=e.xScale,k=e.yScale,d=e.minX,g=e.minY,nt=s.x,tt=s.y,it=s.height,rt=n.items=[],v=[],h,c,i,t,o,r=0,a=l.length;r<a;r++)(f=l[r],i=f.get(n.xField),t=f.get(n.yField),typeof t!="undefined"&&(typeof t!="string"||t)&&i!=null&&t!=null)&&(typeof i!="string"&&(typeof i!="object"||Ext.isDate(i))||(i=r),typeof t!="string"&&(typeof t!="object"||Ext.isDate(t))||(t=r),h=nt+(i-d)*b,c=tt+it-(t-g)*k,v.push({x:h,y:c}),n.items.push({series:n,value:[i,t],point:[h,c],storeItem:f}),u.animate&&u.resizing&&(o=w.getAt(r),o&&(n.resetPoint(o),y&&n.resetShadow(o))));return v},resetPoint:function(n){var t=this.bbox;n.setAttributes({translate:{x:(t.x+t.width)/2,y:(t.y+t.height)/2}},!0)},resetShadow:function(n){for(var u=this,f=n.shadows,e=u.shadowAttributes,o=u.shadowGroups.length,t=u.bbox,i,r=0;r<o;r++)i=Ext.apply({},e[r]),i.translate?(i.translate.x+=(t.x+t.width)/2,i.translate.y+=(t.y+t.height)/2):i.translate={x:(t.x+t.width)/2,y:(t.y+t.height)/2},f[r].setAttributes(i,!0)},createPoint:function(n,t){var r=this,u=r.chart,f=r.group,i=r.bbox;return Ext.chart.Shape[t](u.surface,Ext.apply({},{x:0,y:0,group:f,translate:{x:(i.x+i.width)/2,y:(i.y+i.height)/2}},n))},createShadow:function(n,t,i){var e=this,c=e.chart,o=e.shadowGroups,l=e.shadowAttributes,a=o.length,r=e.bbox,f,s,h,u;for(n.shadows=h=[],f=0;f<a;f++)u=Ext.apply({},l[f]),u.translate?(u.translate.x+=(r.x+r.width)/2,u.translate.y+=(r.y+r.height)/2):Ext.apply(u,{translate:{x:(r.x+r.width)/2,y:(r.y+r.height)/2}}),Ext.apply(u,t),s=Ext.chart.Shape[i](c.surface,Ext.apply({},{x:0,y:0,group:o[f]},u)),h.push(s)},drawSeries:function(){var n=this,a=n.chart,f=a.getChartStore(),v=n.group,b=a.shadow,k=n.shadowGroups,p=n.shadowAttributes,w=k.length,i,c,o,l,t,s,r,y,h,e,u;if(s=Ext.apply(n.markerStyle,n.markerConfig),y=s.type,delete s.type,!f||!f.getCount()){n.hide();n.items=[];return}for(n.unHighlightItem(),n.cleanHighlights(),c=n.getPaths(),l=c.length,t=0;t<l;t++){if(o=c[t],i=v.getAt(t),Ext.apply(o,s),i||(i=n.createPoint(o,y),b&&n.createShadow(i,s,y)),h=i.shadows,a.animate){e=n.renderer(i,f.getAt(t),{translate:o},t,f);i._to=e;n.onAnimate(i,{to:e});for(r=0;r<w;r++){u=Ext.apply({},p[r]);e=n.renderer(h[r],f.getAt(t),Ext.apply({},{hidden:!1,translate:{x:o.x+(u.translate?u.translate.x:0),y:o.y+(u.translate?u.translate.y:0)}},u),t,f);n.onAnimate(h[r],{to:e})}}else for(e=n.renderer(i,f.getAt(t),{translate:o},t,f),i._to=e,i.setAttributes(e,!0),r=0;r<w;r++)u=Ext.apply({},p[r]),e=n.renderer(h[r],f.getAt(t),Ext.apply({},{hidden:!1,translate:{x:o.x+(u.translate?u.translate.x:0),y:o.y+(u.translate?u.translate.y:0)}},u),t,f),h[r].setAttributes(e,!0);n.items[t].sprite=i}for(l=v.getCount(),t=c.length;t<l;t++)v.getAt(t).hide(!0);n.renderLabels();n.renderCallouts()},onCreateLabel:function(n,t){var i=this,u=i.labelsGroup,f=i.label,e=Ext.apply({},f,i.seriesLabelStyle),r=i.bbox;return i.chart.surface.add(Ext.apply({type:"text",group:u,x:t.point[0],y:r.y+r.height/2},e))},onPlaceLabel:function(n,t,i,r,u){var l=this,v=l.chart,w=v.resizing,y=l.label,b=y.renderer,k=y.field,f=l.bbox,e=i.point[0],o=i.point[1],p=i.sprite.attr.radius,s,h,c,a;if(n.setAttributes({text:b(t.get(k)),hidden:!0},!0),u=="rotate"?(n.setAttributes({"text-anchor":"start",rotation:{x:e,y:o,degrees:-45}},!0),s=n.getBBox(),h=s.width,c=s.height,e=e<f.x?f.x:e,e=e+h>f.x+f.width?e-(e+h-f.x-f.width):e,o=o-c<f.y?f.y+c:o):(u=="under"||u=="over")&&(s=i.sprite.getBBox(),s.width=s.width||p*2,s.height=s.height||p*2,o=o+(u=="over"?-s.height:s.height),s=n.getBBox(),h=s.width/2,c=s.height/2,e=e-h<f.x?f.x+h:e,e=e+h>f.x+f.width?e-(e+h-f.x-f.width):e,o=o-c<f.y?f.y+c:o,o=o+c>f.y+f.height?o-(o+c-f.y-f.height):o),v.animate)if(w)if(a=i.sprite.getActiveAnimation(),a)a.on("afteranimate",function(){n.setAttributes({x:e,y:o},!0);n.show(!0)});else n.show(!0);else l.onAnimate(n,{to:{x:e,y:o}});else n.setAttributes({x:e,y:o},!0),n.show(!0)},onPlaceCallout:function(n,t,i){var h=this,w=h.chart,k=w.surface,d=w.resizing,g=h.callouts,nt=h.items,e=i.point,u,f=n.label.getBBox(),p=30,r=3,c,l,v,y,b,a=h.bbox,o,s;if(u=[Math.cos(Math.PI/4),-Math.sin(Math.PI/4)],o=e[0]+u[0]*p,s=e[1]+u[1]*p,c=o+(u[0]>0?0:-(f.width+2*r)),l=s-f.height/2-r,v=f.width+2*r,y=f.height+2*r,(c<a[0]||c+v>a[0]+a[2])&&(u[0]*=-1),(l<a[1]||l+y>a[1]+a[3])&&(u[1]*=-1),o=e[0]+u[0]*p,s=e[1]+u[1]*p,c=o+(u[0]>0?0:-(f.width+2*r)),l=s-f.height/2-r,v=f.width+2*r,y=f.height+2*r,w.animate){h.onAnimate(n.lines,{to:{path:["M",e[0],e[1],"L",o,s,"Z"]}},!0);h.onAnimate(n.box,{to:{x:c,y:l,width:v,height:y}},!0);h.onAnimate(n.label,{to:{x:o+(u[0]>0?r:-(f.width+r)),y:s}},!0)}else n.lines.setAttributes({path:["M",e[0],e[1],"L",o,s,"Z"]},!0),n.box.setAttributes({x:c,y:l,width:v,height:y},!0),n.label.setAttributes({x:o+(u[0]>0?r:-(f.width+r)),y:s},!0);for(b in n)n[b].show(!0)},onAnimate:function(n){return n.show(),this.callParent(arguments)},isItemInPoint:function(n,t,i){var r,u=10,f=Math.abs;return r=i.point,r[0]-u<=n&&r[0]+u>=n&&r[1]-u<=t&&r[1]+u>=t}});Ext.define("Ext.layout.container.Table",{alias:["layout.table"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.TableLayout",monitorResize:!1,type:"table",clearEl:!0,targetCls:Ext.baseCSSPrefix+"table-layout-ct",tableCls:Ext.baseCSSPrefix+"table-layout",cellCls:Ext.baseCSSPrefix+"table-layout-cell",tableAttrs:null,itemSizePolicy:{setsWidth:0,setsHeight:0},getItemSizePolicy:function(){return this.itemSizePolicy},getLayoutItems:function(){for(var u=this,i=[],r=u.callParent(),t,f=r.length,n=0;n<f;n++)t=r[n],t.hidden||i.push(t);return i},renderChildren:function(){for(var n=this,c=n.getLayoutItems(),s=n.owner.getTargetEl().child("table",!0).tBodies[0],a=s.rows,f=0,v=c.length,l,i,u,t,r,e,o,h=n.calculateCells(c);f<v;f++)if(l=h[f],i=l.rowIdx,u=l.cellIdx,t=c[f],r=a[i],r||(r=s.insertRow(i),n.trAttrs&&r.set(n.trAttrs)),o=e=Ext.get(r.cells[u]||r.insertCell(u)),n.needsDivWrap()&&(o=e.first()||e.createChild({tag:"div"}),o.setWidth(null)),t.rendered?n.isValidParent(t,o,i,u,s)||n.moveItem(t,o,0):n.renderItem(t,o,0),n.tdAttrs&&e.set(n.tdAttrs),t.tdAttrs&&e.set(t.tdAttrs),e.set({colSpan:t.colspan||1,rowSpan:t.rowspan||1,id:t.cellId||"",cls:n.cellCls+" "+(t.cellCls||"")}),!h[f+1]||h[f+1].rowIdx!==i)for(u++;r.cells[u];)r.deleteCell(u);for(i++;s.rows[i];)s.deleteRow(i)},calculate:function(n){if(n.hasDomProp("containerChildrenDone")){var t=n.targetContext,i=n.widthModel.shrinkWrap,r=n.heightModel.shrinkWrap,u=r||i,f=u&&t.el.child("table",!0),e=u&&t.getPaddingInfo();i&&n.setContentWidth(f.offsetWidth+e.width,!0);r&&n.setContentHeight(f.offsetHeight+e.height,!0)}else this.done=!1},finalizeLayout:function(){if(this.needsDivWrap())for(var i=this.getLayoutItems(),r=i.length,t,n=0;n<r;n++)t=i[n],Ext.fly(t.el.dom.parentNode).setWidth(t.getWidth());(Ext.isIE6||Ext.isIEQuirks)&&this.owner.getTargetEl().child("table").repaint()},calculateCells:function(n){for(var s=[],h=0,i=0,u=0,f=this.columns||Infinity,r=[],e=0,t,c=n.length,o;e<c;e++){for(o=n[e];i>=f||r[i]>0;)if(i>=f)for(i=0,u=0,h++,t=0;t<f;t++)r[t]>0&&r[t]--;else i++;for(s.push({rowIdx:h,cellIdx:u}),t=o.colspan||1;t;--t)r[i]=o.rowspan||1,++i;++u}return s},getRenderTree:function(){for(var n=this,f=n.getLayoutItems(),e=[],a=Ext.apply({tag:"table",role:"presentation",cls:n.tableCls,cellspacing:0,cn:{tag:"tbody",cn:e}},n.tableAttrs),c=n.tdAttrs,v=n.needsDivWrap(),y=f.length,t,o,u,s,l,i,h=n.calculateCells(f),r=0;r<y;r++)t=f[r],o=h[r],s=o.rowIdx,l=o.cellIdx,u=e[s],u||(u=e[s]={tag:"tr",cn:[]},n.trAttrs&&Ext.apply(u,n.trAttrs)),i=u.cn[l]={tag:"td"},c&&Ext.apply(i,c),Ext.apply(i,{colSpan:t.colspan||1,rowSpan:t.rowspan||1,id:t.cellId||"",cls:n.cellCls+" "+(t.cellCls||"")}),v&&(i=i.cn={tag:"div"}),n.configureItem(t),i.cn=t.getRenderTree();return a},isValidParent:function(n,t,i,r){var f,e,u;return arguments.length===3?(u=n.el.up("table"),u&&u.dom.parentNode===t.dom):(f=this.owner.getTargetEl().child("table",!0).tBodies[0],e=f.rows[i].cells[r],n.el.dom.parentNode===e)},needsDivWrap:function(){return Ext.isOpera10_5}});Ext.define("Ext.container.ButtonGroup",{extend:"Ext.panel.Panel",alias:"widget.buttongroup",alternateClassName:"Ext.ButtonGroup",requires:["Ext.layout.container.Table"],baseCls:Ext.baseCSSPrefix+"btn-group",layout:{type:"table"},defaultType:"button",frame:!0,frameHeader:!1,titleAlign:"center",initComponent:function(){var n=this,t=n.columns;n.noTitleCls=n.baseCls+"-notitle";t&&(n.layout=Ext.apply({},{columns:t},n.layout));n.title||n.addCls(n.noTitleCls);n.callParent(arguments)},onBeforeAdd:function(n){n.isButton&&(n.ui=n.ui+"-toolbar");this.callParent(arguments)},applyDefaults:function(n){return Ext.isString(n)||(n=this.callParent(arguments)),n}});Ext.define("Ext.container.Viewport",{extend:"Ext.container.Container",alias:"widget.viewport",requires:["Ext.EventManager"],alternateClassName:"Ext.Viewport",isViewport:!0,ariaRole:"application",preserveElOnDestroy:!0,initComponent:function(){var n=this,i=document.body.parentNode,t;Ext.getScrollbarSize();n.width=n.height=undefined;n.callParent(arguments);Ext.fly(i).addCls(Ext.baseCSSPrefix+"viewport");n.autoScroll&&(delete n.autoScroll,Ext.fly(i).setStyle("overflow","auto"));n.el=t=Ext.getBody();t.setHeight=Ext.emptyFn;t.setWidth=Ext.emptyFn;t.setSize=Ext.emptyFn;t.dom.scroll="no";n.allowDomMove=!1;n.renderTo=n.el},onRender:function(){var n=this;n.callParent(arguments);n.width=Ext.Element.getViewportWidth();n.height=Ext.Element.getViewportHeight()},afterFirstLayout:function(){var n=this;n.callParent(arguments);setTimeout(function(){Ext.EventManager.onWindowResize(n.fireResize,n)},1)},fireResize:function(n,t){(n!=this.width||t!=this.height)&&this.setSize(n,t)}});Ext.define("Ext.data.proxy.Proxy",{alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],uses:["Ext.data.Batch","Ext.data.Operation","Ext.data.Model"],mixins:{observable:"Ext.util.Observable"},batchOrder:"create,update,destroy",batchActions:!0,defaultReaderType:"json",defaultWriterType:"json",isProxy:!0,constructor:function(n){n=n||{};n.model===undefined&&delete n.model;this.mixins.observable.constructor.call(this,n);this.model===undefined||this.model instanceof Ext.data.Model||this.setModel(this.model)},setModel:function(n,t){this.model=Ext.ModelManager.getModel(n);var i=this.reader,r=this.writer;this.setReader(i);this.setWriter(r);t&&this.store&&this.store.setModel(this.model)},getModel:function(){return this.model},setReader:function(n){var t=this,i=!0;return(n===undefined||typeof n=="string")&&(n={type:n},i=!1),n.isReader?n.setModel(t.model):(i&&(n=Ext.apply({},n)),Ext.applyIf(n,{proxy:t,model:t.model,type:t.defaultReaderType}),n=Ext.createByAlias("reader."+n.type,n)),n.onMetaChange&&(n.onMetaChange=Ext.Function.createSequence(n.onMetaChange,this.onMetaChange,this)),t.reader=n,t.reader},getReader:function(){return this.reader},onMetaChange:function(n){this.fireEvent("metachange",this,n)},setWriter:function(n){var t=this,i=!0;return(n===undefined||typeof n=="string")&&(n={type:n},i=!1),n.isWriter||(i&&(n=Ext.apply({},n)),Ext.applyIf(n,{model:t.model,type:t.defaultWriterType}),n=Ext.createByAlias("writer."+n.type,n)),t.writer=n,t.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(n,t){var r=this,a=r.batchActions,i,u,s,h,f,e,o,c,l;n.operations===undefined&&(n={operations:n,listeners:t});n.batch?Ext.isDefined(n.batch.runOperation)&&(i=Ext.applyIf(n.batch,{proxy:r,listeners:{}})):n.batch={proxy:r,listeners:n.listeners||{}};i||(i=new Ext.data.Batch(n.batch));i.on("complete",Ext.bind(r.onBatchComplete,r,[n],0));for(s=r.batchOrder.split(","),h=s.length,e=0;e<h;e++)if(f=s[e],u=n.operations[f],u)if(a)i.add(new Ext.data.Operation({action:f,records:u}));else for(c=u.length,o=0;o<c;o++)l=u[o],i.add(new Ext.data.Operation({action:f,records:[l]}));return i.start(),i},onBatchComplete:function(n,t){var i=n.scope||this;t.hasException?Ext.isFunction(n.failure)&&Ext.callback(n.failure,i,[t,n]):Ext.isFunction(n.success)&&Ext.callback(n.success,i,[t,n]);Ext.isFunction(n.callback)&&Ext.callback(n.callback,i,[t,n])}},function(){Ext.data.DataProxy=this});Ext.define("Ext.data.AbstractStore",{requires:["Ext.util.MixedCollection","Ext.data.proxy.Proxy","Ext.data.Operation","Ext.util.Filter"],mixins:{observable:"Ext.util.Observable",sortable:"Ext.util.Sortable"},statics:{create:function(n){return n.isStore||(n.type||(n.type="store"),n=Ext.createByAlias("store."+n.type,n)),n}},remoteSort:!1,remoteFilter:!1,autoLoad:undefined,autoSync:!1,batchUpdateMode:"operation",filterOnLoad:!0,sortOnLoad:!0,implicitModel:!1,defaultProxyType:"memory",isDestroyed:!1,isStore:!0,sortRoot:"data",constructor:function(n){var t=this,i;Ext.apply(t,n);t.removed=[];t.mixins.observable.constructor.apply(t,arguments);t.model=Ext.ModelManager.getModel(t.model);Ext.applyIf(t,{modelDefaults:{}});!t.model&&t.fields&&(t.model=Ext.define("Ext.data.Store.ImplicitModel-"+(t.storeId||Ext.id()),{extend:"Ext.data.Model",fields:t.fields,proxy:t.proxy||t.defaultProxyType}),delete t.fields,t.implicitModel=!0);t.setProxy(t.proxy||t.model.getProxy());t.proxy.on("metachange",t.onMetaChange,t);t.id&&!t.storeId&&(t.storeId=t.id,delete t.id);t.storeId&&Ext.data.StoreManager.register(t);t.mixins.sortable.initSortable.call(t);i=t.decodeFilters(t.filters);t.filters=new Ext.util.MixedCollection;t.filters.addAll(i)},setProxy:function(n){var t=this;return n instanceof Ext.data.proxy.Proxy?n.setModel(t.model):(Ext.isString(n)&&(n={type:n}),Ext.applyIf(n,{model:t.model}),n=Ext.createByAlias("proxy."+n.type,n)),t.proxy=n,t.proxy},getProxy:function(){return this.proxy},onMetaChange:function(n,t){this.fireEvent("metachange",this,t)},create:function(n,t){var i=this,r=Ext.ModelManager.create(Ext.applyIf(n,i.modelDefaults),i.model.modelName),u;return t=t||{},Ext.applyIf(t,{action:"create",records:[r]}),u=new Ext.data.Operation(t),i.proxy.create(u,i.onProxyWrite,i),r},read:function(){return this.load.apply(this,arguments)},update:function(n){var t=this,i;return n=n||{},Ext.applyIf(n,{action:"update",records:t.getUpdatedRecords()}),i=new Ext.data.Operation(n),t.proxy.update(i,t.onProxyWrite,t)},onProxyWrite:function(n){var t=this,i=n.wasSuccessful(),r=n.getRecords();switch(n.action){case"create":t.onCreateRecords(r,n,i);break;case"update":t.onUpdateRecords(r,n,i);break;case"destroy":t.onDestroyRecords(r,n,i)}i&&(t.fireEvent("write",t,n),t.fireEvent("datachanged",t),t.fireEvent("refresh",t));Ext.callback(n.callback,n.scope||t,[r,n,i])},onCreateRecords:Ext.emptyFn,onUpdateRecords:Ext.emptyFn,onDestroyRecords:function(n,t,i){i&&(this.removed=[])},destroy:function(n){var t=this,i;return n=n||{},Ext.applyIf(n,{action:"destroy",records:t.getRemovedRecords()}),i=new Ext.data.Operation(n),t.proxy.destroy(i,t.onProxyWrite,t)},onBatchOperationComplete:function(n,t){return this.onProxyWrite(t)},onBatchComplete:function(n){var t=this,r=n.operations,u=r.length,i;for(t.suspendEvents(),i=0;i<u;i++)t.onProxyWrite(r[i]);t.resumeEvents();t.fireEvent("datachanged",t);t.fireEvent("refresh",t)},onBatchException:function(){},filterNew:function(n){return n.phantom===!0&&n.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},getModifiedRecords:function(){return[].concat(this.getNewRecords(),this.getUpdatedRecords())},filterUpdated:function(n){return n.dirty===!0&&n.phantom!==!0&&n.isValid()},getRemovedRecords:function(){return this.removed},filter:function(){},decodeFilters:function(n){Ext.isArray(n)||(n=n===undefined?[]:[n]);for(var u=n.length,r=Ext.util.Filter,t,i=0;i<u;i++)t=n[i],t instanceof r||(Ext.apply(t,{root:"data"}),t.fn&&(t.filterFn=t.fn),typeof t=="function"&&(t={filterFn:t}),n[i]=new r(t));return n},clearFilter:function(){},isFiltered:function(){},filterBy:function(){},sync:function(n){var t=this,i={},u=t.getNewRecords(),f=t.getUpdatedRecords(),e=t.getRemovedRecords(),r=!1;return u.length>0&&(i.create=u,r=!0),f.length>0&&(i.update=f,r=!0),e.length>0&&(i.destroy=e,r=!0),r&&t.fireEvent("beforesync",i)!==!1&&(n=n||{},t.proxy.batch(Ext.apply(n,{operations:i,listeners:t.getBatchListeners()}))),t},getBatchListeners:function(){var n=this,t={scope:n,exception:n.onBatchException};return n.batchUpdateMode=="operation"?t.operationcomplete=n.onBatchOperationComplete:t.complete=n.onBatchComplete,t},save:function(){return this.sync.apply(this,arguments)},load:function(n){var t=this,i;return n=Ext.apply({action:"read",filters:t.filters.items,sorters:t.getSorters()},n),t.lastOptions=n,i=new Ext.data.Operation(n),t.fireEvent("beforeload",t,i)!==!1&&(t.loading=!0,t.proxy.read(i,t.onProxyLoad,t)),t},reload:function(n){return this.load(Ext.apply(this.lastOptions,n))},afterEdit:function(n,t){var i=this,r,u;if(i.autoSync&&!i.autoSyncSuspended){for(r=t.length;r--;)if(n.fields.get(t[r]).persist){u=!0;break}u&&i.sync()}i.fireEvent("update",i,n,Ext.data.Model.EDIT,t)},afterReject:function(n){this.fireEvent("update",this,n,Ext.data.Model.REJECT,null)},afterCommit:function(n){this.fireEvent("update",this,n,Ext.data.Model.COMMIT,null)},destroyStore:function(){var n=this;n.isDestroyed||(n.storeId&&Ext.data.StoreManager.unregister(n),n.clearData(),n.data=n.tree=n.sorters=n.filters=n.groupers=null,n.reader&&n.reader.destroyReader(),n.proxy=n.reader=n.writer=null,n.clearListeners(),n.isDestroyed=!0,n.implicitModel?Ext.destroy(n.model):n.model=null)},doSort:function(n){var t=this;t.remoteSort?t.load():(t.data.sortBy(n),t.fireEvent("datachanged",t),t.fireEvent("refresh",t))},clearData:Ext.emptyFn,getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return!!this.loading},suspendAutoSync:function(){this.autoSyncSuspended=!0},resumeAutoSync:function(){this.autoSyncSuspended=!1}});Ext.define("Ext.data.ResultSet",{loaded:!0,count:0,total:0,success:!1,constructor:function(n){Ext.apply(this,n);this.totalRecords=this.total;n.count===undefined&&(this.count=this.records.length)}});Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet","Ext.XTemplate"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],mixins:{observable:"Ext.util.Observable"},totalProperty:"total",successProperty:"success",root:"",implicitIncludes:!0,readRecordsOnFailure:!0,isReader:!0,applyDefaults:!0,lastFieldGeneration:null,constructor:function(n){var t=this;t.mixins.observable.constructor.call(t,n);t.fieldCount=0;t.model=Ext.ModelManager.getModel(t.model);t.accessExpressionFn=Ext.Function.bind(t.createFieldAccessExpression,t);t.model&&t.model.prototype.fields&&t.buildExtractors();this.addEvents("exception")},setModel:function(n,t){var i=this;i.model=Ext.ModelManager.getModel(n);i.buildExtractors(!0);t&&i.proxy&&i.proxy.setModel(i.model,!0)},read:function(n){var t;return n&&(t=n.responseText?this.getResponseData(n):this.readRecords(n)),t||this.nullResultSet},readRecords:function(n){var t=this,u,f,e,r,o,i,s;return t.lastFieldGeneration!==t.model.prototype.fields.generation&&t.buildExtractors(!0),t.rawData=n,n=t.getData(n),u=!0,f=0,e=[],t.successProperty&&(i=t.getSuccess(n),(i===!1||i==="false")&&(u=!1)),t.messageProperty&&(s=t.getMessage(n)),(t.readRecordsOnFailure||u)&&(r=Ext.isArray(n)?n:t.getRoot(n),r&&(o=r.length),t.totalProperty&&(i=parseInt(t.getTotal(n),10),isNaN(i)||(o=i)),r&&(e=t.extractData(r),f=e.length)),new Ext.data.ResultSet({total:o||f,count:f,records:e,success:u,message:s})},extractData:function(n){var i=this,f=[],s=i.model,e=n.length,o,t,r,u;for(!n.length&&Ext.isObject(n)&&(n=[n],e=1),u=0;u<e;u++)t=n[u],t.isModel?f.push(t):(r=new s(undefined,i.getId(t),t,o={}),r.phantom=!1,i.convertRecordData(o,t,r),f.push(r),i.implicitIncludes&&i.readAssociated(r,t));return f},readAssociated:function(n,t){for(var o=n.associations.items,u=0,s=o.length,i,f,e,r;u<s;u++)i=o[u],f=this.getAssociatedDataRoot(t,i.associationKey||i.name),f&&(r=i.getReader(),r||(e=i.associatedModel.proxy,r=e?e.getReader():new this.constructor({model:i.associatedName})),i.read(n,r,f))},getAssociatedDataRoot:function(n,t){return n[t]},getFields:function(){return this.model.prototype.fields.items},getData:function(n){return n},getRoot:function(n){return n},getResponseData:function(){},onMetaChange:function(n){var t=this,u=n.fields||t.getFields(),i,r;t.metaData=n;t.root=n.root||t.root;t.idProperty=n.idProperty||t.idProperty;t.totalProperty=n.totalProperty||t.totalProperty;t.successProperty=n.successProperty||t.successProperty;t.messageProperty=n.messageProperty||t.messageProperty;r=n.clientIdProperty;t.model?(t.model.setFields(u,t.idProperty,r),t.setModel(t.model,!0)):(i=Ext.define("Ext.data.reader.Json-Model"+Ext.id(),{extend:"Ext.data.Model",fields:u,clientIdProperty:r}),t.idProperty&&(i.idProperty=t.idProperty),t.setModel(i,!0))},getIdProperty:function(){return this.idProperty||this.model.prototype.idProperty},buildExtractors:function(n){var t=this,i=t.getIdProperty(),f=t.totalProperty,e=t.successProperty,o=t.messageProperty,s,u,r;(n===!0&&delete t.convertRecordData,t.convertRecordData)||(f&&(t.getTotal=t.createAccessor(f)),e&&(t.getSuccess=t.createAccessor(e)),o&&(t.getMessage=t.createAccessor(o)),i?(u=t.model.prototype.fields.get(i),u&&(r=u.mapping,i=r!==undefined&&r!==null?r:i),s=t.createAccessor(i),t.getId=function(n){var i=s.call(t,n);return i===undefined||i===""?null:i}):t.getId=function(){return null},t.convertRecordData=t.buildRecordDataExtractor(),t.lastFieldGeneration=t.model.prototype.fields.generation)},recordDataExtractorTemplate:["var me = this\n","    ,fields = me.model.prototype.fields\n","    ,value\n","    ,internalId\n",'<tpl for="fields">','    ,__field{#} = fields.get("{name}")\n',"<\/tpl>",";\n","return function(dest, source, record) {\n",'<tpl for="fields">','    value = {[ this.createFieldAccessExpression(values, "__field" + xindex, "source") ]};\n','<tpl if="hasCustomConvert">','    dest["{name}"] = value === undefined ? __field{#}.convert(__field{#}.defaultValue, record) : __field{#}.convert(value, record);\n','<tpl elseif="defaultValue !== undefined">',"    if (value === undefined) {\n","        if (me.applyDefaults) {\n",'<tpl if="convert">','            dest["{name}"] = __field{#}.convert(__field{#}.defaultValue, record);\n',"<tpl else>",'            dest["{name}"] = __field{#}.defaultValue\n',"<\/tpl>","        };\n","    } else {\n",'<tpl if="convert">','        dest["{name}"] = __field{#}.convert(value, record);\n',"<tpl else>",'        dest["{name}"] = value;\n',"<\/tpl>","    };","<tpl else>","    if (value !== undefined) {\n",'<tpl if="convert">','        dest["{name}"] = __field{#}.convert(value, record);\n',"<tpl else>",'        dest["{name}"] = value;\n',"<\/tpl>","    }\n","<\/tpl>","<\/tpl>",'<tpl if="clientIdProp">','    if (record && (internalId = {[ this.createFieldAccessExpression({mapping: values.clientIdProp}, null, "source") ]})) {\n','        record.{["internalId"]} = internalId;\n',"    }\n","<\/tpl>","};"],buildRecordDataExtractor:function(){var n=this,t=n.model.prototype,i={clientIdProp:t.clientIdProperty,fields:t.fields.items};return n.recordDataExtractorTemplate.createFieldAccessExpression=n.accessExpressionFn,Ext.functionFactory(n.recordDataExtractorTemplate.apply(i)).call(n)},destroyReader:function(){var n=this;delete n.proxy;delete n.model;delete n.convertRecordData;delete n.getId;delete n.getTotal;delete n.getSuccess;delete n.getMessage}},function(){var n=this.prototype;Ext.apply(n,{nullResultSet:new Ext.data.ResultSet({total:0,count:0,records:[],success:!0}),recordDataExtractorTemplate:new Ext.XTemplate(n.recordDataExtractorTemplate)})});Ext.define("Ext.data.reader.Json",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.JsonReader",alias:"reader.json",root:"",useSimpleAccessors:!1,readRecords:function(n){if(n.metaData)this.onMetaChange(n.metaData);return this.jsonData=n,this.callParent([n])},getResponseData:function(n){var i,t;try{return i=Ext.decode(n.responseText),this.readRecords(i)}catch(r){return t=new Ext.data.ResultSet({total:0,count:0,records:[],success:!1,message:r.message}),this.fireEvent("exception",this,n,t),Ext.Logger.warn("Unable to parse the JSON returned by the server"),t}},buildExtractors:function(){var n=this;n.callParent(arguments);n.getRoot=n.root?n.createAccessor(n.root):function(n){return n}},extractData:function(n){var u=this.record,r=[],i,t;if(u)for(i=n.length,!i&&Ext.isObject(n)&&(i=1,n=[n]),t=0;t<i;t++)r[t]=n[t][u];else r=n;return this.callParent([r])},createAccessor:function(){var n=/[\[\.]/;return function(t){if(Ext.isEmpty(t))return Ext.emptyFn;if(Ext.isFunction(t))return t;if(this.useSimpleAccessors!==!0){var i=String(t).search(n);if(i>=0)return Ext.functionFactory("obj","return obj"+(i>0?".":"")+t)}return function(n){return n[t]}}}(),createFieldAccessExpression:function(){var n=/[\[\.]/;return function(t,i,r){var s=this,e=t.mapping!==null,u=e?t.mapping:t.name,f,o;return typeof u=="function"?f=i+".mapping("+r+", this)":this.useSimpleAccessors===!0||(o=String(u).search(n))<0?((!e||isNaN(u))&&(u='"'+u+'"'),f=r+"["+u+"]"):f=r+(o>0?".":"")+u,f}}()});Ext.define("Ext.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:!0,nameProperty:"name",isWriter:!0,constructor:function(n){Ext.apply(this,n)},write:function(n){for(var i=n.operation,r=i.records||[],f=r.length,t=0,u=[];t<f;t++)u.push(this.getRecordData(r[t],i));return this.writeRecords(n,u)},getRecordData:function(n,t){var h=n.phantom===!0,p=this.writeAllFields||h,c=this.nameProperty,l=n.fields,a=l.items,u={},v=n.clientIdProperty,o,f,i,s,r,e,y;if(p)for(y=a.length,e=0;e<y;e++)i=a[e],i.persist&&(f=i[c]||i.name,r=n.get(i.name),u[f]=i.serialize?i.serialize(r,n):i.type===Ext.data.Types.DATE&&i.dateFormat?Ext.Date.format(r,i.dateFormat):r);else{o=n.getChanges();for(s in o)o.hasOwnProperty(s)&&(i=l.get(s),i.persist&&(f=i[c]||i.name,r=n.get(i.name),u[f]=i.serialize?i.serialize(r,n):i.type===Ext.data.Types.DATE&&i.dateFormat?Ext.Date.format(r,i.dateFormat):r))}return h?v&&t&&t.records.length>1&&(u[v]=n.internalId):u[n.idProperty]=n.getId(),u}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:!1,allowSingle:!0,writeRecords:function(n,t){var i=this.root;return this.allowSingle&&t.length==1&&(t=t[0]),this.encode?i&&(n.params[i]=Ext.encode(t)):(n.jsonData=n.jsonData||{},i?n.jsonData[i]=t:n.jsonData=t),n}});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",groupDirectionParam:"groupDir",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:!1,simpleGroupMode:!1,noCache:!0,cacheString:"_dc",timeout:3e4,constructor:function(n){var t=this;n=n||{};t.callParent([n]);t.extraParams=n.extraParams||{};t.api=Ext.apply({},n.api||t.api);t.nocache=t.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},setExtraParam:function(n,t){this.extraParams[n]=t},buildRequest:function(n){var r=this,t=Ext.applyIf(n.params||{},r.extraParams||{}),i;return t=Ext.applyIf(t,r.getParams(n)),n.id!==undefined&&t.id===undefined&&(t.id=n.id),i=new Ext.data.Request({params:t,action:n.action,records:n.records,operation:n,url:n.url,proxy:r}),i.url=r.buildUrl(i),n.request=i,i},processResponse:function(n,t,i,r,u,f){var e=this,s,o;n===!0?(s=e.getReader(),s.applyDefaults=t.action==="read",o=s.read(e.extractResponseData(r)),o.success!==!1?(Ext.apply(t,{response:r,resultSet:o}),t.commitRecords(o.records),t.setCompleted(),t.setSuccessful()):(t.setException(o.message),e.fireEvent("exception",this,r,t))):(e.setException(t,r),e.fireEvent("exception",this,r,t));typeof u=="function"&&u.call(f||e,t);e.afterRequest(i,n)},setException:function(n,t){n.setException({status:t.status,statusText:t.statusText})},extractResponseData:function(n){return n},applyEncoding:function(n){return Ext.encode(n)},encodeSorters:function(n){for(var i=[],r=n.length,t=0;t<r;t++)i[t]={property:n[t].property,direction:n[t].direction};return this.applyEncoding(i)},encodeFilters:function(n){for(var i=[],r=n.length,t=0;t<r;t++)i[t]={property:n[t].property,value:n[t].value};return this.applyEncoding(i)},getParams:function(n){var t=this,i={},f=Ext.isDefined,r=n.groupers,u=n.sorters,e=n.filters,h=n.page,c=n.start,l=n.limit,w=t.simpleSortMode,b=t.simpleGroupMode,a=t.pageParam,v=t.startParam,y=t.limitParam,o=t.groupParam,k=t.groupDirectionParam,s=t.sortParam,p=t.filterParam,d=t.directionParam;return a&&f(h)&&(i[a]=h),v&&f(c)&&(i[v]=c),y&&f(l)&&(i[y]=l),o&&r&&r.length>0&&(b?(i[o]=r[0].property,i[k]=r[0].direction||"ASC"):i[o]=t.encodeSorters(r)),s&&u&&u.length>0&&(w?(i[s]=u[0].property,i[d]=u[0].direction):i[s]=t.encodeSorters(u)),p&&e&&e.length>0&&(i[p]=t.encodeFilters(e)),i},buildUrl:function(n){var t=this,i=t.getUrl(n);return t.noCache&&(i=Ext.urlAppend(i,Ext.String.format("{0}={1}",t.cacheString,Ext.Date.now()))),i},getUrl:function(n){return n.url||this.api[n.action]||this.url},doRequest:function(){},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(n,t,i){var u=this.getWriter(),r=this.buildRequest(n,t,i);return n.allowWrite()&&(r=u.write(r)),Ext.apply(r,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(r,n,t,i),method:this.getMethod(r),disableCaching:!1}),Ext.Ajax.request(r),r},getMethod:function(n){return this.actionMethods[n.action]},createRequestCallback:function(n,t,i,r){var u=this;return function(f,e,o){u.processResponse(e,t,n,o,i,r)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",isSynchronous:!0,clear:function(){}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",constructor:function(n){this.callParent([n]);this.setReader(this.reader)},updateOperation:function(n,t,i){var r=0,u=n.getRecords(),f=u.length;for(r;r<f;r++)u[r].commit();n.setCompleted();n.setSuccessful();Ext.callback(t,i||this,[n])},create:function(){this.updateOperation.apply(this,arguments)},update:function(){this.updateOperation.apply(this,arguments)},destroy:function(){this.updateOperation.apply(this,arguments)},read:function(n,t,i){var r=this;n.resultSet=r.getReader().read(r.data);n.setCompleted();n.setSuccessful();Ext.callback(t,i||r,[n])},clear:Ext.emptyFn});Ext.define("Ext.util.LruCache",{extend:"Ext.util.HashMap",constructor:function(n){Ext.apply(this,n);this.callParent([n])},add:function(n,t){var i=this,u=i.findKey(t),r;return u?(i.unlinkEntry(r=i.map[u]),r.prev=i.last,r.next=null):r={prev:i.last,next:null,key:n,value:t},i.last?i.last.next=r:i.first=r,i.last=r,i.callParent([n,r]),i.prune(),t},insertBefore:function(n,t,i){var u=this,f,r;return(i=this.map[this.findKey(i)])?(f=u.findKey(t),f?u.unlinkEntry(r=u.map[f]):r={prev:i.prev,next:i,key:n,value:t},i.prev?r.prev.next=r:u.first=r,r.next=i,i.prev=r,u.prune(),t):u.add(n,t)},get:function(n){var t=this.map[n];if(t)return t.next&&this.moveToEnd(t),t.value},removeAtKey:function(n){return this.unlinkEntry(this.map[n]),this.callParent(arguments)},clear:function(){return this.first=this.last=null,this.callParent(arguments)},unlinkEntry:function(n){n&&(n.next?n.next.prev=n.prev:this.last=n.prev,n.prev?n.prev.next=n.next:this.first=n.next,n.prev=n.next=null)},moveToEnd:function(n){this.unlinkEntry(n);(n.prev=this.last)?this.last.next=n:this.first=n;this.last=n},getArray:function(n){for(var i=[],t=this.first;t;)i.push(n?t.key:t.value),t=t.next;return i},each:function(n,t,i){var u=this,r=i?u.last:u.first,f=u.length;for(t=t||u;r;){if(n.call(t,r.key,r.value,f)===!1)break;r=i?r.prev:r.next}return u},findKey:function(n){var t,i=this.map;for(t in i)if(i.hasOwnProperty(t)&&i[t].value===n)return t;return undefined},prune:function(){var n=this,t=n.maxSize?n.length-n.maxSize:0;if(t>0)for(;n.first&&t;t--)n.removeAtKey(n.first.key)}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.data.StoreManager","Ext.data.Model","Ext.data.proxy.Ajax","Ext.data.proxy.Memory","Ext.data.reader.Json","Ext.data.writer.Json","Ext.util.LruCache"],uses:["Ext.ModelManager","Ext.util.Grouper"],remoteSort:!1,remoteFilter:!1,remoteGroup:!1,groupField:undefined,groupDir:"ASC",trailingBufferZone:25,leadingBufferZone:200,pageSize:undefined,currentPage:1,clearOnPageLoad:!0,loading:!1,sortOnFilter:!0,buffered:!1,purgePageCount:5,clearRemovedOnLoad:!0,defaultPageSize:25,addRecordsOptions:{addRecords:!0},statics:{recordIdFn:function(n){return n.internalId},recordIndexFn:function(n){return n.index}},onClassExtended:function(n,t,i){var r=t.model,u;typeof r=="string"&&(u=i.onBeforeCreated,i.onBeforeCreated=function(){var n=this,t=arguments;Ext.require(r,function(){u.apply(n,t)})})},constructor:function(n){n=Ext.Object.merge({},n);var t=this,r=n.groupers||t.groupers,f=n.groupField||t.groupField,u,i;i=n.data||t.data;t.data=new Ext.util.MixedCollection(!1,Ext.data.Store.recordIdFn);i&&(t.inlineData=i,delete n.data);!r&&f&&(r=[{property:f,direction:n.groupDir||t.groupDir}]);delete n.groupers;t.groupers=new Ext.util.MixedCollection;t.groupers.addAll(t.decodeGroupers(r));this.callParent([n]);t.buffered&&(t.pageMap=new t.PageMap({pageSize:t.pageSize,maxSize:t.purgePageCount,listeners:{clear:t.cancelAllPrefetches,scope:t}}),t.pageRequests={},t.sortOnLoad=!1,t.filterOnLoad=!1);t.remoteGroup&&(t.remoteSort=!0);t.groupers.items.length&&!t.remoteGroup&&t.sort(t.groupers.items,"prepend",!1);u=t.proxy;i=t.inlineData;t.buffered||t.pageSize||(t.pageSize=t.defaultPageSize);i?(u instanceof Ext.data.proxy.Memory?(u.data=i,t.read()):t.add.apply(t,[i]),t.sort(),delete t.inlineData):t.autoLoad&&Ext.defer(t.load,10,t,[typeof t.autoLoad=="object"?t.autoLoad:undefined])},destroyStore:function(){this.callParent(arguments);this.pageMap&&this.pageMap.clear()},onBeforeSort:function(){var n=this.groupers;n.getCount()>0&&this.sort(n.items,"prepend",!1)},decodeGroupers:function(n){Ext.isArray(n)||(n=n===undefined?[]:[n]);for(var f=n.length,u=Ext.util.Grouper,t,r=[],i=0;i<f;i++)t=n[i],t instanceof u?r.push(t):(Ext.isString(t)&&(t={property:t}),t=Ext.apply({root:"data",direction:"ASC"},t),t.fn&&(t.sorterFn=t.fn),typeof t=="function"&&(t={sorterFn:t}),r.push(new u(t)));return r},group:function(n,t){var i=this,f=!1,u,r;Ext.isArray(n)?r=n:Ext.isObject(n)?r=[n]:Ext.isString(n)&&(u=i.groupers.get(n),u?t===undefined?u.toggle():u.setDirection(t):(u={property:n,direction:t},r=[u]));r&&r.length&&(f=!0,r=i.decodeGroupers(r),i.groupers.clear(),i.groupers.addAll(r));i.remoteGroup?i.buffered?(i.pageMap.clear(),i.loadPage(1,{groupChange:!0})):i.load({scope:i,callback:i.fireGroupChange}):(i.sort(null,null,null,f),i.fireGroupChange())},clearGrouping:function(){for(var n=this,i=n.groupers.items,u=i.length,r,t=0;t<u;t++)r=i[t],n.sorters.remove(r);n.groupers.clear();n.remoteGroup?n.buffered?(n.pageMap.clear(),n.loadPage(1,{groupChange:!0})):n.load({scope:n,callback:n.fireGroupChange}):(n.sort(),n.fireGroupChange())},isGrouped:function(){return this.groupers.getCount()>0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(n){for(var e=this.data.items,s=e.length,o=[],u={},f,i,t,r=0;r<s;r++)f=e[r],i=this.getGroupString(f),t=u[i],t===undefined&&(t={name:i,children:[]},o.push(t),u[i]=t),t.children.push(f);return n?u[n]:o},getGroupsForGrouper:function(n,t){for(var s=n.length,e=[],o,i,u,f,r=0;r<s;r++)u=n[r],i=t.getGroupString(u),i!==o&&(f={name:i,grouper:t,records:[]},e.push(f)),f.records.push(u),o=i;return e},getGroupsForGrouperIndex:function(n,t){var u=this,f=u.groupers,o=f.getAt(t),r=u.getGroupsForGrouper(n,o),e=r.length,i;if(t+1<f.length)for(i=0;i<e;i++)r[i].children=u.getGroupsForGrouperIndex(r[i].records,t+1);for(i=0;i<e;i++)r[i].depth=t;return r},getGroupData:function(n){var t=this;return n!==!1&&t.sort(),t.getGroupsForGrouperIndex(t.data.items,0)},getGroupString:function(n){var t=this.groupers.first();return t?n.get(t.property):""},insert:function(n,t){var i=this,f=!1,r,u,e;for(t=[].concat(t),r=0,e=t.length;r<e;r++)u=i.createModel(t[r]),u.set(i.modelDefaults),t[r]=u,i.data.insert(n+r,u),u.join(i),f=f||u.phantom===!0;i.snapshot&&i.snapshot.addAll(t);i.requireSort&&(i.suspendEvents(),i.sort(),i.resumeEvents());i.fireEvent("add",i,t,n);i.fireEvent("datachanged",i);i.autoSync&&f&&!i.autoSyncSuspended&&i.sync()},add:function(n){n=Ext.isArray(n)?n.slice(0):Array.prototype.slice.apply(arguments);var t=this,i=0,r=n.length,u,f=!t.remoteSort&&t.sorters&&t.sorters.items.length;if(f&&r===1)return[t.addSorted(t.createModel(n[0]))];for(;i<r;i++)u=t.createModel(n[i]),n[i]=u;return f&&(t.requireSort=!0),t.insert(t.data.length,n),delete t.requireSort,n},addSorted:function(n){var t=this,i=t.data.findInsertionIndex(n,t.generateComparator());return t.insert(i,n),n},createModel:function(n){return n.isModel||(n=Ext.ModelManager.create(n,this.model)),n},each:function(n,t){for(var u=this.data.items,f=u.length,r,i=0;i<f;i++)if(r=u[i],n.call(t||r,r,i,f)===!1)break},remove:function(n,t){Ext.isArray(n)||(n=[n]);t=t===!0;for(var i=this,f=!1,e=0,s=n.length,o,u,r;e<s;e++)r=n[e],u=i.data.indexOf(r),i.snapshot&&i.snapshot.remove(r),u>-1&&(o=r.phantom!==!0,!t&&o&&(r.removedFrom=u,i.removed.push(r)),r.unjoin(i),i.data.remove(r),f=f||o,i.fireEvent("remove",i,r,u));i.fireEvent("datachanged",i);!t&&i.autoSync&&f&&!i.autoSyncSuspended&&i.sync()},removeAt:function(n){var t=this.getAt(n);t&&this.remove(t)},load:function(n){var t=this;return(n=n||{},typeof n=="function"&&(n={callback:n}),n.groupers=n.groupers||t.groupers.items,n.page=n.page||t.currentPage,n.start=n.start!==undefined?n.start:(n.page-1)*t.pageSize,n.limit=n.limit||t.pageSize,n.addRecords=n.addRecords||!1,t.buffered)?t.loadToPrefetch(n):t.callParent([n])},reload:function(n){var t=this,i,r,s,h,u,f,e,o;if(n||(n={}),t.buffered){if(delete t.totalCount,f=function(){t.rangeCached(i,r)&&(t.loading=!1,t.pageMap.un("pageAdded",f),o=t.pageMap.getRange(i,r),t.loadRecords(o,{start:i}),t.fireEvent("load",t,o,!0))},e=Math.ceil((t.leadingBufferZone+t.trailingBufferZone)/2),i=n.start||t.getAt(0).index,r=i+(n.count||t.getCount())-1,s=t.getPageFromRecordIndex(Math.max(i-e,0)),h=t.getPageFromRecordIndex(r+e),t.pageMap.clear(!0),t.fireEvent("beforeload",t,n)!==!1){for(t.loading=!0,u=s;u<=h;u++)t.prefetchPage(u,n);t.pageMap.on("pageAdded",f)}}else return t.callParent(arguments)},onProxyLoad:function(n){var t=this,u=n.getResultSet(),i=n.getRecords(),r=n.wasSuccessful();u&&(t.totalCount=u.total);r&&t.loadRecords(i,n);t.loading=!1;t.hasListeners.load&&t.fireEvent("load",t,i,r);t.hasListeners.read&&t.fireEvent("read",t,i,r);Ext.callback(n.callback,n.scope||t,[i,n,r])},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(n,t){Ext.isString(n)&&(n={property:n,value:t});for(var i=this,u=i.decodeFilters(n),r=0,f=i.sorters.length&&i.sortOnFilter&&!i.remoteSort,e=u.length;r<e;r++)i.filters.replace(u[r]);i.remoteFilter?(delete i.totalCount,i.buffered?(i.pageMap.clear(),i.loadPage(1)):(i.currentPage=1,i.load())):i.filters.getCount()&&(i.snapshot=i.snapshot||i.data.clone(),i.data=i.data.filter(i.filters.items),f?i.sort():(i.fireEvent("datachanged",i),i.fireEvent("refresh",i)))},clearFilter:function(n){var t=this;if(t.filters.clear(),t.remoteFilter){if(n)return;delete t.totalCount;t.buffered?(t.pageMap.clear(),t.loadPage(1)):(t.currentPage=1,t.load())}else t.isFiltered()&&(t.data=t.snapshot.clone(),delete t.snapshot,n!==!0&&(t.fireEvent("datachanged",t),t.fireEvent("refresh",t)))},isFiltered:function(){var n=this.snapshot;return!!n&&n!==this.data},filterBy:function(n,t){var i=this;i.snapshot=i.snapshot||i.data.clone();i.data=i.queryBy(n,t||i);i.fireEvent("datachanged",i);i.fireEvent("refresh",i)},queryBy:function(n,t){var i=this,r=i.snapshot||i.data;return r.filterBy(n,t||i)},query:function(n,t,i,r,u){var e=this,o=e.createFilterFn(n,t,i,r,u),f=e.queryBy(o);return f||(f=new Ext.util.MixedCollection),f},loadData:function(n,t){for(var u=this,e=u.model,o=n.length,f=[],i,r=0;r<o;r++)i=n[r],i.isModel||(i=Ext.ModelManager.create(i,e)),f.push(i);u.loadRecords(f,t?u.addRecordsOptions:undefined)},loadRawData:function(n,t){var i=this,r=i.proxy.reader.read(n),u=r.records;r.success&&(i.totalCount=r.total,i.loadRecords(u,t?i.addRecordsOptions:undefined),i.fireEvent("load",i,u,!0))},loadRecords:function(n,t){var i=this,r=0,f=n.length,u,e,o=i.snapshot;if(t&&(u=t.start,e=t.addRecords),e?o&&o.addAll(n):(delete i.snapshot,i.clearData(!0)),i.data.addAll(n),u!==undefined)for(;r<f;r++)n[r].index=u+r,n[r].join(i);else for(;r<f;r++)n[r].join(i);i.suspendEvents();i.filterOnLoad&&!i.remoteFilter&&i.filter();i.sortOnLoad&&!i.remoteSort&&i.sort(undefined,undefined,undefined,!0);i.resumeEvents();i.fireEvent("datachanged",i);i.fireEvent("refresh",i)},loadPage:function(n,t){var i=this;if(i.currentPage=n,t=Ext.apply({page:n,start:(n-1)*i.pageSize,limit:i.pageSize,addRecords:!i.clearOnPageLoad},t),i.buffered)return i.loadToPrefetch(t);i.read(t)},nextPage:function(n){this.loadPage(this.currentPage+1,n)},previousPage:function(n){this.loadPage(this.currentPage-1,n)},clearData:function(n){for(var t=this,i=t.data.items,r=i.length;r--;)i[r].unjoin(t);t.data.clear();(n!==!0||t.clearRemovedOnLoad)&&(t.removed.length=0)},loadToPrefetch:function(n){var t=this,r,u,i=n.start,s=n.start+n.limit-1,f=n.start+(t.viewSize||n.limit)-1,e=t.getPageFromRecordIndex(Math.max(i-t.trailingBufferZone,0)),h=t.getPageFromRecordIndex(s+t.leadingBufferZone),o=function(){t.rangeCached(i,f)&&(t.loading=!1,u=t.pageMap.getRange(i,f),t.pageMap.un("pageAdded",o),t.hasListeners.guaranteedrange?t.guaranteeRange(i,f,n.callback,n.scope):t.loadRecords(u,{start:i}),t.fireEvent("load",t,u,!0),n.groupChange&&t.fireGroupChange())};if(t.fireEvent("beforeload",t,n)!==!1){delete t.totalCount;t.loading=!0;t.pageMap.on("pageAdded",o);t.on("prefetch",function(){for(r=e+1;r<=h;++r)t.prefetchPage(r,n)},null,{single:!0});t.prefetchPage(e,n)}},prefetch:function(n){var t=this,i=t.pageSize,r,u;return i?(t.lastPageSize&&i!=t.lastPageSize&&Ext.error.raise("pageSize cannot be dynamically altered"),t.pageMap.pageSize||(t.pageMap.pageSize=i)):t.pageSize=t.pageMap.pageSize=i=n.limit,t.lastPageSize=i,n.page||(n.page=t.getPageFromRecordIndex(n.start),n.start=(n.page-1)*i,n.limit=Math.ceil(n.limit/i)*i),t.pageRequests[n.page]||(n=Ext.apply({action:"read",filters:t.filters.items,sorters:t.sorters.items,groupers:t.groupers.items,generation:t.pageMap.generation},n),u=new Ext.data.Operation(n),t.fireEvent("beforeprefetch",t,u)!==!1&&(t.loading=!0,r=t.proxy,t.pageRequests[n.page]=r.read(u,t.onProxyPrefetch,t),r.isSynchronous&&delete t.pageRequests[n.page])),t},cancelAllPrefetches:function(){var i=this,n=i.pageRequests,r,t;i.pageMap.events.pageadded&&i.pageMap.events.pageadded.clearListeners();for(t in n)n.hasOwnProperty(t)&&(r=n[t],delete n[t],delete r.callback)},prefetchPage:function(n,t){var i=this,u=i.pageSize||i.defaultPageSize,f=(n-1)*i.pageSize,r=i.totalCount;(r===undefined||i.getCount()!==r)&&i.prefetch(Ext.applyIf({page:n,start:f,limit:u},t))},onProxyPrefetch:function(n){var t=this,u=n.getResultSet(),i=n.getRecords(),r=n.wasSuccessful(),f=n.page;n.generation===t.pageMap.generation&&(u&&(t.totalCount=u.total,t.fireEvent("totalcountchange",t.totalCount)),f!==undefined&&delete t.pageRequests[f],r&&t.cachePage(i,n.page),t.loading=!1,t.fireEvent("prefetch",t,i,r,n),Ext.callback(n.callback,n.scope||t,[i,n,r]))},cachePage:function(n,t){var i=this;Ext.isDefined(i.totalCount)||(i.totalCount=n.length,i.fireEvent("totalcountchange",i.totalCount));i.pageMap.addPage(t,n)},rangeCached:function(n,t){return this.pageMap&&this.pageMap.hasRange(n,t)},pageCached:function(n){return this.pageMap&&this.pageMap.hasPage(n)},rangeSatisfied:function(n,t){return this.rangeCached(n,t)},getPageFromRecordIndex:function(n){return Math.floor(n/this.pageSize)+1},onGuaranteedRange:function(n){var i=this,f=i.getTotalCount(),r=n.prefetchStart,t=f-1<n.prefetchEnd?f-1:n.prefetchEnd,u;t=Math.max(0,t);u=i.pageMap.getRange(r,t);i.fireEvent("guaranteedrange",u,r,t);n.cb&&n.cb.call(n.scope||i,u,r,t)},prefetchRange:function(n,t){var i=this,u,f,r;if(!i.rangeCached(n,t))for(u=i.getPageFromRecordIndex(n),f=i.getPageFromRecordIndex(t),i.pageMap.maxSize=i.purgePageCount?f-u+1+i.purgePageCount:0,r=u;r<=f;r++)i.pageCached(r)||i.prefetchPage(r)},guaranteeRange:function(n,t,i,r){t=t>this.totalCount?this.totalCount-1:t;var u=this,o=u.lastRequestStart,f={prefetchStart:n,prefetchEnd:t,cb:i,scope:r},e;if(u.lastRequestStart=n,u.rangeCached(n,t)){n<o?(n=Math.max(n-u.leadingBufferZone,0),t=Math.min(t+u.trailingBufferZone,u.totalCount-1)):(n=Math.max(Math.min(n-u.trailingBufferZone,u.totalCount-u.pageSize),0),t=Math.min(t+u.leadingBufferZone,u.totalCount-1));u.rangeCached(n,t)||u.prefetchRange(n,t);u.onGuaranteedRange(f)}else{u.fireEvent("cachemiss",u,n,t);n=Math.min(Math.max(Math.floor(n-(u.leadingBufferZone+u.trailingBufferZone)/2),0),u.totalCount-u.pageSize);t=Math.min(Math.max(Math.ceil(t+(u.leadingBufferZone+u.trailingBufferZone)/2),0),u.totalCount-1);e=function(){if(u.rangeCached(f.prefetchStart,f.prefetchEnd)){u.fireEvent("cachefilled",u,n,t);u.pageMap.un("pageAdded",e);u.onGuaranteedRange(f)}};u.pageMap.on("pageAdded",e);u.prefetchRange(f.prefetchStart,f.prefetchEnd);u.prefetchRange(n,t)}},sort:function(){var n=this,t=n.pageMap;n.buffered?n.remoteSort?(t.clear(),n.callParent(arguments)):n.callParent(arguments):n.callParent(arguments)},doSort:function(n){var t=this,r,u,i;if(t.remoteSort)t.buffered?(t.pageMap.clear(),t.loadPage(1)):t.load();else{if(t.data.sortBy(n),!t.buffered)for(r=t.getRange(),u=r.length,i=0;i<u;i++)r[i].index=i;t.fireEvent("datachanged",t);t.fireEvent("refresh",t)}},find:function(n,t,i,r,u,f){var e=this.createFilterFn(n,t,r,u,f);return e?this.data.findIndexBy(e,null,i):-1},findRecord:function(){var n=this,t=n.find.apply(n,arguments);return t!==-1?n.getAt(t):null},createFilterFn:function(n,t,i,r,u){return Ext.isEmpty(t)?!1:(t=this.data.createValueMatcher(t,i,r,u),function(i){return t.test(i.data[n])})},findExact:function(n,t,i){return this.data.findIndexBy(function(i){return i.isEqual(i.get(n),t)},this,i)},findBy:function(n,t,i){return this.data.findIndexBy(n,t,i)},collect:function(n,t,i){var r=this,u=i===!0&&r.snapshot?r.snapshot:r.data;return u.collect(n,"data",t)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalCount||0},getAt:function(n){return this.data.getAt(n)},getRange:function(n,t){return this.data.getRange(n,t)},getById:function(n){return(this.snapshot||this.data).findBy(function(t){return t.getId()===n})},indexOf:function(n){return this.data.indexOf(n)},indexOfTotal:function(n){var t=n.index;return t||t===0?t:this.indexOf(n)},indexOfId:function(n){return this.indexOf(this.getById(n))},removeAll:function(n){var t=this;t.clearData();t.snapshot&&t.snapshot.clear();t.pageMap&&t.pageMap.clear();n!==!0&&t.fireEvent("clear",t)},first:function(n){var t=this;return n&&t.isGrouped()?t.aggregate(function(n){return n.length?n[0]:undefined},t,!0):t.data.first()},last:function(n){var t=this;return n&&t.isGrouped()?t.aggregate(function(n){var t=n.length;return t?n[t-1]:undefined},t,!0):t.data.last()},sum:function(n,t){var i=this;return t&&i.isGrouped()?i.aggregate(i.getSum,i,!0,[n]):i.getSum(i.data.items,n)},getSum:function(n,t){for(var r=0,i=0,u=n.length;i<u;++i)r+=n[i].get(t);return r},count:function(n){var t=this;return n&&t.isGrouped()?t.aggregate(function(n){return n.length},t,!0):t.getCount()},min:function(n,t){var i=this;return t&&i.isGrouped()?i.aggregate(i.getMin,i,!0,[n]):i.getMin(i.data.items,n)},getMin:function(n,t){var r=1,f=n.length,u,i;for(f>0&&(i=n[0].get(t));r<f;++r)u=n[r].get(t),u<i&&(i=u);return i},max:function(n,t){var i=this;return t&&i.isGrouped()?i.aggregate(i.getMax,i,!0,[n]):i.getMax(i.data.items,n)},getMax:function(n,t){var r=1,f=n.length,u,i;for(f>0&&(i=n[0].get(t));r<f;++r)u=n[r].get(t),u>i&&(i=u);return i},average:function(n,t){var i=this;return t&&i.isGrouped()?i.aggregate(i.getAverage,i,!0,[n]):i.getAverage(i.data.items,n)},getAverage:function(n,t){var i=0,r=n.length,u=0;if(n.length>0){for(;i<r;++i)u+=n[i].get(t);return u/r}return 0},aggregate:function(n,t,i,r){if(r=r||[],i&&this.isGrouped()){for(var e=this.getGroups(),u=0,s=e.length,o={},f;u<s;++u)f=e[u],o[f.name]=n.apply(t||this,[f.children].concat(r));return o}return n.apply(t||this,[this.data.items].concat(r))},commitChanges:function(){for(var t=this,i=t.getModifiedRecords(),r=i.length,n=0;n<r;n++)i[n].commit();t.removed.length=0},filterNewOnly:function(n){return n.phantom===!0},getRejectRecords:function(){return Ext.Array.push(this.data.filterBy(this.filterNewOnly).items,this.getUpdatedRecords())},rejectChanges:function(){for(var i=this,r=i.getRejectRecords(),u=r.length,t=0,n;t<u;t++)n=r[t],n.reject(),n.phantom&&i.remove(n);for(r=i.removed,u=r.length,t=0;t<u;t++)n=r[t],i.insert(n.removedFrom||0,n),n.reject();i.removed.length=0}},function(){Ext.regStore("ext-empty-store",{fields:[],proxy:"memory"});this.prototype.PageMap=new Ext.Class({extend:"Ext.util.LruCache",clear:function(){this.generation=(this.generation||0)+1;this.callParent(arguments)},getPageFromRecordIndex:this.prototype.getPageFromRecordIndex,addPage:function(n,t){this.add(n,t);this.fireEvent("pageAdded",n,t)},getPage:function(n){return this.get(n)},hasRange:function(n,t){for(var i=this.getPageFromRecordIndex(n),r=this.getPageFromRecordIndex(t);i<=r;i++)if(!this.hasPage(i))return!1;return!0},hasPage:function(n){return!!this.get(n)},getRange:function(n,t){this.hasRange(n,t)||Ext.Error.raise("PageMap asked for range which it does not have");for(var i=this,e=i.getPageFromRecordIndex(n),o=i.getPageFromRecordIndex(t),a=(e-1)*i.pageSize,v=o*i.pageSize-1,r=e,u=[],s,c,f,h=0,l;r<=o;r++)r==e?(s=n-a,f=!0):(s=0,f=!1),r==o&&(c=i.pageSize-(v-t),f=!0),f?Ext.Array.push(u,Ext.Array.slice(i.getPage(r),s,c)):Ext.Array.push(u,i.getPage(r));for(l=u.length;h<l;h++)u[h].index=n++;return u}})});Ext.define("Ext.data.reader.Array",{extend:"Ext.data.reader.Json",alternateClassName:"Ext.data.ArrayReader",alias:"reader.array",totalProperty:undefined,successProperty:undefined,createFieldAccessExpression:function(n,t,i){var r=n.mapping==null?n.originalIndex:n.mapping,u;return typeof r=="function"?u=t+".mapping("+i+", this)":(isNaN(r)&&(r='"'+r+'"'),u=i+"["+r+"]"),u}});Ext.define("Ext.data.ArrayStore",{extend:"Ext.data.Store",alias:"store.array",requires:["Ext.data.proxy.Memory","Ext.data.reader.Array"],constructor:function(n){n=Ext.apply({proxy:{type:"memory",reader:"array"}},n);this.callParent([n])},loadData:function(n,t){if(this.expandData===!0){for(var i=[],r=0,u=n.length;r<u;r++)i[i.length]=[n[r]];n=i}this.callParent([n,t])}},function(){Ext.data.SimpleStore=Ext.data.ArrayStore});Ext.define("Ext.data.Batch",{mixins:{observable:"Ext.util.Observable"},autoStart:!1,pauseOnException:!1,current:-1,total:0,isRunning:!1,isComplete:!1,hasException:!1,constructor:function(n){var t=this;t.mixins.observable.constructor.call(t,n);t.operations=[];t.exceptions=[]},add:function(n){return this.total++,n.setBatch(this),this.operations.push(n),this},start:function(n){var t=this;return t.isRunning?t:(t.exceptions.length=0,t.hasException=!1,t.isRunning=!0,t.runOperation(Ext.isDefined(n)?n:t.current+1))},retry:function(){return this.start(this.current)},runNextOperation:function(){return this.runOperation(this.current+1)},pause:function(){return this.isRunning=!1,this},runOperation:function(n){var t=this,r=t.operations,i=r[n],u;return i===undefined?(t.isRunning=!1,t.isComplete=!0,t.fireEvent("complete",t,r[r.length-1])):(t.current=n,u=function(n){var i=n.hasException();i&&(t.hasException=!0,t.exceptions.push(n),t.fireEvent("exception",t,n));i&&t.pauseOnException?t.pause():(n.setCompleted(),t.fireEvent("operationcomplete",t,n),t.runNextOperation())},i.setStarted(),t.proxy[i.action](i,u,t)),t}});Ext.define("Ext.data.BufferStore",{extend:"Ext.data.Store",alias:"store.buffer",sortOnLoad:!1,filterOnLoad:!1,constructor:function(){Ext.Error.raise("The BufferStore class has been deprecated. Instead, specify the buffered config option on Ext.data.Store")}});Ext.define("Ext.direct.Manager",{singleton:!0,mixins:{observable:"Ext.util.Observable"},requires:["Ext.util.MixedCollection"],exceptions:{TRANSPORT:"xhr",PARSE:"parse",LOGIN:"login",SERVER:"exception"},constructor:function(){var n=this;n.addEvents("event","exception");n.transactions=new Ext.util.MixedCollection;n.providers=new Ext.util.MixedCollection;n.mixins.observable.constructor.call(n)},addProvider:function(n){var t=this,i=arguments,r=0,u;if(i.length>1){for(u=i.length;r<u;++r)t.addProvider(i[r]);return}n.isProvider||(n=Ext.create("direct."+n.type+"provider",n));t.providers.add(n);n.on("data",t.onProviderData,t);return n.isConnected()||n.connect(),n},getProvider:function(n){return n.isProvider?n:this.providers.get(n)},removeProvider:function(n){var t=this,i=t.providers;return(n=n.isProvider?n:i.get(n),n)?(n.un("data",t.onProviderData,t),i.remove(n),n):null},addTransaction:function(n){return this.transactions.add(n),n},removeTransaction:function(n){return n=this.getTransaction(n),this.transactions.remove(n),n},getTransaction:function(n){return Ext.isObject(n)?n:this.transactions.get(n)},onProviderData:function(n,t){var i=this,r=0,u;if(Ext.isArray(t)){for(u=t.length;r<u;++r)i.onProviderData(n,t[r]);return}t.name&&t.name!="event"&&t.name!="exception"?i.fireEvent(t.name,t):t.status===!1&&i.fireEvent("exception",t);i.fireEvent("event",t,n)},parseMethod:function(n){if(Ext.isString(n)){for(var r=n.split("."),i=0,u=r.length,t=window;t&&i<u;)t=t[r[i]],++i;n=Ext.isFunction(t)?t:null}return n||null}},function(){Ext.Direct=Ext.direct.Manager});Ext.define("Ext.data.proxy.Direct",{extend:"Ext.data.proxy.Server",alternateClassName:"Ext.data.DirectProxy",alias:"proxy.direct",requires:["Ext.direct.Manager"],paramOrder:undefined,paramsAsHash:!0,directFn:undefined,paramOrderRe:/[\s,|]/,constructor:function(){var n=this,r,t,i;n.callParent(arguments);r=n.paramOrder;Ext.isString(r)&&(n.paramOrder=r.split(n.paramOrderRe));t=n.directFn;t&&(n.directFn=Ext.direct.Manager.parseMethod(t));i=n.api;for(t in i)i.hasOwnProperty(t)&&(i[t]=Ext.direct.Manager.parseMethod(i[t]))},doRequest:function(n,t,i){var r=this,s=r.getWriter(),u=r.buildRequest(n,t,i),e=r.api[u.action]||r.directFn,h=u.params,f=[],o;n.allowWrite()&&(u=s.write(u));n.action=="read"?(o=e.directCfg.method,f=o.getArgs(h,r.paramOrder,r.paramsAsHash)):f.push(u.jsonData);Ext.apply(u,{args:f,directFn:e});f.push(r.createRequestCallback(u,n,t,i),r);e.apply(window,f)},applyEncoding:function(n){return n},createRequestCallback:function(n,t,i,r){var u=this;return function(f,e){u.processResponse(e.status,t,n,e,i,r)}},extractResponseData:function(n){return Ext.isDefined(n.result)?n.result:n.data},setException:function(n,t){n.setException(t.message)},buildUrl:function(){return""}});Ext.define("Ext.data.DirectStore",{extend:"Ext.data.Store",alias:"store.direct",requires:["Ext.data.proxy.Direct"],constructor:function(n){if(n=Ext.apply({},n),!n.proxy){var t={type:"direct",reader:{type:"json"}};Ext.copyTo(t,n,"paramOrder,paramsAsHash,directFn,api,simpleSortMode");Ext.copyTo(t.reader,n,"totalProperty,root,idProperty");n.proxy=t}this.callParent([n])}});Ext.define("Ext.data.JsonP",{singleton:!0,requestCount:0,requests:{},timeout:3e4,disableCaching:!0,disableCachingParam:"_dc",callbackKey:"callback",request:function(n){n=Ext.apply({},n);var t=this,c=Ext.isDefined(n.disableCaching)?n.disableCaching:t.disableCaching,l=n.disableCachingParam||t.disableCachingParam,u=++t.requestCount,f=n.callbackName||"callback"+u,e=n.callbackKey||t.callbackKey,o=Ext.isDefined(n.timeout)?n.timeout:t.timeout,r=Ext.apply({},n.params),s=n.url,a=Ext.name,i,h;return r[e]=a+".data.JsonP."+f,c&&(r[l]=(new Date).getTime()),h=t.createScript(s,r,n),t.requests[u]=i={url:s,params:r,script:h,id:u,scope:n.scope,success:n.success,failure:n.failure,callback:n.callback,callbackKey:e,callbackName:f},o>0&&(i.timeout=setTimeout(Ext.bind(t.handleTimeout,t,[i]),o)),t.setupErrorHandling(i),t[f]=Ext.bind(t.handleResponse,t,[i],!0),t.loadScript(i),i},abort:function(n){var i=this,t=i.requests,r;if(n)n.id||(n=t[n]),i.handleAbort(n);else for(r in t)t.hasOwnProperty(r)&&i.abort(t[r])},setupErrorHandling:function(n){n.script.onerror=Ext.bind(this.handleError,this,[n])},handleAbort:function(n){n.errorType="abort";this.handleResponse(null,n)},handleError:function(n){n.errorType="error";this.handleResponse(null,n)},cleanupErrorHandling:function(n){n.script.onerror=null},handleTimeout:function(n){n.errorType="timeout";this.handleResponse(null,n)},handleResponse:function(n,t){var i=!0;t.timeout&&clearTimeout(t.timeout);delete this[t.callbackName];delete this.requests[t.id];this.cleanupErrorHandling(t);Ext.fly(t.script).remove();t.errorType?(i=!1,Ext.callback(t.failure,t.scope,[t.errorType])):Ext.callback(t.success,t.scope,[n]);Ext.callback(t.callback,t.scope,[i,n,t.errorType])},createScript:function(n,t){var i=document.createElement("script");return i.setAttribute("src",Ext.urlAppend(n,Ext.Object.toQueryString(t))),i.setAttribute("async",!0),i.setAttribute("type","text/javascript"),i},loadScript:function(n){Ext.getHead().appendChild(n.script)}});Ext.define("Ext.data.proxy.JsonP",{extend:"Ext.data.proxy.Server",alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],requires:["Ext.data.JsonP"],defaultWriterType:"base",callbackKey:"callback",recordParam:"records",autoAppendParams:!0,constructor:function(){this.addEvents("exception");this.callParent(arguments)},doRequest:function(n,t,i){var u=this,f=u.getWriter(),r=u.buildRequest(n),e=r.params;return n.allowWrite()&&(r=f.write(r)),Ext.apply(r,{callbackKey:u.callbackKey,timeout:u.timeout,scope:u,disableCaching:!1,callback:u.createRequestCallback(r,n,t,i)}),u.autoAppendParams&&(r.params={}),r.jsonp=Ext.data.JsonP.request(r),r.params=e,n.setStarted(),u.lastRequest=r,r},createRequestCallback:function(n,t,i,r){var u=this;return function(f,e){delete u.lastRequest;u.processResponse(f,t,n,e,i,r)}},setException:function(n){n.setException(n.request.jsonp.errorType)},buildUrl:function(n){var i=this,t=i.callParent(arguments),o=Ext.apply({},n.params),r=o.filters,u,f,e;if(delete o.filters,i.autoAppendParams&&(t=Ext.urlAppend(t,Ext.Object.toQueryString(o))),r&&r.length)for(e=0;e<r.length;e++)f=r[e],f.value&&(t=Ext.urlAppend(t,f.property+"="+f.value));return u=n.records,Ext.isArray(u)&&u.length>0&&(t=Ext.urlAppend(t,Ext.String.format("{0}={1}",i.recordParam,i.encodeRecords(u)))),t},destroy:function(){this.abort();this.callParent(arguments)},abort:function(){var n=this.lastRequest;n&&Ext.data.JsonP.abort(n.jsonp)},encodeRecords:function(n){for(var i="",t=0,r=n.length;t<r;t++)i+=Ext.Object.toQueryString(n[t].getData());return i}});Ext.define("Ext.data.JsonPStore",{extend:"Ext.data.Store",alias:"store.jsonp",requires:["Ext.data.proxy.JsonP","Ext.data.reader.Json"],constructor:function(n){n=Ext.apply({proxy:{type:"jsonp",reader:"json"}},n);this.callParent([n])}});Ext.define("Ext.data.JsonStore",{extend:"Ext.data.Store",alias:"store.json",requires:["Ext.data.proxy.Ajax","Ext.data.reader.Json","Ext.data.writer.Json"],constructor:function(n){n=Ext.apply({proxy:{type:"ajax",reader:"json",writer:"json"}},n);this.callParent([n])}});Ext.define("Ext.data.NodeInterface",{requires:["Ext.data.Field"],statics:{decorate:function(n){var t,i;(typeof n=="string"?n=Ext.ModelManager.getModel(n):n.isModel&&(n=Ext.ModelManager.getModel(n.modelName)),n.prototype.isNode)||(t=n.prototype.idProperty,idField=n.prototype.fields.get(t),i=n.prototype.fields.get(t).type.type,n.override(this.getPrototypeBody()),this.applyFields(n,[{name:"parentId",type:i,defaultValue:null,useNull:idField.useNull},{name:"index",type:"int",defaultValue:null,persist:!1},{name:"depth",type:"int",defaultValue:0,persist:!1},{name:"expanded",type:"bool",defaultValue:!1,persist:!1},{name:"expandable",type:"bool",defaultValue:!0,persist:!1},{name:"checked",type:"auto",defaultValue:null,persist:!1},{name:"leaf",type:"bool",defaultValue:!1},{name:"cls",type:"string",defaultValue:null,persist:!1},{name:"iconCls",type:"string",defaultValue:null,persist:!1},{name:"icon",type:"string",defaultValue:null,persist:!1},{name:"root",type:"boolean",defaultValue:!1,persist:!1},{name:"isLast",type:"boolean",defaultValue:!1,persist:!1},{name:"isFirst",type:"boolean",defaultValue:!1,persist:!1},{name:"allowDrop",type:"boolean",defaultValue:!0,persist:!1},{name:"allowDrag",type:"boolean",defaultValue:!0,persist:!1},{name:"loaded",type:"boolean",defaultValue:!1,persist:!1},{name:"loading",type:"boolean",defaultValue:!1,persist:!1},{name:"href",type:"string",defaultValue:null,persist:!1},{name:"hrefTarget",type:"string",defaultValue:null,persist:!1},{name:"qtip",type:"string",defaultValue:null,persist:!1},{name:"qtitle",type:"string",defaultValue:null,persist:!1},{name:"children",type:"auto",defaultValue:null,persist:!1}]))},applyFields:function(n,t){for(var f=n.prototype,u=f.fields,e=u.keys,o=t.length,r,i=0;i<o;i++)r=t[i],Ext.Array.contains(e,r.name)||u.add(new Ext.data.Field(r))},getPrototypeBody:function(){return{isNode:!0,constructor:function(){var n=this;return this.callParent(arguments),Ext.applyIf(n,{firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,childNodes:[]}),n.enableBubble(["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort"]),n},createNode:function(n){return Ext.isObject(n)&&!n.isModel&&(n=Ext.ModelManager.create(n,this.modelName)),n.childNodes||Ext.applyIf(n,{firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,childNodes:[]}),n},isLeaf:function(){return this.get("leaf")===!0},setFirstChild:function(n){this.firstChild=n},setLastChild:function(n){this.lastChild=n},updateInfo:function(n){for(var t=this,f=t.isRoot(),i=t.parentNode,s=!i||f?!0:i.firstChild===t,h=!i||f?!0:i.lastChild===t,e=0,u=t,o=t.childNodes,c=o.length,r=0,l=t.phantom;u.parentNode;)++e,u=u.parentNode;for(t.beginEdit(),t.set({isFirst:s,isLast:h,depth:e,index:i?i.indexOf(t):0,parentId:i?i.getId():null}),t.endEdit(!0),n&&(t.commit(),t.phantom=l),r=0;r<c;r++)o[r].updateInfo(n)},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return!this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var n=this;return n.get("expandable")?!(n.isLeaf()||n.isLoaded()&&!n.hasChildNodes()):!1},triggerUIUpdate:function(){this.afterEdit([])},appendChild:function(n,t,i){var r=this,o,s,u,f,e;if(Ext.isArray(n)){for(r.callStore("suspendAutoSync"),o=0,s=n.length-1;o<s;o++)r.appendChild(n[o]);r.callStore("resumeAutoSync");r.appendChild(n[s])}else{if(n=r.createNode(n),t!==!0&&(!r.hasListeners.beforeappend||r.fireEvent("beforeappend",r,n)===!1))return!1;if(u=r.childNodes.length,f=n.parentNode,f){if(t!==!0&&(!r.hasListeners.beforeremove||n.fireEvent("beforemove",n,f,r,u)===!1))return!1;f.removeChild(n,!1,!1,!0)}return u=r.childNodes.length,u===0&&r.setFirstChild(n),r.childNodes.push(n),n.parentNode=r,n.nextSibling=null,r.setLastChild(n),e=r.childNodes[u-1],e?(n.previousSibling=e,e.nextSibling=n,e.updateInfo(i)):n.previousSibling=null,n.updateInfo(i),r.isLoaded()?r.childNodes.length===1&&r.triggerUIUpdate():r.set("loaded",!0),!n.isLeaf()&&n.phantom&&n.set("loaded",!0),t!==!0&&(r.fireEvent("append",r,n,u),f&&n.fireEvent("move",n,f,r,u)),n}},getBubbleTarget:function(){return this.parentNode},removeChild:function(n,t,i,r){var u=this,f=u.indexOf(n),e,o;if(f==-1||i!==!0&&(!u.hasListeners.beforeremove||u.fireEvent("beforeremove",u,n,!!r)===!1))return!1;for(Ext.Array.erase(u.childNodes,f,1),u.firstChild==n&&u.setFirstChild(n.nextSibling),u.lastChild==n&&u.setLastChild(n.previousSibling),n.previousSibling&&(n.previousSibling.nextSibling=n.nextSibling),n.nextSibling&&(n.nextSibling.previousSibling=n.previousSibling),e=f>0?f-1:0,o=u.childNodes.length;e<o;e++)u.childNodes[e].updateInfo();return u.childNodes.length||u.triggerUIUpdate(),i!==!0&&u.hasListeners.remove&&u.fireEvent("remove",u,n,!!r),t?n.destroy(!0):n.clear(),n},copy:function(n,t){var i=this,u=i.callOverridden(arguments),f=i.childNodes?i.childNodes.length:0,r;if(t)for(r=0;r<f;r++)u.appendChild(i.childNodes[r].copy(!0));return u},clear:function(n){var t=this;t.parentNode=t.previousSibling=t.nextSibling=null;n&&(t.firstChild=t.lastChild=null)},destroy:function(n){var t=this,u=t.destroyOptions,r=t.childNodes,f=r.length,i;if(n===!0){for(t.clear(!0),i=0;i<f;i++)r[i].destroy(!0);t.childNodes=null;delete t.destroyOptions;t.callOverridden([u])}else t.destroyOptions=n,t.remove(!0)},insertBefore:function(n,t,i){var r=this,s=r.indexOf(t),f=n.parentNode,u=s,h,e,o;if(!t)return r.appendChild(n);if(n==t||(n=r.createNode(n),i!==!0&&(!r.hasListeners.beforeinsert||r.fireEvent("beforeinsert",r,n,t)===!1)))return!1;if(f==r&&r.indexOf(n)<s&&u--,f){if(i!==!0&&(!r.hasListeners.beforeremove||n.fireEvent("beforemove",n,f,r,s,t)===!1))return!1;f.removeChild(n,!1,!1,!0)}for(u===0&&r.setFirstChild(n),Ext.Array.splice(r.childNodes,u,0,n),n.parentNode=r,n.nextSibling=t,t.previousSibling=n,e=r.childNodes[u-1],e?(n.previousSibling=e,e.nextSibling=n):n.previousSibling=null,o=u>0?u-1:0,h=r.childNodes.length;o<h;o++)r.childNodes[o].updateInfo();return r.isLoaded()?r.childNodes.length===1&&r.triggerUIUpdate():r.set("loaded",!0),!n.isLeaf()&&n.phantom&&n.set("loaded",!0),i!==!0&&(r.hasListeners.insert&&r.fireEvent("insert",r,n,t),f&&r.hasListeners.move&&n.fireEvent("move",n,f,r,u,t)),n},insertChild:function(n,t){var i=this.childNodes[n];return i?this.insertBefore(t,i):this.appendChild(t)},remove:function(n,t){var i=this.parentNode;return i&&i.removeChild(this,n,t),this},removeAll:function(n,t){for(var r=this.childNodes,i;i=r[0];)this.removeChild(i,n,t);return this},getChildAt:function(n){return this.childNodes[n]},replaceChild:function(n,t,i){var r=t?t.nextSibling:null;return this.removeChild(t,!1,i),this.insertBefore(n,r,i),t},indexOf:function(n){return Ext.Array.indexOf(this.childNodes,n)},indexOfId:function(n){for(var i=this.childNodes,r=i.length,t=0;t<r;++t)if(i[t].getId()===n)return t;return-1},getPath:function(n,t){n=n||this.idProperty;t=t||"/";for(var r=[this.get(n)],i=this.parentNode;i;)r.unshift(i.get(n)),i=i.parentNode;return t+r.join(t)},getDepth:function(){return this.get("depth")},bubble:function(n,t,i){for(var r=this;r;){if(n.apply(t||r,i||[r])===!1)break;r=r.parentNode}},cascade:function(){return Ext.isDefined(Ext.global.console)&&Ext.global.console.warn("Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead."),this.cascadeBy.apply(this,arguments)},cascadeBy:function(n,t,i){if(n.apply(t||this,i||[this])!==!1)for(var u=this.childNodes,f=u.length,r=0;r<f;r++)u[r].cascadeBy(n,t,i)},eachChild:function(n,t,i){for(var u=this.childNodes,f=u.length,r=0;r<f;r++)if(n.apply(t||this,i||[u[r]])===!1)break},findChild:function(n,t,i){return this.findChildBy(function(){return this.get(n)==t},null,i)},findChildBy:function(n,t,i){for(var e=this.childNodes,o=e.length,u=0,r,f;u<o;u++){if(r=e[u],n.call(t||r,r)===!0)return r;if(i&&(f=r.findChildBy(n,t,i),f!==null))return f}return null},contains:function(n){return n.isAncestor(this)},isAncestor:function(n){for(var t=this.parentNode;t;){if(t==n)return!0;t=t.parentNode}return!1},sort:function(n,t,i){var f=this.childNodes,e=f.length,r,u;if(e>0){for(Ext.Array.sort(f,n),r=0;r<e;r++)u=f[r],u.previousSibling=f[r-1],u.nextSibling=f[r+1],r===0&&this.setFirstChild(u),r==e-1&&this.setLastChild(u),u.updateInfo(),t&&!u.isLeaf()&&u.sort(n,!0,!0);i!==!0&&this.fireEvent("sort",this,f)}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isLoading:function(){return this.get("loading")},isRoot:function(){return!this.parentNode},isVisible:function(){for(var n=this.parentNode;n;){if(!n.isExpanded())return!1;n=n.parentNode}return!0},expand:function(n,t,i){var r=this;if(r.isLeaf())Ext.callback(t,i||r);else if(r.isLoading())r.on("expand",function(){r.expand(n,t,i)},r,{single:!0});else r.isExpanded()?n?r.expandChildren(!0,t,i):Ext.callback(t,i||r,[r.childNodes]):r.fireEvent("beforeexpand",r,function(){r.set("expanded",!0);r.hasListeners.expand&&r.fireEvent("expand",r,r.childNodes,!1);n?r.expandChildren(!0,t,i):Ext.callback(t,i||r,[r.childNodes])},r)},expandChildren:function(n,t,i){for(var r=this,u=0,e=r.childNodes,s=e.length,o,f=0;u<s;++u)o=e[u],o.isLeaf()||(f++,e[u].expand(n,function(){f--;t&&!f&&Ext.callback(t,i||r,[r.childNodes])}));!f&&t&&Ext.callback(t,i||r,[r.childNodes])},collapse:function(n,t,i){var r=this;r.isLeaf()?Ext.callback(t,i||r,[r.childNodes]):!r.collapsing&&r.isExpanded()?r.fireEvent("beforecollapse",r,function(){r.set("expanded",!1);r.hasListeners.collapse&&r.fireEvent("collapse",r,r.childNodes,!1);n?r.collapseChildren(!0,t,i):Ext.callback(t,i||r,[r.childNodes])},r):n?r.collapseChildren(!0,t,i):Ext.callback(t,i||r,[r.childNodes])},collapseChildren:function(n,t,i){for(var r=this,u=0,e=r.childNodes,s=e.length,o,f=0;u<s;++u)o=e[u],o.isLeaf()||(f++,e[u].collapse(n,function(){f--;t&&!f&&Ext.callback(t,i||r,[r.childNodes])}));!f&&t&&Ext.callback(t,i||r,[r.childNodes])}}}}});Ext.define("Ext.data.NodeStore",{extend:"Ext.data.Store",alias:"store.node",requires:["Ext.data.NodeInterface"],node:null,recursive:!1,rootVisible:!1,constructor:function(n){var t=this,i;n=n||{};Ext.apply(t,n);n.proxy={type:"proxy"};t.callParent([n]);i=t.node;i&&(t.node=null,t.setNode(i))},setNode:function(n){var t=this;if(t.node&&t.node!=n&&(t.mun(t.node,{expand:t.onNodeExpand,collapse:t.onNodeCollapse,append:t.onNodeAppend,insert:t.onNodeInsert,remove:t.onNodeRemove,sort:t.onNodeSort,scope:t}),t.node=null),n&&(Ext.data.NodeInterface.decorate(n.self),t.removeAll(),t.rootVisible?t.add(n):n.isExpanded()||t.treeStore.autoLoad===!1||n.expand(),t.mon(n,{expand:t.onNodeExpand,collapse:t.onNodeCollapse,append:t.onNodeAppend,insert:t.onNodeInsert,remove:t.onNodeRemove,sort:t.onNodeSort,scope:t}),t.node=n,n.isExpanded()&&n.isLoaded()))t.onNodeExpand(n,n.childNodes,!0)},onNodeSort:function(n,t){var i=this;if(i.indexOf(n)!==-1||n===i.node&&!i.rootVisible&&n.isExpanded()){i.onNodeCollapse(n,t,!0);i.onNodeExpand(n,t,!0)}},onNodeExpand:function(n,t,i){var r=this,e=r.indexOf(n)+1,o=t?t.length:0,f,u;if((r.recursive||n===r.node)&&(n===this.node||r.isVisible(n))&&(i||r.fireEvent("beforeexpand",n,t,e)!==!1)){if(o)for(r.insert(e,t),f=0;f<o;f++)if(u=t[f],u.isExpanded())if(u.isLoaded())r.onNodeExpand(u,u.childNodes,!0);else u.set("expanded",!1),u.expand();i||r.fireEvent("expand",n,t)}},onNodeCollapse:function(n,t,i){var r=this,o=t.length,e=r.indexOf(n)+1,f,u;if((r.recursive||n===r.node)&&(i||r.fireEvent("beforecollapse",n,t,e)!==!1)){for(f=0;f<o;f++)if(u=t[f],r.remove(u),u.isExpanded())r.onNodeCollapse(u,u.childNodes,!0);i||r.fireEvent("collapse",n,t,e)}},onNodeAppend:function(n,t,i){var u=this,f,r;if(u.isVisible(t)){if(i===0)f=n;else{for(r=t.previousSibling;r.isExpanded()&&r.lastChild;)r=r.lastChild;f=r}if(u.insert(u.indexOf(f)+1,t),!t.isLeaf()&&t.isExpanded())if(t.isLoaded())u.onNodeExpand(t,t.childNodes,!0);else t.set("expanded",!1),t.expand()}},onNodeInsert:function(n,t,i){var r=this,u=this.indexOf(i);if(u!=-1&&r.isVisible(t)&&(r.insert(u,t),!t.isLeaf()&&t.isExpanded()))if(t.isLoaded())r.onNodeExpand(t,t.childNodes,!0);else t.set("expanded",!1),t.expand()},onNodeRemove:function(n,t){var i=this;if(i.indexOf(t)!=-1){if(!t.isLeaf()&&t.isExpanded())i.onNodeCollapse(t,t.childNodes,!0);i.remove(t)}},isVisible:function(n){for(var t=n.parentNode;t;){if(t===this.node&&!this.rootVisible&&t.isExpanded())return!0;if(this.indexOf(t)===-1||!t.isExpanded())return!1;t=t.parentNode}return!0}});Ext.define("Ext.data.Request",{action:undefined,params:undefined,method:"GET",url:undefined,constructor:function(n){Ext.apply(this,n)}});Ext.define("Ext.data.SequentialIdGenerator",{extend:"Ext.data.IdGenerator",alias:"idgen.sequential",constructor:function(){var n=this;n.callParent(arguments);n.parts=[n.prefix,""]},prefix:"",seed:1,generate:function(){var n=this,t=n.parts;return t[1]=n.seed++,t.join("")}});Ext.define("Ext.data.Tree",{alias:"data.tree",mixins:{observable:"Ext.util.Observable"},root:null,constructor:function(n){var t=this;t.mixins.observable.constructor.call(t);n&&t.setRootNode(n)},getRootNode:function(){return this.root},setRootNode:function(n){var t=this;if(t.root=n,t.fireEvent("beforeappend",null,n)!==!1){n.set("root",!0);n.updateInfo();n.commit();n.on({scope:t,insert:t.onNodeInsert,append:t.onNodeAppend,remove:t.onNodeRemove});t.relayEvents(n,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort","rootchange"]);t.nodeHash={};t.registerNode(n);t.fireEvent("append",null,n);t.fireEvent("rootchange",n)}return n},flatten:function(){return Ext.Object.getValues(this.nodeHash)},onNodeInsert:function(n,t){this.registerNode(t,!0)},onNodeAppend:function(n,t){this.registerNode(t,!0)},onNodeRemove:function(n,t){this.unregisterNode(t,!0)},onNodeIdChanged:function(n,t,i){var r=this.nodeHash;r[i]=n;delete r[t||n.internalId]},getNodeById:function(n){return this.nodeHash[n]},registerNode:function(n,t){var i=this;i.nodeHash[n.getId()||n.internalId]=n;n.on("idchanged",i.onNodeIdChanged,i);t===!0&&n.eachChild(function(n){i.registerNode(n,!0)})},unregisterNode:function(n,t){delete this.nodeHash[n.getId()||n.internalId];t===!0&&n.eachChild(function(n){this.unregisterNode(n,!0)},this)},sort:function(n,t){this.getRootNode().sort(n,t)},filter:function(n,t){this.getRootNode().filter(n,t)}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.AbstractStore",alias:"store.tree",requires:["Ext.util.Sorter","Ext.data.Tree","Ext.data.NodeInterface"],clearOnLoad:!0,clearRemovedOnLoad:!0,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",rootProperty:"children",folderSort:!1,constructor:function(n){var t=this,i,u,r;n=Ext.apply({},n);u=n.fields||t.fields;u||(n.fields=[{name:"text",type:"string"}],r=n.defaultRootProperty||t.defaultRootProperty,r!==t.defaultRootProperty&&n.fields.push({name:r,type:"auto",defaultValue:null,persist:!1}));t.callParent([n]);t.tree=new Ext.data.Tree;t.relayEvents(t.tree,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort","rootchange"]);t.tree.on({scope:t,remove:t.onNodeRemove,beforeexpand:t.onBeforeNodeExpand,beforecollapse:t.onBeforeNodeCollapse,append:t.onNodeAdded,insert:t.onNodeAdded,sort:t.onNodeSort});t.onBeforeSort();i=t.root;i&&(delete t.root,t.setRootNode(i));Ext.isDefined(t.nodeParameter)&&(Ext.isDefined(Ext.global.console)&&Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead."),t.nodeParam=t.nodeParameter,delete t.nodeParameter)},setProxy:function(n){var t,i;n instanceof Ext.data.proxy.Proxy?i=Ext.isEmpty(n.getReader().root):Ext.isString(n)?i=!0:(t=n.reader,i=!(t&&!Ext.isEmpty(t.root)));n=this.callParent(arguments);i&&(t=n.getReader(),t.root=this.defaultRootProperty,t.buildExtractors(!0))},onBeforeSort:function(){this.folderSort&&this.sort({property:"leaf",direction:"ASC"},"prepend",!1)},onBeforeNodeExpand:function(n,t,i){if(n.isLoaded())Ext.callback(t,i||n,[n.childNodes]);else if(n.isLoading())this.on("load",function(){Ext.callback(t,i||n,[n.childNodes])},this,{single:!0});else this.read({node:n,callback:function(){Ext.callback(t,i||n,[n.childNodes])}})},getNewRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterNew)},getUpdatedRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterUpdated)},onBeforeNodeCollapse:function(n,t,i){t.call(i||n,n.childNodes)},onNodeRemove:function(n,t,i){var r=this,u=r.removed;t.isReplace||Ext.Array.indexOf(u,t)!=-1||u.push(t);!r.autoSync||r.autoSyncSuspended||i||r.sync()},onNodeAdded:function(n,t){var i=this,e=i.getProxy(),r=e.getReader(),f=t.raw||t[t.persistenceProperty],u;Ext.Array.remove(i.removed,t);t.isLeaf()||(u=r.getRoot(f),u&&(i.fillNode(t,r.extractData(u)),delete f[r.root]));i.autoSync&&!i.autoSyncSuspended&&(t.phantom||t.dirty)&&i.sync()},onNodeSort:function(){this.autoSync&&!this.autoSyncSuspended&&this.sync()},setRootNode:function(n,t){var i=this,r=i.model,u=r.prototype.idProperty;return n=n||{},n.isModel?n.isModel&&!n.isNode&&Ext.data.NodeInterface.decorate(r):(Ext.applyIf(n,{id:i.defaultRootId,text:"Root",allowDrag:!1}),n[u]===undefined&&(n[u]=i.defaultRootId),Ext.data.NodeInterface.decorate(r),n=Ext.ModelManager.create(n,r)),i.getProxy().getReader().buildExtractors(!0),i.tree.setRootNode(n),t!==!0&&!n.isLoaded()&&(i.autoLoad===!0||n.isExpanded())&&i.load({node:n}),n},getRootNode:function(){return this.tree.getRootNode()},getNodeById:function(n){return this.tree.getNodeById(n)},getById:function(n){return this.getNodeById(n)},load:function(n){n=n||{};n.params=n.params||{};var t=this,i=n.node||t.tree.getRootNode();if(i||(i=t.setRootNode({expanded:!0},!0)),n.id=i.getId(),t.clearOnLoad){t.clearRemovedOnLoad&&t.clearRemoved(i);t.tree.un("remove",t.onNodeRemove,t);i.removeAll(!1);t.tree.on("remove",t.onNodeRemove,t)}return Ext.applyIf(n,{node:i}),n.params[t.nodeParam]=i?i.getId():"root",i&&i.set("loading",!0),t.callParent([n])},clearRemoved:function(n){var u=this,f=u.removed,l=n.getId(),e=f.length,i=e,s={},h=[],c={},t,r,o;if(n===u.getRootNode()){u.removed=[];return}for(;i--;)t=f[i],c[t.getId()]=t;for(i=e;i--;){for(t=f[i],r=t;r&&r.getId()!==l;)o=r.get("parentId"),r=r.parentNode||u.getNodeById(o)||c[o];r&&(s[t.getId()]=t)}for(i=0;i<e;i++)t=f[i],s[t.getId()]||h.push(t);u.removed=h},fillNode:function(n,t){for(var i=this,e=t?t.length:0,o=i.sorters,u,f=!1,c=e&&i.sortOnLoad&&!i.remoteSort&&o&&o.items&&o.items.length,s,h,r=1;r<e;r++)if(s=t[r],h=t[r-1],f=s[s.persistenceProperty].index!=h[h.persistenceProperty].index,f)break;for(c?(f&&i.sorters.insert(0,i.indexSorter),u=new Ext.util.MixedCollection,u.addAll(t),u.sort(i.sorters.items),t=u.items,i.sorters.remove(i.indexSorter)):f&&Ext.Array.sort(t,i.sortByIndex),n.set("loaded",!0),r=0;r<e;r++)n.appendChild(t[r],undefined,!0);return t},sortByIndex:function(n,t){return n[n.persistenceProperty].index-t[t.persistenceProperty].index},onProxyLoad:function(n){var t=this,r=n.wasSuccessful(),i=n.getRecords(),u=n.node;t.loading=!1;u.set("loading",!1);r&&(t.clearOnLoad||(i=t.cleanRecords(u,i)),i=t.fillNode(u,i));t.fireEvent("read",t,n.node,i,r);t.fireEvent("load",t,n.node,i,r);Ext.callback(n.callback,n.scope||t,[i,n,r])},onCreateRecords:function(n){this.callParent(arguments);for(var t=0,r=n.length,u=this.tree,i;t<r;++t){i=n[t];u.onNodeIdChanged(i,null,i.getId())}},cleanRecords:function(n,t){for(var f={},e=n.childNodes,i=0,r=e.length,o=[],u;i<r;++i)f[e[i].getId()]=!0;for(i=0,r=t.length;i<r;++i)u=t[i],f[u.getId()]||o.push(u);return o},removeAll:function(){var n=this.getRootNode();n&&n.destroy(!0);this.fireEvent("clear",this)},doSort:function(n){var t=this;t.remoteSort?t.load():(t.tree.sort(n,!0),t.fireEvent("datachanged",t),t.fireEvent("refresh",t));t.fireEvent("sort",t)}},function(){var n=this.prototype;n.indexSorter=new Ext.util.Sorter({sorterFn:n.sortByIndex})});Ext.define("Ext.data.UuidGenerator",function(){function n(n,t){var i=n.toString(16);return i.length>t?i=i.substring(i.length-t):i.length<t&&(i=Ext.String.leftPad(i,t,"0")),i}function i(n,t){var i=Math.random()*(t-n+1);return Math.floor(i)+n}function r(n){if(typeof n=="number"){var i=Math.floor(n/t);return{lo:Math.floor(n-i*t),hi:i}}return n}var u=Math.pow(2,14),f=Math.pow(2,16),e=Math.pow(2,28),t=Math.pow(2,32);return{extend:"Ext.data.IdGenerator",alias:"idgen.uuid",id:"uuid",version:4,constructor:function(){var n=this;n.callParent(arguments);n.parts=[];n.init()},generate:function(){var i=this,u=i.parts,r=i.timestamp;return u[0]=n(r.lo,8),u[1]=n(r.hi&65535,4),u[2]=n(r.hi>>>16&4095|i.version<<12,4),u[3]=n(128|i.clockSeq>>>8&63,2)+n(i.clockSeq&255,2),u[4]=n(i.salt.hi,4)+n(i.salt.lo,8),i.version==4?i.init():(++r.lo,r.lo>=t&&(r.lo=0,++r.hi)),u.join("-").toLowerCase()},getRecId:function(n){return n.getId()},init:function(){var n=this,o,s;n.version==4?(n.clockSeq=i(0,u-1),o=n.salt||(n.salt={}),s=n.timestamp||(n.timestamp={}),o.lo=i(0,t-1),o.hi=i(0,f-1),s.lo=i(0,t-1),s.hi=i(0,e-1)):(n.salt=r(n.salt),n.timestamp=r(n.timestamp),n.salt.hi|=256)},reconfigure:function(n){Ext.apply(this,n);this.init()}}}());Ext.define("Ext.data.reader.Xml",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.XmlReader",alias:"reader.xml",createAccessor:function(n){var t=this;return Ext.isEmpty(n)?Ext.emptyFn:Ext.isFunction(n)?n:function(i){return t.getNodeValue(Ext.DomQuery.selectNode(n,i))}},getNodeValue:function(n){return n&&n.firstChild?n.firstChild.nodeValue:undefined},getResponseData:function(n){var r=n.responseXML,t,i;return r?this.readRecords(r):(i="XML data not found in the response",t=new Ext.data.ResultSet({total:0,count:0,records:[],success:!1,message:i}),this.fireEvent("exception",this,n,t),Ext.Logger.warn(i),t)},getData:function(n){return n.documentElement||n},getRoot:function(n){var i=n.nodeName,t=this.root;return!t||i&&i==t?n:Ext.DomQuery.isXml(n)?Ext.DomQuery.selectNode(t,n):void 0},extractData:function(n){var t=this.record;return n=t!=n.nodeName?Ext.DomQuery.select(t,n):[n],this.callParent([n])},getAssociatedDataRoot:function(n,t){return Ext.DomQuery.select(t,n)[0]},readRecords:function(n){return Ext.isArray(n)&&(n=n[0]),this.xmlData=n,this.callParent([n])},createFieldAccessExpression:function(n,t,i){var r=n.mapping||n.name;return typeof r=="function"?t+".mapping("+i+", this)":'me.getNodeValue(Ext.DomQuery.selectNode("'+r+'", '+i+"))"}});Ext.define("Ext.data.writer.Xml",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.XmlWriter",alias:"writer.xml",documentRoot:"xmlData",defaultDocumentRoot:"xmlData",header:"",record:"record",writeRecords:function(n,t){var f=this,i=[],o=0,h=t.length,r=f.documentRoot,s=f.record,c=t.length!==1,e,u;for(i.push(f.header||""),!r&&c&&(r=f.defaultDocumentRoot),r&&i.push("<",r,">");o<h;++o){e=t[o];i.push("<",s,">");for(u in e)e.hasOwnProperty(u)&&i.push("<",u,">",e[u],"<\/",u,">");i.push("<\/",s,">")}return r&&i.push("<\/",r,">"),n.xmlData=i.join(""),n}});Ext.define("Ext.data.XmlStore",{extend:"Ext.data.Store",alias:"store.xml",requires:["Ext.data.proxy.Ajax","Ext.data.reader.Xml","Ext.data.writer.Xml"],constructor:function(n){n=Ext.apply({proxy:{type:"ajax",reader:"xml",writer:"xml"}},n);this.callParent([n])}});Ext.define("Ext.data.association.BelongsTo",{extend:"Ext.data.association.Association",alternateClassName:"Ext.data.BelongsToAssociation",alias:"association.belongsto",constructor:function(){this.callParent(arguments);var n=this,i=n.ownerModel.prototype,t=n.associatedName,r=n.getterName||"get"+t,u=n.setterName||"set"+t;Ext.applyIf(n,{name:t,foreignKey:t.toLowerCase()+"_id",instanceName:t+"BelongsToInstance",associationKey:t.toLowerCase()});i[r]=n.createGetter();i[u]=n.createSetter()},createSetter:function(){var n=this,t=n.foreignKey;return function(n,i,r){return n&&n.isModel&&(n=n.getId()),this.set(t,n),Ext.isFunction(i)&&(i={callback:i,scope:r||this}),Ext.isObject(i)?this.save(i):void 0}},createGetter:function(){var n=this,i=n.associatedName,r=n.associatedModel,u=n.foreignKey,f=n.primaryKey,t=n.instanceName;return function(n,e){n=n||{};var o=this,l=o.get(u),c,s,h;return n.reload===!0||o[t]===undefined?(s=Ext.ModelManager.create({},i),s.set(f,l),typeof n=="function"&&(n={callback:n,scope:e||o}),c=n.success,n.success=function(n){o[t]=n;c&&c.apply(this,arguments)},r.load(l,n),o[t]=s,s):(s=o[t],h=[s],e=e||n.scope||o,Ext.callback(n,e,h),Ext.callback(n.success,e,h),Ext.callback(n.failure,e,h),Ext.callback(n.callback,e,h),s)}},read:function(n,t,i){n[this.instanceName]=t.read([i]).records[0]}});Ext.define("Ext.util.Inflector",{singleton:!0,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"],[/^person$/,"people"],[/^man$/,"men"],[/^(child)$/,"$1ren"],[/s$/i,"s"],[/$/,"s"]],singulars:[[/(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"],[/people$/i,"person"],[/s$/i,""]],uncountable:["sheep","fish","series","species","money","rice","information","equipment","grass","mud","offspring","deer","means"],singular:function(n,t){this.singulars.unshift([n,t])},plural:function(n,t){this.plurals.unshift([n,t])},clearSingulars:function(){this.singulars=[]},clearPlurals:function(){this.plurals=[]},isTransnumeral:function(n){return Ext.Array.indexOf(this.uncountable,n)!=-1},pluralize:function(n){if(this.isTransnumeral(n))return n;for(var u=this.plurals,f=u.length,r,t,i=0;i<f;i++)if(r=u[i],t=r[0],t==n||t.test&&t.test(n))return n.replace(t,r[1]);return n},singularize:function(n){if(this.isTransnumeral(n))return n;for(var u=this.singulars,f=u.length,r,t,i=0;i<f;i++)if(r=u[i],t=r[0],t==n||t.test&&t.test(n))return n.replace(t,r[1]);return n},classify:function(n){return Ext.String.capitalize(this.singularize(n))},ordinalize:function(n){var t=parseInt(n,10),r=t%10,i=t%100;if(11<=i&&i<=13)return n+"th";switch(r){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd";default:return n+"th"}}},function(){var t={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"};for(var n in t)this.plural(n,t[n]),this.singular(t[n],n)});Ext.define("Ext.data.association.HasMany",{extend:"Ext.data.association.Association",alternateClassName:"Ext.data.HasManyAssociation",requires:["Ext.util.Inflector"],alias:"association.hasmany",constructor:function(){var n=this,i,t;n.callParent(arguments);n.name=n.name||Ext.util.Inflector.pluralize(n.associatedName.toLowerCase());i=n.ownerModel.prototype;t=n.name;Ext.applyIf(n,{storeName:t+"Store",foreignKey:n.ownerName.toLowerCase()+"_id"});i[t]=n.createStore()},createStore:function(){var n=this,f=n.associatedModel,t=n.storeName,r=n.foreignKey,u=n.primaryKey,i=n.filterProperty,e=n.autoLoad,o=n.storeConfig||{};return function(){var n=this,s,h,c={};return n[t]===undefined&&(h=i?{property:i,value:n.get(i),exactMatch:!0}:{property:r,value:n.get(u),exactMatch:!0},c[r]=n.get(u),s=Ext.apply({},o,{model:f,filters:[h],remoteFilter:!1,modelDefaults:c}),n[t]=Ext.data.AbstractStore.create(s),e&&n[t].load()),n[t]}},read:function(n,t,i){var e=n[this.name](),u,f,o,r;if(e.add(t.read(i).records),u=this.associatedModel.prototype.associations.findBy(function(t){return t.type==="belongsTo"&&t.associatedName===n.$className}),u)for(f=e.data.items,o=f.length,r=0;r<o;r++)f[r][u.instanceName]=n}});Ext.define("Ext.data.association.HasOne",{extend:"Ext.data.association.Association",alternateClassName:"Ext.data.HasOneAssociation",alias:"association.hasone",constructor:function(){this.callParent(arguments);var n=this,i=n.ownerModel.prototype,t=n.associatedName,r=n.getterName||"get"+t,u=n.setterName||"set"+t;Ext.applyIf(n,{name:t,foreignKey:t.toLowerCase()+"_id",instanceName:t+"HasOneInstance",associationKey:t.toLowerCase()});i[r]=n.createGetter();i[u]=n.createSetter()},createSetter:function(){var n=this,i=n.ownerModel,t=n.foreignKey;return function(n,i,r){return n&&n.isModel&&(n=n.getId()),this.set(t,n),Ext.isFunction(i)&&(i={callback:i,scope:r||this}),Ext.isObject(i)?this.save(i):void 0}},createGetter:function(){var n=this,e=n.ownerModel,i=n.associatedName,r=n.associatedModel,u=n.foreignKey,f=n.primaryKey,t=n.instanceName;return function(n,e){n=n||{};var o=this,l=o.get(u),c,s,h;return n.reload===!0||o[t]===undefined?(s=Ext.ModelManager.create({},i),s.set(f,l),typeof n=="function"&&(n={callback:n,scope:e||o}),c=n.success,n.success=function(n){o[t]=n;c&&c.apply(this,arguments)},r.load(l,n),o[t]=s,s):(s=o[t],h=[s],e=e||n.scope||o,Ext.callback(n,e,h),Ext.callback(n.success,e,h),Ext.callback(n.failure,e,h),Ext.callback(n.callback,e,h),s)}},read:function(n,t,i){var r=this.associatedModel.prototype.associations.findBy(function(t){return t.type==="belongsTo"&&t.associatedName===n.$className}),u=t.read([i]).records[0];n[this.instanceName]=u;r&&(u[r.instanceName]=n)}});Ext.define("Ext.data.proxy.WebStorage",{extend:"Ext.data.proxy.Client",alternateClassName:"Ext.data.WebStorageProxy",requires:["Ext.data.SequentialIdGenerator"],id:undefined,constructor:function(){this.callParent(arguments);this.cache={};this.id=this.id||(this.store?this.store.storeId:undefined);this.initialize()},create:function(n,t,i){var r=this,o=n.records,h=o.length,s=r.getIds(),f,u,e;for(n.setStarted(),r.isHierarchical===undefined&&(r.isHierarchical=!!o[0].isNode,r.isHierarchical&&r.getStorageObject().setItem(r.getTreeKey(),!0)),e=0;e<h;e++)u=o[e],u.phantom?(u.phantom=!1,f=r.getNextId()):f=u.getId(),r.setRecord(u,f),u.commit(),s.push(f);r.setIds(s);n.setCompleted();n.setSuccessful();typeof t=="function"&&t.call(i||r,n)},read:function(n,t,i){var r=this,e=[],o=0,c=!0,l=r.model,s,a,h,u,f;if(n.setStarted(),r.isHierarchical)e=r.getTreeData();else if(s=r.getIds(),a=s.length,f=n.id,f)u=r.getRecord(f),u!==null&&(h=new l(u,f,u)),h?e.push(h):c=!1;else for(;o<a;o++)f=s[o],u=r.getRecord(f),e.push(new l(u,f,u));c&&n.setSuccessful();n.setCompleted();n.resultSet=Ext.create("Ext.data.ResultSet",{records:e,total:e.length,loaded:!0});typeof t=="function"&&t.call(i||r,n)},update:function(n,t,i){var o=n.records,s=o.length,e=this.getIds(),r,u,f;for(n.setStarted(),f=0;f<s;f++)r=o[f],this.setRecord(r),r.commit(),u=r.getId(),u!==undefined&&Ext.Array.indexOf(e,u)==-1&&e.push(u);this.setIds(e);n.setCompleted();n.setSuccessful();typeof t=="function"&&t.call(i||this,n)},destroy:function(n,t,i){var u=this,e=n.records,o=u.getIds(),c=o.length,s=[],h={},r=e.length,f;for(n.setStarted();r--;)Ext.apply(h,u.removeRecord(e[r]));for(r=0;r<c;r++)f=o[r],h[f]||s.push(f);u.setIds(s);n.setCompleted();n.setSuccessful();typeof t=="function"&&t.call(i||u,n)},getRecord:function(n){var t=this,r=t.cache,i=r[n]?r[n]:Ext.decode(t.getStorageObject().getItem(t.getRecordKey(n)));return i?(r[n]=i,i[t.model.prototype.idProperty]=n,i):null},setRecord:function(n,t){t?n.setId(t):t=n.getId();for(var i=this,c=n.data,r={},l=i.model,h=l.prototype.fields.items,a=h.length,u=0,f,e,o,s;u<a;u++)f=h[u],e=f.name,f.persist&&(r[e]=c[e]);delete r[i.model.prototype.idProperty];n.isNode&&n.get("depth")===1&&delete r.parentId;o=i.getStorageObject();s=i.getRecordKey(t);i.cache[t]=r;o.removeItem(s);o.setItem(s,Ext.encode(r))},removeRecord:function(n){var t=this,i=n.getId(),r={},u,f;if(r[i]=n,t.getStorageObject().removeItem(t.getRecordKey(i)),delete t.cache[i],n.childNodes)for(f=n.childNodes,u=f.length;u--;)Ext.apply(r,t.removeRecord(f[u]));return r},getRecordKey:function(n){return n.isModel&&(n=n.getId()),Ext.String.format("{0}-{1}",this.id,n)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.id)},getTreeKey:function(){return Ext.String.format("{0}-tree",this.id)},getIds:function(){var i=this,n=(i.getStorageObject().getItem(i.id)||"").split(","),r=i.model,u=n.length,f=r.prototype.fields.get(r.prototype.idProperty).type.type==="string",t;if(u==1&&n[0]==="")n=[];else for(t=0;t<u;t++)n[t]=f?n[t]:+n[t];return n},setIds:function(n){var t=this.getStorageObject(),i=n.join(",");t.removeItem(this.id);Ext.isEmpty(i)||t.setItem(this.id,i)},getNextId:function(){var t=this,r=t.getStorageObject(),u=t.getRecordCounterKey(),i=t.model,f=i.prototype.fields.get(i.prototype.idProperty).type.type==="string",n;return n=t.idGenerator.generate(),r.setItem(u,n),f||(n=+n),n},getTreeData:function(){for(var r=this,c=r.getIds(),e=c.length,u=[],l={},i=[],t=0,a=r.model,v=a.prototype.idProperty,o,n,f,s,y,h;t<e;t++)h=c[t],n=r.getRecord(h),u.push(n),l[h]=n,n.parentId||i.push(n);for(o=i.length,Ext.Array.sort(u,r.sortByParentId),t=o;t<e;t++)n=u[t],s=n.parentId,f&&f[v]===s||(f=l[s],f.children=y=[]),y.push(n);for(t=e;t--;)n=u[t],n.children||n.leaf||(n.loaded=!0);for(t=o;t--;)n=i[t],i[t]=new a(n,n[v],n);return i},sortByParentId:function(n,t){return(n.parentId||0)-(t.parentId||0)},initialize:function(){var n=this,t=n.getStorageObject(),i=+t.getItem(n.getRecordCounterKey());t.setItem(n.id,t.getItem(n.id)||"");t.getItem(n.getTreeKey())&&(n.isHierarchical=!0);n.idGenerator=new Ext.data.SequentialIdGenerator({seed:i?i+1:1})},clear:function(){for(var n=this,t=n.getStorageObject(),r=n.getIds(),u=r.length,i=0;i<u;i++)t.removeItem(n.getRecordKey(r[i]));t.removeItem(n.getRecordCounterKey());t.removeItem(n.getTreeKey());t.removeItem(n.id);n.cache={}},getStorageObject:function(){}});Ext.define("Ext.data.proxy.LocalStorage",{extend:"Ext.data.proxy.WebStorage",alias:"proxy.localstorage",alternateClassName:"Ext.data.LocalStorageProxy",getStorageObject:function(){return window.localStorage}});Ext.define("Ext.data.proxy.Rest",{extend:"Ext.data.proxy.Ajax",alternateClassName:"Ext.data.RestProxy",alias:"proxy.rest",appendId:!0,batchActions:!1,buildUrl:function(n){var i=this,r=n.operation,o=r.records||[],u=o[0],f=i.format,t=i.getUrl(n),e=u?u.getId():r.id;return i.appendId&&e&&(t.match(/\/$/)||(t+="/"),t+=e),f&&(t.match(/\.$/)||(t+="."),t+=f),n.url=t,i.callParent(arguments)}},function(){Ext.apply(this.prototype,{actionMethods:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"}})});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.dd.DDTarget",{extend:"Ext.dd.DragDrop",constructor:function(n,t,i){n&&this.initTarget(n,t,i)},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return"DDTarget "+this.id}});Ext.define("Ext.dd.DragTracker",{uses:["Ext.util.Region"],mixins:{observable:"Ext.util.Observable"},active:!1,trackOver:!1,tolerance:5,autoStart:!1,constructor:function(n){var t=this;Ext.apply(t,n);t.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");t.dragRegion=new Ext.util.Region(0,0,0,0);t.el&&t.initEl(t.el);t.mixins.observable.constructor.call(t);t.disabled&&t.disable()},initEl:function(n){var t=this;t.el=Ext.get(n);t.handle=Ext.get(t.delegate);t.delegate=t.handle?undefined:t.delegate;t.handle||(t.handle=t.el);t.mon(t.handle,{mousedown:t.onMouseDown,delegate:t.delegate,scope:t});(t.trackOver||t.overCls)&&t.mon(t.handle,{mouseover:t.onMouseOver,mouseout:t.onMouseOut,delegate:t.delegate,scope:t})},disable:function(){this.disabled=!0},enable:function(){this.disabled=!1},destroy:function(){this.clearListeners();delete this.el},onMouseOver:function(n,t){var i=this;i.disabled||(Ext.EventManager.contains(n)||i.delegate)&&(i.mouseIsOut=!1,i.overCls&&i.el.addCls(i.overCls),i.fireEvent("mouseover",i,n,i.delegate?n.getTarget(i.delegate,t):i.handle))},onMouseOut:function(n){var t=this;t.mouseIsDown?t.mouseIsOut=!0:(t.overCls&&t.el.removeCls(t.overCls),t.fireEvent("mouseout",t,n))},onMouseDown:function(n,t){var i=this,r;if(!i.disabled&&!n.dragTracked&&(i.dragTarget=i.delegate?t:i.handle.dom,i.startXY=i.lastXY=n.getXY(),i.startRegion=Ext.fly(i.dragTarget).getRegion(),i.fireEvent("mousedown",i,n)!==!1&&i.fireEvent("beforedragstart",i,n)!==!1&&i.onBeforeStart(n)!==!1)){i.mouseIsDown=!0;n.dragTracked=!0;r=i.el.dom;Ext.isIE&&r.setCapture&&r.setCapture();i.preventDefault!==!1&&n.preventDefault();Ext.getDoc().on({scope:i,mouseup:i.onMouseUp,mousemove:i.onMouseMove,selectstart:i.stopSelect});i.autoStart&&(i.timer=Ext.defer(i.triggerStart,i.autoStart===!0?1e3:i.autoStart,i,[n]))}},onMouseMove:function(n){var t=this,i=n.getXY(),r=t.startXY;if(n.preventDefault(),t.lastXY=i,!t.active)if(Math.max(Math.abs(r[0]-i[0]),Math.abs(r[1]-i[1]))>t.tolerance)t.triggerStart(n);else return;if(t.fireEvent("mousemove",t,n)===!1)t.onMouseUp(n);else{t.onDrag(n);t.fireEvent("drag",t,n)}},onMouseUp:function(n){var t=this;if(t.mouseIsDown=!1,t.mouseIsOut){t.mouseIsOut=!1;t.onMouseOut(n)}n.preventDefault();Ext.isIE&&document.releaseCapture&&document.releaseCapture();t.fireEvent("mouseup",t,n);t.endDrag(n)},endDrag:function(n){var t=this,i=Ext.getDoc(),r=t.active;if(i.un("mousemove",t.onMouseMove,t),i.un("mouseup",t.onMouseUp,t),i.un("selectstart",t.stopSelect,t),t.clearStart(),t.active=!1,r){t.onEnd(n);t.fireEvent("dragend",t,n)}delete t._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(n){var t=this;t.clearStart();t.active=!0;t.onStart(n);t.fireEvent("dragstart",t,n)},clearStart:function(){var n=this.timer;n&&(clearTimeout(n),delete this.timer)},stopSelect:function(n){return n.stopEvent(),!1},onBeforeStart:function(){},onStart:function(){},onDrag:function(){},onEnd:function(){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){var n=this;if(n.constrainTo){if(n.constrainTo instanceof Ext.util.Region)return n.constrainTo;n._constrainRegion||(n._constrainRegion=Ext.fly(n.constrainTo).getViewRegion())}else n._constrainRegion||(n._constrainRegion=n.getDragCt().getViewRegion());return n._constrainRegion},getXY:function(n){return n?this.constrainModes[n](this,this.lastXY):this.lastXY},getOffset:function(n){var t=this.getXY(n),i=this.startXY;return[t[0]-i[0],t[1]-i[1]]},constrainModes:{point:function(n,t){var i=n.dragRegion,r=n.getConstrainRegion();return r?(i.x=i.left=i[0]=i.right=t[0],i.y=i.top=i[1]=i.bottom=t[1],i.constrainTo(r),[i.left,i.top]):t},dragTarget:function(n,t){var f=n.startXY,i=n.startRegion.copy(),r=n.getConstrainRegion(),u;return r?(i.translateBy(t[0]-f[0],t[1]-f[1]),i.right>r.right&&(t[0]+=u=r.right-i.right,i.left+=u),i.left<r.left&&(t[0]+=r.left-i.left),i.bottom>r.bottom&&(t[1]+=u=r.bottom-i.bottom,i.top+=u),i.top<r.top&&(t[1]+=r.top-i.top),t):t}}});Ext.define("Ext.dd.DragZone",{extend:"Ext.dd.DragSource",constructor:function(n,t){this.callParent([n,t]);this.containerScroll&&Ext.dd.ScrollManager.register(this.el)},getDragData:function(n){return Ext.dd.Registry.getHandleFromEvent(n)},onInitDrag:function(n,t){this.proxy.update(this.dragData.ddel.cloneNode(!0));this.onStartDrag(n,t);return!0},afterRepair:function(){var n=this;Ext.enableFx&&Ext.fly(n.dragData.ddel).highlight(n.repairHighlightColor);n.dragging=!1},getRepairXY:function(){return Ext.fly(this.dragData.ddel).getXY()},destroy:function(){this.callParent();this.containerScroll&&Ext.dd.ScrollManager.unregister(this.el)}});Ext.define("Ext.dd.ScrollManager",{singleton:!0,requires:["Ext.dd.DragDropManager"],constructor:function(){var n=Ext.dd.DragDropManager;n.fireEvents=Ext.Function.createSequence(n.fireEvents,this.onFire,this);n.stopDrag=Ext.Function.createSequence(n.stopDrag,this.onStop,this);this.doScroll=Ext.Function.bind(this.doScroll,this);this.ddmInstance=n;this.els={};this.dragEl=null;this.proc={}},onStop:function(){var n=Ext.dd.ScrollManager;n.dragEl=null;n.clearProc()},triggerRefresh:function(){this.ddmInstance.dragCurrent&&this.ddmInstance.refreshCache(this.ddmInstance.dragCurrent.groups)},doScroll:function(){if(this.ddmInstance.dragCurrent){var n=this.proc,t=n.el,i=n.el.ddScrollConfig,r=i?i.increment:this.increment;this.animate?t.scroll(n.dir,r,!0,this.animDuration,this.triggerRefresh):t.scroll(n.dir,r)&&this.triggerRefresh()}},clearProc:function(){var n=this.proc;n.id&&clearInterval(n.id);n.id=0;n.el=null;n.dir=""},startProc:function(n,t){this.clearProc();this.proc.el=n;this.proc.dir=t;var i=n.ddScrollConfig?n.ddScrollConfig.ddGroup:undefined,r=n.ddScrollConfig&&n.ddScrollConfig.frequency?n.ddScrollConfig.frequency:this.frequency;(i===undefined||this.ddmInstance.dragCurrent.ddGroup==i)&&(this.proc.id=setInterval(this.doScroll,r))},onFire:function(n,t){if(!t&&this.ddmInstance.dragCurrent){this.dragEl&&this.dragEl==this.ddmInstance.dragCurrent||(this.dragEl=this.ddmInstance.dragCurrent,this.refreshCache());var h=n.getXY(),u=n.getPoint(),e=this.proc,o=this.els,s,i,r,f;for(s in o)if(i=o[s],r=i._region,f=i.ddScrollConfig?i.ddScrollConfig:this,r&&r.contains(u)&&i.isScrollable()){if(r.bottom-u.y<=f.vthresh){e.el!=i&&this.startProc(i,"down");return}if(r.right-u.x<=f.hthresh){e.el!=i&&this.startProc(i,"left");return}if(u.y-r.top<=f.vthresh){e.el!=i&&this.startProc(i,"up");return}if(u.x-r.left<=f.hthresh){e.el!=i&&this.startProc(i,"right");return}}this.clearProc()}},register:function(n){if(Ext.isArray(n))for(var t=0,i=n.length;t<i;t++)this.register(n[t]);else n=Ext.get(n),this.els[n.id]=n},unregister:function(n){if(Ext.isArray(n))for(var t=0,i=n.length;t<i;t++)this.unregister(n[t]);else n=Ext.get(n),delete this.els[n.id]},vthresh:25,hthresh:25,increment:100,frequency:500,animate:!0,animDuration:.4,ddGroup:undefined,refreshCache:function(){var n=this.els;for(var t in n)typeof n[t]=="object"&&(n[t]._region=n[t].getRegion())}});Ext.define("Ext.dd.DropTarget",{extend:"Ext.dd.DDTarget",requires:["Ext.dd.ScrollManager"],constructor:function(n,t){this.el=Ext.get(n);Ext.apply(this,t);this.containerScroll&&Ext.dd.ScrollManager.register(this.el);this.callParent([this.el.dom,this.ddGroup||this.group,{isTarget:!0}])},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",isTarget:!0,isNotifyTarget:!0,notifyEnter:function(){return this.overClass&&this.el.addCls(this.overClass),this.dropAllowed},notifyOver:function(){return this.dropAllowed},notifyOut:function(){this.overClass&&this.el.removeCls(this.overClass)},notifyDrop:function(){return!1},destroy:function(){this.callParent();this.containerScroll&&Ext.dd.ScrollManager.unregister(this.el)}});Ext.define("Ext.dd.Registry",{singleton:!0,constructor:function(){this.elements={};this.handles={};this.autoIdSeed=0},getId:function(n,t){if(typeof n=="string")return n;var i=n.id;return i||t===!1||(i="extdd-"+ ++this.autoIdSeed,n.id=i),i},register:function(n,t){if(t=t||{},typeof n=="string"&&(n=document.getElementById(n)),t.ddel=n,this.elements[this.getId(n)]=t,t.isHandle!==!1&&(this.handles[t.ddel.id]=t),t.handles)for(var r=t.handles,i=0,u=r.length;i<u;i++)this.handles[this.getId(r[i])]=t},unregister:function(n){var u=this.getId(n,!1),i=this.elements[u],r,t,f;if(i&&(delete this.elements[u],i.handles))for(r=i.handles,t=0,f=r.length;t<f;t++)delete this.handles[this.getId(r[t],!1)]},getHandle:function(n){return typeof n!="string"&&(n=n.id),this.handles[n]},getHandleFromEvent:function(n){var t=n.getTarget();return t?this.handles[t.id]:null},getTarget:function(n){return typeof n!="string"&&(n=n.id),this.elements[n]},getTargetFromEvent:function(n){var t=n.getTarget();return t?this.elements[t.id]||this.handles[t.id]:null}});Ext.define("Ext.dd.DropZone",{extend:"Ext.dd.DropTarget",requires:["Ext.dd.Registry"],getTargetFromEvent:function(n){return Ext.dd.Registry.getTargetFromEvent(n)},onNodeEnter:function(){},onNodeOver:function(){return this.dropAllowed},onNodeOut:function(){},onNodeDrop:function(){return!1},onContainerOver:function(){return this.dropNotAllowed},onContainerDrop:function(){return!1},notifyEnter:function(){return this.dropNotAllowed},notifyOver:function(n,t,i){var r=this.getTargetFromEvent(t);if(!r){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,n,t,i);this.lastOverNode=null}return this.onContainerOver(n,t,i)}if(this.lastOverNode!=r){if(this.lastOverNode)this.onNodeOut(this.lastOverNode,n,t,i);this.onNodeEnter(r,n,t,i);this.lastOverNode=r}return this.onNodeOver(r,n,t,i)},notifyOut:function(n,t,i){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,n,t,i);this.lastOverNode=null}},notifyDrop:function(n,t,i){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,n,t,i);this.lastOverNode=null}var r=this.getTargetFromEvent(t);return r?this.onNodeDrop(r,n,t,i):this.onContainerDrop(n,t,i)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.define("Ext.direct.Event",{alias:"direct.event",requires:["Ext.direct.Manager"],status:!0,constructor:function(n){Ext.apply(this,n)},getData:function(){return this.data}});Ext.define("Ext.direct.RemotingEvent",{extend:"Ext.direct.Event",alias:"direct.rpc",getTransaction:function(){return this.transaction||Ext.direct.Manager.getTransaction(this.tid)}});Ext.define("Ext.direct.ExceptionEvent",{extend:"Ext.direct.RemotingEvent",alias:"direct.exception",status:!1});Ext.define("Ext.direct.Provider",{alias:"direct.provider",mixins:{observable:"Ext.util.Observable"},constructor:function(n){var t=this;Ext.apply(t,n);t.addEvents("connect","disconnect","data","exception");t.mixins.observable.constructor.call(t,n)},isConnected:function(){return!1},connect:Ext.emptyFn,disconnect:Ext.emptyFn});Ext.define("Ext.direct.JsonProvider",{extend:"Ext.direct.Provider",alias:"direct.jsonprovider",uses:["Ext.direct.ExceptionEvent"],parseResponse:function(n){return Ext.isEmpty(n.responseText)?null:Ext.isObject(n.responseText)?n.responseText:Ext.decode(n.responseText)},createEvents:function(n){var t=null,i=[],u,r=0,f;try{t=this.parseResponse(n)}catch(e){return u=new Ext.direct.ExceptionEvent({data:e,xhr:n,code:Ext.direct.Manager.exceptions.PARSE,message:"Error parsing json response: \n\n "+t}),[u]}if(Ext.isArray(t))for(f=t.length;r<f;++r)i.push(this.createEvent(t[r]));else i.push(this.createEvent(t));return i},createEvent:function(n){return Ext.create("direct."+n.type,n)}});Ext.define("Ext.direct.PollingProvider",{extend:"Ext.direct.JsonProvider",alias:"direct.pollingprovider",uses:["Ext.direct.ExceptionEvent"],requires:["Ext.Ajax","Ext.util.DelayedTask"],interval:3e3,constructor:function(){this.callParent(arguments);this.addEvents("beforepoll","poll")},isConnected:function(){return!!this.pollTask},connect:function(){var n=this,t=n.url;t&&!n.pollTask?(n.pollTask=Ext.TaskManager.start({run:function(){n.fireEvent("beforepoll",n)!==!1&&(Ext.isFunction(t)?t(n.baseParams):Ext.Ajax.request({url:t,callback:n.onData,scope:n,params:n.baseParams}))},interval:n.interval,scope:n}),n.fireEvent("connect",n)):!t},disconnect:function(){var n=this;n.pollTask&&(Ext.TaskManager.stop(n.pollTask),delete n.pollTask,n.fireEvent("disconnect",n))},onData:function(n,t,i){var r=this,u=0,e,f;if(t)for(f=r.createEvents(i),e=f.length;u<e;++u)r.fireEvent("data",r,f[u]);else r.fireEvent("data",r,new Ext.direct.ExceptionEvent({data:null,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:i}))}});Ext.define("Ext.direct.RemotingMethod",{constructor:function(n){var t=this,i=Ext.isDefined(n.params)?n.params:n.len,f,e,r,u;if(t.name=n.name,t.formHandler=n.formHandler,Ext.isNumber(i))t.len=i,t.ordered=!0;else for(t.params=[],e=i.length,r=0;r<e;r++)u=i[r],f=Ext.isObject(u)?u.name:u,t.params.push(f)},getArgs:function(n,t,i){var r=[],u,f;if(this.ordered){if(this.len>0)if(t)for(u=0,f=t.length;u<f;u++)r.push(n[t[u]]);else i&&r.push(n)}else r.push(n);return r},getCallData:function(n){var u=this,t=null,i=u.len,o=u.params,f,e,r;if(u.ordered)f=n[i],e=n[i+1],i!==0&&(t=n.slice(0,i));else{t=Ext.apply({},n[0]);f=n[1];e=n[2];for(r in t)t.hasOwnProperty(r)&&(Ext.Array.contains(o,r)||delete t[r])}return{data:t,callback:f,scope:e}}});Ext.define("Ext.direct.Transaction",{alias:"direct.transaction",alternateClassName:"Ext.Direct.Transaction",statics:{TRANSACTION_ID:0},constructor:function(n){var t=this;Ext.apply(t,n);t.id=t.tid=++t.self.TRANSACTION_ID;t.retryCount=0},send:function(){this.provider.queueTransaction(this)},retry:function(){this.retryCount++;this.send()},getProvider:function(){return this.provider}});Ext.define("Ext.direct.RemotingProvider",{alias:"direct.remotingprovider",extend:"Ext.direct.JsonProvider",requires:["Ext.util.MixedCollection","Ext.util.DelayedTask","Ext.direct.Transaction","Ext.direct.RemotingMethod"],enableBuffer:10,maxRetries:1,timeout:undefined,constructor:function(){var n=this;n.callParent(arguments);n.addEvents("beforecall","call");n.namespace=Ext.isString(n.namespace)?Ext.ns(n.namespace):n.namespace||window;n.transactions=new Ext.util.MixedCollection;n.callBuffer=[]},initAPI:function(){var r=this.actions,e=this.namespace,n,t,u,i,o,f;for(n in r)if(r.hasOwnProperty(n))for(t=e[n],t||(t=e[n]={}),u=r[n],i=0,o=u.length;i<o;++i)f=new Ext.direct.RemotingMethod(u[i]),t[f.name]=this.createHandler(n,f)},createHandler:function(n,t){var r=this,i;return i=t.formHandler?function(i,u,f){r.configureFormRequest(n,t,i,u,f)}:function(){r.configureRequest(n,t,Array.prototype.slice.call(arguments,0))},i.directCfg={action:n,method:t},i},isConnected:function(){return!!this.connected},connect:function(){var n=this;n.url?(n.initAPI(),n.connected=!0,n.fireEvent("connect",n)):!n.url},disconnect:function(){var n=this;n.connected&&(n.connected=!1,n.fireEvent("disconnect",n))},runCallback:function(n,t){var r=!!t.status,f=r?"success":"failure",i,u;n&&n.callback&&(i=n.callback,u=Ext.isDefined(t.result)?t.result:t.data,Ext.isFunction(i)?i(u,t,r):(Ext.callback(i[f],i.scope,[u,t,r]),Ext.callback(i.callback,i.scope,[u,t,r])))},onData:function(n,t,i){var u=this,e=0,o,s,f,r,h;if(t)for(s=u.createEvents(i),o=s.length;e<o;++e)f=s[e],r=u.getTransaction(f),u.fireEvent("data",u,f),r&&(u.runCallback(r,f,!0),Ext.direct.Manager.removeTransaction(r));else for(h=[].concat(n.transaction),o=h.length;e<o;++e)r=u.getTransaction(h[e]),r&&r.retryCount<u.maxRetries?r.retry():(f=new Ext.direct.ExceptionEvent({data:null,transaction:r,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:i}),u.fireEvent("data",u,f),r&&(u.runCallback(r,f,!1),Ext.direct.Manager.removeTransaction(r)))},getTransaction:function(n){return n&&n.tid?Ext.direct.Manager.getTransaction(n.tid):null},configureRequest:function(n,t,i){var r=this,f=t.getCallData(i),s=f.data,e=f.callback,o=f.scope,u;u=new Ext.direct.Transaction({provider:r,args:i,action:n,method:t.name,data:s,callback:o&&Ext.isFunction(e)?Ext.Function.bind(e,o):e});r.fireEvent("beforecall",r,u,t)!==!1&&(Ext.direct.Manager.addTransaction(u),r.queueTransaction(u),r.fireEvent("call",r,u,t))},getCallData:function(n){return{action:n.action,method:n.method,data:n.data,type:"rpc",tid:n.id}},sendRequest:function(n){var t=this,r={url:t.url,callback:t.onData,scope:t,transaction:n,timeout:t.timeout},i,u=t.enableUrlEncode,f=0,o,e;if(Ext.isArray(n))for(i=[],o=n.length;f<o;++f)i.push(t.getCallData(n[f]));else i=t.getCallData(n);u?(e={},e[Ext.isString(u)?u:"data"]=Ext.encode(i),r.params=e):r.jsonData=i;Ext.Ajax.request(r)},queueTransaction:function(n){var t=this,i=t.enableBuffer;if(n.form){t.sendFormRequest(n);return}t.callBuffer.push(n);i?(t.callTask||(t.callTask=new Ext.util.DelayedTask(t.combineAndSend,t)),t.callTask.delay(Ext.isNumber(i)?i:10)):t.combineAndSend()},combineAndSend:function(){var n=this.callBuffer,t=n.length;t>0&&(this.sendRequest(t==1?n[0]:n),this.callBuffer=[])},configureFormRequest:function(n,t,i,r,u){var f=this,e=new Ext.direct.Transaction({provider:f,action:n,method:t.name,args:[i,r,u],callback:u&&Ext.isFunction(r)?Ext.Function.bind(r,u):r,isForm:!0}),o,s;f.fireEvent("beforecall",f,e,t)!==!1&&(Ext.direct.Manager.addTransaction(e),o=String(i.getAttribute("enctype")).toLowerCase()=="multipart/form-data",s={extTID:e.id,extAction:n,extMethod:t.name,extType:"rpc",extUpload:String(o)},Ext.apply(e,{form:Ext.getDom(i),isUpload:o,params:r&&Ext.isObject(r.params)?Ext.apply(s,r.params):s}),f.fireEvent("call",f,e,t),f.sendFormRequest(e))},sendFormRequest:function(n){Ext.Ajax.request({url:this.url,params:n.params,callback:this.onData,scope:this,form:n.form,isUpload:n.isUpload,transaction:n})}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(n,t,i,r,u,f){this.matrix=n!=null?[[n,i,u],[t,r,f],[0,0,1]]:[[1,0,0],[0,1,0],[0,0,1]]},add:function(n,t,i,r,u,f){for(var c=this,l=[[],[],[]],a=[[n,i,u],[t,r,f],[0,0,1]],o,s,h,e=0;e<3;e++)for(o=0;o<3;o++){for(h=0,s=0;s<3;s++)h+=c.matrix[e][s]*a[s][o];l[e][o]=h}c.matrix=l},prepend:function(n,t,i,r,u,f){for(var c=this,l=[[],[],[]],a=[[n,i,u],[t,r,f],[0,0,1]],o,s,h,e=0;e<3;e++)for(o=0;o<3;o++){for(h=0,s=0;s<3;s++)h+=a[e][s]*c.matrix[s][o];l[e][o]=h}c.matrix=l},invert:function(){var n=this.matrix,i=n[0][0],r=n[1][0],u=n[0][1],f=n[1][1],e=n[0][2],o=n[1][2],t=i*f-r*u;return new Ext.draw.Matrix(f/t,-r/t,-u/t,i/t,(u*o-f*e)/t,(r*e-i*o)/t)},clone:function(){var n=this.matrix,t=n[0][0],i=n[1][0],r=n[0][1],u=n[1][1],f=n[0][2],e=n[1][2];return new Ext.draw.Matrix(t,i,r,u,f,e)},translate:function(n,t){this.prepend(1,0,0,1,n,t)},scale:function(n,t,i,r){var u=this;t==null&&(t=n);u.add(n,0,0,t,i*(1-n),r*(1-t))},rotate:function(n,t,i){n=Ext.draw.Draw.rad(n);var f=this,r=+Math.cos(n).toFixed(9),u=+Math.sin(n).toFixed(9);f.add(r,u,-u,r,t-r*t+u*i,-(u*t)+i-r*i)},x:function(n,t){var i=this.matrix;return n*i[0][0]+t*i[0][1]+i[0][2]},y:function(n,t){var i=this.matrix;return n*i[1][0]+t*i[1][1]+i[1][2]},get:function(n,t){return+this.matrix[n][t].toFixed(4)},toString:function(){var n=this;return[n.get(0,0),n.get(0,1),n.get(1,0),n.get(1,1),0,0].join()},toSvg:function(){var n=this;return"matrix("+[n.get(0,0),n.get(1,0),n.get(0,1),n.get(1,1),n.get(0,2),n.get(1,2)].join()+")"},toFilter:function(n,t){var i=this;return n=n||0,t=t||0,"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', filterType='bilinear', M11="+i.get(0,0)+", M12="+i.get(0,1)+", M21="+i.get(1,0)+", M22="+i.get(1,1)+", Dx="+(i.get(0,2)+n)+", Dy="+(i.get(1,2)+t)+")"},offset:function(){var n=this.matrix;return[(n[0][2]||0).toFixed(4),(n[1][2]||0).toFixed(4)]},split:function(){function r(n){return n[0]*n[0]+n[1]*n[1]}function u(n){var t=Math.sqrt(r(n));n[0]/=t;n[1]/=t}var i=this.matrix,t={translateX:i[0][2],translateY:i[1][2]},n;return n=[[i[0][0],i[0][1]],[i[1][1],i[1][1]]],t.scaleX=Math.sqrt(r(n[0])),u(n[0]),t.shear=n[0][0]*n[1][0]+n[0][1]*n[1][1],n[1]=[n[1][0]-n[0][0]*t.shear,n[1][1]-n[0][1]*t.shear],t.scaleY=Math.sqrt(r(n[1])),u(n[1]),t.shear/=t.scaleY,t.rotate=Math.asin(-n[0][1]),t.isSimple=!+t.shear.toFixed(9)&&(t.scaleX.toFixed(9)==t.scaleY.toFixed(9)||!t.rotate),t}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(n,t){var i=this,r=n.el;i.sprite=n;i.el=r;i.dragData={el:r,sprite:n};i.callParent([r,t]);i.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(){return this.el},getRegion:function(){var u=this,s=u.el,n,t,f,i,e,r,o;o=u.sprite;r=o.getBBox();try{n=Ext.Element.getXY(s)}catch(h){}return n?(t=n[0],f=t+r.width,i=n[1],e=i+r.height,new Ext.util.Region(i,f,e,t)):null},startDrag:function(n,t){var i=this,r=i.sprite.attr;i.prev=i.sprite.surface.transformToViewBox(n,t)},onDrag:function(n){var t=n.getXY(),i=this,r=i.sprite,u=r.attr,f,e;t=i.sprite.surface.transformToViewBox(t[0],t[1]);f=t[0]-i.prev[0];e=t[1]-i.prev[1];r.setAttributes({translate:{x:u.translation.x+f,y:u.translation.y+e}},!0);i.prev=t},setDragElPos:function(){return!1}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:!1,dirtyHidden:!1,dirtyTransform:!1,dirtyPath:!0,dirtyFont:!0,zIndexDirty:!0,isSprite:!0,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(n){var t=this;n=Ext.merge({},n||{});t.id=Ext.id(null,"ext-sprite-");t.transformations=[];Ext.copyTo(this,n,"surface,group,type,draggable");t.bbox={};t.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete n.surface;delete n.group;delete n.type;delete n.draggable;t.setAttributes(n);t.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");t.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var n=this;n.draggable=!0;n.el||n.surface.createSpriteElement(n);n.dd=new Ext.draw.SpriteDD(n,Ext.isBoolean(n.draggable)?null:n.draggable);n.on("beforedestroy",n.dd.destroy,n.dd)},setAttributes:function(n,t){var i=this,y=i.fontProperties,b=y.length,p=i.pathProperties,k=p.length,w=!!i.surface,v=w&&i.surface.customAttributes||{},f=i.attr,a=!1,u,s,h,l,e,c,r,o;n=Ext.apply({},n);for(u in v)n.hasOwnProperty(u)&&typeof v[u]=="function"&&Ext.apply(n,v[u].apply(i,[].concat(n[u])));for(!!n.hidden!=!!f.hidden&&(i.dirtyHidden=!0),s=0;s<k;s++)if(u=p[s],u in n&&n[u]!==f[u]){i.dirtyPath=!0;a=!0;break}for(("zIndex"in n)&&(i.zIndexDirty=!0),("text"in n)&&(i.dirtyFont=!0,a=!0),s=0;s<b;s++)if(u=y[s],u in n&&n[u]!==f[u]){i.dirtyFont=!0;a=!0;break}return h=n.translation||n.translate,delete n.translate,delete n.translation,l=f.translation,h&&("x"in h&&h.x!==l.x||"y"in h&&h.y!==l.y)&&(i.dirtyTransform=!0,l.x=h.x,l.y=h.y),e=n.rotation||n.rotate,c=f.rotation,delete n.rotate,delete n.rotation,e&&("x"in e&&e.x!==c.x||"y"in e&&e.y!==c.y||"degrees"in e&&e.degrees!==c.degrees)&&(i.dirtyTransform=!0,c.x=e.x,c.y=e.y,c.degrees=e.degrees),r=n.scaling||n.scale,o=f.scaling,delete n.scale,delete n.scaling,r&&("x"in r&&r.x!==o.x||"y"in r&&r.y!==o.y||"cx"in r&&r.cx!==o.cx||"cy"in r&&r.cy!==o.cy)&&(i.dirtyTransform=!0,o.x=r.x,o.y=r.y,o.cx=r.cx,o.cy=r.cy),!i.dirtyTransform&&a&&(f.scaling.x===null||f.scaling.y===null||f.rotation.y===null||f.rotation.y===null)&&(i.dirtyTransform=!0),Ext.apply(f,n),i.dirty=!0,t===!0&&w&&i.redraw(),this},getBBox:function(){return this.surface.getBBox(this)},setText:function(n){return this.surface.setText(this,n)},hide:function(n){return this.setAttributes({hidden:!0},n),this},show:function(n){return this.setAttributes({hidden:!1},n),this},remove:function(){return this.surface?(this.surface.remove(this),!0):!1},onRemove:function(){this.surface.onRemove(this)},destroy:function(){var n=this;if(n.fireEvent("beforedestroy",n)!==!1){n.remove();n.surface.onDestroy(n);n.clearListeners();n.fireEvent("destroy")}},redraw:function(){return this.surface.renderItem(this),this},setStyle:function(){return this.el.setStyle.apply(this.el,arguments),this},addCls:function(n){return this.surface.addCls(this,n),this},removeCls:function(n){return this.surface.removeCls(this,n),this}});Ext.define("Ext.draw.Text",{extend:"Ext.draw.Component",uses:["Ext.util.CSS"],alias:"widget.text",text:"",focusable:!1,viewBox:!1,autoSize:!0,baseCls:Ext.baseCSSPrefix+"surface "+Ext.baseCSSPrefix+"draw-text",initComponent:function(){var n=this;n.textConfig=Ext.apply({type:"text",text:n.text,rotate:{degrees:n.degrees||0}},n.textStyle);Ext.apply(n.textConfig,n.getStyles(n.styleSelectors||n.styleSelector));n.initialConfig.items=[n.textConfig];n.callParent(arguments)},getStyles:function(n){n=Ext.Array.from(n);for(var i=0,f=n.length,r,t,u={};i<f;i++)r=Ext.util.CSS.getRule(n[i]),r&&(t=r.style,t&&Ext.apply(u,{"font-family":t.fontFamily,"font-weight":t.fontWeight,"line-height":t.lineHeight,"font-size":t.fontSize,fill:t.color}));return u},setAngle:function(n){var t=this,i,r;t.rendered?(i=t.surface,r=i.items.items[0],t.degrees=n,r.setAttributes({rotate:{degrees:n}},!0),(t.autoSize||t.viewBox)&&t.updateLayout()):t.degrees=n},setText:function(n){var t=this,i,r;if(t.rendered)i=t.surface,r=i.items.items[0],t.text=n||"",i.remove(r),t.textConfig.type="text",t.textConfig.text=t.text,r=i.add(t.textConfig),r.setAttributes({rotate:{degrees:t.degrees}},!0),(t.autoSize||t.viewBox)&&t.updateLayout();else t.on({render:function(){t.setText(n)},single:!0})}});Ext.define("Ext.draw.engine.ImageExporter",{singleton:!0,defaultUrl:"http://svg.sencha.io",supportedTypes:["image/png","image/jpeg"],widthParam:"width",heightParam:"height",typeParam:"type",svgParam:"svg",formCls:Ext.baseCSSPrefix+"hide-display",generate:function(n,t){t=t||{};var i=this,u=t.type,r;return Ext.Array.indexOf(i.supportedTypes,u)===-1?!1:(r=Ext.getBody().createChild({tag:"form",method:"POST",action:t.url||i.defaultUrl,cls:i.formCls,children:[{tag:"input",type:"hidden",name:t.widthParam||i.widthParam,value:t.width||n.width},{tag:"input",type:"hidden",name:t.heightParam||i.heightParam,value:t.height||n.height},{tag:"input",type:"hidden",name:t.typeParam||i.typeParam,value:u},{tag:"input",type:"hidden",name:t.svgParam||i.svgParam}]}),r.last(null,!0).value=Ext.draw.engine.SvgExporter.generate(n),r.dom.submit(),r.remove(),!0)}});Ext.define("Ext.draw.engine.Svg",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Svg",trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,xlink:"http://www.w3.org/1999/xlink",translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",path:"d",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},parsers:{},minDefaults:{circle:{cx:0,cy:0,r:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start","font-family":null,"font-size":null,"font-weight":null,"font-style":null,fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},createSvgElement:function(n,t){var r=this.domRef.createElementNS("http://www.w3.org/2000/svg",n),i;if(t)for(i in t)r.setAttribute(i,String(t[i]));return r},createSpriteElement:function(n){var t=this.createSvgElement(n.type);return t.id=n.id,t.style&&(t.style.webkitTapHighlightColor="rgba(0,0,0,0)"),n.el=Ext.get(t),this.applyZIndex(n),n.matrix=new Ext.draw.Matrix,n.bbox={plain:0,transform:0},this.applyAttrs(n),this.applyTransformations(n),n.fireEvent("render",n),t},getBBoxText:function(n){var t={},i,f,e,r,o,u;if(n&&n.el){u=n.el.dom;try{return u.getBBox()}catch(s){}for(t={x:t.x,y:Infinity,width:0,height:0},o=u.getNumberOfChars(),r=0;r<o;r++)i=u.getExtentOfChar(r),t.y=Math.min(i.y,t.y),f=i.y+i.height-t.y,t.height=Math.max(t.height,f),e=i.x+i.width-t.x,t.width=Math.max(t.width,e);return t}},hide:function(){Ext.get(this.el).hide()},show:function(){Ext.get(this.el).show()},hidePrim:function(n){this.addCls(n,Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(n){this.removeCls(n,Ext.baseCSSPrefix+"hide-visibility")},getDefs:function(){return this._defs||(this._defs=this.createSvgElement("defs"))},transform:function(n,t){for(var s=this,r=new Ext.draw.Matrix,e=n.transformations,o=e.length,f=0,i,u;f<o;f++)i=e[f],u=i.type,u=="translate"?r.translate(i.x,i.y):u=="rotate"?r.rotate(i.degrees,i.x,i.y):u=="scale"&&r.scale(i.x,i.y,i.centerX,i.centerY);n.matrix=r;t||n.el.set({transform:r.toSvg()})},setSize:function(n,t){var i=this,r=i.el;n=+n||i.width;t=+t||i.height;i.width=n;i.height=t;r.setSize(n,t);r.set({width:n,height:t});i.callParent([n,t])},getRegion:function(){var n=this.el.getXY(),t=this.bgRect.getXY(),i=Math.max,r=i(n[0],t[0]),u=i(n[1],t[1]);return{left:r,top:u,right:r+this.width,bottom:u+this.height}},onRemove:function(n){n.el&&(n.el.destroy(),delete n.el);this.callParent(arguments)},setViewBox:function(n,t,i,r){isFinite(n)&&isFinite(t)&&isFinite(i)&&isFinite(r)&&(this.callParent(arguments),this.el.dom.setAttribute("viewBox",[n,t,i,r].join(" ")))},render:function(n){var t=this,f,e,i,o,r,u;if(!t.el){f=t.width||0;e=t.height||0;i=t.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:f,height:e});o=t.getDefs();r=t.createSvgElement("rect",{width:"100%",height:"100%",fill:"#000",stroke:"none",opacity:0});Ext.isSafari3&&(u=t.createSvgElement("rect",{x:-10,y:-10,width:"110%",height:"110%",fill:"none",stroke:"#000"}));i.appendChild(o);Ext.isSafari3&&i.appendChild(u);i.appendChild(r);n.appendChild(i);t.el=Ext.get(i);t.bgRect=Ext.get(r);Ext.isSafari3&&(t.webkitRect=Ext.get(u),t.webkitRect.hide());t.el.on({scope:t,mouseup:t.onMouseUp,mousedown:t.onMouseDown,mouseover:t.onMouseOver,mouseout:t.onMouseOut,mousemove:t.onMouseMove,mouseenter:t.onMouseEnter,mouseleave:t.onMouseLeave,click:t.onClick,dblclick:t.onDblClick})}t.renderAll()},onMouseEnter:function(n){this.el.parent().getRegion().contains(n.getPoint())&&this.fireEvent("mouseenter",n)},onMouseLeave:function(n){this.el.parent().getRegion().contains(n.getPoint())||this.fireEvent("mouseleave",n)},processEvent:function(n,t){var i=t.getTarget(),u=this.surface,r;this.fireEvent(n,t);i.nodeName=="tspan"&&i.parentNode&&(i=i.parentNode);r=this.items.get(i.id);r&&r.fireEvent(n,r,t)},tuneText:function(n,t){var h=n.el.dom,i=[],u,f,r,e,o,s;if(t.hasOwnProperty("text")&&(f=n.tspans&&Ext.Array.map(n.tspans,function(n){return n.textContent}).join(""),n.tspans&&t.text==f?i=n.tspans||[]:(i=this.setText(n,t.text),n.tspans=i)),i.length){for(u=this.getBBoxText(n).height,s=n.el.dom.getAttribute("x"),r=0,e=i.length;r<e;r++)o=Ext.isFF3_0||Ext.isFF3_5?2:4,i[r].setAttribute("x",s),i[r].setAttribute("dy",r?u*1.2:u/o);n.dirty=!0}},setText:function(n,t){for(var h=this,r=n.el.dom,o=[],u,f,i,s,e;r.firstChild;)r.removeChild(r.firstChild);for(e=String(t).split("\n"),i=0,s=e.length;i<s;i++)f=e[i],f&&(u=h.createSvgElement("tspan"),u.appendChild(document.createTextNode(Ext.htmlDecode(f))),r.appendChild(u),o[i]=u);return o},renderAll:function(){this.items.each(this.renderItem,this)},renderItem:function(n){this.el&&(n.el||this.createSpriteElement(n),n.zIndexDirty&&this.applyZIndex(n),n.dirty&&(this.applyAttrs(n),n.dirtyTransform&&this.applyTransformations(n)))},redraw:function(n){n.dirty=n.zIndexDirty=!0;this.renderItem(n)},applyAttrs:function(n){var r=this,u=n.el,f=n.group,h=n.attr,c=r.parsers,l=r.gradientsMap||{},v=Ext.isSafari&&!Ext.isStrict,o,e,a,t,i,s;if(f){for(o=[].concat(f),a=o.length,e=0;e<a;e++)f=o[e],r.getGroup(f).add(n);delete n.group}t=r.scrubAttrs(n)||{};n.bbox.plain=0;n.bbox.transform=0;n.type=="circle"||n.type=="ellipse"?(t.cx=t.cx||t.x,t.cy=t.cy||t.y):n.type=="rect"?t.rx=t.ry=t.r:n.type=="path"&&t.d&&(t.d=Ext.draw.Draw.pathToString(Ext.draw.Draw.pathToAbsolute(t.d)));n.dirtyPath=!1;t["clip-rect"]&&(r.setClip(n,t),delete t["clip-rect"]);n.type=="text"&&t.font&&n.dirtyFont&&u.set({style:"font: "+t.font});n.type=="image"&&u.dom.setAttributeNS(r.xlink,"href",t.src);Ext.applyIf(t,r.minDefaults[n.type]);n.dirtyHidden&&(h.hidden?r.hidePrim(n):r.showPrim(n),n.dirtyHidden=!1);for(i in t)if(t.hasOwnProperty(i)&&t[i]!=null){if(v&&"color|stroke|fill".indexOf(i)>-1&&t[i]in l&&(t[i]=l[t[i]]),i=="hidden"&&n.type=="text")continue;i in c?u.dom.setAttribute(i,c[i](t[i],n,r)):u.dom.setAttribute(i,t[i])}n.type=="text"&&r.tuneText(n,t);n.dirtyFont=!1;s=h.style;s&&u.setStyle(s);n.dirty=!1;Ext.isSafari3&&(r.webkitRect.show(),setTimeout(function(){r.webkitRect.hide()}))},setClip:function(n,t){var f=this,r=t["clip-rect"],u,i;r&&(n.clip&&n.clip.parentNode.parentNode.removeChild(n.clip.parentNode),u=f.createSvgElement("clipPath"),i=f.createSvgElement("rect"),u.id=Ext.id(null,"ext-clip-"),i.setAttribute("x",r.x),i.setAttribute("y",r.y),i.setAttribute("width",r.width),i.setAttribute("height",r.height),u.appendChild(i),f.getDefs().appendChild(u),n.el.dom.setAttribute("clip-path","url(#"+u.id+")"),n.clip=i)},applyZIndex:function(n){var i=this,u=i.items,t=u.indexOf(n),f=n.el,r;if(i.el.dom.childNodes[t+2]!==f.dom){if(t>0)do r=u.getAt(--t).el;while(!r&&t>0);f.insertAfter(r||i.bgRect)}n.zIndexDirty=!1},createItem:function(n){var t=new Ext.draw.Sprite(n);return t.surface=this,t},addGradient:function(n){n=Ext.draw.Draw.parseGradient(n);var i=this,s=n.stops.length,u=n.vector,h=Ext.isSafari&&!Ext.isStrict,t,f,r,e,o;if(o=i.gradientsMap||{},h)o["url(#"+n.id+")"]=n.stops[0].color;else for(n.type=="linear"?(t=i.createSvgElement("linearGradient"),t.setAttribute("x1",u[0]),t.setAttribute("y1",u[1]),t.setAttribute("x2",u[2]),t.setAttribute("y2",u[3])):(t=i.createSvgElement("radialGradient"),t.setAttribute("cx",n.centerX),t.setAttribute("cy",n.centerY),t.setAttribute("r",n.radius),Ext.isNumber(n.focalX)&&Ext.isNumber(n.focalY)&&(t.setAttribute("fx",n.focalX),t.setAttribute("fy",n.focalY))),t.id=n.id,i.getDefs().appendChild(t),e=0;e<s;e++)f=n.stops[e],r=i.createSvgElement("stop"),r.setAttribute("offset",f.offset+"%"),r.setAttribute("stop-color",f.color),r.setAttribute("stop-opacity",f.opacity),t.appendChild(r);i.gradientsMap=o},hasCls:function(n,t){return t&&(" "+(n.el.dom.getAttribute("class")||"")+" ").indexOf(" "+t+" ")!=-1},addCls:function(n,t){var u=n.el,i,e,r,f=[],o=u.getAttribute("class")||"";if(Ext.isArray(t)){for(i=0,e=t.length;i<e;i++)r=t[i],typeof r=="string"&&(" "+o+" ").indexOf(" "+r+" ")==-1&&f.push(r);f.length&&u.set({"class":" "+f.join(" ")})}else typeof t!="string"||this.hasCls(n,t)||u.set({"class":o+" "+t})},removeCls:function(n,t){var f=this,o=n.el,s=o.getAttribute("class")||"",r,e,h,i,u;if(Ext.isArray(t)||(t=[t]),s){for(u=s.replace(f.trimRe," ").split(f.spacesRe),r=0,h=t.length;r<h;r++)i=t[r],typeof i=="string"&&(i=i.replace(f.trimRe,""),e=Ext.Array.indexOf(u,i),e!=-1&&Ext.Array.erase(u,e,1));o.set({"class":u.join(" ")})}},destroy:function(){var n=this;n.callParent();n.el&&n.el.remove();n._defs&&Ext.get(n._defs).destroy();n.bgRect&&Ext.get(n.bgRect).destroy();n.webkitRect&&Ext.get(n.webkitRect).destroy();delete n.el}});Ext.define("Ext.draw.engine.SvgExporter",function(){var f=/,/g,e=/(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)\s('*.*'*)/,o=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,s=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,([\d\.]+)\)/g,n,h,i,r,c=function(t){n=t;h=n.length;i=n.width;r=n.height},u={path:function(n){var i=n.attr,r=i.path,e="",o,u,s;if(Ext.isArray(r[0]))for(s=r.length,u=0;u<s;u++)e+=r[u].join(" ");else e=Ext.isArray(r)?r.join(" "):r.replace(f," ");return o=t({d:e,fill:i.fill||"none",stroke:i.stroke,"fill-opacity":i.opacity,"stroke-width":i["stroke-width"],"stroke-opacity":i["stroke-opacity"],"z-index":i.zIndex,transform:n.matrix.toSvg()}),"<path "+o+"/>"},text:function(n){var i=n.attr,r=e.exec(i.font),f=r&&r[1]||"12",s=r&&r[3]||"Arial",h=i.text,c=Ext.isFF3_0||Ext.isFF3_5?2:4,u="",o;return n.getBBox(),u+='<tspan x="'+(i.x||"")+'" dy="',u+=f/c+'">',u+=Ext.htmlEncode(h)+"<\/tspan>",o=t({x:i.x,y:i.y,"font-size":f,"font-family":s,"font-weight":i["font-weight"],"text-anchor":i["text-anchor"],fill:i.fill||"#000","fill-opacity":i.opacity,transform:n.matrix.toSvg()}),"<text "+o+">"+u+"<\/text>"},rect:function(n){var i=n.attr,r=t({x:i.x,y:i.y,rx:i.rx,ry:i.ry,width:i.width,height:i.height,fill:i.fill||"none","fill-opacity":i.opacity,stroke:i.stroke,"stroke-opacity":i["stroke-opacity"],"stroke-width":i["stroke-width"],transform:n.matrix&&n.matrix.toSvg()});return"<rect "+r+"/>"},circle:function(n){var i=n.attr,r=t({cx:i.x,cy:i.y,r:i.radius,fill:i.translation.fill||i.fill||"none","fill-opacity":i.opacity,stroke:i.stroke,"stroke-opacity":i["stroke-opacity"],"stroke-width":i["stroke-width"],transform:n.matrix.toSvg()});return"<circle "+r+" />"},image:function(n){var i=n.attr,r=t({x:i.x-(i.width/2>>0),y:i.y-(i.height/2>>0),width:i.width,height:i.height,"xlink:href":i.src,transform:n.matrix.toSvg()});return"<image "+r+" />"}},l=function(){return'<?xml version="1.0" standalone="yes"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'},a=function(){var l='<svg width="'+i+'px" height="'+r+'px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">',e="",a,v,h,it,w,b,k,y,d,rt,c,ut,g,et,t,ft,p,nt,tt,f;if(h=n.items.items,v=h.length,w=function(n){for(var s=n.childNodes,c=s.length,u=0,h,r,t="",i,f,e,o;u<c;u++){for(i=s[u],f=i.attributes,e=i.tagName,t+="<"+e,r=0,h=f.length;r<h;r++)o=f.item(r),t+=" "+o.name+'="'+o.value+'"';t+=">";i.childNodes.length>0&&(t+=w(i));t+="<\/"+e+">"}return t},n.getDefs)e=w(n.getDefs());else for(y=n.gradientsColl,y&&(d=y.keys,rt=y.items,c=0,ut=d.length);c<ut;c++){for(g=d[c],et=rt[c],it=n.gradientsColl.getByKey(g),e+='<linearGradient id="'+g+'" x1="0" y1="0" x2="1" y2="1">',f=it.colors.replace(o,"rgb($1|$2|$3)"),f=f.replace(s,"rgba($1|$2|$3|$4)"),b=f.split(","),t=0,ft=b.length;t<ft;t++)k=b[t].split(" "),f=Ext.draw.Color.fromString(k[1].replace(/\|/g,",")),e+='<stop offset="'+k[0]+'" stop-color="'+f.toString()+'" stop-opacity="1"><\/stop>';e+="<\/linearGradient>"}for(l+="<defs>"+e+"<\/defs>",l+=u.rect({attr:{width:"100%",height:"100%",fill:"#fff",stroke:"none",opacity:"0"}}),p=new Array(v),t=0;t<v;t++)p[t]=t;for(p.sort(function(n,t){return(nt=h[n].attr.zIndex||0,tt=h[t].attr.zIndex||0,nt==tt)?n-t:nt-tt}),t=0;t<v;t++)a=h[p[t]],a.attr.hidden||(l+=u[a.type](a));return l+"<\/svg>"},t=function(n){var i="";for(var t in n)n.hasOwnProperty(t)&&n[t]!=null&&(i+=t+'="'+n[t]+'" ');return i};return{singleton:!0,generate:function(n,t){return t=t||{},c(n),l()+a()}}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s\-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1e3,coordorigin:"0 0",zIndexShift:0,orderSpritesByZIndex:!1,path2vml:function(n){var t=this,a=t.NonVmlPathRe,h=t.map,v=t.valRe,y=t.zoom,p=t.bitesRe,c=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),e,f,o,i,r,l,u,s;if(String(n).match(a))c=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw);else if(!String(n).match(t.partialPathRe))return String(n).replace(p,function(n,t,i){var r=[],f=t.toLowerCase()=="m",u=h[t];return i.replace(v,function(n){f&&r.length===2&&(u+=r+h[t=="m"?"l":"L"],r=[]);r.push(Math.round(n*y))}),u+r});for(f=c(n),e=[],r=0,l=f.length;r<l;r++){for(o=f[r],i=f[r][0].toLowerCase(),i=="z"&&(i="x"),u=1,s=o.length;u<s;u++)i+=Math.round(o[u]*t.zoom)+(u!=s-1?",":"");e.push(i)}return e.join(" ")},translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},minDefaults:{circle:{fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start",font:'10px "Arial"',fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},onMouseEnter:function(n){this.fireEvent("mouseenter",n)},onMouseLeave:function(n){this.fireEvent("mouseleave",n)},processEvent:function(n,t){var r=t.getTarget(),u=this.surface,i;this.fireEvent(n,t);i=this.items.get(r.id);i&&i.fireEvent(n,i,t)},createSpriteElement:function(n){var t=this,h=n.attr,u=n.type,o=t.zoom,s=n.vml||(n.vml={}),c=Math.round,i=u==="image"?t.createNode("image"):t.createNode("shape"),f,r,e;return i.coordsize=o+" "+o,i.coordorigin=h.coordorigin||"0 0",Ext.get(i).addCls(t.spriteCls),u=="text"&&(s.path=f=t.createNode("path"),f.textpathok=!0,s.textpath=e=t.createNode("textpath"),e.on=!0,i.appendChild(e),i.appendChild(f)),i.id=n.id,n.el=Ext.get(i),n.el.setStyle("zIndex",-t.zIndexShift),t.el.appendChild(i),u!=="image"&&(r=t.createNode("skew"),r.on=!0,i.appendChild(r),n.skew=r),n.matrix=new Ext.draw.Matrix,n.bbox={plain:null,transform:null},this.applyAttrs(n),this.applyTransformations(n),n.fireEvent("render",n),n.el},getBBoxText:function(n){var t=n.vml;return{x:t.X+(t.bbx||0)-t.W/2,y:t.Y-t.H/2,width:t.W,height:t.H}},applyAttrs:function(n){var i=this,p=n.vml,u=n.group,y=n.attr,o=n.el,r=o.dom,s,h,f,v,t,e,c,l,a;if(u){for(h=[].concat(u),v=h.length,f=0;f<v;f++)u=h[f],i.getGroup(u).add(n);delete n.group}t=i.scrubAttrs(n)||{};n.zIndexDirty&&i.setZIndex(n);Ext.applyIf(t,i.minDefaults[n.type]);n.type=="image"&&(Ext.apply(n.attr,{x:t.x,y:t.y,width:t.width,height:t.height}),o.setStyle({width:t.width+"px",height:t.height+"px"}),r.src=t.src);r.href&&(r.href=t.href);r.title&&(r.title=t.title);r.target&&(r.target=t.target);r.cursor&&(r.cursor=t.cursor);n.dirtyHidden&&(t.hidden?i.hidePrim(n):i.showPrim(n),n.dirtyHidden=!1);n.dirtyPath&&(n.type=="circle"||n.type=="ellipse"?(e=t.x,c=t.y,l=t.rx||t.r||0,a=t.ry||t.r||0,r.path=Ext.String.format("ar{0},{1},{2},{3},{4},{1},{4},{1}",Math.round((e-l)*i.zoom),Math.round((c-a)*i.zoom),Math.round((e+l)*i.zoom),Math.round((c+a)*i.zoom),Math.round(e*i.zoom)),n.dirtyPath=!1):n.type!=="text"&&n.type!=="image"&&(n.attr.path=t.path=i.setPaths(n,t)||t.path,r.path=i.path2vml(t.path),n.dirtyPath=!1));"clip-rect"in t&&i.setClip(n,t);n.type=="text"&&i.setTextAttributes(n,t);(t.opacity||t["stroke-opacity"]||t.fill)&&i.setFill(n,t);(t.stroke||t["stroke-opacity"]||t.fill)&&i.setStroke(n,t);s=y.style;s&&o.setStyle(s);n.dirty=!1},setZIndex:function(n){var e=this,r=n.attr.zIndex,i=e.zIndexShift,f,o,u,t;if(r<i){for(f=e.items.items,o=f.length,t=0;t<o;t++)(r=f[t].attr.zIndex)&&r<i&&(i=r);for(e.zIndexShift=i,t=0;t<o;t++)u=f[t],u.el&&u.el.setStyle("zIndex",u.attr.zIndex-i),u.zIndexDirty=!1}else n.el&&(n.el.setStyle("zIndex",r-i),n.zIndexDirty=!1)},setPaths:function(n,t){var i=n.attr,r=n.attr["stroke-width"]||1;return(n.bbox.plain=null,n.bbox.transform=null,n.type=="circle")?(i.rx=i.ry=t.r,Ext.draw.Draw.ellipsePath(n)):n.type=="ellipse"?(i.rx=t.rx,i.ry=t.ry,Ext.draw.Draw.ellipsePath(n)):n.type=="rect"?(i.rx=i.ry=t.r,Ext.draw.Draw.rectPath(n)):n.type=="path"&&i.path?Ext.draw.Draw.pathToAbsolute(i.path):!1},setFill:function(n,t){var e=this,o=n.el.dom,i=o.fill,h=!1,u,r,s,f;i||(i=o.fill=e.createNode("fill"),h=!0);Ext.isArray(t.fill)&&(t.fill=t.fill[0]);t.fill=="none"?i.on=!1:(typeof t.opacity=="number"&&(i.opacity=t.opacity),typeof t["fill-opacity"]=="number"&&(i.opacity=t["fill-opacity"]),i.on=!0,typeof t.fill=="string"&&(r=t.fill.match(e.fillUrlRe),r?(r=r[1],r.charAt(0)=="#"&&(u=e.gradientsColl.getByKey(r.substring(1))),u?(s=t.rotation,f=-(u.angle+270+(s?s.degrees:0))%360,f===0&&(f=180),i.angle=f,i.type="gradient",i.method="sigma",i.colors?i.colors.value=u.colors:i.colors=u.colors):(i.src=r,i.type="tile")):(i.color=Ext.draw.Color.toHex(t.fill),i.src="",i.type="solid")));h&&o.appendChild(i)},setStroke:function(n,t){var f=this,o=n.el.dom,i=n.strokeEl,e=!1,r,u;i||(i=n.strokeEl=f.createNode("stroke"),e=!0);Ext.isArray(t.stroke)&&(t.stroke=t.stroke[0]);t.stroke&&t.stroke!="none"&&t.stroke!=0&&t["stroke-width"]!=0?(i.on=!0,t.stroke&&!t.stroke.match(f.fillUrlRe)&&(i.color=Ext.draw.Color.toHex(t.stroke)),i.dashstyle=t["stroke-dasharray"]?"dash":"solid",i.joinstyle=t["stroke-linejoin"],i.endcap=t["stroke-linecap"]||"round",i.miterlimit=t["stroke-miterlimit"]||8,r=parseFloat(t["stroke-width"]||1)*.75,u=t["stroke-opacity"]||1,Ext.isNumber(r)&&r<1?(i.weight=1,i.opacity=u*r):(i.weight=r,i.opacity=u)):i.on=!1;e&&o.appendChild(i)},setClip:function(n,t){var u=this,f=n.el,r=n.clipEl,i=String(t["clip-rect"]).split(u.separatorRe);r||(r=n.clipEl=u.el.insertFirst(Ext.getDoc().dom.createElement("div")),r.addCls(Ext.baseCSSPrefix+"vml-sprite"));i.length==4?(i[2]=+i[2]+ +i[0],i[3]=+i[3]+ +i[1],r.setStyle("clip",Ext.String.format("rect({1}px {2}px {3}px {0}px)",i[0],i[1],i[2],i[3])),r.setSize(u.el.width,u.el.height)):r.setStyle("clip","")},setTextAttributes:function(n,t){var r=this,i=n.vml,u=i.textpath.style,e=r.span.style,o=r.zoom,c=Math.round,h={fontSize:"font-size",fontWeight:"font-weight",fontStyle:"font-style"},f,s;if(n.dirtyFont){t.font&&(u.font=e.font=t.font);t["font-family"]&&(u.fontFamily='"'+t["font-family"].split(",")[0].replace(r.fontFamilyRe,"")+'"',e.fontFamily=t["font-family"]);for(f in h)s=t[h[f]],s&&(u[f]=e[f]=s);r.setText(n,t.text);i.textpath.string&&(r.span.innerHTML=String(i.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br/>"));i.W=r.span.offsetWidth;i.H=r.span.offsetHeight+2;t["text-anchor"]=="middle"?u["v-text-align"]="center":t["text-anchor"]=="end"?(u["v-text-align"]="right",i.bbx=-Math.round(i.W/2)):(u["v-text-align"]="left",i.bbx=Math.round(i.W/2))}i.X=t.x;i.Y=t.y;i.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(i.X*o),Math.round(i.Y*o),Math.round(i.X*o)+1);n.bbox.plain=null;n.bbox.transform=null;n.dirtyFont=!1},setText:function(n,t){n.vml.textpath.string=Ext.htmlDecode(t)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(n){n.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(n){n.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(n,t){var i=this;n=n||i.width;t=t||i.height;i.width=n;i.height=t;i.el&&(n!=undefined&&i.el.setWidth(n),t!=undefined&&i.el.setHeight(t));i.callParent(arguments)},applyViewBox:function(){var n=this,u=n.viewBox,f=n.width,e=n.height,i,r,t;if(n.callParent(),u&&(f||e))for(i=n.items.items,r=i.length,t=0;t<r;t++)n.applyTransformations(i[t])},onAdd:function(n){this.callParent(arguments);this.el&&this.renderItem(n)},onRemove:function(n){n.el&&(n.el.remove(),delete n.el);this.callParent(arguments)},render:function(n){var t=this,i=Ext.getDoc().dom,r;if(!t.createNode)try{i.namespaces.rvml||i.namespaces.add("rvml","urn:schemas-microsoft-com:vml");t.createNode=function(n){return i.createElement("<rvml:"+n+' class="rvml">')}}catch(u){t.createNode=function(n){return i.createElement("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}if(!t.el){r=i.createElement("div");t.el=Ext.get(r);t.el.addCls(t.baseVmlCls);t.span=i.createElement("span");Ext.get(t.span).addCls(t.measureSpanCls);r.appendChild(t.span);t.el.setSize(t.width||0,t.height||0);n.appendChild(r);t.el.on({scope:t,mouseup:t.onMouseUp,mousedown:t.onMouseDown,mouseover:t.onMouseOver,mouseout:t.onMouseOut,mousemove:t.onMouseMove,mouseenter:t.onMouseEnter,mouseleave:t.onMouseLeave,click:t.onClick,dblclick:t.onDblClick})}t.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(n){n.dirty=!0;this.renderItem(n)},renderItem:function(n){this.el&&(n.el||this.createSpriteElement(n),n.dirty&&(this.applyAttrs(n),n.dirtyTransform&&this.applyTransformations(n)))},rotationCompensation:function(n,t,i){var r=new Ext.draw.Matrix;return r.rotate(-n,.5,.5),{x:r.x(t,i),y:r.y(t,i)}},transform:function(n,t){for(var h=this,i=h.getBBox(n,!0),d=i.x+i.width*.5,g=i.y+i.height*.5,r=new Ext.draw.Matrix,a=n.transformations,v=a.length,c=0,y=0,p=1,w=1,b=n.el,k=b.dom,l=k.style,nt=h.zoom,o=n.skew,e=h.viewBoxShift,u,s,f;c<v;c++)u=a[c],s=u.type,s=="translate"?r.translate(u.x,u.y):s=="rotate"?(r.rotate(u.degrees,u.x,u.y),y+=u.degrees):s=="scale"&&(r.scale(u.x,u.y,u.centerX,u.centerY),p*=u.x,w*=u.y);(n.matrix=r.clone(),t)||(e&&r.prepend(e.scale,0,0,e.scale,e.dx*e.scale,e.dy*e.scale),n.type!="image"&&o?(o.origin="0,0",o.matrix=r.toString(),f=r.offset(),f[0]>32767?f[0]=32767:f[0]<-32768&&(f[0]=-32768),f[1]>32767?f[1]=32767:f[1]<-32768&&(f[1]=-32768),o.offset=f):(l.filter=r.toFilter(),l.left=Math.min(r.x(i.x,i.y),r.x(i.x+i.width,i.y),r.x(i.x,i.y+i.height),r.x(i.x+i.width,i.y+i.height))+"px",l.top=Math.min(r.y(i.x,i.y),r.y(i.x+i.width,i.y),r.y(i.x,i.y+i.height),r.y(i.x+i.width,i.y+i.height))+"px"))},createItem:function(n){return Ext.create("Ext.draw.Sprite",n)},getRegion:function(){return this.el.getRegion()},addCls:function(n,t){n&&n.el&&n.el.addCls(t)},removeCls:function(n,t){n&&n.el&&n.el.removeCls(t)},addGradient:function(n){var h=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),u=[],i=Ext.create("Ext.util.MixedCollection"),r,f,e,o,s,t;for(i.addAll(n.stops),i.sortByKey("ASC",function(n,t){return n=parseInt(n,10),t=parseInt(t,10),n>t?1:n<t?-1:0}),r=i.keys,f=i.items,e=r.length,t=0;t<e;t++)o=r[t],s=f[t],u.push(o+"% "+s.color);h.add(n.id,{colors:u.join(","),angle:n.angle})},destroy:function(){var n=this;n.callParent(arguments);n.el&&n.el.remove();delete n.el}});Ext.define("Ext.flash.Component",{extend:"Ext.Component",alternateClassName:"Ext.FlashComponent",alias:"widget.flash",flashVersion:"9.0.115",backgroundColor:"#ffffff",wmode:"opaque",swfWidth:"100%",swfHeight:"100%",expressInstall:!1,renderTpl:['<div id="{swfId}"><\/div>'],initComponent:function(){this.callParent();this.addEvents("success","failure")},beforeRender:function(){this.callParent();Ext.applyIf(this.renderData,{swfId:this.getSwfId()})},afterRender:function(){var n=this,t=Ext.apply({},n.flashParams),i=Ext.apply({},n.flashVars);n.callParent();t=Ext.apply({allowScriptAccess:"always",bgcolor:n.backgroundColor,wmode:n.wmode},t);i=Ext.apply({allowedDomain:document.location.hostname},i);new swfobject.embedSWF(n.url,n.getSwfId(),n.swfWidth,n.swfHeight,n.flashVersion,n.expressInstall?n.statics.EXPRESS_INSTALL_URL:undefined,i,t,n.flashAttributes,Ext.bind(n.swfCallback,n))},swfCallback:function(n){var t=this;n.success?(t.swf=Ext.get(n.ref),t.onSuccess(),t.fireEvent("success",t)):(t.onFailure(),t.fireEvent("failure",t))},getSwfId:function(){return this.swfId||(this.swfId="extswf"+this.getAutoId())},onSuccess:function(){this.swf.setStyle("visibility","inherit")},onFailure:Ext.emptyFn,beforeDestroy:function(){var n=this,t=n.swf;t&&(swfobject.removeSWF(n.getSwfId()),Ext.destroy(t),delete n.swf);n.callParent()},statics:{EXPRESS_INSTALL_URL:"http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf"}});Ext.define("Ext.form.action.Action",{alternateClassName:"Ext.form.Action",submitEmptyText:!0,constructor:function(n){n&&Ext.apply(this,n);var t=n.params;Ext.isString(t)&&(this.params=Ext.Object.fromQueryString(t))},run:Ext.emptyFn,onFailure:function(n){this.response=n;this.failureType=Ext.form.action.Action.CONNECT_FAILURE;this.form.afterAction(this,!1)},processResponse:function(n){return(this.response=n,!n.responseText&&!n.responseXML)?!0:this.result=this.handleResponse(n)},getUrl:function(){return this.url||this.form.url},getMethod:function(){return(this.method||this.form.method||"POST").toUpperCase()},getParams:function(){return Ext.apply({},this.params,this.form.baseParams)},createCallback:function(){var n=this,i,t=n.form;return{success:n.onSuccess,failure:n.onFailure,scope:n,timeout:this.timeout*1e3||t.timeout*1e3,upload:t.fileUpload?n.onSuccess:i}},statics:{CLIENT_INVALID:"client",SERVER_INVALID:"server",CONNECT_FAILURE:"connect",LOAD_FAILURE:"load"}});Ext.define("Ext.form.action.Load",{extend:"Ext.form.action.Action",requires:["Ext.data.Connection"],alternateClassName:"Ext.form.Action.Load",alias:"formaction.load",type:"load",run:function(){Ext.Ajax.request(Ext.apply(this.createCallback(),{method:this.getMethod(),url:this.getUrl(),headers:this.headers,params:this.getParams()}))},onSuccess:function(n){var t=this.processResponse(n),i=this.form;if(t===!0||!t.success||!t.data){this.failureType=Ext.form.action.Action.LOAD_FAILURE;i.afterAction(this,!1);return}i.clearInvalid();i.setValues(t.data);i.afterAction(this,!0)},handleResponse:function(n){var i=this.form.reader,t,r;return i?(t=i.read(n),r=t.records&&t.records[0]?t.records[0].data:null,{success:t.success,data:r}):Ext.decode(n.responseText)}});Ext.define("Ext.form.action.Submit",{extend:"Ext.form.action.Action",alternateClassName:"Ext.form.Action.Submit",alias:"formaction.submit",type:"submit",run:function(){var n=this.form;this.clientValidation===!1||n.isValid()?this.doSubmit():(this.failureType=Ext.form.action.Action.CLIENT_INVALID,n.afterAction(this,!1))},doSubmit:function(){var t,n=Ext.apply(this.createCallback(),{url:this.getUrl(),method:this.getMethod(),headers:this.headers});this.form.hasUpload()?(t=n.form=this.buildForm(),n.isUpload=!0):n.params=this.getParams();Ext.Ajax.request(n);t&&Ext.removeNode(t)},getParams:function(){var n=!1,t=this.callParent(),i=this.form.getValues(n,n,this.submitEmptyText!==n);return Ext.apply({},i,t)},buildForm:function(){function y(n,t){c.push({tag:"input",type:"hidden",name:n,value:Ext.String.htmlEncode(t)})}for(var c=[],r,s,p=this.form,h=this.getParams(),u=[],l=p.getFields().items,w=l.length,n,t,i,e,a,o,v,f=0;f<w;f++)n=l[f],n.isFileUpload()&&u.push(n);for(t in h)if(h.hasOwnProperty(t))if(i=h[t],Ext.isArray(i))for(a=i.length,e=0;e<a;e++)y(t,i[e]);else y(t,i);for(r={tag:"form",action:this.getUrl(),method:this.getMethod(),target:this.target||"_self",style:"display:none",cn:c},u.length&&(r.encoding=r.enctype="multipart/form-data"),s=Ext.DomHelper.append(Ext.getBody(),r),v=u.length,o=0;o<v;o++)n=u[o],n.rendered&&s.appendChild(n.extractFileInput());return s},onSuccess:function(n){var i=this.form,r=!0,t=this.processResponse(n);t===!0||t.success||(t.errors&&i.markInvalid(t.errors),this.failureType=Ext.form.action.Action.SERVER_INVALID,r=!1);i.afterAction(this,r)},handleResponse:function(n){var o=this.form,f=o.errorReader,u,t,i,e,r;if(f){if(u=f.read(n),r=u.records,t=[],r)for(i=0,e=r.length;i<e;i++)t[i]=r[i].data;return t.length<1&&(t=null),{success:u.success,errors:t}}return Ext.decode(n.responseText)}});Ext.define("Ext.util.ComponentDragger",{extend:"Ext.dd.DragTracker",autoStart:500,constructor:function(n,t){this.comp=n;this.initialConstrainTo=t.constrainTo;this.callParent([t])},onStart:function(){var n=this,t=n.comp;this.startPosition=t.el.getXY();t.ghost&&!t.liveDrag&&(n.proxy=t.ghost(),n.dragTarget=n.proxy.header.el);(n.constrain||n.constrainDelegate)&&(n.constrainTo=n.calculateConstrainRegion());t.beginDrag&&t.beginDrag()},calculateConstrainRegion:function(){var n=this,e=n.comp,t=n.initialConstrainTo,i,r,f=n.proxy?n.proxy.el:e.el,u=!n.constrainDelegate&&f.shadow&&!f.shadowDisabled?f.shadow.getShadowSize():0;return t instanceof Ext.util.Region||(t=Ext.fly(t).getViewRegion()),u&&t.adjust(u[0],-u[1],-u[2],u[3]),n.constrainDelegate||(i=Ext.fly(n.dragTarget).getRegion(),r=f.getRegion(),t.adjust(i.top-r.top,i.right-r.right,i.bottom-r.bottom,i.left-r.left)),t},onDrag:function(){var n=this,i=n.proxy&&!n.comp.liveDrag?n.proxy:n.comp,t=n.getOffset(n.constrain||n.constrainDelegate?"dragTarget":null);i.setPagePosition(n.startPosition[0]+t[0],n.startPosition[1]+t[1])},onEnd:function(){var n=this.comp;this.proxy&&!n.liveDrag&&n.unghost();n.endDrag&&n.endDrag()}});Ext.define("Ext.window.Window",{extend:"Ext.panel.Panel",alternateClassName:"Ext.Window",requires:["Ext.util.ComponentDragger","Ext.util.Region","Ext.EventManager"],alias:"widget.window",baseCls:Ext.baseCSSPrefix+"window",resizable:!0,draggable:!0,constrain:!1,constrainHeader:!1,plain:!1,minimizable:!1,maximizable:!1,minHeight:50,minWidth:50,expandOnShow:!0,collapsible:!1,closable:!0,hidden:!0,autoRender:!0,hideMode:"offsets",floating:!0,ariaRole:"alertdialog",itemCls:Ext.baseCSSPrefix+"window-item",initialAlphaNum:/^[a-z0-9]/,overlapHeader:!0,ignoreHeaderBorderManagement:!0,alwaysFramed:!0,isWindow:!0,initComponent:function(){var n=this;if(n.frame=!1,n.callParent(),n.addEvents("resize","maximize","minimize","restore"),n.plain&&n.addClsWithUI("plain"),n.modal&&(n.ariaRole="dialog"),n.floating)n.on({element:"el",mousedown:n.onMouseDown,scope:n});n.addStateEvents(["maximize","restore","resize","dragend"])},getElConfig:function(){var t=this,n;return n=t.callParent(),n.tabIndex=-1,n},getState:function(){var n=this,t=n.callParent()||{},i=!!n.maximized;return t.maximized=i,Ext.apply(t,{size:i?n.restoreSize:n.getSize(),pos:i?n.restorePos:n.getPosition()}),t},applyState:function(n){var t=this;n&&(t.maximized=n.maximized,t.maximized?(t.hasSavedRestore=!0,t.restoreSize=n.size,t.restorePos=n.pos):Ext.apply(t,{width:n.size.width,height:n.size.height,x:n.pos[0],y:n.pos[1]}))},onMouseDown:function(n){var t;this.floating&&(Ext.fly(n.getTarget()).focusable()&&(t=!0),this.toFront(t))},onRender:function(){var n=this;if(n.callParent(arguments),n.focusEl=n.el,n.maximizable)n.header.on({scope:n,dblclick:n.toggleMaximize})},afterRender:function(){var n=this,t;if(n.callParent(),n.maximized&&(n.maximized=!1,n.maximize()),n.closable){t=n.getKeyMap();t.on(27,n.onEsc,n)}else t=n.keyMap;t&&n.hidden&&t.disable()},initDraggable:function(){var n=this,t;n.header||n.updateHeader(!0);n.header&&(t=Ext.applyIf({el:n.el,delegate:"#"+Ext.escapeId(n.header.id)},n.draggable),(n.constrain||n.constrainHeader)&&(t.constrain=n.constrain,t.constrainDelegate=n.constrainHeader,t.constrainTo=n.constrainTo||n.container),n.dd=new Ext.util.ComponentDragger(this,t),n.relayEvents(n.dd,["dragstart","drag","dragend"]))},onEsc:function(n,t){Ext.FocusManager&&Ext.FocusManager.enabled&&Ext.FocusManager.focusedCmp!==this||(t.stopEvent(),this.close())},beforeDestroy:function(){var n=this;n.rendered&&(delete this.animateTarget,n.hide(),Ext.destroy(n.keyMap));n.callParent()},addTools:function(){var n=this;n.callParent();n.minimizable&&n.addTool({type:"minimize",handler:Ext.Function.bind(n.minimize,n,[])});n.maximizable&&(n.addTool({type:"maximize",handler:Ext.Function.bind(n.maximize,n,[])}),n.addTool({type:"restore",handler:Ext.Function.bind(n.restore,n,[]),hidden:!0}))},getFocusEl:function(){return this.getDefaultFocus()},getDefaultFocus:function(){var n=this,i,t=n.defaultButton||n.defaultFocus,r;return t!==undefined&&(Ext.isNumber(t)?i=n.query("button")[t]:Ext.isString(t)?(r=t,r.match(n.initialAlphaNum)&&(i=n.down("#"+r)),i||(i=n.down(r))):t.focus&&(i=t)),i||n.el},onFocus:function(){var n=this,t;Ext.FocusManager&&Ext.FocusManager.enabled||(t=n.getDefaultFocus())===n?n.callParent(arguments):t.focus()},beforeLayout:function(){var n=this.el.shadow;this.callParent();n&&n.hide()},onShow:function(){var n=this;n.callParent(arguments);n.expandOnShow&&n.expand(!1);n.syncMonitorWindowResize();n.keyMap&&n.keyMap.enable()},doClose:function(){var n=this;n.hidden?(n.fireEvent("close",n),n.closeAction=="destroy"&&this.destroy()):n.hide(n.animateTarget,n.doClose,n)},afterHide:function(){var n=this;n.syncMonitorWindowResize();n.keyMap&&n.keyMap.disable();n.callParent(arguments)},onWindowResize:function(){var n=this,t;n.maximized?n.fitContainer():(t=n.getSizeModel(),(t.width.natural||t.height.natural)&&n.updateLayout());n.doConstrain()},minimize:function(){return this.fireEvent("minimize",this),this},afterCollapse:function(){var n=this;n.maximizable&&(n.tools.maximize.hide(),n.tools.restore.hide());n.resizer&&n.resizer.disable();n.callParent(arguments)},afterExpand:function(){var n=this;n.maximized?n.tools.restore.show():n.maximizable&&n.tools.maximize.show();n.resizer&&n.resizer.enable();n.callParent(arguments)},maximize:function(){var n=this;return n.maximized||(n.expand(!1),n.hasSavedRestore||(n.restoreSize=n.getSize(),n.restorePos=n.getPosition(!0)),n.maximizable&&(n.tools.maximize.hide(),n.tools.restore.show()),n.maximized=!0,n.el.disableShadow(),n.dd&&n.dd.disable(),n.resizer&&n.resizer.disable(),n.collapseTool&&n.collapseTool.hide(),n.el.addCls(Ext.baseCSSPrefix+"window-maximized"),n.container.addCls(Ext.baseCSSPrefix+"window-maximized-ct"),n.syncMonitorWindowResize(),n.fitContainer(),n.fireEvent("maximize",n)),n},restore:function(){var n=this,t=n.tools;return n.maximized&&(delete n.hasSavedRestore,n.removeCls(Ext.baseCSSPrefix+"window-maximized"),t.restore&&t.restore.hide(),t.maximize&&t.maximize.show(),n.collapseTool&&n.collapseTool.show(),n.maximized=!1,n.setPosition(n.restorePos),n.setSize(n.restoreSize),delete n.restorePos,delete n.restoreSize,n.el.enableShadow(!0),n.dd&&n.dd.enable(),n.resizer&&n.resizer.enable(),n.container.removeCls(Ext.baseCSSPrefix+"window-maximized-ct"),n.syncMonitorWindowResize(),n.doConstrain(),n.fireEvent("restore",n)),n},syncMonitorWindowResize:function(){var n=this,t=n._monitoringResize,i=n.monitorResize||n.constrain||n.constrainHeader||n.maximized,r=n.hidden||n.destroying||n.isDestroyed;if(i&&!r){if(!t){Ext.EventManager.onWindowResize(n.onWindowResize,n);n._monitoringResize=!0}}else t&&(Ext.EventManager.removeResizeListener(n.onWindowResize,n),n._monitoringResize=!1)},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()}});Ext.define("Ext.layout.component.field.Field",{extend:"Ext.layout.component.Auto",alias:"layout.field",uses:["Ext.tip.QuickTip","Ext.util.TextMetrics","Ext.util.CSS"],type:"field",naturalSizingProp:"size",beginLayout:function(n){var t=this,i=t.owner,r=n.widthModel,u=i[t.naturalSizingProp],f;t.callParent(arguments);n.labelStrategy=t.getLabelStrategy();n.errorStrategy=t.getErrorStrategy();n.labelContext=n.getEl("labelEl");n.bodyCellContext=n.getEl("bodyEl");n.inputContext=n.getEl("inputEl");n.errorContext=n.getEl("errorEl");(Ext.isIE6||Ext.isIE7)&&Ext.isStrict&&n.inputContext&&(t.ieInputWidthAdjustment=n.inputContext.getPaddingInfo().width+n.inputContext.getBorderInfo().width);n.labelStrategy.prepare(n,i);n.errorStrategy.prepare(n,i);r.shrinkWrap?t.beginLayoutShrinkWrap(n):r.natural?(typeof u!="number"||i.inputWidth?t.beginLayoutShrinkWrap(n):t.beginLayoutFixed(n,f=u*6.5+20,"px"),n.setWidth(f,!1)):t.beginLayoutFixed(n,"100","%")},beginLayoutFixed:function(n,t,i){var r=n.target,u=r.inputEl,f=r.inputWidth;r.el.setStyle("table-layout","fixed");r.bodyEl.setStyle("width",t+i);u&&f&&u.setStyle("width",f+"px");n.isFixed=!0},beginLayoutShrinkWrap:function(n){var t=n.target,i=t.inputEl,r=t.inputWidth;i&&i.dom&&(i.dom.removeAttribute("size"),r&&i.setStyle("width",r+"px"));t.el.setStyle("table-layout","auto");t.bodyEl.setStyle("width","")},finishedLayout:function(n){var t=this.owner;this.callParent(arguments);n.labelStrategy.finishedLayout(n,t);n.errorStrategy.finishedLayout(n,t)},calculateOwnerHeightFromContentHeight:function(n,t){return t},measureContentHeight:function(n){return n.el.getHeight()},measureContentWidth:function(n){return n.el.getWidth()},measureLabelErrorHeight:function(n){return n.labelStrategy.getHeight(n)+n.errorStrategy.getHeight(n)},onFocus:function(){this.getErrorStrategy().onFocus(this.owner)},getLabelStrategy:function(){var n=this,t=n.labelStrategies,i=n.owner.labelAlign;return t[i]||t.base},getErrorStrategy:function(){var t=this,i=t.owner,n=t.errorStrategies,r=i.msgTarget;return!i.preventMark&&Ext.isString(r)?n[r]||n.elementId:n.none},labelStrategies:function(){var n={prepare:function(n,t){var r=t.labelCls+"-"+t.labelAlign,i=t.labelEl;i&&i.addCls(r)},getHeight:function(){return 0},finishedLayout:Ext.emptyFn};return{base:n,top:Ext.applyIf({getHeight:function(n){var i=n.labelContext,r=i.props,t=r.height;return t===undefined&&(r.height=t=i.el.getHeight()),t}},n),left:n,right:n}}(),errorStrategies:function(){function i(n){var t=Ext.layout.component.field.Field.tip,i;t&&t.isVisible()&&(i=t.activeTarget,i&&i.el===n.getActionEl().dom&&t.toFront(!0))}var t=Ext.applyIf,r=Ext.emptyFn,u=Ext.baseCSSPrefix+"form-invalid-icon",f,n={prepare:function(n,t){var i=t.errorEl;i&&i.setDisplayed(!1)},getHeight:function(){return 0},onFocus:r,finishedLayout:r};return{none:n,side:t({prepare:function(n,t){var i=t.errorEl,e=t.sideErrorCell,r=t.hasActiveError(),o;f||(f=(o=Ext.getBody().createChild({style:"position:absolute",cls:u})).getWidth(),o.remove());i.addCls(u);i.set({"data-errorqtip":t.getActiveError()||""});t.autoFitErrors?i.setDisplayed(r):i.setVisible(r);e&&t.autoFitErrors&&e.setDisplayed(r);t.bodyEl.dom.colSpan=t.getBodyColspan();Ext.layout.component.field.Field.initTip()},onFocus:i},n),under:t({prepare:function(n,t){var i=t.errorEl,r=Ext.baseCSSPrefix+"form-invalid-under";i.addCls(r);i.setDisplayed(t.hasActiveError())},getHeight:function(n){var t=0,i,r;return n.target.hasActiveError()&&(i=n.errorContext,r=i.props,t=r.height,t===undefined&&(r.height=t=i.el.getHeight())),t}},n),qtip:t({prepare:function(n,t){Ext.layout.component.field.Field.initTip();t.getActionEl().set({"data-errorqtip":t.getActiveError()||""})},onFocus:i},n),title:t({prepare:function(n,t){t.el.set({title:t.getActiveError()||""})}},n),elementId:t({prepare:function(n,t){var i=Ext.fly(t.msgTarget);i&&(i.dom.innerHTML=t.getActiveError()||"",i.setDisplayed(t.hasActiveError()))}},n)}}(),statics:{initTip:function(){var n=this.tip;n||(n=this.tip=Ext.create("Ext.tip.QuickTip",{baseCls:Ext.baseCSSPrefix+"form-invalid-tip"}),n.tagConfig=Ext.apply({},{attribute:"errorqtip"},n.tagConfig))},destroyTip:function(){var n=this.tip;n&&(n.destroy(),delete this.tip)}}});Ext.define("Ext.layout.component.field.Text",{extend:"Ext.layout.component.field.Field",alias:"layout.textfield",requires:["Ext.util.TextMetrics"],type:"textfield",canGrowWidth:!0,beginLayoutCycle:function(n){var t=this;t.callParent(arguments);n.shrinkWrap&&n.inputContext.el.setStyle("height","")},measureContentWidth:function(n){var r=this,t=r.owner,f=r.callParent(arguments),e=n.inputContext,o,s,u,i,h;return t.grow&&r.canGrowWidth&&!n.state.growHandled&&(o=t.inputEl,s=Ext.util.Format.htmlEncode(o.dom.value||(t.hasFocus?"":t.emptyText)||""),s+=t.growAppend,u=o.getTextWidth(s)+e.getFrameInfo().width,i=t.growMax,h=Math.min(i,f),i=Math.max(t.growMin,i,h),u=Ext.Number.constrain(u,t.growMin,i),e.setWidth(u),n.state.growHandled=!0,e.domBlock(r,"width"),f=NaN),f},publishInnerHeight:function(n,t){n.inputContext.setHeight(t-this.measureLabelErrorHeight(n))},beginLayoutFixed:function(n,t,i){var r=this,u=r.ieInputWidthAdjustment;u&&(r.owner.bodyEl.setStyle("padding-right",u+"px"),i==="px"&&(t-=u));r.callParent(arguments)}});Ext.define("Ext.form.Labelable",{requires:["Ext.XTemplate"],autoEl:{tag:"table",cellpadding:0},childEls:["labelCell","labelEl","bodyEl","sideErrorCell","errorEl","inputRow","bottomPlaceHolder"],labelableRenderTpl:['<tr id="{id}-inputRow" <tpl if="inFormLayout">id="{id}"<\/tpl>>','<tpl if="labelOnLeft">','<td id="{id}-labelCell" style="{labelCellStyle}" {labelCellAttrs}>',"{beforeLabelTpl}",'<label id="{id}-labelEl" {labelAttrTpl}<tpl if="inputId"> for="{inputId}"<\/tpl> class="{labelCls}"','<tpl if="labelStyle"> style="{labelStyle}"<\/tpl>>',"{beforeLabelTextTpl}",'<tpl if="fieldLabel">{fieldLabel}{labelSeparator}<\/tpl>',"{afterLabelTextTpl}","<\/label>","{afterLabelTpl}","<\/td>","<\/tpl>",'<td class="{baseBodyCls} {fieldBodyCls}" id="{id}-bodyEl" colspan="{bodyColspan}" role="presentation">',"{beforeBodyEl}","<tpl if=\"labelAlign=='top'\">","{beforeLabelTpl}",'<div id="{id}-labelCell" style="{labelCellStyle}">','<label id="{id}-labelEl" {labelAttrTpl}<tpl if="inputId"> for="{inputId}"<\/tpl> class="{labelCls}"','<tpl if="labelStyle"> style="{labelStyle}"<\/tpl>>',"{beforeLabelTextTpl}",'<tpl if="fieldLabel">{fieldLabel}{labelSeparator}<\/tpl>',"{afterLabelTextTpl}","<\/label>","<\/div>","{afterLabelTpl}","<\/tpl>","{beforeSubTpl}","{[values.$comp.getSubTplMarkup()]}","{afterSubTpl}","<tpl if=\"msgTarget==='side'\">","{afterBodyEl}","<\/td>","<td id=\"{id}-sideErrorCell\" vAlign=\"{[values.labelAlign==='top' && !values.hideLabel ? 'bottom' : 'middle']}\" style=\"{[values.autoFitErrors ? 'display:none' : '']}\" width=\"{errorIconWidth}\">",'<div id="{id}-errorEl" class="{errorMsgCls}" style="display:none;width:{errorIconWidth}px"><\/div>',"<\/td>","<tpl elseif=\"msgTarget=='under'\">",'<div id="{id}-errorEl" class="{errorMsgClass}" colspan="2" style="display:none"><\/div>',"{afterBodyEl}","<\/td>","<\/tpl>","<\/tr>",{disableFormats:!0}],activeErrorsTpl:['<tpl if="errors && errors.length">','<ul><tpl for="errors"><li>{.}<\/li><\/tpl><\/ul>',"<\/tpl>"],isFieldLabelable:!0,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:!1,hideEmptyLabel:!0,preventMark:!1,autoFitErrors:!0,msgTarget:"qtip",noWrap:!0,labelableInsertions:["beforeBodyEl","afterBodyEl","beforeLabelTpl","afterLabelTpl","beforeSubTpl","afterSubTpl","beforeLabelTextTpl","afterLabelTextTpl","labelAttrTpl"],labelableRenderProps:["allowBlank","id","labelAlign","fieldBodyCls","baseBodyCls","clearCls","labelSeparator","msgTarget"],initLabelable:function(){var n=this,t=n.padding;t&&(n.padding=undefined,n.extraMargins=Ext.Element.parseBox(t));n.addCls(n.formItemCls);n.lastActiveError="";n.addEvents("errorchange")},trimLabelSeparator:function(){var t=this,i=t.labelSeparator,n=t.fieldLabel||"",r=n.substr(n.length-1);return r===i?n.slice(0,-1):n},getFieldLabel:function(){return this.trimLabelSeparator()},setFieldLabel:function(n){n=n||"";var t=this,r=t.labelSeparator,i=t.labelEl;t.fieldLabel=n;t.rendered&&(Ext.isEmpty(n)&&t.hideEmptyLabel?i.parent().setDisplayed("none"):(r&&(n=t.trimLabelSeparator()+r),i.update(n),i.parent().setDisplayed("")),t.updateLayout())},getInsertionRenderData:function(n,t){for(var u=t.length,r,i;u--;)r=t[u],i=this[r],i&&typeof i!="string"&&(i.isTemplate||(i=Ext.XTemplate.getTpl(this,r)),i=i.apply(n)),n[r]=i||"";return n},getLabelableRenderData:function(){var n=this,t,i,r=n.labelAlign==="top";return Ext.form.Labelable.errorIconWidth||(Ext.form.Labelable.errorIconWidth=(i=Ext.resetElement.createChild({style:"position:absolute",cls:Ext.baseCSSPrefix+"form-invalid-icon"})).getWidth(),i.remove()),t=Ext.copyTo({inFormLayout:n.ownerLayout&&n.ownerLayout.type==="form",inputId:n.getInputId(),labelOnLeft:!r,hideLabel:!n.hasVisibleLabel(),fieldLabel:n.getFieldLabel(),labelCellStyle:n.getLabelCellStyle(),labelCellAttrs:n.getLabelCellAttrs(),labelCls:n.getLabelCls(),labelStyle:n.getLabelStyle(),bodyColspan:n.getBodyColspan(),externalError:!n.autoFitErrors,errorMsgCls:n.getErrorMsgCls(),errorIconWidth:Ext.form.Labelable.errorIconWidth},n,n.labelableRenderProps,!0),n.getInsertionRenderData(t,n.labelableInsertions),t},beforeLabelableRender:function(){var n=this;n.ownerLayout&&n.addCls(Ext.baseCSSPrefix+n.ownerLayout.type+"-form-item")},onLabelableRender:function(){var t=this,i,n,r={};if(t.extraMargins){i=t.el.getMargin();for(n in i)i.hasOwnProperty(n)&&(r["margin-"+n]=i[n]+t.extraMargins[n]+"px");t.el.setStyle(r)}},hasVisibleLabel:function(){return this.hideLabel?!1:!(this.hideEmptyLabel&&!this.getFieldLabel())},getBodyColspan:function(){var n=this,t;return t=n.msgTarget==="side"&&(!n.autoFitErrors||n.hasActiveError())?1:2,n.labelAlign==="top"||n.hasVisibleLabel()||t++,t},getLabelCls:function(){var n=this.labelCls,t=this.labelClsExtra;return this.labelAlign==="top"&&(n+="-top"),t?n+" "+t:n},getLabelCellStyle:function(){var n=this,t=n.hideLabel||!n.fieldLabel&&n.hideEmptyLabel;return t?"display:none;":""},getErrorMsgCls:function(){var n=this,t=n.hideLabel||!n.fieldLabel&&n.hideEmptyLabel;return n.errorMsgCls+(!t&&n.labelAlign==="top"?" "+Ext.baseCSSPrefix+"lbl-top-err-icon":"")},getLabelCellAttrs:function(){var n=this,t=n.labelAlign,i="";return t!=="top"&&(i='valign="top" halign="'+t+'" width="'+(n.labelWidth+n.labelPad)+'"'),i+' class="'+Ext.baseCSSPrefix+'field-label-cell"'},getLabelStyle:function(){var n=this,i=n.labelPad,t="";return n.labelAlign!=="top"&&(n.labelWidth&&(t="width:"+n.labelWidth+"px;"),t+="margin-right:"+i+"px;"),t+(n.labelStyle||"")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return!!this.getActiveError()},setActiveError:function(n){this.setActiveErrors(n)},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(n){n=Ext.Array.from(n);this.activeError=n[0];this.activeErrors=n;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:n});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var n=this,t=n.getActiveError(),i=!!t;t!==n.lastActiveError&&(n.fireEvent("errorchange",n,t),n.lastActiveError=t);!n.rendered||n.isDestroyed||n.preventMark||(n.el[i?"addCls":"removeCls"](n.invalidCls),n.getActionEl().dom.setAttribute("aria-invalid",i),n.errorEl&&(n.errorEl.dom.innerHTML=t))},setFieldDefaults:function(n){var i=this,r;for(var t in n)n.hasOwnProperty(t)&&(r=n[t],i.hasOwnProperty(t)||(i[t]=r))}});Ext.define("Ext.form.field.Field",{isFormField:!0,disabled:!1,submitValue:!0,validateOnChange:!0,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var n=this;n.value=n.transformOriginalValue(n.value);n.originalValue=n.lastValue=n.value;n.suspendCheckChange++;n.setValue(n.value);n.suspendCheckChange--},transformOriginalValue:function(n){return n},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(n){var t=this;return t.value=n,t.checkChange(),t},isEqual:function(n,t){return String(n)===String(t)},isEqualAsString:function(n,t){return String(Ext.value(n,""))===String(Ext.value(t,""))},getSubmitData:function(){var n=this,t=null;return n.disabled||!n.submitValue||n.isFileUpload()||(t={},t[n.getName()]=""+n.getValue()),t},getModelData:function(){var n=this,t=null;return n.disabled||n.isFileUpload()||(t={},t[n.getName()]=n.getValue()),t},reset:function(){var n=this;n.beforeReset();n.setValue(n.originalValue);n.clearInvalid();delete n.wasValid},beforeReset:Ext.emptyFn,resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var n=this,t=n.getValue(),i=n.lastValue;if(!n.isEqual(t,i)&&!n.isDestroyed){n.lastValue=t;n.fireEvent("change",n,t,i);n.onChange(t,i)}}},onChange:function(){this.validateOnChange&&this.validate();this.checkDirty()},isDirty:function(){var n=this;return!n.disabled&&!n.isEqual(n.getValue(),n.originalValue)},checkDirty:function(){var n=this,t=n.isDirty();if(t!==n.wasDirty){n.fireEvent("dirtychange",n,t);n.onDirtyChange(t);n.wasDirty=t}},onDirtyChange:Ext.emptyFn,getErrors:function(){return[]},isValid:function(){var n=this;return n.disabled||Ext.isEmpty(n.getErrors())},validate:function(){var n=this,t=n.isValid();return t!==n.wasValid&&(n.wasValid=t,n.fireEvent("validitychange",n,t)),t},batchChanges:function(n){try{this.suspendCheckChange++;n()}catch(t){throw t;}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return!1},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.form.field.Base",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.field",alternateClassName:["Ext.form.Field","Ext.form.BaseField"],requires:["Ext.util.DelayedTask","Ext.XTemplate","Ext.layout.component.field.Field"],fieldSubTpl:['<input id="{id}" type="{type}" {inputAttrTpl}',' size="1"','<tpl if="name"> name="{name}"<\/tpl>','<tpl if="value"> value="{[Ext.util.Format.htmlEncode(values.value)]}"<\/tpl>','<tpl if="placeholder"> placeholder="{placeholder}"<\/tpl>','{%if (values.maxLength !== undefined){%} maxlength="{maxLength}"{%}%}','<tpl if="readOnly"> readonly="readonly"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>','<tpl if="tabIdx"> tabIndex="{tabIdx}"<\/tpl>','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',' class="{fieldCls} {typeCls} {editableCls}" autocomplete="off"/>',{disableFormats:!0}],subTplInsertions:["inputAttrTpl"],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:!1,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:!0,hasFocus:!1,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:!1,initComponent:function(){var n=this;n.callParent();n.subTplData=n.subTplData||{};n.addEvents("specialkey","writeablechange");n.initLabelable();n.initField();n.name||(n.name=n.getInputId())},beforeRender:function(){var n=this;n.callParent(arguments);n.beforeLabelableRender(arguments);n.readOnly&&n.addCls(n.readOnlyCls)},getInputId:function(){return this.inputId||(this.inputId=this.id+"-inputEl")},getSubTplData:function(){var n=this,t=n.inputType,r=n.getInputId(),i;return i=Ext.apply({id:r,cmpId:n.id,name:n.name||r,disabled:n.disabled,readOnly:n.readOnly,value:n.getRawValue(),type:t,fieldCls:n.fieldCls,fieldStyle:n.getFieldStyle(),tabIdx:n.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(t==="password"?"text":t)},n.subTplData),n.getInsertionRenderData(i,n.subTplInsertions),i},afterFirstLayout:function(){this.callParent();var n=this.inputEl;n&&n.selectable()},applyRenderSelectors:function(){var n=this;n.callParent();n.inputEl=n.el.getById(n.getInputId())},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var n=this;return n.hasOwnProperty("renderTpl")||(n.renderTpl=n.getTpl("labelableRenderTpl")),n.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(n){var t=this,i=t.inputEl;i&&i.applyStyles(n);t.fieldStyle=n},getFieldStyle:function(){return"width:100%;"+(Ext.isObject(this.fieldStyle)?Ext.DomHelper.generateStyles(this.fieldStyle):this.fieldStyle||"")},onRender:function(){var n=this;n.callParent(arguments);n.onLabelableRender();n.renderActiveError()},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var t=this,n=t.isFileUpload()?t.inputEl.dom:null,i;return n&&(i=n.cloneNode(!0),n.parentNode.replaceChild(i,n),t.inputEl=Ext.get(i)),n},getSubmitData:function(){var n=this,t=null,i;return n.disabled||!n.submitValue||n.isFileUpload()||(i=n.getSubmitValue(),i!==null&&(t={},t[n.getName()]=i)),t},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var n=this,t=n.inputEl?n.inputEl.getValue():Ext.value(n.rawValue,"");return n.rawValue=t,t},setRawValue:function(n){var t=this;return n=Ext.value(t.transformRawValue(n),""),t.rawValue=n,t.inputEl&&(t.inputEl.dom.value=n),n},transformRawValue:function(n){return n},valueToRaw:function(n){return""+Ext.value(n,"")},rawToValue:function(n){return n},processRawValue:function(n){return n},getValue:function(){var n=this,t=n.rawToValue(n.processRawValue(n.getRawValue()));return n.value=t,t},setValue:function(n){var t=this;return t.setRawValue(t.valueToRaw(n)),t.mixins.field.setValue.call(t,n)},onBoxReady:function(){var n=this;n.callParent();n.setReadOnlyOnBoxReady&&n.setReadOnly(n.readOnly)},onDisable:function(){var n=this,t=n.inputEl;n.callParent();t&&(t.dom.disabled=!0,n.hasActiveError()&&(n.clearInvalid(),n.needsValidateOnEnable=!0))},onEnable:function(){var n=this,t=n.inputEl;n.callParent();t&&(t.dom.disabled=!1,n.needsValidateOnEnable&&(delete n.needsValidateOnEnable,n.forceValidation=!0,n.isValid(),delete n.forceValidation))},setReadOnly:function(n){var t=this,i=t.inputEl;n=!!n;t[n?"addCls":"removeCls"](t.readOnlyCls);t.readOnly=n;i?i.dom.readOnly=n:t.rendering&&(t.setReadOnlyOnBoxReady=!0);t.fireEvent("writeablechange",t,n)},fireKey:function(n){n.isSpecialKey()&&this.fireEvent("specialkey",this,new Ext.EventObjectImpl(n))},initEvents:function(){var n=this,i=n.inputEl,u,f,e=n.checkChangeEvents,t,o=e.length,r;if(n.inEditor&&(n.onBlur=Ext.Function.createBuffered(n.onBlur,10)),i)for(n.mon(i,Ext.EventManager.getKeyEvent(),n.fireKey,n),u=new Ext.util.DelayedTask(n.checkChange,n),n.onChangeEvent=f=function(){u.delay(n.checkChangeBuffer)},t=0;t<o;t++)r=e[t],r==="propertychange"&&(n.usesPropertychange=!0),n.mon(i,r,f);n.callParent()},doComponentLayout:function(){var n=this,t=n.inputEl,i=n.usesPropertychange,r="propertychange",u=n.onChangeEvent;i&&n.mun(t,r,u);n.callParent(arguments);i&&n.mon(t,r,u)},onDirtyChange:function(n){this[n?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var n=this,t=n.disabled,i=n.forceValidation||!t;return i?n.validateValue(n.processRawValue(n.getRawValue())):t},validateValue:function(n){var t=this,i=t.getErrors(n),r=Ext.isEmpty(i);return t.preventMark||(r?t.clearInvalid():t.markInvalid(i)),r},markInvalid:function(n){var t=this,i=t.getActiveError();t.setActiveErrors(Ext.Array.from(n));i!==t.getActiveError()&&t.updateLayout()},clearInvalid:function(){var n=this,t=n.hasActiveError();n.unsetActiveError();t&&n.updateLayout()},renderActiveError:function(){var n=this,t=n.hasActiveError();n.inputEl&&n.inputEl[t?"addCls":"removeCls"](n.invalidCls+"-field");n.mixins.labelable.renderActiveError.call(n)},getActionEl:function(){return this.inputEl||this.el}});Ext.define("Ext.form.field.VTypes",function(){var n=/^[a-zA-Z_]+$/,t=/^[a-zA-Z0-9_]+$/,i=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,r=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{singleton:!0,alternateClassName:"Ext.form.VTypes",email:function(n){return i.test(n)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(n){return r.test(n)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(t){return n.test(t)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(n){return t.test(n)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}());Ext.define("Ext.form.field.Text",{extend:"Ext.form.field.Base",alias:"widget.textfield",requires:["Ext.form.field.VTypes","Ext.layout.component.field.Text"],alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",allowBlank:!0,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",requiredCls:Ext.baseCSSPrefix+"form-required-field",componentLayout:"textfield",valueContainsPlaceholder:!1,initComponent:function(){var n=this;n.callParent();n.addEvents("autosize","keydown","keyup","keypress");n.addStateEvents("change");n.setGrowSizePolicy()},setGrowSizePolicy:function(){this.grow&&(this.shrinkWrap|=1)},initEvents:function(){var n=this,t=n.inputEl;n.callParent();(n.selectOnFocus||n.emptyText)&&n.mon(t,"mousedown",n.onMouseDown,n);(n.maskRe||n.vtype&&n.disableKeyFilter!==!0&&(n.maskRe=Ext.form.field.VTypes[n.vtype+"Mask"]))&&n.mon(t,"keypress",n.filterKeys,n);n.enableKeyEvents&&n.mon(t,{scope:n,keyup:n.onKeyUp,keydown:n.onKeyDown,keypress:n.onKeyPress})},isEqual:function(n,t){return this.isEqualAsString(n,t)},onChange:function(){this.callParent();this.autoSize()},getSubTplData:function(){var n=this,t=n.getRawValue(),u=n.emptyText&&t.length<1,i=n.maxLength,r;return n.enforceMaxLength?i===Number.MAX_VALUE&&(i=undefined):i=undefined,u&&(Ext.supports.Placeholder?r=n.emptyText:(t=n.emptyText,n.valueContainsPlaceholder=!0)),Ext.apply(n.callParent(),{maxLength:i,readOnly:n.readOnly,placeholder:r,value:t,fieldCls:n.fieldCls+(u&&(r||t)?" "+n.emptyCls:"")+(n.allowBlank?"":" "+n.requiredCls)})},afterRender:function(){this.autoSize();this.callParent()},onMouseDown:function(){var n=this;n.hasFocus||n.mon(n.inputEl,"mouseup",Ext.emptyFn,n,{single:!0,preventDefault:!0})},processRawValue:function(n){var i=this,r=i.stripCharsRe,t;return r&&(t=n.replace(r,""),t!==n&&(i.setRawValue(t),n=t)),n},onDisable:function(){this.callParent();Ext.isIE&&(this.inputEl.dom.unselectable="on")},onEnable:function(){this.callParent();Ext.isIE&&(this.inputEl.dom.unselectable="")},onKeyDown:function(n){this.fireEvent("keydown",this,n)},onKeyUp:function(n){this.fireEvent("keyup",this,n)},onKeyPress:function(n){this.fireEvent("keypress",this,n)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var n=this,t=n.emptyText,i;n.rendered&&t&&(i=n.getRawValue().length<1&&!n.hasFocus,Ext.supports.Placeholder?n.inputEl.dom.placeholder=t:i&&(n.setRawValue(t),n.valueContainsPlaceholder=!0),i&&n.inputEl.addCls(n.emptyCls),n.autoSize())},afterFirstLayout:function(){if(this.callParent(),Ext.isIE&&this.disabled){var n=this.inputEl;n&&(n.dom.unselectable="on")}},preFocus:function(){var n=this,t=n.inputEl,r=n.emptyText,i;n.callParent(arguments);r&&!Ext.supports.Placeholder&&t.dom.value===n.emptyText&&n.valueContainsPlaceholder?(n.setRawValue(""),i=!0,t.removeCls(n.emptyCls),n.valueContainsPlaceholder=!1):Ext.supports.Placeholder&&n.inputEl.removeCls(n.emptyCls);(n.selectOnFocus||i)&&t.dom.select()},onFocus:function(){var n=this;n.callParent(arguments);n.emptyText&&n.autoSize()},postBlur:function(){this.callParent(arguments);this.applyEmptyText()},filterKeys:function(n){if(!n.ctrlKey||n.altKey){var t=n.getKey(),i=String.fromCharCode(n.getCharCode());(Ext.isGecko||Ext.isOpera)&&(n.isNavKeyPress()||t===n.BACKSPACE||t===n.DELETE&&n.button===-1)||(Ext.isGecko||Ext.isOpera||!n.isSpecialKey()||i)&&(this.maskRe.test(i)||n.stopEvent())}},getState:function(){return this.addPropertyToState(this.callParent(),"value")},applyState:function(n){this.callParent(arguments);n.hasOwnProperty("value")&&this.setValue(n.value)},getRawValue:function(){var n=this,t=n.callParent();return t===n.emptyText&&n.valueContainsPlaceholder&&(t=""),t},setValue:function(n){var t=this,i=t.inputEl;return i&&t.emptyText&&!Ext.isEmpty(n)&&(i.removeCls(t.emptyCls),t.valueContainsPlaceholder=!1),t.callParent(arguments),t.applyEmptyText(),t},getErrors:function(n){var t=this,i=t.callParent(arguments),f=t.validator,c=t.emptyText,h=t.allowBlank,r=t.vtype,e=Ext.form.field.VTypes,o=t.regex,s=Ext.String.format,u;return(n=n||t.processRawValue(t.getRawValue()),Ext.isFunction(f)&&(u=f.call(t,n),u!==!0&&i.push(u)),n.length<1||n===t.emptyText&&t.valueContainsPlaceholder)?(h||i.push(t.blankText),i):(n.length<t.minLength&&i.push(s(t.minLengthText,t.minLength)),n.length>t.maxLength&&i.push(s(t.maxLengthText,t.maxLength)),r&&(e[r](n,t)||i.push(t.vtypeText||e[r+"Text"])),o&&!o.test(n)&&i.push(t.regexText||t.invalidText),i)},selectText:function(n,t){var u=this,f=u.getRawValue(),e=!0,i=u.inputEl.dom,o,r;f.length>0&&(n=n===o?0:n,t=t===o?f.length:t,i.setSelectionRange?i.setSelectionRange(n,t):i.createTextRange&&(r=i.createTextRange(),r.moveStart("character",n),r.moveEnd("character",t-f.length),r.select()),e=Ext.isGecko||Ext.isOpera);e&&u.focus()},autoSize:function(){var n=this;n.grow&&n.rendered&&(n.autoSizing=!0,n.updateLayout())},afterComponentLayout:function(){var n=this,t;n.callParent(arguments);n.autoSizing&&(t=n.inputEl.getWidth(),t!==n.lastInputWidth&&(n.fireEvent("autosize",n,t),n.lastInputWidth=t,delete n.autoSizing))}});Ext.define("Ext.layout.component.field.TextArea",{extend:"Ext.layout.component.field.Text",alias:"layout.textareafield",type:"textareafield",canGrowWidth:!1,naturalSizingProp:"cols",beginLayout:function(n){this.callParent(arguments);n.target.inputEl.setStyle("height","")},measureContentHeight:function(n){var e=this,t=e.owner,o=e.callParent(arguments),i,u,r,s,f;return t.grow&&!n.state.growHandled&&(i=n.inputContext,u=t.inputEl,s=u.getWidth(!0),r=Ext.util.Format.htmlEncode(u.dom.value)||"&#160;",r+=t.growAppend,r=r.replace(/\n/g,"<br/>"),f=Ext.util.TextMetrics.measure(u,r,s).height+i.getBorderInfo().height+i.getPaddingInfo().height,f=Ext.Number.constrain(f,t.growMin,t.growMax),i.setHeight(f),n.state.growHandled=!0,i.domBlock(e,"height"),o=NaN),o}});Ext.define("Ext.form.field.TextArea",{extend:"Ext.form.field.Text",alias:["widget.textareafield","widget.textarea"],alternateClassName:"Ext.form.TextArea",requires:["Ext.XTemplate","Ext.layout.component.field.TextArea","Ext.util.DelayedTask"],fieldSubTpl:['<textarea id="{id}" {inputAttrTpl}','<tpl if="name"> name="{name}"<\/tpl>','<tpl if="rows"> rows="{rows}" <\/tpl>','<tpl if="cols"> cols="{cols}" <\/tpl>','<tpl if="placeholder"> placeholder="{placeholder}"<\/tpl>','<tpl if="size"> size="{size}"<\/tpl>','<tpl if="maxLength !== undefined"> maxlength="{maxLength}"<\/tpl>','<tpl if="readOnly"> readonly="readonly"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>','<tpl if="tabIdx"> tabIndex="{tabIdx}"<\/tpl>',' class="{fieldCls} {typeCls}" ','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',' autocomplete="off">\n','<tpl if="value">{[Ext.util.Format.htmlEncode(values.value)]}<\/tpl>',"<\/textarea>",{disableFormats:!0}],growMin:60,growMax:1e3,growAppend:"\n-",cols:20,rows:4,enterIsSpecial:!1,preventScrollbars:!1,componentLayout:"textareafield",setGrowSizePolicy:Ext.emptyFn,returnRe:/\r/g,getSubTplData:function(){var n=this,i=n.getFieldStyle(),t=n.callParent();return n.grow&&n.preventScrollbars&&(t.fieldStyle=(i||"")+";overflow:hidden;height:"+n.growMin+"px"),Ext.applyIf(t,{cols:n.cols,rows:n.rows}),t},afterRender:function(){var n=this;if(n.callParent(arguments),n.needsMaxCheck=n.enforceMaxLength&&n.maxLength!==Number.MAX_VALUE&&!Ext.supports.TextAreaMaxLength,n.needsMaxCheck)n.inputEl.on("paste",n.onPaste,n)},transformRawValue:function(n){return this.stripReturns(n)},transformOriginalValue:function(n){return this.stripReturns(n)},valueToRaw:function(n){return n=this.stripReturns(n),this.callParent([n])},stripReturns:function(n){return n&&(n=n.replace(this.returnRe,"")),n},onPaste:function(){var n=this;n.pasteTask||(n.pasteTask=new Ext.util.DelayedTask(n.pasteCheck,n));n.pasteTask.delay(1)},pasteCheck:function(){var t=this,n=t.getValue(),i=t.maxLength;n.length>i&&(n=n.substr(0,i),t.setValue(n))},fireKey:function(n){var t=this,i=n.getKey(),r;n.isSpecialKey()&&(t.enterIsSpecial||i!==n.ENTER||n.hasModifier())&&t.fireEvent("specialkey",t,n);!t.needsMaxCheck||i===n.BACKSPACE||i===n.DELETE||n.isNavKeyPress()||t.isCutCopyPasteSelectAll(n,i)||(r=t.getValue(),r.length>=t.maxLength&&n.stopEvent())},isCutCopyPasteSelectAll:function(n,t){return n.CTRL?t===n.A||t===n.C||t===n.V||t===n.X:!1},autoSize:function(){var n=this,t;n.grow&&n.rendered&&(n.updateLayout(),t=n.inputEl.getHeight(),t!==n.lastInputHeight&&(n.fireEvent("autosize",n,t),n.lastInputHeight=t))},initAria:function(){this.callParent(arguments);this.getActionEl().dom.setAttribute("aria-multiline",!0)},beforeDestroy:function(){var n=this.pasteTask;n&&n.delay();this.callParent()}});Ext.define("Ext.form.field.Display",{extend:"Ext.form.field.Base",alias:"widget.displayfield",requires:["Ext.util.Format","Ext.XTemplate"],alternateClassName:["Ext.form.DisplayField","Ext.form.Display"],fieldSubTpl:['<div id="{id}"','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',' class="{fieldCls}">{value}<\/div>',{compiled:!0,disableFormats:!0}],fieldCls:Ext.baseCSSPrefix+"form-display-field",htmlEncode:!1,validateOnChange:!1,initEvents:Ext.emptyFn,submitValue:!1,isDirty:function(){return!1},isValid:function(){return!0},validate:function(){return!0},getRawValue:function(){return this.rawValue},setRawValue:function(n){var t=this;return n=Ext.value(n,""),t.rawValue=n,t.rendered&&(t.inputEl.dom.innerHTML=t.getDisplayValue(),t.updateLayout()),n},getDisplayValue:function(){var n=this,t=this.getRawValue();return n.renderer?n.renderer.call(n.scope||n,t,n):n.htmlEncode?Ext.util.Format.htmlEncode(t):t},getSubTplData:function(){var n=this.callParent(arguments);return n.value=this.getDisplayValue(),n}});Ext.define("Ext.layout.container.Anchor",{alias:"layout.anchor",extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.AnchorLayout",type:"anchor",manageOverflow:2,renderTpl:["{%this.renderBody(out,values);this.renderPadder(out,values)%}"],defaultAnchor:"100%",parseAnchorRE:/^(r|right|b|bottom)$/i,beginLayout:function(n){var f=this,t=0,i,r,e,u,s,o;for(f.callParent(arguments),e=n.childItems,s=e.length,u=0;u<s;++u)if(r=e[u],i=r.target.anchorSpec,i&&(r.widthModel.calculated&&i.right&&(t|=1),r.heightModel.calculated&&i.bottom&&(t|=2),t==3))break;n.anchorDimensions=t;Ext.supports.RightMargin||f.rightMarginCleanerFn||(o=n.targetContext.el,f.rightMarginCleanerFn=Ext.Element.getRightMarginFixCleaner(o),o.addCls(Ext.baseCSSPrefix+"inline-children"))},calculate:function(n){var t=this,i=t.getContainerSize(n);if(n.anchorDimensions!==n.state.calculatedAnchors&&t.calculateAnchors(n,i),n.hasDomProp("containerChildrenDone")&&(i.gotAll||(t.done=!1),t.calculateContentSize(n,n.anchorDimensions),t.done)){t.calculateOverflow(n,i,n.anchorDimensions);return}t.done=!1},calculateAnchors:function(n,t){var s=this,h=n.childItems,v=h.length,c=t.gotHeight,l=t.gotWidth,y=t.height,p=t.width,a=n.state,w=(l?1:0)|(c?2:0),e,i,o,r,u,f;for(a.calculatedAnchors=(a.calculatedAnchors||0)|w,u=0;u<v;u++)i=h[u],o=i.getMarginInfo(),e=i.target.anchorSpec,l&&i.widthModel.calculated&&(f=e.right(p)-o.width,f=s.adjustWidthAnchor(f,i),i.setWidth(f)),c&&i.heightModel.calculated&&(r=e.bottom(y)-o.height,r=s.adjustHeightAnchor(r,i),i.setHeight(r))},finishedLayout:function(n){var t=this.rightMarginCleanerFn;t&&(delete this.rightMarginCleanerFn,n.targetContext.el.removeCls(Ext.baseCSSPrefix+"inline-children"),t())},anchorFactory:{offset:function(n){return function(t){return t+n}},ratio:function(n){return function(t){return Math.floor(t*n)}},standard:function(n){return function(t){return t-n}}},parseAnchor:function(n,t,i){if(n&&n!="none"){var r=this.anchorFactory,u;if(this.parseAnchorRE.test(n))return r.standard(i-t);if(n.indexOf("%")!=-1)return r.ratio(parseFloat(n.replace("%",""))*.01);if(u=parseInt(n,10),!isNaN(u))return r.offset(u)}return null},adjustWidthAnchor:function(n){return n},adjustHeightAnchor:function(n){return n},configureItem:function(n){var i=this,t=i.owner,u=n.anchor,f,r,e;i.callParent(arguments);n.anchor||!n.items||Ext.isNumber(n.width)||Ext.isIE6&&Ext.isStrict||(n.anchor=u=i.defaultAnchor);t.anchorSize?typeof t.anchorSize=="number"?r=t.anchorSize:(r=t.anchorSize.width,e=t.anchorSize.height):(r=t.initialConfig.width,e=t.initialConfig.height);u&&(f=u.split(" "),n.anchorSpec={right:i.parseAnchor(f[0],n.initialConfig.width,r),bottom:i.parseAnchor(f[1],n.initialConfig.height,e)})},sizePolicy:{"":{setsWidth:0,setsHeight:0},b:{setsWidth:0,setsHeight:1},r:{"":{setsWidth:1,setsHeight:0},b:{setsWidth:1,setsHeight:1}}},getItemSizePolicy:function(n){var t=n.anchorSpec,u="",i=this.sizePolicy,r;return t&&(r=this.owner.getSizeModel(),t.right&&!r.width.shrinkWrap&&(i=i.r),t.bottom&&!r.height.shrinkWrap&&(u="b")),i[u]}});Ext.define("Ext.window.MessageBox",{extend:"Ext.window.Window",requires:["Ext.toolbar.Toolbar","Ext.form.field.Text","Ext.form.field.TextArea","Ext.form.field.Display","Ext.button.Button","Ext.layout.container.Anchor","Ext.layout.container.HBox","Ext.ProgressBar"],alias:"widget.messagebox",OK:1,YES:2,NO:4,CANCEL:8,OKCANCEL:9,YESNO:6,YESNOCANCEL:14,INFO:Ext.baseCSSPrefix+"message-box-info",WARNING:Ext.baseCSSPrefix+"message-box-warning",QUESTION:Ext.baseCSSPrefix+"message-box-question",ERROR:Ext.baseCSSPrefix+"message-box-error",hideMode:"offsets",closeAction:"hide",resizable:!1,title:"&#160;",width:600,height:500,minWidth:250,maxWidth:600,minHeight:110,maxHeight:500,constrain:!0,cls:Ext.baseCSSPrefix+"message-box",layout:{type:"vbox",align:"stretch"},defaultTextHeight:75,minProgressWidth:250,minPromptWidth:250,buttonText:{ok:"OK",yes:"Yes",no:"No",cancel:"Cancel"},buttonIds:["ok","yes","no","cancel"],titleText:{confirm:"Confirm",prompt:"Prompt",wait:"Loading...",alert:"Attention"},iconHeight:35,makeButton:function(n){var t=this.buttonIds[n];return new Ext.button.Button({handler:this.btnCallback,itemId:t,scope:this,text:this.buttonText[t],minWidth:75})},btnCallback:function(n){var t=this,r,i;(t.cfg.prompt||t.cfg.multiline)&&(i=t.cfg.multiline?t.textArea:t.textField,r=i.getValue(),i.reset());n.blur();t.hide();t.userCallback(n.itemId,r,t.cfg)},hide:function(){var n=this;n.dd.endDrag();n.progressBar.reset();n.removeCls(n.cfg.cls);n.callParent(arguments)},initComponent:function(){var n=this,t=n.id,i,r,u;for(n.title="&#160;",n.topContainer=new Ext.container.Container({layout:"hbox",style:{padding:"10px",overflow:"hidden"},items:[n.iconComponent=new Ext.Component({cls:n.baseCls+"-icon",width:50,height:n.iconHeight}),n.promptContainer=new Ext.container.Container({flex:1,layout:{type:"anchor"},items:[n.msg=new Ext.form.field.Display({id:t+"-displayfield",cls:n.baseCls+"-text"}),n.textField=new Ext.form.field.Text({id:t+"-testfield",anchor:"100%",enableKeyEvents:!0,listeners:{keydown:n.onPromptKey,scope:n}}),n.textArea=new Ext.form.field.TextArea({id:t+"-textarea",anchor:"100%",height:75})]})]}),n.progressBar=new Ext.ProgressBar({id:t+"-progressbar",margins:"0 10 0 10"}),n.items=[n.topContainer,n.progressBar],n.msgButtons=[],i=0;i<4;i++)r=n.makeButton(i),n.msgButtons[r.itemId]=r,n.msgButtons.push(r);n.bottomTb=new Ext.toolbar.Toolbar({id:t+"-toolbar",ui:"footer",dock:"bottom",layout:{pack:"center"},items:[n.msgButtons[0],n.msgButtons[1],n.msgButtons[2],n.msgButtons[3]]});n.dockedItems=[n.bottomTb];u=n.bottomTb.getLayout();u.finishedLayout=Ext.Function.createInterceptor(u.finishedLayout,function(t){n.tbWidth=t.getProp("contentWidth")});n.on("close",n.onClose,n);n.callParent()},onClose:function(){var n=this.header.child("[type=close]");n.itemId="cancel";this.btnCallback(n);delete n.itemId},onPromptKey:function(n,t){var i=this,r;(t.keyCode===Ext.EventObject.RETURN||t.keyCode===10)&&(i.msgButtons.ok.isVisible()?(r=!0,i.msgButtons.ok.handler.call(i,i.msgButtons.ok)):i.msgButtons.yes.isVisible()&&(i.msgButtons.yes.handler.call(i,i.msgButtons.yes),r=!0),r&&i.textField.blur())},reconfigure:function(n){var t=this,r=0,f=!0,u=t.maxWidth,e=t.buttonText,i;for(t.updateButtonText(),n=n||{},t.cfg=n,n.width&&(u=n.width),delete t.defaultFocus,t.animateTarget=n.animateTarget||undefined,t.modal=n.modal!==!1,n.title&&t.setTitle(n.title||"&#160;"),Ext.isObject(n.buttons)?(t.buttonText=n.buttons,r=0):(t.buttonText=n.buttonText||t.buttonText,r=Ext.isNumber(n.buttons)?n.buttons:0),r=r|t.updateButtonText(),t.buttonText=e,Ext.suspendLayouts(),t.hidden=!1,t.rendered?t.setSize(u,t.maxHeight):(t.width=u,t.render(Ext.getBody())),t.closable=n.closable&&!n.wait,t.header.child("[type=close]").setVisible(n.closable!==!1),n.title||t.closable?t.header.show():t.header.hide(),t.liveDrag=!n.proxyDrag,t.userCallback=Ext.Function.bind(n.callback||n.fn||Ext.emptyFn,n.scope||Ext.global),t.setIcon(n.icon),n.msg?(t.msg.setValue(n.msg),t.msg.show()):t.msg.hide(),Ext.resumeLayouts(!0),Ext.suspendLayouts(),n.prompt||n.multiline?(t.multiline=n.multiline,n.multiline?(t.textArea.setValue(n.value),t.textArea.setHeight(n.defaultTextHeight||t.defaultTextHeight),t.textArea.show(),t.textField.hide(),t.defaultFocus=t.textArea):(t.textField.setValue(n.value),t.textArea.hide(),t.textField.show(),t.defaultFocus=t.textField)):(t.textArea.hide(),t.textField.hide()),n.progress||n.wait?(t.progressBar.show(),t.updateProgress(0,n.progressText),n.wait===!0&&t.progressBar.wait(n.waitConfig)):t.progressBar.hide(),i=0;i<4;i++)r&Math.pow(2,i)?(t.defaultFocus||(t.defaultFocus=t.msgButtons[i]),t.msgButtons[i].show(),f=!1):t.msgButtons[i].hide();f?t.bottomTb.hide():t.bottomTb.show();Ext.resumeLayouts(!0)},updateButtonText:function(){var t=this,i=t.buttonText,u=0,n,r;for(n in i)i.hasOwnProperty(n)&&(r=t.msgButtons[n],r&&(t.cfg&&t.cfg.buttonText&&(u=u|Math.pow(2,Ext.Array.indexOf(t.buttonIds,n))),r.text!=i[n]&&r.setText(i[n])));return u},show:function(n){var t=this;return t.reconfigure(n),t.addCls(n.cls),t.doAutoSize(),t.hidden=!0,t.callParent(),t},onShow:function(){this.callParent(arguments);this.center()},doAutoSize:function(){var n=this,t=n.header.rendered&&n.header.isVisible(),i=n.bottomTb.rendered&&n.bottomTb.isVisible(),r,u;return Ext.isDefined(n.frameWidth)||(n.frameWidth=n.el.getWidth()-n.body.getWidth()),n.minWidth=n.cfg.minWidth||Ext.getClass(this).prototype.minWidth,r=Math.max(t?n.header.getMinWidth():0,n.cfg.width||n.msg.getWidth()+n.iconComponent.getWidth()+25,i?n.tbWidth:0),u=(t?n.header.getHeight():0)+n.topContainer.getHeight()+n.progressBar.getHeight()+(i?n.bottomTb.getHeight()+n.bottomTb.el.getMargin("tb"):0),n.setSize(r+n.frameWidth,u+n.frameWidth),n},updateText:function(n){return this.msg.setValue(n),this.doAutoSize(!0)},setIcon:function(n){var t=this;return t.iconComponent.removeCls(t.messageIconCls),n?(t.iconComponent.show(),t.iconComponent.addCls(Ext.baseCSSPrefix+"dlg-icon"),t.iconComponent.addCls(t.messageIconCls=n)):(t.iconComponent.removeCls(Ext.baseCSSPrefix+"dlg-icon"),t.iconComponent.hide()),t},updateProgress:function(n,t,i){return this.progressBar.updateProgress(n,t),i&&this.updateText(i),this},onEsc:function(){this.closable!==!1&&this.callParent(arguments)},confirm:function(n,t,i,r){return Ext.isString(n)&&(n={title:n,icon:this.QUESTION,msg:t,buttons:this.YESNO,callback:i,scope:r}),this.show(n)},prompt:function(n,t,i,r,u,f){return Ext.isString(n)&&(n={prompt:!0,title:n,minWidth:this.minPromptWidth,msg:t,buttons:this.OKCANCEL,callback:i,scope:r,multiline:u,value:f}),this.show(n)},wait:function(n,t,i){return Ext.isString(n)&&(n={title:t,msg:n,closable:!1,wait:!0,modal:!0,minWidth:this.minProgressWidth,waitConfig:i}),this.show(n)},alert:function(n,t,i,r){return Ext.isString(n)&&(n={title:n,msg:t,buttons:this.OK,fn:i,scope:r,minWidth:this.minWidth}),this.show(n)},progress:function(n,t,i){return Ext.isString(n)&&(n={title:n,msg:t,progress:!0,progressText:i}),this.show(n)}},function(){Ext.MessageBox=Ext.Msg=new this});Ext.define("Ext.form.Basic",{extend:"Ext.util.Observable",alternateClassName:"Ext.form.BasicForm",requires:["Ext.util.MixedCollection","Ext.form.action.Load","Ext.form.action.Submit","Ext.window.MessageBox","Ext.data.Errors","Ext.util.DelayedTask"],constructor:function(n,t){var i=this,f=i.onItemAddOrRemove,r,u;if(i.owner=n,i.mon(n,{add:f,remove:f,scope:i}),Ext.apply(i,t),Ext.isString(i.paramOrder)&&(i.paramOrder=i.paramOrder.split(/[\s,|]/)),i.api){r=i.api=Ext.apply({},i.api);for(u in r)r.hasOwnProperty(u)&&(r[u]=Ext.direct.Manager.parseMethod(r[u]))}i.checkValidityTask=new Ext.util.DelayedTask(i.checkValidity,i);i.addEvents("beforeaction","actionfailed","actioncomplete","validitychange","dirtychange");i.callParent()},initialize:function(){var n=this;n.initialized=!0;n.onValidityChange(!n.hasInvalidField())},timeout:30,paramsAsHash:!1,waitTitle:"Please Wait...",trackResetOnLoad:!1,wasDirty:!1,destroy:function(){this.clearListeners();this.checkValidityTask.cancel()},onItemAddOrRemove:function(n,t){function r(n){i[u?"mon":"mun"](n,{validitychange:i.checkValidity,dirtychange:i.checkDirty,scope:i,buffer:100});delete i._fields}var i=this,u=!!t.ownerCt,f=t.isContainer;t.isFormField?r(t):f&&(t.isDestroyed||t.destroying?delete i._fields:Ext.Array.forEach(t.query("[isFormField]"),r));delete this._boundItems;i.initialized&&i.checkValidityTask.delay(10)},getFields:function(){var n=this._fields;return n||(n=this._fields=new Ext.util.MixedCollection,n.addAll(this.owner.query("[isFormField]"))),n},getBoundItems:function(){var n=this._boundItems;return n&&n.getCount()!==0||(n=this._boundItems=new Ext.util.MixedCollection,n.addAll(this.owner.query("[formBind]"))),n},hasInvalidField:function(){return!!this.getFields().findBy(function(n){var i=n.preventMark,t;return n.preventMark=!0,t=n.isValid(),n.preventMark=i,!t})},isValid:function(){var t=this,n;return Ext.suspendLayouts(),n=t.getFields().filterBy(function(n){return!n.validate()}),Ext.resumeLayouts(!0),n.length<1},checkValidity:function(){var n=this,t=!n.hasInvalidField();if(t!==n.wasValid){n.onValidityChange(t);n.fireEvent("validitychange",n,t);n.wasValid=t}},onValidityChange:function(n){var u=this.getBoundItems(),i,t,f,r;if(u)for(i=u.items,f=i.length,t=0;t<f;t++)r=i[t],r.disabled===n&&r.setDisabled(!n)},isDirty:function(){return!!this.getFields().findBy(function(n){return n.isDirty()})},checkDirty:function(){var n=this.isDirty();n!==this.wasDirty&&(this.fireEvent("dirtychange",this,n),this.wasDirty=n)},hasUpload:function(){return!!this.getFields().findBy(function(n){return n.isFileUpload()})},doAction:function(n,t){return Ext.isString(n)&&(n=Ext.ClassManager.instantiateByAlias("formaction."+n,Ext.apply({},t,{form:this}))),this.fireEvent("beforeaction",this,n)!==!1&&(this.beforeAction(n),Ext.defer(n.run,100,n)),this},submit:function(n){n=n||{};var t=this,i;return i=n.standardSubmit||t.standardSubmit?"standardsubmit":t.api?"directsubmit":"submit",t.doAction(i,n)},load:function(n){return this.doAction(this.api?"directload":"load",n)},updateRecord:function(n){n=n||this._record;for(var r=n.fields.items,u=this.getFieldValues(),f={},i=0,e=r.length,t;i<e;++i)t=r[i].name,u.hasOwnProperty(t)&&(f[t]=u[t]);return n.beginEdit(),n.set(f),n.endEdit(),this},loadRecord:function(n){return this._record=n,this.setValues(n.data)},getRecord:function(){return this._record},beforeAction:function(n){for(var i=n.waitMsg,f=Ext.baseCSSPrefix+"mask-loading",e=this.getFields().items,o=e.length,u,t,r=0;r<o;r++)u=e[r],u.isFormField&&u.syncValue&&u.syncValue();i&&(t=this.waitMsgTarget,t===!0?this.owner.el.mask(i,f):t?(t=this.waitMsgTarget=Ext.get(t),t.mask(i,f)):Ext.MessageBox.wait(i,n.waitTitle||this.waitTitle))},afterAction:function(n,t){if(n.waitMsg){var i=Ext.MessageBox,r=this.waitMsgTarget;r===!0?this.owner.el.unmask():r?r.unmask():(i.suspendEvents(),i.hide(),i.resumeEvents())}t?(n.reset&&this.reset(),Ext.callback(n.success,n.scope||n,[this,n]),this.fireEvent("actioncomplete",this,n)):(Ext.callback(n.failure,n.scope||n,[this,n]),this.fireEvent("actionfailed",this,n))},findField:function(n){return this.getFields().findBy(function(t){return t.id===n||t.getName()===n})},markInvalid:function(n){function f(n,t){var i=o.findField(n);i&&i.markInvalid(t)}var o=this,t,r,i,e,u;if(Ext.isArray(n))for(r=n.length,t=0;t<r;t++)i=n[t],f(i.id,i.msg);else if(n instanceof Ext.data.Errors)for(r=n.items.length,t=0;t<r;t++)i=n.items[t],f(i.field,i.message);else for(u in n)n.hasOwnProperty(u)&&(e=n[u],f(u,e,n));return this},setValues:function(n){function f(n,t){var i=r.findField(n);i&&(i.setValue(t),r.trackResetOnLoad&&i.resetOriginalValue())}var r=this,t,u,i;if(Ext.isArray(n))for(u=n.length,t=0;t<u;t++)i=n[t],f(i.id,i.value);else Ext.iterate(n,f);return this},getValues:function(n,t,i,r){for(var u={},l=this.getFields().items,v=l.length,a=Ext.isArray,c,s,e,o,f,h=0;h<v;h++)if(c=l[h],(!t||c.isDirty())&&(s=c[r?"getModelData":"getSubmitData"](i),Ext.isObject(s)))for(f in s)s.hasOwnProperty(f)&&(e=s[f],i&&e===""&&(e=c.emptyText||""),u.hasOwnProperty(f)?(o=u[f],a(o)||(o=u[f]=[o]),a(e)?u[f]=u[f]=o.concat(e):o.push(e)):u[f]=e);return n&&(u=Ext.Object.toQueryString(u)),u},getFieldValues:function(n){return this.getValues(!1,n,!1,!0)},clearInvalid:function(){Ext.suspendLayouts();for(var t=this,i=t.getFields().items,r=i.length,n=0;n<r;n++)i[n].clearInvalid();return Ext.resumeLayouts(!0),t},reset:function(){Ext.suspendLayouts();for(var t=this,i=t.getFields().items,r=i.length,n=0;n<r;n++)i[n].reset();return Ext.resumeLayouts(!0),t},applyToFields:function(n){for(var i=this.getFields().items,r=i.length,t=0;t<r;t++)Ext.apply(i[t],n);return this},applyIfToFields:function(n){for(var i=this.getFields().items,r=i.length,t=0;t<r;t++)Ext.applyIf(i[t],n);return this}});Ext.define("Ext.layout.container.CheckboxGroup",{extend:"Ext.layout.container.Container",alias:["layout.checkboxgroup"],autoFlex:!0,type:"checkboxgroup",childEls:["innerCt"],renderTpl:['<table id="{ownerId}-innerCt" role="presentation" style="{tableStyle}"><tbody><tr>','<tpl for="columns">','<td class="{parent.colCls}" valign="top" style="{style}">',"{% this.renderColumn(out,parent,xindex-1) %}","<\/td>","<\/tpl>","<\/tr><\/tbody><\/table>"],lastOwnerItemsGeneration:null,beginLayout:function(n){var i=this,e,f,t,u,o,h=0,s=0,c=i.autoFlex,r=i.innerCt.dom.style;if(i.callParent(arguments),e=i.columnNodes,n.innerCtContext=n.getEl("innerCt",i),n.widthModel.shrinkWrap)r.tableLayout="auto",r.width="";else{if(f=e.length,i.columnsArray){for(t=0;t<f;t++)u=i.owner.columns[t],u<1&&(h+=u,s++);for(t=0;t<f;t++)u=i.owner.columns[t],o=u<1?u/h*100+"%":u+"px",e[t].style.width=o}else for(t=0;t<f;t++)o=c?100/f+"%":"",e[t].style.width=o,s++;s?s<f?(r.tableLayout="fixed",r.width="100%"):(r.tableLayout="auto",r.width=c?"100%":""):(r.tableLayout="fixed",r.width="")}},cacheElements:function(){var n=this;n.callParent();n.rowEl=n.innerCt.down("tr");n.columnNodes=n.rowEl.dom.childNodes},calculate:function(n){var o=this,t,i,r,e,u,f;n.getDomProp("containerChildrenDone")?(t=n.innerCtContext,i=n.widthModel.shrinkWrap,r=n.heightModel.shrinkWrap,e=r||i,u=t.el.dom,f=e&&t.getPaddingInfo(),i&&n.setContentWidth(u.offsetWidth+f.width,!0),r&&n.setContentHeight(u.offsetHeight+f.height,!0)):o.done=!1},doRenderColumn:function(n,t,i){var s=t.$layout,h=s.owner,c=t.columnCount,l=h.items.items,u=l.length,f,r,e,o,a;for(h.vertical?(e=Math.ceil(u/c),r=i*e,u=Math.min(u,r+e),o=1):(r=i,o=c);r<u;r+=o)f=l[r],s.configureItem(f),a=f.getRenderTree(),Ext.DomHelper.generateMarkup(a,n)},getColumnCount:function(){var t=this,i=t.owner,n=i.columns;return t.columnsArray?n.length:Ext.isNumber(n)?n:i.items.length},getItemSizePolicy:function(){return this.autoSizePolicy},getRenderData:function(){var t=this,r=t.callParent(),h=t.owner,n,u=t.getColumnCount(),i,e,o,c=t.autoFlex,s=0,f=0;if(t.columnsArray)for(n=0;n<u;n++)i=t.owner.columns[n],i<1&&(s+=i,f++);for(r.colCls=h.groupCls,r.columnCount=u,r.columns=[],n=0;n<u;n++)e=r.columns[n]={},t.columnsArray?(i=t.owner.columns[n],o=i<1?i/s*100+"%":i+"px",e.style="width:"+o):(e.style="width:"+100/u+"%",f++);return r.tableStyle=f?f<u?"table-layout:fixed;width:100%":c?"table-layout:auto;width:100%":"table-layout:auto;":"table-layout:fixed;",r},initLayout:function(){var n=this,t=n.owner;n.columnsArray=Ext.isArray(t.columns);n.autoColumns=!t.columns||t.columns==="auto";n.vertical=t.vertical;n.callParent()},isValidParent:function(){return!0},setupRenderTpl:function(n){this.callParent(arguments);n.renderColumn=this.doRenderColumn},renderChildren:function(){var n=this,t=n.owner.items.generation;n.lastOwnerItemsGeneration!==t&&(n.lastOwnerItemsGeneration=t,n.renderItems(n.getLayoutItems()))},renderItems:function(n){var t=this,r=n.length,i,u,s,f,e,o;if(r){for(Ext.suspendLayouts(),t.autoColumns&&t.addMissingColumns(r),f=t.columnNodes.length,s=Math.ceil(r/f),i=0;i<r;i++)u=n[i],e=t.getRenderRowIndex(i,s,f),o=t.getRenderColumnIndex(i,s,f),u.rendered?t.isItemAtPosition(u,e,o)||t.moveItem(u,e,o):t.renderItem(u,e,o);t.autoColumns&&t.removeExceedingColumns(r);Ext.resumeLayouts(!0)}},isItemAtPosition:function(n,t,i){return n.el.dom===this.getNodeAt(t,i)},getRenderColumnIndex:function(n,t,i){return this.vertical?Math.floor(n/t):n%i},getRenderRowIndex:function(n,t,i){var r=this;return r.vertical?n%t:Math.floor(n/i)},getNodeAt:function(n,t){return this.columnNodes[t].childNodes[n]},addMissingColumns:function(n){var t=this,r=t.columnNodes.length,u,f,e,i;if(r<n)for(u=n-r,f=t.rowEl,e=t.owner.groupCls,i=0;i<u;i++)f.createChild({cls:e,tag:"td",vAlign:"top"})},removeExceedingColumns:function(n){var i=this,r=i.columnNodes.length,u,f,t;if(r>n)for(u=r-n,f=i.rowEl,t=0;t<u;t++)f.last().remove()},renderItem:function(n,t,i){var r=this;r.configureItem(n);n.render(Ext.get(r.columnNodes[i]),t);r.afterRenderItem(n)},moveItem:function(n,t,i){var u=this,r=u.columnNodes[i],f=r.childNodes[t];r.insertBefore(n.el.dom,f||null)}});Ext.define("Ext.layout.component.field.FieldContainer",{extend:"Ext.layout.component.field.Field",alias:"layout.fieldcontainer",type:"fieldcontainer",waitForOuterHeightInDom:!0,waitForOuterWidthInDom:!0,beginLayout:function(n){this.callParent(arguments);n.hasRawContent=!0;n.target.bodyEl.setStyle("height","")},measureContentHeight:function(n){return n.hasDomProp("containerLayoutDone")?this.callParent(arguments):NaN},measureContentWidth:function(n){return n.hasDomProp("containerLayoutDone")?this.callParent(arguments):NaN},publishInnerWidth:function(n){var t=n.bodyCellContext;t.setWidth(t.el.getWidth(),!1)},publishInnerHeight:function(n,t){var i=n.bodyCellContext;i.setHeight(t-this.measureLabelErrorHeight(n))}});Ext.define("Ext.form.FieldAncestor",{initFieldAncestor:function(){var n=this,t=n.onFieldAncestorSubtreeChange;n.addEvents("fieldvaliditychange","fielderrorchange");n.on("add",t,n);n.on("remove",t,n);n.initFieldDefaults()},initFieldDefaults:function(){this.fieldDefaults||(this.fieldDefaults={})},onFieldAncestorSubtreeChange:function(n,t){function u(n){var t=n.isFieldLabelable,f=n.isFormField;t||f?(t&&i["onLabelable"+(r?"Added":"Removed")](n),f&&i["onField"+(r?"Added":"Removed")](n)):n.isContainer&&Ext.Array.forEach(n.getRefItems(),u)}var i=this,r=!!t.ownerCt;u(t)},onLabelableAdded:function(n){var t=this;t.mon(n,"errorchange",t.handleFieldErrorChange,t,{buffer:10});n.setFieldDefaults(t.fieldDefaults)},onFieldAdded:function(n){var t=this;t.mon(n,"validitychange",t.handleFieldValidityChange,t)},onLabelableRemoved:function(n){var t=this;t.mun(n,"errorchange",t.handleFieldErrorChange,t)},onFieldRemoved:function(n){var t=this;t.mun(n,"validitychange",t.handleFieldValidityChange,t)},handleFieldValidityChange:function(n,t){var i=this;i.fireEvent("fieldvaliditychange",i,n,t);i.onFieldValidityChange(n,t)},handleFieldErrorChange:function(n,t){var i=this;i.fireEvent("fielderrorchange",i,n,t);i.onFieldErrorChange(n,t)},onFieldValidityChange:Ext.emptyFn,onFieldErrorChange:Ext.emptyFn});Ext.define("Ext.form.FieldContainer",{extend:"Ext.container.Container",mixins:{labelable:"Ext.form.Labelable",fieldAncestor:"Ext.form.FieldAncestor"},requires:"Ext.layout.component.field.FieldContainer",alias:"widget.fieldcontainer",componentLayout:"fieldcontainer",componentCls:Ext.baseCSSPrefix+"form-fieldcontainer",combineLabels:!1,labelConnector:", ",combineErrors:!1,maskOnDisable:!1,fieldSubTpl:"{%this.renderContainer(out,values)%}",initComponent:function(){var n=this;n.initLabelable();n.initFieldAncestor();n.callParent()},beforeRender:function(){this.callParent(arguments);this.beforeLabelableRender(arguments)},onLabelableAdded:function(n){var t=this;t.mixins.fieldAncestor.onLabelableAdded.call(this,n);t.updateLabel()},onLabelableRemoved:function(n){var t=this;t.mixins.fieldAncestor.onLabelableRemoved.call(this,n);t.updateLabel()},initRenderTpl:function(){var n=this;return n.hasOwnProperty("renderTpl")||(n.renderTpl=n.getTpl("labelableRenderTpl")),n.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},getFieldLabel:function(){var n=this.fieldLabel||"";return!n&&this.combineLabels&&(n=Ext.Array.map(this.query("[isFieldLabelable]"),function(n){return n.getFieldLabel()}).join(this.labelConnector)),n},getSubTplData:function(){var n=this.initRenderData();return Ext.apply(n,this.subTplData),n},getSubTplMarkup:function(){var n=this,t=n.getTpl("fieldSubTpl");return t.renderContent||n.setupRenderTpl(t),t.apply(n.getSubTplData())},updateLabel:function(){var n=this,t=n.labelEl;t&&n.setFieldLabel(n.getFieldLabel())},onFieldErrorChange:function(){if(this.combineErrors){var n=this,i=n.getActiveError(),r=Ext.Array.filter(n.query("[isFormField]"),function(n){return n.hasActiveError()}),t=n.getCombinedErrors(r);t?n.setActiveErrors(t):n.unsetActiveError();i!==n.getActiveError()&&n.doComponentLayout()}},getCombinedErrors:function(n){for(var e=[],h=n.length,r,u,i,o,s,f,t=0;t<h;t++)for(r=n[t],u=r.getActiveErrors(),o=u.length,i=0;i<o;i++)s=u[i],f=r.getFieldLabel(),e.push((f?f+": ":"")+s);return e},getTargetEl:function(){return this.bodyEl||this.callParent()}});Ext.define("Ext.form.CheckboxGroup",{extend:"Ext.form.FieldContainer",mixins:{field:"Ext.form.field.Field"},alias:"widget.checkboxgroup",requires:["Ext.layout.container.CheckboxGroup","Ext.form.field.Base"],columns:"auto",vertical:!1,allowBlank:!0,blankText:"You must select at least one item in this group",defaultType:"checkboxfield",groupCls:Ext.baseCSSPrefix+"form-check-group",fieldBodyCls:Ext.baseCSSPrefix+"form-checkboxgroup-body",layout:"checkboxgroup",initComponent:function(){var n=this;n.callParent();n.initField()},initValue:function(){var n=this,t=n.value;n.originalValue=n.lastValue=t||n.getValue();t&&n.setValue(t)},onFieldAdded:function(n){var t=this;n.isCheckbox&&t.mon(n,"change",t.checkChange,t);t.callParent(arguments)},onFieldRemoved:function(n){var t=this;n.isCheckbox&&t.mun(n,"change",t.checkChange,t);t.callParent(arguments)},isEqual:function(n,t){var i=Ext.Object.toQueryString;return i(n)===i(t)},getErrors:function(){var n=[];return!this.allowBlank&&Ext.isEmpty(this.getChecked())&&n.push(this.blankText),n},getBoxes:function(n){return this.query("[isCheckbox]"+(n||""))},eachBox:function(n,t){Ext.Array.forEach(this.getBoxes(),n,t||this)},getChecked:function(){return this.getBoxes("[checked]")},isDirty:function(){for(var t=this.getBoxes(),i=t.length,n=0;n<i;n++)if(t[n].isDirty())return!0},setReadOnly:function(n){for(var i=this.getBoxes(),r=i.length,t=0;t<r;t++)i[t].setReadOnly(n);this.readOnly=n},reset:function(){var n=this,t=n.hasActiveError(),i=n.preventMark;n.preventMark=!0;n.batchChanges(function(){for(var i=n.getBoxes(),r=i.length,t=0;t<r;t++)i[t].reset()});n.preventMark=i;n.unsetActiveError();t&&n.updateLayout()},resetOriginalValue:function(){for(var n=this,i=n.getBoxes(),r=i.length,t=0;t<r;t++)i[t].resetOriginalValue();n.originalValue=n.getValue();n.checkDirty()},setValue:function(n){var f=this,e=f.getBoxes(),i,o=e.length,r,t,u;return f.batchChanges(function(){for(i=0;i<o;i++)r=e[i],t=r.getName(),u=!1,n&&n.hasOwnProperty(t)&&(u=Ext.isArray(n[t])?Ext.Array.contains(n[t],r.inputValue):n[t]),r.setValue(u)}),f},getValue:function(){for(var n={},e=this.getBoxes(),o=e.length,u,t,f,i,r=0;r<o;r++)u=e[r],t=u.getName(),f=u.inputValue,u.getValue()&&(n.hasOwnProperty(t)?(i=n[t],Ext.isArray(i)||(i=n[t]=[i]),i.push(f)):n[t]=f);return n},getSubmitData:function(){return null},getModelData:function(){return null},validate:function(){var n=this,i,t,r;return n.disabled?t=!0:(i=n.getErrors(),t=Ext.isEmpty(i),r=!n.hasActiveError(),t?n.unsetActiveError():n.setActiveError(i)),t!==r&&(n.fireEvent("validitychange",n,t),n.updateLayout()),t}},function(){this.borrow(Ext.form.field.Base,["markInvalid","clearInvalid"])});Ext.define("Ext.form.CheckboxManager",{extend:"Ext.util.MixedCollection",singleton:!0,getByName:function(n){return this.filterBy(function(t){return t.name==n})},getWithValue:function(n,t){return this.filterBy(function(i){return i.name==n&&i.inputValue==t})},getChecked:function(n){return this.filterBy(function(t){return t.name==n&&t.checked})}});Ext.define("Ext.layout.component.FieldSet",{extend:"Ext.layout.component.Body",alias:["layout.fieldset"],type:"fieldset",beforeLayoutCycle:function(n){n.target.collapsed&&(n.heightModel=this.sizeModels.shrinkWrap)},beginLayoutCycle:function(n){var i=n.target,t;this.callParent(arguments);i.collapsed&&(n.setContentHeight(0),n.widthModel.shrinkWrap&&(t=i.lastComponentSize,n.setContentWidth(t&&t.contentWidth||100)))},calculateOwnerHeightFromContentHeight:function(n){var t=n.getBorderInfo(),i=n.target.legend;return n.getProp("contentHeight")+n.getPaddingInfo().height+(i?i.getHeight():t.top)+t.bottom},publishInnerHeight:function(n,t){var i=n.target.legend;i&&(t-=i.getHeight());this.callParent([n,t])},getLayoutItems:function(){var n=this.owner.legend;return n?[n]:[]}});Ext.define("Ext.form.FieldSet",{extend:"Ext.container.Container",alias:"widget.fieldset",uses:["Ext.form.field.Checkbox","Ext.panel.Tool","Ext.layout.container.Anchor","Ext.layout.component.FieldSet"],collapsed:!1,toggleOnTitleClick:!0,baseCls:Ext.baseCSSPrefix+"fieldset",layout:"anchor",border:1,componentLayout:"fieldset",autoEl:"fieldset",childEls:["body"],renderTpl:["{%this.renderLegend(out,values);%}",'<div id="{id}-body" class="{baseCls}-body">',"{%this.renderContainer(out,values);%}","<\/div>"],stateEvents:["collapse","expand"],maskOnDisable:!1,beforeDestroy:function(){var n=this,t=n.legend;t&&(delete t.ownerCt,t.destroy(),n.legend=null);n.callParent()},initComponent:function(){var n=this,t=n.baseCls;n.callParent();n.addEvents("beforeexpand","beforecollapse","expand","collapse");n.collapsed&&(n.addCls(t+"-collapsed"),n.collapse());n.title&&n.addCls(t+"-with-title");(n.title||n.checkboxToggle||n.collapsible)&&(n.addCls(t+"-with-legend"),n.legend=Ext.widget(n.createLegendCt()))},initRenderData:function(){var n=this.callParent();return n.baseCls=this.baseCls,n},getState:function(){var n=this.callParent();return this.addPropertyToState(n,"collapsed")},afterCollapse:Ext.emptyFn,afterExpand:Ext.emptyFn,collapsedHorizontal:function(){return!0},collapsedVertical:function(){return!0},createLegendCt:function(){var n=this,t=[],i={xtype:"container",baseCls:n.baseCls+"-header",id:n.id+"-legend",autoEl:"legend",items:t,ownerCt:n,ownerLayout:n.componentLayout};return n.checkboxToggle?t.push(n.createCheckboxCmp()):n.collapsible&&t.push(n.createToggleCmp()),t.push(n.createTitleCmp()),i},createTitleCmp:function(){var n=this,t={xtype:"component",html:n.title,cls:n.baseCls+"-header-text",id:n.id+"-legendTitle"};return n.collapsible&&n.toggleOnTitleClick&&(t.listeners={el:{scope:n,click:n.toggle}},t.cls+=" "+n.baseCls+"-header-text-collapsible"),n.titleCmp=Ext.widget(t)},createCheckboxCmp:function(){var n=this,t="-checkbox";return n.checkboxCmp=Ext.widget({xtype:"checkbox",hideEmptyLabel:!0,name:n.checkboxName||n.id+t,cls:n.baseCls+"-header"+t,id:n.id+"-legendChk",checked:!n.collapsed,listeners:{change:n.onCheckChange,scope:n}}),n.checkboxCmp},createToggleCmp:function(){var n=this;return n.toggleCmp=Ext.widget({xtype:"tool",type:"toggle",handler:n.toggle,id:n.id+"-legendToggle",scope:n}),n.toggleCmp},doRenderLegend:function(n,t){var u=t.$comp,i=u.legend,r;i&&(i.ownerLayout.configureItem(i),r=i.getRenderTree(),Ext.DomHelper.generateMarkup(r,n))},finishRender:function(){var n=this.legend;this.callParent();n&&n.finishRender()},getCollapsed:function(){return this.collapsed?"top":!1},getCollapsedDockedItems:function(){var n=this.legend;return n?[n]:[]},setTitle:function(n){var t=this,i=t.legend;return t.title=n,t.rendered&&(t.legend||(t.legend=i=Ext.widget(t.createLegendCt()),i.ownerLayout.configureItem(i),i.render(t.el,0)),t.titleCmp.update(n)),t},getTargetEl:function(){return this.body||this.frameBody||this.el},getContentTarget:function(){return this.body},expand:function(){return this.setExpanded(!0)},collapse:function(){return this.setExpanded(!1)},setExpanded:function(n){var t=this,i=t.checkboxCmp,r=n?"expand":"collapse";return t.rendered&&t.fireEvent("before"+r,t)===!1||(n=!!n,i&&i.setValue(n),n?t.removeCls(t.baseCls+"-collapsed"):t.addCls(t.baseCls+"-collapsed"),t.collapsed=!n,t.rendered&&(t.updateLayout({isRoot:!1}),t.fireEvent(r,t))),t},getRefItems:function(n){var t=this.callParent(arguments),i=this.legend;return i&&(t.unshift(i),n&&t.unshift.apply(t,i.getRefItems(!0))),t},toggle:function(){this.setExpanded(!!this.collapsed)},onCheckChange:function(n,t){this.setExpanded(t)},setupRenderTpl:function(n){this.callParent(arguments);n.renderLegend=this.doRenderLegend}});Ext.define("Ext.form.Label",{extend:"Ext.Component",alias:"widget.label",requires:["Ext.util.Format"],autoEl:"label",maskOnDisable:!1,getElConfig:function(){var n=this;return n.html=n.text?Ext.util.Format.htmlEncode(n.text):n.html||"",Ext.apply(n.callParent(),{htmlFor:n.forId||""})},setText:function(n,t){var i=this;return t=t!==!1,t?(i.text=n,delete i.html):(i.html=n,delete i.text),i.rendered&&(i.el.dom.innerHTML=t!==!1?Ext.util.Format.htmlEncode(n):n,i.updateLayout()),i}});Ext.define("Ext.form.Panel",{extend:"Ext.panel.Panel",mixins:{fieldAncestor:"Ext.form.FieldAncestor"},alias:"widget.form",alternateClassName:["Ext.FormPanel","Ext.form.FormPanel"],requires:["Ext.form.Basic","Ext.util.TaskRunner"],layout:"anchor",ariaRole:"form",basicFormConfigs:["api","baseParams","errorReader","method","paramOrder","paramsAsHash","reader","standardSubmit","timeout","trackResetOnLoad","url","waitMsgTarget","waitTitle"],initComponent:function(){var n=this;n.frame&&(n.border=!1);n.initFieldAncestor();n.callParent();n.relayEvents(n.form,["beforeaction","actionfailed","actioncomplete","validitychange","dirtychange"]);n.pollForChanges&&n.startPolling(n.pollInterval||500)},initItems:function(){var n=this;n.form=n.createForm();n.callParent()},afterFirstLayout:function(){this.callParent();this.form.initialize()},createForm:function(){for(var i={},r=this.basicFormConfigs,u=r.length,n=0,t;n<u;++n)t=r[n],i[t]=this[t];return new Ext.form.Basic(this,i)},getForm:function(){return this.form},loadRecord:function(n){return this.getForm().loadRecord(n)},getRecord:function(){return this.getForm().getRecord()},getValues:function(n,t,i,r){return this.getForm().getValues(n,t,i,r)},beforeDestroy:function(){this.stopPolling();this.form.destroy();this.callParent()},load:function(n){this.form.load(n)},submit:function(n){this.form.submit(n)},startPolling:function(n){this.stopPolling();var t=new Ext.util.TaskRunner(n);t.start({interval:0,run:this.checkChange,scope:this});this.pollTask=t},stopPolling:function(){var n=this.pollTask;n&&(n.stopAll(),delete this.pollTask)},checkChange:function(){for(var t=this.form.getFields().items,i=t.length,n=0;n<i;n++)t[n].checkChange()}});Ext.define("Ext.form.RadioGroup",{extend:"Ext.form.CheckboxGroup",alias:"widget.radiogroup",allowBlank:!0,blankText:"You must select one item in this group",defaultType:"radiofield",groupCls:Ext.baseCSSPrefix+"form-radio-group",getBoxes:function(n){return this.query("[isRadio]"+(n||""))},checkChange:function(){var n=this.getValue(),t=Ext.Object.getKeys(n)[0];Ext.isArray(n[t])||this.callParent(arguments)},setValue:function(n){var f,r,e,u,t,o,i;if(Ext.isObject(n))for(i in n)if(n.hasOwnProperty(i))for(f=n[i],r=this.items.first(),e=r?r.getFormId():null,u=Ext.form.RadioManager.getWithValue(i,f,e).items,o=u.length,t=0;t<o;++t)u[t].setValue(!0);return this}});Ext.define("Ext.form.RadioManager",{extend:"Ext.util.MixedCollection",singleton:!0,getByName:function(n,t){return this.filterBy(function(i){return i.name==n&&i.getFormId()==t})},getWithValue:function(n,t,i){return this.filterBy(function(r){return r.name==n&&r.inputValue==t&&r.getFormId()==i})},getChecked:function(n,t){return this.findBy(function(i){return i.name==n&&i.checked&&i.getFormId()==t})}});Ext.define("Ext.form.action.DirectLoad",{extend:"Ext.form.action.Load",requires:["Ext.direct.Manager"],alternateClassName:"Ext.form.Action.DirectLoad",alias:"formaction.directload",type:"directload",run:function(){var n=this,t=n.form,i=t.api.load,u=i.directCfg.method,r=u.getArgs(n.getParams(),t.paramOrder,t.paramsAsHash);r.push(n.onComplete,n);i.apply(window,r)},processResponse:function(n){return this.result=n},onComplete:function(n){if(n)this.onSuccess(n);else this.onFailure(null)}});Ext.define("Ext.form.action.DirectSubmit",{extend:"Ext.form.action.Submit",requires:["Ext.direct.Manager"],alternateClassName:"Ext.form.Action.DirectSubmit",alias:"formaction.directsubmit",type:"directsubmit",doSubmit:function(){var n=this,i=Ext.Function.bind(n.onComplete,n),t=n.buildForm();n.form.api.submit(t,i,n);Ext.removeNode(t)},processResponse:function(n){return this.result=n},onComplete:function(n){if(n)this.onSuccess(n);else this.onFailure(null)}});Ext.define("Ext.form.action.StandardSubmit",{extend:"Ext.form.action.Submit",alias:"formaction.standardsubmit",doSubmit:function(){var n=this.buildForm();n.submit();Ext.removeNode(n)}});Ext.define("Ext.form.field.Checkbox",{extend:"Ext.form.field.Base",alias:["widget.checkboxfield","widget.checkbox"],alternateClassName:"Ext.form.Checkbox",requires:["Ext.XTemplate","Ext.form.CheckboxManager"],componentLayout:"field",childEls:["boxLabelEl"],fieldSubTpl:["<tpl if=\"boxLabel && boxLabelAlign == 'before'\">","{beforeBoxLabelTpl}",'<label id="{cmpId}-boxLabelEl" {boxLabelAttrTpl} class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">',"{beforeBoxLabelTextTpl}","{boxLabel}","{afterBoxLabelTextTpl}","<\/label>","{afterBoxLabelTpl}","<\/tpl>",'<input type="button" id="{id}" {inputAttrTpl}','<tpl if="tabIdx"> tabIndex="{tabIdx}"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',' class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"<tpl if=\"boxLabel && boxLabelAlign == 'after'\">","{beforeBoxLabelTpl}",'<label id="{cmpId}-boxLabelEl" {boxLabelAttrTpl} class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">',"{beforeBoxLabelTextTpl}","{boxLabel}","{afterBoxLabelTextTpl}","<\/label>","{afterBoxLabelTpl}","<\/tpl>",{disableFormats:!0,compiled:!0}],subTplInsertions:["beforeBoxLabelTpl","afterBoxLabelTpl","beforeBoxLabelTextTpl","afterBoxLabelTextTpl","boxLabelAttrTpl","inputAttrTpl"],isCheckbox:!0,focusCls:"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:!1,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var n=this,t=!!n.checked;n.originalValue=n.lastValue=t;n.setValue(t)},getElConfig:function(){var n=this;return n.isChecked(n.rawValue,n.inputValue)&&n.addCls(n.checkedCls),n.callParent()},getFieldStyle:function(){return Ext.isObject(this.fieldStyle)?Ext.DomHelper.generateStyles(this.fieldStyle):this.fieldStyle||""},getSubTplData:function(){var n=this;return Ext.apply(n.callParent(),{disabled:n.readOnly||n.disabled,boxLabel:n.boxLabel,boxLabelCls:n.boxLabelCls,boxLabelAlign:n.boxLabelAlign})},initEvents:function(){var n=this;n.callParent();n.mon(n.inputEl,"click",n.onBoxClick,n)},onBoxClick:function(){var n=this;n.disabled||n.readOnly||this.setValue(!this.checked)},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var n=this.uncheckedValue,t=Ext.isDefined(n)?n:null;return this.checked?this.inputValue:t},isChecked:function(n,t){return n===!0||n==="true"||n==="1"||n===1||((Ext.isString(n)||Ext.isNumber(n))&&t?n==t:this.onRe.test(n))},setRawValue:function(n){var t=this,r=t.inputEl,i=t.isChecked(n,t.inputValue);return r&&t[i?"addCls":"removeCls"](t.checkedCls),t.checked=t.rawValue=i,i},setValue:function(n){var t=this,r,i,f,u;if(Ext.isArray(n))for(r=t.getManager().getByName(t.name,t.getFormId()).items,f=r.length,i=0;i<f;++i)u=r[i],u.setValue(Ext.Array.contains(n,u.inputValue));else t.callParent(arguments);return t},valueToRaw:function(n){return n},onChange:function(n){var t=this,i=t.handler;i&&i.call(t.scope||t,t,n);t.callParent(arguments)},resetOriginalValue:function(n){var t=this,r,u,f,i;if(!n)for(r=t.getManager().getByName(t.name,t.getFormId()).items,f=r.length,i=0;i<f;++i)u=r[i],u!==t&&r[i].resetOriginalValue(!0);t.callParent()},beforeDestroy:function(){this.callParent();this.getManager().removeAtKey(this.id)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var n=this,t=n.inputEl;n.callParent();t&&(t.dom.disabled=n.readOnly)},setReadOnly:function(n){var t=this,i=t.inputEl;i&&(i.dom.disabled=!!n||t.disabled);t.callParent(arguments)},getFormId:function(){var n=this,t;return n.formId||(t=n.up("form"),t&&(n.formId=t.id)),n.formId}});Ext.define("Ext.layout.component.field.Trigger",{alias:"layout.triggerfield",extend:"Ext.layout.component.field.Field",type:"triggerfield",beginLayout:function(n){var t=this,i=t.owner,r;n.triggerWrap=n.getEl("triggerWrap");t.callParent(arguments);r=i.getTriggerStateFlags();r!=i.lastTriggerStateFlags&&(i.lastTriggerStateFlags=r,t.updateEditState())},beginLayoutFixed:function(n,t,i){var o=this,r=n.target,f=o.ieInputWidthAdjustment||0,u="100%",e=r.triggerWrap;o.callParent(arguments);r.inputCell.setStyle("width","100%");f&&(r.inputCell.setStyle("padding-right",f+"px"),i==="px"&&(u=(r.inputWidth?r.inputWidth-r.getTriggerWidth():t-f-r.getTriggerWidth())+"px"));r.inputEl.setStyle("width",u);u=r.inputWidth;u?e.setStyle("width",u+f+"px"):e.setStyle("width",t+i);e.setStyle("table-layout","fixed")},beginLayoutShrinkWrap:function(n){var t=n.target,r="",i=t.inputWidth,u=t.triggerWrap,f=this.ieInputWidthAdjustment||0;this.callParent(arguments);i?(u.setStyle("width",i+"px"),i=i-t.getTriggerWidth()+"px",t.inputEl.setStyle("width",i),t.inputCell.setStyle("width",i)):(t.inputCell.setStyle("width",r),t.inputEl.setStyle("width",r),u.setStyle("width",r),u.setStyle("table-layout","auto"))},getTextWidth:function(){var r=this,n=r.owner,t=n.inputEl,i;return i=(t.dom.value||(n.hasFocus?"":n.emptyText)||"")+n.growAppend,t.getTextWidth(i)},measureContentWidth:function(n){var i=this,r=i.owner,f=i.callParent(arguments),e=n.inputContext,u,t,o;return r.grow&&!n.state.growHandled&&(u=i.getTextWidth()+n.inputContext.getFrameInfo().width,t=r.growMax,o=Math.min(t,f),t=Math.max(r.growMin,t,o),u=Ext.Number.constrain(u,r.growMin,t),e.setWidth(u),n.state.growHandled=!0,e.domBlock(i,"width"),f=NaN),f},updateEditState:function(){var n=this,f=n.owner,t=f.inputEl,r=Ext.baseCSSPrefix+"trigger-noedit",u,i;n.owner.readOnly?(t.addCls(r),i=!0,u=!1):(n.owner.editable?(t.removeCls(r),i=!1):(t.addCls(r),i=!0),u=!n.owner.hideTrigger);f.triggerCell.setDisplayed(u);t.dom.readOnly=i}});Ext.define("Ext.layout.component.field.ComboBox",{extend:"Ext.layout.component.field.Trigger",alias:"layout.combobox",requires:["Ext.util.TextMetrics"],type:"combobox",startingWidth:null,getTextWidth:function(){for(var t=this,n=t.owner,e=n.store,h=n.displayField,c=e.data.length,o="",r=0,s=0,u,f,i;r<c;r++)f=e.getAt(r).data[h],u=f.length,u>s&&(s=u,o=f);return i=Math.max(t.callParent(arguments),n.inputEl.getTextWidth(o+n.growAppend)),(!t.startingWidth||n.removingRecords)&&(t.startingWidth=i,i<n.growMin&&(n.defaultListConfig.minWidth=n.growMin),n.removingRecords=!1),i<t.startingWidth?t.startingWidth:i}});Ext.define("Ext.form.field.Trigger",{extend:"Ext.form.field.Text",alias:["widget.triggerfield","widget.trigger"],requires:["Ext.DomHelper","Ext.util.ClickRepeater","Ext.layout.component.field.Trigger"],alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],childEls:[{name:"triggerCell",select:"."+Ext.baseCSSPrefix+"trigger-cell"},{name:"triggerEl",select:"."+Ext.baseCSSPrefix+"form-trigger"},"triggerWrap","inputCell"],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",triggerNoEditCls:Ext.baseCSSPrefix+"trigger-noedit",hideTrigger:!1,editable:!0,readOnly:!1,repeatTriggerClick:!1,autoSize:Ext.emptyFn,monitorTab:!0,mimicing:!1,triggerIndexRe:/trigger-index-(\d+)/,componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},getSubTplMarkup:function(){var n=this,t=n.callParent(arguments);return'<table id="'+n.id+'-triggerWrap" class="'+Ext.baseCSSPrefix+'form-trigger-wrap" cellpadding="0" cellspacing="0"><tbody><tr><td id="'+n.id+'-inputCell" class="'+Ext.baseCSSPrefix+'form-trigger-input-cell">'+t+"<\/td>"+n.getTriggerMarkup()+"<\/tr><\/tbody><\/table>"},getSubTplData:function(){var n=this,r=n.callParent(),t=n.readOnly===!0,i=n.editable!==!1;return Ext.apply(r,{editableCls:t||!i?" "+n.triggerNoEditCls:"",readOnly:!i||t})},getLabelableRenderData:function(){var n=this,t=n.triggerWrapCls,i=n.callParent(arguments);return Ext.applyIf(i,{triggerWrapCls:t,triggerMarkup:n.getTriggerMarkup()})},getTriggerMarkup:function(){var n=this,t=0,f=n.readOnly||n.hideTrigger,r,u=n.triggerBaseCls,i=[];for(n.trigger1Cls||(n.trigger1Cls=n.triggerCls),t=0;(r=n["trigger"+(t+1)+"Cls"])||t<1;t++)i.push({tag:"td",valign:"top",cls:Ext.baseCSSPrefix+"trigger-cell",style:"width:"+n.triggerWidth+(f?"px;display:none":"px"),cn:{cls:[Ext.baseCSSPrefix+"trigger-index-"+t,u,r].join(" "),role:"button"}});return i[t-1].cn.cls+=" "+u+"-last",Ext.DomHelper.markup(i)},disableCheck:function(){return!this.disabled},beforeRender:function(){var n=this,i=n.triggerBaseCls,t;n.triggerWidth||(t=Ext.resetElement.createChild({style:"position: absolute;",cls:Ext.baseCSSPrefix+"form-trigger"}),Ext.form.field.Trigger.prototype.triggerWidth=t.getWidth(),t.remove());n.callParent();i!=Ext.baseCSSPrefix+"form-trigger"&&n.addChildEls({name:"triggerEl",select:"."+i});n.lastTriggerStateFlags=n.getTriggerStateFlags()},onRender:function(){var n=this;n.callParent(arguments);n.doc=Ext.getDoc();n.initTrigger();n.triggerEl.unselectable()},getTriggerWidth:function(){var n=this,t=0;return!n.triggerWrap||n.hideTrigger||n.readOnly||(t=n.triggerEl.getCount()*n.triggerWidth),t},setHideTrigger:function(n){n!=this.hideTrigger&&(this.hideTrigger=n,this.updateLayout())},setEditable:function(n){n!=this.editable&&(this.editable=n,this.updateLayout())},setReadOnly:function(n){n!=this.readOnly&&(this.readOnly=n,this.updateLayout())},initTrigger:function(){var n=this,o=n.triggerWrap,i=n.triggerEl,r=n.disableCheck,u,s,f,t,e;for(n.repeatTriggerClick?n.triggerRepeater=new Ext.util.ClickRepeater(o,{preventDefault:!0,handler:n.onTriggerWrapClick,listeners:{mouseup:n.onTriggerWrapMouseup,scope:n},scope:n}):n.mon(o,{click:n.onTriggerWrapClick,mouseup:n.onTriggerWrapMouseup,scope:n}),i.setVisibilityMode(Ext.Element.DISPLAY),i.addClsOnOver(n.triggerBaseCls+"-over",r,n),u=i.elements,s=u.length,t=0;t<s;t++)f=u[t],e=t+1,f.addClsOnOver(n["trigger"+e+"Cls"]+"-over",r,n),f.addClsOnClick(n["trigger"+e+"Cls"]+"-click",r,n);i.addClsOnClick(n.triggerBaseCls+"-click",r,n)},onDestroy:function(){var n=this;Ext.destroyMembers(n,"triggerRepeater","triggerWrap","triggerEl");delete n.doc;n.callParent()},onFocus:function(){var n=this;if(n.callParent(arguments),!n.mimicing&&(n.bodyEl.addCls(n.wrapFocusCls),n.mimicing=!0,n.mon(n.doc,"mousedown",n.mimicBlur,n,{delay:10}),n.monitorTab))n.on("specialkey",n.checkTab,n)},checkTab:function(n,t){this.ignoreMonitorTab||t.getKey()!=t.TAB||this.triggerBlur()},getTriggerStateFlags:function(){var t=this,n=0;return t.readOnly&&(n+=1),t.editable&&(n+=2),t.hideTrigger&&(n+=4),n},onBlur:Ext.emptyFn,mimicBlur:function(n){this.isDestroyed||this.bodyEl.contains(n.target)||!this.validateBlur(n)||this.triggerBlur(n)},triggerBlur:function(n){var t=this;t.mimicing=!1;t.mun(t.doc,"mousedown",t.mimicBlur,t);t.monitorTab&&t.inputEl&&t.un("specialkey",t.checkTab,t);Ext.form.field.Trigger.superclass.onBlur.call(t,n);t.bodyEl&&t.bodyEl.removeCls(t.wrapFocusCls)},validateBlur:function(){return!0},onTriggerWrapClick:function(){var n=this,i,r,u,t;t=arguments[n.triggerRepeater?1:0];!t||n.readOnly||n.disabled||(i=t.getTarget("."+n.triggerBaseCls,null),r=i&&i.className.match(n.triggerIndexRe),r&&(u=n["onTrigger"+(parseInt(r[1],10)+1)+"Click"]||n.onTriggerClick,u&&u.call(n,t)))},onTriggerWrapMouseup:Ext.emptyFn,onTriggerClick:Ext.emptyFn});Ext.define("Ext.form.field.Picker",{extend:"Ext.form.field.Trigger",alias:"widget.pickerfield",alternateClassName:"Ext.form.Picker",requires:["Ext.util.KeyNav"],matchFieldWidth:!0,pickerAlign:"tl-bl?",openCls:Ext.baseCSSPrefix+"pickerfield-open",editable:!0,initComponent:function(){this.callParent();this.addEvents("expand","collapse","select")},initEvents:function(){var n=this;n.callParent();n.keyNav=new Ext.util.KeyNav(n.inputEl,{down:n.onDownArrow,esc:{handler:n.onEsc,scope:n,defaultEventAction:!1},scope:n,forceKeyDown:!0});n.editable||n.mon(n.inputEl,"click",n.onTriggerClick,n);Ext.isGecko&&n.inputEl.dom.setAttribute("autocomplete","off")},onEsc:function(n){var t=this;t.isExpanded?(t.collapse(),n.stopEvent()):t.up("window")?t.blur():Ext.FocusManager&&Ext.FocusManager.enabled||n.stopEvent()},onDownArrow:function(){this.isExpanded||this.onTriggerClick()},expand:function(){var n=this,i,r,t;if(n.rendered&&!n.isExpanded&&!n.isDestroyed){i=n.bodyEl;r=n.getPicker();t=n.collapseIf;r.show();n.isExpanded=!0;n.alignPicker();i.addCls(n.openCls);n.mon(Ext.getDoc(),{mousewheel:t,mousedown:t,scope:n});Ext.EventManager.onWindowResize(n.alignPicker,n);n.fireEvent("expand",n);n.onExpand()}},onExpand:Ext.emptyFn,alignPicker:function(){var n=this,t=n.getPicker();n.isExpanded&&(n.matchFieldWidth&&t.setWidth(n.bodyEl.getWidth()),t.isFloating()&&n.doAlign())},doAlign:function(){var n=this,t=n.picker,r="-above",i;n.picker.alignTo(n.inputEl,n.pickerAlign,n.pickerOffset);i=t.el.getY()<n.inputEl.getY();n.bodyEl[i?"addCls":"removeCls"](n.openCls+r);t[i?"addCls":"removeCls"](t.baseCls+r)},collapse:function(){if(this.isExpanded&&!this.isDestroyed){var n=this,i=n.openCls,t=n.picker,r=Ext.getDoc(),u=n.collapseIf,f="-above";t.hide();n.isExpanded=!1;n.bodyEl.removeCls([i,i+f]);t.el.removeCls(t.baseCls+f);r.un("mousewheel",u,n);r.un("mousedown",u,n);Ext.EventManager.removeResizeListener(n.alignPicker,n);n.fireEvent("collapse",n);n.onCollapse()}},onCollapse:Ext.emptyFn,collapseIf:function(n){var t=this;t.isDestroyed||n.within(t.bodyEl,!1,!0)||n.within(t.picker.el,!1,!0)||t.isEventWithinPickerLoadMask(n)||t.collapse()},getPicker:function(){var n=this;return n.picker||(n.picker=n.createPicker())},createPicker:Ext.emptyFn,onTriggerClick:function(){var n=this;n.readOnly||n.disabled||(n.isExpanded?n.collapse():n.expand(),n.inputEl.focus())},mimicBlur:function(n){var t=this,i=t.picker;i&&(n.within(i.el,!1,!0)||t.isEventWithinPickerLoadMask(n))||t.callParent(arguments)},onDestroy:function(){var n=this,t=n.picker;Ext.EventManager.removeResizeListener(n.alignPicker,n);Ext.destroy(n.keyNav);t&&(delete t.pickerField,t.destroy());n.callParent()},isEventWithinPickerLoadMask:function(n){var t=this.picker.loadMask;return t?n.within(t.maskEl,!1,!0)||n.within(t.el,!1,!0):!1}});Ext.define("Ext.layout.component.BoundList",{extend:"Ext.layout.component.Auto",alias:"layout.boundlist",type:"component",beginLayout:function(n){var i=this,t=i.owner,r=t.pagingToolbar;i.callParent(arguments);t.floating&&(n.savedXY=t.el.getXY(),t.el.setXY([-9999,-9999]));r&&(n.toolbarContext=n.context.getCmp(r));n.listContext=n.getEl("listEl")},beginLayoutCycle:function(n){var t=this.owner;this.callParent(arguments);n.heightModel.auto&&(t.el.setHeight("auto"),t.listEl.setHeight("auto"))},getLayoutItems:function(){var n=this.owner.pagingToolbar;return n?[n]:[]},isValidParent:function(){return!0},finishedLayout:function(n){var t=n.savedXY;this.callParent(arguments);t&&this.owner.el.setXY(t)},measureContentWidth:function(){return this.owner.listEl.getWidth()},measureContentHeight:function(){return this.owner.listEl.getHeight()},publishInnerHeight:function(n,t){var r=n.toolbarContext,i=0;r&&(i=r.getProp("height"));i===undefined?this.done=!1:n.listContext.setHeight(t-n.getFrameInfo().height-i)},calculateOwnerHeightFromContentHeight:function(n){var t=this.callParent(arguments),i=n.toolbarContext;return i&&(t+=i.getProp("height")),t}});Ext.define("Ext.selection.Model",{extend:"Ext.util.Observable",alternateClassName:"Ext.AbstractSelectionModel",requires:["Ext.data.StoreManager"],mixins:{bindable:"Ext.util.Bindable"},allowDeselect:!1,selected:null,pruneRemoved:!0,constructor:function(n){var t=this;n=n||{};Ext.apply(t,n);t.addEvents("selectionchange","focuschange");t.modes={SINGLE:!0,SIMPLE:!0,MULTI:!0};t.setSelectionMode(n.mode||t.mode);t.selected=new Ext.util.MixedCollection;t.callParent(arguments)},bindStore:function(n,t){var i=this;i.mixins.bindable.bindStore.apply(i,arguments);i.store&&!t&&i.refresh()},getStoreListeners:function(){var n=this;return{add:n.onStoreAdd,clear:n.onStoreClear,remove:n.onStoreRemove,update:n.onStoreUpdate}},selectAll:function(n){var t=this,r=t.store.getRange(),i=0,u=r.length,f=t.getSelection().length;for(t.bulkChange=!0;i<u;i++)t.doSelect(r[i],!0,n);delete t.bulkChange;t.maybeFireSelectionChange(t.getSelection().length!==f)},deselectAll:function(n){var t=this,r=t.getSelection(),i=0,u=r.length,f=t.getSelection().length;for(t.bulkChange=!0;i<u;i++)t.doDeselect(r[i],n);delete t.bulkChange;t.maybeFireSelectionChange(t.getSelection().length!==f)},selectWithEvent:function(n,t,i){var r=this;switch(r.selectionMode){case"MULTI":t.ctrlKey&&r.isSelected(n)?r.doDeselect(n,!1):t.shiftKey&&r.lastFocused?r.selectRange(r.lastFocused,n,t.ctrlKey):t.ctrlKey?r.doSelect(n,!0,!1):r.isSelected(n)&&!t.shiftKey&&!t.ctrlKey&&r.selected.getCount()>1?r.doSelect(n,i,!1):r.doSelect(n,!1);break;case"SIMPLE":r.isSelected(n)?r.doDeselect(n):r.doSelect(n,!0);break;case"SINGLE":r.allowDeselect&&r.isSelected(n)?r.doDeselect(n):r.doSelect(n,!1)}},selectRange:function(n,t,i,r){var f=this,e=f.store,o=0,u,s,h,c=[];if(!f.isLocked()){for(i||f.deselectAll(!0),Ext.isNumber(n)||(n=e.indexOf(n)),Ext.isNumber(t)||(t=e.indexOf(t)),n>t&&(s=t,t=n,n=s),u=n;u<=t;u++)f.isSelected(e.getAt(u))&&o++;for(h=r?r=="up"?n:t:-1,u=n;u<=t;u++)o==t-n+1?u!=h&&f.doDeselect(u,!0):c.push(e.getAt(u));f.doMultiSelect(c,!0)}},select:function(n,t,i){Ext.isDefined(n)&&this.doSelect(n,t,i)},deselect:function(n,t){this.doDeselect(n,t)},doSelect:function(n,t,i){var r=this,u;!r.locked&&r.store&&(typeof n=="number"&&(n=[r.store.getAt(n)]),r.selectionMode=="SINGLE"&&n?(u=n.length?n[0]:n,r.doSingleSelect(u,i)):r.doMultiSelect(n,t,i))},doMultiSelect:function(n,t,i){function h(){e.add(u);o=!0}var r=this,e=r.selected,o=!1,f=0,s,u;if(!r.locked&&(n=Ext.isArray(n)?n:[n],s=n.length,t||!(e.getCount()>0)||r.doDeselect(r.getSelection(),i)!==!1)){for(;f<s;f++)if(u=n[f],!t||!r.isSelected(u)){r.lastSelected=u;r.onSelectChange(u,!0,i,h)}r.preventFocus||r.setLastFocused(u,i);r.maybeFireSelectionChange(o&&!i)}},doDeselect:function(n,t){function h(){++f;e.remove(r)}var i=this,e=i.selected,u=0,o,r,s=0,f=0;if(i.locked||!i.store)return!1;for(typeof n=="number"?n=[i.store.getAt(n)]:Ext.isArray(n)||(n=[n]),o=n.length;u<o;u++)if(r=n[u],i.isSelected(r)){i.lastSelected==r&&(i.lastSelected=e.last());++s;i.onSelectChange(r,!1,t,h)}return i.maybeFireSelectionChange(f>0&&!t),f===s},doSingleSelect:function(n,t){function f(){if(i.bulkChange=!0,u.getCount()>0&&i.doDeselect(i.lastSelected,t)===!1)return delete i.bulkChange,!1;delete i.bulkChange;u.add(n);i.lastSelected=n;r=!0}var i=this,r=!1,u=i.selected;if(!i.locked&&!i.isSelected(n)){i.onSelectChange(n,!0,t,f);r&&(t||i.setLastFocused(n),i.maybeFireSelectionChange(!t))}},setLastFocused:function(n,t){var i=this,r=i.lastFocused;if(i.lastFocused=n,n!==r)i.onLastFocusChanged(r,n,t)},isFocused:function(n){return n===this.getLastFocused()},maybeFireSelectionChange:function(n){var t=this;n&&!t.bulkChange&&t.fireEvent("selectionchange",t,t.getSelection())},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(n){n=n?n.toUpperCase():"SINGLE";this.selectionMode=this.modes[n]?n:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(n){this.locked=!!n},isSelected:function(n){return n=Ext.isNumber(n)?this.store.getAt(n):n,this.selected.indexOf(n)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var n=this,i=n.store,t=[],f=n.getSelection(),s=f.length,r,e,u=0,o=n.getLastFocused();if(i){for(;u<s;u++)r=f[u],n.pruneRemoved&&i.indexOf(r)===-1||t.push(r);n.selected.getCount()!=t.length&&(e=!0);n.clearSelections();i.indexOf(o)!==-1&&n.setLastFocused(o,!0);t.length&&n.doSelect(t,!1,!0);n.maybeFireSelectionChange(e)}},clearSelections:function(){this.selected.clear();this.lastSelected=null;this.setLastFocused(null)},onStoreAdd:Ext.emptyFn,onStoreClear:function(){this.selected.getCount>0&&(this.clearSelections(),this.maybeFireSelectionChange(!0))},onStoreRemove:function(n,t){var i=this,r=i.selected;!i.locked&&i.pruneRemoved&&r.remove(t)&&(i.lastSelected==t&&(i.lastSelected=null),i.getLastFocused()==t&&i.setLastFocused(null),i.maybeFireSelectionChange(!0))},getCount:function(){return this.selected.getCount()},destroy:Ext.emptyFn,onStoreUpdate:Ext.emptyFn,onStoreLoad:Ext.emptyFn,onSelectChange:Ext.emptyFn,onLastFocusChanged:function(n,t){this.fireEvent("focuschange",this,n,t)},onEditorKey:Ext.emptyFn,bindComponent:Ext.emptyFn,beforeViewRender:Ext.emptyFn});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:!0,enableKeyNav:!0,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(n){var t=this,i={refresh:t.refresh,scope:t};t.view=n;t.bindStore(n.getStore());i[n.triggerEvent]=t.onItemClick;i[n.triggerCtEvent]=t.onContainerClick;n.on(i);t.enableKeyNav&&t.initKeyNav(n)},onItemClick:function(n,t,i,r,u){this.selectWithEvent(t,u)},onContainerClick:function(){this.deselectOnContainerClick&&this.deselectAll()},initKeyNav:function(n){var t=this;if(!n.rendered){n.on({render:Ext.Function.bind(t.initKeyNav,t,[n]),single:!0});return}n.el.set({tabIndex:-1});t.keyNav=new Ext.util.KeyNav({target:n.el,ignoreInputFields:!0,down:Ext.pass(t.onNavKey,[1],t),right:Ext.pass(t.onNavKey,[1],t),left:Ext.pass(t.onNavKey,[-1],t),up:Ext.pass(t.onNavKey,[-1],t),scope:t})},onNavKey:function(n){n=n||1;var i=this,r=i.view,u=i.getSelection()[0],f=i.view.store.getCount(),t;t=u?r.indexOf(r.getNode(u))+n:0;t<0?t=f-1:t>=f&&(t=0);i.select(t)},onSelectChange:function(n,t,i,r){var u=this,f=u.view,e=t?"select":"deselect";if((i||u.fireEvent("before"+e,u,n))!==!1&&r()!==!1){if(f)if(t)f.onItemSelect(n);else f.onItemDeselect(n);i||u.fireEvent(e,u,n)}},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],mixins:{bindable:"Ext.util.Bindable"},inheritableStatics:{getRecord:function(n){return this.getBoundView(n).getRecord(n)},getBoundView:function(n){return Ext.getCmp(n.boundView)}},deferInitialRefresh:!0,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:!0,loadingUseMsg:!0,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:!0,trackOver:!1,blockRefresh:!1,preserveScrollOnRefresh:!1,last:!1,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var n=this,r=Ext.isDefined,t=n.itemTpl,i={};t&&(Ext.isArray(t)?t=t.join(""):Ext.isObject(t)&&(i=Ext.apply(i,t.initialConfig),t=t.html),n.itemSelector||(n.itemSelector="."+n.itemCls),t=Ext.String.format('<tpl for="."><div class="{0}">{1}<\/div><\/tpl>',n.itemCls,t),n.tpl=new Ext.XTemplate(t,i));n.callParent();(Ext.isString(n.tpl)||Ext.isArray(n.tpl))&&(n.tpl=new Ext.XTemplate(n.tpl));n.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");n.addCmpEvents();n.store=Ext.data.StoreManager.lookup(n.store||"ext-empty-store");n.bindStore(n.store,!0);n.all=new Ext.CompositeElementLite;n.scrollState={top:0,left:0};n.on({scroll:n.onViewScroll,element:"el",scope:n})},onRender:function(){var n=this,t=n.loadMask,i={msg:n.loadingText,msgCls:n.loadingCls,useMsg:n.loadingUseMsg,store:n.getMaskStore()};if(n.callParent(arguments),t){Ext.isObject(t)&&(i=Ext.apply(i,t));n.loadMask=new Ext.LoadMask(n,i);n.loadMask.on({scope:n,beforeshow:n.onMaskBeforeShow,hide:n.onMaskHide})}},finishRender:function(){var n=this;n.callParent(arguments);n.up("[collapsed],[hidden]")||n.doFirstRefresh(n.store)},onBoxReady:function(){var n=this;n.callParent(arguments);n.firstRefreshDone||n.doFirstRefresh(n.store)},getMaskStore:function(){return this.store},onMaskBeforeShow:function(){var n=this,t=n.loadingHeight;n.getSelectionModel().deselectAll();n.all.clear();t&&t>n.getHeight()&&(n.hasLoadingHeight=!0,n.oldMinHeight=n.minHeight,n.minHeight=t,n.updateLayout())},onMaskHide:function(){var n=this;!n.destroying&&n.hasLoadingHeight&&(n.minHeight=n.oldMinHeight,n.updateLayout(),delete n.hasLoadingHeight)},beforeRender:function(){this.callParent(arguments);this.getSelectionModel().beforeViewRender(this)},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var n=this,t="SINGLE";return n.selModel||(n.selModel={}),n.simpleSelect?t="SIMPLE":n.multiSelect&&(t="MULTI"),Ext.applyIf(n.selModel,{allowDeselect:n.allowDeselect,mode:t}),n.selModel.events||(n.selModel=new Ext.selection.DataViewModel(n.selModel)),n.selModel.hasRelaySetup||(n.relayEvents(n.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect","focuschange"]),n.selModel.hasRelaySetup=!0),n.disableSelection&&(n.selModel.locked=!0),n.selModel},refresh:function(){var n=this,i,r,f,e,t,u;n.rendered&&!n.isDestroyed&&(n.hasListeners.beforerefresh&&n.fireEvent("beforerefresh",n)===!1||(i=n.getTargetEl(),u=n.store.getRange(),t=i.dom,n.preserveScrollOnRefresh||(r=t.parentNode,f=t.style.display,t.style.display="none",e=t.nextSibling,r.removeChild(t)),n.refreshCounter?n.clearViewEl():(n.fixedNodes=i.dom.childNodes.length,n.refreshCounter=1),n.tpl.append(i,n.collectData(u,0)),u.length<1?((!n.deferEmptyText||n.hasSkippedEmptyText)&&Ext.core.DomHelper.insertHtml("beforeEnd",i.dom,n.emptyText),n.all.clear()):(n.all.fill(Ext.query(n.getItemSelector(),i.dom)),n.updateIndexes(0)),n.selModel.refresh(),n.hasSkippedEmptyText=!0,n.preserveScrollOnRefresh||(r.insertBefore(t,e),t.style.display=f),this.refreshSize(),n.fireEvent("refresh",n),n.viewReady||(n.viewReady=!0,n.fireEvent("viewready",n))))},refreshSize:function(){var n=this.getSizeModel();(n.height.shrinkWrap||n.width.shrinkWrap)&&this.updateLayout()},clearViewEl:function(){var n=this,t=n.getTargetEl();if(n.fixedNodes)while(t.dom.childNodes[n.fixedNodes])t.dom.removeChild(t.dom.childNodes[n.fixedNodes]);else t.update("");n.refreshCounter++},onViewScroll:Ext.emptyFn,saveScrollState:function(){if(this.rendered){var n=this.el.dom,t=this.scrollState;t.left=n.scrollLeft;t.top=n.scrollTop}},restoreScrollState:function(){if(this.rendered){var n=this.el.dom,t=this.scrollState;n.scrollLeft=t.left;n.scrollTop=t.top}},prepareData:function(n,t,i){var r,u;if(i){r=i.getAssociatedData();for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u])}return n},collectData:function(n,t){for(var u=[],i=0,f=n.length,r;i<f;i++)r=n[i],u[i]=this.prepareData(r.data,t+i,r);return u},bufferRender:function(n,t){var i=this,r=i.renderBuffer||(i.renderBuffer=document.createElement("div"));return i.tpl.overwrite(r,i.collectData(n,t)),Ext.query(i.getItemSelector(),r)},onUpdate:function(n,t){var i=this,r,u;if(i.viewReady&&(r=i.store.indexOf(t),r>-1&&(u=i.bufferRender([t],r)[0],i.getNode(t))))return i.all.replaceElement(r,u,!0),i.updateIndexes(r,r),i.selModel.refresh(),i.hasListeners.itemupdate&&i.fireEvent("itemupdate",t,r,u),u},onAdd:function(n,t,i){var r=this,u;if(r.rendered){if(r.all.getCount()===0){r.refresh();return}u=r.bufferRender(t,i);r.doAdd(u,t,i);r.selModel.refresh();r.updateIndexes(i);r.refreshSize();r.hasListeners.itemadd&&r.fireEvent("itemadd",t,i,u)}},doAdd:function(n,t,i){var r=this.all,u=r.getCount();u===0?(this.clearViewEl(),this.getTargetEl().appendChild(n)):i<u?i===0?r.item(i).insertSibling(n,"before",!0):r.item(i-1).insertSibling(n,"after",!0):r.last().insertSibling(n,"after",!0);Ext.Array.insert(r.elements,i,n)},onRemove:function(n,t,i){var r=this;r.all.getCount()&&(r.store.getCount()===0?r.refresh():(r.doRemove(t,i),r.selModel.refreshOnRemove&&r.selModel.refresh(),r.updateIndexes(i)),this.refreshSize(),r.hasListeners.itemremove&&r.fireEvent("itemremove",t,i))},doRemove:function(n,t){this.all.removeElement(t,!0)},refreshNode:function(n){this.onUpdate(this.store,this.store.getAt(n))},updateIndexes:function(n,t){var r=this.all.elements,u=this.store.getRange(),i;for(n=n||0,t=t||(t===0?0:r.length-1),i=n;i<=t;i++)r[i].viewIndex=i,r[i].viewRecordId=u[i].internalId,r[i].boundView||(r[i].boundView=this.id)},getStore:function(){return this.store},bindStore:function(n,t){var i=this;i.mixins.bindable.bindStore.apply(i,arguments);t||i.getSelectionModel().bindStore(i.store);i.componentLayoutCounter&&i.doFirstRefresh(n)},doFirstRefresh:function(n){var t=this;t.firstRefreshDone=!0;n&&!n.loading&&(t.deferInitialRefresh?t.applyFirstRefresh():t.refresh())},applyFirstRefresh:function(){var n=this;n.isDestroyed||(n.up("[isCollapsingOrExpanding]")?Ext.Function.defer(n.applyFirstRefresh,100,n):Ext.Function.defer(function(){n.isDestroyed||n.refresh()},1))},onUnbindStore:function(){this.setMaskBind(null)},onBindStore:function(n){this.setMaskBind(n)},setMaskBind:function(n){var t=this.loadMask;t&&t.bindStore&&t.bindStore(n)},getStoreListeners:function(){var n=this;return{refresh:n.onDataRefresh,add:n.onAdd,remove:n.onRemove,update:n.onUpdate,clear:n.refresh}},onDataRefresh:function(){var n=this,t=!n.firstRefreshDone&&(!n.rendered||n.up("[collapsed],[isCollapsingOrExpanding],[hidden]"));t?n.deferInitialRefresh=!1:n.blockRefresh!==!0&&(n.firstRefreshDone=!0,n.refresh.apply(n,arguments))},findItemByChild:function(n){return Ext.fly(n).findParent(this.getItemSelector(),this.getTargetEl())},findTargetByEvent:function(n){return n.getTarget(this.getItemSelector(),this.getTargetEl())},getSelectedNodes:function(){for(var t=[],i=this.selModel.getSelection(),r=i.length,n=0;n<r;n++)t.push(this.getNode(i[n]));return t},getRecords:function(n){for(var t=[],i=0,r=n.length,u=this.store.data;i<r;i++)t[t.length]=u.getByKey(n[i].viewRecordId);return t},getRecord:function(n){return this.store.data.getByKey(Ext.getDom(n).viewRecordId)},isSelected:function(n){var t=this.getRecord(n);return this.selModel.isSelected(t)},select:function(n,t,i){this.selModel.select(n,t,i)},deselect:function(n,t){this.selModel.deselect(n,t)},getNode:function(n){return!n&&n!==0||!this.rendered?null:Ext.isString(n)?document.getElementById(n):Ext.isNumber(n)?this.all.elements[n]:n.isModel?this.getNodeByRecord(n):n},getNodeByRecord:function(n){for(var i=this.all.elements,r=i.length,t=0;t<r;t++)if(i[t].viewRecordId===n.internalId)return i[t];return null},getNodes:function(n,t){var i=this.all.elements;return t===undefined?t=i.length:t++,this.all.elements.slice(n||0,t)},indexOf:function(n){return(n=this.getNode(n),!n&&n!==0)?-1:Ext.isNumber(n.viewIndex)?n.viewIndex:this.all.indexOf(n)},onDestroy:function(){var n=this;n.all.clear();n.callParent();n.bindStore(null);n.selModel.destroy()},onItemSelect:function(n){var t=this.getNode(n);t&&Ext.fly(t).addCls(this.selectedItemCls)},onItemDeselect:function(n){var t=this.getNode(n);t&&Ext.fly(t).removeCls(this.selectedItemCls)},getItemSelector:function(){return this.itemSelector}},function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){return Ext.global.console&&Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel"),this.selModel.getSelection().length},getSelectedRecords:function(){return Ext.global.console&&Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel"),this.selModel.getSelection()},select:function(){Ext.global.console&&Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()");var n=this.getSelectionModel();return n.select.apply(n,arguments)},clearSelections:function(){Ext.global.console&&Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()");var n=this.getSelectionModel();return n.deselectAll()}})})});Ext.define("Ext.view.View",{extend:"Ext.view.AbstractView",alternateClassName:"Ext.DataView",alias:"widget.dataview",deferHighlight:Ext.isIE6||Ext.isIE7?100:0,inputTagRe:/^textarea$|^input$/i,inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},initComponent:function(){var n=this;n.callParent();n.deferHighlight&&(n.setHighlightedItem=Ext.Function.createBuffered(n.setHighlightedItem,n.deferHighlight,n))},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect","beforedeselect","select","deselect","focuschange","highlightitem","unhighlightitem")},getFocusEl:function(){return this.getTargetEl()},afterRender:function(){var n=this;n.callParent();n.mon(n.getTargetEl(),{scope:n,freezeEvent:!0,click:n.handleEvent,mousedown:n.handleEvent,mouseup:n.handleEvent,dblclick:n.handleEvent,contextmenu:n.handleEvent,mouseover:n.handleEvent,mouseout:n.handleEvent,keydown:n.handleEvent})},handleEvent:function(n){var t=this,i=n.type=="keydown"&&n.getKey();t.processUIEvent(n)!==!1&&t.processSpecialEvent(n);i===n.SPACE&&(t.inputTagRe.test(n.getTarget().tagName)||n.stopEvent())},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,stillOverItem:function(n,t){var i;return t&&typeof t.offsetParent=="object"?(i=n.type=="mouseout"?n.getRelatedTarget():n.getTarget(),Ext.fly(t).contains(i)):!1},processUIEvent:function(n){var t=this,i=n.getTarget(t.getItemSelector(),t.getTargetEl()),o=this.statics().EventMap,u,r,f=n.type,s=t.mouseOverItem,e;if(i||(f=="mouseover"&&t.stillOverItem(n,s)&&(i=s),f=="keydown"&&(r=t.getSelectionModel().getLastSelected(),r&&(i=t.getNode(r)))),i){if((u=t.indexOf(i),r||(r=t.getRecord(i)),!r||t.processItemEvent(r,i,u,n)===!1)||(e=t.isNewItemEvent(i,n),e===!1)||t["onBeforeItem"+o[e]](r,i,u,n)===!1||t.fireEvent("beforeitem"+e,t,r,i,u,n)===!1||t["onItem"+o[e]](r,i,u,n)===!1)return!1;t.fireEvent("item"+e,t,r,i,u,n)}else{if(t.processContainerEvent(n)===!1||t["onBeforeContainer"+o[f]](n)===!1||t.fireEvent("beforecontainer"+f,t,n)===!1||t["onContainer"+o[f]](n)===!1)return!1;t.fireEvent("container"+f,t,n)}return!0},isNewItemEvent:function(n,t){var i=this,r=i.mouseOverItem,u=t.type;switch(u){case"mouseover":return n===r?!1:(i.mouseOverItem=n,"mouseenter");case"mouseout":return i.stillOverItem(t,r)?!1:(i.mouseOverItem=null,"mouseleave")}return u},onItemMouseEnter:function(n,t){this.trackOver&&this.highlightItem(t)},onItemMouseLeave:function(){this.trackOver&&this.clearHighlight()},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,setHighlightedItem:function(n){var t=this,i=t.highlightedItem;i!=n&&(i&&(Ext.fly(i).removeCls(t.overItemCls),t.fireEvent("unhighlightitem",t,i)),t.highlightedItem=n,n&&(Ext.fly(n).addCls(t.overItemCls),t.fireEvent("highlightitem",t,n)))},highlightItem:function(n){this.setHighlightedItem(n)},clearHighlight:function(){this.setHighlightedItem(undefined)},onUpdate:function(n,t){var i=this,f,r,u;i.viewReady&&(f=i.getNode(t),r=i.callParent(arguments),u=i.highlightedItem,u&&u===f&&(delete i.highlightedItem,r&&i.highlightItem(r)))},refresh:function(){this.clearHighlight();this.callParent(arguments)}});Ext.define("Ext.toolbar.TextItem",{extend:"Ext.toolbar.Item",requires:["Ext.XTemplate"],alias:"widget.tbtext",alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",beforeRender:function(){var n=this;n.callParent();Ext.apply(n.renderData,{text:n.text})},setText:function(n){var t=this;t.rendered?(t.el.update(n),t.updateLayout()):this.text=n}});Ext.define("Ext.form.field.Spinner",{extend:"Ext.form.field.Trigger",alias:"widget.spinnerfield",alternateClassName:"Ext.form.Spinner",requires:["Ext.util.KeyNav"],trigger1Cls:Ext.baseCSSPrefix+"form-spinner-up",trigger2Cls:Ext.baseCSSPrefix+"form-spinner-down",spinUpEnabled:!0,spinDownEnabled:!0,keyNavEnabled:!0,mouseWheelEnabled:!0,repeatTriggerClick:!0,onSpinUp:Ext.emptyFn,onSpinDown:Ext.emptyFn,triggerTpl:'<td style="{triggerStyle}"><div class="'+Ext.baseCSSPrefix+"trigger-index-0 "+Ext.baseCSSPrefix+"form-trigger "+Ext.baseCSSPrefix+'form-spinner-up" role="button"><\/div><div class="'+Ext.baseCSSPrefix+"trigger-index-1 "+Ext.baseCSSPrefix+"form-trigger "+Ext.baseCSSPrefix+'form-spinner-down" role="button"><\/div><\/td><\/tr>',initComponent:function(){this.callParent();this.addEvents("spin","spinup","spindown")},onRender:function(){var n=this,t;n.callParent(arguments);t=n.triggerEl;n.spinUpEl=t.item(0);n.spinDownEl=t.item(1);n.triggerCell=n.spinUpEl.parent();n.setSpinUpEnabled(n.spinUpEnabled);n.setSpinDownEnabled(n.spinDownEnabled);n.keyNavEnabled&&(n.spinnerKeyNav=new Ext.util.KeyNav(n.inputEl,{scope:n,up:n.spinUp,down:n.spinDown}));n.mouseWheelEnabled&&n.mon(n.bodyEl,"mousewheel",n.onMouseWheel,n)},getSubTplMarkup:function(){var n=this,t=Ext.form.field.Base.prototype.getSubTplMarkup.apply(n,arguments);return'<table id="'+n.id+'-triggerWrap" class="'+Ext.baseCSSPrefix+'form-trigger-wrap" cellpadding="0" cellspacing="0"><tbody><tr><td id="'+n.id+'-inputCell" class="'+Ext.baseCSSPrefix+'form-trigger-input-cell">'+t+"<\/td>"+n.getTriggerMarkup()+"<\/tbody><\/table>"},getTriggerMarkup:function(){var n=this,t=n.readOnly||n.hideTrigger;return n.getTpl("triggerTpl").apply({triggerStyle:"width:"+n.triggerWidth+(t?"px;display:none":"px")})},getTriggerWidth:function(){var n=this,t=0;return!n.triggerWrap||n.hideTrigger||n.readOnly||(t=n.triggerWidth),t},onTrigger1Click:function(){this.spinUp()},onTrigger2Click:function(){this.spinDown()},onTriggerWrapMouseup:function(){this.inputEl.focus()},spinUp:function(){var n=this;n.spinUpEnabled&&!n.disabled&&(n.fireEvent("spin",n,"up"),n.fireEvent("spinup",n),n.onSpinUp())},spinDown:function(){var n=this;n.spinDownEnabled&&!n.disabled&&(n.fireEvent("spin",n,"down"),n.fireEvent("spindown",n),n.onSpinDown())},setSpinUpEnabled:function(n){var t=this,i=t.spinUpEnabled;t.spinUpEnabled=n;i!==n&&t.rendered&&t.spinUpEl[n?"removeCls":"addCls"](t.trigger1Cls+"-disabled")},setSpinDownEnabled:function(n){var t=this,i=t.spinDownEnabled;t.spinDownEnabled=n;i!==n&&t.rendered&&t.spinDownEl[n?"removeCls":"addCls"](t.trigger2Cls+"-disabled")},onMouseWheel:function(n){var t=this,i;t.hasFocus&&(i=n.getWheelDelta(),i>0?t.spinUp():i<0&&t.spinDown(),n.stopEvent())},onDestroy:function(){Ext.destroyMembers(this,"spinnerKeyNav","spinUpEl","spinDownEl");this.callParent()}});Ext.define("Ext.form.field.Number",{extend:"Ext.form.field.Spinner",alias:"widget.numberfield",alternateClassName:["Ext.form.NumberField","Ext.form.Number"],allowDecimals:!0,decimalSeparator:".",submitLocaleSeparator:!0,decimalPrecision:2,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,step:1,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",negativeText:"The value cannot be negative",baseChars:"0123456789",autoStripChars:!1,initComponent:function(){var n=this,t;n.callParent();n.setMinValue(n.minValue);n.setMaxValue(n.maxValue);n.disableKeyFilter!==!0&&(t=n.baseChars+"",n.allowDecimals&&(t+=n.decimalSeparator),n.minValue<0&&(t+="-"),t=Ext.String.escapeRegex(t),n.maskRe=new RegExp("["+t+"]"),n.autoStripChars&&(n.stripCharsRe=new RegExp("[^"+t+"]","gi")))},getErrors:function(n){var t=this,i=t.callParent(arguments),u=Ext.String.format,r;return(n=Ext.isDefined(n)?n:this.processRawValue(this.getRawValue()),n.length<1)?i:(n=String(n).replace(t.decimalSeparator,"."),isNaN(n)&&i.push(u(t.nanText,n)),r=t.parseValue(n),t.minValue===0&&r<0?i.push(this.negativeText):r<t.minValue&&i.push(u(t.minText,t.minValue)),r>t.maxValue&&i.push(u(t.maxText,t.maxValue)),i)},rawToValue:function(n){var t=this.fixPrecision(this.parseValue(n));return t===null&&(t=n||null),t},valueToRaw:function(n){var t=this,i=t.decimalSeparator;return n=t.parseValue(n),n=t.fixPrecision(n),n=Ext.isNumber(n)?n:parseFloat(String(n).replace(i,".")),isNaN(n)?"":String(n).replace(".",i)},getSubmitValue:function(){var n=this,t=n.callParent();return n.submitLocaleSeparator||(t=t.replace(n.decimalSeparator,".")),t},onChange:function(){this.toggleSpinners();this.callParent(arguments)},toggleSpinners:function(){var n=this,t=n.getValue(),i=t===null;n.setSpinUpEnabled(i||t<n.maxValue);n.setSpinDownEnabled(i||t>n.minValue)},setMinValue:function(n){this.minValue=Ext.Number.from(n,Number.NEGATIVE_INFINITY);this.toggleSpinners()},setMaxValue:function(n){this.maxValue=Ext.Number.from(n,Number.MAX_VALUE);this.toggleSpinners()},parseValue:function(n){return n=parseFloat(String(n).replace(this.decimalSeparator,".")),isNaN(n)?null:n},fixPrecision:function(n){var i=this,r=isNaN(n),t=i.decimalPrecision;return r||!n?r?"":n:((!i.allowDecimals||t<=0)&&(t=0),parseFloat(Ext.Number.toFixed(parseFloat(n),t)))},beforeBlur:function(){var n=this,t=n.parseValue(n.getRawValue());Ext.isEmpty(t)||n.setValue(t)},onSpinUp:function(){var n=this;n.readOnly||n.setValue(Ext.Number.constrain(n.getValue()+n.step,n.minValue,n.maxValue))},onSpinDown:function(){var n=this;n.readOnly||n.setValue(Ext.Number.constrain(n.getValue()-n.step,n.minValue,n.maxValue))}});Ext.define("Ext.toolbar.Paging",{extend:"Ext.toolbar.Toolbar",alias:"widget.pagingtoolbar",alternateClassName:"Ext.PagingToolbar",requires:["Ext.toolbar.TextItem","Ext.form.field.Number"],mixins:{bindable:"Ext.util.Bindable"},displayInfo:!1,prependButtons:!1,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",inputItemWidth:30,getPagingItems:function(){var n=this;return[{itemId:"first",tooltip:n.firstText,overflowText:n.firstText,iconCls:Ext.baseCSSPrefix+"tbar-page-first",disabled:!0,handler:n.moveFirst,scope:n},{itemId:"prev",tooltip:n.prevText,overflowText:n.prevText,iconCls:Ext.baseCSSPrefix+"tbar-page-prev",disabled:!0,handler:n.movePrevious,scope:n},"-",n.beforePageText,{xtype:"numberfield",itemId:"inputItem",name:"inputItem",cls:Ext.baseCSSPrefix+"tbar-page-number",allowDecimals:!1,minValue:1,hideTrigger:!0,enableKeyEvents:!0,keyNavEnabled:!1,selectOnFocus:!0,submitValue:!1,isFormField:!1,width:n.inputItemWidth,margins:"-1 2 3 2",listeners:{scope:n,keydown:n.onPagingKeyDown,blur:n.onPagingBlur}},{xtype:"tbtext",itemId:"afterTextItem",text:Ext.String.format(n.afterPageText,1)},"-",{itemId:"next",tooltip:n.nextText,overflowText:n.nextText,iconCls:Ext.baseCSSPrefix+"tbar-page-next",disabled:!0,handler:n.moveNext,scope:n},{itemId:"last",tooltip:n.lastText,overflowText:n.lastText,iconCls:Ext.baseCSSPrefix+"tbar-page-last",disabled:!0,handler:n.moveLast,scope:n},"-",{itemId:"refresh",tooltip:n.refreshText,overflowText:n.refreshText,iconCls:Ext.baseCSSPrefix+"tbar-loading",handler:n.doRefresh,scope:n}]},initComponent:function(){var n=this,t=n.getPagingItems(),i=n.items||n.buttons||[];n.items=n.prependButtons?i.concat(t):t.concat(i);delete n.buttons;n.displayInfo&&(n.items.push("->"),n.items.push({xtype:"tbtext",itemId:"displayItem"}));n.callParent();n.addEvents("change","beforechange");n.on("beforerender",n.onLoad,n,{single:!0});n.bindStore(n.store||"ext-empty-store",!0)},updateInfo:function(){var n=this,i=n.child("#displayItem"),f=n.store,t=n.getPageData(),r,u;i&&(r=f.getCount(),u=r===0?n.emptyMsg:Ext.String.format(n.displayMsg,t.fromRecord,t.toRecord,t.total),i.setText(u))},onLoad:function(){var n=this,u,t,r,f,e,i;e=n.store.getCount();i=e===0;i?(t=0,r=0,f=Ext.String.format(n.afterPageText,0)):(u=n.getPageData(),t=u.currentPage,r=u.pageCount,f=Ext.String.format(n.afterPageText,isNaN(r)?1:r));Ext.suspendLayouts();n.child("#afterTextItem").setText(f);n.child("#inputItem").setDisabled(i).setValue(t);n.child("#first").setDisabled(t===1||i);n.child("#prev").setDisabled(t===1||i);n.child("#next").setDisabled(t===r||i);n.child("#last").setDisabled(t===r||i);n.child("#refresh").enable();n.updateInfo();Ext.resumeLayouts(!0);n.rendered&&n.fireEvent("change",n,u)},getPageData:function(){var n=this.store,t=n.getTotalCount();return{total:t,currentPage:n.currentPage,pageCount:Math.ceil(t/n.pageSize),fromRecord:(n.currentPage-1)*n.pageSize+1,toRecord:Math.min(n.currentPage*n.pageSize,t)}},onLoadError:function(){this.rendered&&this.child("#refresh").enable()},readPageFromInput:function(n){var t=this.child("#inputItem").getValue(),i=parseInt(t,10);return!t||isNaN(i)?(this.child("#inputItem").setValue(n.currentPage),!1):i},onPagingFocus:function(){this.child("#inputItem").select()},onPagingBlur:function(){var n=this.getPageData().currentPage;this.child("#inputItem").setValue(n)},onPagingKeyDown:function(n,t){var u=this,r=t.getKey(),f=u.getPageData(),e=t.shiftKey?10:1,i;r==t.RETURN?(t.stopEvent(),i=u.readPageFromInput(f),i!==!1&&(i=Math.min(Math.max(1,i),f.pageCount),u.fireEvent("beforechange",u,i)!==!1&&u.store.loadPage(i))):r==t.HOME||r==t.END?(t.stopEvent(),i=r==t.HOME?1:f.pageCount,n.setValue(i)):(r==t.UP||r==t.PAGE_UP||r==t.DOWN||r==t.PAGE_DOWN)&&(t.stopEvent(),i=u.readPageFromInput(f),i&&((r==t.DOWN||r==t.PAGE_DOWN)&&(e*=-1),i+=e,i>=1&&i<=f.pageCount&&n.setValue(i)))},beforeLoad:function(){this.rendered&&this.refresh&&this.refresh.disable()},moveFirst:function(){this.fireEvent("beforechange",this,1)!==!1&&this.store.loadPage(1)},movePrevious:function(){var n=this,t=n.store.currentPage-1;t>0&&n.fireEvent("beforechange",n,t)!==!1&&n.store.previousPage()},moveNext:function(){var n=this,i=n.getPageData().pageCount,t=n.store.currentPage+1;t<=i&&n.fireEvent("beforechange",n,t)!==!1&&n.store.nextPage()},moveLast:function(){var n=this,t=n.getPageData().pageCount;n.fireEvent("beforechange",n,t)!==!1&&n.store.loadPage(t)},doRefresh:function(){var n=this,t=n.store.currentPage;n.fireEvent("beforechange",n,t)!==!1&&n.store.loadPage(t)},getStoreListeners:function(){return{beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError}},unbind:function(){this.bindStore(null)},bind:function(n){this.bindStore(n)},onDestroy:function(){this.unbind();this.callParent()}});Ext.define("Ext.view.BoundList",{extend:"Ext.view.View",alias:"widget.boundlist",alternateClassName:"Ext.BoundList",requires:["Ext.layout.component.BoundList","Ext.toolbar.Paging"],pageSize:0,baseCls:Ext.baseCSSPrefix+"boundlist",itemCls:Ext.baseCSSPrefix+"boundlist-item",listItemCls:"",shadow:!1,trackOver:!0,refreshed:0,deferInitialRefresh:!1,componentLayout:"boundlist",childEls:["listEl"],renderTpl:['<div id="{id}-listEl" class="{baseCls}-list-ct" style="overflow:auto"><\/div>',"{%","var me=values.$comp, pagingToolbar=me.pagingToolbar;","if (pagingToolbar) {","pagingToolbar.ownerLayout = me.componentLayout;","Ext.DomHelper.generateMarkup(pagingToolbar.getRenderTree(), out);","}","%}",{disableFormats:!0}],initComponent:function(){var n=this,t=n.baseCls,i=n.itemCls;n.selectedItemCls=t+"-selected";n.overItemCls=t+"-item-over";n.itemSelector="."+i;n.floating&&n.addCls(t+"-floating");n.tpl?Ext.isString(n.tpl)&&(n.tpl=new Ext.XTemplate(n.tpl)):n.tpl=new Ext.XTemplate('<ul><tpl for=".">','<li role="option" class="'+i+'">'+n.getInnerTpl(n.displayField)+"<\/li>","<\/tpl><\/ul>");n.pageSize&&(n.pagingToolbar=n.createPagingToolbar());n.callParent()},beforeRender:function(){var n=this;n.callParent(arguments);n.up("menu")&&n.addCls(Ext.baseCSSPrefix+"menu")},getBubbleTarget:function(){return this.pickerField},getRefItems:function(){return this.pagingToolbar?[this.pagingToolbar]:[]},createPagingToolbar:function(){return Ext.widget("pagingtoolbar",{id:this.id+"-paging-toolbar",pageSize:this.pageSize,store:this.store,border:!1,ownerCt:this,ownerLayout:this.getComponentLayout()})},finishRenderChildren:function(){var n=this.pagingToolbar;this.callParent(arguments);n&&n.finishRender()},refresh:function(){var n=this,t=n.pagingToolbar;n.callParent();n.rendered&&t&&t.rendered&&!n.preserveScrollOnRefresh&&n.el.appendChild(t.el)},bindStore:function(n,t){var i=this.pagingToolbar;this.callParent(arguments);i&&i.bindStore(this.store,t)},getTargetEl:function(){return this.listEl||this.el},getInnerTpl:function(n){return"{"+n+"}"},onDestroy:function(){Ext.destroyMembers(this,"pagingToolbar","listEl");this.callParent()}});Ext.define("Ext.view.BoundListKeyNav",{extend:"Ext.util.KeyNav",requires:"Ext.view.BoundList",constructor:function(n,t){var i=this;i.boundList=t.boundList;i.callParent([n,Ext.apply({},t,i.defaultHandlers)])},defaultHandlers:{up:function(){var t=this,n=t.boundList,u=n.all,i=n.highlightedItem,r=i?n.indexOf(i):-1,f=r>0?r-1:u.getCount()-1;t.highlightAt(f)},down:function(){var t=this,n=t.boundList,u=n.all,i=n.highlightedItem,r=i?n.indexOf(i):-1,f=r<u.getCount()-1?r+1:0;t.highlightAt(f)},pageup:function(){},pagedown:function(){},home:function(){this.highlightAt(0)},end:function(){var n=this;n.highlightAt(n.boundList.all.getCount()-1)},enter:function(n){this.selectHighlighted(n)}},highlightAt:function(n){var i=this.boundList,t=i.all.item(n);t&&(t=t.dom,i.highlightItem(t),i.getTargetEl().scrollChildIntoView(t,!1))},selectHighlighted:function(n){var r=this,t=r.boundList,i=t.highlightedItem,u=t.getSelectionModel();i&&u.selectWithEvent(t.getRecord(i),n)}});Ext.define("Ext.form.field.ComboBox",{extend:"Ext.form.field.Picker",requires:["Ext.util.DelayedTask","Ext.EventObject","Ext.view.BoundList","Ext.view.BoundListKeyNav","Ext.data.StoreManager","Ext.layout.component.field.ComboBox"],alternateClassName:"Ext.form.ComboBox",alias:["widget.combobox","widget.combo"],mixins:{bindable:"Ext.util.Bindable"},componentLayout:"combobox",triggerCls:Ext.baseCSSPrefix+"form-arrow-trigger",hiddenName:"",hiddenDataCls:Ext.baseCSSPrefix+"hide-display "+Ext.baseCSSPrefix+"form-data-hidden",fieldSubTpl:['<div class="{hiddenDataCls}" role="presentation"><\/div>','<input id="{id}" type="{type}" {inputAttrTpl} class="{fieldCls} {typeCls}" autocomplete="off"','<tpl if="value"> value="{[Ext.util.Format.htmlEncode(values.value)]}"<\/tpl>','<tpl if="name"> name="{name}"<\/tpl>','<tpl if="placeholder"> placeholder="{placeholder}"<\/tpl>','<tpl if="size"> size="{size}"<\/tpl>','<tpl if="maxLength !== undefined"> maxlength="{maxLength}"<\/tpl>','<tpl if="readOnly"> readonly="readonly"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>','<tpl if="tabIdx"> tabIndex="{tabIdx}"<\/tpl>','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',"/>",{compiled:!0,disableFormats:!0}],getSubTplData:function(){var n=this;return Ext.applyIf(n.subTplData,{hiddenDataCls:n.hiddenDataCls}),n.callParent(arguments)},afterRender:function(){var n=this;n.callParent(arguments);n.setHiddenValue(n.value)},multiSelect:!1,delimiter:", ",displayField:"text",triggerAction:"all",allQuery:"",queryParam:"query",queryMode:"remote",queryCaching:!0,pageSize:0,autoSelect:!0,typeAhead:!1,typeAheadDelay:250,selectOnTab:!0,forceSelection:!1,growToLongestValue:!0,defaultListConfig:{loadingHeight:70,minWidth:70,maxHeight:300,shadow:"sides"},ignoreSelection:0,removingRecords:null,resizeComboToGrow:function(){var n=this;return n.grow&&n.growToLongestValue},initComponent:function(){var n=this,r=Ext.isDefined,i=n.store,f=n.transform,t,u;Ext.applyIf(n.renderSelectors,{hiddenDataEl:"."+n.hiddenDataCls.split(" ").join(".")});this.addEvents("beforequery","select","beforeselect","beforedeselect");f&&(t=Ext.getDom(f),t&&(n.store||(i=Ext.Array.map(Ext.Array.from(t.options),function(n){return[n.value,n.text]})),n.name||(n.name=t.name),"value"in n||(n.value=t.value)));n.bindStore(i||"ext-empty-store",!0);i=n.store;i.autoCreated&&(n.queryMode="local",n.valueField=n.displayField="field1",i.expanded||(n.displayField="field2"));r(n.valueField)||(n.valueField=n.displayField);u=n.queryMode==="local";r(n.queryDelay)||(n.queryDelay=u?10:500);r(n.minChars)||(n.minChars=u?0:4);n.displayTpl?Ext.isString(n.displayTpl)&&(n.displayTpl=new Ext.XTemplate(n.displayTpl)):n.displayTpl=new Ext.XTemplate('<tpl for=".">{[typeof values === "string" ? values : values["'+n.displayField+'"]]}<tpl if="xindex < xcount">'+n.delimiter+"<\/tpl><\/tpl>");n.callParent();n.doQueryTask=new Ext.util.DelayedTask(n.doRawQuery,n);n.store.getCount()>0&&n.setValue(n.value);t&&(n.render(t.parentNode,t),Ext.removeNode(t),delete n.renderTo)},getStore:function(){return this.store},beforeBlur:function(){this.doQueryTask.cancel();this.assertValue()},assertValue:function(){var n=this,i=n.getRawValue(),t;n.forceSelection&&(n.multiSelect?i!==n.getDisplayValue()&&n.setValue(n.lastSelection):(t=n.findRecordByDisplay(i),t?n.select(t):n.setValue(n.lastSelection)));n.collapse()},onTypeAhead:function(){var n=this,u=n.displayField,r=n.store.findRecord(u,n.getRawValue()),f=n.getPicker(),t,e,i;r&&(t=r.get(u),e=t.length,i=n.getRawValue().length,f.highlightItem(f.getNode(r)),i!==0&&i!==e&&(n.setRawValue(t),n.selectText(i,t.length)))},resetToDefault:Ext.emptyFn,beforeReset:function(){this.callParent();this.clearFilter()},onUnbindStore:function(n){var t=this.picker;!n&&t&&t.bindStore(null);this.clearFilter()},onBindStore:function(n,t){var i=this.picker;t||this.resetToDefault();i&&i.bindStore(n)},getStoreListeners:function(){var n=this;return{beforeload:n.onBeforeLoad,clear:n.onClear,datachanged:n.onDataChanged,load:n.onLoad,exception:n.onException,remove:n.onRemove}},onBeforeLoad:function(){++this.ignoreSelection},onDataChanged:function(){var n=this;n.resizeComboToGrow()&&n.updateLayout()},onClear:function(){var n=this;n.resizeComboToGrow()&&(n.removingRecords=!0,n.onDataChanged())},onRemove:function(){var n=this;n.resizeComboToGrow()&&(n.removingRecords=!0)},onException:function(){this.ignoreSelection>0&&--this.ignoreSelection;this.collapse()},onLoad:function(){var n=this,t=n.value;n.ignoreSelection>0&&--n.ignoreSelection;n.rawQuery?(n.rawQuery=!1,n.syncSelection(),n.picker&&!n.picker.getSelectionModel().hasSelection()&&n.doAutoSelect()):n.value||n.value===0?n.setValue(n.value):n.store.getCount()?n.doAutoSelect():n.setValue(n.value)},doRawQuery:function(){this.doQuery(this.getRawValue(),!1,!0)},doQuery:function(n,t,i){n=n||"";var r=this,u={query:n,forceAll:t,combo:r,cancel:!1},f=r.store,o=r.queryMode==="local",e;return r.fireEvent("beforequery",u)===!1||u.cancel?!1:(n=u.query,t=u.forceAll,(t||n.length>=r.minChars)&&(r.expand(),r.queryCaching&&r.lastQuery===n||(r.lastQuery=n,o?(f.suspendEvents(),e=r.clearFilter(),n||!t?(r.activeFilter=new Ext.util.Filter({root:"data",property:r.displayField,value:n}),f.filter(r.activeFilter),e=!0):delete r.activeFilter,f.resumeEvents(),r.rendered&&e&&r.getPicker().refresh()):(r.rawQuery=i,r.pageSize?r.loadPage(1):f.load({params:r.getParams(n)}))),r.getRawValue()!==r.getDisplayValue()&&(r.ignoreSelection++,r.picker.getSelectionModel().deselectAll(),r.ignoreSelection--),o&&r.doAutoSelect(),r.typeAhead&&r.doTypeAhead()),!0)},clearFilter:function(){var n=this.store,t=this.activeFilter,i=n.filters,r;return t&&(i.getCount()>1&&(i.remove(t),r=i.getRange()),n.clearFilter(!0),r&&n.filter(r)),!!t},loadPage:function(n){this.store.loadPage(n,{params:this.getParams(this.lastQuery)})},onPageChange:function(n,t){return this.loadPage(t),!1},getParams:function(n){var t={},i=this.queryParam;return i&&(t[i]=n),t},doAutoSelect:function(){var i=this,n=i.picker,r,t;n&&i.autoSelect&&i.store.getCount()>0&&(r=n.getSelectionModel().lastSelected,t=n.getNode(r||0),t&&(n.highlightItem(t),n.listEl.scrollChildIntoView(t,!1)))},doTypeAhead:function(){this.typeAheadTask||(this.typeAheadTask=new Ext.util.DelayedTask(this.onTypeAhead,this));this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE&&this.typeAheadTask.delay(this.typeAheadDelay)},onTriggerClick:function(){var n=this;if(!n.readOnly&&!n.disabled){if(n.isExpanded)n.collapse();else{n.onFocus({});n.triggerAction==="all"?n.doQuery(n.allQuery,!0):n.doQuery(n.getRawValue(),!1,!0)}n.inputEl.focus()}},onKeyUp:function(n){var t=this,i=n.getKey();t.readOnly||t.disabled||!t.editable||(t.lastKey=i,n.isSpecialKey()&&i!=n.BACKSPACE&&i!=n.DELETE||t.doQueryTask.delay(t.queryDelay));t.enableKeyEvents&&t.callParent(arguments)},initEvents:function(){var n=this;n.callParent();n.enableKeyEvents||n.mon(n.inputEl,"keyup",n.onKeyUp,n)},onDestroy:function(){this.bindStore(null);this.callParent()},onAdded:function(){var n=this;n.callParent(arguments);n.picker&&(n.picker.ownerCt=n.up("[floating]"),n.picker.registerWithOwnerCt())},createPicker:function(){var n=this,t,i=Ext.apply({xtype:"boundlist",pickerField:n,selModel:{mode:n.multiSelect?"SIMPLE":"SINGLE"},floating:!0,hidden:!0,store:n.store,displayField:n.displayField,focusOnToFront:!1,pageSize:n.pageSize,tpl:n.tpl},n.listConfig,n.defaultListConfig);if(t=n.picker=Ext.widget(i),n.pageSize)t.pagingToolbar.on("beforechange",n.onPageChange,n);return n.mon(t,{itemclick:n.onItemClick,refresh:n.onListRefresh,scope:n}),n.mon(t.getSelectionModel(),{beforeselect:n.onBeforeSelect,beforedeselect:n.onBeforeDeselect,selectionchange:n.onListSelectionChange,scope:n}),t},alignPicker:function(){var t=this,n=t.getPicker(),i=t.getPosition()[1]-Ext.getBody().getScroll().top,u=Ext.Element.getViewHeight()-i-t.getHeight(),r=Math.max(i,u);n.height&&(delete n.height,n.updateLayout());n.getHeight()>r-5&&n.setHeight(r-5);t.callParent()},onListRefresh:function(){this.alignPicker();this.syncSelection()},onItemClick:function(n,t){var i=this,r=i.picker.getSelectionModel().getSelection(),u=i.valueField;!i.multiSelect&&r.length&&t.get(u)===r[0].get(u)&&(i.displayTplData=[t.data],i.setRawValue(i.getDisplayValue()),i.collapse())},onBeforeSelect:function(n,t){return this.fireEvent("beforeselect",this,t,t.index)},onBeforeDeselect:function(n,t){return this.fireEvent("beforedeselect",this,t,t.index)},onListSelectionChange:function(n,t){var i=this,r=i.multiSelect,u=t.length>0;!i.ignoreSelection&&i.isExpanded&&(r||Ext.defer(i.collapse,1,i),(r||u)&&i.setValue(t,!1),u&&i.fireEvent("select",i,t),i.inputEl.focus())},onExpand:function(){var n=this,t=n.listKeyNav,i=n.selectOnTab,r=n.getPicker();t?t.enable():t=n.listKeyNav=new Ext.view.BoundListKeyNav(this.inputEl,{boundList:r,forceKeyDown:!0,tab:function(t){return i&&(this.selectHighlighted(t),n.triggerBlur()),!0}});i&&(n.ignoreMonitorTab=!0);Ext.defer(t.enable,1,t);n.inputEl.focus()},onCollapse:function(){var n=this,t=n.listKeyNav;t&&(t.disable(),n.ignoreMonitorTab=!1)},select:function(n){this.setValue(n,!0)},findRecord:function(n,t){var i=this.store,r=i.findExact(n,t);return r!==-1?i.getAt(r):!1},findRecordByValue:function(n){return this.findRecord(this.valueField,n)},findRecordByDisplay:function(n){return this.findRecord(this.displayField,n)},setValue:function(n,t){var i=this,s=i.valueNotFoundText,h=i.inputEl,u,c,r,o,l=[],e=[],f=[];if(i.store.loading)return i.value=n,i.setHiddenValue(i.value),i;for(n=Ext.Array.from(n),u=0,c=n.length;u<c;u++)r=n[u],r&&r.isModel||(r=i.findRecordByValue(r)),r?(l.push(r),e.push(r.data),f.push(r.get(i.valueField))):i.forceSelection?Ext.isDefined(s)&&e.push(s):(f.push(n[u]),o={},o[i.displayField]=n[u],e.push(o));return i.setHiddenValue(f),i.value=i.multiSelect?f:f[0],Ext.isDefined(i.value)||(i.value=null),i.displayTplData=e,i.lastSelection=i.valueModels=l,h&&i.emptyText&&!Ext.isEmpty(n)&&h.removeCls(i.emptyCls),i.setRawValue(i.getDisplayValue()),i.checkChange(),t!==!1&&i.syncSelection(),i.applyEmptyText(),i},setHiddenValue:function(n){var e=this,s=e.hiddenName,i,r,u,o,f,t;if(e.hiddenDataEl&&s){for(n=Ext.Array.from(n),r=e.hiddenDataEl.dom,u=r.childNodes,o=u[0],f=n.length,t=u.length,!o&&f>0&&(e.hiddenDataEl.update(Ext.DomHelper.markup({tag:"input",type:"hidden",name:s})),t=1,o=r.firstChild);t>f;)r.removeChild(u[0]),--t;while(t<f)r.appendChild(o.cloneNode(!0)),++t;for(i=0;i<f;i++)u[i].value=n[i]}},getDisplayValue:function(){return this.displayTpl.apply(this.displayTplData)},getValue:function(){var n=this,t=n.picker,i=n.getRawValue(),r=n.value;return n.getDisplayValue()!==i&&(r=i,n.value=n.displayTplData=n.valueModels=null,t&&(n.ignoreSelection++,t.getSelectionModel().deselectAll(),n.ignoreSelection--)),r},getSubmitValue:function(){return this.getValue()},isEqual:function(n,t){var u=Ext.Array.from,i,r;if(n=u(n),t=u(t),r=n.length,r!==t.length)return!1;for(i=0;i<r;i++)if(t[i]!==n[i])return!1;return!0},clearValue:function(){this.setValue([])},syncSelection:function(){var n=this,f=n.picker,i,u,e=n.valueModels||[],o=e.length,r,t;if(f){for(i=[],r=0;r<o;r++)t=e[r],t&&t.isModel&&n.store.indexOf(t)>=0&&i.push(t);n.ignoreSelection++;u=f.getSelectionModel();u.deselectAll();i.length&&u.select(i);n.ignoreSelection--}},onEditorTab:function(n){var t=this.listKeyNav;this.selectOnTab&&t&&t.selectHighlighted(n)}});Ext.define("Ext.picker.Month",{extend:"Ext.Component",requires:["Ext.XTemplate","Ext.util.ClickRepeater","Ext.Date","Ext.button.Button"],alias:"widget.monthpicker",alternateClassName:"Ext.MonthPicker",childEls:["bodyEl","prevEl","nextEl","buttonsEl","monthEl","yearEl"],renderTpl:['<div id="{id}-bodyEl" class="{baseCls}-body">','<div id="{id}-monthEl" class="{baseCls}-months">','<tpl for="months">','<div class="{parent.baseCls}-item {parent.baseCls}-month"><a style="{parent.monthStyle}" href="#" hidefocus="on">{.}<\/a><\/div>',"<\/tpl>","<\/div>",'<div id="{id}-yearEl" class="{baseCls}-years">','<div class="{baseCls}-yearnav">','<button id="{id}-prevEl" class="{baseCls}-yearnav-prev"><\/button>','<button id="{id}-nextEl" class="{baseCls}-yearnav-next"><\/button>',"<\/div>",'<tpl for="years">','<div class="{parent.baseCls}-item {parent.baseCls}-year"><a href="#" hidefocus="on">{.}<\/a><\/div>',"<\/tpl>","<\/div>",'<div class="'+Ext.baseCSSPrefix+'clear"><\/div>',"<\/div>",'<tpl if="showButtons">','<div id="{id}-buttonsEl" class="{baseCls}-buttons">{%',"var me=values.$comp, okBtn=me.okBtn, cancelBtn=me.cancelBtn;","okBtn.ownerLayout = cancelBtn.ownerLayout = me.componentLayout;","okBtn.ownerCt = cancelBtn.ownerCt = me;","Ext.DomHelper.generateMarkup(okBtn.getRenderTree(), out);","Ext.DomHelper.generateMarkup(cancelBtn.getRenderTree(), out);","%}<\/div>","<\/tpl>"],okText:"OK",cancelText:"Cancel",baseCls:Ext.baseCSSPrefix+"monthpicker",showButtons:!0,width:178,measureWidth:35,measureMaxHeight:20,smallCls:Ext.baseCSSPrefix+"monthpicker-small",totalYears:10,yearOffset:5,monthOffset:6,initComponent:function(){var n=this;n.selectedCls=n.baseCls+"-selected";n.addEvents("cancelclick","monthclick","monthdblclick","okclick","select","yearclick","yeardblclick");n.small&&n.addCls(n.smallCls);n.setValue(n.value);n.activeYear=n.getYear((new Date).getFullYear()-4,-4);n.showButtons&&(n.okBtn=new Ext.button.Button({text:n.okText,handler:n.onOkClick,scope:n}),n.cancelBtn=new Ext.button.Button({text:n.cancelText,handler:n.onCancelClick,scope:n}));this.callParent()},beforeRender:function(){var n=this,t=0,i=[],r=Ext.Date.getShortMonthName,u=n.monthOffset,f=n.monthMargin,e="";for(n.callParent();t<u;++t)i.push(r(t),r(t+u));Ext.isDefined(f)&&(e="margin: 0 "+f+"px;");Ext.apply(n.renderData,{months:i,years:n.getYears(),showButtons:n.showButtons,monthStyle:e})},afterRender:function(){var n=this,t=n.bodyEl,i=n.buttonsEl;n.callParent();n.mon(t,"click",n.onBodyClick,n);n.mon(t,"dblclick",n.onBodyClick,n);n.years=t.select("."+n.baseCls+"-year a");n.months=t.select("."+n.baseCls+"-month a");n.backRepeater=new Ext.util.ClickRepeater(n.prevEl,{handler:Ext.Function.bind(n.adjustYear,n,[-n.totalYears])});n.prevEl.addClsOnOver(n.baseCls+"-yearnav-prev-over");n.nextRepeater=new Ext.util.ClickRepeater(n.nextEl,{handler:Ext.Function.bind(n.adjustYear,n,[n.totalYears])});n.nextEl.addClsOnOver(n.baseCls+"-yearnav-next-over");n.updateBody();Ext.isDefined(n.monthMargin)||(Ext.picker.Month.prototype.monthMargin=n.calculateMonthMargin())},calculateMonthMargin:function(){for(var n=this,u=n.monthEl,i=n.months,r=i.first(),t=r.getMargin("l");t&&n.getLargest()>n.measureMaxHeight;)--t,i.setStyle("margin","0 "+t+"px");return t},getLargest:function(){var n=0;return this.months.each(function(t){var i=t.getHeight();i>n&&(n=i)}),n},setValue:function(n){var t=this,r=t.activeYear,u=t.monthOffset,i;return t.value=n?Ext.isDate(n)?[n.getMonth(),n.getFullYear()]:[n[0],n[1]]:[null,null],t.rendered&&(i=t.value[1],i!==null&&(i<r||i>r+t.yearOffset)&&(t.activeYear=i-t.yearOffset+1),t.updateBody()),t},getValue:function(){return this.value},hasSelection:function(){var n=this.value;return n[0]!==null&&n[1]!==null},getYears:function(){for(var t=this,i=t.yearOffset,r=t.activeYear,f=r+i,n=r,u=[];n<f;++n)u.push(n,n+i);return u},updateBody:function(){var n=this,o=n.years,s=n.months,l=n.getYears(),r=n.selectedCls,a=n.getYear(null),t=n.value[0],h=n.monthOffset,u,f,i,c,e;if(n.rendered){for(o.removeCls(r),s.removeCls(r),f=o.elements,c=f.length,i=0;i<c;i++)e=Ext.fly(f[i]),u=l[i],e.dom.innerHTML=u,u==a&&(e.dom.className=r);t!==null&&(t=t<h?t*2:(t-h)*2+1,s.item(t).addCls(r))}},getYear:function(n,t){var i=this.value[1];return t=t||0,i===null?n:i+t},onBodyClick:function(n,t){var i=this,r=n.type=="dblclick";if(n.getTarget("."+i.baseCls+"-month")){n.stopEvent();i.onMonthClick(t,r)}else if(n.getTarget("."+i.baseCls+"-year")){n.stopEvent();i.onYearClick(t,r)}},adjustYear:function(n){typeof n!="number"&&(n=this.totalYears);this.activeYear+=n;this.updateBody()},onOkClick:function(){this.fireEvent("okclick",this,this.value)},onCancelClick:function(){this.fireEvent("cancelclick",this)},onMonthClick:function(n,t){var i=this;i.value[0]=i.resolveOffset(i.months.indexOf(n),i.monthOffset);i.updateBody();i.fireEvent("month"+(t?"dbl":"")+"click",i,i.value);i.fireEvent("select",i,i.value)},onYearClick:function(n,t){var i=this;i.value[1]=i.activeYear+i.resolveOffset(i.years.indexOf(n),i.yearOffset);i.updateBody();i.fireEvent("year"+(t?"dbl":"")+"click",i,i.value);i.fireEvent("select",i,i.value)},resolveOffset:function(n,t){return n%2==0?n/2:t+Math.floor(n/2)},beforeDestroy:function(){var n=this;n.years=n.months=null;Ext.destroyMembers(n,"backRepeater","nextRepeater","okBtn","cancelBtn");n.callParent()},finishRenderChildren:function(){var n=this;this.callParent(arguments);this.showButtons&&(n.okBtn.finishRender(),n.cancelBtn.finishRender())},onDestroy:function(){Ext.destroyMembers(this,"okBtn","cancelBtn");this.callParent()}});Ext.define("Ext.picker.Date",{extend:"Ext.Component",requires:["Ext.XTemplate","Ext.button.Button","Ext.button.Split","Ext.util.ClickRepeater","Ext.util.KeyNav","Ext.EventObject","Ext.fx.Manager","Ext.picker.Month"],alias:"widget.datepicker",alternateClassName:"Ext.DatePicker",childEls:["innerEl","eventEl","prevEl","nextEl","middleBtnEl","footerEl"],border:!0,renderTpl:['<div id="{id}-innerEl" role="grid">','<div role="presentation" class="{baseCls}-header">','<div class="{baseCls}-prev"><a id="{id}-prevEl" href="#" role="button" title="{prevText}"><\/a><\/div>','<div class="{baseCls}-month" id="{id}-middleBtnEl">{%this.renderMonthBtn(values, out)%}<\/div>','<div class="{baseCls}-next"><a id="{id}-nextEl" href="#" role="button" title="{nextText}"><\/a><\/div>',"<\/div>",'<table id="{id}-eventEl" class="{baseCls}-inner" cellspacing="0" role="presentation">','<thead role="presentation"><tr role="presentation">','<tpl for="dayNames">','<th role="columnheader" title="{.}"><span>{.:this.firstInitial}<\/span><\/th>',"<\/tpl>","<\/tr><\/thead>",'<tbody role="presentation"><tr role="presentation">','<tpl for="days">',"{#:this.isEndOfWeek}",'<td role="gridcell" id="{[Ext.id()]}">','<a role="presentation" href="#" hidefocus="on" class="{parent.baseCls}-date" tabIndex="1">','<em role="presentation"><span role="presentation"><\/span><\/em>',"<\/a>","<\/td>","<\/tpl>","<\/tr><\/tbody>","<\/table>",'<tpl if="showToday">','<div id="{id}-footerEl" role="presentation" class="{baseCls}-footer">{%this.renderTodayBtn(values, out)%}<\/div>',"<\/tpl>","<\/div>",{firstInitial:function(n){return Ext.picker.Date.prototype.getDayInitial(n)},isEndOfWeek:function(n){n--;var t=n%7==0&&n!==0;return t?'<\/tr><tr role="row">':""},renderTodayBtn:function(n,t){Ext.DomHelper.generateMarkup(n.$comp.todayBtn.getRenderTree(),t)},renderMonthBtn:function(n,t){Ext.DomHelper.generateMarkup(n.$comp.monthBtn.getRenderTree(),t)}}],todayText:"Today",ariaTitle:"Date Picker: {0}",ariaTitleDateFormat:"F d, Y",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",disabledDaysText:"Disabled",disabledDatesText:"Disabled",nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",monthYearFormat:"F Y",startDay:0,showToday:!0,disableAnim:!1,baseCls:Ext.baseCSSPrefix+"datepicker",longDayFormat:"F d, Y",focusOnShow:!1,focusOnSelect:!0,width:178,initHour:12,numDays:42,initComponent:function(){var n=this,t=Ext.Date.clearTime;n.selectedCls=n.baseCls+"-selected";n.disabledCellCls=n.baseCls+"-disabled";n.prevCls=n.baseCls+"-prevday";n.activeCls=n.baseCls+"-active";n.nextCls=n.baseCls+"-prevday";n.todayCls=n.baseCls+"-today";n.dayNames=n.dayNames.slice(n.startDay).concat(n.dayNames.slice(0,n.startDay));n.listeners=Ext.apply(n.listeners||{},{mousewheel:{element:"eventEl",fn:n.handleMouseWheel,scope:n},click:{element:"eventEl",fn:n.handleDateClick,scope:n,delegate:"a."+n.baseCls+"-date"}});this.callParent();n.value=n.value?t(n.value,!0):t(new Date);n.addEvents("select");n.initDisabledDays()},beforeRender:function(){var n=this,i=new Array(n.numDays),t=Ext.Date.format(new Date,n.format);n.up("menu")&&n.addCls(Ext.baseCSSPrefix+"menu");n.monthBtn=new Ext.button.Split({ownerCt:n,ownerLayout:n.getComponentLayout(),text:"",tooltip:n.monthYearText,listeners:{click:n.showMonthPicker,arrowclick:n.showMonthPicker,scope:n}});this.showToday&&(n.todayBtn=new Ext.button.Button({ownerCt:n,ownerLayout:n.getComponentLayout(),text:Ext.String.format(n.todayText,t),tooltip:Ext.String.format(n.todayTip,t),tooltipType:"title",handler:n.selectToday,scope:n}));n.callParent();Ext.applyIf(n,{renderData:{}});Ext.apply(n.renderData,{dayNames:n.dayNames,showToday:n.showToday,prevText:n.prevText,nextText:n.nextText,days:i})},finishRenderChildren:function(){var n=this;n.callParent();n.monthBtn.finishRender();n.showToday&&n.todayBtn.finishRender()},onRender:function(){var n=this;n.callParent(arguments);n.el.unselectable();n.cells=n.eventEl.select("tbody td");n.textNodes=n.eventEl.query("tbody td span")},initEvents:function(){var n=this,t=Ext.Date,i=t.DAY;n.callParent();n.prevRepeater=new Ext.util.ClickRepeater(n.prevEl,{handler:n.showPrevMonth,scope:n,preventDefault:!0,stopDefault:!0});n.nextRepeater=new Ext.util.ClickRepeater(n.nextEl,{handler:n.showNextMonth,scope:n,preventDefault:!0,stopDefault:!0});n.keyNav=new Ext.util.KeyNav(n.eventEl,Ext.apply({scope:n,left:function(r){r.ctrlKey?n.showPrevMonth():n.update(t.add(n.activeDate,i,-1))},right:function(r){r.ctrlKey?n.showNextMonth():n.update(t.add(n.activeDate,i,1))},up:function(r){r.ctrlKey?n.showNextYear():n.update(t.add(n.activeDate,i,-7))},down:function(r){r.ctrlKey?n.showPrevYear():n.update(t.add(n.activeDate,i,7))},pageUp:n.showNextMonth,pageDown:n.showPrevMonth,enter:function(n){return n.stopPropagation(),!0}},n.keyNavConfig));n.showToday&&(n.todayKeyListener=n.eventEl.addKeyListener(Ext.EventObject.SPACE,n.selectToday,n));n.update(n.value)},initDisabledDays:function(){var t=this,i=t.disabledDates,u="(?:",f,n,e,r;if(!t.disabledDatesRE&&i){for(f=i.length-1,e=i.length,n=0;n<e;n++)r=i[n],u+=Ext.isDate(r)?"^"+Ext.String.escapeRegex(Ext.Date.dateFormat(r,t.format))+"$":r,n!=f&&(u+="|");t.disabledDatesRE=new RegExp(u+")")}},setDisabledDates:function(n){var t=this;return Ext.isArray(n)?(t.disabledDates=n,t.disabledDatesRE=null):t.disabledDatesRE=n,t.initDisabledDays(),t.update(t.value,!0),t},setDisabledDays:function(n){return this.disabledDays=n,this.update(this.value,!0)},setMinDate:function(n){return this.minDate=n,this.update(this.value,!0)},setMaxDate:function(n){return this.maxDate=n,this.update(this.value,!0)},setValue:function(n){return this.value=Ext.Date.clearTime(n,!0),this.update(this.value)},getValue:function(){return this.value},getDayInitial:function(n){return n.substr(0,1)},focus:function(){this.update(this.activeDate)},onEnable:function(){this.callParent();this.setDisabledStatus(!1);this.update(this.activeDate)},onDisable:function(){this.callParent();this.setDisabledStatus(!0)},setDisabledStatus:function(n){var t=this;t.keyNav.setDisabled(n);t.prevRepeater.setDisabled(n);t.nextRepeater.setDisabled(n);t.showToday&&(t.todayKeyListener.setDisabled(n),t.todayBtn.setDisabled(n))},getActive:function(){return this.activeDate||this.value},runAnimation:function(n){var t=this.monthPicker,i={duration:200,callback:function(){n?t.hide():t.show()}};n?t.el.slideOut("t",i):t.el.slideIn("t",i)},hideMonthPicker:function(n){var t=this,i=t.monthPicker;return i&&(t.shouldAnimate(n)?t.runAnimation(!0):i.hide()),t},showMonthPicker:function(n){var t=this,i;return t.rendered&&!t.disabled&&(i=t.createMonthPicker(),i.setValue(t.getActive()),i.setSize(t.getSize()),i.setPosition(-1,-1),t.shouldAnimate(n)?t.runAnimation(!1):i.show()),t},shouldAnimate:function(n){return Ext.isDefined(n)?n:!this.disableAnim},createMonthPicker:function(){var n=this,t=n.monthPicker;if(!t){n.monthPicker=t=new Ext.picker.Month({renderTo:n.el,floating:!0,shadow:!1,small:n.showToday===!1,listeners:{scope:n,cancelclick:n.onCancelClick,okclick:n.onOkClick,yeardblclick:n.onOkClick,monthdblclick:n.onOkClick}});n.disableAnim||t.el.setStyle("display","none");n.on("beforehide",Ext.Function.bind(n.hideMonthPicker,n,[!1]))}return t},onOkClick:function(n,t){var i=this,r=t[0],f=t[1],u=new Date(f,r,i.getActive().getDate());u.getMonth()!==r&&(u=Ext.Date.getLastDateOfMonth(new Date(f,r,1)));i.update(u);i.hideMonthPicker()},onCancelClick:function(){this.selectedUpdate(this.activeDate);this.hideMonthPicker()},showPrevMonth:function(){return this.update(Ext.Date.add(this.activeDate,Ext.Date.MONTH,-1))},showNextMonth:function(){return this.update(Ext.Date.add(this.activeDate,Ext.Date.MONTH,1))},showPrevYear:function(){this.update(Ext.Date.add(this.activeDate,Ext.Date.YEAR,-1))},showNextYear:function(){this.update(Ext.Date.add(this.activeDate,Ext.Date.YEAR,1))},handleMouseWheel:function(n){if(n.stopEvent(),!this.disabled){var t=n.getWheelDelta();t>0?this.showPrevMonth():t<0&&this.showNextMonth()}},handleDateClick:function(n,t){var i=this,r=i.handler;n.stopEvent();i.disabled||!t.dateValue||Ext.fly(t.parentNode).hasCls(i.disabledCellCls)||(i.doCancelFocus=i.focusOnSelect===!1,i.setValue(new Date(t.dateValue)),delete i.doCancelFocus,i.fireEvent("select",i,i.value),r&&r.call(i.scope||i,i,i.value),i.onSelect())},onSelect:function(){this.hideOnSelect&&this.hide()},selectToday:function(){var n=this,t=n.todayBtn,i=n.handler;return t&&!t.disabled&&(n.setValue(Ext.Date.clearTime(new Date)),n.fireEvent("select",n,n.value),i&&i.call(n.scope||n,n,n.value),n.onSelect()),n},selectedUpdate:function(n){var t=this,o=n.getTime(),u=t.cells,f=t.selectedCls,e=u.elements,r,s=e.length,i;for(u.removeCls(f),r=0;r<s;r++)if(i=Ext.fly(e[r]),i.dom.firstChild.dateValue==o){t.fireEvent("highlightitem",t,i);i.addCls(f);t.isVisible()&&!t.doCancelFocus&&Ext.fly(i.dom.firstChild).focus(50);break}},fullUpdate:function(n){var t=this,k=t.cells.elements,it=t.textNodes,s=t.disabledCellCls,i=Ext.Date,r=0,rt=0,ut=t.isVisible(),ft=+i.clearTime(n,!0),et=+i.clearTime(new Date),d=t.minDate?i.clearTime(t.minDate,!0):Number.NEGATIVE_INFINITY,g=t.maxDate?i.clearTime(t.maxDate,!0):Number.POSITIVE_INFINITY,h=t.disabledDatesRE,ot=t.disabledDatesText,c=t.disabledDays?t.disabledDays.join(""):!1,st=t.disabledDaysText,l=t.format,nt=i.getDaysInMonth(n),ht=i.getFirstDateOfMonth(n),f=ht.getDay()-t.startDay,y=i.add(n,i.MONTH,-1),ct=t.longDayFormat,p,u,w,o,tt,a,v,b,e;for(f<0&&(f+=7),nt+=f,p=i.getDaysInMonth(y)-f,u=new Date(y.getFullYear(),y.getMonth(),p,t.initHour),t.showToday&&(o=i.clearTime(new Date),w=o<d||o>g||h&&l&&h.test(i.dateFormat(o,l))||c&&c.indexOf(o.getDay())!=-1,t.disabled||(t.todayBtn.setDisabled(w),t.todayKeyListener.setDisabled(w))),tt=function(n){if(e=+i.clearTime(u,!0),n.title=i.format(u,ct),n.firstChild.dateValue=e,e==et&&(n.className+=" "+t.todayCls,n.title=t.todayText),e==ft&&(n.className+=" "+t.selectedCls,t.fireEvent("highlightitem",t,n),ut&&t.floating&&Ext.fly(n.firstChild).focus(50)),e<d){n.className=s;n.title=t.minText;return}if(e>g){n.className=s;n.title=t.maxText;return}c&&c.indexOf(u.getDay())!=-1&&(n.title=st,n.className=s);h&&l&&(b=i.dateFormat(u,l),h.test(b)&&(n.title=ot.replace("%0",b),n.className=s))};r<t.numDays;++r)r<f?(a=++p,v=t.prevCls):r>=nt?(a=++rt,v=t.nextCls):(a=r-f+1,v=t.activeCls),it[r].innerHTML=a,k[r].className=v,u.setDate(u.getDate()+1),tt(k[r]);t.monthBtn.setText(Ext.Date.format(n,t.monthYearFormat))},update:function(n,t){var i=this,r=i.activeDate;return i.rendered&&(i.activeDate=n,!t&&r&&i.el&&r.getMonth()==n.getMonth()&&r.getFullYear()==n.getFullYear()?i.selectedUpdate(n,r):i.fullUpdate(n,r),i.innerEl.dom.title=Ext.String.format(i.ariaTitle,Ext.Date.format(i.activeDate,i.ariaTitleDateFormat))),i},beforeDestroy:function(){var n=this;n.rendered&&(Ext.destroy(n.todayKeyListener,n.keyNav,n.monthPicker,n.monthBtn,n.nextRepeater,n.prevRepeater,n.todayBtn),delete n.textNodes,delete n.cells.elements);n.callParent()},onShow:function(){this.callParent(arguments);this.focusOnShow&&this.focus()}},function(){var n=this.prototype,t=Ext.Date;n.monthNames=t.monthNames;n.dayNames=t.dayNames;n.format=t.defaultFormat});Ext.define("Ext.form.field.Date",{extend:"Ext.form.field.Picker",alias:"widget.datefield",requires:["Ext.picker.Date"],alternateClassName:["Ext.form.DateField","Ext.form.Date"],format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerCls:Ext.baseCSSPrefix+"form-date-trigger",showToday:!0,useStrict:undefined,initTime:"12",initTimeFormat:"H",matchFieldWidth:!1,startDay:0,initComponent:function(){var n=this,r=Ext.isString,t,i;t=n.minValue;i=n.maxValue;r(t)&&(n.minValue=n.parseDate(t));r(i)&&(n.maxValue=n.parseDate(i));n.disabledDatesRE=null;n.initDisabledDays();n.callParent()},initValue:function(){var n=this,t=n.value;Ext.isString(t)&&(n.value=n.rawToValue(t));n.callParent()},initDisabledDays:function(){if(this.disabledDates){for(var i=this.disabledDates,u=i.length-1,r="(?:",f=i.length,t,n=0;n<f;n++)t=i[n],r+=Ext.isDate(t)?"^"+Ext.String.escapeRegex(t.dateFormat(this.format))+"$":t,n!==u&&(r+="|");this.disabledDatesRE=new RegExp(r+")")}},setDisabledDates:function(n){var t=this,i=t.picker;t.disabledDates=n;t.initDisabledDays();i&&i.setDisabledDates(t.disabledDatesRE)},setDisabledDays:function(n){var t=this.picker;this.disabledDays=n;t&&t.setDisabledDays(n)},setMinValue:function(n){var t=this,i=t.picker,r=Ext.isString(n)?t.parseDate(n):n;t.minValue=r;i&&(i.minText=Ext.String.format(t.minText,t.formatDate(t.minValue)),i.setMinDate(r))},setMaxValue:function(n){var t=this,i=t.picker,r=Ext.isString(n)?t.parseDate(n):n;t.maxValue=r;i&&(i.maxText=Ext.String.format(t.maxText,t.formatDate(t.maxValue)),i.setMaxDate(r))},getErrors:function(n){var t=this,r=Ext.String.format,c=Ext.Date.clearTime,i=t.callParent(arguments),u=t.disabledDays,l=t.disabledDatesRE,f=t.minValue,e=t.maxValue,y=u?u.length:0,o=0,a,s,v,h;if(n=t.formatDate(n||t.processRawValue(t.getRawValue())),n===null||n.length<1)return i;if(a=n,n=t.parseDate(n),!n)return i.push(r(t.invalidText,a,Ext.Date.unescapeFormat(t.format))),i;if(h=n.getTime(),f&&h<c(f).getTime()&&i.push(r(t.minText,t.formatDate(f))),e&&h>c(e).getTime()&&i.push(r(t.maxText,t.formatDate(e))),u)for(v=n.getDay();o<y;o++)if(v===u[o]){i.push(t.disabledDaysText);break}return s=t.formatDate(n),l&&l.test(s)&&i.push(r(t.disabledDatesText,s)),i},rawToValue:function(n){return this.parseDate(n)||n||null},valueToRaw:function(n){return this.formatDate(this.parseDate(n))},safeParse:function(n,t){var r=this,i=Ext.Date,u=null,e=r.useStrict,f;return i.formatContainsHourInfo(t)?u=i.parse(n,t,e):(f=i.parse(n+" "+r.initTime,t+" "+r.initTimeFormat,e),f&&(u=i.clearTime(f))),u},getSubmitValue:function(){var t=this.submitFormat||this.format,n=this.getValue();return n?Ext.Date.format(n,t):""},parseDate:function(n){if(!n||Ext.isDate(n))return n;var t=this,i=t.safeParse(n,t.format),f=t.altFormats,r=t.altFormatsArray,u=0,e;if(!i&&f)for(r=r||f.split("|"),e=r.length;u<e&&!i;++u)i=t.safeParse(n,r[u]);return i},formatDate:function(n){return Ext.isDate(n)?Ext.Date.dateFormat(n,this.format):n},createPicker:function(){var n=this,t=Ext.String.format;return new Ext.picker.Date({pickerField:n,ownerCt:n.ownerCt,renderTo:document.body,floating:!0,hidden:!0,focusOnShow:!0,minDate:n.minValue,maxDate:n.maxValue,disabledDatesRE:n.disabledDatesRE,disabledDatesText:n.disabledDatesText,disabledDays:n.disabledDays,disabledDaysText:n.disabledDaysText,format:n.format,showToday:n.showToday,startDay:n.startDay,minText:t(n.minText,n.formatDate(n.minValue)),maxText:t(n.maxText,n.formatDate(n.maxValue)),listeners:{scope:n,select:n.onSelect},keyNavConfig:{esc:function(){n.collapse()}}})},onSelect:function(n,t){var i=this;i.setValue(t);i.fireEvent("select",i,t);i.collapse()},onExpand:function(){var n=this.getValue();this.picker.setValue(Ext.isDate(n)?n:new Date)},onCollapse:function(){this.focus(!1,60)},beforeBlur:function(){var n=this,t=n.parseDate(n.getRawValue()),i=n.focusTask;i&&i.cancel();t&&n.setValue(t)}});Ext.define("Ext.form.field.File",{extend:"Ext.form.field.Trigger",alias:["widget.filefield","widget.fileuploadfield"],alternateClassName:["Ext.form.FileUploadField","Ext.ux.form.FileUploadField","Ext.form.File"],uses:["Ext.button.Button","Ext.layout.component.field.Field"],buttonText:"Browse...",buttonOnly:!1,buttonMargin:3,fieldBodyCls:Ext.baseCSSPrefix+"form-file-wrap",readOnly:!0,triggerNoEditCls:"",componentLayout:"triggerfield",childEls:["fileInputEl","buttonEl","buttonEl-btnEl","browseButtonWrap"],onRender:function(){var n=this,t;n.callParent(arguments);t=n.inputEl;t.dom.name="";n.fileInputEl.dom.name=n.getName();n.fileInputEl.on({scope:n,change:n.onFileChange});n.buttonOnly&&n.inputCell.setDisplayed(!1);n.browseButtonWrap.dom.style.width=n.browseButtonWrap.dom.lastChild.offsetWidth+n.buttonEl.getMargin("lr")+"px";Ext.isIE&&n.buttonEl.repaint()},getTriggerMarkup:function(){var n=this,t,i=Ext.widget("button",Ext.apply({id:n.id+"-buttonEl",ui:n.ui,disabled:n.disabled,text:n.buttonText,cls:Ext.baseCSSPrefix+"form-file-btn",preventDefault:!1,style:n.buttonOnly?"":"margin-left:"+n.buttonMargin+"px"},n.buttonConfig)),r=i.getRenderTree(),u={id:n.id+"-fileInputEl",cls:Ext.baseCSSPrefix+"form-file-input",tag:"input",type:"file",size:1};return n.disabled&&(u.disabled=!0),r.cn=u,t='<td id="'+n.id+'-browseButtonWrap">'+Ext.DomHelper.markup(r)+"<\/td>",i.destroy(),t},createFileInput:function(){var n=this;n.fileInputEl=n.buttonEl.createChild({name:n.getName(),id:n.id+"-fileInputEl",cls:Ext.baseCSSPrefix+"form-file-input",tag:"input",type:"file",size:1});n.fileInputEl.on({scope:n,change:n.onFileChange})},onFileChange:function(){this.lastValue=null;Ext.form.field.File.superclass.setValue.call(this,this.fileInputEl.dom.value)},setValue:Ext.emptyFn,reset:function(){var n=this;n.rendered&&(n.fileInputEl.remove(),n.createFileInput(),n.inputEl.dom.value="");n.callParent()},onDisable:function(){this.callParent();this.disableItems()},disableItems:function(){var n=this.fileInputEl;n&&(n.dom.disabled=!0);this["buttonEl-btnEl"].dom.disabled=!0},onEnable:function(){var n=this;n.callParent();n.fileInputEl.dom.disabled=!1;this["buttonEl-btnEl"].dom.disabled=!1},isFileUpload:function(){return!0},extractFileInput:function(){var n=this.fileInputEl.dom;return this.reset(),n},onDestroy:function(){Ext.destroyMembers(this,"fileInputEl","buttonEl");this.callParent()}});Ext.define("Ext.form.field.Hidden",{extend:"Ext.form.field.Base",alias:["widget.hiddenfield","widget.hidden"],alternateClassName:"Ext.form.Hidden",inputType:"hidden",hideLabel:!0,initComponent:function(){this.formItemCls+="-hidden";this.callParent()},isEqual:function(n,t){return this.isEqualAsString(n,t)},initEvents:Ext.emptyFn,setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.layout.component.field.HtmlEditor",{extend:"Ext.layout.component.field.Field",alias:["layout.htmleditor"],type:"htmleditor",toolbarSizePolicy:{setsWidth:0,setsHeight:0},beginLayout:function(n){this.callParent(arguments);n.textAreaContext=n.getEl("textareaEl");n.iframeContext=n.getEl("iframeEl");n.toolbarContext=n.context.getCmp(this.owner.getToolbar())},renderItems:Ext.emptyFn,getItemSizePolicy:function(){return this.toolbarSizePolicy},getLayoutItems:function(){var n=this.owner.getToolbar();return n?[n]:[]},getRenderTarget:function(){return this.owner.bodyEl},publishInnerHeight:function(n,t){var r=this,i=t-r.measureLabelErrorHeight(n)-n.toolbarContext.getProp("height")-n.bodyCellContext.getPaddingInfo().height;Ext.isNumber(i)?(n.textAreaContext.setHeight(i),n.iframeContext.setHeight(i)):r.done=!1}});Ext.define("Ext.picker.Color",{extend:"Ext.Component",requires:"Ext.XTemplate",alias:"widget.colorpicker",alternateClassName:"Ext.ColorPalette",componentCls:Ext.baseCSSPrefix+"color-picker",selectedCls:Ext.baseCSSPrefix+"color-picker-selected",value:null,clickEvent:"click",allowReselect:!1,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],colorRe:/(?:^|\s)color-(.{6})(?:\s|$)/,renderTpl:['<tpl for="colors">','<a href="#" class="color-{.}" hidefocus="on">','<em><span style="background:#{.}" unselectable="on">&#160;<\/span><\/em>',"<\/a>","<\/tpl>"],initComponent:function(){var n=this;if(n.callParent(arguments),n.addEvents("select"),n.handler)n.on("select",n.handler,n.scope,!0)},initRenderData:function(){var n=this;return Ext.apply(n.callParent(),{itemCls:n.itemCls,colors:n.colors})},onRender:function(){var n=this,t=n.clickEvent;n.callParent(arguments);n.mon(n.el,t,n.handleClick,n,{delegate:"a"});t!="click"&&n.mon(n.el,"click",Ext.emptyFn,n,{delegate:"a",stopEvent:!0})},afterRender:function(){var n=this,t;n.callParent(arguments);n.value&&(t=n.value,n.value=null,n.select(t,!0))},handleClick:function(n,t){var i=this,r;n.stopEvent();i.disabled||(r=t.className.match(i.colorRe)[1],i.select(r.toUpperCase()))},select:function(n,t){var i=this,u=i.selectedCls,f=i.value,r;if(n=n.replace("#",""),!i.rendered){i.value=n;return}(n!=f||i.allowReselect)&&(r=i.el,i.value&&r.down("a.color-"+f).removeCls(u),r.down("a.color-"+n).addCls(u),i.value=n,t!==!0&&i.fireEvent("select",i,n))},getValue:function(){return this.value||null}});Ext.define("Ext.form.field.HtmlEditor",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.htmleditor",alternateClassName:"Ext.form.HtmlEditor",requires:["Ext.tip.QuickTipManager","Ext.picker.Color","Ext.toolbar.Item","Ext.toolbar.Toolbar","Ext.util.Format","Ext.layout.component.field.HtmlEditor"],childEls:["iframeEl","textareaEl"],fieldSubTpl:["{beforeTextAreaTpl}",'<textarea id="{cmpId}-textareaEl" name="{name}" tabIndex="-1" {inputAttrTpl}',' class="{textareaCls}" style="{size}" autocomplete="off">',"{[Ext.util.Format.htmlEncode(values.value)]}","<\/textarea>","{afterTextAreaTpl}","{beforeIFrameTpl}",'<iframe id="{cmpId}-iframeEl" name="{iframeName}" frameBorder="0" {iframeAttrTpl}',' style="overflow:auto;{size}" src="{iframeSrc}"><\/iframe>',"{afterIFrameTpl}",{disableFormats:!0}],subTplInsertions:["beforeTextAreaTpl","afterTextAreaTpl","beforeIFrameTpl","afterIFrameTpl","iframeAttrTpl","inputAttrTpl"],enableFormat:!0,enableFontSize:!0,enableColors:!0,enableAlignments:!0,enableLists:!0,enableSourceEdit:!0,enableLinks:!0,enableFont:!0,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",defaultValue:Ext.isOpera||Ext.isIE6?"&#160;":"&#8203;",editorWrapCls:Ext.baseCSSPrefix+"html-editor-wrap",componentLayout:"htmleditor",initialized:!1,activated:!1,sourceEditMode:!1,iframePad:3,hideMode:"offsets",afterBodyEl:"<\/div>",maskOnDisable:!0,initComponent:function(){var n=this;n.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange");n.callParent(arguments);n.createToolbar(n);n.initLabelable();n.initField()},getRefItems:function(){return[this.toolbar]},createToolbar:function(n){function r(t,i,r){return{itemId:t,cls:u+"btn-icon",iconCls:u+"edit-"+t,enableToggle:i!==!1,scope:n,handler:r||n.relayBtnCmd,clickEvent:"mousedown",tooltip:o?n.buttonTips[t]||f:f,overflowText:n.buttonTips[t].title||f,tabIndex:-1}}var t=this,i=[],e,o=Ext.tip.QuickTipManager&&Ext.tip.QuickTipManager.isEnabled(),u=Ext.baseCSSPrefix,s,h,f;for(t.enableFont&&!Ext.isSafari2&&(s=Ext.widget("component",{renderTpl:['<select id="{id}-selectEl" class="{cls}">','<tpl for="fonts">','<option value="{[values.toLowerCase()]}" style="font-family:{.}"<tpl if="values.toLowerCase()==parent.defaultFont"> selected<\/tpl>>{.}<\/option>',"<\/tpl>","<\/select>"],renderData:{cls:u+"font-select",fonts:t.fontFamilies,defaultFont:t.defaultFont},childEls:["selectEl"],afterRender:function(){t.fontSelect=this.selectEl;Ext.Component.prototype.afterRender.apply(this,arguments)},onDisable:function(){var n=this.selectEl;n&&(n.dom.disabled=!0);Ext.Component.prototype.onDisable.apply(this,arguments)},onEnable:function(){var n=this.selectEl;n&&(n.dom.disabled=!1);Ext.Component.prototype.onEnable.apply(this,arguments)},listeners:{change:function(){t.relayCmd("fontname",t.fontSelect.dom.value);t.deferFocus()},element:"selectEl"}}),i.push(s,"-")),t.enableFormat&&i.push(r("bold"),r("italic"),r("underline")),t.enableFontSize&&i.push("-",r("increasefontsize",!1,t.adjustFont),r("decreasefontsize",!1,t.adjustFont)),t.enableColors&&i.push("-",{itemId:"forecolor",cls:u+"btn-icon",iconCls:u+"edit-forecolor",overflowText:n.buttonTips.forecolor.title,tooltip:o?n.buttonTips.forecolor||f:f,tabIndex:-1,menu:Ext.widget("menu",{plain:!0,items:[{xtype:"colorpicker",allowReselect:!0,focus:Ext.emptyFn,value:"000000",plain:!0,clickEvent:"mousedown",handler:function(n,i){t.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+i:i);t.deferFocus();this.up("menu").hide()}}]})},{itemId:"backcolor",cls:u+"btn-icon",iconCls:u+"edit-backcolor",overflowText:n.buttonTips.backcolor.title,tooltip:o?n.buttonTips.backcolor||f:f,tabIndex:-1,menu:Ext.widget("menu",{plain:!0,items:[{xtype:"colorpicker",focus:Ext.emptyFn,value:"FFFFFF",plain:!0,allowReselect:!0,clickEvent:"mousedown",handler:function(n,i){Ext.isGecko?(t.execCmd("useCSS",!1),t.execCmd("hilitecolor",i),t.execCmd("useCSS",!0),t.deferFocus()):(t.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+i:i),t.deferFocus());this.up("menu").hide()}}]})}),t.enableAlignments&&i.push("-",r("justifyleft"),r("justifycenter"),r("justifyright")),Ext.isSafari2||(t.enableLinks&&i.push("-",r("createlink",!1,t.createLink)),t.enableLists&&i.push("-",r("insertorderedlist"),r("insertunorderedlist")),t.enableSourceEdit&&i.push("-",r("sourceedit",!0,function(){t.toggleSourceEdit(!t.sourceEditMode)}))),e=0;e<i.length;e++)i[e].itemId!=="sourceedit"&&(i[e].disabled=!0);h=Ext.widget("toolbar",{id:t.id+"-toolbar",ownerCt:t,cls:Ext.baseCSSPrefix+"html-editor-tb",enableOverflow:!0,items:i,ownerLayout:t.getComponentLayout(),listeners:{click:function(n){n.preventDefault()},element:"el"}});t.toolbar=h},getMaskTarget:function(){return this.bodyEl},setReadOnly:function(n){var t=this,r=t.textareaEl,u=t.iframeEl,i;t.readOnly=n;r&&(r.dom.readOnly=n);t.initialized&&(i=t.getEditorBody(),Ext.isIE?(u.setDisplayed(!1),i.contentEditable=!n,u.setDisplayed(!0)):t.setDesignMode(!n),i&&(i.style.cursor=n?"default":"text"),t.disableItems(n))},getDocMarkup:function(){var n=this,t=n.iframeEl.getHeight()-n.iframePad*2;return Ext.String.format('<html><head><style type="text/css">body{border:0;margin:0;padding:{0}px;height:{1}px;box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;cursor:text}<\/style><\/head><body><\/body><\/html>',n.iframePad,t)},getEditorBody:function(){var n=this.getDoc();return n.body||n.documentElement},getDoc:function(){return!Ext.isIE&&this.iframeEl.dom.contentDocument||this.getWin().document},getWin:function(){return Ext.isIE?this.iframeEl.dom.contentWindow:window.frames[this.iframeEl.dom.name]},finishRenderChildren:function(){this.callParent();this.toolbar.finishRender()},onRender:function(){var n=this;n.callParent(arguments);n.inputEl=n.iframeEl;n.monitorTask=Ext.TaskManager.start({run:n.checkDesignMode,scope:n,interval:100})},initRenderTpl:function(){var n=this;return n.hasOwnProperty("renderTpl")||(n.renderTpl=n.getTpl("labelableRenderTpl")),n.callParent()},initRenderData:function(){return this.beforeSubTpl='<div class="'+this.editorWrapCls+'">'+Ext.DomHelper.markup(this.toolbar.getRenderTree()),Ext.applyIf(this.callParent(),this.getLabelableRenderData())},getSubTplData:function(){return{$comp:this,cmpId:this.id,id:this.getInputId(),textareaCls:Ext.baseCSSPrefix+"hidden",value:this.value,iframeName:Ext.id(),iframeSrc:Ext.SSL_SECURE_URL,size:"height:100px;width:100%"}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initFrameDoc:function(){var n=this,t,i;Ext.TaskManager.stop(n.monitorTask);t=n.getDoc();n.win=n.getWin();t.open();t.write(n.getDocMarkup());t.close();i={run:function(){var t=n.getDoc();(t.body||t.readyState==="complete")&&(Ext.TaskManager.stop(i),n.setDesignMode(!0),Ext.defer(n.initEditor,10,n))},interval:10,duration:1e4,scope:n};Ext.TaskManager.start(i)},checkDesignMode:function(){var n=this,t=n.getDoc();t&&(!t.editorInitialized||n.getDesignMode()!=="on")&&n.initFrameDoc()},setDesignMode:function(n){var t=this,i=t.getDoc();i&&(t.readOnly&&(n=!1),i.designMode=/on|true/i.test(String(n).toLowerCase())?"on":"off")},getDesignMode:function(){var n=this.getDoc();return n?String(n.designMode).toLowerCase():""},disableItems:function(n){for(var r=this.getToolbar().items.items,u=r.length,i,t=0;t<u;t++)i=r[t],i.getItemId()!=="sourceedit"&&i.setDisabled(n)},toggleSourceEdit:function(n){var t=this,u=t.iframeEl,i=t.textareaEl,r=Ext.baseCSSPrefix+"hidden",f=t.getToolbar().getComponent("sourceedit");Ext.isBoolean(n)||(n=!t.sourceEditMode);t.sourceEditMode=n;f.pressed!==n&&f.toggle(n);n?(t.disableItems(!0),t.syncValue(),u.addCls(r),i.removeCls(r),i.dom.removeAttribute("tabIndex"),i.focus(),t.inputEl=i):(t.initialized&&t.disableItems(t.readOnly),t.pushValue(),u.removeCls(r),i.addCls(r),i.dom.setAttribute("tabIndex",-1),t.deferFocus(),t.inputEl=u);t.fireEvent("editmodechange",t,n);t.updateLayout()},createLink:function(){var n=prompt(this.createLinkText,this.defaultLinkValue);n&&n!=="http://"&&this.relayCmd("createlink",n)},clearInvalid:Ext.emptyFn,setValue:function(n){var t=this,i=t.textareaEl;return t.mixins.field.setValue.call(t,n),(n===null||n===undefined)&&(n=""),i&&(i.dom.value=n),t.pushValue(),this},cleanHtml:function(n){return n=String(n),Ext.isWebKit&&(n=n.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")),n.charCodeAt(0)===parseInt(this.defaultValue.replace(/\D/g,""),10)&&(n=n.substring(1)),n},syncValue:function(){var n=this,r,u,t,f,i;n.initialized&&(r=n.getEditorBody(),t=r.innerHTML,Ext.isWebKit&&(f=r.getAttribute("style"),i=f.match(/text-align:(.*?);/i),i&&i[1]&&(t='<div style="'+i[0]+'">'+t+"<\/div>")),t=n.cleanHtml(t),n.fireEvent("beforesync",n,t)!==!1&&(n.textareaEl.dom.value!=t&&(n.textareaEl.dom.value=t,u=!0),n.fireEvent("sync",n,t),u&&n.checkChange()))},getValue:function(){var n=this,t;return n.sourceEditMode||n.syncValue(),t=n.rendered?n.textareaEl.dom.value:n.value,n.value=t,t},pushValue:function(){var n=this,t;n.initialized&&(t=n.textareaEl.dom.value||"",!n.activated&&t.length<1&&(t=n.defaultValue),n.fireEvent("beforepush",n,t)!==!1&&(n.getEditorBody().innerHTML=t,Ext.isGecko&&(n.setDesignMode(!1),n.setDesignMode(!0)),n.fireEvent("push",n,t)))},deferFocus:function(){this.focus(!1,!0)},getFocusEl:function(){var n=this,t=n.win;return t&&!n.sourceEditMode?t:n.textareaEl},initEditor:function(){try{var n=this,r=n.getEditorBody(),u=n.textareaEl.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),i,t;if(u["background-attachment"]="fixed",r.bgProperties="fixed",Ext.DomHelper.applyStyles(r,u),i=n.getDoc(),i)try{Ext.EventManager.removeAll(i)}catch(f){}t=Ext.Function.bind(n.onEditorEvent,n);Ext.EventManager.on(i,{mousedown:t,dblclick:t,click:t,keyup:t,buffer:100});t=n.onRelayedEvent;Ext.EventManager.on(i,{mousedown:t,mousemove:t,mouseup:t,click:t,dblclick:t,scope:n});if(Ext.isGecko)Ext.EventManager.on(i,"keypress",n.applyCommand,n);if(n.fixKeys)Ext.EventManager.on(i,"keydown",n.fixKeys,n);Ext.EventManager.on(window,"unload",n.beforeDestroy,n);i.editorInitialized=!0;n.initialized=!0;n.pushValue();n.setReadOnly(n.readOnly);n.fireEvent("initialize",n)}catch(e){}},beforeDestroy:function(){var t=this,r=t.monitorTask,n,i;if(r&&Ext.TaskManager.stop(r),t.rendered){try{if(n=t.getDoc(),n){Ext.EventManager.removeAll(Ext.fly(n));for(i in n)n.hasOwnProperty&&n.hasOwnProperty(i)&&delete n[i]}}catch(u){}Ext.destroyMembers(t,"toolbar","iframeEl","textareaEl")}t.callParent()},onRelayedEvent:function(n){var i=this.iframeEl,r=i.getXY(),t=n.getXY();n.xy=[r[0]+t[0],r[1]+t[1]];n.injectEvent(i);n.xy=t},onFirstFocus:function(){var n=this,t,i;if(n.activated=!0,n.disableItems(n.readOnly),Ext.isGecko){n.win.focus();t=n.win.getSelection();t.focusNode&&t.focusNode.nodeType===3||(i=t.getRangeAt(0),i.selectNodeContents(n.getEditorBody()),i.collapse(!0),n.deferFocus());try{n.execCmd("useCSS",!0);n.execCmd("styleWithCSS",!1)}catch(r){}}n.fireEvent("activate",n)},adjustFont:function(n){var i=n.getItemId()==="increasefontsize"?1:-1,t=this.getDoc().queryCommandValue("FontSize")||"2",u=Ext.isString(t)&&t.indexOf("px")!==-1,r;t=parseInt(t,10);u?(t=t<=10?1+i:t<=13?2+i:t<=16?3+i:t<=18?4+i:t<=24?5+i:6+i,t=Ext.Number.constrain(t,1,6)):(r=Ext.isSafari,r&&(i*=2),t=Math.max(1,t+i)+(r?"px":0));this.execCmd("FontSize",t)},onEditorEvent:function(){this.updateToolbar()},updateToolbar:function(){function u(){for(var n=0,r=arguments.length,i;n<r;n++)i=arguments[n],f[i].toggle(t.queryCommandState(i))}var n=this,f,t,i,r;if(!n.readOnly){if(!n.activated){n.onFirstFocus();return}f=n.getToolbar().items.map;t=n.getDoc();n.enableFont&&!Ext.isSafari2&&(i=(t.queryCommandValue("FontName")||n.defaultFont).toLowerCase(),r=n.fontSelect.dom,i!==r.value&&(r.value=i));n.enableFormat&&u("bold","italic","underline");n.enableAlignments&&u("justifyleft","justifycenter","justifyright");!Ext.isSafari2&&n.enableLists&&u("insertorderedlist","insertunorderedlist");Ext.menu.Manager.hideAll();n.syncValue()}},relayBtnCmd:function(n){this.relayCmd(n.getItemId())},relayCmd:function(n,t){Ext.defer(function(){var i=this;i.focus();i.execCmd(n,t);i.updateToolbar()},10,this)},execCmd:function(n,t){var i=this,r=i.getDoc(),u;r.execCommand(n,!1,t===u?null:t);i.syncValue()},applyCommand:function(n){if(n.ctrlKey){var r=this,i=n.getCharCode(),t;if(i>0){i=String.fromCharCode(i);switch(i){case"b":t="bold";break;case"i":t="italic";break;case"u":t="underline"}t&&(r.win.focus(),r.execCmd(t),r.deferFocus(),n.preventDefault())}}},insertAtCursor:function(n){var t=this,i;t.activated&&(t.win.focus(),Ext.isIE?(i=t.getDoc().selection.createRange(),i&&(i.pasteHTML(n),t.syncValue(),t.deferFocus())):(t.execCmd("InsertHTML",n),t.deferFocus()))},fixKeys:function(){return Ext.isIE?function(n){var i=this,u=n.getKey(),f=i.getDoc(),e=i.readOnly,t,r;u===n.TAB?(n.stopEvent(),e||(t=f.selection.createRange(),t&&(t.collapse(!0),t.pasteHTML("&#160;&#160;&#160;&#160;"),i.deferFocus()))):u===n.ENTER&&(e||(t=f.selection.createRange(),t&&(r=t.parentElement(),r&&r.tagName.toLowerCase()==="li"||(n.stopEvent(),t.pasteHTML("<br />"),t.collapse(!1),t.select()))))}:Ext.isOpera?function(n){var t=this;n.getKey()===n.TAB&&(n.stopEvent(),t.readOnly||(t.win.focus(),t.execCmd("InsertHTML","&#160;&#160;&#160;&#160;"),t.deferFocus()))}:Ext.isWebKit?function(n){var t=this,i=n.getKey(),r=t.readOnly;i===n.TAB?(n.stopEvent(),r||(t.execCmd("InsertText","\t"),t.deferFocus())):i===n.ENTER&&(n.stopEvent(),r||(t.execCmd("InsertHtml","<br /><br />"),t.deferFocus()))}:null}(),getToolbar:function(){return this.toolbar},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:Ext.baseCSSPrefix+"html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:Ext.baseCSSPrefix+"html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:Ext.baseCSSPrefix+"html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:Ext.baseCSSPrefix+"html-editor-tip"}}});Ext.define("Ext.form.field.Radio",{extend:"Ext.form.field.Checkbox",alias:["widget.radiofield","widget.radio"],alternateClassName:"Ext.form.Radio",requires:["Ext.form.RadioManager"],isRadio:!0,inputType:"radio",ariaRole:"radio",formId:null,getGroupValue:function(){var n=this.getManager().getChecked(this.name,this.getFormId());return n?n.inputValue:null},onBoxClick:function(){var n=this;n.disabled||n.readOnly||this.setValue(!0)},onRemoved:function(){this.callParent(arguments);this.formId=null},setValue:function(n){var t=this,i;return Ext.isBoolean(n)?t.callParent(arguments):(i=t.getManager().getWithValue(t.name,n,t.getFormId()).getAt(0),i&&i.setValue(!0)),t},getSubmitValue:function(){return this.checked?this.inputValue:null},getModelData:function(){return this.getSubmitData()},onChange:function(n){var t=this,i,f,r,u;if(t.callParent(arguments),n)for(u=t.getManager().getByName(t.name,t.getFormId()).items,f=u.length,i=0;i<f;i++)r=u[i],r!==t&&r.setValue(!1)},getManager:function(){return Ext.form.RadioManager}});Ext.define("Ext.picker.Time",{extend:"Ext.view.BoundList",alias:"widget.timepicker",requires:["Ext.data.Store","Ext.Date"],increment:15,format:"g:i A",displayField:"disp",initDate:[2008,0,1],componentCls:Ext.baseCSSPrefix+"timepicker",loadMask:!1,initComponent:function(){var n=this,i=Ext.Date,r=i.clearTime,t=n.initDate;n.absMin=r(new Date(t[0],t[1],t[2]));n.absMax=i.add(r(new Date(t[0],t[1],t[2])),"mi",1439);n.store=n.createStore();n.updateList();n.callParent()},setMinValue:function(n){this.minValue=n;this.updateList()},setMaxValue:function(n){this.maxValue=n;this.updateList()},normalizeDate:function(n){var t=this.initDate;return n.setFullYear(t[0],t[1],t[2]),n},updateList:function(){var n=this,t=n.normalizeDate(n.minValue||n.absMin),i=n.normalizeDate(n.maxValue||n.absMax);n.store.filterBy(function(n){var r=n.get("date");return r>=t&&r<=i})},createStore:function(){for(var t=this,i=Ext.Date,r=[],n=t.absMin,u=t.absMax;n<=u;)r.push({disp:i.dateFormat(n,t.format),date:n}),n=i.add(n,"mi",t.increment);return new Ext.data.Store({fields:["disp","date"],data:r})}});Ext.define("Ext.form.field.Time",{extend:"Ext.form.field.ComboBox",alias:"widget.timefield",requires:["Ext.form.field.Date","Ext.picker.Time","Ext.view.BoundListKeyNav","Ext.Date"],alternateClassName:["Ext.form.TimeField","Ext.form.Time"],triggerCls:Ext.baseCSSPrefix+"form-time-trigger",minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A",increment:15,pickerMaxHeight:300,selectOnTab:!0,snapToIncrement:!1,initDate:"1/1/2008",initDateFormat:"j/n/Y",ignoreSelection:0,queryMode:"local",displayField:"disp",valueField:"date",initComponent:function(){var n=this,t=n.minValue,i=n.maxValue;t&&n.setMinValue(t);i&&n.setMaxValue(i);n.displayTpl=new Ext.XTemplate('<tpl for=".">{[typeof values === "string" ? values : this.formatDate(values["'+n.displayField+'"])]}<tpl if="xindex < xcount">'+n.delimiter+"<\/tpl><\/tpl>",{formatDate:Ext.Function.bind(n.formatDate,n)});this.callParent()},transformOriginalValue:function(n){return Ext.isString(n)?this.rawToValue(n):n},isEqual:function(n,t){return Ext.Date.isEqual(n,t)},setMinValue:function(n){var t=this,i=t.picker;t.setLimit(n,!0);i&&i.setMinValue(t.minValue)},setMaxValue:function(n){var t=this,i=t.picker;t.setLimit(n,!1);i&&i.setMaxValue(t.maxValue)},setLimit:function(n,t){var u=this,i,r;Ext.isString(n)?i=u.parseDate(n):Ext.isDate(n)&&(i=n);i?(r=Ext.Date.clearTime(new Date(u.initDate)),r.setHours(i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds())):r=null;u[t?"minValue":"maxValue"]=r},rawToValue:function(n){return this.parseDate(n)||n||null},valueToRaw:function(n){return this.formatDate(this.parseDate(n))},getErrors:function(n){var t=this,u=Ext.String.format,i=t.callParent(arguments),f=t.minValue,e=t.maxValue,r;return(n=t.formatDate(n||t.processRawValue(t.getRawValue())),n===null||n.length<1)?i:(r=t.parseDate(n),!r)?(i.push(u(t.invalidText,n,Ext.Date.unescapeFormat(t.format))),i):(f&&r<f&&i.push(u(t.minText,t.formatDate(f))),e&&r>e&&i.push(u(t.maxText,t.formatDate(e))),i)},formatDate:function(){return Ext.form.field.Date.prototype.formatDate.apply(this,arguments)},parseDate:function(n){var i=this,t=n,f=i.altFormats,r=i.altFormatsArray,u=0,e;if(n&&!Ext.isDate(n)&&(t=i.safeParse(n,i.format),!t&&f))for(r=r||f.split("|"),e=r.length;u<e&&!t;++u)t=i.safeParse(n,r[u]);return t&&i.snapToIncrement&&(t=new Date(Ext.Number.snap(t.getTime(),i.increment*6e4))),t},safeParse:function(n,t){var f=this,i=Ext.Date,r,u=null;return i.formatContainsDateInfo(t)?u=i.parse(n,t):(r=i.parse(f.initDate+" "+n,f.initDateFormat+" "+t),r&&(u=r)),u},getSubmitValue:function(){var n=this,i=n.submitFormat||n.format,t=n.getValue();return t?Ext.Date.format(t,i):null},createPicker:function(){var n=this,t;return n.listConfig=Ext.apply({xtype:"timepicker",selModel:{mode:"SINGLE"},cls:undefined,minValue:n.minValue,maxValue:n.maxValue,increment:n.increment,format:n.format,maxHeight:n.pickerMaxHeight},n.listConfig),t=n.callParent(),n.store=t.store,t},onItemClick:function(n,t){var r=this,i=n.getSelectionModel().getSelection();i.length>0&&(i=i[0],i&&Ext.Date.isEqual(t.get("date"),i.get("date"))&&r.collapse())},onListSelectionChange:function(n,t){var i=this,r=t[0],u=r?r.get("date"):null;i.ignoreSelection||(i.skipSync=!0,i.setValue(u),i.skipSync=!1,i.fireEvent("select",i,u),i.picker.clearHighlight(),i.collapse(),i.inputEl.focus())},syncSelection:function(){var n=this,t=n.picker,o,u,i,f,r,s,e;if(t&&!n.skipSync){if(t.clearHighlight(),i=n.getValue(),u=t.getSelectionModel(),n.ignoreSelection++,i===null)u.deselectAll();else if(Ext.isDate(i)){for(f=t.store.data.items,s=f.length,r=0;r<s;r++)if(e=f[r],Ext.Date.isEqual(e.get("date"),i)){o=e;break}u.select(o)}n.ignoreSelection--}},postBlur:function(){var n=this;n.callParent(arguments);n.setRawValue(n.formatDate(n.getValue()))},setValue:function(){this.getPicker();this.callParent(arguments)},getValue:function(){return this.parseDate(this.callParent(arguments))}});Ext.define("Ext.grid.CellEditor",{extend:"Ext.Editor",constructor:function(n){n=Ext.apply({},n);n.field&&(n.field.monitorTab=!1);this.callParent([n])},onShow:function(){var n=this,t=n.boundEl.first(),i,r;t&&(i=t.dom.lastChild,i&&i.nodeType===3&&(r=n.cellTextNode=t.dom.lastChild,n.cellTextValue=r.nodeValue,r.nodeValue=" "));n.callParent(arguments)},onHide:function(){var n=this,t=n.boundEl.first();t&&n.cellTextNode&&(n.cellTextNode.nodeValue=n.cellTextValue,delete n.cellTextNode,delete n.cellTextValue);n.callParent(arguments)},afterRender:function(){var n=this,t=n.field;n.callParent(arguments);t.isXType("checkboxfield")&&t.mon(t.inputEl,{mousedown:n.onCheckBoxMouseDown,click:n.onCheckBoxClick,scope:n})},onCheckBoxMouseDown:function(){this.completeEdit=Ext.emptyFn},onCheckBoxClick:function(){delete this.completeEdit;this.field.focus(!1,10)},realign:function(n){var t=this,u=t.boundEl,i=u.first(),o=i.dom.childNodes,s=o.length,h=Ext.Array.clone(t.offsets),l=t.field.inputEl,f,e,c,r;t.isForTree&&(s>1||s===1&&o[0].nodeType!==3)?(f=i.last(),e=f.getOffsetsTo(i)[0]+f.getWidth(),c=i.getWidth(),r=c-e,t.editingPlugin.grid.columnLines||r--,h[0]+=e,t.addCls(Ext.baseCSSPrefix+"grid-editor-on-text-node")):r=u.getWidth()-1;n===!0&&t.field.setWidth(r);t.alignTo(u,t.alignment,h)},onEditorTab:function(n){var t=this.field;if(t.onEditorTab)t.onEditorTab(n)},alignment:"tl-tl",hideEl:!1,cls:Ext.baseCSSPrefix+"small-editor "+Ext.baseCSSPrefix+"grid-editor",shim:!1,shadow:!1});Ext.define("Ext.grid.ColumnComponentLayout",{extend:"Ext.layout.component.Auto",alias:"layout.columncomponent",type:"columncomponent",setWidthInDom:!0,getContentHeight:function(n){return this.owner.isGroupHeader?n.getProp("contentHeight"):this.callParent(arguments)},calculateOwnerHeightFromContentHeight:function(){var n=this.callParent(arguments);return this.owner.isGroupHeader&&(n+=this.owner.titleEl.dom.offsetHeight),n},getContentWidth:function(n){return this.owner.isGroupHeader?n.getProp("contentWidth"):this.callParent(arguments)},calculateOwnerWidthFromContentWidth:function(n,t){return t+n.getPaddingInfo().width}});Ext.define("Ext.grid.ColumnLayout",{extend:"Ext.layout.container.HBox",alias:"layout.gridcolumn",type:"gridcolumn",reserveOffset:!1,firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",initLayout:function(){this.grid=this.owner.up("[scrollerOwner]");this.callParent()},beginLayout:function(n){var t=this,f=t.grid,i=f.view,e=0,r=t.getVisibleItems(),o=r.length,u;for(n.gridContext=n.context.getCmp(t.grid),f.lockable&&(i=t.owner.up("tablepanel")===i.normalGrid?i.normalGrid.getView():null),t.callParent(arguments);e<o;e++)u=r[e],u.removeCls([t.firstHeaderCls,t.lastHeaderCls]),u.el.setStyle({height:"auto"}),u.titleEl.setStyle({height:"auto",paddingTop:""});o>0&&(r[0].addCls(t.firstHeaderCls),r[o-1].addCls(t.lastHeaderCls));!t.owner.isHeader&&Ext.getScrollbarSize().width&&!f.collapsed&&i&&i.table.dom&&(i.autoScroll||i.overflowY)&&(n.viewContext=n.context.getCmp(i))},roundFlex:function(n){return Math.floor(n)},calculate:function(n){var u=this,t=n.viewContext,i,r;u.callParent(arguments);n.state.parallelDone&&n.setProp("columnWidthsDone",!0);!t||n.state.overflowAdjust.width||n.gridContext.heightModel.shrinkWrap||(i=t.tableContext.getProp("height"),r=t.getProp("height"),isNaN(i+r)?u.done=!1:i>=r&&n.gridContext.invalidate({after:function(){n.state.overflowAdjust={width:Ext.getScrollbarSize().width,height:0}}}))},completeLayout:function(n){var r=this,e=r.owner,h=n.state,o=!1,c=r.sizeModels.calculated,u,s,t,f,i;if(r.callParent(arguments),!h.flexesCalculated&&e.forceFit&&!e.isHeader){for(u=n.childItems,s=u.length,t=0;t<s;t++)f=u[t],i=f.target,i.width&&(i.flex=n.childItems[t].flex=i.width,delete i.width,f.widthModel=c,o=!0);o&&(r.cacheFlexes(n),n.invalidate({state:{flexesCalculated:!0}}))}},finalizeLayout:function(){var r=this,n=0,t,u,i,f=r.owner,e=f.titleEl;for(t=r.getVisibleItems(),u=t.length,i=f.el.getViewSize().height,e&&(i-=e.getHeight());n<u;n++)t[n].setPadding(i)},publishInnerCtSize:function(n){var t=this,r=n.state.boxPlan.targetSize,u=n.peek("contentWidth"),i;return u==null||t.owner.isHeader||(r.width=u,i=t.owner.ownerCt.view,(i.autoScroll||i.overflowY)&&(r.width+=Ext.getScrollbarSize().width)),t.callParent(arguments)}});Ext.define("Ext.grid.LockingView",{mixins:{observable:"Ext.util.Observable"},eventRelayRe:/^(beforeitem|beforecontainer|item|container|cell)/,constructor:function(n){var t=this,u=[],o=t.eventRelayRe,i=n.locked.getView(),f=n.normal.getView(),e,r;Ext.apply(t,{lockedView:i,normalView:f,lockedGrid:n.locked,normalGrid:n.normal,panel:n.panel});t.mixins.observable.constructor.call(t,n);e=i.events;for(r in e)e.hasOwnProperty(r)&&o.test(r)&&u.push(r);t.relayEvents(i,u);t.relayEvents(f,u);f.on({scope:t,itemmouseleave:t.onItemMouseLeave,itemmouseenter:t.onItemMouseEnter});i.on({scope:t,itemmouseleave:t.onItemMouseLeave,itemmouseenter:t.onItemMouseEnter})},getGridColumns:function(){var n=this.lockedGrid.headerCt.getGridColumns();return n.concat(this.normalGrid.headerCt.getGridColumns())},getEl:function(n){return this.getViewForColumn(n).getEl()},getViewForColumn:function(n){var t=this.lockedView,i;return t.headerCt.cascade(function(t){if(t===n)return i=!0,!1}),i?t:this.normalView},onItemMouseEnter:function(n,t){var r=this,u=r.lockedView,i=r.normalView,f;n.trackOver&&(n!==u&&(i=u),f=i.getNode(t),i.highlightItem(f))},onItemMouseLeave:function(n){var t=this,i=t.lockedView,r=t.normalView;n.trackOver&&(n!==i&&(r=i),r.clearHighlight())},relayFn:function(n,t){t=t||[];var i=this.lockedView;i[n].apply(i,t||[]);i=this.normalView;i[n].apply(i,t||[])},getSelectionModel:function(){return this.panel.getSelectionModel()},getStore:function(){return this.panel.store},getNode:function(n){return this.normalView.getNode(n)},getCell:function(n,t){var r=this.getViewForColumn(t),i;return i=r.getNode(n),Ext.fly(i).down(t.getCellSelector())},getRecord:function(n){var t=this.lockedView.getRecord(n);return n||(t=this.normalView.getRecord(n)),t},addElListener:function(){this.relayFn("addElListener",arguments)},refreshNode:function(){this.relayFn("refreshNode",arguments)},refresh:function(){this.relayFn("refresh",arguments)},bindStore:function(){this.relayFn("bindStore",arguments)},addRowCls:function(){this.relayFn("addRowCls",arguments)},removeRowCls:function(){this.relayFn("removeRowCls",arguments)}});Ext.define("Ext.view.TableLayout",{extend:"Ext.layout.component.Auto",alias:["layout.tableview"],type:"tableview",beginLayout:function(n){var t=this;t.callParent(arguments);t.owner.table.dom&&(n.tableContext=n.getEl(t.owner.table),n.headerContext=n.context.getCmp(t.headerCt))},calculate:function(n){var t=this;t.callParent(arguments);n.tableContext&&(n.state.columnWidthsSynced?n.hasProp("columnWidthsFlushed")?n.tableContext.setHeight(n.tableContext.el.dom.offsetHeight,!1):t.done=!1:(n.headerContext.hasProp("columnWidthsDone")&&(n.context.queueFlush(t),n.state.columnWidthsSynced=!0),t.done=!1))},measureContentHeight:function(n){if(!n.headerContext||n.hasProp("columnWidthsFlushed"))return this.callParent(arguments)},flush:function(){var n=this,u=n.ownerContext.context,i=n.headerCt.getGridColumns(),t=0,o=i.length,f=n.owner.el,e=0,r;for(u.currentLayout=n,t=0;t<o;t++)r=i[t].hidden?0:u.getCmp(i[t]).props.width,e+=r,f.select(n.getColumnSelector(i[t])).setWidth(r);f.select("table."+Ext.baseCSSPrefix+"grid-table-resizer").setWidth(e);n.ownerContext.setProp("columnWidthsFlushed",!0)},finishedLayout:function(){var t=this,n;t.callParent(arguments);Ext.isGecko&&(n=t.headerCt.getGridColumns()[0],n&&(n=t.owner.el.down(t.getColumnSelector(n)),n&&(n.setStyle("display","none"),n.dom.scrollWidth,n.setStyle("display",""))))},getColumnSelector:function(n){return"th."+Ext.baseCSSPrefix+"grid-col-resizer-"+n.id}});Ext.define("Ext.view.Table",{extend:"Ext.view.View",alias:"widget.tableview",uses:["Ext.view.TableLayout","Ext.view.TableChunker","Ext.util.DelayedTask","Ext.util.MixedCollection"],componentLayout:"tableview",baseCls:Ext.baseCSSPrefix+"grid-view",itemSelector:"tr."+Ext.baseCSSPrefix+"grid-row",cellSelector:"td."+Ext.baseCSSPrefix+"grid-cell",rowSelector:"tr."+Ext.baseCSSPrefix+"grid-row",firstCls:Ext.baseCSSPrefix+"grid-cell-first",lastCls:Ext.baseCSSPrefix+"grid-cell-last",headerRowSelector:"tr."+Ext.baseCSSPrefix+"grid-header-row",selectedItemCls:Ext.baseCSSPrefix+"grid-row-selected",selectedCellCls:Ext.baseCSSPrefix+"grid-cell-selected",focusedItemCls:Ext.baseCSSPrefix+"grid-row-focused",overItemCls:Ext.baseCSSPrefix+"grid-row-over",altRowCls:Ext.baseCSSPrefix+"grid-row-alt",rowClsRe:new RegExp("(?:^|\\s*)"+Ext.baseCSSPrefix+"grid-row-(first|last|alt)(?:\\s+|$)","g"),cellRe:new RegExp(Ext.baseCSSPrefix+"grid-cell-([^\\s]+) ",""),trackOver:!0,getRowClass:null,stripeRows:!0,markDirty:!0,initialTpl:"<div><\/div>",initComponent:function(){var n=this,t=n.scroll;n.table=new Ext.dom.Element.Fly;n.table.id=n.id+"gridTable";n.autoScroll=undefined;t===!0||t==="both"?n.autoScroll=!0:t==="horizontal"?n.overflowX="auto":t==="vertical"&&(n.overflowY="auto");n.selModel.view=n;n.headerCt.view=n;n.headerCt.markDirty=n.markDirty;n.initFeatures(n.grid);delete n.grid;n.tpl=n.getTpl("initialTpl");n.callParent()},moveColumn:function(n,t,i){var u=this,e=i>1?document.createDocumentFragment():undefined,s=t,l=u.getGridColumns().length,h=l-1,y=(u.firstCls||u.lastCls)&&(t===0||t==l||n===0||n==h),f,o,a,c,r,v;if(u.rendered){for(v=u.el.query(u.headerRowSelector),a=u.el.query(u.rowSelector),t>n&&e&&(s-=i),f=0,c=v.length;f<c;++f)if(r=v[f],e){for(o=0;o<i;o++)e.appendChild(r.cells[n]);r.insertBefore(e,r.cells[s]||null)}else r.insertBefore(r.cells[n],r.cells[s]||null);for(f=0,c=a.length;f<c;f++)if(r=a[f],y&&(n===0?(Ext.fly(r.cells[0]).removeCls(u.firstCls),Ext.fly(r.cells[1]).addCls(u.firstCls)):n===h&&(Ext.fly(r.cells[h]).removeCls(u.lastCls),Ext.fly(r.cells[h-1]).addCls(u.lastCls)),t===0?(Ext.fly(r.cells[0]).removeCls(u.firstCls),Ext.fly(r.cells[n]).addCls(u.firstCls)):t===l&&(Ext.fly(r.cells[h]).removeCls(u.lastCls),Ext.fly(r.cells[n]).addCls(u.lastCls))),e){for(o=0;o<i;o++)e.appendChild(r.cells[n]);r.insertBefore(e,r.cells[s]||null)}else r.insertBefore(r.cells[n],r.cells[s]||null);u.setNewTemplate()}},scrollToTop:Ext.emptyFn,addElListener:function(n,t,i){this.mon(this,n,t,i,{element:"el"})},getGridColumns:function(){return this.headerCt.getGridColumns()},getHeaderAtIndex:function(n){return this.headerCt.getHeaderAtIndex(n)},getCell:function(n,t){var i=this.getNode(n);return Ext.fly(i).down(t.getCellSelector())},getFeature:function(n){var t=this.featuresMC;if(t)return t.get(n)},initFeatures:function(n){var t=this,r,u,i,f;for(t.featuresMC=new Ext.util.MixedCollection,u=t.features=t.constructFeatures(),f=u?u.length:0,r=0;r<f;r++)i=u[r],i.view=t,i.grid=n,t.featuresMC.add(i),i.init()},constructFeatures:function(){var f=this,i=f.features,n,r,t=0,u;if(i)for(r=[],u=i.length;t<u;t++)n=i[t],n.isFeature||(n=Ext.create("feature."+n.ftype,n)),r[t]=n;return r},attachEventsForFeatures:function(){for(var t=this.features,i=t.length,n=0;n<i;n++)t[n].isFeature&&t[n].attachEvents()},afterRender:function(){var n=this;n.callParent();n.enableTextSelection||n.el.unselectable();n.attachEventsForFeatures()},onViewScroll:function(n,t){this.callParent(arguments);this.fireEvent("bodyscroll",n,t)},prepareData:function(n,t,i){for(var r=this,u=r.headerCt.prepareData(n,t,i,r,r.ownerCt),o=r.features,s=o.length,f=0,e;f<s;f++)e=o[f],e.isFeature&&Ext.apply(u,e.getAdditionalData(n,t,i,u,r));return u},collectData:function(n,t){var i=this,f=i.callParent(arguments),y=i.headerCt,h=y.getFullWidth(),c=i.features,p=c.length,e={rows:f,fullWidth:h},o=0,r,u=0,l,a,s,v;if(l=f.length,i.getRowClass)for(;u<l;u++)a={},s=f[u],v=s.rowCls||"",s.rowCls=this.getRowClass(n[u],u,a,i.store)+" "+v;for(;o<p;o++)if(r=c[o],r.isFeature&&r.collectData&&!r.disabled){e=r.collectData(n,f,t,h,e);break}return e},refreshSize:function(){var n=this,t;n.table.attach(n.el.child("table",!0));n.hasLoadingHeight||(t=n.up("tablepanel"),Ext.suspendLayouts(),n.callParent(),t&&Ext.getScrollbarSize().width&&(n.autoScroll||n.overflowY)&&t.updateLayout(),Ext.resumeLayouts(!0))},setNewTemplate:function(){var n=this,t=n.headerCt.getColumnsForTpl(!0);n.tpl=n.getTableChunker().getTableTpl({rowCount:n.store.getCount(),columns:t,features:n.features,enableTextSelection:n.enableTextSelection})},getTableChunker:function(){return this.chunker||Ext.view.TableChunker},addRowCls:function(n,t){var i=this.getNode(n);i&&Ext.fly(i).addCls(t)},removeRowCls:function(n,t){var i=this.getNode(n);i&&Ext.fly(i).removeCls(t)},onRowSelect:function(n){this.addRowCls(n,this.selectedItemCls)},onRowDeselect:function(n){var t=this;t.removeRowCls(n,t.selectedItemCls);t.removeRowCls(n,t.focusedItemCls)},onCellSelect:function(n){var t=this.getCellByPosition(n,!0);t&&Ext.fly(t).addCls(this.selectedCellCls)},onCellDeselect:function(n){var t=this.getCellByPosition(n,!0);t&&Ext.fly(t).removeCls(this.selectedCellCls)},onCellFocus:function(n){this.focusCell(n)},getCellByPosition:function(n,t){if(n){var i=this.getNode(n.row),r=this.headerCt.getHeaderAtIndex(n.column);if(r&&i)return Ext.fly(i).down(r.getCellSelector(),t)}return!1},onRowFocus:function(n,t,i){var r=this;t?(r.addRowCls(n,r.focusedItemCls),i||r.focusRow(n)):r.removeRowCls(n,r.focusedItemCls)},focusRow:function(n){var t=this,r=t.getNode(n),e=t.el,u=0,h=t.ownerCt,i,f,o,s;r&&e&&(f=e.getY(),o=f+e.dom.clientHeight,i=Ext.fly(r).getRegion(),i.top<f?u=i.top-f:i.bottom>o&&(u=i.bottom-o),s=t.getRecord(r),n=t.store.indexOf(s),u&&h.scrollByDeltaY(u),t.fireEvent("rowfocus",s,r,n))},focusCell:function(n){var r=this,o=r.getCellByPosition(n),u=r.el,f=0,e=0,t=u.getRegion(),s=r.ownerCt,i,h;t.bottom=t.top+u.dom.clientHeight;t.right=t.left+u.dom.clientWidth;o&&(i=o.getRegion(),i.top<t.top?f=i.top-t.top:i.bottom>t.bottom&&(f=i.bottom-t.bottom),i.left<t.left?e=i.left-t.left:i.right>t.right&&(e=i.right-t.right),f&&s.scrollByDeltaY(f),e&&s.scrollByDeltaX(e),u.focus(),r.fireEvent("cellfocus",h,o,n))},scrollByDelta:function(n,t){t=t||"scrollTop";var i=this.el.dom;i[t]=i[t]+=n},onUpdate:function(n,t,i,r){var f=this,o,s,c,b,v,e,l,h,a,k,u,y,p,d,w,g=f.editingPlugin&&f.editingPlugin.editing;if(f.viewReady&&(o=f.store.indexOf(t),y=f.headerCt.getGridColumns(),p=f.overItemCls,y.length&&o>-1)){if(s=f.bufferRender([t],o)[0],e=f.all.item(o),e){if(l=e.dom,d=e.hasCls(p),l.mergeAttributes)l.mergeAttributes(s,!0);else for(c=s.attributes,b=c.length,u=0;u<b;u++)v=c[u].name,v!=="id"&&l.setAttribute(v,c[u].value);for(d&&e.addCls(p),h=e.query(f.cellSelector),a=Ext.fly(s).query(f.cellSelector),k=a.length,w=h[0].parentNode,u=0;u<k;u++)f.shouldUpdateCell(y[u],r)&&(g?Ext.fly(h[u]).syncContent(a[u]):(w.insertBefore(a[u],h[u]),w.removeChild(h[u])))}f.fireEvent("itemupdate",t,o,s)}},shouldUpdateCell:function(n,t){return n.hasCustomRenderer?!0:!t||Ext.Array.contains(t,n.dataIndex)},refresh:function(){var n=this;n.setNewTemplate();n.callParent(arguments);n.doStripeRows(0);n.headerCt.setSortState()},clearViewEl:function(){this.callParent();delete this.table.dom},processItemEvent:function(n,t,i,r){var f=this,u=r.getTarget(f.cellSelector,t),o=u?u.cellIndex:-1,s=f.statics().EventMap,h=f.getSelectionModel(),e=r.type,c;return(e=="keydown"&&!u&&h.getCurrentPosition&&(u=f.getCellByPosition(h.getCurrentPosition()),u&&(u=u.dom,o=u.cellIndex)),c=f.fireEvent("uievent",e,f,u,i,o,r,n,t),c===!1||f.callParent(arguments)===!1)?!1:e=="mouseover"||e=="mouseout"?!0:u?!(f["onBeforeCell"+s[e]](u,o,n,t,i,r)===!1||f.fireEvent("beforecell"+e,f,u,o,n,t,i,r)===!1||f["onCell"+s[e]](u,o,n,t,i,r)===!1||f.fireEvent("cell"+e,f,u,o,n,t,i,r)===!1):!0},processSpecialEvent:function(n){var t=this,a=t.statics().EventMap,c=t.features,l=c.length,r=n.type,u,i,o,f,s,h,e=t.ownerCt;if(t.callParent(arguments),r!="mouseover"&&r!="mouseout"){for(u=0;u<l;u++)if(i=c[u],i.hasFeatureEvent&&(f=n.getTarget(i.eventSelector,t.getTargetEl()),f&&(o=i.eventPrefix,s=i.getFireEventArgs("before"+o+r,t,f,n),h=i.getFireEventArgs(o+r,t,f,n),t.fireEvent.apply(t,s)===!1||e.fireEvent.apply(e,s)===!1||t.fireEvent.apply(t,h)===!1||e.fireEvent.apply(e,h)===!1)))return!1;return!0}},onCellMouseDown:Ext.emptyFn,onCellMouseUp:Ext.emptyFn,onCellClick:Ext.emptyFn,onCellDblClick:Ext.emptyFn,onCellContextMenu:Ext.emptyFn,onCellKeyDown:Ext.emptyFn,onBeforeCellMouseDown:Ext.emptyFn,onBeforeCellMouseUp:Ext.emptyFn,onBeforeCellClick:Ext.emptyFn,onBeforeCellDblClick:Ext.emptyFn,onBeforeCellContextMenu:Ext.emptyFn,onBeforeCellKeyDown:Ext.emptyFn,expandToFit:function(n){if(n){var t=this.getMaxContentWidth(n);delete n.flex;n.setWidth(t)}},getMaxContentWidth:function(n){for(var f=n.getCellInnerSelector(),u=this.el.query(f),t=0,e=u.length,i=n.el.dom.scrollWidth,r;t<e;t++)r=u[t].scrollWidth,r>i&&(i=r);return i},getPositionByEvent:function(n){var t=this,i=n.getTarget(t.cellSelector),r=n.getTarget(t.itemSelector),u=t.getRecord(r),f=t.getHeaderByCell(i);return t.getPosition(u,f)},getHeaderByCell:function(n){if(n){var t=n.className.match(this.cellRe);if(t&&t[1])return Ext.getCmp(t[1])}return!1},walkCells:function(n,t,i,r,u,f){if(n){var s=this,o=n.row,h=n.column,l=s.store.getCount(),a=s.getFirstVisibleColumnIndex(),v=s.getLastVisibleColumnIndex(),e={row:o,column:h},c=s.headerCt.getHeaderAtIndex(h);if(!c||c.hidden)return!1;i=i||{};t=t.toLowerCase();switch(t){case"right":if(h===v){if(r||o===l-1)return!1;i.ctrlKey||(e.row=o+1,e.column=a)}else e.column=i.ctrlKey?v:h+s.getRightGap(c);break;case"left":if(h===a){if(r||o===0)return!1;i.ctrlKey||(e.row=o-1,e.column=v)}else e.column=i.ctrlKey?a:h+s.getLeftGap(c);break;case"up":if(o===0)return!1;e.row=i.ctrlKey?0:o-1;break;case"down":if(o===l-1)return!1;e.row=i.ctrlKey?l-1:o+1}return u&&u.call(f||window,e)!==!0?!1:e}},getFirstVisibleColumnIndex:function(){var n=this.getHeaderCt().getVisibleGridColumns()[0];return n?n.getIndex():-1},getLastVisibleColumnIndex:function(){var n=this.getHeaderCt().getVisibleGridColumns(),t=n[n.length-1];return t.getIndex()},getHeaderCt:function(){return this.headerCt},getPosition:function(n,t){var i=this,r=i.store,u=i.headerCt.getGridColumns();return{row:r.indexOf(n),column:Ext.Array.indexOf(u,t)}},getRightGap:function(n){for(var f=this.getHeaderCt(),i=f.getGridColumns(),r=Ext.Array.indexOf(i,n),t=r+1,u;t<=i.length;t++)if(!i[t].hidden){u=t;break}return u-r},beforeDestroy:function(){this.rendered&&this.el.removeAllListeners();this.callParent(arguments)},getLeftGap:function(n){for(var f=this.getHeaderCt(),i=f.getGridColumns(),r=Ext.Array.indexOf(i,n),t=r-1,u;t>=0;t--)if(!i[t].hidden){u=t;break}return u-r},onAdd:function(n,t,i){this.callParent(arguments);this.doStripeRows(i)},onRemove:function(n,t,i){this.callParent(arguments);this.doStripeRows(i)},doStripeRows:function(n,t){var i=this,f,e,r,u;if(i.rendered&&i.stripeRows)for(f=i.getNodes(n,t),r=0,e=f.length;r<e;r++)u=f[r],u.className=u.className.replace(i.rowClsRe," "),n++,n%2==0&&(u.className+=" "+i.altRowCls)}});Ext.define("Ext.grid.Lockable",{requires:["Ext.grid.LockingView","Ext.view.Table"],syncRowHeight:!0,headerCounter:0,scrollDelta:40,unlockText:"Unlock",lockText:"Lock",determineXTypeToCreate:function(){var u=this,t,n,i,f,r;return u.subGridXType?t=u.subGridXType:(n=this.getXTypes().split("/"),i=n.length,f=n[i-1],r=n[i-2],t=r!=="tablepanel"?r:f),t},injectLockable:function(){this.lockable=!0;this.hasView=!0;var n=this,a=Ext.getScrollbarSize().width===0,v=n.store=Ext.StoreManager.lookup(n.store),y=n.determineXTypeToCreate(),c=n.getSelectionModel(),f,o,p,w,i,r,t,b,s,e,h,l,k,u;for(f=n.constructFeatures(),n.cloneFeatures(),o=n.constructFeatures(),p=n.constructPlugins(),n.clonePlugins(),w=n.constructPlugins(),delete n.features,delete n.plugins,t=0,b=f?f.length:0;t<b;t++)f[t].lockingPartner=o[t],o[t].lockingPartner=f[t];for(i=Ext.apply({xtype:y,store:v,scrollerOwner:!1,enableAnimations:!1,scroll:a?"vertical":!1,selModel:c,border:!1,cls:Ext.baseCSSPrefix+"grid-inner-locked",isLayoutRoot:function(){return!1},features:f,plugins:p},n.lockedGridConfig),r=Ext.apply({xtype:y,store:v,scrollerOwner:!1,enableAnimations:!1,selModel:c,border:!1,isLayoutRoot:function(){return!1},features:o,plugins:w},n.normalGridConfig),n.addCls(Ext.baseCSSPrefix+"grid-locked"),Ext.copyTo(r,n,n.bothCfgCopy),Ext.copyTo(i,n,n.bothCfgCopy),Ext.copyTo(r,n,n.normalCfgCopy),Ext.copyTo(i,n,n.lockedCfgCopy),t=0;t<n.normalCfgCopy.length;t++)delete n[n.normalCfgCopy[t]];for(t=0;t<n.lockedCfgCopy.length;t++)delete n[n.lockedCfgCopy[t]];n.addEvents("lockcolumn","unlockcolumn");n.addStateEvents(["lockcolumn","unlockcolumn"]);n.lockedHeights=[];n.normalHeights=[];s=n.processColumns(n.columns);i.width=s.lockedWidth+Ext.num(c.headerWidth,0);i.columns=s.locked;r.columns=s.normal;r.flex=1;i.viewConfig=n.lockedViewConfig||{};i.viewConfig.loadingUseMsg=!1;r.viewConfig=n.normalViewConfig||{};Ext.applyIf(i.viewConfig,n.viewConfig);Ext.applyIf(r.viewConfig,n.viewConfig);n.lockedGrid=Ext.ComponentManager.create(i);l=n.lockedGrid.getView();r.viewConfig.lockingPartner=l;n.normalGrid=Ext.ComponentManager.create(r);k=n.normalGrid.getView();n.view=new Ext.grid.LockingView({locked:n.lockedGrid,normal:n.normalGrid,panel:n});u={scroll:{fn:n.onLockedViewScroll,element:"el",scope:n}};a||(u.mousewheel={fn:n.onLockedViewMouseWheel,element:"el",scope:n});n.syncRowHeight&&(u.refresh=n.onLockedViewRefresh,u.itemupdate=n.onLockedViewItemUpdate,u.scope=n);l.on(u);u={scroll:{fn:n.onNormalViewScroll,element:"el",scope:n},refresh:n.syncRowHeight?n.onNormalViewRefresh:n.updateSpacer,scope:n};k.on(u);e=n.lockedGrid.headerCt;h=n.normalGrid.headerCt;e.lockedCt=!0;e.lockableInjected=!0;h.lockableInjected=!0;e.on({columnshow:n.onLockedHeaderShow,columnhide:n.onLockedHeaderHide,columnmove:n.onLockedHeaderMove,sortchange:n.onLockedHeaderSortChange,columnresize:n.onLockedHeaderResize,scope:n});h.on({columnmove:n.onNormalHeaderMove,sortchange:n.onNormalHeaderSortChange,scope:n});n.modifyHeaderCt();n.items=[n.lockedGrid,n.normalGrid];n.relayHeaderCtEvents(e);n.relayHeaderCtEvents(h);n.layout={type:"hbox",align:"stretch"}},processColumns:function(n){for(var i=0,e=n.length,r=0,u=[],f=[],t;i<e;++i)t=n[i],t.isComponent||(t=Ext.apply({},n[i])),t.processed=!0,t.locked?(t.hidden||(r+=t.width||Ext.grid.header.Container.prototype.defaultWidth),u.push(t)):f.push(t),t.headerId||(t.headerId=(t.initialConfig||t).id||"L"+ ++this.headerCounter);return{lockedWidth:r,locked:{items:u,itemId:"lockedHeaderCt",stretchMaxPartner:"^^>>#normalHeaderCt"},normal:{items:f,itemId:"normalHeaderCt",stretchMaxPartner:"^^>>#lockedHeaderCt"}}},onLockedViewMouseWheel:function(n){var i=this,e=-i.scrollDelta,r=e*n.getWheelDeltas().y,t=i.lockedGrid.getView().el.dom,u,f;t&&(u=t.scrollTop!==t.scrollHeight-t.clientHeight,f=t.scrollTop!==0);(r<0&&f||r>0&&u)&&(n.stopEvent(),i.scrolling=!0,t.scrollTop+=r,i.normalGrid.getView().el.dom.scrollTop=t.scrollTop,i.scrolling=!1,i.onNormalViewScroll())},onLockedViewScroll:function(){var n=this,t=n.lockedGrid.getView(),i=n.normalGrid.getView(),u,r;n.scrolling||(n.scrolling=!0,i.el.dom.scrollTop=t.el.dom.scrollTop,n.store.buffered&&(r=t.el.child("table",!0),u=i.el.child("table",!0),r.style.position="absolute"),n.scrolling=!1)},onNormalViewScroll:function(){var n=this,i=n.lockedGrid.getView(),r=n.normalGrid.getView(),u,t;n.scrolling||(n.scrolling=!0,i.el.dom.scrollTop=r.el.dom.scrollTop,n.store.buffered&&(t=i.el.child("table",!0),u=r.el.child("table",!0),t.style.position="absolute",t.style.top=u.style.top),n.scrolling=!1)},onLockedHeaderMove:function(){this.syncRowHeight&&this.onNormalViewRefresh()},onNormalHeaderMove:function(){this.syncRowHeight&&this.onLockedViewRefresh()},updateSpacer:function(){var n=this,t=n.lockedGrid.getView().el,i=n.normalGrid.getView().el.dom,r=t.dom.id+"-spacer",u=i.offsetHeight-i.clientHeight+"px";n.spacerEl=Ext.getDom(r);n.spacerEl?n.spacerEl.style.height=u:Ext.core.DomHelper.append(t,{id:r,style:"height: "+u})},onLockedViewRefresh:function(){if(this.normalGrid.headerCt.getGridColumns().length){var n=this,i=n.lockedGrid.getView(),u=i.el,r=u.query(i.getItemSelector()),f=r.length,t=0;for(n.lockedHeights=[];t<f;t++)n.lockedHeights[t]=r[t].offsetHeight;n.syncRowHeights();n.updateSpacer()}},onNormalViewRefresh:function(){if(this.lockedGrid.headerCt.getGridColumns().length){var n=this,i=n.normalGrid.getView(),u=i.el,r=u.query(i.getItemSelector()),f=r.length,t=0;for(n.normalHeights=[];t<f;t++)n.normalHeights[t]=r[t].offsetHeight;n.syncRowHeights();n.updateSpacer()}},onLockedViewItemUpdate:function(n,t,i){this.normalGrid.headerCt.getGridColumns().length&&(this.lockedHeights[t]=i.offsetHeight,this.syncRowHeights())},onNormalViewItemUpdate:function(n,t,i){this.lockedGrid.headerCt.getGridColumns().length&&(this.normalHeights[t]=i.offsetHeight,this.syncRowHeights())},syncRowHeights:function(){var t=this,i=t.lockedHeights,r=t.normalHeights,h=i.length,n=0,f,u,o,s,e;if(i.length&&r.length){for(f=t.lockedGrid.getView(),u=t.normalGrid.getView(),o=f.el.query(f.getItemSelector()),s=u.el.query(u.getItemSelector());n<h;n++)isNaN(i[n])||isNaN(r[n])||(i[n]>r[n]?Ext.fly(s[n]).setHeight(i[n]):i[n]<r[n]&&Ext.fly(o[n]).setHeight(r[n]));e=u.el.dom.scrollTop;u.el.dom.scrollTop=e;f.el.dom.scrollTop=e;t.lockedHeights=[];t.normalHeights=[]}},modifyHeaderCt:function(){var n=this;n.lockedGrid.headerCt.getMenuItems=n.getMenuItems(n.lockedGrid.headerCt.getMenuItems,!0);n.normalGrid.headerCt.getMenuItems=n.getMenuItems(n.normalGrid.headerCt.getMenuItems,!1)},onUnlockMenuClick:function(){this.unlock()},onLockMenuClick:function(){this.lock()},getMenuItems:function(n,t){var i=this,r=i.unlockText,u=i.lockText,f=Ext.baseCSSPrefix+"hmenu-unlock",e=Ext.baseCSSPrefix+"hmenu-lock",o=Ext.Function.bind(i.onUnlockMenuClick,i),s=Ext.Function.bind(i.onLockMenuClick,i);return function(){var i=n.call(this);return i.push("-",{cls:f,text:r,handler:o,disabled:!t}),i.push({cls:e,text:u,handler:s,disabled:t}),i}},lock:function(n,t){var i=this,u=i.normalGrid,f=i.lockedGrid,e=u.headerCt,r=f.headerCt;n=n||e.getMenu().activeHeader;n.flex&&(n.width=n.getWidth(),delete n.flex);Ext.suspendLayouts();n.ownerCt.remove(n,!1);n.locked=!0;Ext.isDefined(t)?r.insert(t,n):r.add(n);i.syncLockedSection();Ext.resumeLayouts(!0);i.updateSpacer();i.fireEvent("lockcolumn",i,n)},syncLockedSection:function(){var n=this;n.syncLockedWidth();n.lockedGrid.getView().refresh();n.normalGrid.getView().refresh()},syncLockedWidth:function(){var i=this,n=i.lockedGrid,t=n.headerCt.getFullWidth(!0);return Ext.suspendLayouts(),t>0?(n.setWidth(t),n.show()):n.hide(),Ext.resumeLayouts(!0),t>0},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(n,t,i){i&&this.normalGrid.headerCt.clearOtherSortStates(null,!0)},onNormalHeaderSortChange:function(n,t,i){i&&this.lockedGrid.headerCt.clearOtherSortStates(null,!0)},unlock:function(n,t){var i=this,u=i.normalGrid,f=i.lockedGrid,e=u.headerCt,o=f.headerCt,r=!1;Ext.isDefined(t)||(t=0);n=n||o.getMenu().activeHeader;Ext.suspendLayouts();n.ownerCt.remove(n,!1);i.syncLockedWidth()&&(r=!0);n.locked=!1;e.insert(t,n);i.normalGrid.getView().refresh();r&&i.lockedGrid.getView().refresh();Ext.resumeLayouts(!0);i.fireEvent("unlockcolumn",i,n)},applyColumnsState:function(n){for(var h=this,c=h.lockedGrid,i=c.headerCt,r=h.normalGrid.headerCt,a=Ext.Array.toMap(i.items,"headerId"),v=Ext.Array.toMap(r.items,"headerId"),e=[],o=[],l=1,y=n.length,t,s,f,u=0;u<y;u++)f=n[u],s=a[f.id],t=s||v[f.id],t&&(t.applyColumnState&&t.applyColumnState(f),t.locked===undefined&&(t.locked=!!s),t.locked?(e.push(t),t.hidden||typeof t.width!="number"||(l+=t.width)):o.push(t));e.length+o.length==i.items.getCount()+r.items.getCount()&&(i.removeAll(!1),r.removeAll(!1),i.add(e),r.add(o),c.setWidth(l))},getColumnsState:function(){var n=this,t=n.lockedGrid.headerCt.getColumnsState(),i=n.normalGrid.headerCt.getColumnsState();return t.concat(i)},reconfigureLockable:function(n,t){var r=this,i=r.lockedGrid,u=r.normalGrid;t&&(Ext.suspendLayouts(),i.headerCt.removeAll(),u.headerCt.removeAll(),t=r.processColumns(t),i.setWidth(t.lockedWidth),i.headerCt.add(t.locked.items),u.headerCt.add(t.normal.items),Ext.resumeLayouts(!0));n?(n=Ext.data.StoreManager.lookup(n),r.store=n,i.bindStore(n),u.bindStore(n)):(i.getView().refresh(),u.getView().refresh())},cloneFeatures:function(){var u=this,n=u.features,i,t=0,r;if(n)for(r=n.length;t<r;t++)i=n[t],i.isFeature&&(n[t]=i.clone())},clonePlugins:function(){var u=this,n=u.plugins,i,t=0,r;if(n)for(r=n.length;t<r;t++)i=n[t],typeof i.init=="function"&&(n[t]=i.clone())}},function(){this.borrow(Ext.view.Table,["constructFeatures"]);this.borrow(Ext.AbstractComponent,["constructPlugins","constructPlugin"])});Ext.define("Ext.grid.PagingScroller",{percentageFromEdge:.35,numFromEdge:2,trailingBufferZone:5,leadingBufferZone:15,scrollToLoadBuffer:200,viewSize:0,rowHeight:21,tableStart:0,tableEnd:0,constructor:function(n){var t=this;t.variableRowHeight=n.variableRowHeight;t.bindView(n.view);Ext.apply(t,n);t.callParent(arguments)},bindView:function(n){var t=this,u={scroll:{fn:t.onViewScroll,element:"el",scope:t},render:t.onViewRender,resize:t.onViewResize,boxready:{fn:t.onViewResize,scope:t,single:!0},beforerefresh:t.beforeViewRefresh,refresh:t.onViewRefresh,scope:t},f={guaranteedrange:t.onGuaranteedRange,scope:t},r={reconfigure:t.onGridReconfigure,scope:t},i;if(t.view&&(t.view.el&&t.view.el.un("scroll",t.onViewScroll,t),i=n.lockingPartner,i&&i.un("refresh",t.onLockRefresh,t),t.view.un(u),t.store.un(f),t.grid&&t.grid.un(r),delete t.view.refreshSize),t.view=n,t.grid=t.view.up("tablepanel"),t.store=n.store,n.rendered&&(t.viewSize=t.store.viewSize=Math.ceil(n.getHeight()/t.rowHeight)+t.trailingBufferZone+t.numFromEdge*2+t.leadingBufferZone),i=n.lockingPartner,i)i.on("refresh",t.onLockRefresh,t);if(t.view.mon(t.store.pageMap,{scope:t,clear:t.onCacheClear}),t.view.refreshSize=Ext.Function.createInterceptor(t.view.refreshSize,t.beforeViewrefreshSize,t),t.position=0,t.grid)t.grid.on(r);else t.view.on({added:function(){t.grid=t.view.up("tablepanel");t.grid.on(r)},single:!0});t.view.on(t.viewListeners=u);t.store.on(f)},onCacheClear:function(){var n=this;n.view.rendered&&!n.store.isDestroyed&&(n.ignoreNextScrollEvent=n.view.el.dom.scrollTop!==0,n.view.el.dom.scrollTop=0,delete n.lastScrollDirection,delete n.scrollOffset,delete n.scrollProportion)},onGridReconfigure:function(n){this.bindView(n.view)},onViewRender:function(){var n=this,t=n.view,r=n.view.el,i;n.stretcher=n.createStretcher(t);t=t.lockingPartner;t&&(i=n.stretcher,n.stretcher=new Ext.CompositeElement(i),n.stretcher.add(n.createStretcher(t)))},createStretcher:function(n){var t=n.el;return t.setStyle("position","relative"),t.createChild({style:{position:"absolute",width:"1px",height:0,top:0,left:0}},t.dom.firstChild)},onViewResize:function(n,t,i){var r=this,u;u=Math.ceil(i/r.rowHeight)+r.trailingBufferZone+r.numFromEdge*2+r.leadingBufferZone;u>r.viewSize&&(r.viewSize=r.store.viewSize=u,r.handleViewScroll(r.lastScrollDirection||1))},beforeViewRefresh:function(){var n=this,i=n.view,r,t;n.focusOnRefresh=Ext.Element.getActiveElement===i.el.dom;n.variableRowHeight&&(t=n.lastScrollDirection,n.commonRecordIndex=undefined,t&&n.previousStart!==undefined&&n.scrollProportion===undefined&&(r=i.getNodes()).length?(t===1?n.tableStart<=n.previousEnd&&(n.commonRecordIndex=r.length-1):t===-1&&n.tableEnd>=n.previousStart&&(n.commonRecordIndex=0),n.scrollOffset=-i.el.getOffsetsTo(r[n.commonRecordIndex])[1],n.commonRecordIndex-=n.tableStart-n.previousStart):n.scrollOffset=undefined)},onLockRefresh:function(n){n.table.dom.style.position="absolute"},onViewRefresh:function(){var n=this,i=n.store,o,f=n.view,e=f.el,t=e.dom,s,h,c,l=f.table.dom,r,u;if(n.focusOnRefresh&&(e.focus(),n.focusOnRefresh=!1),n.disabled=!0,i.getCount()===i.getTotalCount()||i.isFiltered()&&!i.remoteFilter){n.stretcher.setHeight(0);n.position=t.scrollTop=0;n.setTablePosition("absolute");return}n.stretcher.setHeight(o=n.getScrollHeight());u=t.scrollTop;n.isScrollRefresh=u>0;n.scrollProportion!==undefined?(n.setTablePosition("absolute"),n.setTableTop((n.scrollProportion?o*n.scrollProportion-l.offsetHeight*n.scrollProportion:0)+"px")):(n.setTablePosition("absolute"),n.setTableTop((r=(n.tableStart||0)*n.rowHeight)+"px"),n.scrollOffset?(s=f.getNodes(),h=-e.getOffsetsTo(s[n.commonRecordIndex])[1],c=h-n.scrollOffset,n.position=t.scrollTop+=c):(r>u||r+l.offsetHeight<u+t.clientHeight)&&(n.lastScrollDirection=-1,n.position=t.scrollTop=r));n.disabled=!1},setTablePosition:function(n){this.setViewTableStyle(this.view,"position",n)},setTableTop:function(n){this.setViewTableStyle(this.view,"top",n)},setViewTableStyle:function(n,t,i){n.el.child("table",!0).style[t]=i;n=n.lockingPartner;n&&(n.el.child("table",!0).style[t]=i)},beforeViewrefreshSize:function(){if(this.isScrollRefresh)return this.view.table.attach(this.view.el.child("table",!0)),this.isScrollRefresh=!1},onGuaranteedRange:function(n,t,i){var r=this,u=r.store;n.length&&r.visibleStart<n[0].index||(r.previousStart=r.tableStart,r.previousEnd=r.tableEnd,r.tableStart=t,r.tableEnd=i,u.loadRecords(n,{start:t}))},onViewScroll:function(){var n=this,i=n.view,t=n.position;if(n.position=i.el.dom.scrollTop,n.ignoreNextScrollEvent){n.ignoreNextScrollEvent=!1;return}n.disabled||(n.lastScrollDirection=n.position>t?1:-1,t!==n.position&&n.handleViewScroll(n.lastScrollDirection))},handleViewScroll:function(n){var t=this,s=t.store,l=t.view,r=t.viewSize,f=s.getTotalCount(),h=f-r,o=t.getFirstVisibleRowIndex(),c=t.getLastVisibleRowIndex(),u=l.el.dom,i,e;f>=r&&(t.scrollProportion=undefined,n==-1?t.tableStart&&(o!==undefined?o<t.tableStart+t.numFromEdge&&(i=Math.max(0,c+t.trailingBufferZone-r)):(t.scrollProportion=u.scrollTop/(u.scrollHeight-u.clientHeight),i=Math.max(0,f*t.scrollProportion-r/2-t.numFromEdge-(t.leadingBufferZone+t.trailingBufferZone)/2))):o!==undefined?c>t.tableEnd-t.numFromEdge&&(i=Math.max(0,o-t.trailingBufferZone)):(t.scrollProportion=u.scrollTop/(u.scrollHeight-u.clientHeight),i=f*t.scrollProportion-r/2-t.numFromEdge-(t.leadingBufferZone+t.trailingBufferZone)/2),i!==undefined&&(i>h?(i=h&-2,e=f-1):(i=i&-2,e=i+r-1),s.rangeCached(i,e)?(t.cancelLoad(),s.guaranteeRange(i,e)):t.attemptLoad(i,e)))},getFirstVisibleRowIndex:function(){var u=this,n=u.view,e=n.el.dom.scrollTop,t,f,i,r;if(u.variableRowHeight){if(t=n.getNodes(),f=t.length,!f)return;for(r=Ext.fly(t[0]).getOffsetsTo(n.el)[1],i=0;i<f;i++){if(r+=t[i].offsetHeight,r>n.el.dom.clientHeight)return;if(r>0)return n.getRecord(t[i]).index}}else return Math.floor(e/u.rowHeight)},getLastVisibleRowIndex:function(){var t=this,o=t.store,r=t.view,e=r.el.dom.clientHeight,n,u,i,f;if(t.variableRowHeight){if(n=r.getNodes(),!n.length)return;for(u=o.getCount()-1,f=Ext.fly(n[u]).getOffsetsTo(r.el)[1]+n[u].offsetHeight,i=u;i>=0;i--){if(f-=n[i].offsetHeight,f<0)return;if(f<e)return r.getRecord(n[i]).index}}else return t.getFirstVisibleRowIndex()+Math.ceil(e/t.rowHeight)+1},getScrollHeight:function(){var n=this,u=n.view,t,i,f=n.store,r=0,e=!n.hasOwnProperty("rowHeight");return n.variableRowHeight?(t=n.view.table.dom,e?(n.initialTableHeight=t.offsetHeight,n.rowHeight=n.initialTableHeight/n.store.getCount()):(r=t.offsetHeight-n.initialTableHeight,f.getCount()>n.viewSize&&(r-=n.rowHeight))):e&&(i=u.el.down(u.getItemSelector()),i&&(n.rowHeight=i.getHeight(!1,!0))),Math.floor(f.getTotalCount()*n.rowHeight)+r},attemptLoad:function(n,t){var i=this;i.scrollToLoadBuffer?(i.loadTask||(i.loadTask=new Ext.util.DelayedTask(i.doAttemptLoad,i,[])),i.loadTask.delay(i.scrollToLoadBuffer,i.doAttemptLoad,i,[n,t])):i.store.guaranteeRange(n,t)},cancelLoad:function(){this.loadTask&&this.loadTask.cancel()},doAttemptLoad:function(n,t){this.store.guaranteeRange(n,t)},destroy:function(){var n=this,t=n.viewListeners.scroll;n.store.un({guaranteedrange:n.onGuaranteedRange,scope:n});n.view.un(n.viewListeners);n.view.rendered&&(n.stretcher.remove(),n.view.el.un("scroll",t.fn,t.scope))}});Ext.define("Ext.layout.container.Fit",{extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.FitLayout",alias:"layout.fit",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit",defaultMargins:{top:0,right:0,bottom:0,left:0},manageMargins:!0,sizePolicies:{0:{setsWidth:0,setsHeight:0},1:{setsWidth:1,setsHeight:0},2:{setsWidth:0,setsHeight:1},3:{setsWidth:1,setsHeight:1}},getItemSizePolicy:function(n,t){var i=t||this.owner.getSizeModel(),r=(i.width.shrinkWrap?0:1)|(i.height.shrinkWrap?0:2);return this.sizePolicies[r]},beginLayoutCycle:function(n,t){var r=this,s=r.lastHeightModel&&r.lastHeightModel.calculated,h=r.lastWidthModel&&r.lastWidthModel.calculated,c=h||s,l=0,a=0,i,v,o,u,w,y,f,e,p,b;for(r.callParent(arguments),c&&n.targetContext.el.dom.tagName.toUpperCase()!="TD"&&(c=h=s=!1),v=n.childItems,w=v.length,o=0;o<w;++o)u=v[o],t&&(i=u.target,f=i.minHeight,e=i.minWidth,(e||f)&&(y=u.marginInfo||u.getMarginInfo(),f+=y.height,e+=y.height,l<f&&(l=f),a<e&&(a=e))),c&&(p=u.el.dom.style,s&&(p.height=""),h&&(p.width=""));t&&(n.maxChildMinHeight=l,n.maxChildMinWidth=a);i=n.target;n.overflowX=!n.widthModel.shrinkWrap&&n.maxChildMinWidth&&(i.autoScroll||i.overflowX)||b;n.overflowY=!n.heightModel.shrinkWrap&&n.maxChildMinHeight&&(i.autoScroll||i.overflowY)||b},calculate:function(n){var t=this,a=n.childItems,v=a.length,i=t.getContainerSize(n),e={length:v,ownerContext:n,targetSize:i},y=n.widthModel.shrinkWrap,p=n.heightModel.shrinkWrap,o=n.overflowX,s=n.overflowY,r,u,h,f,c,l;for((o||s)&&(r=t.getScrollbarsNeeded(o&&i.width,s&&i.height,n.maxChildMinWidth,n.maxChildMinHeight),r&&(u=Ext.getScrollbarSize(),r&1&&(i.height-=u.height),r&2&&(i.width-=u.width))),f=0;f<v;++f)e.index=f,t.fitItem(a[f],e);(p||y)&&(h=n.targetContext.getPaddingInfo(),y&&(s&&!i.gotHeight?t.done=!1:(c=e.contentWidth+h.width,r&2&&(c+=u.width),n.setContentWidth(c)||(t.done=!1))),p&&(o&&!i.gotWidth?t.done=!1:(l=e.contentHeight+h.height,r&1&&(l+=u.height),n.setContentHeight(l)||(t.done=!1))))},fitItem:function(n,t){var i=this;if(n.invalid){i.done=!1;return}t.margins=n.getMarginInfo();t.needed=t.got=0;i.fitItemWidth(n,t);i.fitItemHeight(n,t);t.got!=t.needed&&(i.done=!1)},fitItemWidth:function(n,t){var i,r;t.ownerContext.widthModel.shrinkWrap?(r=n.getProp("width")+t.margins.width,i=t.contentWidth,t.contentWidth=i===undefined?r:Math.max(i,r)):n.widthModel.calculated&&(++t.needed,t.targetSize.gotWidth&&(++t.got,this.setItemWidth(n,t)));this.positionItemX(n,t)},fitItemHeight:function(n,t){var i,r;t.ownerContext.heightModel.shrinkWrap?(r=n.getProp("height")+t.margins.height,i=t.contentHeight,t.contentHeight=i===undefined?r:Math.max(i,r)):n.heightModel.calculated&&(++t.needed,t.targetSize.gotHeight&&(++t.got,this.setItemHeight(n,t)));this.positionItemY(n,t)},positionItemX:function(n,t){var i=t.margins;(t.index||i.left)&&n.setProp("x",i.left);i.width&&n.setProp("margin-right",i.width)},positionItemY:function(n,t){var i=t.margins;(t.index||i.top)&&n.setProp("y",i.top);i.height&&n.setProp("margin-bottom",i.height)},setItemHeight:function(n,t){n.setHeight(t.targetSize.height-t.margins.height)},setItemWidth:function(n,t){n.setWidth(t.targetSize.width-t.margins.width)}});Ext.define("Ext.panel.Table",{extend:"Ext.panel.Panel",alias:"widget.tablepanel",uses:["Ext.selection.RowModel","Ext.selection.CellModel","Ext.selection.CheckboxModel","Ext.grid.PagingScroller","Ext.grid.header.Container","Ext.grid.Lockable"],extraBaseCls:Ext.baseCSSPrefix+"grid",extraBodyCls:Ext.baseCSSPrefix+"grid-body",layout:"fit",hasView:!1,viewType:null,selType:"rowmodel",scroll:!0,deferRowRender:!0,sortableColumns:!0,enableLocking:!1,scrollerOwner:!0,enableColumnMove:!0,sealedColumns:!1,enableColumnResize:!0,enableColumnHide:!0,rowLines:!0,initComponent:function(){var n=this,r=n.scroll,f=!1,e=!1,t=n.columns||n.colModel,i,o=n.border,u,s;if(n.columnLines&&n.addCls(Ext.baseCSSPrefix+"grid-with-col-lines"),n.rowLines&&n.addCls(Ext.baseCSSPrefix+"grid-with-row-lines"),n.store=Ext.data.StoreManager.lookup(n.store||"ext-empty-store"),t instanceof Ext.grid.header.Container?(n.headerCt=t,n.headerCt.border=o,n.columns=n.headerCt.items.items):(Ext.isArray(t)&&(t={items:t,border:o}),Ext.apply(t,{forceFit:n.forceFit,sortable:n.sortableColumns,enableColumnMove:n.enableColumnMove,enableColumnResize:n.enableColumnResize,enableColumnHide:n.enableColumnHide,border:o,sealed:n.sealedColumns}),n.columns=t.items,(n.enableLocking||Ext.ComponentQuery.query("{locked !== undefined}{processed != true}",n.columns).length)&&(n.self.mixin("lockable",Ext.grid.Lockable),n.injectLockable())),n.scrollTask=new Ext.util.DelayedTask(n.syncHorizontalScroll,n),n.addEvents("reconfigure","viewready"),n.bodyCls=n.bodyCls||"",n.bodyCls+=" "+n.extraBodyCls,n.cls=n.cls||"",n.cls+=" "+n.extraBaseCls,delete n.autoScroll,!n.hasView){if(n.headerCt||(n.headerCt=new Ext.grid.header.Container(t)),n.columns=n.headerCt.items.items,n.store.buffered&&!n.store.remoteSort)for(u=0,s=n.columns.length;u<s;u++)n.columns[u].sortable=!1;if(n.hideHeaders&&(n.headerCt.height=0,n.headerCt.addCls(Ext.baseCSSPrefix+"grid-header-ct-hidden"),n.addCls(Ext.baseCSSPrefix+"grid-header-hidden"),Ext.isIEQuirks&&(n.headerCt.style={display:"none"})),r===!0||r==="both"?f=e=!0:r==="horizontal"?e=!0:r==="vertical"&&(f=!0),n.relayHeaderCtEvents(n.headerCt),n.features=n.features||[],Ext.isArray(n.features)||(n.features=[n.features]),n.dockedItems=[].concat(n.dockedItems||[]),n.dockedItems.unshift(n.headerCt),n.viewConfig=n.viewConfig||{},n.store&&n.store.buffered?n.viewConfig.preserveScrollOnRefresh=!0:n.invalidateScrollerOnRefresh!==undefined&&(n.viewConfig.preserveScrollOnRefresh=!n.invalidateScrollerOnRefresh),i=n.getView(),n.items=[i],n.hasView=!0,f&&n.store.buffered&&(n.verticalScroller=new Ext.grid.PagingScroller(Ext.apply({panel:n,store:n.store,view:n.view},n.verticalScroller))),e&&!n.hideHeaders)i.on({scroll:{fn:n.onHorizontalScroll,element:"el",scope:n}});n.mon(i.store,{load:n.onStoreLoad,scope:n});n.mon(i,{viewready:n.onViewReady,refresh:n.onRestoreHorzScroll,scope:n})}if(this.relayEvents(n.view,["beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","selectionchange","beforeselect","select","beforedeselect","deselect"]),n.callParent(arguments),n.addStateEvents(["columnresize","columnmove","columnhide","columnshow","sortchange"]),n.headerCt)n.headerCt.on("afterlayout",n.onRestoreHorzScroll,n)},relayHeaderCtEvents:function(n){this.relayEvents(n,["columnresize","columnmove","columnhide","columnshow","sortchange"])},getState:function(){var n=this,t=n.callParent(),i=n.store.sorters.first();return t=n.addPropertyToState(t,"columns",(n.headerCt||n).getColumnsState()),i&&(t=n.addPropertyToState(t,"sort",{property:i.property,direction:i.direction,root:i.root})),t},applyState:function(n){var i=this,t=n.sort,r=i.store,u=n.columns;delete n.columns;i.callParent(arguments);u&&(i.headerCt||i).applyColumnsState(u);t&&(r.remoteSort?r.sort({property:t.property,direction:t.direction,root:t.root},null,!1):r.sort(t.property,t.direction))},getStore:function(){return this.store},getView:function(){var n=this,t;return n.view||(t=n.getSelectionModel(),n.view=Ext.widget(Ext.apply({},n.viewConfig,{grid:n,deferInitialRefresh:n.deferRowRender!==!1,scroll:n.scroll,xtype:n.viewType,store:n.store,headerCt:n.headerCt,selModel:t,features:n.features,panel:n,emptyText:n.emptyText?'<div class="'+Ext.baseCSSPrefix+'grid-empty">'+n.emptyText+"<\/div>":""})),n.view.getComponentLayout().headerCt=n.headerCt,n.mon(n.view,{uievent:n.processEvent,scope:n}),t.view=n.view,n.headerCt.view=n.view,n.relayEvents(n.view,["cellclick","celldblclick"])),n.view},setAutoScroll:Ext.emptyFn,processEvent:function(n,t,i,r,u){var e=this,f;if(u!==-1)return f=e.headerCt.getGridColumns()[u],f.processEvent.apply(f,arguments)},determineScrollbars:function(){},invalidateScroller:function(){},scrollByDeltaY:function(n,t){this.getView().scrollBy(0,n,t)},scrollByDeltaX:function(n,t){this.getView().scrollBy(n,0,t)},afterCollapse:function(){var n=this;n.saveScrollPos();n.saveScrollPos();n.callParent(arguments)},afterExpand:function(){var n=this;n.callParent(arguments);n.restoreScrollPos();n.restoreScrollPos()},saveScrollPos:Ext.emptyFn,restoreScrollPos:Ext.emptyFn,onHeaderResize:function(){this.delayScroll()},onHeaderMove:function(n,t,i,r,u){var f=this;f.optimizedColumnMove===!1?f.view.refresh():f.view.moveColumn(r,u,i);f.delayScroll()},onHeaderHide:function(){this.delayScroll()},onHeaderShow:function(){this.delayScroll()},delayScroll:function(){var n=this.getScrollTarget().el;n&&this.scrollTask.delay(10,null,null,[n.dom.scrollLeft])},onViewReady:function(){this.fireEvent("viewready",this)},onRestoreHorzScroll:function(){var n=this.scrollLeftPos;n&&this.syncHorizontalScroll(n,!0)},getScrollerOwner:function(){var n=this;return this.scrollerOwner||(n=this.up("[scrollerOwner]")),n},getLhsMarker:function(){var n=this;return n.lhsMarker||(n.lhsMarker=Ext.DomHelper.append(n.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},!0))},getRhsMarker:function(){var n=this;return n.rhsMarker||(n.rhsMarker=Ext.DomHelper.append(n.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},!0))},getSelectionModel:function(){this.selModel||(this.selModel={});var n="SINGLE",t;return this.simpleSelect?n="SIMPLE":this.multiSelect&&(n="MULTI"),Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:n}),this.selModel.events||(t=this.selModel.selType||this.selType,this.selModel=Ext.create("selection."+t,this.selModel)),this.selModel.hasRelaySetup||(this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]),this.selModel.hasRelaySetup=!0),this.disableSelection&&(this.selModel.locked=!0),this.selModel},getScrollTarget:function(){var t=this.getScrollerOwner(),n=t.query("tableview");return n[1]||n[0]},onHorizontalScroll:function(n,t){this.syncHorizontalScroll(t.scrollLeft)},syncHorizontalScroll:function(n,t){var i=this,r;t=t===!0;i.rendered&&(t||n!==i.scrollLeftPos)&&(t&&(r=i.getScrollTarget(),r.el.dom.scrollLeft=n),i.headerCt.el.dom.scrollLeft=n,i.scrollLeftPos=n)},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(n){var t=this;t.store=n;t.getView().bindStore(n)},beforeDestroy:function(){Ext.destroy(this.verticalScroller);this.callParent()},reconfigure:function(n,t){var i=this,r=i.headerCt;i.lockable?i.reconfigureLockable(n,t):(Ext.suspendLayouts(),t&&(delete i.scrollLeftPos,r.removeAll(),r.add(t)),n?(n=Ext.StoreManager.lookup(n),i.bindStore(n)):i.getView().refresh(),r.setSortState(),Ext.resumeLayouts(!0));i.fireEvent("reconfigure",i,n,t)}});Ext.define("Ext.grid.View",{extend:"Ext.view.Table",alias:"widget.gridview",stripeRows:!0,autoScroll:!0});Ext.define("Ext.grid.Panel",{extend:"Ext.panel.Table",requires:["Ext.grid.View"],alias:["widget.gridpanel","widget.grid"],alternateClassName:["Ext.list.ListView","Ext.ListView","Ext.grid.GridPanel"],viewType:"gridview",lockable:!1,bothCfgCopy:["invalidateScrollerOnRefresh","hideHeaders","enableColumnHide","enableColumnMove","enableColumnResize","sortableColumns"],normalCfgCopy:["verticalScroller","verticalScrollDock","verticalScrollerType","scroll"],lockedCfgCopy:[],rowLines:!0});Ext.define("Ext.grid.RowEditor",{extend:"Ext.form.Panel",requires:["Ext.tip.ToolTip","Ext.util.HashMap","Ext.util.KeyNav"],saveBtnText:"Update",cancelBtnText:"Cancel",errorsText:"Errors",dirtyText:"You need to commit or cancel your changes",lastScrollLeft:0,lastScrollTop:0,border:!1,hideMode:"offsets",initComponent:function(){var n=this,t;n.cls=Ext.baseCSSPrefix+"grid-row-editor";n.layout={type:"hbox",align:"middle"};n.columns=new Ext.util.HashMap;n.columns.getKey=function(n){var t;return n.getEditor&&(t=n.getEditor(),t)?t.id:n.id};n.mon(n.columns,{add:n.onFieldAdd,remove:n.onFieldRemove,replace:n.onFieldReplace,scope:n});n.callParent(arguments);n.fields&&(n.setField(n.fields),delete n.fields);n.mon(Ext.container.Container.hierarchyEventSource,{scope:n,show:n.repositionIfVisible});t=n.getForm();t.trackResetOnLoad=!0},onFieldChange:function(){var n=this,i=n.getForm(),t=i.isValid();n.errorSummary&&n.isVisible()&&n[t?"hideToolTip":"showToolTip"]();n.updateButton(t);n.isValid=t},updateButton:function(n){var t=this.floatingButtons;t&&t.child("#update").setDisabled(!n)},afterRender:function(){var n=this,t=n.editingPlugin;n.callParent(arguments);n.mon(n.renderTo,"scroll",n.onCtScroll,n,{buffer:100});n.mon(n.el,{click:Ext.emptyFn,stopPropagation:!0});n.el.swallowEvent(["keypress","keydown"]);n.keyNav=new Ext.util.KeyNav(n.el,{enter:t.completeEdit,esc:t.onEscKey,scope:t});n.mon(t.view,{beforerefresh:n.onBeforeViewRefresh,refresh:n.onViewRefresh,itemremove:n.onViewItemRemove,scope:n})},onBeforeViewRefresh:function(n){var t=this,i=n.el.dom;t.el.dom.parentNode===i&&i.removeChild(t.el.dom)},onViewRefresh:function(n){var t=this,u=n.el.dom,i=t.context,r;u.appendChild(t.el.dom);i&&(r=i.store.indexOf(i.record))>=0?(i.row=n.getNode(r),t.reposition(),t.tooltip&&t.tooltip.isVisible()&&t.tooltip.setTarget(i.row)):t.editingPlugin.cancelEdit()},onViewItemRemove:function(n){var t=this.context;t&&n===t.record&&this.editingPlugin.cancelEdit()},onCtScroll:function(n,t){var i=this,r=t.scrollTop,u=t.scrollLeft;r!==i.lastScrollTop&&(i.lastScrollTop=r,(i.tooltip&&i.tooltip.isVisible()||i.hiddenTip)&&i.repositionTip());u!==i.lastScrollLeft&&(i.lastScrollLeft=u,i.reposition())},onColumnAdd:function(n){n.isGroupHeader||this.setField(n)},onColumnRemove:function(n){this.columns.remove(n)},onColumnResize:function(n,t){n.isGroupHeader||(n.getEditor().setWidth(t-2),this.repositionIfVisible())},onColumnHide:function(n){n.isGroupHeader||(n.getEditor().hide(),this.repositionIfVisible())},onColumnShow:function(n){var t=n.getEditor();t.setWidth(n.getWidth()-2).show();this.repositionIfVisible()},onColumnMove:function(n,t,i){if(!n.isGroupHeader){var r=n.getEditor();this.items.indexOf(r)!=i&&this.move(t,i)}},onFieldAdd:function(n,t,i){var r=this,u,f;i.isGroupHeader||(u=r.editingPlugin.grid.headerCt.getHeaderIndex(i),f=i.getEditor({xtype:"displayfield"}),r.insert(u,f))},onFieldRemove:function(n,t,i){var f=this,r,u;i.isGroupHeader||(r=i.getEditor(),u=r.el,f.remove(r,!1),u&&u.remove())},onFieldReplace:function(n,t,i,r){this.onFieldRemove(n,t,r)},clearFields:function(){var n=this.columns;for(var t in n)n.hasOwnProperty(t)&&n.removeAtKey(t)},getFloatingButtons:function(){var n=this,u=Ext.baseCSSPrefix,f=u+"grid-row-editor-buttons",t=n.editingPlugin,i=Ext.panel.Panel.prototype.minButtonWidth,r;return n.floatingButtons||(r=n.floatingButtons=new Ext.Container({renderTpl:['<div class="{baseCls}-ml"><\/div>','<div class="{baseCls}-mr"><\/div>','<div class="{baseCls}-bl"><\/div>','<div class="{baseCls}-br"><\/div>','<div class="{baseCls}-bc"><\/div>',"{%this.renderContainer(out,values)%}"],width:200,renderTo:n.el,baseCls:f,layout:{type:"hbox",align:"middle"},defaults:{flex:1,margins:"0 1 0 1"},items:[{itemId:"update",xtype:"button",handler:t.completeEdit,scope:t,text:n.saveBtnText,minWidth:i},{xtype:"button",handler:t.cancelEdit,scope:t,text:n.cancelBtnText,minWidth:i}]}),n.mon(r.el,{mousedown:Ext.emptyFn,click:Ext.emptyFn,stopEvent:!0})),n.floatingButtons},repositionIfVisible:function(n){var t=this,i=t.view;(!n||n!=t&&i.isDescendantOf(n))&&t.isVisible()&&i.isVisible(!0)&&t.reposition()},reposition:function(n){var t=this,o=t.context,i=o&&Ext.get(o.row),s=t.getFloatingButtons(),h=s.el,r=t.editingPlugin.grid,c=r.view.el,f=r.headerCt.getFullWidth(),y=r.getWidth(),p=Math.min(f,y),w=r.view.el.dom.scrollLeft,b=s.getWidth(),k=(p-b)/2+w,u,l,e,a=function(){h.scrollIntoView(c,!1);n&&n.callback&&n.callback.call(n.scope||t)},v;i&&Ext.isElement(i.dom)&&(i.scrollIntoView(c,!1),u=i.getXY()[1]-5,l=i.getHeight(),e=l+(t.editingPlugin.grid.rowLines?9:10),t.getHeight()!=e&&(t.setHeight(e),t.el.setLeft(0)),n?(v={to:{y:u},duration:n.duration||125,listeners:{afteranimate:function(){a();u=i.getXY()[1]-5}}},t.el.animate(v)):(t.el.setY(u),a()));t.getWidth()!=f&&t.setWidth(f);h.setLeft(k)},getEditor:function(n){var t=this;return Ext.isNumber(n)?t.query(">[isFormField]")[n]:n.isHeader&&!n.isGroupHeader?n.getEditor():void 0},removeField:function(n){var t=this;n=t.getEditor(n);t.mun(n,"validitychange",t.onValidityChange,t);t.columns.removeAtKey(n.id);Ext.destroy(n)},setField:function(n){var t=this,r,u,i;if(Ext.isArray(n)){for(u=n.length,r=0;r<u;r++)t.setField(n[r]);return}if(i=n.getEditor(null,{xtype:"displayfield",getModelData:function(){return null}}),i.margins="0 0 0 2",t.mon(i,"change",t.onFieldChange,t),t.isVisible()&&t.context&&(i.is("displayfield")?t.renderColumnData(i,t.context.record,n):(i.suspendEvents(),i.setValue(t.context.record.get(n.dataIndex)),i.resumeEvents())),t.columns.add(i.id,n),n.hidden)t.onColumnHide(n);else if(n.rendered)t.onColumnShow(n)},loadRecord:function(n){for(var i=this,u=i.getForm(),s=u.getFields(),f=s.items,r=f.length,e,o,t=0;t<r;t++)f[t].suspendEvents();for(u.loadRecord(n),t=0;t<r;t++)f[t].resumeEvents();for(o=u.isValid(),i.errorSummary&&(o?i.hideToolTip():i.showToolTip()),i.updateButton(o),e=i.query(">displayfield"),r=e.length,t=0;t<r;t++)i.renderColumnData(e[t],n)},renderColumnData:function(n,t,i){var f=this,e=f.editingPlugin.grid,o=e.headerCt,s=e.view,h=s.store,r=i||f.columns.get(n.id),u=t.get(r.dataIndex),c=r.editRenderer||r.renderer,l,a,v;c&&(l={tdCls:"",style:""},a=h.indexOf(t),v=o.getHeaderIndex(r),u=c.call(r.scope||o.ownerCt,u,l,t,a,v,h,s));n.setRawValue(u);n.resetOriginalValue()},beforeEdit:function(){var n=this;if(n.isVisible()&&n.errorSummary&&!n.autoCancel&&n.isDirty())return n.showToolTip(),!1},startEdit:function(n){var t=this,i=t.editingPlugin.grid,r=i.store,u=t.context=Ext.apply(t.editingPlugin.context,{view:i.getView(),store:r});u.grid.getSelectionModel().select(n);t.loadRecord(n);t.isVisible()?t.reposition({callback:this.focusContextCell}):(t.show(),t.focusContextCell())},focusContextCell:function(){var n=this.getEditor(this.context.colIdx);n&&n.focus&&n.focus()},cancelEdit:function(){var r=this,t=r.getForm(),f=t.getFields(),i=f.items,u=i.length,n;for(r.hide(),t.clearInvalid(),n=0;n<u;n++)i[n].suspendEvents();for(t.reset(),n=0;n<u;n++)i[n].resumeEvents()},completeEdit:function(){var n=this,t=n.getForm();if(t.isValid())return t.updateRecord(n.context.record),n.hide(),!0},onShow:function(){this.callParent(arguments);this.reposition()},onHide:function(){var n=this;n.callParent(arguments);n.tooltip&&n.hideToolTip();n.context&&(n.context.view.focus(),n.context=null)},isDirty:function(){var n=this,t=n.getForm();return t.isDirty()},getToolTip:function(){return this.tooltip||(this.tooltip=new Ext.tip.ToolTip({cls:Ext.baseCSSPrefix+"grid-row-editor-errors",title:this.errorsText,autoHide:!1,closable:!0,closeAction:"disable",anchor:"left"}))},hideToolTip:function(){var n=this,t=n.getToolTip();t.rendered&&t.disable();n.hiddenTip=!1},showToolTip:function(){var t=this,n=t.getToolTip(),i=t.context,r=Ext.get(i.row),u=i.grid.view.el;n.setTarget(r);n.showAt([-1e4,-1e4]);n.update(t.getErrors());n.mouseOffset=[u.getWidth()-r.getWidth()+t.lastScrollLeft+15,0];t.repositionTip();n.doLayout();n.enable()},repositionTip:function(){var n=this,t=n.getToolTip(),i=n.context,r=Ext.get(i.row),e=i.grid.view.el,o=e.getHeight(),u=n.lastScrollTop,s=u+o,h=r.getHeight(),f=r.dom.offsetTop,c=f+h;c>u&&f<s?(t.show(),n.hiddenTip=!1):(t.hide(),n.hiddenTip=!0)},getErrors:function(){function e(n){return"<li>"+n+"<\/li>"}for(var n=this,u=!n.autoCancel&&n.isDirty()?n.dirtyText+"<br />":"",i=[],r=n.query(">[isFormField]"),f=r.length,t=0;t<f;t++)i=i.concat(Ext.Array.map(r[t].getErrors(),e));return u+"<ul>"+i.join("")+"<\/ul>"},beforeDestroy:function(){Ext.destroy(this.floatingButtons,this.tooltip);this.callParent()}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.AbstractPlugin",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:!1,config:{dynamic:!1},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1e3,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(n){this.headerCt=n;n.on("render",this.afterHeaderRender,this,{single:!0})},destroy:function(){this.tracker&&this.tracker.destroy()},afterHeaderRender:function(){var n=this.headerCt,t=n.el;n.mon(t,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=new Ext.dd.DragTracker({disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:t})},onHeaderCtMouseMove:function(n){var i=this,f,e,r,t,o,u;i.headerCt.dragging?i.activeHd&&(i.activeHd.el.dom.style.cursor="",delete i.activeHd):(e=n.getTarget("."+i.colHeaderCls,3,!0),e&&(r=Ext.getCmp(e.id),r.isOnLeftEdge(n)?(t=r.previousNode("gridcolumn:not([hidden]):not([isGroupHeader])"),t&&(u=i.headerCt.up("tablepanel"),o=t.up("tablepanel"),o===u||u.ownerCt.isXType("tablepanel")&&u.ownerCt.view.lockedGrid===o||(t=null))):t=r.isOnRightEdge(n)?r:null,t?(t.isGroupHeader&&(f=t.getGridColumns(),t=f[f.length-1]),!t||t.fixed||t.resizable===!1||i.disabled||(i.activeHd=t,r.el.dom.style.cursor=i.eResizeCursor)):(r.el.dom.style.cursor="",delete i.activeHd)))},onBeforeStart:function(n){var t=n.getTarget();return this.dragHd=this.activeHd,!this.dragHd||Ext.fly(t).hasCls(Ext.baseCSSPrefix+"column-header-trigger")||this.headerCt.dragging?(this.headerCt.dragging=!1,!1):(this.tracker.constrainTo=this.getConstrainRegion(),!0)},getConstrainRegion:function(){var n=this,i=n.dragHd.el,r=Ext.util.Region.getRegion(i),t;return n.headerCt.forceFit&&(t=n.dragHd.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])")),r.adjust(0,n.headerCt.forceFit?t?t.getWidth()-n.minColWidth:0:n.maxColWidth-i.getWidth(),0,n.minColWidth)},onStart:function(n){var t=this,b=t.dragHd,l=b.el,a=l.getWidth(),e=t.headerCt,k=n.getTarget(),v,o,y,p,r,i,u,s,w,f,h,c;t.dragHd&&!Ext.fly(k).hasCls(Ext.baseCSSPrefix+"column-header-trigger")&&(e.dragging=!0);t.origWidth=a;t.dynamic||(v=l.getXY(),o=e.up("[scrollerOwner]"),y=t.dragHd.up(":not([isGroupHeader])"),p=y.up(),r=o.getLhsMarker(),i=o.getRhsMarker(),u=i.parent(),s=u.getLocalX(),w=u.getLocalY(),f=u.translatePoints(v),h=p.body.getHeight()+e.getHeight(),c=f.top-w,r.setTop(c),i.setTop(c),r.setHeight(h),i.setHeight(h),r.setLeft(f.left-s),i.setLeft(f.left+a-s))},onDrag:function(){if(this.dynamic)this.doResize();else{var i=this.tracker.getXY("point"),r=this.headerCt.up("[scrollerOwner]"),n=r.getRhsMarker(),t=n.parent(),u=t.translatePoints(i),f=t.getLocalX();n.setLeft(u.left-f)}},onEnd:function(){if(this.headerCt.dragging=!1,this.dragHd){if(!this.dynamic){var u=this.dragHd,n=this.headerCt.up("[scrollerOwner]"),i=n.getLhsMarker(),r=n.getRhsMarker(),t=-9999;i.setLeft(t);r.setLeft(t)}this.doResize()}},doResize:function(){if(this.dragHd){var t=this.dragHd,n,i=this.tracker.getOffset("point");t.flex&&delete t.flex;Ext.suspendLayouts();t.setWidth(this.origWidth+i[0]);this.headerCt.forceFit&&(n=t.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])"),n&&(delete n.flex,n.setWidth(n.getWidth()-i[0])));Ext.resumeLayouts(!0)}},disable:function(){this.disabled=!0;this.tracker&&this.tracker.disable()},enable:function(){this.disabled=!1;this.tracker&&this.tracker.enable()}});Ext.define("Ext.grid.header.DragZone",{extend:"Ext.dd.DragZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",maxProxyWidth:120,constructor:function(n){this.headerCt=n;this.ddGroup=this.getDDGroup();this.callParent([n.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(n){var i=n.getTarget("."+this.colHeaderCls),t,r;return i&&(t=Ext.getCmp(i.id),!this.headerCt.dragging&&t.draggable&&!(t.isOnLeftEdge(n)||t.isOnRightEdge(n)))?(r=document.createElement("div"),r.innerHTML=Ext.getCmp(i.id).text,{ddel:r,header:t}):!1},onBeforeDrag:function(){return!(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=!0;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=!1;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=!1},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=!0},enable:function(){this.disabled=!1}});Ext.define("Ext.grid.header.DropZone",{extend:"Ext.dd.DropZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(n){this.headerCt=n;this.ddGroup=this.getDDGroup();this.callParent([n.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(n){return n.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){return this.topIndicator||(this.topIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:"&#160;"},!0)),this.topIndicator},getBottomIndicator:function(){return this.bottomIndicator||(this.bottomIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:"&#160;"},!0)),this.bottomIndicator},getLocation:function(n,t){var u=n.getXY()[0],i=Ext.fly(t).getRegion(),r;return r=i.right-u<=(i.right-i.left)/2?"after":"before",{pos:r,header:Ext.getCmp(t.id),node:t}},positionIndicator:function(n,t,i){var s=this.getLocation(i,t),r=s.header,h=s.pos,d=n.nextSibling("gridcolumn:not([hidden])"),g=n.previousSibling("gridcolumn:not([hidden])"),c,l,a,v,u,f,y,p,w,b,k,e,o;if(!r.draggable&&r.getIndex()===0)return!1;if(this.lastLocation=s,n===r||(h!=="before"||d===r)&&(h!=="after"||g===r)||r.isDescendantOf(n))this.invalidateDrop();else{for(b=Ext.dd.DragDropManager.getRelated(this),k=b.length,e=0;e<k;e++)o=b[e],o!==this&&o.invalidateDrop&&o.invalidateDrop();this.valid=!0;c=this.getTopIndicator();l=this.getBottomIndicator();h==="before"?(a="tl",v="bl"):(a="tr",v="br");u=r.el.getAnchorXY(a);f=r.el.getAnchorXY(v);y=this.headerCt.el;p=y.getLeft();w=y.getRight();u[0]=Ext.Number.constrain(u[0],p,w);f[0]=Ext.Number.constrain(f[0],p,w);u[0]-=4;u[1]-=9;f[0]-=4;c.setXY(u);l.setXY(f);c.show();l.show()}},invalidateDrop:function(){this.valid=!1;this.hideIndicators()},onNodeOver:function(n,t,i,r){var u=this,s=u.headerCt,f=!0,o=r.header,e;return r.header.el.dom===n?f=!1:(e=u.getLocation(i,n).header,f=o.ownerCt===e.ownerCt||!o.ownerCt.sealed&&!e.ownerCt.sealed),f?u.positionIndicator(r.header,n,i):u.valid=!1,u.valid?u.dropAllowed:u.dropNotAllowed},hideIndicators:function(){this.getTopIndicator().hide();this.getBottomIndicator().hide()},onNodeOut:function(){this.hideIndicators()},onNodeDrop:function(n,t,i,r){if(this.valid){var u=r.header,v=this.lastLocation,s=v.header,f=u.ownerCt,h=u.up("headercontainer:not(gridcolumn)"),y=f.items.indexOf(u),e=s.ownerCt,c=s.up("headercontainer:not(gridcolumn)"),o=e.items.indexOf(s),l=this.headerCt,b=l.getHeaderIndex(u),k=u.isGroupHeader?u.query(":not([isGroupHeader])").length:1,p=l.getHeaderIndex(s),w,a;if(v.pos==="after"&&(o++,p+=s.isGroupHeader?s.query(":not([isGroupHeader])").length:1),h!==c&&h.lockableInjected&&c.lockableInjected&&c.lockedCt){a=f.up("[scrollerOwner]");a.lock(u,o);this.onNodeDrop(n,t,i,r)}else if(h!==c&&h.lockableInjected&&c.lockableInjected&&h.lockedCt){a=f.up("[scrollerOwner]");a.unlock(u,o);this.onNodeDrop(n,t,i,r)}else{this.invalidateDrop();f===e&&o>y&&(o-=1);Ext.suspendLayouts();f!==e&&(f.remove(u,!1),f.isGroupHeader&&(f.items.getCount()||(w=f.ownerCt,w.remove(f,!1),f.el.dom.parentNode.removeChild(f.el.dom))));f===e?e.move(y,o):e.insert(o,u);e.isGroupHeader?e!==f&&(u.savedFlex=u.flex,delete u.flex,u.width=u.getWidth()):u.savedFlex&&(u.flex=u.savedFlex,delete u.width);l.purgeCache();Ext.resumeLayouts(!0);l.onHeaderMoved(u,k,b,p);f.items.getCount()||f.destroy()}}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.AbstractPlugin",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(n){this.headerCt=n;n.on({render:this.onHeaderCtRender,single:!0,scope:this})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){var n=this;n.dragZone=new Ext.grid.header.DragZone(n.headerCt);n.dropZone=new Ext.grid.header.DropZone(n.headerCt);n.disabled&&n.dragZone.disable()},enable:function(){this.disabled=!1;this.dragZone&&this.dragZone.enable()},disable:function(){this.disabled=!0;this.dragZone&&this.dragZone.disable()}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",requires:["Ext.grid.ColumnLayout","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],uses:["Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator"],border:!0,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",detachOnRemove:!1,defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:!1,ddLock:!1,dragging:!1,sortable:!0,initComponent:function(){var n=this;n.headerCounter=0;n.plugins=n.plugins||[];n.isHeader||(n.enableColumnResize&&(n.resizer=new Ext.grid.plugin.HeaderResizer,n.plugins.push(n.resizer)),n.enableColumnMove&&(n.reorderer=new Ext.grid.plugin.HeaderReorderer,n.plugins.push(n.reorderer)));n.layout=n.isHeader&&!n.items?n.layout||"auto":Ext.apply({type:"gridcolumn",align:"stretchmax"},n.initialConfig.layout);n.defaults=n.defaults||{};Ext.applyIf(n.defaults,{triStateSort:n.triStateSort,sortable:n.sortable});n.menuTask=new Ext.util.DelayedTask(n.updateMenuDisabledState,n);n.callParent();n.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){var n=this;n.menuTask.cancel();Ext.destroy(n.resizer,n.reorderer);n.callParent()},applyColumnsState:function(n){if(n&&n.length)for(var e=this,o=e.items.items,s=o.length,u=0,h=n.length,t,f,i,r=0;r<h;r++)for(f=n[r],i=s;i--;)if(t=o[i],t.getStateId&&t.getStateId()==f.id){u!==i&&e.moveHeader(i,u);t.applyColumnState&&t.applyColumnState(f);++u;break}},getColumnsState:function(){var i=this,t=[],n;return i.items.each(function(i){n=i.getColumnState&&i.getColumnState();n&&t.push(n)}),t},onAdd:function(n){var t=this,i=t.isHeader?t.getOwnerHeaderCt():t;n.headerId||(n.headerId=n.initialConfig.id||Ext.id(null,"header-"));n.stateId||(n.stateId=n.initialConfig.id||"h"+ ++t.headerCounter);t.callParent(arguments);i&&i.purgeCache()},onRemove:function(){var n=this,t=n.isHeader?n.getOwnerHeaderCt():n;n.callParent(arguments);t&&n.purgeCache()},applyDefaults:function(n){var t;return n&&!n.isComponent&&n.xtype=="rownumberer"?t=n:(t=this.callParent(arguments),n.isGroupHeader||"width"in t||t.flex||(t.width=this.defaultWidth)),t},afterRender:function(){this.callParent();this.setSortState()},setSortState:function(){var i=this.up("[store]").store,n=i.getFirstSorter(),t;n?(t=this.down("gridcolumn[dataIndex="+n.property+"]"),t&&t.setSortState(n.direction,!1,!0)):this.clearOtherSortStates(null)},getHeaderMenu:function(){var t=this.getMenu(),n;return t&&(n=t.child("#columnItem"),n)?n.menu:null},onHeaderVisibilityChange:function(n,t){var i=this,u=i.getHeaderMenu(),r;u&&(r=i.getMenuItemForHeader(u,n),r&&r.setChecked(t,!0),i.menuTask.delay(50))},getLeafMenuItems:function(){for(var t=this,u=t.getGridColumns(),f=[],i=0,r=0,e=u.length,o=t.getMenu(),n;i<e;++i)n=u[i],n.hideable?(n=t.getMenuItemForHeader(o,n),n&&(f.push(n),n.checked&&++r)):n.hidden||n.menuDisabled||++r;return{items:f,checkedCount:r}},updateMenuDisabledState:function(){var n=this,r=n.getLeafMenuItems(),u=r.checkedCount,t=r.items,e=t.length,i=0,f=n.getMenu().child("#columnItem");if(u<=1)n.disableMenuItems(f,Ext.ComponentQuery.query("[checked=true]",t)[0]);else for(;i<e;++i)n.setMenuItemState(u,f,t[i])},disableMenuItems:function(n,t){while(t&&t!=n)t.disableCheckChange(),t=t.parentMenu.ownerItem},setMenuItemState:function(n,t,i){for(var r,u;i&&i!=t;)if(r=i.parentMenu,u=i.parentMenu.query("[checked=true]:not([menu])").length,i.enableCheckChange(),i=r.ownerItem,u===n)break;this.disableMenuItems(t,i)},getMenuItemForHeader:function(n,t){return t?n.down("menucheckitem[headerId="+t.id+"]"):null},onHeaderShow:function(n){var t=this,i=t.ownerCt;t.onHeaderVisibilityChange(n,!0);if(!n.isGroupHeader&&i)i.onHeaderShow(t,n);t.fireEvent("columnshow",t,n)},onHeaderHide:function(n){var t=this,i=t.ownerCt;t.onHeaderVisibilityChange(n,!1);if(!n.isGroupHeader&&i)i.onHeaderHide(t,n);t.fireEvent("columnhide",t,n)},tempLock:function(){this.ddLock=!0;Ext.Function.defer(function(){this.ddLock=!1},200,this)},onHeaderResize:function(n,t){var i=this,r=i.view,u=i.ownerCt;if(r&&r.table.dom&&(i.tempLock(),u))u.onHeaderResize(i,n,t);i.fireEvent("columnresize",this,n,t)},onHeaderClick:function(n,t,i){n.fireEvent("headerclick",this,n,t,i);this.fireEvent("headerclick",this,n,t,i)},onHeaderTriggerClick:function(n,t,i){var r=this;n.fireEvent("headertriggerclick",r,n,t,i)!==!1&&r.fireEvent("headertriggerclick",r,n,t,i)!==!1&&r.showMenuBy(i,n)},showMenuBy:function(n,t){var i=this.getMenu(),u=i.down("#ascItem"),f=i.down("#descItem"),r;i.activeHeader=i.ownerCt=t;i.setFloatParent(t);t.titleEl.addCls(this.headerOpenCls);r=t.sortable?"enable":"disable";u&&u[r]();f&&f[r]();i.showBy(n)},onMenuDeactivate:function(){var n=this.getMenu();n.activeHeader.titleEl.removeCls(this.headerOpenCls)},moveHeader:function(n,t){this.tempLock();this.onHeaderMoved(this.move(n,t),1,n,t)},purgeCache:function(){var n=this;delete n.gridDataColumns;delete n.hideableColumns;n.menu&&(n.menu.hide(),n.menu.destroy(),delete n.menu)},onHeaderMoved:function(n,t,i,r){var u=this,f=u.ownerCt;if(f&&f.onHeaderMove)f.onHeaderMove(u,n,t,i,r);u.fireEvent("columnmove",u,n,i,r)},getMenu:function(){var n=this;return n.menu||(n.menu=new Ext.menu.Menu({hideOnParentHide:!1,items:n.getMenuItems(),listeners:{deactivate:n.onMenuDeactivate,scope:n}}),n.updateMenuDisabledState(),n.fireEvent("menucreate",n,n.menu)),n.menu},getMenuItems:function(){var n=this,t=[],i=n.enableColumnHide?n.getColumnMenu(n):null;return n.sortable&&(t=[{itemId:"ascItem",text:n.sortAscText,cls:Ext.baseCSSPrefix+"hmenu-sort-asc",handler:n.onSortAscClick,scope:n},{itemId:"descItem",text:n.sortDescText,cls:Ext.baseCSSPrefix+"hmenu-sort-desc",handler:n.onSortDescClick,scope:n}]),i&&i.length&&t.push("-",{itemId:"columnItem",text:n.columnsText,cls:Ext.baseCSSPrefix+"cols-icon",menu:i}),t},onSortAscClick:function(){var n=this.getMenu(),t=n.activeHeader;t.setSortState("ASC")},onSortDescClick:function(){var n=this.getMenu(),t=n.activeHeader;t.setSortState("DESC")},getColumnMenu:function(n){for(var u=[],r=0,t,f=n.query(">gridcolumn[hideable]"),e=f.length,i;r<e;r++){t=f[r];i=new Ext.menu.CheckItem({text:t.menuText||t.text,checked:!t.hidden,hideOnClick:!1,headerId:t.id,menu:t.isGroupHeader?this.getColumnMenu(t):undefined,checkHandler:this.onColumnCheckChange,scope:this});u.push(i);t.on({destroy:Ext.Function.bind(i.destroy,i)})}return u},onColumnCheckChange:function(n,t){var i=Ext.getCmp(n.headerId);i[t?"show":"hide"]()},getColumnsForTpl:function(n){for(var r=[],u=this.getGridColumns(n),e=u.length,i=0,t,f;i<e;i++)t=u[i],f=t.hidden||t.up("headercontainer[hidden=true]")?0:t.getDesiredWidth(),r.push({dataIndex:t.dataIndex,align:t.align,width:f,id:t.id,cls:t.tdCls,columnId:t.getItemId()});return r},getColumnCount:function(){return this.getGridColumns().length},getFullWidth:function(n){for(var r=0,u=this.getVisibleGridColumns(n),f=u.length,i=0,t;i<f;i++)t=u[i],r+=t.getDesiredWidth?t.getDesiredWidth()||0:t.getWidth();return r},clearOtherSortStates:function(n){for(var i=this.getGridColumns(),r=i.length,t=0;t<r;t++)i[t]!==n&&i[t].setSortState(null,!0)},getVisibleGridColumns:function(n){return Ext.ComponentQuery.query(":not([hidden])",this.getGridColumns(n))},getGridColumns:function(n){var t=this,i=n?null:t.gridDataColumns;return i||(t.gridDataColumns=i=[],t.cascade(function(n){n===t||n.isGroupHeader||i.push(n)})),i},getHideableColumns:function(n){var t=this,i=n?null:t.hideableColumns;return i||(i=t.hideableColumns=t.query("[hideable]")),i},getHeaderIndex:function(n){return n.isGroupHeader&&(n=n.down(":not([isgroupHeader])")),Ext.Array.indexOf(this.getGridColumns(),n)},getHeaderAtIndex:function(n){var t=this.getGridColumns();return t.length?t[n]:null},getVisibleHeaderClosestToIndex:function(n){var t=this.getHeaderAtIndex(n);return t&&t.hidden&&(t=t.next(":not([hidden])")||t.prev(":not([hidden])")),t},prepareData:function(n,t,i,r,u){for(var c=this,o={},v=c.gridDataColumns||c.getGridColumns(),y=v.length,l=0,e,s,a,f,h,p=u.store;l<y;l++)h={tdCls:"",style:""},e=v[l],s=e.id,a=e.renderer,f=n[e.dataIndex],typeof a=="function"&&(f=a.call(e.scope||c.ownerCt,f,h,i,t,l,p,r)),c.markDirty&&(o[s+"-modified"]=i.isModified(e.dataIndex)?Ext.baseCSSPrefix+"grid-dirty-cell":""),o[s+"-tdCls"]=h.tdCls,o[s+"-tdAttr"]=h.tdAttr,o[s+"-style"]=h.style,(typeof f=="undefined"||f===null||f==="")&&(f=e.emptyCellText),o[s]=f;return o},expandToFit:function(n){var t=this.view;t&&t.expandToFit(n)}});Ext.define("Ext.grid.column.Column",{extend:"Ext.grid.header.Container",alias:"widget.gridcolumn",requires:["Ext.util.KeyNav","Ext.grid.ColumnComponentLayout","Ext.grid.ColumnLayout"],alternateClassName:"Ext.grid.Column",baseCls:Ext.baseCSSPrefix+"column-header "+Ext.baseCSSPrefix+"unselectable",hoverCls:Ext.baseCSSPrefix+"column-header-over",handleWidth:5,sortState:null,possibleSortStates:["ASC","DESC"],childEls:["titleEl","triggerEl","textEl"],renderTpl:'<div id="{id}-titleEl" {tipMarkup}class="'+Ext.baseCSSPrefix+'column-header-inner"><span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'column-header-text">{text}<\/span><tpl if="!menuDisabled"><div id="{id}-triggerEl" class="'+Ext.baseCSSPrefix+'column-header-trigger"><\/div><\/tpl><\/div>{%this.renderContainer(out,values)%}',dataIndex:null,text:"&#160;",menuText:null,emptyCellText:"&#160;",sortable:!0,resizable:!0,hideable:!0,menuDisabled:!1,renderer:!1,editRenderer:!1,align:"left",draggable:!0,tooltipType:"qtip",initDraggable:Ext.emptyFn,isHeader:!0,componentLayout:"columncomponent",initResizable:Ext.emptyFn,initComponent:function(){var n=this,t;Ext.isDefined(n.header)&&(n.text=n.header,delete n.header);n.triStateSort||(n.possibleSortStates.length=2);Ext.isDefined(n.columns)?(n.isGroupHeader=!0,n.items=n.columns,delete n.columns,delete n.flex,delete n.width,n.cls=(n.cls||"")+" "+Ext.baseCSSPrefix+"group-header",n.sortable=!1,n.resizable=!1,n.align="center"):(n.isContainer=!1,n.flex&&(n.minWidth=n.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth));n.addCls(Ext.baseCSSPrefix+"column-header-align-"+n.align);t=n.renderer;t?(typeof t=="string"&&(n.renderer=Ext.util.Format[t]),n.hasCustomRenderer=!0):n.defaultRenderer&&(n.scope=n,n.renderer=n.defaultRenderer);n.callParent(arguments);n.on({element:"el",click:n.onElClick,dblclick:n.onElDblClick,scope:n});n.on({element:"titleEl",mouseenter:n.onTitleMouseOver,mouseleave:n.onTitleMouseOut,scope:n})},onAdd:function(n){n.isSubHeader=!0;n.addCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},onRemove:function(n){n.isSubHeader=!1;n.removeCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},initRenderData:function(){var n=this,t="",i=n.tooltip,r=n.tooltipType=="qtip"?"data-qtip":"title";return Ext.isEmpty(i)||(t=r+'="'+i+'" '),Ext.applyIf(n.callParent(arguments),{text:n.text,menuDisabled:n.menuDisabled,tipMarkup:t})},applyColumnState:function(n){var t=this,i=Ext.isDefined;t.applyColumnsState(n.columns);i(n.hidden)&&(t.hidden=n.hidden);i(n.locked)&&(t.locked=n.locked);i(n.sortable)&&(t.sortable=n.sortable);i(n.width)?(delete t.flex,t.width=n.width):i(n.flex)&&(delete t.width,t.flex=n.flex)},getColumnState:function(){var n=this,r=n.items.items,f=r?r.length:0,i,u=[],t={id:n.getStateId()};if(n.savePropsToState(["hidden","sortable","locked","flex","width"],t),n.isGroupHeader){for(i=0;i<f;i++)u.push(r[i].getColumnState());u.length&&(t.columns=u)}else n.isSubHeader&&n.ownerCt.hidden&&delete n.hidden;return"width"in t&&delete t.flex,t},getStateId:function(){return this.stateId||this.headerId},setText:function(n){this.text=n;this.rendered&&this.textEl.update(n)},getOwnerHeaderCt:function(){return this.up(":not([isHeader])")},getIndex:function(){return this.isGroupColumn?!1:this.getOwnerHeaderCt().getHeaderIndex(this)},getVisibleIndex:function(){return this.isGroupColumn?!1:Ext.Array.indexOf(this.getOwnerHeaderCt().getVisibleGridColumns(),this)},beforeRender:function(){var n=this,t=n.up("tablepanel");n.callParent();!t||n.sortable&&t.sortableColumns!==!1||n.groupable||n.lockable||t.enableColumnHide!==!1&&n.getOwnerHeaderCt().getHideableColumns().length||(n.menuDisabled=!0)},afterRender:function(){var n=this,t=n.el;n.callParent(arguments);n.overCls&&t.addClsOnOver(n.overCls);Ext.isIE8&&Ext.isStrict||n.mon(n.getFocusEl(),{focus:n.onTitleMouseOver,blur:n.onTitleMouseOut,scope:n});n.keyNav=new Ext.util.KeyNav(t,{enter:n.onEnterKey,down:n.onDownKey,scope:n})},afterComponentLayout:function(n,t,i){var r=this,u=r.getOwnerHeaderCt();if(r.callParent(arguments),u&&(i!=null||r.flex)&&n!==i)u.onHeaderResize(r,n,!0)},setPadding:function(n){var t=this,u=parseInt(t.textEl.getStyle("line-height"),10),i=t.textEl.dom.offsetHeight,r=t.titleEl,e=n-t.el.getBorderWidth("tb"),f;t.isGroupHeader||r.getHeight()<e&&(r.setHeight(e),t.ownerCt.layout.innerCt.setHeight(n));f=r.getViewSize().height;i&&(u&&(i=Math.ceil(i/u)*u),r.setStyle({paddingTop:Math.floor(Math.max((f-i)/2,0))+"px"}));Ext.isIE&&t.triggerEl&&t.triggerEl.setHeight(f)},onDestroy:function(){var n=this;Ext.destroy(n.textEl,n.keyNav,n.field);delete n.keyNav;n.callParent(arguments)},onTitleMouseOver:function(){this.titleEl.addCls(this.hoverCls)},onTitleMouseOut:function(){this.titleEl.removeCls(this.hoverCls)},onDownKey:function(n){if(this.triggerEl)this.onElClick(n,this.triggerEl.dom||this.el.dom)},onEnterKey:function(n){this.onElClick(n,this.el.dom)},onElDblClick:function(n){var t=this,i=t.ownerCt;i&&Ext.Array.indexOf(i.items,t)!==0&&t.isOnLeftEdge(n)&&i.expandToFit(t.previousSibling("gridcolumn"))},onElClick:function(n,t){var i=this,r=i.getOwnerHeaderCt();if(r&&!r.ddLock)if(i.triggerEl&&(n.target===i.triggerEl.dom||t===i.triggerEl.dom||n.within(i.triggerEl)))r.onHeaderTriggerClick(i,n,t);else if(n.getKey()||!i.isOnLeftEdge(n)&&!i.isOnRightEdge(n)){i.toggleSortState();r.onHeaderClick(i,n,t)}},processEvent:function(){return this.fireEvent.apply(this,arguments)},toggleSortState:function(){var n=this,t,i;n.sortable&&(t=Ext.Array.indexOf(n.possibleSortStates,n.sortState),i=(t+1)%n.possibleSortStates.length,n.setSortState(n.possibleSortStates[i]))},doSort:function(n){var t=this.up("tablepanel").store;t.sort({property:this.getSortParam(),direction:n})},getSortParam:function(){return this.dataIndex},setSortState:function(n,t,i){var r=this,u=Ext.baseCSSPrefix+"column-header-sort-",e=u+"ASC",o=u+"DESC",s=u+"null",f=r.getOwnerHeaderCt(),h=r.sortState;if(h!==n&&r.getSortParam()){r.addCls(u+n);n&&!i&&r.doSort(n);switch(n){case"DESC":r.removeCls([e,s]);break;case"ASC":r.removeCls([o,s]);break;case null:r.removeCls([e,o])}!f||r.triStateSort||t||f.clearOtherSortStates(r);r.sortState=n;(r.triStateSort||n!=null)&&f.fireEvent("sortchange",f,r,n)}},hide:function(n){var t=this,o=t.getOwnerHeaderCt(),f=t.ownerCt,s=f.isGroupHeader,u,i,e,r;if(s&&!n&&(i=f.query(">:not([hidden])"),i.length===1&&i[0]==t)){t.ownerCt.hide();return}if(Ext.suspendLayouts(),t.isGroupHeader)for(i=t.items.items,r=0,e=i.length;r<e;r++)u=i[r],u.hidden||u.hide(!0);t.callParent();o.onHeaderHide(t);Ext.resumeLayouts(!0)},show:function(n,t){var i=this,r=i.ownerCt,f,o,u,e;if(Ext.suspendLayouts(),i.isSubHeader&&r.hidden&&r.show(!1,!0),i.callParent(arguments),i.isGroupHeader&&t!==!0&&!i.query(":not([hidden])").length)for(f=i.query(">*"),u=0,o=f.length;u<o;u++)e=f[u],e.hidden&&e.show(!0);if(Ext.resumeLayouts(!0),r=i.getOwnerHeaderCt(),r)r.onHeaderShow(i)},getDesiredWidth:function(){var n=this;return n.rendered&&n.componentLayout&&n.componentLayout.lastComponentSize?n.componentLayout.lastComponentSize.width:n.flex?n.width:n.width},getCellSelector:function(){return"."+Ext.baseCSSPrefix+"grid-cell-"+this.getItemId()},getCellInnerSelector:function(){return this.getCellSelector()+" ."+Ext.baseCSSPrefix+"grid-cell-inner"},isOnLeftEdge:function(n){return n.getXY()[0]-this.el.getLeft()<=this.handleWidth},isOnRightEdge:function(n){return this.el.getRight()-n.getXY()[0]<=this.handleWidth}});Ext.define("Ext.grid.RowNumberer",{extend:"Ext.grid.column.Column",alias:"widget.rownumberer",text:"&#160",width:23,sortable:!1,draggable:!1,align:"right",constructor:function(){this.width=this.width;this.callParent(arguments);this.rowspan&&(this.renderer=Ext.Function.bind(this.renderer,this))},resizable:!1,hideable:!1,menuDisabled:!0,dataIndex:"",cls:Ext.baseCSSPrefix+"row-numberer",rowspan:undefined,renderer:function(n,t,i,r,u,f){return this.rowspan&&(t.cellAttr='rowspan="'+this.rowspan+'"'),t.tdCls=Ext.baseCSSPrefix+"grid-cell-special",f.indexOfTotal(i)+1}});Ext.define("Ext.view.DropZone",{extend:"Ext.dd.DropZone",indicatorHtml:'<div class="'+Ext.baseCSSPrefix+'grid-drop-indicator-left"><\/div><div class="'+Ext.baseCSSPrefix+'grid-drop-indicator-right"><\/div>',indicatorCls:Ext.baseCSSPrefix+"grid-drop-indicator",constructor:function(n){var t=this;Ext.apply(t,n);t.ddGroup||(t.ddGroup="view-dd-zone-"+t.view.id);t.callParent([t.view.el])},fireViewEvent:function(){var n=this,t;return n.lock(),t=n.view.fireEvent.apply(n.view,arguments),n.unlock(),t},getTargetFromEvent:function(n){var u=n.getTarget(this.view.getItemSelector()),f,i,r,t,e,o;if(!u)for(f=n.getPageY(),t=0,i=this.view.getNodes(),e=i.length;t<e;t++)if(r=i[t],o=Ext.fly(r).getBox(),f<=o.bottom)return r;return u},getIndicator:function(){var n=this;return n.indicator||(n.indicator=new Ext.Component({html:n.indicatorHtml,cls:n.indicatorCls,ownerCt:n.view,floating:!0,shadow:!1})),n.indicator},getPosition:function(n,t){var r=n.getXY()[1],i=Ext.fly(t).getRegion();return i.bottom-r>=(i.bottom-i.top)/2?"before":"after"},containsRecordAtOffset:function(n,t,i){if(!t)return!1;var r=this.view,e=r.indexOf(t),u=r.getNode(e+i),f=u?r.getRecord(u):null;return f&&Ext.Array.contains(n,f)},positionIndicator:function(n,t,i){var r=this,e=r.view,u=r.getPosition(i,n),f=e.getRecord(n),o=t.records,s;Ext.Array.contains(o,f)||(u!="before"||r.containsRecordAtOffset(o,f,-1))&&(u!="after"||r.containsRecordAtOffset(o,f,1))?r.invalidateDrop():(r.valid=!0,(r.overRecord!=f||r.currentPosition!=u)&&(s=Ext.fly(n).getY()-e.el.getY()-1,u=="after"&&(s+=Ext.fly(n).getHeight()),r.getIndicator().setWidth(Ext.fly(e.el).getWidth()).showAt(0,s),r.overRecord=f,r.currentPosition=u))},invalidateDrop:function(){this.valid&&(this.valid=!1,this.getIndicator().hide())},onNodeOver:function(n,t,i,r){var u=this;return Ext.Array.contains(r.records,u.view.getRecord(n))||u.positionIndicator(n,r,i),u.valid?u.dropAllowed:u.dropNotAllowed},notifyOut:function(){var n=this;n.callParent(arguments);delete n.overRecord;delete n.currentPosition;n.indicator&&n.indicator.hide()},onContainerOver:function(n,t,i){var r=this,u=r.view,f=u.store.getCount();return f?r.positionIndicator(u.getNode(f-1),i,t):(delete r.overRecord,delete r.currentPosition,r.getIndicator().setWidth(Ext.fly(u.el).getWidth()).showAt(0,0),r.valid=!0),r.dropAllowed},onContainerDrop:function(n,t,i){return this.onNodeDrop(n,null,t,i)},onNodeDrop:function(n,t,i,r){var u=this,f=!1,e={wait:!1,processDrop:function(){u.invalidateDrop();u.handleNodeDrop(r,u.overRecord,u.currentPosition);f=!0;u.fireViewEvent("drop",n,r,u.overRecord,u.currentPosition)},cancelDrop:function(){u.invalidateDrop();f=!0}},o=!1;if(u.valid){if(o=u.fireViewEvent("beforedrop",n,r,u.overRecord,u.currentPosition,e),e.wait)return;o!==!1&&(f||e.processDrop())}return o},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'<div class="'+Ext.baseCSSPrefix+'grid-drop-indicator-left"><\/div><div class="'+Ext.baseCSSPrefix+'grid-drop-indicator-right"><\/div>',indicatorCls:Ext.baseCSSPrefix+"grid-drop-indicator",handleNodeDrop:function(n,t,i){var f=this.view,o=f.getStore(),e,u,r,s;if(n.copy)for(u=n.records,n.records=[],r=0,s=u.length;r<s;r++)n.records.push(u[r].copy(u[r].getId()));else n.view.store.remove(n.records,n.view===f);e=o.indexOf(t);i!=="before"&&e++;o.insert(e,n.records);f.getSelectionModel().select(n.records)}});Ext.define("Ext.grid.column.Action",{extend:"Ext.grid.column.Column",alias:["widget.actioncolumn"],alternateClassName:"Ext.grid.ActionColumn",actionIdRe:new RegExp(Ext.baseCSSPrefix+"action-col-(\\d+)"),altText:"",menuText:"<i>Actions<\/i>",sortable:!1,constructor:function(n){var t=this,i=Ext.apply({},n),u=i.items||[t],f,r,e;for(t.origRenderer=i.renderer||t.renderer,t.origScope=i.scope||t.scope,delete t.renderer,delete t.scope,delete i.renderer,delete i.scope,delete i.items,t.callParent([i]),t.items=u,r=0,e=u.length;r<e;++r)if(u[r].getClass){f=!0;break}(t.origRenderer||f)&&(t.hasCustomRenderer=!0)},defaultRenderer:function(n,t){var r=this,f=Ext.baseCSSPrefix,e=r.origScope||r,o=r.items,s=o.length,u=0,i;for(n=Ext.isFunction(r.origRenderer)?r.origRenderer.apply(e,arguments)||"":"",t.tdCls+=" "+Ext.baseCSSPrefix+"action-col-cell";u<s;u++)i=o[u],i.hasActionConfiguration||(i.stopSelection=r.stopSelection,i.disable=Ext.Function.bind(r.disableAction,r,[u],0),i.enable=Ext.Function.bind(r.enableAction,r,[u],0),i.hasActionConfiguration=!0),n+='<img alt="'+(i.altText||r.altText)+'" src="'+(i.icon||Ext.BLANK_IMAGE_URL)+'" class="'+f+"action-col-icon "+f+"action-col-"+String(u)+" "+(i.disabled?f+"item-disabled":" ")+" "+(Ext.isFunction(i.getClass)?i.getClass.apply(i.scope||e,arguments):i.iconCls||r.iconCls||"")+'"'+(i.tooltip?' data-qtip="'+i.tooltip+'"':"")+" />";return n},enableAction:function(n,t){var i=this;n?Ext.isNumber(n)||(n=Ext.Array.indexOf(i.items,n)):n=0;i.items[n].disabled=!1;i.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+n).removeCls(i.disabledCls);t||i.fireEvent("enable",i)},disableAction:function(n,t){var i=this;n?Ext.isNumber(n)||(n=Ext.Array.indexOf(i.items,n)):n=0;i.items[n].disabled=!0;i.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+n).addCls(i.disabledCls);t||i.fireEvent("disable",i)},destroy:function(){return delete this.items,delete this.renderer,this.callParent(arguments)},processEvent:function(n,t,i,r,u,f,e,o){var h=this,c=f.getTarget(),v,s,l,a=n=="keydown"&&f.getKey();if(a&&!Ext.fly(c).findParent(t.cellSelector)&&(c=Ext.fly(i).down("."+Ext.baseCSSPrefix+"action-col-icon",!0)),c&&(v=c.className.match(h.actionIdRe))&&(s=h.items[parseInt(v[1],10)],s))if(n=="click"||a==f.ENTER||a==f.SPACE)l=s.handler||h.handler,l&&!s.disabled&&l.call(s.scope||h.origScope||h,t,r,u,s,f,e,o);else if(n=="mousedown"&&s.stopSelection!==!1)return!1;return h.callParent(arguments)},cascade:function(n,t){n.call(t||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.grid.column.Boolean",{extend:"Ext.grid.column.Column",alias:["widget.booleancolumn"],alternateClassName:"Ext.grid.BooleanColumn",trueText:"true",falseText:"false",undefinedText:"&#160;",defaultRenderer:function(n){return n===undefined?this.undefinedText:!n||n==="false"?this.falseText:this.trueText}});Ext.define("Ext.grid.column.Date",{extend:"Ext.grid.column.Column",alias:["widget.datecolumn"],requires:["Ext.Date"],alternateClassName:"Ext.grid.DateColumn",initComponent:function(){this.format||(this.format=Ext.Date.defaultFormat);this.callParent(arguments)},defaultRenderer:function(n){return Ext.util.Format.date(n,this.format)}});Ext.define("Ext.grid.column.Number",{extend:"Ext.grid.column.Column",alias:["widget.numbercolumn"],requires:["Ext.util.Format"],alternateClassName:"Ext.grid.NumberColumn",format:"0,000.00",defaultRenderer:function(n){return Ext.util.Format.number(n,this.format)}});Ext.define("Ext.grid.column.Template",{extend:"Ext.grid.column.Column",alias:["widget.templatecolumn"],requires:["Ext.XTemplate"],alternateClassName:"Ext.grid.TemplateColumn",initComponent:function(){var n=this;n.tpl=!Ext.isPrimitive(n.tpl)&&n.tpl.compile?n.tpl:new Ext.XTemplate(n.tpl);n.hasCustomRenderer=!0;n.callParent(arguments)},defaultRenderer:function(n,t,i){var r=Ext.apply({},i.data,i.getAssociatedData());return this.tpl.apply(r)}});Ext.define("Ext.grid.feature.Feature",{extend:"Ext.util.Observable",alias:"feature.feature",isFeature:!0,disabled:!1,hasFeatureEvent:!0,eventPrefix:null,eventSelector:null,view:null,grid:null,collectData:!1,constructor:function(n){this.initialConfig=n;this.callParent(arguments)},clone:function(){return new this.self(this.initialConfig)},init:Ext.emptyFn,getFeatureTpl:function(){return""},getFireEventArgs:function(n,t,i,r){return[n,t,i,r]},attachEvents:function(){},getFragmentTpl:Ext.emptyFn,mutateMetaRowTpl:Ext.emptyFn,getMetaRowTplFragments:function(){return{}},getTableFragments:function(){return{}},getAdditionalData:function(){return{}},enable:function(){this.disabled=!1},disable:function(){this.disabled=!0}});Ext.define("Ext.grid.feature.AbstractSummary",{extend:"Ext.grid.feature.Feature",alias:"feature.abstractsummary",showSummaryRow:!0,nestedIdRe:/\{\{id\}([\w\-]*)\}/g,init:function(){var n=this;n.grid.optimizedColumnMove=!1;n.view.mon(n.view.store,{update:n.onStoreUpdate,scope:n})},onStoreUpdate:function(){var n=this.view;this.showSummaryRow&&(n.saveScrollState(),n.refresh(),n.restoreScrollState())},toggleSummaryRow:function(n){this.showSummaryRow=!!n},getSummaryFragments:function(){var n={};return this.showSummaryRow&&Ext.apply(n,{printSummaryRow:Ext.bind(this.printSummaryRow,this)}),n},printSummaryRow:function(n){var t=this.view.getTableChunker().metaRowTpl.join(""),i=Ext.baseCSSPrefix;return t=t.replace(i+"grid-row",i+"grid-row-summary"),t=t.replace("{{id}}","{gridSummaryValue}"),t=t.replace(this.nestedIdRe,"{id$1}"),t=t.replace("{[this.embedRowCls()]}","{rowCls}"),t=t.replace("{[this.embedRowAttr()]}","{rowAttr}"),t=new Ext.XTemplate(t,{firstOrLastCls:Ext.view.TableChunker.firstOrLastCls}),t.applyTemplate({columns:this.getPrintData(n)})},getColumnValue:function(n,t){var r=Ext.getCmp(n.id),i=t[n.id],u=r.summaryRenderer;return i||i===0||(i=" "),u&&(i=u.call(r.scope||this,i,t,n.dataIndex)),i},getSummary:function(n,t,i,r){if(t){if(Ext.isFunction(t))return n.aggregate(t,null,r);switch(t){case"count":return n.count(r);case"min":return n.min(i,r);case"max":return n.max(i,r);case"sum":return n.sum(i,r);case"average":return n.average(i,r);default:return r?{}:""}}}});Ext.define("Ext.grid.feature.Chunking",{extend:"Ext.grid.feature.Feature",alias:"feature.chunking",chunkSize:20,rowHeight:Ext.isIE?27:26,visibleChunk:0,hasFeatureEvent:!1,attachEvents:function(){this.view.el.on("scroll",this.onBodyScroll,this,{buffer:300})},onBodyScroll:function(n,t){var i=this.view,r=t.scrollTop,u=Math.floor(r/this.rowHeight/this.chunkSize);u!==this.visibleChunk&&(this.visibleChunk=u,i.refresh(),i.el.dom.scrollTop=r,i.el.dom.scrollTop=r)},collectData:function(n,t,i,r,u){var f=this,o=u.rows.length,e=0,s=0,h=f.visibleChunk,c,l,a=u.rows;for(delete u.rows,u.chunks=[];e<o;e+=f.chunkSize,s++)l=e+f.chunkSize>o?o-e:f.chunkSize,c=s>=h-1&&s<=h+1?a.slice(e,e+f.chunkSize):[],u.chunks.push({rows:c,fullWidth:r,chunkHeight:l*f.rowHeight});return u},getTableFragments:function(){return{openTableWrap:function(){return'<tpl for="chunks"><div class="'+Ext.baseCSSPrefix+'grid-chunk" style="height: {chunkHeight}px;">'},closeTableWrap:function(){return"<\/div><\/tpl>"}}}});Ext.define("Ext.grid.feature.Grouping",{extend:"Ext.grid.feature.Feature",alias:"feature.grouping",eventPrefix:"group",eventSelector:"."+Ext.baseCSSPrefix+"grid-group-hd",bodySelector:"."+Ext.baseCSSPrefix+"grid-group-body",constructor:function(){var n=this;n.collapsedState={};n.callParent(arguments)},groupHeaderTpl:"{columnName}: {name}",depthToIndent:17,collapsedCls:Ext.baseCSSPrefix+"grid-group-collapsed",hdCollapsedCls:Ext.baseCSSPrefix+"grid-group-hd-collapsed",hdCollapsibleCls:Ext.baseCSSPrefix+"grid-group-hd-collapsible",groupByText:"Group by this field",showGroupsText:"Show in groups",hideGroupedHeader:!1,startCollapsed:!1,enableGroupingMenu:!0,enableNoGroups:!0,collapsible:!0,enable:function(){var n=this,i=n.view,r=i.store,t;n.lastGroupField=n.getGroupField();n.lastGroupIndex&&(n.block(),r.group(n.lastGroupIndex),n.unblock());n.callParent();t=n.view.headerCt.getMenu().down("#groupToggleMenuItem");t.setChecked(!0,!0);n.refreshIf()},disable:function(){var n=this,u=n.view,t=u.store,f=t.remoteGroup,i,r;r=t.groupers.first();r&&(n.lastGroupIndex=r.property,n.block(),t.clearGrouping(),n.unblock());n.callParent();i=n.view.headerCt.getMenu().down("#groupToggleMenuItem");i.setChecked(!0,!0);i.setChecked(!1,!0);n.refreshIf()},refreshIf:function(){var n=this.grid.ownerCt,t=this.view;t.store.remoteGroup||this.blockRefresh||(n&&n.lockable?n.view.refresh():t.refresh())},getFeatureTpl:function(n,t){return["<tpl if=\"typeof rows !== 'undefined'\">",'<tr id="{groupHeaderId}" class="'+Ext.baseCSSPrefix+'grid-group-hd {hdCollapsedCls} {collapsibleClass}"><td class="'+Ext.baseCSSPrefix+'grid-cell" colspan="'+t.columns.length+'" {[this.indentByDepth(values)]}><div class="'+Ext.baseCSSPrefix+'grid-cell-inner"><div class="'+Ext.baseCSSPrefix+'grid-group-title">{collapsed}{[this.renderGroupHeaderTpl(values, parent)]}<\/div><\/div><\/td><\/tr>','<tr id="{groupBodyId}" class="'+Ext.baseCSSPrefix+'grid-group-body {collapsedCls}"><td colspan="'+t.columns.length+'">{[this.recurse(values)]}<\/td><\/tr>',"<\/tpl>"].join("")},getFragmentTpl:function(){var n=this;return{indentByDepth:n.indentByDepth,depthToIndent:n.depthToIndent,renderGroupHeaderTpl:function(t,i){return Ext.XTemplate.getTpl(n,"groupHeaderTpl").apply(t,i)}}},indentByDepth:function(n){return'style="padding-left:'+(n.depth||0)*this.depthToIndent+'px;"'},destroy:function(){delete this.view;delete this.prunedHeader},attachEvents:function(){var n=this,t=n.view;t.on({scope:n,groupclick:n.onGroupClick,rowfocus:n.onRowFocus});t.mon(t.store,{scope:n,groupchange:n.onGroupChange,remove:n.onRemove,add:n.onAdd,update:n.onUpdate});n.enableGroupingMenu&&n.injectGroupingMenu();n.pruneGroupedHeader();n.lastGroupField=n.getGroupField();n.block();n.onGroupChange();n.unblock()},onAdd:function(n,t){var s=this,h=s.view,l=s.getGroupField(),r=0,f=t.length,e,u,o,c,i;if(h.rendered){for(u={},e={};r<f;++r)i=t[r].get(l),u[i]===undefined&&(u[i]=0),u[i]+=1;for(o=n.getGroups(),r=0,f=o.length;r<f;++r)i=o[r],e[i.name]=i.children.length;for(i in u)if(u[i]===e[i]){c=!0;break}c&&h.refresh()}},onUpdate:function(n,t,i,r){var u=this.view;(u.rendered&&!r||Ext.Array.contains(r,this.getGroupField()))&&u.refresh()},onRemove:function(n,t){var i=this,r=i.getGroupField(),u=t.get(r),f=i.view;f.rendered&&n.findExact(r,u)===-1&&i.view.refresh()},injectGroupingMenu:function(){var n=this,t=n.view.headerCt;t.showMenuBy=n.showMenuBy;t.getMenuItems=n.getMenuItems()},showMenuBy:function(n,t){var i=this.getMenu(),r=i.down("#groupMenuItem"),u=t.groupable===!1?"disable":"enable";r[u]();Ext.grid.header.Container.prototype.showMenuBy.apply(this,arguments)},getMenuItems:function(){var n=this,t=n.groupByText,i=n.disabled||!n.getGroupField(),r=n.showGroupsText,u=n.enableNoGroups,f=n.view.headerCt.getMenuItems;return function(){var e=f.call(this);return e.push("-",{iconCls:Ext.baseCSSPrefix+"group-by-icon",itemId:"groupMenuItem",text:t,handler:n.onGroupMenuItemClick,scope:n}),u&&e.push({itemId:"groupToggleMenuItem",text:r,checked:!i,checkHandler:n.onGroupToggleMenuItemClick,scope:n}),e}},onGroupMenuItemClick:function(n){var t=this,i=n.parentMenu,r=i.activeHeader,u=t.view,f=u.store;delete t.lastGroupIndex;t.block();t.enable();f.group(r.dataIndex);t.pruneGroupedHeader();t.unblock();t.refreshIf()},block:function(){this.blockRefresh=this.view.blockRefresh=!0},unblock:function(){this.blockRefresh=this.view.blockRefresh=!1},onGroupToggleMenuItemClick:function(n,t){this[t?"enable":"disable"]()},pruneGroupedHeader:function(){var n=this,t=n.getGroupedHeader();n.hideGroupedHeader&&t&&(n.prunedHeader&&n.prunedHeader.show(),n.prunedHeader=t,t.hide())},getGroupedHeader:function(){var n=this.getGroupField(),t=this.view.headerCt;return n?t.down("[dataIndex="+n+"]"):null},getGroupField:function(){var n=this.view.store.groupers.first();return n?n.property:""},onRowFocus:function(n){var i=this.view.getNode(n),t=Ext.fly(i).up("."+this.collapsedCls);t&&this.expand(t)},isExpanded:function(n){return this.collapsedState[n]===!1},expand:function(n,t,i){var r=this,f=r.view,e,u,o=r.lockingPartner;Ext.isString(n)?u=Ext.fly(r.getGroupBodyId(n),"_grouping"):(u=Ext.fly(n,"_grouping"),n=r.getGroupName(u));e=Ext.get(r.getGroupHeaderId(n));r.collapsedState[n]&&(u.removeCls(r.collapsedCls),u.prev().removeCls(r.hdCollapsedCls),i!==!0&&f.refreshSize(),f.fireEvent("groupexpand",f,e,n),r.collapsedState[n]=!1,o&&o.expand(n,t,i),t&&u.scrollIntoView(f.el,null,!0))},expandAll:function(){for(var t=this,i=t.view,r=i.el.select(t.eventSelector).elements,u=r.length,n=0;n<u;n++)t.expand(Ext.fly(r[n]).next(),!1,!0);i.refreshSize()},collapse:function(n,t,i){var r=this,f=r.view,e,u,o=r.lockingPartner;Ext.isString(n)?u=Ext.fly(r.getGroupBodyId(n),"_grouping"):(u=Ext.fly(n,"_grouping"),n=r.getGroupName(u));e=Ext.get(r.getGroupHeaderId(n));r.collapsedState[n]||(u.addCls(r.collapsedCls),u.prev().addCls(r.hdCollapsedCls),i!==!0&&f.refreshSize(),f.fireEvent("groupcollapse",f,e,n),r.collapsedState[n]=!0,o&&o.collapse(n,t,i),t&&e.scrollIntoView(f.el,null,!0))},collapseAll:function(){for(var t=this,i=t.view,r=i.el.select(t.eventSelector).elements,u=r.length,n=0;n<u;n++)t.collapse(Ext.fly(r[n]).next(),!1,!0);i.refreshSize()},onGroupChange:function(){var n=this,i=n.getGroupField(),t,r,u;n.hideGroupedHeader&&(n.lastGroupField&&(t=n.getMenuItem(n.lastGroupField),t&&t.setChecked(!0)),i&&(r=n.view.headerCt.getVisibleGridColumns(),u=r.length===1&&r[0].dataIndex==i,t=n.getMenuItem(i),t&&!u&&t.setChecked(!1)));n.refreshIf();n.lastGroupField=i},getMenuItem:function(n){var t=this.view,i=t.headerCt.down("gridcolumn[dataIndex="+n+"]"),r=t.headerCt.getMenu();return i?r.down("menuitem[headerId="+i.id+"]"):null},onGroupClick:function(n,t,i){var r=this;r.collapsible&&(r.collapsedState[i]?r.expand(i):r.collapse(i))},getMetaRowTplFragments:function(){return{isRow:this.isRow,closeRow:this.closeRow}},isRow:function(){return"<tpl if=\"typeof rows === 'undefined'\">"},closeRow:function(){return"<\/tpl>"},mutateMetaRowTpl:function(n){n.unshift("{[this.isRow()]}");n.push("{[this.closeRow()]}")},getAdditionalData:function(n,t,i,r){var o=this.view,s=o.headerCt,e=s.items.getAt(0),u={},f;return e&&(f=e.id+"-tdAttr",u[f]=this.indentByDepth(n)+" "+(r[f]?r[f]:""),u.collapsed="true",u.data=i.getData()),u},getGroupRows:function(n,t,i,r){var u=this,l=n.children,a=n.rows=[],c=u.view,e=u.getGroupedHeader(),o=u.getGroupField(),s=-1,f,v=t.length,h;for(c.store.buffered&&(u.collapsible=!1),n.viewId=c.id,f=0;f<v;f++)h=t[f],h.get(o)==n.name&&(s=f),Ext.Array.indexOf(l,h)!=-1&&a.push(Ext.apply(i[f],{depth:1}));return n.groupField=o,n.groupHeaderId=u.getGroupHeaderId(n.name),n.groupBodyId=u.getGroupBodyId(n.name),n.fullWidth=r,n.columnName=e?e.text:o,n.groupValue=n.name,e&&s>-1&&(n.name=n.renderedValue=i[s][e.id]),u.collapsedState[n.name]?(n.collapsedCls=u.collapsedCls,n.hdCollapsedCls=u.hdCollapsedCls):n.collapsedCls=n.hdCollapsedCls="",n.collapsibleClass=u.collapsible?u.hdCollapsibleCls:"",n},getGroupHeaderId:function(n){return this.view.id+"-hd-"+n},getGroupBodyId:function(n){return this.view.id+"-bd-"+n},getGroupName:function(n){var i=this,t;return(t=Ext.fly(n).findParent(i.eventSelector),t)?t.id.split(this.view.id+"-hd-")[1]:(t=Ext.fly(n).findParent(i.bodySelector),t?t.id.split(this.view.id+"-bd-")[1]:void 0)},collectData:function(n,t,i,r,u){var f=this,h=f.view.store,a=f.collapsedState,c,e,o,l,s;if(f.startCollapsed&&(f.startCollapsed=!1,c=!0),!f.disabled&&h.isGrouped())for(u.rows=o=h.getGroups(),l=o.length,e=0;e<l;e++)s=o[e],c&&(a[s.name]=!0),f.getGroupRows(s,n,t,r);return u},getFireEventArgs:function(n,t,i,r){return[n,t,i,this.getGroupName(i),r]}});Ext.define("Ext.grid.feature.GroupingSummary",{extend:"Ext.grid.feature.Grouping",alias:"feature.groupingsummary",mixins:{summary:"Ext.grid.feature.AbstractSummary"},init:function(){this.mixins.summary.init.call(this)},getFeatureTpl:function(){var n=this.callParent(arguments);return this.showSummaryRow&&(n=n.replace("<\/tpl>","")+"{[this.printSummaryRow(xindex)]}<\/tpl>"),n},getFragmentTpl:function(){var n=this,t=n.callParent();return Ext.apply(t,n.getSummaryFragments()),n.showSummaryRow&&(n.summaryGroups=n.view.store.getGroups(),n.summaryData=n.generateSummaryData()),t},getPrintData:function(n){for(var i=this,u=i.view.headerCt.getColumnsForTpl(),r=0,e=u.length,f=[],o=i.summaryGroups[n-1].name,s=i.summaryData[o],t;r<e;++r)t=u[r],t.gridSummaryValue=this.getColumnValue(t,s),f.push(t);return f},generateSummaryData:function(){for(var r=this,f={},e={},v=r.view.store,k=this.getGroupField(),n=v.proxy.reader,y=r.summaryGroups,p=r.view.headerCt.getColumnsForTpl(),l,s,w,t,u,a,h,b,c,i=0,o=y.length;i<o;++i)f[y[i].name]={};if(r.remoteRoot&&n.rawData){for(w=n.root,n.root=r.remoteRoot,n.buildExtractors(!0),a=n.getRoot(n.rawData),b=a.length,n.convertRecordData||n.buildExtractors(),h=0;h<b;h++)c={},n.convertRecordData(c,a[h]),e[c[k]]=c;n.root=w;n.buildExtractors(!0)}for(i=0,o=p.length;i<o;++i){u=Ext.getCmp(p[i].id);s=r.getSummary(v,u.summaryType,u.dataIndex,!0);for(t in s)s.hasOwnProperty(t)&&(f[t][u.id]=s[t]);for(t in e)e.hasOwnProperty(t)&&(l=e[t][u.dataIndex],l!==undefined&&f[t]!==undefined&&(f[t][u.id]=l))}return f}});Ext.define("Ext.grid.feature.RowBody",{extend:"Ext.grid.feature.Feature",alias:"feature.rowbody",rowBodyHiddenCls:Ext.baseCSSPrefix+"grid-row-body-hidden",rowBodyTrCls:Ext.baseCSSPrefix+"grid-rowbody-tr",rowBodyTdCls:Ext.baseCSSPrefix+"grid-cell-rowbody",rowBodyDivCls:Ext.baseCSSPrefix+"grid-rowbody",eventPrefix:"rowbody",eventSelector:"."+Ext.baseCSSPrefix+"grid-rowbody-tr",getRowBody:function(){return['<tr class="'+this.rowBodyTrCls+' {rowBodyCls}">','<td class="'+this.rowBodyTdCls+'" colspan="{rowBodyColspan}">','<div class="'+this.rowBodyDivCls+'">{rowBody}<\/div>',"<\/td>","<\/tr>"].join("")},getMetaRowTplFragments:function(){return{getRowBody:this.getRowBody,rowBodyTrCls:this.rowBodyTrCls,rowBodyTdCls:this.rowBodyTdCls,rowBodyDivCls:this.rowBodyDivCls}},mutateMetaRowTpl:function(n){n.push("{[this.getRowBody(values)]}")},getAdditionalData:function(){var n=this.view.headerCt,t=n.getColumnCount();return{rowBody:"",rowBodyCls:this.rowBodyCls,rowBodyColspan:t}}});Ext.define("Ext.grid.feature.RowWrap",{extend:"Ext.grid.feature.Feature",alias:"feature.rowwrap",hasFeatureEvent:!1,init:function(){this.disabled||this.enable()},getRowSelector:function(){return"tr:has(> "+this.view.cellSelector+")"},enable:function(){var n=this,t=n.view;n.callParent();n.savedRowSelector=t.rowSelector;t.rowSelector=n.getRowSelector();t.getComponentLayout().getColumnSelector=n.getColumnSelector},disable:function(){var n=this,i=n.view,t=n.savedRowSelector;n.callParent();t&&(i.rowSelector=t);delete n.savedRowSelector},mutateMetaRowTpl:function(n){var t=Ext.baseCSSPrefix;n[0]=n[0].replace(t+"grid-row","");n[0]=n[0].replace("{[this.embedRowCls()]}","");n.unshift('<table class="'+t+"grid-table "+t+'grid-table-resizer" style="width: {[this.embedFullWidth()]}px;">');n.unshift('<tr class="'+t+'grid-row {[this.embedRowCls()]}"><td colspan="{[this.embedColSpan()]}"><div class="'+t+'grid-rowwrap-div">');n.push("<\/table>");n.push("<\/div><\/td><\/tr>")},embedColSpan:function(){return"{colspan}"},embedFullWidth:function(){return"{fullWidth}"},getAdditionalData:function(n,t,i,r){for(var h=this.view.headerCt,l=h.getColumnCount(),a=h.getFullWidth(),e=h.query("gridcolumn"),v=e.length,f=0,o={colspan:l,fullWidth:a},u,s,c;f<v;f++)u=e[f].id,s=u+"-tdCls",c=Ext.baseCSSPrefix+"grid-col-resizer-"+u,o[s]=c+" "+(r[s]?r[s]:""),o[u+"-tdAttr"]=' style="width: '+(e[f].hidden?0:e[f].getDesiredWidth())+'px;" ',r[u+"-tdAttr"]&&(o[u+"-tdAttr"]+=r[u+"-tdAttr"]);return o},getMetaRowTplFragments:function(){return{embedFullWidth:this.embedFullWidth,embedColSpan:this.embedColSpan}},getColumnSelector:function(n){var t=Ext.baseCSSPrefix+"grid-col-resizer-"+n.id;return"th."+t+",td."+t}});Ext.define("Ext.grid.feature.Summary",{extend:"Ext.grid.feature.AbstractSummary",alias:"feature.summary",getFragmentTpl:function(){return this.summaryData=this.generateSummaryData(),this.getSummaryFragments()},getTableFragments:function(){if(this.showSummaryRow)return{closeRows:this.closeRows}},closeRows:function(){return"<\/tpl>{[this.printSummaryRow()]}"},getPrintData:function(){for(var i=this,r=i.view.headerCt.getColumnsForTpl(),t=0,f=r.length,u=[],e=i.summaryData,n;t<f;++t)n=r[t],n.gridSummaryValue=this.getColumnValue(n,e),u.push(n);return u},generateSummaryData:function(){for(var i=this,u={},e=i.view.store,r=i.view.headerCt.getColumnsForTpl(),n=0,f=r.length,t,n=0,f=r.length;n<f;++n)t=Ext.getCmp(r[n].id),u[t.id]=i.getSummary(e,t.summaryType,t.dataIndex,!1);return u}});Ext.define("Ext.grid.plugin.Editing",{alias:"editing.editing",extend:"Ext.AbstractPlugin",requires:["Ext.grid.column.Column","Ext.util.KeyNav"],mixins:{observable:"Ext.util.Observable"},clicksToEdit:2,triggerEvent:undefined,defaultFieldXType:"textfield",editStyle:"",constructor:function(){var n=this;n.addEvents("beforeedit","edit","validateedit","canceledit");n.callParent(arguments);n.mixins.observable.constructor.call(n);n.on("edit",function(t,i){n.fireEvent("afteredit",t,i)})},init:function(n){var t=this;t.grid=n;t.view=n.view;t.initEvents();t.mon(n,"reconfigure",t.onReconfigure,t);t.onReconfigure();n.relayEvents(t,["beforeedit","edit","validateedit","canceledit"]);n.isEditable=!0;n.editingPlugin=n.view.editingPlugin=t},onReconfigure:function(){this.initFieldAccessors(this.view.getGridColumns())},destroy:function(){var n=this,t=n.grid;Ext.destroy(n.keyNav);n.removeFieldAccessors(t.getView().getGridColumns());n.clearListeners();delete n.grid.editingPlugin;delete n.grid.view.editingPlugin;delete n.grid;delete n.view;delete n.editor;delete n.keyNav},getEditStyle:function(){return this.editStyle},initFieldAccessors:function(n){n=[].concat(n);for(var i=this,u=n.length,r,t=0;t<u;t++)r=n[t],Ext.applyIf(r,{getEditor:function(n,t){return i.getColumnField(this,t)},setEditor:function(n){i.setColumnField(this,n)}})},removeFieldAccessors:function(n){n=[].concat(n);for(var r=n.length,i,t=0;t<r;t++)i=n[t],delete i.getEditor,delete i.setEditor},getColumnField:function(n,t){var i=n.field;return!i&&n.editor&&(i=n.editor,delete n.editor),!i&&t&&(i=t),i?(Ext.isString(i)&&(i={xtype:i}),i.isFormField||(i=Ext.ComponentManager.create(i,this.defaultFieldXType)),n.field=i,Ext.apply(i,{name:n.dataIndex}),i):void 0},setColumnField:function(n,t){Ext.isObject(t)&&!t.isFormField&&(t=Ext.ComponentManager.create(t,this.defaultFieldXType));n.field=t},initEvents:function(){var n=this;n.initEditTriggers();n.initCancelTriggers()},initCancelTriggers:Ext.emptyFn,initEditTriggers:function(){var n=this,t=n.view;n.triggerEvent=="cellfocus"?n.mon(t,"cellfocus",n.onCellFocus,n):n.triggerEvent=="rowfocus"?n.mon(t,"rowfocus",n.onRowFocus,n):(t.selModel.isCellModel&&(t.onCellFocus=Ext.Function.bind(n.beforeViewCellFocus,n)),n.mon(t,n.triggerEvent||"cell"+(n.clicksToEdit===1?"click":"dblclick"),n.onCellClick,n));n.initAddRemoveHeaderEvents();t.on("render",n.initKeyNavHeaderEvents,n,{single:!0})},beforeViewCellFocus:function(n){!this.view.selModel.keyNavigation&&this.editing&&this.isCellEditable&&this.isCellEditable(n.row,n.columnHeader)||this.view.focusCell.apply(this.view,arguments)},onRowFocus:function(n,t){this.startEdit(t,0)},onCellFocus:function(n,t,i){this.startEdit(i.row,i.column)},onCellClick:function(n,t,i,r,u,f,e){n.expanderSelector&&e.getTarget(n.expanderSelector)||this.startEdit(r,n.getHeaderAtIndex(i))},initAddRemoveHeaderEvents:function(){var n=this;n.mon(n.grid.headerCt,{scope:n,add:n.onColumnAdd,remove:n.onColumnRemove})},initKeyNavHeaderEvents:function(){var n=this;n.keyNav=Ext.create("Ext.util.KeyNav",n.view.el,{enter:n.onEnterKey,esc:n.onEscKey,scope:n})},onColumnAdd:function(n,t){t.isHeader&&this.initFieldAccessors(t)},onColumnRemove:function(n,t){t.isHeader&&this.removeFieldAccessors(t)},onEnterKey:function(){var f=this,n=f.grid,r=n.getSelectionModel(),t,i,u=n.headerCt.getHeaderAtIndex(0);r.getCurrentPosition?(i=r.getCurrentPosition(),i&&(t=n.store.getAt(i.row),u=n.headerCt.getHeaderAtIndex(i.column))):t=r.getLastSelected();t&&u&&f.startEdit(t,u)},onEscKey:function(){this.cancelEdit()},beforeEdit:Ext.emptyFn,startEdit:function(n,t){var i=this,r=i.getEditingContext(n,t);if(r==null||i.beforeEdit(r)===!1||i.fireEvent("beforeedit",i,r)===!1||r.cancel||!i.grid.view.isVisible(!0))return!1;i.context=r;i.editing=!0},getEditingContext:function(n,t){var o=this,u=o.grid,i=u.getView(),f=i.getNode(n),r,e;if(f)return(t=u.headerCt.getVisibleHeaderClosestToIndex(Ext.isNumber(t)?t:t.getIndex()),!t)?void 0:(e=t.getIndex(),Ext.isNumber(n)?(r=n,n=i.getRecord(f)):r=i.indexOf(f),{grid:u,record:n,field:t.dataIndex,value:n.get(t.dataIndex),row:i.getNode(r),column:t,rowIdx:r,colIdx:e})},cancelEdit:function(){var n=this;n.editing=!1;n.fireEvent("canceledit",n,n.context)},completeEdit:function(){var n=this;n.editing&&n.validateEdit()&&n.fireEvent("edit",n,n.context);delete n.context;n.editing=!1},validateEdit:function(){var n=this,t=n.context;return n.fireEvent("validateedit",n,t)!==!1&&!t.cancel}});Ext.define("Ext.grid.plugin.CellEditing",{alias:"plugin.cellediting",extend:"Ext.grid.plugin.Editing",requires:["Ext.grid.CellEditor","Ext.util.DelayedTask"],constructor:function(){this.callParent(arguments);this.editors=new Ext.util.MixedCollection(!1,function(n){return n.editorId});this.editTask=new Ext.util.DelayedTask},onReconfigure:function(){this.editors.clear();this.callParent()},destroy:function(){var n=this;n.editTask.cancel();n.editors.each(Ext.destroy,Ext);n.editors.clear();n.callParent(arguments)},onBodyScroll:function(){var t=this,n=t.getActiveEditor(),i=t.view.el.getScroll();n&&n.editing&&(i.top!==t.scroll.top?n.field&&(n.field.triggerBlur?n.field.triggerBlur():n.field.blur()):n.realign());t.scroll=i},initCancelTriggers:function(){var n=this,t=n.grid,i=t.view;i.addElListener("mousewheel",n.cancelEdit,n);n.mon(i,"bodyscroll",n.onBodyScroll,n);n.mon(t,{columnresize:n.cancelEdit,columnmove:n.cancelEdit,scope:n})},isCellEditable:function(n,t){var i=this,r=i.getEditingContext(n,t);if(i.grid.view.isVisible(!0)&&r&&(t=r.column,n=r.record,t&&i.getEditor(n,t)))return!0},startEdit:function(n,t){var i=this,r=i.getEditingContext(n,t),u,f;return(i.completeEdit(),!r||!i.grid.view.isVisible(!0))?!1:(n=r.record,t=r.column,t&&!t.getEditor(n))?!1:(u=n.get(t.dataIndex),r.originalValue=r.value=u,i.beforeEdit(r)===!1||i.fireEvent("beforeedit",i,r)===!1||r.cancel)?!1:(f=i.getEditor(n,t),i.grid.view.cancelFocus(),i.view.focusCell({row:r.rowIdx,column:r.colIdx}),f)?(i.editTask.delay(15,i.showEditor,i,[f,r,u]),!0):!1},showEditor:function(n,t,i){var r=this,e=t.record,o=t.column,u=r.grid.getSelectionModel(),f=u.getCurrentPosition();r.context=t;r.setActiveEditor(n);r.setActiveRecord(e);r.setActiveColumn(o);u.selectByPosition&&(!f||f.column!==t.colIdx||f.row!==t.rowIdx)&&u.selectByPosition({row:t.rowIdx,column:t.colIdx});n.startEdit(r.getCell(e,o),i);r.editing=!0;r.scroll=r.view.el.getScroll()},completeEdit:function(){var n=this.getActiveEditor();n&&(n.completeEdit(),this.editing=!1)},setActiveEditor:function(n){this.activeEditor=n},getActiveEditor:function(){return this.activeEditor},setActiveColumn:function(n){this.activeColumn=n},getActiveColumn:function(){return this.activeColumn},setActiveRecord:function(n){this.activeRecord=n},getActiveRecord:function(){return this.activeRecord},getEditor:function(n,t){var r=this,u=r.editors,f=t.getItemId(),i=u.getByKey(f);if(i)return i;if(i=t.getEditor(n),!i)return!1;i instanceof Ext.grid.CellEditor?i.ownerCt=r.grid:i=new Ext.grid.CellEditor({editorId:f,field:i,ownerCt:r.grid});i.editingPlugin=r;i.isForTree=r.grid.isTree;i.on({scope:r,specialkey:r.onSpecialKey,complete:r.onEditComplete,canceledit:r.cancelEdit});return u.add(i),i},setColumnField:function(n){var t=this.editors.getByKey(n.getItemId());Ext.destroy(t,n.field);this.editors.removeAtKey(n.getItemId());this.callParent(arguments)},getCell:function(n,t){return this.grid.getView().getCell(n,t)},onSpecialKey:function(n,t,i){var u=this,f=u.grid,r;if(i.getKey()===i.TAB){if(i.stopEvent(),n)n.onEditorTab(i);if(r=f.getSelectionModel(),r.onEditorTab)r.onEditorTab(u,i)}},onEditComplete:function(n,t,i){var r=this,o=r.grid,u=r.getActiveColumn(),f=o.getSelectionModel(),e;if(u){if(e=r.context.record,r.setActiveEditor(null),r.setActiveColumn(null),r.setActiveRecord(null),!r.validateEdit())return;e.isEqual(t,i)||e.set(u.dataIndex,t);f.setCurrentPosition&&f.setCurrentPosition(f.getCurrentPosition());o.getView().getEl(u).focus();r.context.value=t;r.fireEvent("edit",r,r.context)}},cancelEdit:function(){var n=this,t=n.getActiveEditor(),i=n.grid.getView().getEl(n.getActiveColumn());n.setActiveEditor(null);n.setActiveColumn(null);n.setActiveRecord(null);t&&(t.cancelEdit(),i.focus(),n.callParent(arguments))},startEditByPosition:function(n){return n.column=this.view.getHeaderCt().getVisibleHeaderClosestToIndex(n.column).getIndex(),this.startEdit(n.row,n.column)}});Ext.define("Ext.grid.plugin.DragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.gridviewdragdrop",uses:["Ext.view.DragZone","Ext.grid.ViewDropZone"],dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:!0,enableDrag:!0,init:function(n){n.on("render",this.onViewRender,this,{single:!0})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},enable:function(){var n=this;n.dragZone&&n.dragZone.unlock();n.dropZone&&n.dropZone.unlock();n.callParent()},disable:function(){var n=this;n.dragZone&&n.dragZone.lock();n.dropZone&&n.dropZone.lock();n.callParent()},onViewRender:function(n){var t=this;t.enableDrag&&(t.dragZone=new Ext.view.DragZone({view:n,ddGroup:t.dragGroup||t.ddGroup,dragText:t.dragText}));t.enableDrop&&(t.dropZone=new Ext.grid.ViewDropZone({view:n,ddGroup:t.dropGroup||t.ddGroup}))}});Ext.define("Ext.grid.plugin.RowEditing",{extend:"Ext.grid.plugin.Editing",alias:"plugin.rowediting",requires:["Ext.grid.RowEditor"],editStyle:"row",autoCancel:!0,errorSummary:!0,constructor:function(){var n=this;n.callParent(arguments);n.clicksToMoveEditor||(n.clicksToMoveEditor=n.clicksToEdit);n.autoCancel=!!n.autoCancel},init:function(n){this.callParent([n])},destroy:function(){var n=this;Ext.destroy(n.editor);n.callParent(arguments)},startEdit:function(){var n=this,t=n.getEditor();return t.beforeEdit()!==!1&&n.callParent(arguments)!==!1?(t.startEdit(n.context.record,n.context.column),!0):!1},cancelEdit:function(){var n=this;n.editing&&(n.getEditor().cancelEdit(),n.callParent(arguments))},completeEdit:function(){var n=this;n.editing&&n.validateEdit()&&(n.editing=!1,n.fireEvent("edit",n,n.context))},validateEdit:function(){for(var n=this,s=n.editor,u=n.context,h=u.record,f={},e={},o=s.items.items,c=o.length,i,r,t=0;t<c;t++)r=o[t],i=r.name,f[i]=r.getValue(),e[i]=h.get(i);return Ext.apply(u,{newValues:f,originalValues:e}),n.callParent(arguments)&&n.getEditor().completeEdit()},getEditor:function(){var n=this;return n.editor||(n.editor=n.initEditor()),n.editor},initEditor:function(){for(var n=this,e=n.grid,r=n.view,o=e.headerCt,u=["saveBtnText","cancelBtnText","errorsText","dirtyText"],s=u.length,f={autoCancel:n.autoCancel,errorSummary:n.errorSummary,fields:o.getGridColumns(),hidden:!0,view:r,editingPlugin:n,renderTo:r.el},i,t=0;t<s;t++)i=u[t],Ext.isDefined(n[i])&&(f[i]=n[i]);return Ext.create("Ext.grid.RowEditor",f)},initEditTriggers:function(){var n=this,t=n.view,i=n.clicksToMoveEditor===1?"click":"dblclick";n.callParent(arguments);n.clicksToMoveEditor!==n.clicksToEdit&&n.mon(t,"cell"+i,n.moveEditorByClick,n);t.on({render:function(){n.mon(n.grid.headerCt,{scope:n,columnresize:n.onColumnResize,columnhide:n.onColumnHide,columnshow:n.onColumnShow,columnmove:n.onColumnMove})},single:!0})},startEditByClick:function(){var n=this;n.editing&&n.clicksToMoveEditor!==n.clicksToEdit||n.callParent(arguments)},moveEditorByClick:function(){var n=this;n.editing&&n.superclass.onCellClick.apply(n,arguments)},onColumnAdd:function(n,t){if(t.isHeader){var r=this,i;if(r.initFieldAccessors(t),i=r.editor,i&&i.onColumnAdd)i.onColumnAdd(t)}},onColumnRemove:function(n,t){if(t.isHeader){var r=this,i=r.getEditor();if(i&&i.onColumnRemove)i.onColumnRemove(t);r.removeFieldAccessors(t)}},onColumnResize:function(n,t,i){if(t.isHeader){var u=this,r=u.getEditor();if(r&&r.onColumnResize)r.onColumnResize(t,i)}},onColumnHide:function(n,t){var r=this,i=r.getEditor();if(i&&i.onColumnHide)i.onColumnHide(t)},onColumnShow:function(n,t){var r=this,i=r.getEditor();if(i&&i.onColumnShow)i.onColumnShow(t)},onColumnMove:function(n,t,i,r){var f=this,u=f.getEditor();if(u&&u.onColumnMove)u.onColumnMove(t,i,r-(r>i?1:0))},setColumnField:function(n){var t=this,i=t.getEditor();i.removeField(n);t.callParent(arguments);t.getEditor().setField(n)}});Ext.define("Ext.grid.property.Grid",{extend:"Ext.grid.Panel",alias:"widget.propertygrid",alternateClassName:"Ext.grid.PropertyGrid",uses:["Ext.grid.plugin.CellEditing","Ext.grid.property.Store","Ext.grid.property.HeaderContainer","Ext.XTemplate","Ext.grid.CellEditor","Ext.form.field.Date","Ext.form.field.Text","Ext.form.field.Number","Ext.form.field.ComboBox"],valueField:"value",nameField:"name",enableColumnMove:!1,columnLines:!0,stripeRows:!1,trackMouseOver:!1,clicksToEdit:1,enableHdMenu:!1,initComponent:function(){var n=this;n.addCls(Ext.baseCSSPrefix+"property-grid");n.plugins=n.plugins||[];n.plugins.push(new Ext.grid.plugin.CellEditing({clicksToEdit:n.clicksToEdit,startEdit:function(t){return this.self.prototype.startEdit.call(this,t,n.headerCt.child("#"+n.valueField))}}));n.selModel={selType:"cellmodel",onCellSelect:function(n){return n.column!=1&&(n.column=1),this.self.prototype.onCellSelect.call(this,n)}};n.customRenderers=n.customRenderers||{};n.customEditors=n.customEditors||{};n.store||(n.propStore=n.store=new Ext.grid.property.Store(n,n.source));n.sortableColumns&&n.store.sort("name","ASC");n.columns=new Ext.grid.property.HeaderContainer(n,n.store);n.addEvents("beforepropertychange","propertychange");n.callParent();n.getView().walkCells=this.walkCells;n.editors={date:new Ext.grid.CellEditor({field:new Ext.form.field.Date({selectOnFocus:!0})}),string:new Ext.grid.CellEditor({field:new Ext.form.field.Text({selectOnFocus:!0})}),number:new Ext.grid.CellEditor({field:new Ext.form.field.Number({selectOnFocus:!0})}),boolean:new Ext.grid.CellEditor({field:new Ext.form.field.ComboBox({editable:!1,store:[[!0,n.headerCt.trueText],[!1,n.headerCt.falseText]]})})};n.store.on("update",n.onUpdate,n)},onUpdate:function(n,t,i){var r=this,u,f;r.rendered&&i==Ext.data.Model.EDIT&&(u=t.get(r.valueField),f=t.modified.value,r.fireEvent("beforepropertychange",r.source,t.getId(),u,f)!==!1?(r.source&&(r.source[t.getId()]=u),t.commit(),r.fireEvent("propertychange",r.source,t.getId(),u,f)):t.reject())},walkCells:function(n,t,i,r,u,f){return t=="left"?t="up":t=="right"&&(t="down"),n=Ext.view.Table.prototype.walkCells.call(this,n,t,i,r,u,f),n.column||(n.column=1),n},getCellEditor:function(n){var i=this,r=n.get(i.nameField),u=n.get(i.valueField),t=i.customEditors[r];return t?t instanceof Ext.grid.CellEditor||(t instanceof Ext.form.field.Base||(t=Ext.ComponentManager.create(t,"textfield")),t=i.customEditors[r]=new Ext.grid.CellEditor({field:t})):t=Ext.isDate(u)?i.editors.date:Ext.isNumber(u)?i.editors.number:Ext.isBoolean(u)?i.editors.boolean:i.editors.string,t.editorId=r,t},beforeDestroy:function(){var n=this;n.callParent();n.destroyEditors(n.editors);n.destroyEditors(n.customEditors);delete n.source},destroyEditors:function(n){for(var t in n)n.hasOwnProperty(t)&&Ext.destroy(n[t])},setSource:function(n){this.source=n;this.propStore.setSource(n)},getSource:function(){return this.propStore.getSource()},setProperty:function(n,t,i){this.propStore.setValue(n,t,i)},removeProperty:function(n){this.propStore.remove(n)}});Ext.define("Ext.grid.property.HeaderContainer",{extend:"Ext.grid.header.Container",alternateClassName:"Ext.grid.PropertyColumnModel",nameWidth:115,nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",nameColumnCls:Ext.baseCSSPrefix+"grid-property-name",constructor:function(n,t){var i=this;i.grid=n;i.store=t;i.callParent([{items:[{header:i.nameText,width:n.nameColumnWidth||i.nameWidth,sortable:n.sortableColumns,dataIndex:n.nameField,renderer:Ext.Function.bind(i.renderProp,i),itemId:n.nameField,menuDisabled:!0,tdCls:i.nameColumnCls},{header:i.valueText,renderer:Ext.Function.bind(i.renderCell,i),getEditor:Ext.Function.bind(i.getCellEditor,i),sortable:n.sortableColumns,flex:1,fixed:!0,dataIndex:n.valueField,itemId:n.valueField,menuDisabled:!0}]}])},getCellEditor:function(n){return this.grid.getCellEditor(n,this)},renderProp:function(n){return this.getPropertyName(n)},renderCell:function(n,t,i){var r=this,f=r.grid.customRenderers[i.get(r.grid.nameField)],u=n;return f?f.apply(r,arguments):(Ext.isDate(n)?u=r.renderDate(n):Ext.isBoolean(n)&&(u=r.renderBool(n)),Ext.util.Format.htmlEncode(u))},renderDate:Ext.util.Format.date,renderBool:function(n){return this[n?"trueText":"falseText"]},getPropertyName:function(n){var t=this.grid.propertyNames;return t&&t[n]?t[n]:n}});Ext.define("Ext.grid.property.Property",{extend:"Ext.data.Model",alternateClassName:"Ext.PropGridProperty",fields:[{name:"name",type:"string"},{name:"value"}],idProperty:"name"});Ext.define("Ext.grid.property.Store",{extend:"Ext.data.Store",alternateClassName:"Ext.grid.PropertyStore",sortOnLoad:!1,uses:["Ext.data.reader.Reader","Ext.data.proxy.Proxy","Ext.data.ResultSet","Ext.grid.property.Property"],constructor:function(n,t){var i=this;i.grid=n;i.source=t;i.callParent([{data:t,model:Ext.grid.property.Property,proxy:i.getProxy()}])},getProxy:function(){return this.proxy||(Ext.grid.property.Store.prototype.proxy=new Ext.data.proxy.Memory({model:Ext.grid.property.Property,reader:this.getReader()})),this.proxy},getReader:function(){return this.reader||(Ext.grid.property.Store.prototype.reader=new Ext.data.reader.Reader({model:Ext.grid.property.Property,buildExtractors:Ext.emptyFn,read:function(n){return this.readRecords(n)},readRecords:function(n){var r,t,i={records:[],success:!0};for(t in n)n.hasOwnProperty(t)&&(r=n[t],this.isEditableValue(r)&&i.records.push(new Ext.grid.property.Property({name:t,value:r},t)));return i.total=i.count=i.records.length,new Ext.data.ResultSet(i)},isEditableValue:function(n){return Ext.isPrimitive(n)||Ext.isDate(n)}})),this.reader},setSource:function(n){var t=this;t.source=n;t.suspendEvents();t.removeAll();t.proxy.data=n;t.load();t.resumeEvents();t.fireEvent("datachanged",t);t.fireEvent("refresh",t)},getProperty:function(n){return Ext.isNumber(n)?this.getAt(n):this.getById(n)},setValue:function(n,t,i){var r=this,u=r.getRec(n);u?(u.set("value",t),r.source[n]=t):i&&(r.source[n]=t,u=new Ext.grid.property.Property({name:n,value:t},n),r.add(u))},remove:function(n){var t=this.getRec(n);t&&(this.callParent([t]),delete this.source[n])},getRec:function(n){return this.getById(n)},getSource:function(){return this.source}});Ext.define("Ext.layout.ClassList",function(){var n=Ext.String.splitWords,t=Ext.Array.toMap;return{dirty:!1,constructor:function(i){this.owner=i;this.map=t(this.classes=n(i.el.className))},add:function(n){var t=this;t.map[n]||(t.map[n]=!0,t.classes.push(n),t.dirty||(t.dirty=!0,t.owner.markDirty()))},addMany:function(t){Ext.each(n(t),this.add,this)},contains:function(n){return this.map[n]},flush:function(){this.owner.el.className=this.classes.join(" ");this.dirty=!1},remove:function(n){var t=this;t.map[n]&&(delete t.map[n],t.classes=Ext.Array.filter(t.classes,function(t){return t!=n}),t.dirty||(t.dirty=!0,t.owner.markDirty()))},removeMany:function(i){var r=this,u=t(n(i));r.classes=Ext.Array.filter(r.classes,function(n){return u[n]?(delete r.map[n],r.dirty||(r.dirty=!0,r.owner.markDirty()),!1):!0})}}}());Ext.define("Ext.util.Queue",{constructor:function(){this.clear()},add:function(n){var t=this,i=t.getKey(n);return t.map[i]||(++t.length,t.items.push(n),t.map[i]=n),n},clear:function(){var n=this,t=n.items;return n.items=[],n.map={},n.length=0,t},contains:function(n){var t=this.getKey(n);return this.map.hasOwnProperty(t)},getCount:function(){return this.length},getKey:function(n){return n.id},remove:function(n){var t=this,i=t.getKey(n),r=t.items,u;return t.map[i]&&(u=Ext.Array.indexOf(r,n),Ext.Array.erase(r,u,1),delete t.map[i],--t.length),n}});Ext.define("Ext.layout.ContextItem",{requires:["Ext.layout.ClassList"],heightModel:null,widthModel:null,sizeModel:null,boxChildren:null,boxParent:null,children:[],dirty:null,dirtyCount:0,hasRawContent:!0,isContextItem:!0,isTopLevel:!1,consumersContentHeight:0,consumersContentWidth:0,consumersContainerHeight:0,consumersContainerWidth:0,consumersHeight:0,consumersWidth:0,ownerCtContext:null,remainingChildLayouts:0,remainingComponentChildLayouts:0,remainingContainerChildLayouts:0,props:null,state:null,wrapsComponent:!1,constructor:function(n){var t=this,u,f,i,e,r;Ext.apply(t,n);u=t.el;t.id=u.id;t.lastBox=u.lastBox;t.flushedProps={};t.props={};t.styles={};r=t.target;r.isComponent&&(t.wrapsComponent=!0,f=r.ownerCt,f&&(i=t.context.items[f.el.id])&&(t.ownerCtContext=i),t.sizeModel=e=r.getSizeModel(i&&i.widthModel.pairsByHeightOrdinal[i.heightModel.ordinal]),t.widthModel=e.width,t.heightModel=e.height)},init:function(n,t){var i=this,r=i.props,f=i.dirty,u=i.ownerCtContext,v=i.target.ownerLayout,h=!i.state,y=n||h,a,c,p,w,l,e,b=i.heightModel,k=i.widthModel,o,s;if(i.dirty=i.invalid=!1,i.props={},i.boxChildren&&(i.boxChildren.length=0),h||(i.clearAllBlocks("blocks"),i.clearAllBlocks("domBlocks")),!i.wrapsComponent)return y;if(e=i.target,i.state={},h)e.beforeLayout&&e.beforeLayout(),!u&&(w=e.ownerCt)&&(u=i.context.items[w.el.id]),u?(i.ownerCtContext=u,i.isBoxParent=e.ownerLayout.isItemBoxParent(i)):i.isTopLevel=!0,i.frameBodyContext=i.getEl("frameBody");else for(u=i.ownerCtContext,i.isTopLevel=!u,a=i.children,c=0,p=a.length;c<p;++c)a[c].init(!0);return i.hasRawContent=!(e.isContainer&&e.items.items.length>0),n?(i.widthModel=i.heightModel=null,l=e.getSizeModel(u&&u.widthModel.pairsByHeightOrdinal[u.heightModel.ordinal]),h&&(i.sizeModel=l),i.widthModel=l.width,i.heightModel=l.height):r&&(i.recoverProp("x",r,f),i.recoverProp("y",r,f),i.widthModel.calculated&&i.recoverProp("width",r,f),i.heightModel.calculated&&i.recoverProp("height",r,f)),r&&v&&v.manageMargins&&(i.recoverProp("margin-top",r,f),i.recoverProp("margin-right",r,f),i.recoverProp("margin-bottom",r,f),i.recoverProp("margin-left",r,f)),t&&(o=t.heightModel,s=t.widthModel,s&&o&&k&&b&&k.shrinkWrap&&b.shrinkWrap&&s.constrainedMax&&o.constrainedMin&&(o=null),s&&(i.widthModel=s),o&&(i.heightModel=o),t.state&&Ext.apply(i.state,t.state)),y},initContinue:function(n){var i=this,t=i.ownerCtContext,u=i.widthModel,r;return n&&(t&&u.shrinkWrap?(r=t.isBoxParent?t:t.boxParent,r&&r.addBoxChild(i)):u.natural&&(i.boxParent=t)),n},initDone:function(n,t,i,r){var u=this,f=u.props,e=u.state;t&&(f.componentChildrenDone=!0);i&&(f.containerChildrenDone=!0);r&&(f.containerLayoutDone=!0);u.boxChildren&&u.boxChildren.length&&u.widthModel.shrinkWrap&&(u.el.setWidth(1e4),e.blocks=(e.blocks||0)+1)},initAnimation:function(){var n=this,t=n.target,i=n.ownerCtContext;i&&i.isTopLevel?n.animatePolicy=t.ownerLayout.getAnimatePolicy(n):!i&&t.isCollapsingOrExpanding&&t.animCollapse&&(n.animatePolicy=t.componentLayout.getAnimatePolicy(n));n.animatePolicy&&n.context.queueAnimation(n)},noFraming:{left:0,top:0,right:0,bottom:0,width:0,height:0},addCls:function(n){this.getClassList().addMany(n)},removeCls:function(n){this.getClassList().removeMany(n)},addBlock:function(n,t,i){var r=this,u=r[n]||(r[n]={}),f=u[i]||(u[i]={});f[t.id]||(f[t.id]=t,++t.blockCount,++r.context.blockCount)},addBoxChild:function(n){var i=this,t,r=n.widthModel;n.boxParent=this;n.measuresBox=r.shrinkWrap?n.hasRawContent:r.natural;n.measuresBox&&(t=i.boxChildren,t?t.push(n):i.boxChildren=[n])},addTrigger:function(n,t){var r=this,f=t?"domTriggers":"triggers",e=r[f]||(r[f]={}),o=r.context,i=o.currentLayout,u=e[n]||(e[n]={});u[i.id]||(u[i.id]=i,++i.triggerCount,u=o.triggers[t?"dom":"data"],(u[i.id]||(u[i.id]=[])).push({item:this,prop:n}),r.props[n]!==undefined&&(t&&r.dirty&&n in r.dirty||++i.firedTriggers))},boxChildMeasured:function(){var n=this,t=n.state,i=t.boxesMeasured=(t.boxesMeasured||0)+1;i==n.boxChildren.length&&(t.clearBoxWidth=1,++n.context.progressCount,n.markDirty())},borderNames:["border-top-width","border-right-width","border-bottom-width","border-left-width"],marginNames:["margin-top","margin-right","margin-bottom","margin-left"],paddingNames:["padding-top","padding-right","padding-bottom","padding-left"],trblNames:["top","right","bottom","left"],cacheMissHandlers:{borderInfo:function(n){var t=n.getStyles(n.borderNames,n.trblNames);return t.width=t.left+t.right,t.height=t.top+t.bottom,t},marginInfo:function(n){var t=n.getStyles(n.marginNames,n.trblNames);return t.width=t.left+t.right,t.height=t.top+t.bottom,t},paddingInfo:function(n){var i=n.frameBodyContext||n,t=i.getStyles(n.paddingNames,n.trblNames);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}},checkCache:function(n){return this.cacheMissHandlers[n](this)},clearAllBlocks:function(n){var t=this[n],i;if(t)for(i in t)this.clearBlocks(n,i)},clearBlocks:function(n,t){var r=this[n],u=r&&r[t],f,i,e;if(u){delete r[t];f=this.context;for(e in u)i=u[e],--f.blockCount,--i.blockCount||i.pending||i.done||f.queueLayout(i)}},block:function(n,t){this.addBlock("blocks",n,t)},domBlock:function(n,t){this.addBlock("domBlocks",n,t)},fireTriggers:function(n,t){var u=this[n],r=u&&u[t],e=this.context,i,f;if(r)for(f in r)i=r[f],++i.firedTriggers,i.done||i.blockCount||i.pending||e.queueLayout(i)},flush:function(){var n=this,i=n.dirty,t=n.state,r=n.el;n.dirtyCount=0;n.classList&&n.classList.dirty&&n.classList.flush();"attributes"in n&&(r.set(n.attributes),delete n.attributes);"innerHTML"in n&&(r.innerHTML=n.innerHTML,delete n.innerHTML);t&&t.clearBoxWidth&&(t.clearBoxWidth=0,n.el.setStyle("width",null),--t.blocks||n.context.queueItemLayouts(n));i&&(delete n.dirty,n.writeProps(i,!0))},flushAnimations:function(){var n=this,c=n.lastBox,i,r,l,e,u,o,f,a,t,s,h;if(c){for(i=n.target,r=i.layout&&i.layout.animate,r&&(l=Ext.isNumber(r)?r:r.duration),e=Ext.Object.getKeys(n.animatePolicy),u=Ext.apply({},{from:{},to:{},duration:l||Ext.fx.Anim.prototype.duration},r),o=0,f=0,a=e.length;f<a;f++)t=e[f],s=c[t],h=n.peek(t),s!=h&&(t=n.translateProps[t]||t,u.from[t]=s,u.to[t]=h,++o);if(o){n.isCollapsingOrExpanding===1?i.componentLayout.undoLayout(n):n.writeProps(u.from);n.el.animate(u);Ext.fx.Manager.getFxQueue(n.el.id)[0].on({afteranimate:function(){n.isCollapsingOrExpanding===1?(i.componentLayout.redoLayout(n),i.afterCollapse(!0)):n.isCollapsingOrExpanding===2&&i.afterExpand(!0)}})}}},getBorderInfo:function(){var n=this,t=n.borderInfo;return t||(n.borderInfo=t=n.checkCache("borderInfo")),t},getClassList:function(){return this.classList||(this.classList=new Ext.layout.ClassList(this))},getEl:function(n,t){var r=this,u,i,f;if(n){if(n.dom)i=n;else if(u=r.target,t&&(u=t),i=u[n],typeof i=="function"&&(i=i.call(u),i===r.el))return this;i&&(f=r.context.getEl(r,i))}return f||null},getFraming:function(){var n=this;return n.framingInfo||(n.framingInfo=n.target.frameSize||n.noFraming),n.framingInfo},getFrameInfo:function(){var i=this,r=i.frameInfo,n,t;return r||(n=i.getFraming(),t=i.getBorderInfo(),i.frameInfo=r={top:n.top+t.top,right:n.right+t.right,bottom:n.bottom+t.bottom,left:n.left+t.left,width:n.width+t.width,height:n.height+t.height}),r},getMarginInfo:function(){var t=this,n=t.marginInfo,i,e,r,u,f;return n||(t.wrapsComponent?(i=t.target,u=i.ownerLayout,f=u?u.id:null,e=u&&u.manageMargins,n=i.margin$,n&&n.ownerId!==f&&(n=null),n||(n=t.parseMargins(i.margin)||t.checkCache("marginInfo"),e&&(r=t.parseMargins(i.margins,u.defaultMargins),r&&(n={top:n.top+r.top,right:n.right+r.right,bottom:n.bottom+r.bottom,left:n.left+r.left}),t.setProp("margin-top",0),t.setProp("margin-right",0),t.setProp("margin-bottom",0),t.setProp("margin-left",0)),n.ownerId=f,i.margin$=n),n.width=n.left+n.right,n.height=n.top+n.bottom):n=t.checkCache("marginInfo"),t.marginInfo=n),n},clearMarginCache:function(){delete this.marginInfo;delete this.target.margin$},getPaddingInfo:function(){var n=this,t=n.paddingInfo;return t||(n.paddingInfo=t=n.checkCache("paddingInfo")),t},getProp:function(n){var t=this,i=t.props[n];return t.addTrigger(n),i},getDomProp:function(n){var t=this,i=t.dirty&&n in t.dirty?undefined:t.props[n];return t.addTrigger(n,!0),i},getStyle:function(n){var i=this,r=i.styles,u,t;return n in r?t=r[n]:(u=i.styleInfo[n],t=i.el.getStyle(n),u&&u.parseInt&&(t=parseInt(t,10)||0),r[n]=t),t},getStyles:function(n,t){var s=this,h=s.styles,c={},o=0,a=n.length,i,r,f,u,l,v,y,e;for(t=t||n,i=0;i<a;++i)u=n[i],u in h?(c[t[i]]=h[u],++o,i&&o==1&&(r=n.slice(0,i),f=t.slice(0,i))):o&&((r||(r=[])).push(u),(f||(f=[])).push(t[i]));if(o<a)for(r=r||n,f=f||t,v=s.styleInfo,y=s.el.getStyle(r),i=r.length;i--;)u=r[i],l=v[u],e=y[u],l&&l.parseInt&&(e=parseInt(e,10)||0),c[f[i]]=e,h[u]=e;return c},hasProp:function(n){var t=this.getProp(n);return typeof t!="undefined"},hasDomProp:function(n){var t=this.getDomProp(n);return typeof t!="undefined"},invalidate:function(n){this.context.queueInvalidate(this,n)},markDirty:function(){++this.dirtyCount==1&&this.context.queueFlush(this)},onBoxMeasured:function(){var n=this.boxParent,t=this.state;n&&n.widthModel.shrinkWrap&&!t.boxMeasured&&this.measuresBox&&(t.boxMeasured=1,n.boxChildMeasured())},parseMargins:function(n,t){n===!0&&(n=5);var r=typeof n,i;return r=="string"||r=="number"?i=Ext.util.Format.parseBox(n):(n||t)&&(i={top:0,right:0,bottom:0,left:0},t&&Ext.apply(i,this.parseMargins(t)),Ext.apply(i,n)),i},peek:function(n){return this.props[n]},recoverProp:function(n,t,i){var r=this,f=r.props,u;n in t&&(f[n]=t[n],i&&n in i&&(u=r.dirty||(r.dirty={}),u[n]=i[n]))},redo:function(n){var i=this,r,u,t;if(i.revertProps(i.props),n&&i.wrapsComponent){if(i.childItems)for(t=0,r=i.childItems,u=r.length;t<u;t++)r[t].redo(n);for(t=0,r=i.children,u=r.length;t<u;t++)r[t].redo()}},revertProps:function(n){var t,r=this.flushedProps,i={};for(t in n)r.hasOwnProperty(t)&&(i[t]=n[t]);this.writeProps(i)},setAttribute:function(n,t){var i=this;i.attributes||(i.attributes={});i.attributes[n]=t;i.markDirty()},setBox:function(n){var t=this;"left"in n&&t.setProp("x",n.left);"top"in n&&t.setProp("y",n.top);t.setSize(n.width,n.height)},setContentHeight:function(n,t){return!t&&this.hasRawContent?1:this.setProp("contentHeight",n)},setContentWidth:function(n,t){return!t&&this.hasRawContent?1:this.setProp("contentWidth",n)},setContentSize:function(n,t,i){return this.setContentWidth(n,i)+this.setContentHeight(t,i)==2},setProp:function(n,t,i){var r=this,f=typeof t,u,e;return f=="undefined"||f==="number"&&isNaN(t)?0:r.props[n]===t?1:(r.props[n]=t,++r.context.progressCount,i===!1?(r.fireTriggers("domTriggers",n),r.clearBlocks("domBlocks",n)):(e=r.styleInfo[n],e&&(r.dirty||(r.dirty={}),(n=="width"||n=="height")&&(u=r.isBorderBoxValue,u==null&&(r.isBorderBoxValue=u=!!r.el.isBorderBox()),u||(r.borderInfo||r.getBorderInfo(),r.paddingInfo||r.getPaddingInfo())),r.dirty[n]=t,r.markDirty())),r.fireTriggers("triggers",n),r.clearBlocks("blocks",n),1)},setHeight:function(n,t){var i=this,u=i.target,r,f;if(n<0&&(n=0),i.wrapsComponent){if(n=Ext.Number.constrain(n,u.minHeight||0,u.maxHeight),!i.setProp("height",n,t))return NaN;r=i.frameBodyContext;r&&(f=i.getFrameInfo(),r.setHeight(n-f.height,t))}else if(!i.setProp("height",n,t))return NaN;return n},setWidth:function(n,t){var i=this,u=i.target,r,f;if(n<0&&(n=0),i.wrapsComponent){if(n=Ext.Number.constrain(n,u.minWidth||0,u.maxWidth),!i.setProp("width",n,t))return NaN;r=i.frameBodyContext;r&&(f=i.getFrameInfo(),r.setWidth(n-f.width,t))}else if(!i.setProp("width",n,t))return NaN;return n},setSize:function(n,t,i){this.setWidth(n,i);this.setHeight(t,i)},translateProps:{x:"left",y:"top"},undo:function(n){var i=this,r,u,t;if(i.revertProps(i.lastBox),n&&i.wrapsComponent){if(i.childItems)for(t=0,r=i.childItems,u=r.length;t<u;t++)r[t].undo(n);for(t=0,r=i.children,u=r.length;t<u;t++)r[t].undo()}},unsetProp:function(n){var t=this.dirty;delete this.props[n];t&&delete t[n]},writeProps:function(n,t){if(n&&typeof n=="object"){var i=this,v=i.el,f={},e=0,ut=i.styleInfo,h,o,y,p="x"in n,w="y"in n,b=n.x,k=n.y,r=n.width,u=n.height,ft=i.isBorderBoxValue,d=i.target,g=Math.max,nt=0,tt=0,it,rt,s,l,c,a;"displayed"in n&&v.setDisplayed(n.displayed);for(o in n)t&&(i.fireTriggers("domTriggers",o),i.clearBlocks("domBlocks",o),i.flushedProps[o]=1),h=ut[o],h&&h.dom&&(f[o]=h.suffix&&(y=parseInt(n[o],10))?y+h.suffix:n[o],++e);(p||w)&&(d.isComponent?d.setPosition(b||i.props.x,k||i.props.y):(p&&(f.left=b+"px",++e),w&&(f.top=k+"px",++e)));!ft&&(r>0||u>0)&&(i.frameBodyContext||(nt=i.paddingInfo.width,tt=i.paddingInfo.height),r&&(r=g(parseInt(r,10)-(i.borderInfo.width+nt),0),f.width=r+"px",++e),u&&(u=g(parseInt(u,10)-(i.borderInfo.height+tt),0),f.height=u+"px",++e));i.wrapsComponent&&Ext.isIE9&&Ext.isStrict&&((it=r!==undefined&&i.hasOverflowY)||(rt=u!==undefined&&i.hasOverflowX))&&(s=i.isAbsolute,s===undefined&&(s=!1,a=i.target.getTargetEl(),c=a.getStyle("position"),c=="absolute"&&(c=a.getStyle("box-sizing"),s=c=="border-box"),i.isAbsolute=s),s&&(l=Ext.getScrollbarSize(),it&&(r=parseInt(r,10)+l.width,f.width=r+"px",++e),rt&&(u=parseInt(u,10)+l.height,f.height=u+"px",++e)));e&&v.setStyle(f)}}},function(){var n={dom:!0,parseInt:!0,suffix:"px"},i={dom:!0},t={dom:!1};this.prototype.styleInfo={childrenDone:t,componentChildrenDone:t,containerChildrenDone:t,containerLayoutDone:t,displayed:t,done:t,x:t,y:t,columnWidthsDone:t,left:n,top:n,right:n,bottom:n,width:n,height:n,"border-top-width":n,"border-right-width":n,"border-bottom-width":n,"border-left-width":n,"margin-top":n,"margin-right":n,"margin-bottom":n,"margin-left":n,"padding-top":n,"padding-right":n,"padding-bottom":n,"padding-left":n,"line-height":i,display:i}});Ext.define("Ext.layout.Context",{requires:["Ext.util.Queue","Ext.layout.ContextItem","Ext.layout.Layout","Ext.fx.Anim","Ext.fx.Manager"],remainingLayouts:0,state:0,constructor:function(n){var t=this;Ext.apply(t,n);t.items={};t.layouts={};t.blockCount=0;t.cycleCount=0;t.flushCount=0;t.calcCount=0;t.animateQueue=t.newQueue();t.completionQueue=t.newQueue();t.finalizeQueue=t.newQueue();t.finishQueue=t.newQueue();t.flushQueue=t.newQueue();t.invalidateData={};t.layoutQueue=t.newQueue();t.invalidQueue=[];t.triggers={data:{},dom:{}}},callLayout:function(n,t){this.currentLayout=n;n[t](this.getCmp(n.owner))},cancelComponent:function(n,t,i){for(var r=this,v=n,y=!n.isComponent,w=y?v.length:1,o,s,f,u,p,h,c,l,a,e=0;e<w;++e){if(y&&(n=v[e]),i&&n.ownerCt&&(a=this.items[n.ownerCt.el.id],a&&Ext.Array.remove(a.childItems,r.getCmp(n))),!t&&(h=r.invalidQueue,s=h.length,s))for(r.invalidQueue=p=[],o=0;o<s;++o)c=h[o],l=c.item.target,l==n||l.isDescendant(n)||p.push(c);u=n.componentLayout;r.cancelLayout(u);u.getLayoutItems&&(f=u.getLayoutItems(),f.length&&r.cancelComponent(f,!0));n.isContainer&&!n.collapsed&&(u=n.layout,r.cancelLayout(u),f=u.getVisibleItems(),f.length&&r.cancelComponent(f,!0))}},cancelLayout:function(n){var t=this;t.completionQueue.remove(n);t.finalizeQueue.remove(n);t.finishQueue.remove(n);t.layoutQueue.remove(n);n.running&&t.layoutDone(n);n.ownerContext=null},clearTriggers:function(n,t){for(var o=n.id,i=this.triggers[t?"dom":"data"],u=i&&i[o],s=u&&u.length||0,f,e,r=0;r<s;++r)e=u[r],f=e.item,i=t?f.domTriggers:f.triggers,delete i[e.prop][o]},flush:function(){var t=this,i=t.flushQueue.clear(),r=i.length,n;if(r)for(++t.flushCount,n=0;n<r;++n)i[n].flush()},flushAnimations:function(){var r=this,t=r.animateQueue.clear(),i=t.length,n;if(i){for(n=0;n<i;n++)t[n].target.animate!==!1&&t[n].flushAnimations();Ext.fx.Manager.runner()}},flushInvalidates:function(){var n=this,r=n.invalidQueue,e=r&&r.length,t,u,f,i;if(n.invalidQueue=[],e){for(u=[],i=0;i<e;++i)t=(f=r[i]).item.target,t.container.isDetachedBody||(u.push(t),f.options&&(n.invalidateData[t.id]=f.options));n.invalidate(u,null)}},flushLayouts:function(n,t,i){var r=this,e=i?r[n].items:r[n].clear(),o=e.length,u,f;if(o){for(u=0;u<o;++u)f=e[u],f.running||r.callLayout(f,t);r.currentLayout=null}},getCmp:function(n){return this.getItem(n,n.el)},getEl:function(n,t){var i=this.getItem(t,t);return i.parent||(i.parent=n,n.children.length?n.children.push(i):n.children=[i]),i},getItem:function(n,t){var i=t.id,r=this.items;return r[i]||(r[i]=new Ext.layout.ContextItem({context:this,target:n,el:t}))},handleFailure:function(){var n=this.layouts,t,i;Ext.failedLayouts=(Ext.failedLayouts||0)+1;for(i in n)t=n[i],n.hasOwnProperty(i)&&(t.running=!1,t.ownerContext=null)},invalidate:function(n,t){for(var r=this,p=!n.isComponent,l,a,v,y,u,i,e,f,o,s,c,h=0,w=p?n.length:1;h<w;++h)u=p?n[h]:n,u.rendered&&!u.hidden&&(i=r.getCmp(u),f=u.componentLayout,y=!f.ownerContext,o=u.isContainer&&!u.collapsed?u.layout:null,s=r.invalidateData[i.id],delete r.invalidateData[i.id],c=i.init(t,s),s&&r.processInvalidate(s,i,"before"),f.beforeLayoutCycle&&f.beforeLayoutCycle(i),c=i.initContinue(c),l=a=v=!0,f.getLayoutItems&&(f.renderChildren(),e=f.getLayoutItems(),e.length&&(r.invalidate(e,!0),l=!1)),o&&(v=!1,o.renderChildren(),e=o.getVisibleItems(),e.length&&(r.invalidate(e,!0),a=!1)),i.initDone(c,l,a,v),r.resetLayout(f,i,y),o&&r.resetLayout(o,i,y),i.initAnimation(),s&&r.processInvalidate(s,i,"after"));r.currentLayout=null},layoutDone:function(n){var i=n.ownerContext,t;n.running=!1;n.isComponentLayout?(i.measuresBox&&i.onBoxMeasured(),i.setProp("done",!0),t=i.ownerCtContext,t&&(i.target.ownerLayout.isComponentLayout?--t.remainingComponentChildLayouts||t.setProp("componentChildrenDone",!0):--t.remainingContainerChildLayouts||t.setProp("containerChildrenDone",!0),--t.remainingChildLayouts||t.setProp("childrenDone",!0))):i.setProp("containerLayoutDone",!0);--this.remainingLayouts;++this.progressCount},newQueue:function(){return new Ext.util.Queue},processInvalidate:function(n,t,i){if(n[i]){var r=this,u=r.currentLayout;r.currentLayout=n.layout||null;n[i](t,n);r.currentLayout=u}},queueAnimation:function(n){this.animateQueue.add(n)},queueCompletion:function(n){this.completionQueue.add(n)},queueFinalize:function(n){this.finalizeQueue.add(n)},queueFlush:function(n){this.flushQueue.add(n)},chainFns:function(n,t,i){var r=this,f=n.layout,e=t.layout,u=n[i],o=t[i];return function(i){var s=r.currentLayout;u&&(r.currentLayout=f,u.call(n.scope||n,i,n));r.currentLayout=e;o.call(t.scope||t,i,t);r.currentLayout=s}},queueInvalidate:function(n,t){var r=this,o=[],s=r.invalidQueue,h=s.length,u,f,e,i,c;for(n.isComponent?n=r.getCmp(u=n):u=n.target,n.invalid=!0;h--;){if(f=s[h],e=f.item.target,u.isDescendant(e))return;if(e==u){(i=f.options)?t&&(t.widthModel&&(i.widthModel=t.widthModel),t.heightModel&&(i.heightModel=t.heightModel),(c=i.state)?t.state&&Ext.apply(c,t.state):i.state=t.state,t.before&&(i.before=r.chainFns(i,t,"before")),t.after&&(i.after=r.chainFns(i,t,"after"))):f.options=t;return}e.isDescendant(u)||o.push(f)}o.push({item:n,options:t});r.invalidQueue=o},queueItemLayouts:function(n){var i=n.isComponent?n:n.target,t=i.componentLayout;t.pending||t.invalid||t.done||this.queueLayout(t);t=i.layout;!t||t.pending||t.invalid||t.done||this.queueLayout(t)},queueLayout:function(n){this.layoutQueue.add(n);n.pending=!0},resetLayout:function(n,t,i){var u=this,r;u.currentLayout=n;n.done=!1;n.pending=!0;n.firedTriggers=0;u.layoutQueue.add(n);i?(u.layouts[n.id]=n,n.running=!0,n.finishedLayout&&u.finishQueue.add(n),++u.remainingLayouts,++n.layoutCount,n.ownerContext=t,n.beginCount=0,n.blockCount=0,n.calcCount=0,n.triggerCount=0,n.isComponentLayout&&(r=t.ownerCtContext)&&(t.target.ownerLayout.isComponentLayout?++r.remainingComponentChildLayouts:++r.remainingContainerChildLayouts,++r.remainingChildLayouts),n.initialized||n.initLayout(),n.beginLayout(t)):(++n.beginCount,n.running||(++u.remainingLayouts,n.running=!0,n.isComponentLayout&&(t.unsetProp("done"),r=t.ownerCtContext,r&&(t.target.ownerLayout.isComponentLayout?++r.remainingComponentChildLayouts==1&&r.unsetProp("componentChildrenDone"):++r.remainingContainerChildLayouts==1&&r.unsetProp("containerChildrenDone"),++r.remainingChildLayouts==1&&r.unsetProp("childrenDone"))),u.completionQueue.remove(n),u.finalizeQueue.remove(n)));n.beginLayoutCycle(t,i)},run:function(){var n=this,t=!1,i=100;for(n.flushInvalidates(),n.state=1,n.totalCount=n.layoutQueue.getCount(),n.flush();(n.remainingLayouts||n.invalidQueue.length)&&i--;){if(n.invalidQueue.length&&n.flushInvalidates(),n.runCycle())t=!1;else if(t){n.state=2;break}else n.flush(),t=!0,n.flushLayouts("completionQueue","completeLayout");n.remainingLayouts||n.invalidQueue.length||(n.flush(),n.flushLayouts("completionQueue","completeLayout"),n.flushLayouts("finalizeQueue","finalizeLayout"))}return n.runComplete()},runComplete:function(){var n=this;return(n.state=2,n.remainingLayouts)?(n.handleFailure(),!1):(n.flush(),n.flushLayouts("finishQueue","finishedLayout",!0),n.flushLayouts("finishQueue","notifyOwner"),n.flush(),n.flushAnimations(),!0)},runCycle:function(){var n=this,i=n.layoutQueue.clear(),r=i.length,t;for(++n.cycleCount,n.progressCount=0,t=0;t<r;++t)n.runLayout(n.currentLayout=i[t]);return n.currentLayout=null,n.progressCount>0},runLayout:function(n){var t=this,i=t.getCmp(n.owner);(n.pending=!1,i.state.blocks)||(n.done=!0,++n.calcCount,++t.calcCount,n.calculate(i),n.done?(t.layoutDone(n),n.completeLayout&&t.queueCompletion(n),n.finalizeLayout&&t.queueFinalize(n)):n.pending||n.invalid||n.blockCount+n.triggerCount-n.firedTriggers||t.queueLayout(n))},setItemSize:function(n,t,i){var r=n,u=1,e,f;for(n.isComposite?(r=n.elements,u=r.length,n=r[0]):n.dom||n.el||(u=r.length,n=r[0]),f=0;f<u;)e=this.get(n),e.setSize(t,i),n=r[++f]}});Ext.define("Ext.layout.component.Tab",{extend:"Ext.layout.component.Button",alias:"layout.tab",beginLayout:function(){var n=this,t=n.owner.closable;n.lastClosable!==t&&(n.lastClosable=t,n.clearTargetCache());n.callParent(arguments)}});Ext.define("Ext.layout.component.field.Slider",{alias:["layout.sliderfield"],extend:"Ext.layout.component.field.Field",type:"sliderfield",beginLayout:function(n){this.callParent(arguments);n.endElContext=n.getEl("endEl");n.innerElContext=n.getEl("innerEl");n.bodyElContext=n.getEl("bodyEl")},publishInnerHeight:function(n,t){var i=t-this.measureLabelErrorHeight(n),r,u;this.owner.vertical?(r=n.endElContext.getPaddingInfo(),u=n.inputContext.getPaddingInfo(),n.innerElContext.setHeight(i-u.height-r.height)):n.bodyElContext.setHeight(i)},publishInnerWidth:function(n,t){if(!this.owner.vertical){var i=n.endElContext.getPaddingInfo(),r=n.inputContext.getPaddingInfo();n.innerElContext.setWidth(t-r.left-i.right-n.labelContext.getProp("width"))}},beginLayoutFixed:function(){var n=this,t=n.ieInputWidthAdjustment;t&&n.owner.bodyEl.setStyle("padding-right",t+"px");n.callParent(arguments)}});Ext.define("Ext.layout.container.Absolute",{alias:"layout.absolute",extend:"Ext.layout.container.Anchor",alternateClassName:"Ext.layout.AbsoluteLayout",targetCls:Ext.baseCSSPrefix+"abs-layout-ct",itemCls:Ext.baseCSSPrefix+"abs-layout-item",ignoreOnContentChange:!0,type:"absolute",adjustWidthAnchor:function(n,t){var i=this.targetPadding,r=t.getStyle("left");return n-r+i.left},adjustHeightAnchor:function(n,t){var i=this.targetPadding,r=t.getStyle("top");return n-r+i.top},isItemLayoutRoot:function(){return this.ignoreOnContentChange||this.callParent(arguments)},isItemShrinkWrap:function(){return!0},beginLayout:function(n){var t=this,i=t.getTarget();t.callParent(arguments);i.dom!==document.body&&i.position();t.targetPadding=n.targetContext.getPaddingInfo()},isItemBoxParent:function(){return!0},onContentChange:function(){return this.ignoreOnContentChange?!1:this.callParent(arguments)}});Ext.define("Ext.layout.container.Accordion",{extend:"Ext.layout.container.VBox",alias:["layout.accordion"],alternateClassName:"Ext.layout.AccordionLayout",itemCls:[Ext.baseCSSPrefix+"box-item",Ext.baseCSSPrefix+"accordion-item"],align:"stretch",fill:!0,titleCollapse:!0,hideCollapseTool:!1,collapseFirst:!1,animate:!0,activeOnTop:!1,multi:!1,defaultAnimatePolicy:{y:!0,height:!0},constructor:function(){var n=this;n.callParent(arguments);n.animatePolicy=n.animate?Ext.apply({},n.defaultAnimatePolicy):null},beforeRenderItems:function(n){for(var t=this,u=n.length,r=0,i;r<u;r++)i=n[r],i.rendered||(t.collapseFirst&&(i.collapseFirst=t.collapseFirst),t.hideCollapseTool?(i.hideCollapseTool=t.hideCollapseTool,i.titleCollapse=!0):t.titleCollapse&&(i.titleCollapse=t.titleCollapse),delete i.hideHeader,delete i.width,i.collapsible=!0,i.title=i.title||"&#160;",i.addBodyCls(Ext.baseCSSPrefix+"accordion-body"),t.multi||(t.expandedItem!==undefined?i.collapsed=!0:i.hasOwnProperty("collapsed")&&i.collapsed===!1?t.expandedItem=r:i.collapsed=!0,t.owner.mon(i,{show:t.onComponentShow,beforeexpand:t.onComponentExpand,scope:t})),t.fill&&t.owner.mon(i,{beforecollapse:t.onComponentCollapse,scope:t}));u&&t.expandedItem===undefined&&(t.expandedItem=0,n[0].collapsed=!1)},getItemsRenderTree:function(n){return this.beforeRenderItems(n),this.callParent(arguments)},renderItems:function(n){this.beforeRenderItems(n);this.callParent(arguments)},configureItem:function(n){this.callParent(arguments);n.animCollapse=n.border=!1;this.fill&&(n.flex=1)},onChildPanelRender:function(n){n.header.addCls(Ext.baseCSSPrefix+"accordion-hd")},beginLayout:function(n){this.callParent(arguments);this.updatePanelClasses(n)},updatePanelClasses:function(n){for(var u=n.visibleItems,f=u.length,e=!0,r,t,i=0;i<f;i++)r=u[i],t=r.header,t.addCls(Ext.baseCSSPrefix+"accordion-hd"),e?t.removeCls(Ext.baseCSSPrefix+"accordion-hd-sibling-expanded"):t.addCls(Ext.baseCSSPrefix+"accordion-hd-sibling-expanded"),i+1==f&&r.collapsed?t.addCls(Ext.baseCSSPrefix+"accordion-hd-last-collapsed"):t.removeCls(Ext.baseCSSPrefix+"accordion-hd-last-collapsed"),e=r.collapsed},onComponentExpand:function(){var n=this,t=n.owner,r,u,i,f;if(!n.processing){for(n.processing=!0,f=t.deferLayouts,t.deferLayouts=!0,r=n.multi?[]:t.query(">panel:not([collapsed])"),u=r.length,i=0;i<u;i++)r[i].collapse();t.deferLayouts=f;n.processing=!1}},onComponentCollapse:function(n){var t=this,r=t.owner,i,u,f;if(t.owner.items.getCount()===1)return!1;t.processing||(t.processing=!0,f=r.deferLayouts,r.deferLayouts=!0,i=n.next()||n.prev(),t.multi?(u=t.owner.query(">panel:not([collapsed])"),u.length===1&&i.expand()):i&&i.expand(),r.deferLayouts=f,t.processing=!1)},onComponentShow:function(n){this.onComponentExpand(n)}});Ext.define("Ext.resizer.Splitter",{extend:"Ext.Component",requires:["Ext.XTemplate"],uses:["Ext.resizer.SplitterTracker"],alias:"widget.splitter",childEls:["collapseEl"],renderTpl:['<tpl if="collapsible===true">','<div id="{id}-collapseEl" class="',Ext.baseCSSPrefix,"collapse-el ",Ext.baseCSSPrefix,'layout-split-{collapseDir}">&#160;<\/div>',"<\/tpl>"],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",canResize:!0,collapsible:!1,collapseOnDblClick:!0,defaultSplitMin:40,defaultSplitMax:1e3,collapseTarget:"next",horizontal:!1,vertical:!1,getTrackerConfig:function(){return{xclass:"Ext.resizer.SplitterTracker",el:this.el,splitter:this}},beforeRender:function(){var n=this,i=n.getCollapseTarget(),e=n.getCollapseDirection(),r=n.vertical,u=r?"width":"height",f=r?"height":"width",t;n.callParent();n.hasOwnProperty(f)||(n[f]="100%");n.hasOwnProperty(u)||(n[u]=5);i.collapsed&&n.addCls(n.collapsedClsInternal);t=n.baseCls+"-"+n.orientation;n.addCls(t);n.canResize||n.addCls(t+"-noresize");Ext.applyIf(n.renderData,{collapseDir:e,collapsible:n.collapsible||i.collapsible})},onRender:function(){var n=this;n.callParent(arguments);n.performCollapse!==!1&&(n.renderData.collapsible&&n.mon(n.collapseEl,"click",n.toggleTargetCmp,n),n.collapseOnDblClick&&n.mon(n.el,"dblclick",n.toggleTargetCmp,n));n.mon(n.getCollapseTarget(),{collapse:n.onTargetCollapse,expand:n.onTargetExpand,scope:n});n.el.unselectable();n.canResize&&(n.tracker=Ext.create(n.getTrackerConfig()),n.relayEvents(n.tracker,["beforedragstart","dragstart","dragend"]))},getCollapseDirection:function(){var n=this,t=n.collapseDirection,i,r,u,f;return t||(i=n.collapseTarget,i.isComponent&&(t=i.collapseDirection),t||(f=n.ownerCt.layout.type,i.isComponent?(u=n.ownerCt.items,r=Number(u.indexOf(i)==u.indexOf(n)-1)<<1|Number(f=="hbox")):r=Number(n.collapseTarget=="prev")<<1|Number(f=="hbox"),t=["bottom","right","top","left"][r]),n.collapseDirection=t),n.orientation=t=="top"||t=="bottom"?"horizontal":"vertical",n[n.orientation]=!0,t},getCollapseTarget:function(){var n=this;return n.collapseTarget.isComponent?n.collapseTarget:n.collapseTarget=="prev"?n.previousSibling():n.nextSibling()},onTargetCollapse:function(){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(){var n=this.getCollapseTarget(),t=n.placeholder,i;i=t&&!t.hidden?!0:!n.hidden;i&&(n.collapsed?n.expand():n.collapseDirection?n.collapse():n.collapse(this.renderData.collapseDir))},setSize:function(){var n=this;n.callParent(arguments);Ext.isIE&&n.el&&n.el.repaint()},beforeDestroy:function(){Ext.destroy(this.tracker);this.callParent()}});Ext.define("Ext.resizer.BorderSplitter",{extend:"Ext.resizer.Splitter",uses:["Ext.resizer.BorderSplitterTracker"],alias:"widget.bordersplitter",collapseTarget:null,getTrackerConfig:function(){var n=this.callParent();return n.xclass="Ext.resizer.BorderSplitterTracker",n}});Ext.define("Ext.layout.container.Border",{alias:"layout.border",extend:"Ext.layout.container.Container",requires:["Ext.resizer.BorderSplitter","Ext.Component","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:[Ext.baseCSSPrefix+"border-item",Ext.baseCSSPrefix+"box-item"],type:"border",padding:undefined,percentageRe:/(\d+)%/,axisProps:{horz:{borderBegin:"west",borderEnd:"east",horizontal:!0,posProp:"x",sizeProp:"width",sizePropCap:"Width"},vert:{borderBegin:"north",borderEnd:"south",horizontal:!1,posProp:"y",sizeProp:"height",sizePropCap:"Height"}},centerRegion:null,collapseDirections:{north:"top",south:"bottom",east:"right",west:"left"},manageMargins:!0,panelCollapseAnimate:!0,panelCollapseMode:"placeholder",regionWeights:{north:20,south:10,center:0,west:-10,east:-20},beginAxis:function(n,t,i){for(var l=this,o=l.axisProps[i],s=!o.horizontal,d=o.sizeProp,a=0,p=n.childItems,g=p.length,e,r,f,u,v,w,y,b,c,k,h=0;h<g;++h)if(r=p[h],u=r.target,r.layoutPos={},u.region){if(r.region=v=u.region,r.isCenter=u.isCenter,r.isHorz=u.isHorz,r.isVert=u.isVert,r.weight=u.weight||l.regionWeights[v]||0,t[u.id]=r,u.isCenter){e=r;f=u.flex;n.centerRegion=e;continue}if(s!==r.isVert)continue;r.reverseWeighting=v==o.borderEnd;y=u[d];b=typeof y;u.collapsed||(b=="string"&&(w=l.percentageRe.exec(y))?r.percentage=parseInt(w[1],10):u.flex&&(a+=r.flex=u.flex))}return e&&(c=e.target,(k=c.placeholderFor)?f||s!==k.collapsedVertical()||(f=0,e.collapseAxis=i):c.collapsed&&s===c.collapsedVertical()&&(f=0,e.collapseAxis=i)),f==null&&(f=1),a+=f,Ext.apply({before:s?"top":"left",totalFlex:a},o)},beginLayout:function(n){var i=this,f=i.getLayoutItems(),e=i.padding,a=typeof e,v=!1,r,o,h,u,c,t,l,y,s;for(e?(a=="string"||a=="number")&&(e=Ext.util.Format.parseBox(e)):(e=n.getEl("getTargetEl").getPaddingInfo(),v=!0),n.outerPad=e,n.padOnContainer=v,u=0,h=f.length;u<h;++u)o=f[u],t=i.getSplitterTarget(o),t&&(y=!!o.hidden,t.split?y!==t.hidden&&(l=!t.hidden):t.isCollapsingOrExpanding&&(l=!!t.collapsed),l===!0?o.show():l===!1&&o.hide());for(i.callParent(arguments),f=n.childItems,h=f.length,c={},n.borderAxisHorz=i.beginAxis(n,c,"horz"),n.borderAxisVert=i.beginAxis(n,c,"vert"),u=0;u<h;++u)r=f[u],t=i.getSplitterTarget(r.target),t&&(s=c[t.id],s||(s=n.getEl(t.el,i),s.region=t.region),r.collapseTarget=t=s,r.weight=t.weight,r.reverseWeighting=t.reverseWeighting,t.splitter=r,r.isHorz=t.isHorz,r.isVert=t.isVert);i.sortWeightedItems(f,"reverseWeighting");i.setupSplitterNeighbors(f)},calculate:function(n){var e=this,v=e.getContainerSize(n),h=n.childItems,a=h.length,u=n.borderAxisHorz,f=n.borderAxisVert,o=n.outerPad,y=n.padOnContainer,r,t,s,i,c,l;for(u.begin=o.left,f.begin=o.top,c=u.end=u.flexSpace=v.width+(y?o.left:-o.right),l=f.end=f.flexSpace=v.height+(y?o.top:-o.bottom),r=0;r<a;++r)t=h[r],s=t.getMarginInfo(),(t.isHorz||t.isCenter)&&(u.addUnflexed(s.width),c-=s.width),(t.isVert||t.isCenter)&&(f.addUnflexed(s.height),l-=s.height),t.flex||t.percentage||(t.isHorz||t.isCenter&&t.collapseAxis==="horz"?(i=t.getProp("width"),u.addUnflexed(i),t.collapseTarget&&(c-=i)):(t.isVert||t.isCenter&&t.collapseAxis==="vert")&&(i=t.getProp("height"),f.addUnflexed(i),t.collapseTarget&&(l-=i)));for(r=0;r<a;++r)t=h[r],s=t.getMarginInfo(),t.percentage&&(t.isHorz?(i=Math.ceil(c*t.percentage/100),i=t.setWidth(i),u.addUnflexed(i)):t.isVert&&(i=Math.ceil(l*t.percentage/100),i=t.setHeight(i),f.addUnflexed(i)));for(r=0;r<a;++r)t=h[r],t.isCenter||(e.calculateChildAxis(t,u),e.calculateChildAxis(t,f));e.finishAxis(n,f)+e.finishAxis(n,u)<2?e.done=!1:e.finishPositions(h)},calculateChildAxis:function(n,t){var s=n.collapseTarget,h="set"+t.sizePropCap,f=t.sizeProp,c=n.getMarginInfo()[f],r,e,o,u,i;s?r=s.region:(r=n.region,o=n.flex);e=r==t.borderBegin;e||r==t.borderEnd?(o?(i=Math.ceil(t.flexSpace*(o/t.totalFlex)),i=n[h](i)):i=n.percentage?n.peek(f):n.getProp(f),i+=c,e?(u=t.begin,t.begin+=i):t.end=u=t.end-i):(n[h](t.end-t.begin-c),u=t.begin);n.layoutPos[t.posProp]=u},finishAxis:function(n,t){var r=t.end-t.begin,i=n.centerRegion;return i&&(i["set"+t.sizePropCap](r-i.getMarginInfo()[t.sizeProp]),i.layoutPos[t.posProp]=t.begin),Ext.isNumber(r)?1:0},finishPositions:function(n){for(var r=n.length,t,i=0;i<r;++i)t=n[i],t.setProp("x",t.layoutPos.x+t.marginInfo.left),t.setProp("y",t.layoutPos.y+t.marginInfo.top)},getPlaceholder:function(n){return n.getPlaceholder&&n.getPlaceholder()},getSplitterTarget:function(n){var t=n.collapseTarget;return t&&t.collapsed?t.placeholder||t:t},isItemBoxParent:function(){return!0},isItemShrinkWrap:function(){return!0},insertSplitter:function(n,t,i){var u=n.region,r={xtype:"bordersplitter",collapseTarget:n,id:n.id+"-splitter",hidden:i,canResize:n.splitterResize!==!1},f=t+(u=="south"||u=="east"?0:1);n.isHorz?r.height=null:r.width=null;n.collapseMode=="mini"&&(r.collapsedCls=n.collapsedCls);n.splitter=this.owner.add(f,r)},onAdd:function(n,t){var i=this,r=n.placeholderFor,u=n.region,f,e;i.callParent(arguments);u?(Ext.apply(n,i.regionFlags[u]),u=="center"?i.centerRegion=n:(n.collapseDirection=this.collapseDirections[u],f=n.split,e=!!n.hidden,(n.isHorz||n.isVert)&&(f||n.collapseMode=="mini")&&i.insertSplitter(n,t,e||!f)),n.hasOwnProperty("collapseMode")||(n.collapseMode=i.panelCollapseMode),n.hasOwnProperty("animCollapse")||(n.animCollapse=n.collapseMode!="placeholder"?!1:i.panelCollapseAnimate)):r&&(Ext.apply(n,i.regionFlags[r.region]),n.region=r.region,n.weight=r.weight)},onDestroy:function(){this.centerRegion=null;this.callParent()},onRemove:function(n){var t=this,r=n.region,i=n.splitter;r&&(n.isCenter&&(t.centerRegion=null),delete n.isCenter,delete n.isHorz,delete n.isVert,i&&(t.owner.doRemove(i,!0),delete n.splitter));t.callParent(arguments)},regionFlags:{center:{isCenter:!0,isHorz:!1,isVert:!1},north:{isCenter:!1,isHorz:!1,isVert:!0},south:{isCenter:!1,isHorz:!1,isVert:!0},west:{isCenter:!1,isHorz:!0,isVert:!1},east:{isCenter:!1,isHorz:!0,isVert:!1}},setupSplitterNeighbors:function(n){for(var h={},a=n.length,l=this.touchedRegions,t,c,e,r,i,o,s,u,f=0;f<a;++f)if(i=n[f].target,o=i.region,i.isCenter)c=i;else if(o){for(u=l[o],t=0,e=u.length;t<e;++t)r=h[u[t]],r&&r.neighbors.push(i);s=i.placeholderFor?i.placeholderFor.splitter:i.splitter;s&&(s.neighbors=[]);h[o]=s}if(c)for(u=l.center,t=0,e=u.length;t<e;++t)r=h[u[t]],r&&r.neighbors.push(c)},touchedRegions:{center:["north","south","east","west"],north:["north","east","west"],south:["south","east","west"],east:["east","north","south"],west:["west","north","south"]},sizePolicies:{vert:{setsWidth:1,setsHeight:0},horz:{setsWidth:0,setsHeight:1},flexAll:{setsWidth:1,setsHeight:1}},getItemSizePolicy:function(n){var e=this,t=this.sizePolicies,r,i,u,f;return n.isCenter?(f=n.placeholderFor,f)?f.collapsedVertical()?t.vert:t.horz:n.collapsed?n.collapsedVertical()?t.vert:t.horz:t.flexAll:(r=n.collapseTarget,r)?r.isVert?t.vert:t.horz:n.region?(n.isVert?(i=n.height,u=t.vert):(i=n.width,u=t.horz),n.flex||typeof i=="string"&&e.percentageRe.test(i))?t.flexAll:u:e.autoSizePolicy}},function(){var n={addUnflexed:function(n){this.flexSpace=Math.max(this.flexSpace-n,0)}},t=this.prototype.axisProps;Ext.apply(t.horz,n);Ext.apply(t.vert,n)});Ext.define("Ext.layout.container.Card",{extend:"Ext.layout.container.Fit",alternateClassName:"Ext.layout.CardLayout",alias:"layout.card",type:"card",hideInactive:!0,deferredRender:!1,getRenderTree:function(){var t=this,n=t.getActiveItem();if(n){if(n.hasListeners.beforeactivate&&n.fireEvent("beforeactivate",n)===!1)n=t.activeItem=t.owner.activeItem=null;else if(n.hasListeners.activate)n.on({boxready:function(){n.fireEvent("activate",n)},single:!0});if(t.deferredRender){if(n)return t.getItemsRenderTree([n])}else return t.callParent(arguments)}},renderChildren:function(){var n=this,t=n.getActiveItem();n.deferredRender?t&&n.renderItems([t],n.getRenderTarget()):n.callParent()},isValidParent:function(n,t){var i=n.el?n.el.dom:Ext.getDom(n);return i&&i.parentNode===(t.dom||t)||!1},getActiveItem:function(){var n=this,t=n.parseActiveItem(n.activeItem||n.owner&&n.owner.activeItem);return n.activeItem=t&&n.owner.items.indexOf(t)!=-1?t:null,n.activeItem},parseActiveItem:function(n){return n&&n.isComponent?n:typeof n=="number"||n===undefined?this.getLayoutItems()[n||0]:this.owner.getComponent(n)},configureItem:function(n){n.hidden=n===this.getActiveItem()?!1:!0;this.callParent(arguments)},onRemove:function(n){var t=this;n===t.activeItem&&(t.activeItem=null)},getAnimation:function(n,t){var i=(n||{}).cardSwitchAnimation;return i===!1?!1:i||t.cardSwitchAnimation},getNext:function(){var t=arguments[0],n=this.getLayoutItems(),i=Ext.Array.indexOf(n,this.activeItem);return n[i+1]||(t?n[0]:!1)},next:function(){var n=arguments[0],t=arguments[1];return this.setActiveItem(this.getNext(t),n)},getPrev:function(){var t=arguments[0],n=this.getLayoutItems(),i=Ext.Array.indexOf(n,this.activeItem);return n[i-1]||(t?n[n.length-1]:!1)},prev:function(){var n=arguments[0],t=arguments[1];return this.setActiveItem(this.getPrev(t),n)},setActiveItem:function(n){var i=this,r=i.owner,t=i.activeItem,f=r.rendered,u;return(n=i.parseActiveItem(n),u=r.items.indexOf(n),u==-1&&(u=r.items.items.length,Ext.suspendLayouts(),n=r.add(n),Ext.resumeLayouts()),n&&t!=n)?n.fireEvent("beforeactivate",n,t)===!1?!1:t&&t.fireEvent("beforedeactivate",t,n)===!1?!1:(f?(Ext.suspendLayouts(),n.rendered||i.renderItem(n,i.getRenderTarget(),r.items.length),t&&(i.hideInactive&&(t.hide(),t.hiddenByLayout=!0),t.fireEvent("deactivate",t,n)),n.hidden&&n.show(),n.hidden||(i.activeItem=n),Ext.resumeLayouts(!0)):i.activeItem=n,n.fireEvent("activate",n,t),i.activeItem):!1}});Ext.define("Ext.layout.container.Column",{extend:"Ext.layout.container.Container",alias:["layout.column"],alternateClassName:"Ext.layout.ColumnLayout",type:"column",itemCls:Ext.baseCSSPrefix+"column",targetCls:Ext.baseCSSPrefix+"column-layout-ct",columnWidthSizePolicy:{setsWidth:1,setsHeight:0},childEls:["innerCt"],manageOverflow:2,renderTpl:['<div id="{ownerId}-innerCt" class="',Ext.baseCSSPrefix,'column-inner">',"{%this.renderBody(out,values)%}",'<div class="',Ext.baseCSSPrefix,'clear"><\/div>',"<\/div>","{%this.renderPadder(out,values)%}"],getItemSizePolicy:function(n){return n.columnWidth?this.columnWidthSizePolicy:this.autoSizePolicy},beginLayout:function(){this.callParent(arguments);this.innerCt.dom.style.width=""},calculate:function(n){var t=this,r=t.getContainerSize(n),i=n.state;if((i.calculatedColumns||(i.calculatedColumns=t.calculateColumns(n)))&&t.calculateHeights(n)){t.calculateOverflow(n,r);return}t.done=!1},calculateColumns:function(n){var o=this,c=o.getContainerSize(n),a=n.getEl("innerCt",o),h=n.childItems,l=h.length,f=0,s,u,r,t,e,i;if(!n.heightModel.shrinkWrap&&!n.targetContext.hasProp("height"))return!1;for(c.gotWidth?(u=c.width,a.setWidth(u)):(n.targetContext.block(o,"width"),s=!0),r=0;r<l;++r)t=h[r],e=t.getMarginInfo().width,t.widthModel.calculated||(i=t.getProp("width"),typeof i!="number"&&(t.block(o,"width"),s=!0),f+=i+e);if(!s){for(u=u<f?0:u-f,r=0;r<l;++r)t=h[r],t.widthModel.calculated&&(e=t.marginInfo.width,i=t.target.columnWidth,i=Math.floor(i*u)-e,i=t.setWidth(i),f+=i+e);n.setContentWidth(f)}return!s},calculateHeights:function(n){for(var u=this,f=n.childItems,e=f.length,r,t=!1,i=0;i<e;++i)r=f[i],r.hasDomProp("height")||(r.domBlock(u,"height"),t=!0);return t||n.setContentHeight(u.innerCt.getHeight()+n.targetContext.getPaddingInfo().height),!t},finishedLayout:function(n){var t=n.bodyContext;t&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&t.el.repaint();this.callParent(arguments)},getRenderTarget:function(){return this.innerCt}});Ext.define("Ext.layout.container.Form",{alias:"layout.form",extend:"Ext.layout.container.Auto",alternateClassName:"Ext.layout.FormLayout",tableCls:Ext.baseCSSPrefix+"form-layout-table",type:"form",manageOverflow:2,childEls:["formTable"],padRow:'<tr><td class="'+Ext.baseCSSPrefix+'form-item-pad" colspan="3"><\/td><\/tr>',renderTpl:['<table id="{ownerId}-formTable" class="{tableCls}" style="width:100%" cellpadding="0">',"{%this.renderBody(out,values)%}","<\/table>","{%this.renderPadder(out,values)%}"],getRenderData:function(){var n=this.callParent();return n.tableCls=this.tableCls,n},calculate:function(n){var t=this,e=t.getContainerSize(n,!0),u,i,r=0,f;if(e.gotWidth)for(this.callParent(arguments),u=t.formTable.dom.offsetWidth,i=n.childItems,f=i.length;r<f;++r)i[r].setWidth(u,!1);else t.done=!1},getRenderTarget:function(){return this.formTable},getRenderTree:function(){for(var i=this,t=i.callParent(arguments),n=0,r=t.length;n<r;n++)t[n]=i.transformItemRenderTree(t[n]);return t},transformItemRenderTree:function(n){return n.tag&&n.tag=="table"?(n.tag="tbody",delete n.cellspacing,delete n.cellpadding,Ext.isIE6&&(n.cn=this.padRow),n):{tag:"tbody",cn:{tag:"tr",cn:{tag:"td",colspan:3,style:"width:100%",cn:n}}}},isValidParent:function(){return!0},isItemShrinkWrap:function(n){return(n.shrinkWrap===!0?3:n.shrinkWrap||0)&2},getItemSizePolicy:function(){return{setsWidth:1,setsHeight:0}}});Ext.define("Ext.menu.Item",{extend:"Ext.Component",alias:"widget.menuitem",alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:!0,clickHideDelay:1,destroyMenu:!0,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:!0,isMenuItem:!0,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,tooltipType:"qtip",arrowCls:Ext.baseCSSPrefix+"menu-item-arrow",childEls:["itemEl","iconEl","textEl","arrowEl"],renderTpl:['<tpl if="plain">',"{text}","<tpl else>",'<a id="{id}-itemEl" class="'+Ext.baseCSSPrefix+'menu-item-link" href="{href}" <tpl if="hrefTarget">target="{hrefTarget}"<\/tpl> hidefocus="true" unselectable="on">','<img id="{id}-iconEl" src="{icon}" class="'+Ext.baseCSSPrefix+'menu-item-icon {iconCls}" />','<span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'menu-item-text" <tpl if="arrowCls">style="margin-right: 17px;"<\/tpl> >{text}<\/span>','<img id="{id}-arrowEl" src="{blank}" class="{arrowCls}" />',"<\/a>","<\/tpl>"],maskOnDisable:!1,activate:function(){var n=this;!n.activated&&n.canActivate&&n.rendered&&!n.isDisabled()&&n.isVisible()&&(n.el.addCls(n.activeCls),n.focus(),n.activated=!0,n.fireEvent("activate",n))},getFocusEl:function(){return this.itemEl},deactivate:function(){var n=this;n.activated&&(n.el.removeCls(n.activeCls),n.blur(),n.hideMenu(),n.activated=!1,n.fireEvent("deactivate",n))},deferExpandMenu:function(){var n=this;!n.activated||n.menu.rendered&&n.menu.isVisible()||(n.parentMenu.activeChild=n.menu,n.menu.parentItem=n,n.menu.parentMenu=n.menu.ownerCt=n.parentMenu,n.menu.showBy(n,n.menuAlign))},deferHideMenu:function(){this.menu.isVisible()&&this.menu.hide()},cancelDeferHide:function(){clearTimeout(this.hideMenuTimer)},deferHideParentMenus:function(){var n;Ext.menu.Manager.hideAll();Ext.Element.getActiveElement()||(n=this.up(":not([hidden])"),n&&n.focus())},expandMenu:function(n){var t=this;t.menu&&(t.cancelDeferHide(),n===0?t.deferExpandMenu():t.expandMenuTimer=Ext.defer(t.deferExpandMenu,Ext.isNumber(n)?n:t.menuExpandDelay,t))},getRefItems:function(n){var t=this.menu,i;return t&&(i=t.getRefItems(n),i.unshift(t)),i||[]},hideMenu:function(n){var t=this;t.menu&&(clearTimeout(t.expandMenuTimer),t.hideMenuTimer=Ext.defer(t.deferHideMenu,Ext.isNumber(n)?n:t.menuHideDelay,t))},initComponent:function(){var n=this,i=Ext.baseCSSPrefix,t=[i+"menu-item"],r;n.addEvents("activate","click","deactivate");n.plain&&t.push(i+"menu-item-plain");n.cls&&t.push(n.cls);n.cls=t.join(" ");n.menu&&(r=n.menu,delete n.menu,n.setMenu(r));n.callParent(arguments)},onClick:function(n){var t=this;(t.href||n.stopEvent(),t.disabled)||(t.hideOnClick&&(t.deferHideParentMenusTimer=Ext.defer(t.deferHideParentMenus,t.clickHideDelay,t)),Ext.callback(t.handler,t.scope||t,[t,n]),t.fireEvent("click",t,n),t.hideOnClick||t.focus())},onRemoved:function(){var n=this;n.activated&&n.parentMenu.activeItem===n&&n.parentMenu.deactivateActiveItem();n.callParent(arguments);delete n.parentMenu;delete n.ownerButton},beforeDestroy:function(){var n=this;n.rendered&&n.clearTip();n.callParent()},onDestroy:function(){var n=this;clearTimeout(n.expandMenuTimer);n.cancelDeferHide();clearTimeout(n.deferHideParentMenusTimer);n.setMenu(null);n.callParent(arguments)},beforeRender:function(){var n=this,r=Ext.BLANK_IMAGE_URL,t,i;n.callParent();n.iconAlign==="right"?(t=n.checkChangeDisabled?n.disabledCls:"",i=Ext.baseCSSPrefix+"menu-item-icon-right "+n.iconCls):(t=n.iconCls+(n.checkChangeDisabled?" "+n.disabledCls:""),i=n.menu?n.arrowCls:"");Ext.applyIf(n.renderData,{href:n.href||"#",hrefTarget:n.hrefTarget,icon:n.icon||r,iconCls:t,plain:n.plain,text:n.text,arrowCls:i,blank:r})},onRender:function(){var n=this;n.callParent(arguments);n.tooltip&&n.setTooltip(n.tooltip,!0)},setMenu:function(n,t){var i=this,r=i.menu,u=i.arrowEl;r&&(delete r.parentItem,delete r.parentMenu,delete r.ownerCt,delete r.ownerItem,(t===!0||t!==!1&&i.destroyMenu)&&Ext.destroy(r));n?(i.menu=Ext.menu.Manager.get(n),i.menu.ownerItem=i):i.menu=null;i.rendered&&!i.destroying&&u&&u[i.menu?"addCls":"removeCls"](i.arrowCls)},setHandler:function(n,t){this.handler=n||null;this.scope=t},setIcon:function(n){var t=this.iconEl;t&&(t.src=n||Ext.BLANK_IMAGE_URL);this.icon=n},setIconCls:function(n){var t=this,i=t.iconEl;i&&(t.iconCls&&i.removeCls(t.iconCls),n&&i.addCls(n));t.iconCls=n},setText:function(n){var t=this,i=t.textEl||t.el;t.text=n;t.rendered&&(i.update(n||""),t.ownerCt.updateLayout())},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},clearTip:function(){Ext.isObject(this.tooltip)&&Ext.tip.QuickTipManager.unregister(this.itemEl)},setTooltip:function(n,t){var i=this;return i.rendered?(t||i.clearTip(),Ext.isObject(n)?(Ext.tip.QuickTipManager.register(Ext.apply({target:i.itemEl.id},n)),i.tooltip=n):i.itemEl.dom.setAttribute(i.getTipAttr(),n)):i.tooltip=n,i}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:!1,checkChangeDisabled:!1,afterRender:function(){var n=this;n.callParent();n.checked=!n.checked;n.setChecked(!n.checked,!0);n.checkChangeDisabled&&n.disableCheckChange()},initComponent:function(){var n=this;n.addEvents("beforecheckchange","checkchange");n.callParent(arguments);Ext.menu.Manager.registerCheckable(n);n.group&&(n.iconCls||(n.iconCls=n.groupCls),n.initialConfig.hideOnClick!==!1&&(n.hideOnClick=!0))},disableCheckChange:function(){var n=this,t=n.iconEl;t&&t.addCls(n.disabledCls);Ext.isIE9&&Ext.isStrict||!n.rendered||n.el.repaint();n.checkChangeDisabled=!0},enableCheckChange:function(){var n=this,t=n.iconEl;t&&t.removeCls(n.disabledCls);n.checkChangeDisabled=!1},onClick:function(n){var t=this;t.disabled||t.checkChangeDisabled||t.checked&&t.group||t.setChecked(!t.checked);this.callParent([n])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(n,t){var i=this;if(i.checked!==n&&(t||i.fireEvent("beforecheckchange",i,n)!==!1)){i.el&&i.el[n?"addCls":"removeCls"](i.checkedCls)[n?"removeCls":"addCls"](i.uncheckedCls);i.checked=n;Ext.menu.Manager.onCheckChange(i,n);t||(Ext.callback(i.checkHandler,i.scope,[i,n]),i.fireEvent("checkchange",i,n))}}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(n){var t=this;t.menu=n;t.callParent([n.el,{down:t.down,enter:t.enter,esc:t.escape,left:t.left,right:t.right,space:t.enter,tab:t.tab,up:t.up}])},down:function(n){var t=this,i=t.menu.focusedItem;if(i&&n.getKey()==Ext.EventObject.DOWN&&t.isWhitelisted(i))return!0;t.focusNextItem(1)},enter:function(n){var t=this.menu,i=t.focusedItem;if(t.activeItem)t.onClick(n);else if(i&&i.isFormField)return!0},escape:function(){Ext.menu.Manager.hideAll()},focusNextItem:function(n){for(var i=this.menu,r=i.items,f=i.focusedItem,e=f?r.indexOf(f):-1,t=e+n,u;t!=e;){if(t<0?t=r.length-1:t>=r.length&&(t=0),u=r.getAt(t),i.canActivateItem(u)){i.setActiveItem(u);break}t+=n}},isWhitelisted:function(n){return Ext.FocusManager.isWhitelisted(n)},left:function(){var n=this.menu,t=n.focusedItem,i=n.activeItem;if(t&&this.isWhitelisted(t))return!0;n.hide();n.parentMenu&&n.parentMenu.focus()},right:function(){var t=this.menu,i=t.focusedItem,r=t.activeItem,n;if(i&&this.isWhitelisted(i))return!0;r&&(n=t.activeItem.menu,n&&(r.expandMenu(0),Ext.defer(function(){n.setActiveItem(n.items.getAt(0))},25)))},tab:function(n){var t=this;n.shiftKey?t.up(n):t.down(n)},up:function(n){var t=this,i=t.menu.focusedItem;if(i&&n.getKey()==Ext.EventObject.UP&&t.isWhitelisted(i))return!0;t.focusNextItem(-1)}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:!1,focusable:!1,hideOnClick:!1,plain:!0,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:"&#160;",beforeRender:function(){var n=this;n.callParent();n.addCls(n.separatorCls)}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],enableKeyNav:!0,allowOtherMenus:!1,ariaRole:"menu",defaultAlign:"tl-bl?",floating:!0,constrain:!0,hidden:!0,hideMode:"visibility",ignoreParentClicks:!1,isMenu:!0,showSeparator:!0,minWidth:undefined,defaultMinWidth:120,initComponent:function(){var n=this,t=Ext.baseCSSPrefix,i=[t+"menu"],r=n.bodyCls?[n.bodyCls]:[],u=n.floating!==!1;n.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(n);n.plain&&i.push(t+"menu-plain");n.cls=i.join(" ");r.unshift(t+"menu-body");n.bodyCls=r.join(" ");n.layout||(n.layout={type:"vbox",align:"stretchmax",overflowHandler:"Scroller"});u&&n.minWidth===undefined&&(n.minWidth=n.defaultMinWidth);u||n.initialConfig.hidden===!0||(n.hidden=!1);n.callParent(arguments);n.on("beforeshow",function(){var t=!!n.items.length;return t&&n.rendered&&n.el.setStyle("visibility",null),t})},beforeRender:function(){this.callParent(arguments);this.getSizeModel().width.shrinkWrap||(this.layout.align="stretch")},onBoxReady:function(){var n=this,t;n.callParent(arguments);n.showSeparator&&(t={cls:Ext.baseCSSPrefix+"menu-icon-separator",html:"&#160;"},(!Ext.isStrict&&Ext.isIE||Ext.isIE6)&&(t.style="height:"+n.el.getHeight()+"px"),n.iconSepEl=n.layout.getElementTarget().insertFirst(t));n.mon(n.el,{click:n.onClick,mouseover:n.onMouseOver,scope:n});n.mouseMonitor=n.el.monitorMouseLeave(100,n.onMouseLeave,n);n.enableKeyNav&&(n.keyNav=new Ext.menu.KeyNav(n))},getBubbleTarget:function(){return this.parentMenu||this.ownerButton||this.callParent(arguments)},canActivateItem:function(n){return n&&!n.isDisabled()&&n.isVisible()&&(n.canActivate||n.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(n){var t=this,i=t.activeItem,r=t.focusedItem;i&&(i.deactivate(),i.activated||delete t.activeItem);r&&n&&(r.blur(),delete t.focusedItem)},getFocusEl:function(){return this.focusedItem||this.el},hide:function(){this.deactivateActiveItem(!0);this.callParent(arguments)},getItemFromEvent:function(n){return this.getChildByElement(n.getTarget())},lookupComponent:function(n){var t=this;return typeof n=="string"?n=t.lookupItemFromString(n):Ext.isObject(n)&&(n=t.lookupItemFromObject(n)),n.minWidth=n.minWidth||t.minWidth,n},lookupItemFromObject:function(n){var r=this,i=Ext.baseCSSPrefix,t;return n.isComponent||(n=n.xtype?Ext.ComponentManager.create(n,n.xtype):Ext.create("Ext.menu."+(Ext.isBoolean(n.checked)?"Check":"")+"Item",n)),n.isMenuItem&&(n.parentMenu=r),n.isMenuItem||n.dock||(t=[i+"menu-item",i+"menu-item-cmp"],r.plain||n.indent!==!0&&n.iconCls!=="no-icon"||t.push(i+"menu-item-indent"),n.rendered?n.el.addCls(t):n.cls=(n.cls?n.cls:"")+" "+t.join(" ")),n},lookupItemFromString:function(n){return n=="separator"||n=="-"?new Ext.menu.Separator:new Ext.menu.Item({canActivate:!1,hideOnClick:!1,plain:!0,text:n})},onClick:function(n){var i=this,t;if(i.disabled){n.stopEvent();return}if(t=n.type==="click"?i.getItemFromEvent(n):i.activeItem,t&&t.isMenuItem)if(t.menu&&i.ignoreParentClicks)n.stopEvent();else t.onClick(n);(!t||t.disabled)&&(t=undefined);i.fireEvent("click",i,t,n)},onDestroy:function(){var n=this;Ext.menu.Manager.unregister(n);delete n.parentMenu;delete n.ownerButton;n.rendered&&(n.el.un(n.mouseMonitor),Ext.destroy(n.keyNav),delete n.keyNav);n.callParent(arguments)},onMouseLeave:function(n){var t=this;(t.deactivateActiveItem(),t.disabled)||t.fireEvent("mouseleave",t,n)},onMouseOver:function(n){var t=this,e=n.getRelatedTarget(),u=!t.el.contains(e),i=t.getItemFromEvent(n),r=t.parentMenu,f=t.parentItem;(u&&r&&(r.setActiveItem(f),f.cancelDeferHide(),r.mouseMonitor.mouseenter()),t.disabled)||(i&&!i.activated&&(t.setActiveItem(i),i.activated&&i.expandMenu&&i.expandMenu()),u&&t.fireEvent("mouseenter",t,n),t.fireEvent("mouseover",t,i,n))},setActiveItem:function(n){var t=this;n&&n!=t.activeItem&&(t.deactivateActiveItem(),t.canActivateItem(n)&&(n.activate?(n.activate(),n.activated&&(t.activeItem=n,t.focusedItem=n,t.focus())):(n.focus(),t.focusedItem=n)),n.el.scrollIntoView(t.layout.getRenderTarget()))},showBy:function(n,t,i){var r=this;return r.floating&&n&&(r.show(),r.setPagePosition(r.el.getAlignToXY(n.el||n,t||r.defaultAlign,i)),r.setVerticalPosition()),r},show:function(){var n=this,i,t,r,u=n.maxHeight;return n.rendered||n.doAutoRender(),n.floating&&(i=Ext.fly(n.el.getScopeParent()),t=i.getViewSize().height,n.maxHeight=Math.min(u||t,t)),r=n.callParent(arguments),n.maxHeight=u,r},afterComponentLayout:function(){var n=this;n.callParent(arguments);n.showSeparator&&n.iconSepEl.setHeight(n.componentLayout.lastComponentSize.contentHeight)},setVerticalPosition:function(){var n=this,u,t=n.el.getY(),r=t,i=n.getHeight(),e=Ext.Element.getViewportHeight().height,f=Ext.fly(n.el.getScopeParent()),o=f.getViewSize().height,s=t-f.getScroll().top;f=null;n.floating&&(u=n.maxHeight?n.maxHeight:o-s,i>o?r=t-s:u<i?r=t-(i-u):t+i>e&&(r=e-i));n.el.setY(r)}});Ext.define("Ext.menu.ColorPicker",{extend:"Ext.menu.Menu",alias:"widget.colormenu",requires:["Ext.picker.Color"],hideOnClick:!0,pickerId:null,initComponent:function(){var n=this,t=Ext.apply({},n.initialConfig);if(delete t.listeners,Ext.apply(n,{plain:!0,showSeparator:!1,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-color-item",id:n.pickerId,xtype:"colorpicker"},t)}),n.callParent(arguments),n.picker=n.down("colorpicker"),n.relayEvents(n.picker,["select"]),n.hideOnClick)n.on("select",n.hidePickerOnSelect,n)},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.menu.DatePicker",{extend:"Ext.menu.Menu",alias:"widget.datemenu",requires:["Ext.picker.Date"],hideOnClick:!0,pickerId:null,initComponent:function(){var n=this,t=Ext.apply({},n.initialConfig);if(delete t.listeners,Ext.apply(n,{showSeparator:!1,plain:!0,border:!1,bodyPadding:0,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-date-item",id:n.pickerId,xtype:"datepicker"},t)}),n.callParent(arguments),n.picker=n.down("datepicker"),n.relayEvents(n.picker,["select"]),n.hideOnClick)n.on("select",n.hidePickerOnSelect,n)},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",childEls:["toolEl"],renderTpl:['<img id="{id}-toolEl" src="{blank}" class="{baseCls}-{type}" role="presentation"/>'],tooltipType:"qtip",stopEvent:!0,height:15,width:15,initComponent:function(){var n=this;n.addEvents("click");n.type=n.type||n.id;Ext.applyIf(n.renderData,{baseCls:n.baseCls,blank:Ext.BLANK_IMAGE_URL,type:n.type});n.tooltip=n.tooltip||n.qtip;n.callParent();n.on({element:"toolEl",click:n.onClick,mousedown:n.onMouseDown,mouseover:n.onMouseOver,mouseout:n.onMouseOut,scope:n})},afterRender:function(){var n=this,t;n.callParent(arguments);n.tooltip&&(Ext.isObject(n.tooltip)?Ext.tip.QuickTipManager.register(Ext.apply({target:n.id},n.tooltip)):(t=n.tooltipType=="qtip"?"data-qtip":"title",n.toolEl.dom.setAttribute(t,n.tooltip)))},getFocusEl:function(){return this.el},setType:function(n){var t=this;return t.type=n,t.rendered&&(t.toolEl.dom.className=t.baseCls+"-"+n),t},bindTo:function(n){this.owner=n},onClick:function(n,t){var i=this,r;return i.disabled?!1:(r=i.owner||i.ownerCt,i.el.removeCls(i.toolPressedCls),i.el.removeCls(i.toolOverCls),i.stopEvent!==!1&&n.stopEvent(),Ext.callback(i.handler,i.scope||i,[n,t,r,i]),i.fireEvent("click",i,n),!0)},onDestroy:function(){Ext.isObject(this.tooltip)&&Ext.tip.QuickTipManager.unregister(this.id);this.callParent()},onMouseDown:function(){if(this.disabled)return!1;this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled)return!1;this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:!0,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",createDragOverlay:function(){var n;n=this.overlay=Ext.getBody().createChild({cls:this.overlayCls,html:"&#160;"});n.unselectable();n.setSize(Ext.Element.getViewWidth(!0),Ext.Element.getViewHeight(!0));n.show()},getPrevCmp:function(){var n=this.getSplitter();return n.previousSibling()},getNextCmp:function(){var n=this.getSplitter();return n.nextSibling()},onBeforeStart:function(n){var t=this,r=t.getPrevCmp(),u=t.getNextCmp(),f=t.getSplitter().collapseEl,e=n.getTarget(),i;return f&&e===t.getSplitter().collapseEl.dom?!1:u.collapsed||r.collapsed?!1:(t.prevBox=r.getEl().getBox(),t.nextBox=u.getEl().getBox(),t.constrainTo=i=t.calculateConstrainRegion(),!i)?!1:(t.createDragOverlay(),i)},onStart:function(){var n=this.getSplitter();n.addCls(n.baseCls+"-active")},calculateConstrainRegion:function(){var f=this,o=f.getSplitter(),e=o.getWidth(),i=o.defaultSplitMin,c=o.orientation,n=f.prevBox,u=f.getPrevCmp(),t=f.nextBox,r=f.getNextCmp(),s,h;return c==="vertical"?(s=new Ext.util.Region(n.y,(u.maxWidth?n.x+u.maxWidth:t.right-(r.minWidth||i))+e,n.bottom,n.x+(u.minWidth||i)),h=new Ext.util.Region(t.y,t.right-(r.minWidth||i),t.bottom,(r.maxWidth?t.right-r.maxWidth:n.x+(n.minWidth||i))-e)):(s=new Ext.util.Region(n.y+(u.minHeight||i),n.right,(u.maxHeight?n.y+u.maxHeight:t.bottom-(r.minHeight||i))+e,n.x),h=new Ext.util.Region((r.maxHeight?t.bottom-r.maxHeight:n.y+(u.minHeight||i))-e,t.right,t.bottom-(r.minHeight||i),t.x)),s.intersect(h)},performResize:function(n,t){for(var r=this,h=r.getSplitter(),l=h.orientation,f=r.getPrevCmp(),e=r.getNextCmp(),c=h.ownerCt,s=c.query(">[flex]"),a=s.length,o=0,u,i,v=0;o<a;o++)i=s[o].getWidth(),v+=i,s[o].flex=i;t=t||r.getOffset("dragTarget");l==="vertical"?(t=t[0],u="width"):(u="height",t=t[1]);f&&(i=r.prevBox[u]+t,f.flex?f.flex=i:f[u]=i);e&&(i=r.nextBox[u]-t,e.flex?e.flex=i:e[u]=i);c.updateLayout()},endDrag:function(){var n=this;n.overlay&&(n.overlay.remove(),delete n.overlay);n.callParent(arguments)},onEnd:function(n){var t=this,i=t.getSplitter();i.removeCls(i.baseCls+"-active");t.performResize(n,t.getOffset("dragTarget"))},onDrag:function(){var n=this,t=n.getOffset("dragTarget"),i=n.getSplitter(),r=i.getEl(),u=i.orientation;u==="vertical"?r.setX(n.startRegion.left+t[0]):r.setY(n.startRegion.top+t[1])},getSplitter:function(){return this.splitter}});Ext.define("Ext.resizer.BorderSplitterTracker",{extend:"Ext.resizer.SplitterTracker",requires:["Ext.util.Region"],getPrevCmp:null,getNextCmp:null,calculateConstrainRegion:function(){var s=this,i=s.splitter,h=i.collapseTarget,a=i.defaultSplitMin,c=i.vertical?"Width":"Height",v="min"+c,y="max"+c,nt="get"+c,p=i.neighbors,tt=p.length,r=h.el.getBox(),w=r.x,b=r.y,k=r.right,d=r.bottom,t=i.vertical?k-w:d-b,f,e,u,n,o,l,g;for(u=(h[v]||Math.min(t,a))-t,n=h[y],n?n-=t:n=1e9,g=t,f=0;f<tt;++f)e=p[f],t=e[nt](),o=t-e[y],l=t-(e[v]||Math.min(t,a)),isNaN(o)||u<o&&(u=o),n>l&&(n=l);return n-u<2?null:(r=new Ext.util.Region(b,k,d,w),s.constraintAdjusters[i.collapseDirection](r,u,n,i),s.dragInfo={minRange:u,maxRange:n,targetSize:g},r)},constraintAdjusters:{left:function(n,t,i,r){n[0]=n.x=n.left=n.right+t;n.right+=i+r.getWidth()},top:function(n,t,i,r){n[1]=n.y=n.top=n.bottom+t;n.bottom+=i+r.getHeight()},bottom:function(n,t,i,r){n.bottom=n.top-t;n.top-=i+r.getHeight()},right:function(n,t,i,r){n.right=n.left-t;n.left-=i+r.getWidth()}},onBeforeStart:function(n){var t=this,r=t.splitter,f=r.collapseTarget,e=r.neighbors,o=t.getSplitter().collapseEl,s=n.getTarget(),h=e.length,i,u;if(o&&s===r.collapseEl.dom||f.collapsed)return!1;for(i=0;i<h;++i)if(u=e[i],u.collapsed&&u.isHorz===f.isHorz)return!1;return(t.constrainTo=t.calculateConstrainRegion())?(t.createDragOverlay(),!0):!1},performResize:function(n,t){var u=this,r=u.splitter,e=r.collapseDirection,h=r.collapseTarget,o=u.splitAdjusters[r.vertical?"horz":"vert"],i=t[o.index],f=u.dragInfo,s;(e=="right"||e=="bottom")&&(i=-i);i=Math.min(Math.max(f.minRange,i),f.maxRange);i&&((s=r.ownerCt).suspendLayouts(),o.adjustTarget(h,f.targetSize,i),s.resumeLayouts(!0))},splitAdjusters:{horz:{index:0,adjustTarget:function(n,t,i){n.flex=null;n.setSize(t+i)}},vert:{index:1,adjustTarget:function(n,t,i){n.flex=null;n.setSize(undefined,t+i)}}}});Ext.define("Ext.resizer.Handle",{extend:"Ext.Component",handleCls:"",baseHandleCls:Ext.baseCSSPrefix+"resizable-handle",region:"",beforeRender:function(){var n=this;n.callParent();n.addCls(n.baseHandleCls,n.baseHandleCls+"-"+n.region,n.handleCls)},onRender:function(){this.callParent(arguments);this.el.unselectable()}});Ext.define("Ext.resizer.ResizeTracker",{extend:"Ext.dd.DragTracker",dynamic:!0,preserveRatio:!1,constrainTo:null,proxyCls:Ext.baseCSSPrefix+"resizable-proxy",constructor:function(n){var t=this,i,r,u;n.el||(t.el=n.target.isComponent?n.target.getEl():n.target);this.callParent(arguments);t.preserveRatio&&t.minWidth&&t.minHeight&&(i=t.minWidth/t.el.getWidth(),r=t.minHeight/t.el.getHeight(),r>i?t.minWidth=t.el.getWidth()*r:t.minHeight=t.el.getHeight()*i);t.throttle&&(u=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(t,arguments)},t.throttle),t.resize=function(n,i,r){r?Ext.resizer.ResizeTracker.prototype.resize.apply(t,arguments):u.apply(null,arguments)})},onBeforeStart:function(){this.startBox=this.el.getBox()},getDynamicTarget:function(){var n=this,t=n.target;return n.dynamic?t:(n.proxy||(n.proxy=n.createProxy(t)),n.proxy.show(),n.proxy)},createProxy:function(n){var t,r=this.proxyCls,i;return n.isComponent?t=n.getProxy().addCls(r):(i=Ext.getBody(),Ext.scopeResetCSS&&(i=Ext.getBody().createChild({cls:Ext.resetCls})),t=n.createProxy({tag:"div",cls:r,id:n.id+"-rzproxy"},i)),t.removeCls(Ext.baseCSSPrefix+"proxy-el"),t},onStart:function(){this.activeResizeHandle=Ext.get(this.getDragTarget().id);this.dynamic||this.resize(this.startBox,{horizontal:"none",vertical:"none"})},onDrag:function(n){(this.dynamic||this.proxy)&&this.updateDimensions(n)},updateDimensions:function(n,t){var u=this,a=u.activeResizeHandle.region,f=u.getOffset(u.constrainTo?"dragTarget":null),r=u.startBox,p,e=0,o=0,h,c,v=0,y=0,k,d=f[0]<0?"right":"left",g=f[1]<0?"down":"up",l,s,i,w,b;switch(a){case"south":o=f[1];s=2;break;case"north":o=-f[1];y=-o;s=2;break;case"east":e=f[0];s=1;break;case"west":e=-f[0];v=-e;s=1;break;case"northeast":o=-f[1];y=-o;e=f[0];l=[r.x,r.y+r.height];s=3;break;case"southeast":o=f[1];e=f[0];l=[r.x,r.y];s=3;break;case"southwest":e=-f[0];v=-e;o=f[1];l=[r.x+r.width,r.y];s=3;break;case"northwest":o=-f[1];y=-o;e=-f[0];v=-e;l=[r.x+r.width,r.y+r.height];s=3}if(i={width:r.width+e,height:r.height+o,x:r.x+v,y:r.y+y},h=Ext.Number.snap(i.width,u.widthIncrement),c=Ext.Number.snap(i.height,u.heightIncrement),h!=i.width||c!=i.height){switch(a){case"northeast":i.y-=c-i.height;break;case"north":i.y-=c-i.height;break;case"southwest":i.x-=h-i.width;break;case"west":i.x-=h-i.width;break;case"northwest":i.x-=h-i.width;i.y-=c-i.height}i.width=h;i.height=c}i.width<u.minWidth||i.width>u.maxWidth?(i.width=Ext.Number.constrain(i.width,u.minWidth,u.maxWidth),v&&(i.x=r.x+(r.width-i.width))):u.lastX=i.x;i.height<u.minHeight||i.height>u.maxHeight?(i.height=Ext.Number.constrain(i.height,u.minHeight,u.maxHeight),y&&(i.y=r.y+(r.height-i.height))):u.lastY=i.y;(u.preserveRatio||n.shiftKey)&&(p=u.startBox.width/u.startBox.height,w=Math.min(Math.max(u.minHeight,i.width/p),u.maxHeight),b=Math.min(Math.max(u.minWidth,i.height*p),u.maxWidth),s==1?i.height=w:s==2?i.width=b:(k=Math.abs(l[0]-this.lastXY[0])/Math.abs(l[1]-this.lastXY[1]),k>p?i.height=w:i.width=b,a=="northeast"?i.y=r.y-(i.height-r.height):a=="northwest"?(i.y=r.y-(i.height-r.height),i.x=r.x-(i.width-r.width)):a=="southwest"&&(i.x=r.x-(i.width-r.width))));o===0&&(g="none");e===0&&(d="none");u.resize(i,{horizontal:d,vertical:g},t)},getResizeTarget:function(n){return n?this.target:this.getDynamicTarget()},resize:function(n,t,i){var r=this.getResizeTarget(i);r.isComponent?(r.setSize(n.width,n.height),r.floating&&r.setPagePosition(n.x,n.y)):r.setBox(n);r=this.originalTarget;r&&(this.dynamic||i)&&(r.isComponent?(r.setSize(n.width,n.height),r.floating&&r.setPagePosition(n.x,n.y)):r.setBox(n))},onEnd:function(n){this.updateDimensions(n,!0);this.proxy&&this.proxy.hide()}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:!0,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:1e4,maxWidth:1e4,pinned:!1,preserveRatio:!1,transparent:!1,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(n){var t=this,i,e,s,f=t.handles,c,o,h,u=0,r,l=[],a,v,y;t.addEvents("beforeresize","resizedrag","resize");(Ext.isString(n)||Ext.isElement(n)||n.dom)&&(i=n,n=arguments[1]||{},n.target=i);t.mixins.observable.constructor.call(t,n);i=t.target;i?i.isComponent?(t.el=i.getEl(),i.minWidth&&(t.minWidth=i.minWidth),i.minHeight&&(t.minHeight=i.minHeight),i.maxWidth&&(t.maxWidth=i.maxWidth),i.maxHeight&&(t.maxHeight=i.maxHeight),i.floating&&(t.hasOwnProperty("handles")||(t.handles="n ne e se s sw w nw"))):t.el=t.target=Ext.get(i):t.target=t.el=Ext.get(t.el);s=t.el.dom.tagName.toUpperCase();(s=="TEXTAREA"||s=="IMG"||s=="TABLE")&&(t.originalTarget=t.target,e=t.el,y=e.getBox(),t.target=t.el=t.el.wrap({cls:t.wrapCls,id:t.el.id+"-rzwrap",style:e.getStyles("margin-top","margin-bottom")}),t.el.setPositioning(e.getPositioning()),e.clearPositioning(),t.el.setBox(y),e.setStyle("position","absolute"));t.el.position();t.pinned&&t.el.addCls(t.pinnedCls);t.resizeTracker=new Ext.resizer.ResizeTracker({disabled:t.disabled,target:t.target,constrainTo:t.constrainTo,overCls:t.overCls,throttle:t.throttle,originalTarget:t.originalTarget,delegate:"."+t.handleCls,dynamic:t.dynamic,preserveRatio:t.preserveRatio,heightIncrement:t.heightIncrement,widthIncrement:t.widthIncrement,minHeight:t.minHeight,maxHeight:t.maxHeight,minWidth:t.minWidth,maxWidth:t.maxWidth});t.resizeTracker.on({mousedown:t.onBeforeResize,drag:t.onResize,dragend:t.onResizeEnd,scope:t});for(t.handles=="all"&&(t.handles="n s e w ne nw se sw"),f=t.handles=t.handles.split(/ |\s*?[,;]\s*?/),o=t.possiblePositions,h=f.length,c=t.handleCls+" "+(t.target.isComponent?t.target.baseCls+"-handle ":"")+t.handleCls+"-",a=Ext.isIE6?' style="height:'+t.el.getHeight()+'px"':"";u<h;u++)f[u]&&o[f[u]]&&(r=o[f[u]],v=r==="east"||r==="west"?a:"",l.push('<div id="'+t.el.id+"-"+r+'-handle" class="'+c+r+" "+Ext.baseCSSPrefix+'unselectable"'+v+"><\/div>"));for(Ext.DomHelper.append(t.el,l.join("")),u=0;u<h;u++)f[u]&&o[f[u]]&&(r=o[f[u]],t[r]=t.el.getById(t.el.id+"-"+r+"-handle"),t[r].region=r,t[r].unselectable(),t.transparent&&t[r].setOpacity(0));Ext.isNumber(t.width)&&(t.width=Ext.Number.constrain(t.width,t.minWidth,t.maxWidth));Ext.isNumber(t.height)&&(t.height=Ext.Number.constrain(t.height,t.minHeight,t.maxHeight));(t.width!==null||t.height!==null)&&(t.originalTarget&&(t.originalTarget.setWidth(t.width),t.originalTarget.setHeight(t.height)),t.resizeTo(t.width,t.height));t.forceHandlesHeight()},disable:function(){this.resizeTracker.disable()},enable:function(){this.resizeTracker.enable()},onBeforeResize:function(n,t){var i=this.el.getBox();return this.fireEvent("beforeresize",this,i.width,i.height,t)},onResize:function(n,t){var i=this,r=i.el.getBox();return i.forceHandlesHeight(),i.fireEvent("resizedrag",i,r.width,r.height,t)},onResizeEnd:function(n,t){var i=this,r=i.el.getBox();return i.forceHandlesHeight(),i.fireEvent("resize",i,r.width,r.height,t)},resizeTo:function(n,t){var i=this;i.target.setSize(n,t);i.fireEvent("resize",i,n,t,null)},getEl:function(){return this.el},getTarget:function(){return this.target},destroy:function(){for(var n=0,t=this.handles,i=t.length,r=this.possiblePositions;n<i;n++)this[r[t[n]]].remove()},forceHandlesHeight:function(){var t=this,n;Ext.isIE6&&(n=t.east,n&&n.setHeight(t.el.getHeight()),n=t.west,n&&n.setHeight(t.el.getHeight()),t.el.repaint())}});Ext.define("Ext.selection.CellModel",{extend:"Ext.selection.Model",alias:"selection.cellmodel",requires:["Ext.util.KeyNav"],isCellModel:!0,enableKeyNav:!0,preventWrap:!1,noSelection:{row:-1,column:-1},constructor:function(){this.addEvents("deselect","select");this.callParent(arguments)},bindComponent:function(n){var t=this,i=n.ownerCt;t.primaryView=n;t.views=t.views||[];t.views.push(n);t.bindStore(n.getStore(),!0);n.on({cellmousedown:t.onMouseDown,refresh:t.onViewRefresh,scope:t});if(i.optimizedColumnMove!==!1)i.on("columnmove",t.onColumnMove,t);t.enableKeyNav&&t.initKeyNav(n)},initKeyNav:function(n){var t=this;if(!n.rendered){n.on("render",Ext.Function.bind(t.initKeyNav,t,[n],0),t,{single:!0});return}n.el.set({tabIndex:-1});t.keyNav=new Ext.util.KeyNav({target:n.el,ignoreInputFields:!0,up:t.onKeyUp,down:t.onKeyDown,right:t.onKeyRight,left:t.onKeyLeft,tab:t.onKeyTab,scope:t})},getHeaderCt:function(){var n=this.getCurrentPosition(),t=n?n.view:this.primaryView;return t.headerCt},onKeyUp:function(n){this.keyNavigation=!0;this.move("up",n);this.keyNavigation=!1},onKeyDown:function(n){this.keyNavigation=!0;this.move("down",n);this.keyNavigation=!1},onKeyLeft:function(n){this.keyNavigation=!0;this.move("left",n);this.keyNavigation=!1},onKeyRight:function(n){this.keyNavigation=!0;this.move("right",n);this.keyNavigation=!1},move:function(n,t){var i=this,r=i.getCurrentPosition(),u=r.view.walkCells(r,n,t,i.preventWrap);if(u)return u.view=r.view,i.setCurrentPosition(u)},getCurrentPosition:function(){return this.selection},setCurrentPosition:function(n){var t=this;if(t.lastSelection=t.selection,t.selection)t.onCellDeselect(t.selection);if(n){t.nextSelection=new t.Selection(t);t.nextSelection.setPosition(n);t.onCellSelect(t.nextSelection);return t.selection=t.nextSelection}},onStoreRemove:function(n,t,i){var u=this,r=u.getCurrentPosition();u.callParent(arguments);r&&(r.row==i?i<n.getCount()-1?(r.setPosition(i,r.column),u.setCurrentPosition(r)):delete u.selection:i<r.row&&(r.setPosition(r.row-1,r.column),u.setCurrentPosition(r)))},onMouseDown:function(n,t,i,r,u,f){this.setCurrentPosition({view:n,row:f,column:i})},onCellSelect:function(n,t){n&&n.row!==undefined&&n.row>-1&&this.doSelect(n.view.getStore().getAt(n.row),!1,t)},onCellDeselect:function(n,t){n&&n.row!==undefined&&this.doDeselect(n.view.getStore().getAt(n.row),t)},onSelectChange:function(n,t,i,r){var f=this,u,e,o;if(t?(u=f.nextSelection,e="select"):(u=f.lastSelection||f.noSelection,e="deselect"),o=u.view||f.primaryView,(i||f.fireEvent("before"+e,f,n,u.row,u.column))!==!1&&r()!==!1){if(t){o.onCellSelect(u);o.onCellFocus(u)}else{o.onCellDeselect(u);delete f.selection}i||f.fireEvent(e,f,n,u.row,u.column)}},onKeyTab:function(n){var t=this,i=t.getCurrentPosition().view.editingPlugin;if(i&&t.wasEditing)t.onEditorTab(i,n);else t.move(n.shiftKey?"left":"right",n)},onEditorTab:function(n,t){var i=this,u=t.shiftKey?"left":"right",r=i.move(u,t);if(r)if(n.startEditByPosition(r))i.wasEditing=!1;else if(i.wasEditing=!0,!r.columnHeader.dataIndex)i.onEditorTab(n,t)},refresh:function(){var n=this.getCurrentPosition(),t;n&&(t=this.store.indexOf(this.selected.last()))!==-1&&(n.row=t)},onColumnMove:function(n){var t=n.up("tablepanel");if(t)this.onViewRefresh(t.view)},onViewRefresh:function(n){var f=this,i=f.getCurrentPosition(),r=n.headerCt,u,t;i&&i.view===n&&(u=i.record,t=i.columnHeader,t.isDescendantOf(r)||(t=r.queryById(t.id)||r.down('[text="'+t.text+'"]')||r.down('[dataIndex="'+t.dataIndex+'"]')),t&&n.store.indexOfId(u.getId())!==-1&&f.setCurrentPosition({row:u,column:t,view:n}))},selectByPosition:function(n){this.setCurrentPosition(n)}},function(){var n=this.prototype.Selection=function(n){this.model=n};n.prototype.setPosition=function(n,t){var i=this,r;return arguments.length===1&&(n.view&&(i.view=r=n.view),t=n.column,n=n.row),r||(i.view=r=i.model.primaryView),typeof n=="number"?(i.row=n,i.record=r.store.getAt(n)):n.isModel?(i.record=n,i.row=r.indexOf(n)):n.tagName&&(i.record=r.getRecord(n),i.row=r.indexOf(i.record)),typeof t=="number"?(i.column=t,i.columnHeader=r.getHeaderAtIndex(t)):(i.columnHeader=t,i.column=t.getIndex()),i}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:!0,ignoreRightMouseSelection:!1,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.views=[];this.callParent(arguments)},bindComponent:function(n){var t=this;t.views=t.views||[];t.views.push(n);t.bindStore(n.getStore(),!0);n.on({itemmousedown:t.onRowMouseDown,scope:t});t.enableKeyNav&&t.initKeyNav(n)},initKeyNav:function(n){var t=this;if(!n.rendered){n.on("render",Ext.Function.bind(t.initKeyNav,t,[n],0),t,{single:!0});return}n.el.set({tabIndex:-1});t.keyNav=new Ext.util.KeyNav({target:n,ignoreInputFields:!0,eventName:"itemkeydown",processEvent:function(n,t,i,r,u){return u.record=t,u.recordIndex=r,u},up:t.onKeyUp,down:t.onKeyDown,right:t.onKeyRight,left:t.onKeyLeft,pageDown:t.onKeyPageDown,pageUp:t.onKeyPageUp,home:t.onKeyHome,end:t.onKeyEnd,space:t.onKeySpace,enter:t.onKeyEnter,scope:t})},getRowsVisible:function(){var n=!1,t=this.views[0],i=t.getNode(0),r,u;return i&&(r=Ext.fly(i).getHeight(),u=t.el.getHeight(),n=Math.floor(u/r)),n},onKeyEnd:function(n){var t=this,i=t.store.getAt(t.store.getCount()-1);i&&(n.shiftKey?(t.selectRange(i,t.lastFocused||0),t.setLastFocused(i)):n.ctrlKey?t.setLastFocused(i):t.doSelect(i))},onKeyHome:function(n){var t=this,i=t.store.getAt(0);i&&(n.shiftKey?(t.selectRange(i,t.lastFocused||0),t.setLastFocused(i)):n.ctrlKey?t.setLastFocused(i):t.doSelect(i,!1))},onKeyPageUp:function(n){var t=this,u=t.getRowsVisible(),f,r,i;u&&(f=n.recordIndex,r=f-u,r<0&&(r=0),i=t.store.getAt(r),n.shiftKey?(t.selectRange(i,n.record,n.ctrlKey,"up"),t.setLastFocused(i)):n.ctrlKey?(n.preventDefault(),t.setLastFocused(i)):t.doSelect(i))},onKeyPageDown:function(n){var t=this,u=t.getRowsVisible(),f,r,i;u&&(f=n.recordIndex,r=f+u,r>=t.store.getCount()&&(r=t.store.getCount()-1),i=t.store.getAt(r),n.shiftKey?(t.selectRange(i,n.record,n.ctrlKey,"down"),t.setLastFocused(i)):n.ctrlKey?(n.preventDefault(),t.setLastFocused(i)):t.doSelect(i))},onKeySpace:function(){var n=this,t=n.lastFocused;t&&(n.isSelected(t)?n.doDeselect(t,!1):n.doSelect(t,!0))},onKeyEnter:Ext.emptyFn,onKeyUp:function(n){var t=this,r=t.store.indexOf(t.lastFocused),i;r>0&&(i=t.store.getAt(r-1),n.shiftKey&&t.lastFocused?t.isSelected(t.lastFocused)&&t.isSelected(i)?(t.doDeselect(t.lastFocused,!0),t.setLastFocused(i)):t.isSelected(t.lastFocused)?t.doSelect(i,!0):(t.doSelect(t.lastFocused,!0),t.doSelect(i,!0)):n.ctrlKey?t.setLastFocused(i):t.doSelect(i))},onKeyDown:function(n){var t=this,r=t.store.indexOf(t.lastFocused),i;r+1<t.store.getCount()&&(i=t.store.getAt(r+1),t.selected.getCount()===0?n.ctrlKey?t.setLastFocused(i):t.doSelect(i):n.shiftKey&&t.lastFocused?t.isSelected(t.lastFocused)&&t.isSelected(i)?(t.doDeselect(t.lastFocused,!0),t.setLastFocused(i)):t.isSelected(t.lastFocused)?t.doSelect(i,!0):(t.doSelect(t.lastFocused,!0),t.doSelect(i,!0)):n.ctrlKey?t.setLastFocused(i):t.doSelect(i))},scrollByDeltaX:function(n){var i=this.views[0],r=i.up(),t=r.horizontalScroller;t&&t.scrollByDeltaX(n)},onKeyLeft:function(){this.scrollByDeltaX(-this.deltaScroll)},onKeyRight:function(){this.scrollByDeltaX(this.deltaScroll)},onRowMouseDown:function(n,t,i,r,u){this.allowRightMouseSelection(u)&&(u.button!==0&&this.isSelected(t)||this.selectWithEvent(t,u))},allowRightMouseSelection:function(n){var t=this.ignoreRightMouseSelection&&n.button!==0;return t&&(t=this.hasSelection()),!t},onSelectChange:function(n,t,i,r){var u=this,o=u.views,h=o.length,c=u.store,f=c.indexOf(n),s=t?"select":"deselect",e=0;if((i||u.fireEvent("before"+s,u,n,f))!==!1&&r()!==!1){for(;e<h;e++)if(t)o[e].onRowSelect(f,i);else o[e].onRowDeselect(f,i);i||u.fireEvent(s,u,n,f)}},onLastFocusChanged:function(n,t,i){var f=this.views,e=f.length,o=this.store,u,r=0;if(n&&(u=o.indexOf(n),u!=-1))for(;r<e;r++)f[r].onRowFocus(u,!1);if(t&&(u=o.indexOf(t),u!=-1))for(r=0;r<e;r++)f[r].onRowFocus(u,!0,i);this.callParent()},onEditorTab:function(n,t){var u=this,r=u.views[0],f=n.getActiveRecord(),e=n.getActiveColumn(),i=r.getPosition(f,e),o=t.shiftKey?"left":"right";do i=r.walkCells(i,o,t,u.preventWrap);while(i&&!r.headerCt.getHeaderAtIndex(i.column).getEditor());i&&n.startEditByPosition(i)},getCurrentPosition:function(){var n=this.selected.items[0];if(n)return{row:this.store.indexOf(n),column:0}},selectByPosition:function(n){var t=this.store.getAt(n.row);this.select(t)},selectNext:function(n,t){var i=this,f=i.store,e=i.getSelection(),o=e[e.length-1],r=f.indexOf(o)+1,u;return r===f.getCount()||r===0?u=!1:(i.doSelect(r,n,t),u=!0),u},selectPrevious:function(n,t){var i=this,f=i.getSelection(),e=f[0],u=i.store.indexOf(e)-1,r;return u<0?r=!1:(i.doSelect(u,n,t),r=!0),r}});Ext.define("Ext.selection.CheckboxModel",{alias:"selection.checkboxmodel",extend:"Ext.selection.RowModel",mode:"MULTI",injectCheckbox:0,checkOnly:!1,showHeaderCheckbox:!0,headerWidth:24,checkerOnCls:Ext.baseCSSPrefix+"grid-hd-checker-on",refreshOnRemove:!0,beforeViewRender:function(n){var t=this;if(t.callParent(arguments),!t.hasLockedHeader()||n.headerCt.lockedCt){if(t.showHeaderCheckbox!==!1)n.headerCt.on("headerclick",t.onHeaderClick,t);t.addCheckbox(n,!0);t.mon(n.ownerCt,"reconfigure",t.onReconfigure,t)}},bindComponent:function(){var n=this;n.sortable=!1;n.callParent(arguments)},hasLockedHeader:function(){for(var t=this.views,i=t.length,n=0;n<i;n++)if(t[n].headerCt.lockedCt)return!0;return!1},addCheckbox:function(n,t){var r=this,i=r.injectCheckbox,u=n.headerCt;i!==!1&&(i=="first"?i=0:i=="last"&&(i=u.getColumnCount()),Ext.suspendLayouts(),u.add(i,r.getHeaderConfig()),Ext.resumeLayouts());t!==!0&&n.refresh()},onReconfigure:function(n,t,i){i&&this.addCheckbox(this.views[0])},toggleUiHeader:function(n){var i=this.views[0],r=i.headerCt,t=r.child("gridcolumn[isCheckerHd]");t&&(n?t.el.addCls(this.checkerOnCls):t.el.removeCls(this.checkerOnCls))},onHeaderClick:function(n,t,i){if(t.isCheckerHd){i.stopEvent();var r=this,u=t.el.hasCls(Ext.baseCSSPrefix+"grid-hd-checker-on");r.preventFocus=!0;u?r.deselectAll():r.selectAll();delete r.preventFocus}},getHeaderConfig:function(){var n=this,t=n.showHeaderCheckbox!==!1;return{isCheckerHd:t,text:"&#160;",width:n.headerWidth,sortable:!1,draggable:!1,resizable:!1,hideable:!1,menuDisabled:!0,dataIndex:"",cls:t?Ext.baseCSSPrefix+"column-header-checkbox ":"",renderer:Ext.Function.bind(n.renderer,n),editRenderer:n.editRenderer||n.renderEmpty,locked:n.hasLockedHeader()}},renderEmpty:function(){return"&#160;"},renderer:function(n,t){var i=Ext.baseCSSPrefix;return t.tdCls=i+"grid-cell-special "+i+"grid-cell-row-checker",'<div class="'+i+'grid-row-checker">&#160;<\/div>'},onRowMouseDown:function(n,t,i,r,u){n.el.focus();var f=this,o=u.getTarget("."+Ext.baseCSSPrefix+"grid-row-checker"),e;f.allowRightMouseSelection(u)&&(!f.checkOnly||o)&&(o?(e=f.getSelectionMode(),e!=="SINGLE"&&f.setSelectionMode("SIMPLE"),f.selectWithEvent(t,u),f.setSelectionMode(e)):f.selectWithEvent(t,u))},onSelectChange:function(){var n=this;n.callParent(arguments);n.updateHeaderState()},onStoreLoad:function(){var n=this;n.callParent(arguments);n.updateHeaderState()},updateHeaderState:function(){var n=this.selected.getCount()===this.store.getCount();this.toggleUiHeader(n)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:!1,onKeyRight:function(n,t){var i=this.getLastFocused(),r=this.view;if(i)if(i.isExpanded())this.onKeyDown(n,t);else i.isExpandable()&&r.expand(i)},onKeyLeft:function(n){var i=this.getLastFocused(),u=this.view,r=u.getSelectionModel(),t;i&&(t=i.parentNode,i.isExpanded()?u.collapse(i):t&&!t.isRoot()&&(n.shiftKey?(r.selectRange(t,i,n.ctrlKey,"up"),r.setLastFocused(t)):n.ctrlKey?r.setLastFocused(t):r.select(t)))},onKeySpace:function(n){this.toggleCheck(n)},onKeyEnter:function(n){this.toggleCheck(n)},toggleCheck:function(n){n.stopEvent();var t=this.getLastSelected();if(t)this.view.onCheckChange(t)}});Ext.define("Ext.slider.Thumb",{requires:["Ext.dd.DragTracker","Ext.util.Format"],topZIndex:1e4,constructor:function(n){var t=this;Ext.apply(t,n||{},{cls:Ext.baseCSSPrefix+"slider-thumb",constrain:!1});t.callParent([n])},render:function(){var n=this;n.el=n.slider.innerEl.insertFirst(n.getElConfig());n.onRender()},onRender:function(){this.disabled&&this.disable();this.initEvents()},getElConfig:function(){var t=this,n=t.slider,i={};return i[n.vertical?"bottom":"left"]=n.calculateThumbPosition(n.normalizeValue(t.value))+"%",{style:i,id:this.id,cls:this.cls}},move:function(n,t){var r=this.el,i=this.slider.vertical?"bottom":"left",u,f;n+="%";t?(u={},u[i]=n,Ext.supports.GetPositionPercentage||(f={},f[i]=r.dom.style[i]),new Ext.fx.Anim({target:r,duration:350,from:f,to:u})):r.dom.style[i]=n},bringToFront:function(){this.el.setStyle("zIndex",this.topZIndex)},sendToBack:function(){this.el.setStyle("zIndex","")},enable:function(){var n=this;n.disabled=!1;n.el&&n.el.removeCls(n.slider.disabledCls)},disable:function(){var n=this;n.disabled=!0;n.el&&n.el.addCls(n.slider.disabledCls)},initEvents:function(){var n=this,t=n.el;n.tracker=new Ext.dd.DragTracker({onBeforeStart:Ext.Function.bind(n.onBeforeDragStart,n),onStart:Ext.Function.bind(n.onDragStart,n),onDrag:Ext.Function.bind(n.onDrag,n),onEnd:Ext.Function.bind(n.onDragEnd,n),tolerance:3,autoStart:300,overCls:Ext.baseCSSPrefix+"slider-thumb-over"});n.tracker.initEl(t)},onBeforeDragStart:function(){return this.disabled?!1:(this.slider.promoteThumb(this),!0)},onDragStart:function(n){var t=this;t.el.addCls(Ext.baseCSSPrefix+"slider-thumb-drag");t.dragging=t.slider.dragging=!0;t.dragStartValue=t.value;t.slider.fireEvent("dragstart",t.slider,n,t)},onDrag:function(n){var i=this,r=i.slider,e=i.index,t=i.getValueFromTracker(),u,f;t!==undefined&&(i.constrain&&(u=r.thumbs[e+1],f=r.thumbs[e-1],f!==undefined&&t<=f.value&&(t=f.value),u!==undefined&&t>=u.value&&(t=u.value)),r.setValue(e,t,!1),r.fireEvent("drag",r,n,i))},getValueFromTracker:function(){var n=this.slider,t=n.getTrackpoint(this.tracker.getXY());if(t!==undefined)return n.reversePixelValue(t)},onDragEnd:function(n){var t=this,i=t.slider,r=t.value;t.el.removeCls(Ext.baseCSSPrefix+"slider-thumb-drag");t.dragging=i.dragging=!1;i.fireEvent("dragend",i,n);t.dragStartValue!=r&&i.fireEvent("changecomplete",i,r,t)},destroy:function(){Ext.destroy(this.tracker)}});Ext.define("Ext.slider.Tip",{extend:"Ext.tip.Tip",minWidth:10,alias:"widget.slidertip",offsets:null,align:null,position:"",defaultVerticalPosition:"left",defaultHorizontalPosition:"top",isSliderTip:!0,init:function(n){var t=this,i,r;t.position||(t.position=n.vertical?t.defaultVerticalPosition:t.defaultHorizontalPosition);switch(t.position){case"top":r=[0,-10];i="b-t?";break;case"bottom":r=[0,10];i="t-b?";break;case"left":r=[-10,0];i="r-l?";break;case"right":r=[10,0];i="l-r?"}t.align||(t.align=i);t.offsets||(t.offsets=r);n.on({scope:t,dragstart:t.onSlide,drag:t.onSlide,dragend:t.hide,destroy:t.destroy})},onSlide:function(n,t,i){var r=this;r.show();r.update(r.getText(i));r.el.alignTo(i.el,r.align,r.offsets)},getText:function(n){return String(n.value)}});Ext.define("Ext.slider.Multi",{extend:"Ext.form.field.Base",alias:"widget.multislider",alternateClassName:"Ext.slider.MultiSlider",requires:["Ext.slider.Thumb","Ext.slider.Tip","Ext.Number","Ext.util.Format","Ext.Template","Ext.layout.component.field.Slider"],childEls:["endEl","innerEl"],fieldSubTpl:['<div id="{id}" class="'+Ext.baseCSSPrefix+'slider {fieldCls} {vertical}" aria-valuemin="{minValue}" aria-valuemax="{maxValue}" aria-valuenow="{value}" aria-valuetext="{value}">','<div id="{cmpId}-endEl" class="'+Ext.baseCSSPrefix+'slider-end" role="presentation">','<div id="{cmpId}-innerEl" class="'+Ext.baseCSSPrefix+'slider-inner" role="presentation">',"{%this.renderThumbs(out, values)%}","<\/div>","<\/div>","<\/div>",{renderThumbs:function(n,t){for(var u=t.$comp,i=0,f=u.thumbs,o=f.length,e,r;i<o;i++)e=f[i],r=e.getElConfig(),r.id=u.id+"-thumb-"+i,Ext.DomHelper.generateMarkup(r,n)},disableFormats:!0}],vertical:!1,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:!0,animate:!0,dragging:!1,constrainThumbs:!0,componentLayout:"sliderfield",useTips:!0,tipText:null,ariaRole:"slider",initValue:function(){var n=this,t=Ext.value,i=t(n.values,[t(n.value,t(n.minValue,0))]),r=0,u=i.length;for(n.originalValue=i;r<u;r++)n.addThumb(i[r])},initComponent:function(){var n=this,r,u,t,f,i;if(n.thumbs=[],n.keyIncrement=Math.max(n.increment,n.keyIncrement),n.addEvents("beforechange","change","changecomplete","dragstart","drag","dragend"),n.increment&&(n.maxValue=Ext.Number.snapInRange(n.maxValue,n.increment,n.minValue),n.value=n.normalizeValue(n.value)),n.callParent(),n.useTips){for(r=Ext.isObject(n.useTips)?Ext.apply({},n.useTips):n.tipText?{getText:n.tipText}:{},i=n.plugins=n.plugins||[],f=i.length,t=0;t<f;t++)if(i[t].isSliderTip){u=!0;break}u||n.plugins.push(new Ext.slider.Tip(r))}},addThumb:function(n){var t=this,i=new Ext.slider.Thumb({ownerCt:t,ownerLayout:t.getComponentLayout(),value:n,slider:t,index:t.thumbs.length,constrain:t.constrainThumbs,disabled:!!t.readOnly});return t.thumbs.push(i),t.rendered&&i.render(),i},promoteThumb:function(n){for(var r=this.thumbs,u=r.length,t,i=0;i<u;i++)t=r[i],t==n?t.bringToFront():t.sendToBack()},getSubTplData:function(){var n=this;return Ext.apply(n.callParent(),{$comp:n,vertical:n.vertical?Ext.baseCSSPrefix+"slider-vert":Ext.baseCSSPrefix+"slider-horz",minValue:n.minValue,maxValue:n.maxValue,value:n.value})},onRender:function(){var t=this,r=t.thumbs,u=r.length,n=0,i;for(t.callParent(arguments),n=0;n<u;n++)i=r[n],i.el=t.el.getById(t.id+"-thumb-"+n),i.onRender()},initEvents:function(){var n=this;n.mon(n.el,{scope:n,mousedown:n.onMouseDown,keydown:n.onKeyDown})},getTrackpoint:function(n){var i=this,r,u,f=i.innerEl,t;return i.vertical?(u="top",t=f.getHeight()):(u="left",t=f.getWidth()),r=Ext.Number.constrain(f.translatePoints(n)[u],0,t),i.vertical?t-r:r},onMouseDown:function(n){var t=this,i=!1,r=0,f=t.thumbs,e=f.length,u;if(!t.disabled){for(;r<e;r++)i=i||n.target==f[r].el.dom;if(t.clickToChange&&!i&&(u=t.getTrackpoint(n.getXY()),u!==undefined))t.onClickChange(u);t.focus()}},onClickChange:function(n){var t=this,i,r;i=t.getNearest(n);i.disabled||(r=i.index,t.setValue(r,Ext.util.Format.round(t.reversePixelValue(n),t.decimalPrecision),undefined,!0))},getNearest:function(n){for(var t=this,s=t.reversePixelValue(n),f=t.maxValue-t.minValue+5,e=null,h=t.thumbs,i=0,c=h.length,r,o,u;i<c;i++)r=t.thumbs[i],o=r.value,u=Math.abs(o-s),Math.abs(u<=f)&&(e=r,f=u);return e},onKeyDown:function(n){var t=this,r,i;if(t.disabled||t.thumbs.length!==1){n.preventDefault();return}r=n.getKey();switch(r){case n.UP:case n.RIGHT:n.stopEvent();i=n.ctrlKey?t.maxValue:t.getValue(0)+t.keyIncrement;t.setValue(0,i,undefined,!0);break;case n.DOWN:case n.LEFT:n.stopEvent();i=n.ctrlKey?t.minValue:t.getValue(0)-t.keyIncrement;t.setValue(0,i,undefined,!0);break;default:n.preventDefault()}},normalizeValue:function(n){var t=this,i=Ext.Number,r=i[t.zeroBasedSnapping?"snap":"snapInRange"];return n=r.call(i,n,t.increment,t.minValue,t.maxValue),n=Ext.util.Format.round(n,t.decimalPrecision),Ext.Number.constrain(n,t.minValue,t.maxValue)},setMinValue:function(n){var t=this,r=0,u=t.thumbs,f=u.length,i;for(t.minValue=n,t.rendered&&t.inputEl.dom.setAttribute("aria-valuemin",n);r<f;++r)i=u[r],i.value=i.value<n?n:i.value;t.syncThumbs()},setMaxValue:function(n){var t=this,r=0,u=t.thumbs,f=u.length,i;for(t.maxValue=n,t.rendered&&t.inputEl.dom.setAttribute("aria-valuemax",n);r<f;++r)i=u[r],i.value=i.value>n?n:i.value;t.syncThumbs()},setValue:function(n,t,i,r){var u=this,f=u.thumbs[n];t=u.normalizeValue(t);t!==f.value&&u.fireEvent("beforechange",u,t,f.value,f)!==!1&&(f.value=t,u.rendered&&(u.inputEl.set({"aria-valuenow":t,"aria-valuetext":t}),f.move(u.calculateThumbPosition(t),Ext.isDefined(i)?i!==!1:u.animate),u.fireEvent("change",u,t,f),u.checkDirty(),r&&u.fireEvent("changecomplete",u,t,f)))},calculateThumbPosition:function(n){return(n-this.minValue)/(this.maxValue-this.minValue)*100},getRatio:function(){var i=this,n=this.vertical?this.innerEl.getHeight():this.innerEl.getWidth(),t=this.maxValue-this.minValue;return t===0?n:n/t},reversePixelValue:function(n){return this.minValue+n/this.getRatio()},reversePercentageValue:function(n){return this.minValue+(this.maxValue-this.minValue)*(n/100)},onDisable:function(){var n=this,t=0,u=n.thumbs,e=u.length,i,r,f;for(n.callParent();t<e;t++)i=u[t],r=i.el,i.disable(),Ext.isIE&&(f=r.getXY(),r.hide(),n.innerEl.addCls(n.disabledCls).dom.disabled=!0,n.thumbHolder||(n.thumbHolder=n.endEl.createChild({cls:Ext.baseCSSPrefix+"slider-thumb "+n.disabledCls})),n.thumbHolder.show().setXY(f))},onEnable:function(){var n=this,t=0,r=n.thumbs,f=r.length,i,u;for(this.callParent();t<f;t++)i=r[t],u=i.el,i.enable(),Ext.isIE&&(n.innerEl.removeCls(n.disabledCls).dom.disabled=!1,n.thumbHolder&&n.thumbHolder.hide(),u.show(),n.syncThumbs())},syncThumbs:function(){if(this.rendered)for(var t=this.thumbs,i=t.length,n=0;n<i;n++)t[n].move(this.calculateThumbPosition(t[n].value))},getValue:function(n){return Ext.isNumber(n)?this.thumbs[n].value:this.getValues()},getValues:function(){for(var t=[],n=0,i=this.thumbs,r=i.length;n<r;n++)t.push(i[n].value);return t},getSubmitValue:function(){var n=this;return n.disabled||!n.submitValue?null:n.getValue()},reset:function(){for(var n=this,i=[].concat(n.originalValue),t=0,u=i.length,r;t<u;t++)r=i[t],n.setValue(t,r);n.clearInvalid();delete n.wasValid},setReadOnly:function(n){var i=this,r=i.thumbs,u=r.length,t=0;for(i.callParent(arguments),n=i.readOnly;t<u;++t)n?r[t].disable():r[t].enable()},beforeDestroy:function(){var n=this,i=n.thumbs,t=0,u=i.length,r;for(Ext.destroy(n.innerEl,n.endEl,n.focusEl);t<u;t++)r=i[t],Ext.destroy(r);n.callParent()}});Ext.define("Ext.slider.Single",{extend:"Ext.slider.Multi",alias:["widget.slider","widget.sliderfield"],alternateClassName:["Ext.Slider","Ext.form.SliderField","Ext.slider.SingleSlider","Ext.slider.Slider"],getValue:function(){return this.callParent([0])},setValue:function(){var n=arguments,t=n.length;return(t==1||t<=3&&typeof n[1]!="number")&&(n=Ext.toArray(n),n.unshift(0)),this.callParent(n)},getNearest:function(){return this.thumbs[0]}});Ext.define("Ext.state.CookieProvider",{extend:"Ext.state.Provider",constructor:function(){var n=this;n.path="/";n.expires=new Date((new Date).getTime()+6048e5);n.domain=null;n.secure=!1;n.callParent(arguments);n.state=n.readCookies()},set:function(n,t){var i=this;if(typeof t=="undefined"||t===null){i.clear(n);return}i.setCookie(n,t);i.callParent(arguments)},clear:function(n){this.clearCookie(n);this.callParent(arguments)},readCookies:function(){for(var i={},e=document.cookie+";",o=/\s?(.*?)=(.*?);/g,r=this.prefix,u=r.length,t,n,f;(t=o.exec(e))!=null;)n=t[1],f=t[2],n&&n.substring(0,u)==r&&(i[n.substr(u)]=this.decodeValue(f));return i},setCookie:function(n,t){var i=this;document.cookie=i.prefix+n+"="+i.encodeValue(t)+(i.expires==null?"":"; expires="+i.expires.toGMTString())+(i.path==null?"":"; path="+i.path)+(i.domain==null?"":"; domain="+i.domain)+(i.secure==!0?"; secure":"")},clearCookie:function(n){var t=this;document.cookie=t.prefix+n+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+(t.path==null?"":"; path="+t.path)+(t.domain==null?"":"; domain="+t.domain)+(t.secure==!0?"; secure":"")}});Ext.define("Ext.state.LocalStorageProvider",{extend:"Ext.state.Provider",alias:"state.localstorage",constructor:function(){var n=this;n.callParent(arguments);n.store=n.getStorageObject();n.state=n.readLocalStorage()},readLocalStorage:function(){for(var t=this.store,i=0,e=t.length,r=this.prefix,u=r.length,f={},n;i<e;++i)n=t.key(i),n.substring(0,u)==r&&(f[n.substr(u)]=this.decodeValue(t.getItem(n)));return f},set:function(n,t){var i=this;(i.clear(n),typeof t!="undefined"&&t!==null)&&(i.store.setItem(i.prefix+n,i.encodeValue(t)),i.callParent(arguments))},clear:function(n){this.store.removeItem(this.prefix+n);this.callParent(arguments)},getStorageObject:function(){try{var n="localStorage"in window&&window.localStorage!==null;if(n)return window.localStorage}catch(t){return!1}}});Ext.define("Ext.tab.Tab",{extend:"Ext.button.Button",alias:"widget.tab",requires:["Ext.layout.component.Tab","Ext.util.KeyNav"],componentLayout:"tab",isTab:!0,baseCls:Ext.baseCSSPrefix+"tab",activeCls:"active",closableCls:"closable",closable:!0,closeText:"Close Tab",active:!1,childEls:["closeEl"],scale:!1,position:"top",initComponent:function(){var n=this;n.addEvents("activate","deactivate","beforeclose","close");n.callParent(arguments);n.card&&n.setCard(n.card)},getTemplateArgs:function(){var n=this,t=n.callParent();return t.closable=n.closable,t.closeText=n.closeText,t},beforeRender:function(){var n=this,t=n.up("tabbar"),i=n.up("tabpanel");n.callParent();n.addClsWithUI(n.position);n.syncClosableUI();n.minWidth||(n.minWidth=t?t.minTabWidth:n.minWidth,!n.minWidth&&i&&(n.minWidth=i.minTabWidth),n.minWidth&&n.iconCls&&(n.minWidth+=25));n.maxWidth||(n.maxWidth=t?t.maxTabWidth:n.maxWidth,!n.maxWidth&&i&&(n.maxWidth=i.maxTabWidth))},onRender:function(){var n=this;n.callParent(arguments);n.keyNav=new Ext.util.KeyNav(n.el,{enter:n.onEnterKey,del:n.onDeleteKey,scope:n})},enable:function(){var n=this;return n.callParent(arguments),n.removeClsWithUI(n.position+"-disabled"),n},disable:function(){var n=this;return n.callParent(arguments),n.addClsWithUI(n.position+"-disabled"),n},onDestroy:function(){var n=this;Ext.destroy(n.keyNav);delete n.keyNav;n.callParent(arguments)},setClosable:function(n){var t=this;n=!arguments.length||!!n;t.closable!=n&&(t.closable=n,t.card&&(t.card.closable=n),t.syncClosableUI(),t.rendered&&(t.syncClosableElements(),t.updateLayout()))},syncClosableElements:function(){var n=this,t=n.closeEl;n.closable?t||(n.closeEl=n.btnWrap.insertSibling({tag:"a",cls:n.baseCls+"-close-btn",href:"#",title:n.closeText},"after")):t&&(t.remove(),delete n.closeEl)},syncClosableUI:function(){var n=this,t=[n.closableCls,n.closableCls+"-"+n.position];n.closable?n.addClsWithUI(t):n.removeClsWithUI(t)},setCard:function(n){var t=this;t.card=n;t.setText(t.title||n.title);t.setIconCls(t.iconCls||n.iconCls);t.setIcon(t.icon||n.icon)},onCloseClick:function(){var n=this;if(n.fireEvent("beforeclose",n)!==!1)if(n.tabBar){if(n.tabBar.closeTab(n)===!1)return}else n.fireClose()},fireClose:function(){this.fireEvent("close",this)},onEnterKey:function(n){var t=this;if(t.tabBar)t.tabBar.onClick(n,t.el)},onDeleteKey:function(){this.closable&&this.onCloseClick()},activate:function(n){var t=this;t.active=!0;t.addClsWithUI([t.activeCls,t.position+"-"+t.activeCls]);n!==!0&&t.fireEvent("activate",t)},deactivate:function(n){var t=this;t.active=!1;t.removeClsWithUI([t.activeCls,t.position+"-"+t.activeCls]);n!==!0&&t.fireEvent("deactivate",t)}});Ext.define("Ext.tab.Bar",{extend:"Ext.panel.Header",alias:"widget.tabbar",baseCls:Ext.baseCSSPrefix+"tab-bar",requires:["Ext.tab.Tab"],isTabBar:!0,defaultType:"tab",plain:!1,childEls:["body","strip"],renderTpl:['<div id="{id}-body" class="{baseCls}-body {bodyCls}<tpl if="ui"> {baseCls}-body-{ui}<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}<\/tpl><\/tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"<\/tpl>>',"{%this.renderContainer(out,values)%}","<\/div>",'<div id="{id}-strip" class="{baseCls}-strip<tpl if="ui"> {baseCls}-strip-{ui}<tpl for="uiCls"> {parent.baseCls}-strip-{parent.ui}-{.}<\/tpl><\/tpl>"><\/div>'],initComponent:function(){var n=this;n.plain&&n.setUI(n.ui+"-plain");n.addClsWithUI(n.dock);n.addEvents("change");n.callParent(arguments);n.layout.align=n.orientation=="vertical"?"left":"top";n.layout.overflowHandler=new Ext.layout.container.boxOverflow.Scroller(n.layout);n.remove(n.titleCmp);delete n.titleCmp;Ext.apply(n.renderData,{bodyCls:n.bodyCls})},getLayout:function(){var n=this;return n.layout.type=n.dock==="top"||n.dock==="bottom"?"hbox":"vbox",n.callParent(arguments)},onAdd:function(n){n.position=this.dock;this.callParent(arguments)},onRemove:function(n){var t=this;n===t.previousTab&&(t.previousTab=null);t.callParent(arguments)},afterComponentLayout:function(n){this.callParent(arguments);this.strip.setWidth(n)},onClick:function(n,t){var r=this,u=n.getTarget("."+Ext.tab.Tab.prototype.baseCls),i=u&&Ext.getCmp(u.id),f=r.tabPanel,e=i&&i.closeEl&&t===i.closeEl.dom;e&&n.preventDefault();i&&i.isDisabled&&!i.isDisabled()&&(i.closable&&e?i.onCloseClick():(f?f.setActiveTab(i.card):r.setActiveTab(i),i.focus()))},closeTab:function(n){var i=this,t=n.card,r=i.tabPanel,u;if(t&&t.fireEvent("beforeclose",t)===!1)return!1;if(u=i.findNextActivatable(n),Ext.suspendLayouts(),r&&t){if(delete n.ownerCt,t.fireEvent("close",t),r.remove(t),r.getComponent(t))return n.ownerCt=i,Ext.resumeLayouts(!0),!1;n.fireClose();i.remove(n)}u&&(r?r.setActiveTab(u.card):i.setActiveTab(u),u.focus());Ext.resumeLayouts(!0)},findNextActivatable:function(n){var t=this;if(n.active&&t.items.getCount()>1)return t.previousTab&&t.previousTab!==n&&!t.previousTab.disabled?t.previousTab:n.next("tab[disabled=false]")||n.prev("tab[disabled=false]")},setActiveTab:function(n){var t=this;if(!n.disabled&&n!==t.activeTab){t.activeTab&&(t.activeTab.isDestroyed?t.previousTab=null:(t.previousTab=t.activeTab,t.activeTab.deactivate()));n.activate();t.activeTab=n;t.fireEvent("change",t,n,n.card);t.on({afterlayout:t.afterTabActivate,scope:t,single:!0});t.updateLayout()}},afterTabActivate:function(){this.layout.overflowHandler.scrollToItem(this.activeTab)}});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:!0,plain:!1,itemCls:Ext.baseCSSPrefix+"tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:!0,initComponent:function(){var n=this,t=[].concat(n.dockedItems||[]),i=n.activeTab||(n.activeTab=0);n.layout=new Ext.layout.container.Card(Ext.apply({owner:n,deferredRender:n.deferredRender,itemCls:n.itemCls,activeItem:n.activeTab},n.layout));n.tabBar=new Ext.tab.Bar(Ext.apply({dock:n.tabPosition,plain:n.plain,border:n.border,cardLayout:n.layout,tabPanel:n},n.tabBar));t.push(n.tabBar);n.dockedItems=t;n.addEvents("beforetabchange","tabchange");n.callParent(arguments);n.activeTab=n.getComponent(i);n.activeTab&&(n.activeTab.tab.activate(!0),n.tabBar.activeTab=n.activeTab.tab)},setActiveTab:function(n){var t=this,i;return n=t.getComponent(n),n?(i=t.getActiveTab(),i!==n&&t.fireEvent("beforetabchange",t,n,i)===!1)?!1:(n.isComponent||(Ext.suspendLayouts(),n=t.add(n),Ext.resumeLayouts()),t.activeTab=n,Ext.suspendLayouts(),t.layout.setActiveItem(n),n=t.activeTab=t.layout.getActiveItem(),n&&n!==i?(t.tabBar.setActiveTab(n.tab),Ext.resumeLayouts(!0),i!==n&&t.fireEvent("tabchange",t,n,i)):Ext.resumeLayouts(!0),n):void 0},getActiveTab:function(){var n=this,t=n.getComponent(n.activeTab);return n.activeTab=t&&n.items.indexOf(t)!=-1?t:null,n.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(n,t){var i=this,r=n.tabConfig||{},u={xtype:"tab",card:n,disabled:n.disabled,closable:n.closable,hidden:n.hidden&&!n.hiddenByLayout,tooltip:n.tooltip,tabBar:i.tabBar,closeText:n.closeText};r=Ext.applyIf(r,u);n.tab=i.tabBar.insert(t,r);n.on({scope:i,enable:i.onItemEnable,disable:i.onItemDisable,beforeshow:i.onItemBeforeShow,iconchange:i.onItemIconChange,iconclschange:i.onItemIconClsChange,titlechange:i.onItemTitleChange});n.isPanel&&(i.removePanelHeader&&(n.rendered?n.header&&n.header.hide():n.header=!1),n.isPanel&&i.border&&n.setBorder(!1))},onItemEnable:function(n){n.tab.enable()},onItemDisable:function(n){n.tab.disable()},onItemBeforeShow:function(n){if(n!==this.activeTab)return this.setActiveTab(n),!1},onItemIconChange:function(n,t){n.tab.setIcon(t)},onItemIconClsChange:function(n,t){n.tab.setIconCls(t)},onItemTitleChange:function(n,t){n.tab.setText(t)},doRemove:function(n){var t=this,i;t.destroying||t.items.getCount()==1?t.activeTab=null:(i=t.tabBar.items.indexOf(t.tabBar.findNextActivatable(n.tab)))!==-1&&t.setActiveTab(i);this.callParent(arguments);delete n.tab.card;delete n.tab},onRemove:function(n){var t=this;n.un({scope:t,enable:t.onItemEnable,disable:t.onItemDisable,beforeshow:t.onItemBeforeShow});t.destroying||n.tab.ownerCt!==t.tabBar||t.tabBar.remove(n.tab)}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:!1});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",tdCls:Ext.baseCSSPrefix+"grid-cell-treecolumn",treePrefix:Ext.baseCSSPrefix+"tree-",elbowPrefix:Ext.baseCSSPrefix+"tree-elbow-",expanderCls:Ext.baseCSSPrefix+"tree-expander",imgText:'<img src="{1}" class="{0}" />',checkboxText:'<input type="button" role="checkbox" class="{0}" {1} />',initComponent:function(){var n=this;n.origRenderer=n.renderer||n.defaultRenderer;n.origScope=n.scope||window;n.renderer=n.treeRenderer;n.scope=n;n.callParent()},treeRenderer:function(n,t,i,r,u,f,e){for(var h=this,o=[],s=Ext.String.format,k=i.getDepth(),a=h.treePrefix,v=h.elbowPrefix,y=h.expanderCls,c=h.imgText,d=h.checkboxText,p=h.origRenderer.apply(h.origScope,arguments),l=Ext.BLANK_IMAGE_URL,w=i.get("href"),g=i.get("hrefTarget"),b=i.get("cls");i;)(!i.isRoot()||i.isRoot()&&e.rootVisible)&&(i.getDepth()===k?(o.unshift(s(c,a+"icon "+a+"icon"+(i.get("icon")?"-inline ":i.isLeaf()?"-leaf ":"-parent ")+(i.get("iconCls")||""),i.get("icon")||l)),i.get("checked")!==null&&(o.unshift(s(d,a+"checkbox"+(i.get("checked")?" "+a+"checkbox-checked":""),i.get("checked")?'aria-checked="true"':"")),i.get("checked")&&(t.tdCls+=" "+a+"checked")),i.isLast()?i.isExpandable()?o.unshift(s(c,v+"end-plus "+y,l)):o.unshift(s(c,v+"end",l)):i.isExpandable()?o.unshift(s(c,v+"plus "+y,l)):o.unshift(s(c,a+"elbow",l))):i.isLast()||i.getDepth()===0?o.unshift(s(c,v+"empty",l)):i.getDepth()!==0&&o.unshift(s(c,v+"line",l))),i=i.parentNode;return w?o.push('<a href="',w,'" target="',g,'">',p,"<\/a>"):o.push(p),b&&(t.tdCls+=" "+b),o.join("")},defaultRenderer:function(n){return n}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",requires:["Ext.data.NodeStore"],loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",leafCls:Ext.baseCSSPrefix+"grid-tree-node-leaf",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:!0,loadMask:!1,rootVisible:!0,deferInitialRefresh:!1,expandDuration:250,collapseDuration:250,toggleOnDblClick:!0,stripeRows:!1,uiFields:["expanded","loaded","checked","expandable","leaf","icon","iconCls","loading","qtip","qtitle"],initComponent:function(){var n=this,t=n.panel.getStore();n.initialConfig.animate===undefined&&(n.animate=Ext.enableFx);n.store=new Ext.data.NodeStore({treeStore:t,recursive:!0,rootVisible:n.rootVisible,listeners:{beforeexpand:n.onBeforeExpand,expand:n.onExpand,beforecollapse:n.onBeforeCollapse,collapse:n.onCollapse,write:n.onStoreWrite,datachanged:n.onStoreDataChanged,scope:n}});n.node&&n.setRootNode(n.node);n.animQueue={};n.animWraps={};n.addEvents("afteritemexpand","afteritemcollapse");n.callParent(arguments);n.on({element:"el",scope:n,delegate:n.expanderSelector,mouseover:n.onExpanderMouseOver,mouseout:n.onExpanderMouseOut});n.on({element:"el",scope:n,delegate:n.checkboxSelector,click:n.onCheckboxChange})},getMaskStore:function(){return this.panel.getStore()},afterComponentLayout:function(){this.callParent(arguments);var n=this.stretcher;n&&n.setWidth(this.getWidth()-Ext.getScrollbarSize().width)},processUIEvent:function(n){return n.getTarget("."+this.nodeAnimWrapCls,this.el)?!1:this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(n){var t=this;t.store.setNode(n);t.node=n},onCheckboxChange:function(n){var t=this,i=n.getTarget(t.getItemSelector(),t.getTargetEl());if(i)t.onCheckChange(t.getRecord(i))},onCheckChange:function(n){var t=n.get("checked");Ext.isBoolean(t)&&(t=!t,n.set("checked",t),this.fireEvent("checkchange",n,t))},getChecked:function(){var n=[];return this.node.cascadeBy(function(t){t.get("checked")&&n.push(t)}),n},isItemChecked:function(n){return n.get("checked")},createAnimWrap:function(n){for(var f="",i=this.panel.headerCt,e=i.getGridColumns(),r=0,h=e.length,u,o=this.getNode(n),t,s;r<h;r++)u=e[r],f+='<th style="width: '+(u.hidden?0:u.getDesiredWidth())+'px; height: 0px;"><\/th>';return s=Ext.get(o),t=s.insertSibling({tag:"tr",html:['<td colspan="'+i.getColumnCount()+'">','<div class="'+this.nodeAnimWrapCls+'">','<table class="'+Ext.baseCSSPrefix+'grid-table" style="width: '+i.getFullWidth()+'px;"><tbody>',f,"<\/tbody><\/table>","<\/div>","<\/td>"].join("")},"after"),{record:n,node:o,el:t,expanding:!1,collapsing:!1,animating:!1,animateEl:t.down("div"),targetEl:t.down("tbody")}},getAnimWrap:function(n,t){if(!this.animate)return null;var r=this.animWraps,i=r[n.internalId];if(t!==!1)while(!i&&n)n=n.parentNode,n&&(i=r[n.internalId]);return i},doAdd:function(n,t,i){var r=this,c=t[0],f=c.parentNode,l=r.all.elements,e=0,u=r.getAnimWrap(f),o,s,h;if(!u||!u.expanding)return r.callParent(arguments);if(f=u.record,o=u.targetEl,s=o.dom.childNodes,h=s.length-1,e=i-r.indexOf(f)-1,!h||e>=h?o.appendChild(n):Ext.fly(s[e+1]).insertSibling(n,"before",!0),Ext.Array.insert(l,i,n),u.isAnimating)r.onExpand(f)},beginBulkUpdate:function(){this.bulkUpdate=!0},endBulkUpdate:function(){this.bulkUpdate=!1},onRemove:function(n,t,i){var r=this,u=r.bulkUpdate;r.viewReady&&(r.doRemove(t,i),u||r.updateIndexes(i),r.store.getCount()===0&&r.refresh(),u||r.fireEvent("itemremove",t,i))},doRemove:function(n,t){var i=this,u=i.all,r=i.getAnimWrap(n),f=u.item(t),e=f?f.dom:null;if(!e||!r||!r.collapsing)return i.callParent(arguments);r.targetEl.appendChild(e);u.removeElement(t)},onBeforeExpand:function(n){var i=this,t;i.rendered&&i.animate&&i.getNode(n)&&(t=i.getAnimWrap(n,!1),t?t.collapsing&&t.targetEl.select(i.itemSelector).remove():(t=i.animWraps[n.internalId]=i.createAnimWrap(n),t.animateEl.setHeight(0)),t.expanding=!0,t.collapsing=!1)},onExpand:function(n){var t=this,e=t.animQueue,o=n.getId(),r=t.getNode(n),u=r?t.indexOf(r):-1,i,f,s;if(t.singleExpand&&t.ensureSingleExpand(n),u!==-1){if(i=t.getAnimWrap(n,!1),!i){t.isExpandingOrCollapsing=!1;t.fireEvent("afteritemexpand",n,u,r);return}f=i.animateEl;s=i.targetEl;f.stopAnimation();e[o]=!0;f.slideIn("t",{duration:t.expandDuration,listeners:{scope:t,lastframe:function(){i.el.insertSibling(s.query(t.itemSelector),"before");i.el.remove();t.refreshSize();delete t.animWraps[i.record.internalId];delete e[o]}},callback:function(){t.isExpandingOrCollapsing=!1;t.fireEvent("afteritemexpand",n,u,r)}});i.isAnimating=!0}},onBeforeCollapse:function(n,t,i){var u=this,r;u.rendered&&u.animate&&u.getNode(n)&&(r=u.getAnimWrap(n),r?r.expanding&&r.targetEl.select(this.itemSelector).remove():r=u.animWraps[n.internalId]=u.createAnimWrap(n,i),r.expanding=!1,r.collapsing=!0)},onCollapse:function(n){var t=this,e=t.animQueue,o=n.getId(),r=t.getNode(n),u=r?t.indexOf(r):-1,i=t.getAnimWrap(n),f,s;if(u!==-1){if(!i){t.isExpandingOrCollapsing=!1;t.fireEvent("afteritemcollapse",n,u,r);return}f=i.animateEl;s=i.targetEl;e[o]=!0;f.stopAnimation();f.slideOut("t",{duration:t.collapseDuration,listeners:{scope:t,lastframe:function(){i.el.remove();t.refreshSize();delete t.animWraps[i.record.internalId];delete e[o]}},callback:function(){t.isExpandingOrCollapsing=!1;t.fireEvent("afteritemcollapse",n,u,r)}});i.isAnimating=!0}},isAnimating:function(n){return!!this.animQueue[n.getId()]},collectData:function(n){for(var u=this.callParent(arguments),f=u.rows,e=f.length,r=0,t,i;r<e;r++)t=f[r],i=n[r],i.get("qtip")&&(t.rowAttr='data-qtip="'+i.get("qtip")+'"',i.get("qtitle")&&(t.rowAttr+=' data-qtitle="'+i.get("qtitle")+'"')),i.isExpanded()&&(t.rowCls=(t.rowCls||"")+" "+this.expandedCls),i.isLeaf()&&(t.rowCls=(t.rowCls||"")+" "+this.leafCls),i.isLoading()&&(t.rowCls=(t.rowCls||"")+" "+this.loadingCls);return u},expand:function(n,t,i,r){return n.expand(t,i,r)},collapse:function(n,t,i,r){return n.collapse(t,i,r)},toggle:function(n,t,i,r){var u=this,f=!!this.animate;f&&this.isExpandingOrCollapsing||(n.isLeaf()||(this.isExpandingOrCollapsing=f),n.isExpanded()?u.collapse(n,t,i,r):u.expand(n,t,i,r))},onItemDblClick:function(n){var t=this,i=t.editingPlugin;t.callParent(arguments);!t.toggleOnDblClick||!n.isExpandable()||i&&i.clicksToEdit===2||t.toggle(n)},onBeforeItemMouseDown:function(n,t,i,r){return r.getTarget(this.expanderSelector,t)?!1:this.callParent(arguments)},onItemClick:function(n,t,i,r){return r.getTarget(this.expanderSelector,t)&&n.isExpandable()?(this.toggle(n,r.ctrlKey),!1):this.callParent(arguments)},onExpanderMouseOver:function(n){n.getTarget(this.cellSelector,10,!0).addCls(this.expanderIconOverCls)},onExpanderMouseOut:function(n){n.getTarget(this.cellSelector,10,!0).removeCls(this.expanderIconOverCls)},getTreeStore:function(){return this.panel.store},ensureSingleExpand:function(n){var t=n.parentNode;t&&t.eachChild(function(t){t!==n&&t.isExpanded()&&t.collapse()})},shouldUpdateCell:function(n,t){if(t)for(var i=0,r=t.length;i<r;++i)if(Ext.Array.contains(this.uiFields,t[i]))return!0;return this.callParent(arguments)},onStoreWrite:function(n,t){var i=this.panel.store;i.fireEvent("write",i,t)},onStoreDataChanged:function(){var n=this.panel.store;n.fireEvent("datachanged",n)}});Ext.define("Ext.tree.Panel",{extend:"Ext.panel.Table",alias:"widget.treepanel",alternateClassName:["Ext.tree.TreePanel","Ext.TreePanel"],requires:["Ext.tree.View","Ext.selection.TreeModel","Ext.tree.Column","Ext.data.TreeStore"],viewType:"treeview",selType:"treemodel",treeCls:Ext.baseCSSPrefix+"tree-panel",deferRowRender:!1,rowLines:!1,lines:!0,useArrows:!1,singleExpand:!1,ddConfig:{enableDrag:!0,enableDrop:!0},rootVisible:!0,displayField:"text",root:null,normalCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible","scroll"],lockedCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible"],isTree:!0,constructor:function(n){n=n||{};n.animate===undefined&&(n.animate=Ext.isDefined(this.animate)?this.animate:Ext.enableFx);this.enableAnimations=n.animate;delete n.animate;this.callParent([n])},initComponent:function(){var n=this,t=[n.treeCls],i;n.useArrows&&(t.push(Ext.baseCSSPrefix+"tree-arrows"),n.lines=!1);n.lines?t.push(Ext.baseCSSPrefix+"tree-lines"):n.useArrows||t.push(Ext.baseCSSPrefix+"tree-no-lines");Ext.isString(n.store)?n.store=Ext.StoreMgr.lookup(n.store):n.store&&(!Ext.isObject(n.store)||n.store.isStore)?n.root&&(n.store=Ext.data.StoreManager.lookup(n.store),n.store.setRootNode(n.root),n.folderSort!==undefined&&(n.store.folderSort=n.folderSort,n.store.sort())):n.store=new Ext.data.TreeStore(Ext.apply({},n.store||{},{root:n.root,fields:n.fields,model:n.model,folderSort:n.folderSort}));n.viewConfig=Ext.apply({},n.viewConfig);n.viewConfig=Ext.applyIf(n.viewConfig,{rootVisible:n.rootVisible,animate:n.enableAnimations,singleExpand:n.singleExpand,node:n.store.getRootNode(),hideHeaders:n.hideHeaders});n.mon(n.store,{scope:n,rootchange:n.onRootChange,clear:n.onClear});n.relayEvents(n.store,["beforeload","load"]);n.mon(n.store,{append:n.createRelayer("itemappend"),remove:n.createRelayer("itemremove"),move:n.createRelayer("itemmove",[0,4]),insert:n.createRelayer("iteminsert"),beforeappend:n.createRelayer("beforeitemappend"),beforeremove:n.createRelayer("beforeitemremove"),beforemove:n.createRelayer("beforeitemmove"),beforeinsert:n.createRelayer("beforeiteminsert"),expand:n.createRelayer("itemexpand",[0,1]),collapse:n.createRelayer("itemcollapse",[0,1]),beforeexpand:n.createRelayer("beforeitemexpand",[0,1]),beforecollapse:n.createRelayer("beforeitemcollapse",[0,1])});n.columns||(n.initialConfig.hideHeaders===undefined&&(n.hideHeaders=!0),n.addCls(Ext.baseCSSPrefix+"autowidth-table"),n.columns=[{xtype:"treecolumn",text:"Name",width:Ext.isIE6?null:1e4,dataIndex:n.displayField}]);n.cls&&t.push(n.cls);n.cls=t.join(" ");n.callParent();i=n.getView();n.relayEvents(i,["checkchange","afteritemexpand","afteritemcollapse"]);i.rootVisible||n.getRootNode()||n.setRootNode({expanded:!0})},onClear:function(){this.view.onClear()},setRootNode:function(){return this.store.setRootNode.apply(this.store,arguments)},getRootNode:function(){return this.store.getRootNode()},onRootChange:function(n){this.view.setRootNode(n)},getChecked:function(){return this.getView().getChecked()},isItemChecked:function(n){return n.get("checked")},expandNode:function(n,t,i,r){return this.getView().expand(n,t,i,r||this)},collapseNode:function(n,t,i,r){return this.getView().collapse(n,t,i,r||this)},expandAll:function(n,t){var i=this,r=i.getRootNode(),u=i.enableAnimations,f=i.getView();r&&(u||f.beginBulkUpdate(),r.expand(!0,n,t||i),u||f.endBulkUpdate())},collapseAll:function(n,t){var i=this,r=i.getRootNode(),f=i.enableAnimations,u=i.getView();r&&(f||u.beginBulkUpdate(),t=t||i,u.rootVisible?r.collapse(!0,n,t):r.collapseChildren(!0,n,t),f||u.endBulkUpdate())},expandPath:function(n,t,i,r,u){var e=this,f=e.getRootNode(),h=1,c=e.getView(),o,s;if(t=t||e.getRootNode().idProperty,i=i||"/",Ext.isEmpty(n)){Ext.callback(r,u||e,[!1,null]);return}if(o=n.split(i),f.get(t)!=o[1]){Ext.callback(r,u||e,[!1,f]);return}s=function(){if(++h===o.length){Ext.callback(r,u||e,[!0,f]);return}var n=f.findChild(t,o[h]);if(!n){Ext.callback(r,u||e,[!1,f]);return}f=n;f.expand(!1,s)};f.expand(!1,s)},selectPath:function(n,t,i,r,u){var f=this,e,o,s;t=t||f.getRootNode().idProperty;i=i||"/";o=n.split(i);s=o.pop();o.length>1?f.expandPath(o.join(i),t,i,function(n,i){var e=i;if(n&&i&&(i=i.findChild(t,s),i)){f.getSelectionModel().select(i);Ext.callback(r,u||f,[!0,i]);return}Ext.callback(r,u||f,[!1,e])},f):(e=f.getRootNode(),e.getId()===s?(f.getSelectionModel().select(e),Ext.callback(r,u||f,[!0,e])):Ext.callback(r,u||f,[!1,null]))}});Ext.define("Ext.view.DragZone",{extend:"Ext.dd.DragZone",containerScroll:!1,constructor:function(n){var t=this,i,r,u;Ext.apply(t,n);t.ddGroup||(t.ddGroup="view-dd-zone-"+t.view.id);i=t.view;r=i.ownerCt;u=r?r.getTargetEl().dom:i.el.dom.parentNode;t.callParent([u]);t.ddel=Ext.get(document.createElement("div"));t.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(n,t,i){this.initTarget(n,t,i);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onValidDrop:function(n){this.callParent();n.el.focus()},onItemMouseDown:function(n,t,i,r,u){if(!this.isPreventDrag(u,t,i,r)&&(this.view.focus(),this.handleMouseDown(u),n.getSelectionModel().selectionMode=="MULTI"&&!u.ctrlKey&&n.getSelectionModel().isSelected(t)))return!1},isPreventDrag:function(){return!1},getDragData:function(n){var t=this.view,i=n.getTarget(t.getItemSelector());if(i)return{copy:t.copy||t.allowCopy&&n.ctrlKey,event:new Ext.EventObjectImpl(n),view:t,ddel:this.ddel,item:i,records:t.getSelectionModel().getSelection(),fromPosition:Ext.fly(i).getXY()}},onInitDrag:function(n,t){var i=this,r=i.dragData,f=r.view,u=f.getSelectionModel(),e=f.getRecord(r.item),o=r.event;u.isSelected(e)||u.select(e,!0);r.records=u.getSelection();i.ddel.update(i.getDragText());i.proxy.update(i.ddel.dom);i.onStartDrag(n,t);return!0},getDragText:function(){var n=this.dragData.records.length;return Ext.String.format(this.dragText,n,n==1?"":"s")},getRepairXY:function(n,t){return t?t.fromPosition:!1}});Ext.define("Ext.tree.ViewDragZone",{extend:"Ext.view.DragZone",isPreventDrag:function(n,t){return t.get("allowDrag")===!1||!!n.getTarget(this.view.expanderSelector)},afterRepair:function(){var t=this,i=t.view,f=i.selectedItemCls,e=t.dragData.records,r,o=e.length,u=Ext.fly,n;if(Ext.enableFx&&t.repairHighlight)for(r=0;r<o;r++)n=i.getNode(e[r]),u(n.firstChild).highlight(t.repairHighlightColor,{listeners:{beforeanimate:function(){i.isSelected(n)&&u(n).removeCls(f)},afteranimate:function(){i.isSelected(n)&&u(n).addCls(f)}}});t.dragging=!1}});Ext.define("Ext.tree.ViewDropZone",{extend:"Ext.view.DropZone",allowParentInserts:!1,allowContainerDrops:!1,appendOnly:!1,expandDelay:500,indicatorCls:Ext.baseCSSPrefix+"tree-ddindicator",expandNode:function(n){var t=this.view;n.isLeaf()||n.isExpanded()||(t.expand(n),this.expandProcId=!1)},queueExpand:function(n){this.expandProcId=Ext.Function.defer(this.expandNode,this.expandDelay,this,[n])},cancelExpand:function(){this.expandProcId&&(clearTimeout(this.expandProcId),this.expandProcId=!1)},getPosition:function(n,t){var s=this.view,r=s.getRecord(t),u=n.getPageY(),f=r.isLeaf(),o=!1,i=Ext.fly(t).getRegion(),e;return r.isRoot()?"append":this.appendOnly?f?!1:"append":(this.allowParentInsert||(o=r.hasChildNodes()&&r.isExpanded()),e=(i.bottom-i.top)/(f?2:3),u>=i.top&&u<i.top+e?"before":!o&&(f||u>=i.bottom-e&&u<=i.bottom)?"after":"append")},isValidDropPoint:function(n,t,i,r,u){if(!n||!u.item)return!1;var h=this.view,f=h.getRecord(n),e=u.records,c=e.length,l=e.length,o,s;if(!(f&&t&&c))return!1;for(o=0;o<l;o++)if(s=e[o],s.isNode&&s.contains(f))return!1;return t==="append"&&f.get("allowDrop")===!1?!1:t!="append"&&f.parentNode.get("allowDrop")===!1?!1:Ext.Array.contains(e,f)?!1:!0},onNodeOver:function(n,t,i,r){var f=this.getPosition(i,n),e=this.dropNotAllowed,h=this.view,u=h.getRecord(n),o=this.getIndicator(),s=0;return this.cancelExpand(),f!="append"||this.expandProcId||Ext.Array.contains(r.records,u)||u.isLeaf()||u.isExpanded()||this.queueExpand(u),this.isValidDropPoint(n,f,t,i,r)?(this.valid=!0,this.currentPosition=f,this.overRecord=u,o.setWidth(Ext.fly(n).getWidth()),s=Ext.fly(n).getY()-Ext.fly(h.el).getY()-1,f=="before"?(e=u.isFirst()?Ext.baseCSSPrefix+"tree-drop-ok-above":Ext.baseCSSPrefix+"tree-drop-ok-between",o.showAt(0,s),t.proxy.show()):f=="after"?(e=u.isLast()?Ext.baseCSSPrefix+"tree-drop-ok-below":Ext.baseCSSPrefix+"tree-drop-ok-between",s+=Ext.fly(n).getHeight(),o.showAt(0,s),t.proxy.show()):(e=Ext.baseCSSPrefix+"tree-drop-ok-append",o.hide())):this.valid=!1,this.currentCls=e,e},onContainerOver:function(n,t){return t.getTarget("."+this.indicatorCls)?this.currentCls:this.dropNotAllowed},notifyOut:function(){this.callParent(arguments);this.cancelExpand()},handleNodeDrop:function(n,t,i){var f=this,a=f.view,e=t.parentNode,y=a.getStore(),h=[],c,r,s,o,u,v,l;if(n.copy)for(c=n.records,n.records=[],r=0,s=c.length;r<s;r++)n.records.push(Ext.apply({},c[r].data));f.cancelExpand();i=="before"?(o=e.insertBefore,u=[null,t],t=e):i=="after"?(t.nextSibling?(o=e.insertBefore,u=[null,t.nextSibling]):(o=e.appendChild,u=[null]),t=e):(t.isExpanded()||(v=!0),o=t.appendChild,u=[null]);l=function(){var c,e,l,v,i;for(r=0,s=n.records.length;r<s;r++)u[0]=n.records[r],c=o.apply(t,u),Ext.enableFx&&f.dropHighlight&&h.push(a.getNode(c));if(Ext.enableFx&&f.dropHighlight)for(l=h.length,v=f.dropHighlightColor,e=0;e<l;e++)i=h[e],i&&Ext.fly(i.firstChild?i.firstChild:i).highlight(v)};v?t.expand(!1,l):l()}});Ext.define("Ext.tree.plugin.TreeViewDragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.treeviewdragdrop",uses:["Ext.tree.ViewDragZone","Ext.tree.ViewDropZone"],dragText:"{0} selected node{1}",allowParentInserts:!1,allowContainerDrops:!1,appendOnly:!1,ddGroup:"TreeDD",expandDelay:1e3,enableDrop:!0,enableDrag:!0,nodeHighlightColor:"c3daf9",nodeHighlightOnDrop:Ext.enableFx,nodeHighlightOnRepair:Ext.enableFx,init:function(n){n.on("render",this.onViewRender,this,{single:!0})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onViewRender:function(n){var t=this;t.enableDrag&&(t.dragZone=new Ext.tree.ViewDragZone({view:n,ddGroup:t.dragGroup||t.ddGroup,dragText:t.dragText,repairHighlightColor:t.nodeHighlightColor,repairHighlight:t.nodeHighlightOnRepair}));t.enableDrop&&(t.dropZone=new Ext.tree.ViewDropZone({view:n,ddGroup:t.dropGroup||t.ddGroup,allowContainerDrops:t.allowContainerDrops,appendOnly:t.appendOnly,allowParentInserts:t.allowParentInserts,expandDelay:t.expandDelay,dropHighlightColor:t.nodeHighlightColor,dropHighlight:t.nodeHighlightOnDrop}))}});Ext.define("Ext.util.CSS",function(){var n=null,t=document,i=/(-[a-z])/gi,r=function(n,t){return t.charAt(1).toUpperCase()};return{singleton:!0,constructor:function(){this.rules={};this.initialized=!1},createStyleSheet:function(n,i){var u,f=t.getElementsByTagName("head")[0],r=t.createElement("style");if(r.setAttribute("type","text/css"),i&&r.setAttribute("id",i),Ext.isIE)f.appendChild(r),u=r.styleSheet,u.cssText=n;else{try{r.appendChild(t.createTextNode(n))}catch(e){r.cssText=n}f.appendChild(r);u=r.styleSheet?r.styleSheet:r.sheet||t.styleSheets[t.styleSheets.length-1]}return this.cacheStyleSheet(u),u},removeStyleSheet:function(n){var t=document.getElementById(n);t&&t.parentNode.removeChild(t)},swapStyleSheet:function(n,t){var r=document,i;this.removeStyleSheet(n);i=r.createElement("link");i.setAttribute("rel","stylesheet");i.setAttribute("type","text/css");i.setAttribute("id",n);i.setAttribute("href",t);r.getElementsByTagName("head")[0].appendChild(i)},refreshCache:function(){return this.getRules(!0)},cacheStyleSheet:function(t){n||(n={});try{for(var f=t.cssRules||t.rules,i,r=f.length-1,u,e;r>=0;--r)if(i=f[r].selectorText,i)for(i=i.split(","),e=i.length,u=0;u<e;u++)n[Ext.String.trim(i[u]).toLowerCase()]=f[r]}catch(o){}},getRules:function(i){if(n===null||i){n={};for(var u=t.styleSheets,r=0,f=u.length;r<f;r++)try{u[r].disabled||this.cacheStyleSheet(u[r])}catch(e){}}return n},getRule:function(n,t){var r=this.getRules(t),i;if(!Ext.isArray(n))return r[n.toLowerCase()];for(i=0;i<n.length;i++)if(r[n[i]])return r[n[i].toLowerCase()];return null},updateRule:function(n,t,u){var e,f;if(Ext.isArray(n)){for(f=0;f<n.length;f++)if(this.updateRule(n[f],t,u))return!0}else if(e=this.getRule(n),e)return e.style[t.replace(i,r)]=u,!0;return!1}}}());Ext.define("Ext.util.Cookies",{singleton:!0,set:function(n,t){var i=arguments,r=arguments.length,u=r>2?i[2]:null,f=r>3?i[3]:"/",e=r>4?i[4]:null,o=r>5?i[5]:!1;document.cookie=n+"="+escape(t)+(u===null?"":"; expires="+u.toGMTString())+(f===null?"":"; path="+f)+(e===null?"":"; domain="+e)+(o===!0?"; secure":"")},get:function(n){for(var r=n+"=",u=r.length,f=document.cookie.length,t=0,i=0;t<f;){if(i=t+u,document.cookie.substring(t,i)==r)return this.getCookieVal(i);if(t=document.cookie.indexOf(" ",t)+1,t===0)break}return null},clear:function(n,t){this.get(n)&&(t=t||"/",document.cookie=n+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path="+t)},getCookieVal:function(n){var t=document.cookie.indexOf(";",n);return t==-1&&(t=document.cookie.length),unescape(document.cookie.substring(n,t))}});Ext.define("Ext.util.Grouper",{extend:"Ext.util.Sorter",isGrouper:!0,getGroupString:function(n){return n.get(this.property)}});Ext.define("Ext.util.History",{singleton:!0,alternateClassName:"Ext.History",mixins:{observable:"Ext.util.Observable"},useTopWindow:!0,fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",constructor:function(){var n=this;n.oldIEMode=Ext.isIE6||Ext.isIE7||!Ext.isStrict&&Ext.isIE8;n.iframe=null;n.hiddenField=null;n.ready=!1;n.currentToken=null;n.mixins.observable.constructor.call(n)},getHash:function(){var n=window.location.href,t=n.indexOf("#");return t>=0?n.substr(t+1):null},setHash:function(n){var t=this,i=t.useTopWindow?window.top:window;try{i.location.hash=n}catch(r){}},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(n){this.currentToken=n;this.fireEvent("change",n)},updateIFrame:function(n){var i='<html><body><div id="state">'+Ext.util.Format.htmlEncode(n)+"<\/div><\/body><\/html>",t;try{return t=this.iframe.contentWindow.document,t.open(),t.write(i),t.close(),!0}catch(r){return!1}},checkIFrame:function(){var n=this,t=n.iframe.contentWindow,f,r,u,i;if(!t||!t.document){Ext.Function.defer(this.checkIFrame,10,this);return}f=t.document;r=f.getElementById("state");u=r?r.innerText:null;i=n.getHash();Ext.TaskManager.start({run:function(){var o=t.document,e=o.getElementById("state"),r=e?e.innerText:null,f=n.getHash();r!==u?(u=r,n.handleStateChange(r),n.setHash(r),i=r,n.doSave()):f!==i&&(i=f,n.updateIFrame(f))},interval:50,scope:n});n.ready=!0;n.fireEvent("ready",n)},startUp:function(){var n=this,t;n.currentToken=n.hiddenField.value||this.getHash();n.oldIEMode?n.checkIFrame():(t=n.getHash(),Ext.TaskManager.start({run:function(){var i=n.getHash();i!==t&&(t=i,n.handleStateChange(t),n.doSave())},interval:50,scope:n}),n.ready=!0,n.fireEvent("ready",n))},init:function(n,t){var i=this,r=Ext.DomHelper;if(i.ready){Ext.callback(n,t,[i]);return}if(!Ext.isReady){Ext.onReady(function(){i.init(n,t)});return}if(i.hiddenField=Ext.getDom(i.fieldId),i.hiddenField||(i.hiddenField=Ext.getBody().createChild({id:Ext.id(),tag:"form",cls:Ext.baseCSSPrefix+"hide-display",children:[{tag:"input",type:"hidden",id:i.fieldId}]},!1,!0).firstChild),i.oldIEMode&&(i.iframe=Ext.getDom(i.iframeId),i.iframe||(i.iframe=r.append(i.hiddenField.parentNode,{tag:"iframe",id:i.iframeId,src:Ext.SSL_SECURE_URL}))),i.addEvents("ready","change"),n)i.on("ready",n,t,{single:!0});i.startUp()},add:function(n,t){var i=this;return t!==!1&&i.getToken()===n?!0:i.oldIEMode?i.updateIFrame(n):(i.setHash(n),!0)},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.util.Point",{extend:"Ext.util.Region",statics:{fromEvent:function(n){return n=n.changedTouches&&n.changedTouches.length>0?n.changedTouches[0]:n,new this(n.pageX,n.pageY)}},constructor:function(n,t){this.callParent([t,n,t,n])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(n){return this.x==n.x&&this.y==n.y},isWithin:function(n,t){return Ext.isObject(t)||(t={x:t,y:t}),this.x<=n.x+t.x&&this.x>=n.x-t.x&&this.y<=n.y+t.y&&this.y>=n.y-t.y},roundedEquals:function(n){return Math.round(this.x)==Math.round(n.x)&&Math.round(this.y)==Math.round(n.y)}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.view.TableChunker",{singleton:!0,requires:["Ext.XTemplate"],metaTableTpl:["{%if (this.openTableWrap)out.push(this.openTableWrap())%}",'<table class="'+Ext.baseCSSPrefix+"grid-table "+Ext.baseCSSPrefix+'grid-table-resizer" border="0" cellspacing="0" cellpadding="0" {[this.embedFullWidth(values)]}>',"<tbody>",'<tr class="'+Ext.baseCSSPrefix+'grid-header-row">','<tpl for="columns">','<th class="'+Ext.baseCSSPrefix+'grid-col-resizer-{id}" style="width: {width}px; height: 0px;"><\/th>',"<\/tpl>","<\/tr>","{[this.openRows()]}","{row}",'<tpl for="features">',"{[this.embedFeature(values, parent, xindex, xcount)]}","<\/tpl>","{[this.closeRows()]}","<\/tbody>","<\/table>","{%if (this.closeTableWrap)out.push(this.closeTableWrap())%}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(n,t){return this.apply(t?n[t]:n)}},embedFeature:function(n,t,i,r){var u="";return n.disabled||(u=n.getFeatureTpl(n,t,i,r)),u},embedFullWidth:function(n){var t='style="width:{fullWidth}px;';return n.rowCount||(t+="height:1px;"),t+'"'},openRows:function(){return'<tpl for="rows">'},closeRows:function(){return"<\/tpl>"},metaRowTpl:['<tr class="'+Ext.baseCSSPrefix+'grid-row {[this.embedRowCls()]}" {[this.embedRowAttr()]}>','<tpl for="columns">','<td class="{cls} '+Ext.baseCSSPrefix+"grid-cell "+Ext.baseCSSPrefix+'grid-cell-{columnId} {{id}-modified} {{id}-tdCls} {[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}>','<div {unselectableAttr} class="'+Ext.baseCSSPrefix+'grid-cell-inner {unselectableCls}" style="text-align: {align}; {{id}-style};">{{id}}<\/div>',"<\/td>","<\/tpl>","<\/tr>"],firstOrLastCls:function(n,t){return n===1?Ext.view.Table.prototype.firstCls:n===t?Ext.view.Table.prototype.lastCls:void 0},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:undefined,closeTableWrap:undefined,getTableTpl:function(n,t){for(var u,e={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},o={},r=n.features||[],c=r.length,i=0,s={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls,unselectableAttr:n.enableTextSelection?"":'unselectable="on"',unselectableCls:n.enableTextSelection?"":Ext.baseCSSPrefix+"unselectable"},f=Array.prototype.slice.call(this.metaRowTpl,0),h;i<c;i++)r[i].disabled||(r[i].mutateMetaRowTpl(f),Ext.apply(s,r[i].getMetaRowTplFragments()),Ext.apply(o,r[i].getFragmentTpl()),Ext.apply(e,r[i].getTableFragments()));return f=new Ext.XTemplate(f.join(""),s),n.row=f.applyTemplate(n),h=new Ext.XTemplate(this.metaTableTpl.join(""),e),u=h.applyTemplate(n),t||(u=new Ext.XTemplate(u,o)),u}});Ext._endTime=(new Date).getTime();Ext._beforereadyhandler&&Ext._beforereadyhandler()