/**
* Combined, minified redistributable GNU ease.js file.
* <http://www.gnu.org/software/easejs/>
* Copyright (C) 2010, 2011, 2012, 2013, 2014 Mike Gerwitz
* @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
*/
var easejs={};
(function(z){var k={},l=function(d){var f=d.replace(/^\.?\/|[^/]*?\/\.\.\/|\.js$/,""),f=k[f];if(void 0===f)throw"[ease.js] Undefined module: "+d;return f.exports};(function(d){var f={"public":!0,"protected":!0,"private":!0,"static":!0,"abstract":!0,"const":!0,virtual:!0,override:!0,proxy:!0,weak:!0};(d.exports={}).parseKeywords=function(a){var d=a,c=[],e={};if(1!==(c=(""+a).split(/\s+/)).length)for(var d=c.pop(),a=c.length,b="";a--;){b=c[a];if(!f[b])throw Error("Unexpected keyword for '"+d+"': "+
b);e[b]=!0}return{name:d,keywords:e}}})(k.prop_parser={},".");(function(d,f){function a(c,a){for(var b=a.length;b--;)if(null===a[b].match(/^[a-z_][a-z0-9_]*$/i))throw SyntaxError("Member "+c+" contains invalid parameter '"+a[b]+"'");}function g(){var a;return b?function(a,b,e){try{Object.defineProperty(a,b,{value:e,enumerable:!1,writable:!1,configurable:!1})}catch(d){c.definePropertyFallback(!0),a[b]=e}}:function(c,a,b){c[a]=b}}var c=d.exports={},e=l(f+"/prop_parser").parseKeywords,b;a:{if("function"===
typeof Object.defineProperty)try{Object.defineProperty({},"x",{});b=!0;break a}catch(h){}b=!1}c.freeze="function"===typeof Object.freeze?Object.freeze:function(){};c.definePropertyFallback=function(a){if(void 0===a)return!b;b=!a;c.defineSecureProp=g();return c};c.defineSecureProp=g();c.clone=function v(c,a){a=!!a;if(c instanceof Array){if(!a)return c.slice(0);for(var b=[],e=0,d=c.length;e<d;e++)b.push(v(c[e],a));return b}if("function"!==typeof c&&c instanceof Object){b={};e=Object.prototype.hasOwnProperty;
for(d in c)e.call(c,d)&&(b[d]=a?v(c[d]):c[d]);return b}return c};c.copyTo=function(a,e,d){var d=!!d,f;if(!(a instanceof Object)||!(e instanceof Object))throw TypeError("Must provide both source and destination objects");if(b)for(var m in e)f=Object.getOwnPropertyDescriptor(e,m),f.get||f.set?Object.defineProperty(a,m,f):a[m]=d?c.clone(e[m],!0):e[m];else for(m in e)a[m]=d?c.clone(e[m],!0):e[m];return a};c.propParse=function(d,f,q){var p=function(){},m=f.each||void 0,g=f.property||p,r=f.method||p,p=
f.getset||p,s=f.keywordParser||e,j=Object.prototype.hasOwnProperty,i={},u="",i={},h=null,o=!1,A=!1,w;for(w in d)if(j.call(d,w)){if(b)u=Object.getOwnPropertyDescriptor(d,w),o=u.get,A=u.set;h="function"===typeof o?void 0:d[w];i=s(w)||{};u=i.name||w;i=i.keywords||{};if(f.assumeAbstract||i["abstract"]&&!i.override){i["abstract"]=!0;if(!(h instanceof Array))throw TypeError("Missing parameter list for abstract method: "+u);a(u,h);h=c.createAbstractMethod.apply(this,h)}m&&m.call(q,u,h,i);o||A?p.call(q,u,
o,A,i):"function"===typeof h||i.proxy?r.call(q,u,h,c.isAbstractMethod(h),i):g.call(q,u,h,i)}};c.createAbstractMethod=function(a){var b=Array.prototype.slice.call(arguments),e=function(){throw Error("Cannot call abstract method");};c.defineSecureProp(e,"abstractFlag",!0);c.defineSecureProp(e,"definition",b);c.defineSecureProp(e,"__length",arguments.length);return e};c.isAbstractMethod=function(c){return"function"===typeof c&&!0===c.abstractFlag?!0:!1};c.arrayShrink=function(c){for(var a=[],b=0,e=c.length;b<
e;b++){var d=c[b];void 0!==d&&a.push(d)}return a};c.getOwnPropertyDescriptor=b&&Object.getOwnPropertyDescriptor||function(c,a){return!Object.prototype.hasOwnProperty.call(c,a)?void 0:{get:void 0,set:void 0,writable:!0,enumerable:!0,configurable:!0,value:c[a]}};c.getPrototypeOf=Object.getPrototypeOf||function(){};c.getPropertyDescriptor=function(a,b,e){var e=!!e,d=c.getOwnPropertyDescriptor(a,b),a=c.getPrototypeOf(a);return!d&&a&&(!e||c.getPrototypeOf(a))?c.getPropertyDescriptor(a,b,e):d};c.defineSecureProp(c.getPropertyDescriptor,
"canTraverse",Object.getPrototypeOf?!0:!1)})(k.util={},".");(function(d){var d=d.exports={},f=null,a="undefined"!==typeof console?console:void 0,g=d.Warning=function(a){if(!(this instanceof g))return new g(a);if(!(a instanceof Error))throw TypeError("Must provide exception to wrap");Error.prototype.constructor.call(this,a.message);this.message=a.message;this.name="Warning";this._error=a;this.stack=a.stack&&a.stack.replace(/^.*?\n+/,this.name+": "+this.message+"\n")};g.prototype=Error();g.prototype.constructor=
g;g.prototype.name="Warning";g.prototype.getError=function(){return this._error};d.handlers={log:function(c){var e;a&&(e=a.warn||a.log)&&e.call(a,"Warning: "+c.message)},throwError:function(a){throw a.getError();},dismiss:function(){}};d.setHandler=function(a){f=a};d.handle=function(a){f(a)};d.setConsole=function(c){a=c};f=d.handlers.log})(k.warn={},".");(function(d,f){function a(a,c,b){c=this.defs;if(!0===w[a])throw Error(a+" is reserved");if(o.call(c,a)&&!b.weak&&!c[a].weak)throw Error("Cannot redefine method '"+
a+"' in same declaration");c[a]=b}function g(a,c,b){this._cb._memberBuilder.buildProp(h(b)?this.static_members.props:this.prop_init,null,a,c,b,this.base)}function c(a,c,b,e){var d=h(e)?this.static_members.methods:this.members,f=h(e)?this.staticInstLookup:j.getMethodInstance;this._cb._memberBuilder.buildGetterSetter(d,null,a,c,b,e,f,this.class_id,this.base)}function e(a,c,b,e){var d=h(e),f=d?this.static_members.methods:this.members,d=d?this.staticInstLookup:j.getMethodInstance;if(!0===t[a]&&(e["protected"]||
e["private"]))throw TypeError(a+" must be public");this._cb._memberBuilder.buildMethod(f,null,a,c,e,d,this.class_id,this.base,this.state)&&(b?(this.abstract_methods[a]=!0,this.abstract_methods.__length++):o.call(this.abstract_methods,a)&&!1===b&&(delete this.abstract_methods[a],this.abstract_methods.__length--),e.virtual&&(this.virtual_members[a]=!0))}function b(a,c,b,e){if(a.___$$abstract$$){if(!e&&0===b.__length)throw TypeError("Class "+(c||"(anonymous)")+" was declared as abstract, but contains no abstract members");
}else if(0<b.__length)if(e)a.___$$abstract$$=!0;else throw TypeError("Class "+(c||"(anonymous)")+" contains abstract members and must therefore be declared abstract");}function h(a){return a["static"]||a["const"]?!0:!1}function n(a){var c=this,b=function(){};b.prototype=a;b=new b;a.___$$svis$$=b;b.$=function(){c._spropInternal=!0;var b=a.$.apply(a,arguments);c._spropInternal=!1;return b}}function v(a,c,b,e){var d=c.methods,f=c.props,v=this;(c=b.___$$sinit$$)&&c(a,!0);if(!e)a.___$$sprops$$=f,i.defineSecureProp(a,
"$",function(c,e){var d=!1,i=this.___$$sprops$$?this:a,g=i!==a,d=o.call(f["public"],c)&&"public";!d&&v._spropInternal&&(d=o.call(f["protected"],c)&&"protected"||!g&&o.call(f["private"],c)&&"private");if(!1===d)return(b.__cid&&b.$||j.ClassBase.$).apply(i,arguments);d=f[d][c];if(1<arguments.length){if(d[1]["const"])throw TypeError("Cannot modify constant property '"+c+"'");d[0]=e;return i}return d[0]});i.copyTo(a,d["public"],!0);i.copyTo(a.___$$svis$$,d["protected"],!0);e||i.copyTo(a.___$$svis$$,d["private"],
!0)}function x(a,c){var b=c.__cid?j.getMeta(c):void 0;a.___$$meta$$=b?i.clone(b,!0):{implemented:[]};return a.prototype.___$$meta$$=a.___$$meta$$}function q(a,c){i.defineSecureProp(a,"__iid",c)}function p(a){var c=function(){};c.prototype=a;a.___$$vis$$=new c}function m(a){var c=function(c){return d.exports.isInstanceOf(c,a)};i.defineSecureProp(a,"isInstanceOf",c);i.defineSecureProp(a,"isA",c)}function y(a,c){var b=0<c.__length?!0:!1;i.defineSecureProp(a,"isAbstract",function(){return b})}function r(a,
c){i.defineSecureProp(a,"__cid",c);i.defineSecureProp(a.prototype,"__cid",c)}function s(a,c){a.___$$final$$=!!c.___$$final$$;a.___$$abstract$$=!!c.___$$abstract$$;c.___$$final$$=c.___$$abstract$$=void 0}var j=d.exports={},i=l(f+"/util"),u=l(f+"/warn"),k=u.Warning,o=Object.prototype.hasOwnProperty,A=!1===Object.prototype.propertyIsEnumerable.call({toString:function(){}},"toString")?!0:!1,w={__initProps:!0,constructor:!0},t={__construct:!0,toString:!0,__toString:!0};d.exports=j=function(a,c){if(!(this instanceof
j))return new d.exports(a,c);this._memberBuilder=a;this._visFactory=c;this._instanceId=this._classId=0;this._spropInternal=this._extending=!1};j.ClassBase=function(){};i.defineSecureProp(j.ClassBase,"__cid",0);j.ClassBase.$=function(a,c){if(void 0!==c)throw ReferenceError("Cannot set value of undeclared static property '"+a+"'");};j.getReservedMembers=function(){return i.clone(w,!0)};j.getForcedPublicMethods=function(){return i.clone(t,!0)};j.getMeta=function(a){return a.___$$meta$$||{}};j.isInstanceOf=
function(a,c){var b,e;if(!a||!c)return!1;try{if(c instanceof a)return!0}catch(d){}if(!c.__cid||!(b=j.getMeta(c)))return!1;b=b.implemented;for(e=b.length;e--;)if(b[e]===a)return!0;return!1};j.prototype.build=function(a,c){this._extending=!0;var e=Array.prototype.slice.call(arguments),d=e.pop()||{},f=e.pop()||j.ClassBase,g=this._getBase(f),e="",o=!1,p=this._memberBuilder.initMembers(),m=this._memberBuilder.initMembers(g),q={methods:this._memberBuilder.initMembers(),props:this._memberBuilder.initMembers()},
h=i.clone(j.getMeta(f).abstractMethods)||{__length:0};virtual_members=i.clone(j.getMeta(f).virtualMembers)||{};if(!0===f.___$$final$$)throw Error("Cannot extend final class "+(f.___$$meta$$.name||"(anonymous)"));(e=d.__name)&&delete d.__name;void 0!==(o=d.___$$auto$abstract$$)&&delete d.___$$auto$abstract$$;if(A&&d.toString!==Object.prototype.toString)d.__toString=d.toString;this._classId++;try{this.buildMembers(d,this._classId,f,p,{all:m,"abstract":h,"static":q,virtual:virtual_members},function(){return t.___$$svis$$})}catch(w){if(w instanceof
k)u.handle(w);else throw w;}g.___$$parent$$=f.prototype;var t=this.createCtor(e,h,m);n(t);var l=function(a,c){v(a,q,f,c)};l(t,!1);this._attachPropInit(g,p,m,t,this._classId);t.prototype=g;t.prototype.constructor=t;t.___$$props$$=p;t.___$$methods$$=m;t.___$$sinit$$=l;s(t,d);b(t,e,h,o);i.defineSecureProp(g,"__self",t.___$$svis$$);d=x(t,f);d.abstractMethods=h;d.virtualMembers=virtual_members;d.name=e;y(t,h);r(t,this._classId);this._extending=!1;return t};j.prototype._getBase=function(a){switch(typeof a){case "function":return new a;
case "object":return a}throw TypeError("Must extend from Class, constructor or object");};j.prototype.buildMembers=function(b,d,f,v,o,p){var m={_cb:this,prop_init:v,class_id:d,base:f,staticInstLookup:p,defs:{},state:{},members:o.all,abstract_methods:o["abstract"],static_members:o["static"],virtual_members:o.virtual},r={each:a,property:g,getset:c,method:e};if(b.___$$parser$$){var j=b.___$$parser$$;delete b.___$$parser$$;d=function(a,c){r[a]=function(){var b=Array.prototype.slice.call(arguments);b.push(c);
j[a].apply(m,b)}};j.each&&d("each",r.each);j.property&&d("property",r.property);j.getset&&d("getset",r.getset);j.method&&d("method",r.method)}i.propParse(b,r,m);this._memberBuilder.end(m.state)};j.prototype.createCtor=function(a,c,b){return 0===c.__length?this.createConcreteCtor(a,b):this.createAbstractCtor(a)};j.prototype.createConcreteCtor=function(a,c){function b(){if(!(this instanceof b))return e=arguments,new b;p(this);this.__initProps();if(!d._extending&&(q(this,++d._instanceId),"function"===
typeof this.___$$tctor$$&&this.___$$tctor$$.call(this),"function"===typeof this.__construct&&this.__construct.apply(this,e||arguments),e=null,m(this),!o.call(c["public"],"toString")))this.toString=c["public"].__toString||(a?function(){return"#<"+a+">"}:function(){return"#<anonymous>"})}var e=null,d=this;b.toString=a?function(){return a}:function(){return"(Class)"};return b};j.prototype.createAbstractCtor=function(a){var c=this,b=function(){if(!c._extending)throw Error("Abstract class "+(a||"(anonymous)")+
" cannot be instantiated");};b.toString=a?function(){return a}:function(){return"(AbstractClass)"};return b};j.prototype._attachPropInit=function(a,c,b,e,d){var f=this;i.defineSecureProp(a,"__initProps",function(e){var e=!!e,o=a.___$$parent$$,o=o&&o.__initProps;"function"===typeof o&&o.call(this,!0);o=f._visFactory.createPropProxy(this,this.___$$vis$$,c["public"]);o=this.___$$vis$$[d]=f._visFactory.setup(o,c,b);e||i.defineSecureProp(o,"__inst",this)})};j.getMethodInstance=function(a,c){var b=a.___$$vis$$;
return a.__iid&&b?b[c]:null}})(k.ClassBuilder={},".");(function(d){var f=d.exports={};d.exports=f=function(a){if(!(this instanceof f))return new d.exports(a);this._factory=a};f.prototype.wrapMethod=function(a,d,c,e,b,f){return this._factory(a,d,c,e,b,f)}})(k.MethodWrapperFactory={},".");(function(d){(d.exports={}).standard={wrapOverride:function(d,a,g,c){return function(){var e=c(this,g)||this,b=void 0,h=e.__super;e.__super=a;b=d.apply(e,arguments);e.__super=h;return b===e?this:b}},wrapNew:function(d,
a,g,c){return function(){var a=c(this,g)||this,b=void 0,b=d.apply(a,arguments);return b===a?this:b}},wrapProxy:function(d,a,g,c,e,b){var h=b&&b["static"],a=function(){var a=c(this,g)||this,b=void 0,a=h?a.$(d):a[d];if(!(null!==a&&"object"===typeof a&&"function"===typeof a[e]))throw TypeError("Unable to proxy "+e+"() call to '"+d+"'; '"+d+"' is undefined or '"+e+"' is not a function.");b=a[e].apply(a,arguments);return b===a?this:b};a.__length=NaN;return a}}})(k.MethodWrappers={},".");(function(d,f){function a(a){return function(){return this.___$$super$$.prototype[a].apply(this.___$$pmo$$,
arguments)}}function g(a,b,d){if(b["private"])return(b["public"]||b["protected"])&&c(d),a["private"];if(b["protected"])return(b["public"]||b["private"])&&c(d),a["protected"];(b["private"]||b["protected"])&&c(d);return a["public"]}function c(a){throw TypeError("Only one access modifier may be used for definition of '"+a+"'");}function e(a,c,b){for(var d=n.length,f=null;d--;)if(f=h.getPropertyDescriptor(a[n[d]],c,!0))return{get:f.get,set:f.set,member:f.value};return void 0!==b?(a=b.___$$methods$$,d=
b.___$$props$$,b=((b.prototype||{}).___$$parent$$||{}).constructor,a&&e(a,c,b)||d&&e(d,c,b)||null):null}var b=d.exports={},h=l(f+"/util");l(f+"/warn");var n=["public","protected","private"];d.exports=function(a,c,b,e){if(!(this instanceof d.exports))return new d.exports(a,c,b,e);this._wrapMethod=a;this._wrapOverride=c;this._wrapProxy=b;this._validate=e};b=d.exports.prototype;b.initMembers=function(a,c,b){return{"public":a||{},"protected":c||{},"private":b||{}}};b.buildMethod=function(c,b,d,f,m,h,
r,s,j){var i=(s=(b=e(c,d,s))?b.member:null)&&s.___$$keywords$$,c=g(c,m,d);this._validate.validateMethod(d,f,m,b,i,j);if(m.proxy&&(!s||!m.weak))c[d]=this._createProxy(f,h,r,d,m);else if(s){if(m.weak&&!i["abstract"])return!1;if(m.override||i["abstract"])j=m["abstract"]?a(d):s,c[d]=this._overrideMethod(j,f,h,r);else throw Error("Method hiding not yet implemented (we should never get here; bug).");}else c[d]=m["abstract"]?f:this._overrideMethod(null,f,h,r);c[d].___$$keywords$$=m;return!0};b.buildProp=
function(a,c,b,d,f,h){h=(c=e(a,b,h))?c.member:null;this._validate.validateProperty(b,d,f,c,h?h[1]:null);g(a,f,b)[b]=[d,f]};b.buildGetterSetter=function(a,c,b,d,f,h,r,s,j){c=e(a,b,j);this._validate.validateGetterSetter(b,{},h,c,c&&c.get?c.get.___$$keywords$$:null);if(d)d=this._overrideMethod(null,d,r,s),d.___$$keywords$$=h;Object.defineProperty(g(a,h,b),b,{get:d,set:f?this._overrideMethod(null,f,r,s):f,enumerable:!0,configurable:!1})};b._createProxy=function(a,c,b,d,e){return this._wrapProxy.wrapMethod(a,
null,b,c,d,e)};b._overrideMethod=function(a,c,b,d){var e=null,e=(a?this._wrapOverride:this._wrapMethod).wrapMethod(c,a,d,b||function(){});h.defineSecureProp(e,"__length",c.__length||c.length);return e};b._getVisibilityValue=function(a){return a["protected"]?1:a["private"]?2:0};b.end=function(a){this._validate&&this._validate.end(a)}})(k.MemberBuilder={},".");(function(d){var f=d.exports={};d.exports=f=function(a){if(!(this instanceof d.exports))return new d.exports(a);this._warningHandler=a||function(){}};
f.prototype._initState=function(a){if(a.__vready)return a;a.warn={};a.__vready=!0;return a};f.prototype.end=function(a){for(var d in a.warn){var c=a.warn[d],e;for(e in c)this._warningHandler(c[e])}a.__vready=!1};f.prototype.validateMethod=function(a,d,c,e,b,f){this._initState(f);var n=e?e.member:null;if(c["abstract"]&&c["private"])throw TypeError("Method '"+a+"' cannot be both private and abstract");if(c["const"])throw TypeError("Cannot declare method '"+a+"' as constant; keyword is redundant");if(c.virtual&&
c["static"])throw TypeError("Cannot declare static method '"+a+"' as virtual");if(e&&(e.get||e.set))throw TypeError("Cannot override getter/setter '"+a+"' with method");if(c.proxy){if("string"!==typeof d)throw TypeError("Cannot declare proxy method '"+a+"'; string value expected");if(c["abstract"])throw TypeError("Proxy method '"+a+"' cannot be abstract");}if(n){if(b["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if("function"!==typeof n)throw TypeError("Cannot override property '"+
a+"' with method");if(c.override&&!b.virtual){if(!c["abstract"])throw TypeError("Cannot override non-virtual method '"+a+"'");if(!b["abstract"])throw TypeError("Cannot perform abstract override on non-abstract method '"+a+"'");}if(c["abstract"]&&!c.weak&&!b["abstract"])throw TypeError("Cannot override concrete method '"+a+"' with abstract method");e=void 0===n.__length?n.length:n.__length;d=void 0===d.__length?d.length:d.__length;c.proxy&&(d=NaN);c.weak&&!b["abstract"]&&(n=e,e=d,d=n);if(d<e)throw TypeError("Declaration of method '"+
a+"' must be compatible with that of its supertype");if(this._getVisibilityValue(b)<this._getVisibilityValue(c))throw TypeError("Cannot de-escalate visibility of method '"+a+"'");if(!c.override&&!b["abstract"]&&!c.weak)throw TypeError("Attempting to override method '"+a+"' without 'override' keyword");c.weak&&b.override&&delete (f.warn[a]||{}).no}else if(c.override)(f.warn[a]=f.warn[a]||{}).no=Error("Method '"+a+"' using 'override' keyword without super method")};f.prototype.validateProperty=function(a,
d,c,e,b){if(d=e?e.member:null){if(b["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if("function"===typeof d)throw new TypeError("Cannot override method '"+a+"' with property");if(this._getVisibilityValue(b)<this._getVisibilityValue(c))throw TypeError("Cannot de-escalate visibility of property '"+a+"'");}if(e&&(e.get||e.set))throw TypeError("Cannot override getter/setter '"+a+"' with property");if(c["abstract"])throw TypeError("Property '"+a+"' cannot be declared as abstract");
if(c["static"]&&c["const"])throw TypeError("Static keyword cannot be used with const for property '"+a+"'");if(c.virtual)throw TypeError("Cannot declare property '"+a+"' as virtual");};f.prototype.validateGetterSetter=function(a,d,c,e,b){d=e?e.member:null;e=e&&(e.get||e.set)?!0:!1;if(c["abstract"])throw TypeError("Cannot declare getter/setter '"+a+"' as abstract");if(c["const"])throw TypeError("Cannot declare const getter/setter '"+a+"'");if(c.virtual&&c["static"])throw TypeError("Cannot declare static method '"+
a+"' as virtual");if(d||e){if(b&&b["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if(!e)throw TypeError("Cannot override method or property '"+a+"' with getter/setter");if(!b||!b.virtual)throw TypeError("Cannot override non-virtual getter/setter '"+a+"'");if(!c.override)throw TypeError("Attempting to override getter/setter '"+a+"' without 'override' keyword");if(this._getVisibilityValue(b||{})<this._getVisibilityValue(c))throw TypeError("Cannot de-escalate visibility of getter/setter '"+
a+"'");}else c.override&&this._warningHandler(Error("Getter/setter '"+a+"' using 'override' keyword without super getter/setter"))};f.prototype._getVisibilityValue=function(a){return a["protected"]?1:a["private"]?2:0}})(k.MemberBuilderValidator={},".");(function(d,f){var a=d.exports={},g=l(f+"/util");d.exports=a=function(){if(!(this instanceof a))return new d.exports};a.prototype.setup=function(a,d,b){var f=this._createPrivateLayer(a,d);this._doSetup(a,d["public"]);this._doSetup(a,d["protected"],
b["protected"],!0);this._doSetup(f,d["private"],b["private"]);return f};a.prototype._createPrivateLayer=function(a,d){var b=function(){};b.prototype=a;b=new b;this.createPropProxy(a,b,d["protected"]);return b};a.prototype._doSetup=function(a,d,b,f){var n=Array.prototype.hasOwnProperty;if(void 0!==b)for(var l in b)if(n.call(b,l)){var k=a[l],q=k&&k.___$$keywords$$;if(!f||void 0===k||q["private"]||q["protected"])a[l]=b[l]}for(var p in d)n.call(d,p)&&(a[p]=g.clone(d[p][0]))};a.prototype.createPropProxy=
function(a,d,b){var f=Object.prototype.hasOwnProperty,g;for(g in b)f.call(b,g)&&function(b){d[b]=void 0;Object.defineProperty(d,b,{set:function(d){a[b]=d},get:function(){return a[b]},enumerable:!0})}.call(null,g);return d}})(k.VisibilityObjectFactory={},".");(function(d,f){var a=d.exports={};d.exports=a=function(){if(!(this instanceof a))return new d.exports};a.prototype=l(f+"/VisibilityObjectFactory")();a.prototype._createPrivateLayer=function(a){return a};a.prototype.createPropProxy=function(a){return a}})(k.FallbackVisibilityObjectFactory=
{},".");(function(d,f){var a=d.exports={},g=l(f+"/util"),c=l(f+"/VisibilityObjectFactory"),e=l(f+"/FallbackVisibilityObjectFactory");a.fromEnvironment=function(){return g.definePropertyFallback()?e():c()}})(k.VisibilityObjectFactoryFactory={},".");(function(d,f){function a(a){if(1<arguments.length)throw Error("Expecting one argument for anonymous Class definition; "+arguments.length+" given.");return n(a)}function g(a,b){if(2<arguments.length)throw Error("Expecting at most two arguments for definition of named Class '"+
a+"'; "+arguments.length+" given.");if(void 0===b)return c(a);if("object"!==typeof b)throw TypeError("Unexpected value for definition of named Class '"+a+"'; object expected");b.__name=a;return n(b)}function c(a){return{extend:function(){var b=Array.prototype.slice.apply(arguments);b[b.length-1].__name=a;return n.apply(null,b)},implement:function(){return e(null,Array.prototype.slice.call(arguments),a)},use:function(){return b(u,Array.prototype.slice.call(arguments))}}}function e(a,c,d){var e={extend:function(){var b=
Array.prototype.slice.call(arguments),e=b.pop(),f=b.pop();if(0<b.length)throw Error("Expecting no more than two arguments for extend()");if(a&&f)throw Error("Cannot override parent "+a.toString()+" with "+f.toString()+" via extend()");if(d)e.__name=d;c.push(a||f||n({}));return n.call(null,B.apply(this,c),e)},use:function(){var a=Array.prototype.slice.call(arguments);return b(function(){return e.__createBase()},a)},__createBase:function(){return e.extend({})}};return e}function b(a,c,d){var e=function(){if(!d)throw TypeError("Cannot instantiate incomplete class definition; did you forget to call `extend'?");
return h(a(),c).apply(null,arguments)};e.extend=function(){var b=Array.prototype.slice.call(arguments),d=b.pop(),b=b.pop(),e=a();return n.call(null,h(e||b,c),d)};e.use=function(){return b(function(){return e.__createBase()},Array.prototype.slice.call(arguments),d)};e.__createBase=function(){return e.extend({})};return e}function h(a,b){for(var d={___$$auto$abstract$$:!0},c=[],e=0,f=b.length;e<f;e++)b[e].__mixin(d,c,a||m.ClassBase);d=n.call(null,a,d);c=m.getMeta(d).implemented;e=0;for(f=b.length;e<
f;e++)c.push(b[e]),b[e].__mixinImpl(c);return d}function n(a,b){var d=i.build.apply(i,arguments),c=d;k(c);x(c);q(c);p.freeze(d);return d}function k(a){p.defineSecureProp(a,"extend",function(a){return n(this,a)})}function x(a){p.defineSecureProp(a,"implement",function(){return e(a,Array.prototype.slice.call(arguments))})}function q(a){p.defineSecureProp(a,"use",function(){return b(function(){return a},Array.prototype.slice.call(arguments),!0)})}d.exports={};var p=l(f+"/util"),m=l(f+"/ClassBuilder"),
y=l(f+"/warn"),r=y.Warning,s=l(f+"/MethodWrapperFactory"),j=l(f+"/MethodWrappers").standard,i=m(l(f+"/MemberBuilder")(s(j.wrapNew),s(j.wrapOverride),s(j.wrapProxy),l(f+"/MemberBuilderValidator")(function(a){y.handle(r(a))})),l(f+"/VisibilityObjectFactoryFactory").fromEnvironment()),u=function(){return null};d.exports=function(b,d){var c=null;switch(typeof b){case "object":c=a.apply(null,arguments);break;case "string":c=g.apply(null,arguments);break;default:throw TypeError("Expecting anonymous class definition or named class definition");
}return c};d.exports.extend=function(a,b){return n.apply(this,arguments)};d.exports.implement=function(a){return e(null,Array.prototype.slice.call(arguments))};d.exports.use=function(a){return b(u,Array.prototype.slice.call(arguments))};d.exports.isClass=function(a){a=a||{};return a.prototype instanceof m.ClassBase?!0:!1};d.exports.isClassInstance=function(a){a=a||{};return a instanceof m.ClassBase?!0:!1};d.exports.isInstanceOf=m.isInstanceOf;d.exports.isA=d.exports.isInstanceOf;var B=function(a,
b){for(var c=Array.prototype.slice.call(arguments),e={},f=c.pop(),r=c.length,i=null,j=[],s=!1,g=0;g<r;g++)i=c[g],p.propParse(i.prototype,{method:function(a,b){e["abstract "+a]=b.definition;s=!0}}),j.push(i);if(s)e.___$$abstract$$=!0;c=d.exports.extend(f,e);m.getMeta(c).implemented=j;return c}})(k["class"]={},".");(function(d,f){function a(a){a=a[a.length-1];if("object"===typeof a)a.___$$abstract$$=!0}function g(b){var c=b.extend,d=b.implement,e=b.use;d&&(b.implement=function(){return g(d.apply(this,
arguments))});e&&(b.use=function(){return g(e.apply(this,arguments))});b.extend=function(){a(arguments);return c.apply(this,arguments)};b.__createBase=function(){return c({___$$auto$abstract$$:!0})};return b}var c=d.exports={},e=l(f+"/class");d.exports=c=function(){a(arguments);var b=e.apply(this,arguments);e.isClass(b)||g(b);return b};c.extend=function(){a(arguments);return e.extend.apply(this,arguments)};c.use=function(){return g(e.use.apply(this,arguments))};c.implement=function(){return g(e.implement.apply(this,
arguments))}})(k.class_abstract={},".");(function(d,f){function a(){switch(arguments.length){case 1:return a.extend.apply(this,arguments);case 2:return g.apply(this,arguments);default:throw Error("Missing trait name or definition");}}function g(b,c){if(2<arguments.length)throw Error("Expecting at most two arguments for definition of named Trait "+b+"'; "+arguments.length+" given");if("string"!==typeof b)throw Error("First argument of named class definition must be a string");c.__name=b;return a.extend(c)}
function c(a,b,c,d){if("__construct"===a)throw Error("Traits may not define __construct");if(c["static"])throw Error("Cannot define member `"+a+"'; static trait members are currently unsupported");d.apply(this,arguments)}function e(a,b,c,d){if("___"!==a.substr(0,3)){if(!c["private"])throw Error("Cannot define property `"+a+"'; only private properties are permitted within Trait definitions");d.apply(this,arguments)}}function b(a){throw Error("Cannot define property `"+a+"'; getters/setters are currently unsupported");
}function h(a){var b={"protected ___$$pmo$$":null,"protected ___$$super$$":null,__construct:function(a,b){this.___$$super$$=a;this.___$$pmo$$=b},__name:"#ConcreteTrait#"},c=y.getMeta(a).abstractMethods,d;for(d in c)Object.hasOwnProperty.call(c,d)&&"__"!==d.substr(0,2)&&(b[(void 0!==a.___$$methods$$["public"][d]?"public":"protected")+" proxy "+d]="___$$pmo$$");k(a,b);return a.extend(b)}function k(a,b){var c=y.getMeta(a).virtualMembers,d;for(d in c){var e=void 0!==a.___$$methods$$["public"][d]?"public":
"protected";b[e+" virtual override "+d]=function(){return function(){var a=this.___$$pmo$$,b=a[d];return b?b.apply(a,arguments):this.__super.apply(this,arguments)}}(d);b[e+" virtual __$$"+d]=function(a){return function(){return this.___$$parent$$[a].apply(this,arguments)}}(d)}}function v(a,b,c){a=a.___$$methods$$;x(a["public"],b,"public",c);x(a["protected"],b,"protected",c);(a=a["public"].___$$parent$$)&&a.constructor!==y.ClassBase&&v(a.constructor,b,c)}function x(a,b,c,d){for(var e in a)if(Object.hasOwnProperty.call(a,
e)&&a[e].___$$keywords$$){var f=a[e].___$$keywords$$,c=f["protected"]?"protected":"public";if(f["abstract"]&&!f.override)b[c+" weak abstract "+e]=a[e].definition;else{var g=f.virtual,c=(g?"":"proxy ")+(g?"virtual ":"")+(f.override?"override ":"")+c+" "+e;if(void 0!==b[c])throw Error("Trait member conflict: `"+e+"'");b[c]=f.virtual?function(a){return function(){var b=this[d],c=b["__$$"+a].apply(b,arguments);return c===b?this:c}}(e):d}}}function q(a,b,c,d){var e="___$to$"+a.__acls.__cid+"$"+d.__cid;
c.push([e,a]);b["private "+e]=null;void 0===b.___$$tctor$$&&(b["weak virtual ___$$tctor$$"]=function(){},b["virtual override ___$$tctor$$"]=p(c,d));return e}function p(a,b){return function(){for(var c in a){var d=a[c][0],e=a[c][1],e=e.__ccls||(e.__ccls=h(e.__acls));this[d]=e(b,this.___$$vis$$).___$$vis$$}this.__super&&this.__super()}}d.exports={};var m=l(f+"/class_abstract"),y=l(f+"/ClassBuilder");a.extend=function(a){function d(){throw Error("Cannot instantiate trait");}var f=this.__$$meta||{},g=
a.__name||"(Trait)";a.___$$parser$$={each:c,property:e,getset:b};a.___$$auto$abstract$$=!0;a.__name="#AbstractTrait#";var h=m;f.ifaces&&(h=h.implement.apply(null,f.ifaces));var p=h.extend(a);d.__trait=!0;d.__acls=p;d.__ccls=null;d.toString=function(){return""+g};d.__mixin=function(a,b,c){var e=d.__acls,b=q(d,a,b,c);v(e,a,b)};d.__mixinImpl=function(a){for(var b=y.getMeta(p).implemented||[],c=b.length;c--;)a.push(b[c])};return d};a.implement=function(){var b=arguments;return{extend:function(){return a.extend.apply({__$$meta:{ifaces:b}},
arguments)}}};a.isTrait=function(a){return!!(a||{}).__trait};d.exports=a})(k.Trait={},".");(function(d,f){function a(a){a=a[a.length-1];if("object"===typeof a)a.___$$final$$=!0}function g(b){var c=b.extend;b.extend=function(){a(arguments);return c.apply(this,arguments)}}var c=d.exports={},e=l(f+"/class"),c=d.exports=function(){a(arguments);var b=e.apply(this,arguments);e.isClass(b)||g(b);return b};c.extend=function(){a(arguments);return e.extend.apply(this,arguments)}})(k.class_final={},".");(function(d,
f){var a=d.exports={},g=l(f+"/MemberBuilder");d.exports=a=function(a,e){if(!(this instanceof d.exports))return new d.exports(a,e);d.exports.prototype.constructor.call(this,a,e)};d.exports.prototype=new g;d.exports.constructor=d.exports;a.prototype.buildGetterSetter=function(){throw Error("Getters/setters are unsupported in this environment");}})(k.FallbackMemberBuilder={},".");(function(d,f){function a(){}function g(a){if(1<arguments.length)throw Error("Expecting one argument for Interface definition; "+
arguments.length+" given.");return q(a)}function c(a,b){if(2<arguments.length)throw Error("Expecting two arguments for definition of named Interface '"+a+"'; "+arguments.length+" given.");if("object"!==typeof b)throw TypeError("Unexpected value for definition of named Interface '"+a+"'; object expected");b.__name=a;return q(b)}function e(a){h.defineSecureProp(a,"extend",function(a){return q(this,a)})}function b(a,b){a.toString=b?function(){return"[object Interface <"+b+">]"}:function(){return"[object Interface]"}}
d.exports={};var h=l(f+"/util"),k=l(f+"/MethodWrapperFactory"),v=l(f+"/MethodWrappers").standard,x=l(f+"/MemberBuilder")(k(v.wrapNew),k(v.wrapOverride),k(v.wrapProxy),l(f+"/MemberBuilderValidator")());l(f+"/class");d.exports=function(a,b){var d=null;switch(typeof a){case "object":d=g.apply(null,arguments);break;case "string":d=c.apply(null,arguments);break;default:throw TypeError("Expecting anonymous interface definition or named interface definition");}return d};d.exports.extend=function(){return q.apply(this,
arguments)};d.exports.isInterface=function(b){b=b||{};return b.prototype instanceof a?!0:!1};var q=function(c){function d(a){return function(){if(!c)throw Error("Interface "+(a?a+" ":"")+" cannot be instantiated");}}return function(){c=!0;var f=Array.prototype.slice.call(arguments),g=f.pop()||{},f=new (f.pop()||a),k="",j={},i=x.initMembers(f,f,f);(k=g.__name)&&delete g.__name;if(!(f instanceof a))throw new TypeError("Interfaces may only extend other interfaces");var l=d(k);try{h.propParse(g,{assumeAbstract:!0,
property:function(){throw TypeError("Unexpected internal error");},getset:function(){throw TypeError("Unexpected internal error");},method:function(a,b,c,d){if(d["protected"]||d["private"])throw TypeError(k+" member "+a+" must be public");x.buildMethod(i,null,a,b,d,null,0,{},j)}})}catch(n){throw n.message="Failed to define interface "+(k?k:"(anonymous)")+": "+n.message,n;}e(l);b(l,k);l.prototype=f;l.constructor=l;h.freeze(l);c=!1;return l}}(!1)})(k["interface"]={},".");(function(d){d.exports={};var f=
[0,2,0,""];f.major=0;f.minor=2;f.rev=0;f.suffix="";f.toString=function(){return this.join(".").replace(/\.([^.]*)$/,"-$1").replace(/-$/,"")};d.exports=f})(k.version={},".");z.Class=k["class"].exports;z.AbstractClass=k.class_abstract.exports;z.FinalClass=k.class_final.exports;z.Interface=k["interface"].exports;z.version=k.version.exports})(easejs);