/**
* Combined, minified redistributable GNU ease.js file.
* <http://www.gnu.org/software/easejs/>
* Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
* @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
*/
'use strict';var easejs={};
(function(I,p){var h={},e=function(b){b=("/"===b.substr(0,1)?b:p+"/"+b).replace(/([^\/]+\/\.\.\/|\.\/|^\/)/g,"");var e=h[b];if(void 0===e)throw"[ease.js] Undefined module: "+b;return e.exports};(function(b,e){function c(){if(!(this instanceof c))return new c;this.___$$id$$=f+g(1E8*a())}b.exports={};p="util/symbol";var a=Math.random,g=Math.floor,f=" "+String.fromCharCode(g(10*a())%31+1)+"$";c.prototype={toString:function(){return this.___$$id$$}};b.exports=c})(h["util/symbol/FallbackSymbol"]={},".");
(function(b,e){function c(){if(!(this instanceof c))return new c;this._alt={}}b.exports={};p="util";(0,eval)("var _the_global=this");c.expose=function(){return _the_global};c.prototype={provideAlt:function(a,c){if(void 0===_the_global[a]&&void 0===this._alt[a])return this._alt[a]=c(),this},get:function(a){return void 0!==this._alt[a]?this._alt[a]:_the_global[a]}};b.exports=c})(h["util/Global"]={},".");(function(b,h){b.exports={};p="util";var c=e("./symbol/FallbackSymbol"),a=e("./Global").expose();
b.exports=a.Symbol||c})(h["util/Symbol"]={},".");(function(b,e){var c=b.exports={};p=".";var a={"public":1,"protected":2,"private":4,"static":8,"abstract":16,"const":32,virtual:64,override:128,proxy:256,weak:512},g={amods:a["public"]|a["protected"]|a["private"],virtual:a["abstract"]|a.virtual};c.kvals=a;c.kmasks=g;c.parseKeywords=function(c){var b=c,n=[],r=0,l={};if(1!==(n=(""+c).split(/\s+/)).length)for(b=n.pop(),c=n.length;c--;){var D=n[c],w=a[D];if(!w)throw Error("Unexpected keyword for '"+b+"': "+
D);l[D]=!0;r|=w}!b.match(/^_[^_]/)||r&g.amods||(l["private"]=!0,r|=a["private"]);return{name:b,keywords:l,bitwords:r}}})(h.prop_parser={},".");(function(b,h){function c(a){throw a;}function a(a,c,b){for(var f=b.length;f--;)null===b[f].match(/^[a-z_][a-z0-9_]*$/i)&&a(SyntaxError("Member "+c+" contains invalid parameter '"+b[f]+"'"))}function g(){var a=function(a,c,b){a[c]=b};return n?function(a,c,b){Object.defineProperty(a,c,{value:b,enumerable:!1,writable:!1,configurable:!1})}:a}var f=b.exports={};
p=".";var d=e("./prop_parser").parseKeywords,n;a:{if("function"===typeof Object.defineProperty)try{Object.defineProperty({},"x",{});n=!0;break a}catch(r){}n=!1}f.Global=e("./util/Global");f.freeze="function"===typeof Object.freeze?Object.freeze:function(a){};f.definePropertyFallback=function(a){if(void 0===a)return!n;n=!a;f.defineSecureProp=g();return f};f.defineSecureProp=g();f.clone=function l(a,c){c=!!c;if(a instanceof Array){if(!c)return a.slice(0);for(var b=[],f=0,d=a.length;f<d;f++)b.push(l(a[f],
c));return b}if("function"!==typeof a&&a instanceof Object){b={};f=Object.prototype.hasOwnProperty;for(d in a)f.call(a,d)&&(b[d]=c?l(a[d]):a[d]);return b}return a};f.copyTo=function(a,c,b){b=!!b;var d;if(!(a instanceof Object&&c instanceof Object))throw TypeError("Must provide both source and destination objects");if(n)for(var g in c)d=Object.getOwnPropertyDescriptor(c,g),d.get||d.set?Object.defineProperty(a,g,d):a[g]=b?f.clone(c[g],!0):c[g];else for(g in c)a[g]=b?f.clone(c[g],!0):c[g];return a};
f.propParse=function(b,g,w){var u=function(){},z=g.each||void 0,r=g.property||u,e=g.method||u,u=g.getset||u,h=g.keywordParser||d,m=g._throw||c,q=Object.prototype.hasOwnProperty,v={},A="",v={},k=null,t=!1,H=!1,B;for(B in b)if(q.call(b,B)){n&&(A=Object.getOwnPropertyDescriptor(b,B),t=A.get,H=A.set);k="function"===typeof t?void 0:b[B];v=h(B)||{};A=v.name||B;v=v.keywords||{};if(g.assumeAbstract||v["abstract"]&&!v.override)v["abstract"]=!0,k instanceof Array||m(TypeError("Missing parameter list for abstract method: "+
A)),a(m,A,k),k=f.createAbstractMethod.apply(this,k);z&&z.call(w,A,k,v);t||H?u.call(w,A,t,H,v):"function"===typeof k||v.proxy?e.call(w,A,k,f.isAbstractMethod(k),v):r.call(w,A,k,v)}};f.createAbstractMethod=function(a){for(var c=[],b=arguments.length;b--;)c[b]=arguments[b];b=function(){throw Error("Cannot call abstract method");};f.defineSecureProp(b,"abstractFlag",!0);f.defineSecureProp(b,"definition",c);f.defineSecureProp(b,"__length",arguments.length);return b};f.isAbstractMethod=function(a){return"function"===
typeof a&&!0===a.abstractFlag?!0:!1};f.arrayShrink=function(a){for(var c=[],b=0,f=a.length;b<f;b++){var d=a[b];void 0!==d&&c.push(d)}return c};f.getOwnPropertyDescriptor=n&&Object.getOwnPropertyDescriptor||function(a,b){return Object.prototype.hasOwnProperty.call(a,b)?{get:void 0,set:void 0,writable:!0,enumerable:!0,configurable:!0,value:a[b]}:void 0};f.getPrototypeOf=Object.getPrototypeOf||function(){};f.getPropertyDescriptor=function(a,b,c){c=!!c;var d=f.getOwnPropertyDescriptor(a,b);a=f.getPrototypeOf(a);
return d||!a||c&&!f.getPrototypeOf(a)?d:f.getPropertyDescriptor(a,b,c)};f.defineSecureProp(f.getPropertyDescriptor,"canTraverse",Object.getPrototypeOf?!0:!1)})(h.util={},".");(function(b,e){function c(a){if(!(this instanceof c))return new c(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")}
b.exports={};p="warn";c.prototype=Error();c.prototype.constructor=c;c.prototype.name="Warning";c.prototype.getError=function(){return this._error};b.exports=c})(h["warn/Warning"]={},".");(function(b,e){function c(){if(!(this instanceof c))return new c}b.exports={};p="warn";c.prototype={handle:function(a){}};b.exports=c})(h["warn/DismissiveHandler"]={},".");(function(b,e){function c(a){if(!(this instanceof c))return new c(a);this._console=a||{}}b.exports={};p="warn";c.prototype={handle:function(a){var b=
this._console.warn||this._console.log;b&&b.call(this._console,"Warning: "+a.message)}};b.exports=c})(h["warn/LogHandler"]={},".");(function(b,e){function c(){if(!(this instanceof c))return new c}b.exports={};p="warn";c.prototype={handle:function(a){throw a.getError();}};b.exports=c})(h["warn/ThrowHandler"]={},".");(function(b,h){b.exports={};p=".";b.exports={Warning:e("./warn/Warning"),DismissiveHandler:e("./warn/DismissiveHandler"),LogHandler:e("./warn/LogHandler"),ThrowHandler:e("./warn/ThrowHandler")}})(h.warn=
{},".");(function(b,h){function c(a,b){try{if(b instanceof a)return!0}catch(c){}return!1}function a(a){a=k(a);var b;b=a.name;b=t.call(F,b)?F[b]:void 0;void 0!==b&&(a.name=b);return a}function g(a,b,c){b=this.defs;if(!0===B[a])throw Error(a+" is reserved");if(t.call(b,a)&&!c.weak&&!b[a].weak)throw Error("Cannot redefine method '"+a+"' in same declaration");b[a]=c}function f(a,b,c){var f=l(c)?this.static_members.props:this.prop_init;this._cb._memberBuilder.buildProp(f,null,a,b,c,this.base)}function d(a,
b,c,f){var d=l(f)?this.static_members.methods:this.members,k=l(f)?this.staticInstLookup:m.getMethodInstance;this._cb._memberBuilder.buildGetterSetter(d,null,a,b,c,f,k,this.class_id,this.base)}function n(a,b,c,f){var d=l(f),k=d?this.static_members.methods:this.members,d=d?this.staticInstLookup:m.getMethodInstance;if(!0===y[a]&&(f["protected"]||f["private"]))throw TypeError(a+" must be public");this._cb._memberBuilder.buildMethod(k,null,a,b,f,d,this.class_id,this.base,this.state)&&(c?(this.abstract_methods[a]=
!0,this.abstract_methods.__length++):t.call(this.abstract_methods,a)&&!1===c&&(delete this.abstract_methods[a],this.abstract_methods.__length--),f.virtual?this.virtual_members[a]=!0:delete this.virtual_members[a])}function r(a,b,c,f){if(a.___$$abstract$$){if(!f&&0===c.__length)throw TypeError("Class "+(b||"(anonymous)")+" was declared as abstract, but contains no abstract members");}else if(0<c.__length)if(f)a.___$$abstract$$=!0;else throw TypeError("Class "+(b||"(anonymous)")+" contains abstract members and must therefore be declared abstract");
}function l(a){return a["static"]||a["const"]?!0:!1}function D(a,b,c){return(b=b[x]?m.getMeta(b):void 0)?a[x].meta=q.clone(b._lazy?c:b,!0):a[x].meta={implemented:[]}}function w(a,b){q.defineSecureProp(a,"__iid",b)}function u(a){var b=function(){};b.prototype=a;q.defineSecureProp(a,x,{});a[x].vis=new b}function z(a){var c=function(c){return b.exports.isInstanceOf(c,a)};q.defineSecureProp(a,"isInstanceOf",c);q.defineSecureProp(a,"isA",c)}function E(a,b){var c=0<b.__length?!0:!1;q.defineSecureProp(a,
"isAbstract",function(){return c})}function C(a,b){q.defineSecureProp(a,"__cid",b);q.defineSecureProp(a.prototype,"__cid",b)}function G(a,b){a.___$$final$$=!!b.___$$final$$;a.___$$abstract$$=!!b.___$$abstract$$;b.___$$final$$=b.___$$abstract$$=void 0}var m=b.exports={};p=".";var q=e("./util"),v=e("./warn").Warning,A=e("./util/Symbol"),k=e("./prop_parser").parseKeywords,t=Object.prototype.hasOwnProperty,H=!1===Object.prototype.propertyIsEnumerable.call({toString:function(){}},"toString")?!0:!1,B={__initProps:!0},
F={constructor:"__construct"},y={__construct:!0,__mixin:!0,toString:!0,__toString:!0},x=A();b.exports=m=function(a,c,f){if(!(this instanceof m))return new b.exports(a,c,f);this._warnHandler=a;this._memberBuilder=c;this._visFactory=f;this._instanceId=this._classId=0;this._spropInternal=!1};m.ClassBase=function(){};q.defineSecureProp(m.ClassBase,"__cid",0);m.ClassBase.$=function(a,b){if(void 0!==b)throw ReferenceError("Cannot set value of undeclared static property '"+a+"'");};m.getReservedMembers=
function(){return q.clone(B,!0)};m.getForcedPublicMethods=function(){return q.clone(y,!0)};m.getMeta=function(a){return(a[x]||{}).meta||null};m.masquerade=function(a){q.defineSecureProp(a,x,{});D(a,m.ClassBase);return a};m.isInstanceOf=function(a,b){return a&&b?!!(a.__isInstanceOf||c)(a,b):!1};m.prototype.build=function(a,b){var c=arguments,f=c.length,d=(0<f?c[f-1]:0)||{},k=(1<f?c[f-2]:0)||m.ClassBase,g=this._getBase(k),c="",l=!1,y=this._memberBuilder.initMembers(),F=this._memberBuilder.initMembers(g),
t={methods:this._memberBuilder.initMembers(),props:this._memberBuilder.initMembers()},n=m.getMeta(g.constructor)||{},f=q.clone(n.abstractMethods)||{__length:0},w=q.clone(n.virtualMembers)||{};if(!0===k.___$$final$$)throw Error("Cannot extend final class "+(k[x].meta.name||"(anonymous)"));(c=d.__name)&&delete d.__name;void 0!==(l=d.___$$auto$abstract$$)&&delete d.___$$auto$abstract$$;H&&d.toString!==Object.prototype.toString&&(d.__toString=d.toString);this._classId++;void 0===(g[x]||{}).vis&&this._discoverProtoProps(g,
y);try{this.buildMembers(d,this._classId,k,y,{all:F,"abstract":f,"static":t,virtual:w},function(a){return e.___$$svis$$})}catch(B){if(B instanceof v)this._warnHandler.handle(B);else throw B;}g.___$$parent$$=k.prototype;var e=this.createCtor(c,f,F);this.initStaticVisibilityObj(e);var u=this,z=function(a,b){u.attachStatic(a,t,k,b)};z(e,!1);this._attachPropInit(g,y,F,e,this._classId);e.prototype=g;e.prototype.constructor=e;e.___$$props$$=y;e.___$$methods$$=F;e.___$$sinit$$=z;G(e,d);r(e,c,f,l);q.defineSecureProp(g,
"__self",e.___$$svis$$);d=D(e,k,n);d.abstractMethods=f;d.virtualMembers=w;d.name=c;E(e,f);C(e,this._classId);e.asPrototype=function(){e[x].extending=!0;var a=new e;e[x].extending=!1;return a};return e};m.prototype._getBase=function(a){switch(typeof a){case "function":return a[x]?a.asPrototype():new a;case "object":return a}throw TypeError("Must extend from Class, constructor or object");};m.prototype._discoverProtoProps=function(a,b){var c=Object.hasOwnProperty,f;for(f in a){var d=a[f];c.call(a,f)&&
"function"!==typeof d&&this._memberBuilder.buildProp(b,null,f,d,{})}};m.prototype.buildMembers=function(b,c,k,l,y,x){var F={_cb:this,prop_init:l,class_id:c,base:k,staticInstLookup:x,defs:{},state:{},members:y.all,abstract_methods:y["abstract"],static_members:y["static"],virtual_members:y.virtual},e={each:g,property:f,getset:d,method:n};if(b.___$$parser$$){var t=b.___$$parser$$;delete b.___$$parser$$;c=function(a,b){e[a]=function(){for(var c=[],f=arguments.length;f--;)c[f]=arguments[f];c.push(b);t[a].apply(F,
c)}};t.each&&c("each",e.each);t.property&&c("property",e.property);t.getset&&c("getset",e.getset);t.method&&c("method",e.method)}e.keywordParser=a;q.propParse(b,e,F);this._memberBuilder.end(F.state)};m.prototype.createCtor=function(a,b,c){a=0===b.__length?this.createConcreteCtor(a,c):this.createAbstractCtor(a);q.defineSecureProp(a,x,{});return a};m.prototype.createConcreteCtor=function(a,b){function c(){if(!(this instanceof c))return f=arguments,new c;u(this);this.__initProps();if(!c[x].extending){w(this,
++d._instanceId);var k="function"===typeof this.___$$ctor$pre$$;k&&c.prototype.hasOwnProperty("___$$ctor$pre$$")&&(this.___$$ctor$pre$$(x),k=!1);"function"===typeof this.__construct&&this.__construct.apply(this,f||arguments);k&&this.___$$ctor$pre$$(x);"function"===typeof this.___$$ctor$post$$&&this.___$$ctor$post$$(x);f=null;z(this);t.call(b["public"],"toString")||(this.toString=b["public"].__toString||(a?function(){return"#<"+a+">"}:function(){return"#<anonymous>"}))}}var f=null,d=this;c.toString=
a?function(){return a}:function(){return"(Class)"};return c};m.prototype.createAbstractCtor=function(a){var b=function(){if(!b[x].extending)throw Error("Abstract class "+(a||"(anonymous)")+" cannot be instantiated");};b.toString=a?function(){return a}:function(){return"(AbstractClass)"};return b};m.prototype._attachPropInit=function(a,b,c,f,d){var k=this;q.defineSecureProp(a,"__initProps",function(f){f=!!f;var g=a.___$$parent$$,y=this[x].vis,g=g&&g.__initProps;"function"===typeof g&&g.call(this,!0);
g=k._visFactory.createPropProxy(this,y,b["public"]);y=y[d]=k._visFactory.setup(g,b,c);f||q.defineSecureProp(y,"__inst",this)})};m.prototype.initStaticVisibilityObj=function(a){var b=this,c=function(){};c.prototype=a;c=new c;a.___$$svis$$=c;c.$=function(){b._spropInternal=!0;var c=a.$.apply(a,arguments);b._spropInternal=!1;return c}};m.prototype.attachStatic=function(a,b,c,f){var d=b.methods,k=b.props,g=this;(b=c.___$$sinit$$)&&b(a,!0);f||(a.___$$sprops$$=k,q.defineSecureProp(a,"$",function(b,f){var d=
!1,y=this.___$$sprops$$?this:a,l=y!==a,d=t.call(k["public"],b)&&"public";!d&&g._spropInternal&&(d=t.call(k["protected"],b)&&"protected"||!l&&t.call(k["private"],b)&&"private");if(!1===d)return(c.__cid&&c.$||m.ClassBase.$).apply(y,arguments);d=k[d][b];if(1<arguments.length){if(d[1]["const"])throw TypeError("Cannot modify constant property '"+b+"'");d[0]=f;return y}return d[0]}));q.copyTo(a,d["public"],!0);q.copyTo(a.___$$svis$$,d["protected"],!0);f||q.copyTo(a.___$$svis$$,d["private"],!0)};m.getMethodInstance=
function(a,b){if(void 0===a)return null;var c=a[x],f;return a.__iid&&c&&(f=c.vis)?f[b]:null}})(h.ClassBuilder={},".");(function(b,e){var c=b.exports={};p=".";b.exports=c=function(a){if(!(this instanceof c))return new b.exports(a);this._factory=a};c.prototype.wrapMethod=function(a,b,c,d,e,r){return this._factory(a,b,c,d,e,r)}})(h.MethodWrapperFactory={},".");(function(b,e){var c=b.exports={};p=".";c.standard={wrapOverride:function(a,b,c,d){var e=function(){var e=d(this,c)||this||{},l=void 0,D=e.__super;
e.__super=b;l=a.apply(e,arguments);e.__super=D;return l===e?this:l};e["super"]=b;return e},wrapNew:function(a,b,c,d){return function(){var b=d(this,c)||this,g=void 0,g=a.apply(b,arguments);return g===b?this:g}},wrapProxy:function(a,b,c,d,e,h){var l=h&&h["static"];b=function(){var b=d(this,c)||this,g=void 0,b=l?b.$(a):b[a];if(null===b||"object"!==typeof b||"function"!==typeof b[e])throw TypeError("Unable to proxy "+e+"() call to '"+a+"'; '"+a+"' is undefined or '"+e+"' is not a function.");g=b[e].apply(b,
arguments);return g===b?this:g};b.__length=NaN;return b}}})(h.MethodWrappers={},".");(function(b,h){function c(a){return function(){return this.___$$super$$.prototype[a].apply(this.___$$pmo$$,arguments)}}function a(a,b,c){if(b["private"])return(b["public"]||b["protected"])&&g(c),a["private"];if(b["protected"])return(b["public"]||b["private"])&&g(c),a["protected"];(b["private"]||b["protected"])&&g(c);return a["public"]}function g(a){throw TypeError("Only one access modifier may be used for definition of '"+
a+"'");}function f(a,b,c){for(var d=r.length,g=null;d--;)if(g=n.getPropertyDescriptor(a[r[d]],b,!0))return{get:g.get,set:g.set,member:g.value};return void 0!==c?(a=c.___$$methods$$,d=c.___$$props$$,c=((c.prototype||{}).___$$parent$$||{}).constructor,a&&f(a,b,c)||d&&f(d,b,c)||null):null}var d=b.exports={};p=".";var n=e("./util"),r=["public","protected","private"];b.exports=function(a,c,f,d){if(!(this instanceof b.exports))return new b.exports(a,c,f,d);this._wrapMethod=a;this._wrapOverride=c;this._wrapProxy=
f;this._validate=d};d=b.exports.prototype;d.initMembers=function(a,b,c){return{"public":a||{},"protected":b||{},"private":c||{}}};d.buildMethod=function(b,d,g,e,n,h,r,p,m){var q=this._methodKeywordDefaults,q=(d=(p=f(b,g,p))?p.member:null)&&(d.___$$keywords$$||q);b=a(b,n,g);this._validate.validateMethod(g,e,n,p,q,m);if(!n.proxy||d&&n.weak)if(d){if(n.weak&&!q["abstract"])return!1;if(n.override||q["abstract"])m=n["abstract"]?c(g):d,b[g]=this._overrideMethod(m,e,h,r);else throw Error("Method hiding not yet implemented (we should never get here; bug).");
}else b[g]=n["abstract"]||n["private"]?e:this._overrideMethod(null,e,h,r);else b[g]=this._createProxy(e,h,r,g,n);b[g].___$$keywords$$=n;return!0};d._methodKeywordDefaults={virtual:!0};d.buildProp=function(b,c,d,g,e,n){n=(c=f(b,d,n))?c.member:null;this._validate.validateProperty(d,g,e,c,n?n[1]:null);a(b,e,d)[d]=[g,e]};d.buildGetterSetter=function(b,c,d,g,e,n,h,r,m){c=f(b,d,m);this._validate.validateGetterSetter(d,{},n,c,c&&c.get?c.get.___$$keywords$$:null);g&&(g=this._overrideMethod(null,g,h,r),g.___$$keywords$$=
n);Object.defineProperty(a(b,n,d),d,{get:g,set:e?this._overrideMethod(null,e,h,r):e,enumerable:!0,configurable:!1})};d._createProxy=function(a,b,c,f,d){return this._wrapProxy.wrapMethod(a,null,c,b,f,d)};d._overrideMethod=function(a,b,c,f){var d=null,d=(a?this._wrapOverride:this._wrapMethod).wrapMethod(b,a,f,c||function(){});n.defineSecureProp(d,"__length",b.__length||b.length);return d};d._getVisibilityValue=function(a){return a["protected"]?1:a["private"]?2:0};d.end=function(a){this._validate&&this._validate.end(a)}})(h.MemberBuilder=
{},".");(function(b,e){var c=b.exports={};p=".";b.exports=c=function(a){if(!(this instanceof b.exports))return new b.exports(a);this._warningHandler=a||function(){}};c.prototype._initState=function(a){if(a.__vready)return a;a.warn={};a.__vready=!0;return a};c.prototype.end=function(a){for(var b in a.warn){var c=a.warn[b],d;for(d in c)this._warningHandler(c[d])}a.__vready=!1};c.prototype.validateMethod=function(a,b,c,d,e,h){this._initState(h);var l=d?d.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(d&&(d.get||d.set))throw TypeError("Cannot override getter/setter '"+a+"' with method");if(c.proxy){if("string"!==typeof b)throw TypeError("Cannot declare proxy method '"+a+"'; string value expected");if(c["abstract"])throw TypeError("Proxy method '"+a+"' cannot be abstract");
}if(l){if(e["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if("function"!==typeof l)throw TypeError("Cannot override property '"+a+"' with method");if(c.override&&!e.virtual){if(!c["abstract"])throw TypeError("Cannot override non-virtual method '"+a+"'");if(!e["abstract"])throw TypeError("Cannot perform abstract override on non-abstract method '"+a+"'");}if(c["abstract"]&&!c.override&&!c.weak&&!e["abstract"])throw TypeError("Cannot override concrete method '"+a+
"' with abstract method");d=void 0===l.__length?l.length:l.__length;b=void 0===b.__length?b.length:b.__length;c.proxy&&(b=NaN);c.weak&&!e["abstract"]&&(l=d,d=b,b=l);if(b<d)throw TypeError("Declaration of method '"+a+"' must be compatible with that of its supertype");if(this._getVisibilityValue(e)<this._getVisibilityValue(c))throw TypeError("Cannot de-escalate visibility of method '"+a+"'");if(!(c.override||e["abstract"]||c.weak))throw TypeError("Attempting to override method '"+a+"' without 'override' keyword");
c.weak&&e.override&&delete (h.warn[a]||{}).no}else c.override&&(c=Error("Method '"+a+"' using 'override' keyword without super method"),(h.warn[a]=h.warn[a]||{}).no=c)};c.prototype.validateProperty=function(a,b,c,d,e){if(b=d?d.member:null){if(e["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if("function"===typeof b)throw new TypeError("Cannot override method '"+a+"' with property");if(this._getVisibilityValue(e)<this._getVisibilityValue(c))throw TypeError("Cannot de-escalate visibility of property '"+
a+"'");}if(d&&(d.get||d.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");};c.prototype.validateGetterSetter=function(a,b,c,d,e){b=d?d.member:null;d=d&&(d.get||d.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(b||d){if(e&&e["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if(!d)throw TypeError("Cannot override method or property '"+a+"' with getter/setter");if(!e||!e.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(e||{})<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"))};c.prototype._getVisibilityValue=function(a){return a["protected"]?1:a["private"]?2:0}})(h.MemberBuilderValidator={},".");(function(b,h){function c(){}function a(a){if(1<arguments.length)throw Error("Expecting one argument for Interface definition; "+
arguments.length+" given.");return m(a)}function g(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 m(b)}function f(a,b){b.message="Failed to define interface "+(a?a:"(anonymous)")+": "+b.message;throw b;}function d(a){u.defineSecureProp(a,"extend",function(a){return m(this,a)})}
function n(a,b){a.toString=b?function(){return"[object Interface <"+b+">]"}:function(){return"[object Interface]"}}function r(a){u.defineSecureProp(a,"isCompatible",function(b){return 0===l(a,b).length})}function l(a,b){var c=[];u.propParse(a.prototype,{method:function(a,d,f,e){"function"!==typeof b[a]?c.push([a,"missing"]):b[a].length<d.__length&&c.push([a,"incompatible"])}});return c}function D(a){u.defineSecureProp(a,"__isInstanceOf",function(a,b){return w(a,b)})}function w(a,b){var c=b.constructor,
d;if(!b.__cid||!(d=G.getMeta(c)))return 0===l(a,b).length;c=d.implemented;for(d=c.length;d--;)if(c[d]===a)return!0;return!1}b.exports={};p=".";var u=e("./util"),z=e("./MethodWrapperFactory"),E=e("./MethodWrappers").standard,C=e("./MemberBuilder")(z(E.wrapNew),z(E.wrapOverride),z(E.wrapProxy),e("./MemberBuilderValidator")()),G=e("./ClassBuilder");b.exports=function(b,c){var d=null;switch(typeof b){case "object":d=a.apply(null,arguments);break;case "string":d=g.apply(null,arguments);break;default:throw TypeError("Expecting anonymous interface definition or named interface definition");
}return d};b.exports.extend=function(){return m.apply(this,arguments)};b.exports.isInterface=function(a){a=a||{};return a.prototype instanceof c?!0:!1};var m=function(a){function b(c){return function(){if(!a)throw Error("Interface "+(c?c+" ":"")+" cannot be instantiated");}}return function(){a=!0;var e=arguments,k=e.length,g=(0<k?e[k-1]:0)||{},e=new ((1<k?e[k-2]:0)||c),h="",B={},F=C.initMembers(e,e,e);(h=g.__name)&&delete g.__name;if(!(e instanceof c))throw new TypeError("Interfaces may only extend other interfaces");
k=b(h);u.propParse(g,{assumeAbstract:!0,_throw:function(a){f(h,a)},property:function(){f(h,TypeError("Unexpected internal error"))},getset:function(){f(h,TypeError("Unexpected internal error"))},method:function(a,b,c,d){(d["protected"]||d["private"])&&f(h,TypeError("Member "+a+" must be public"));C.buildMethod(F,null,a,b,d,null,0,{},B)}});d(k);n(k,h);r(k);D(k);k.prototype=e;k.constructor=k;u.freeze(k);a=!1;return k}}(!1);b.exports.isInstanceOf=w})(h["interface"]={},".");(function(b,h){var c=b.exports=
{};p=".";var a=e("./util");b.exports=c=function(){if(!(this instanceof c))return new b.exports};c.prototype.setup=function(a,b,c){var e=this._createPrivateLayer(a,b);this._doSetup(a,b["public"]);this._doSetup(a,b["protected"],c["protected"],!0);this._doSetup(e,b["private"],c["private"]);return e};c.prototype._createPrivateLayer=function(a,b){var c=function(){};c.prototype=a;c=new c;this.createPropProxy(a,c,b["protected"]);return c};c.prototype._doSetup=function(b,c,d,e){var h=Array.prototype.hasOwnProperty;
if(void 0!==d)for(var l in d)if(h.call(d,l)){var p=b[l],w=p&&p.___$$keywords$$;if(!e||void 0===p||w["private"]||w["protected"])b[l]=d[l]}for(var u in c)h.call(c,u)&&(b[u]=a.clone(c[u][0]))};c.prototype.createPropProxy=function(a,b,c){var e=Object.prototype.hasOwnProperty,h;for(h in c)e.call(c,h)&&function(c){b[c]=void 0;Object.defineProperty(b,c,{set:function(b){a[c]=b},get:function(){return a[c]},enumerable:!0})}.call(null,h);return b}})(h.VisibilityObjectFactory={},".");(function(b,h){var c=b.exports=
{};p=".";b.exports=c=function(){if(!(this instanceof c))return new b.exports};c.prototype=e("./VisibilityObjectFactory")();c.prototype._createPrivateLayer=function(a,b){return a};c.prototype.createPropProxy=function(a,b,c){return a}})(h.FallbackVisibilityObjectFactory={},".");(function(b,h){var c=b.exports={};p=".";var a=e("./util"),g=e("./VisibilityObjectFactory"),f=e("./FallbackVisibilityObjectFactory");c.fromEnvironment=function(){return a.definePropertyFallback()?f():g()}})(h.VisibilityObjectFactoryFactory=
{},".");(function(b,h){function c(a){if(1<arguments.length)throw Error("Expecting one argument for anonymous Class definition; "+arguments.length+" given.");return l(a)}function a(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 g(a);if("object"!==typeof b)throw TypeError("Unexpected value for definition of named Class '"+a+"'; object expected");b.__name=a;return l(b)}function g(a){return{extend:function(){for(var b=
[],c=arguments.length;c--;)b[c]=arguments[c];b[b.length-1].__name=a;return l.apply(null,b)},implement:function(){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];return f(null,b,a)},use:function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];return d(k,a)}}}function f(a,b,c){var e={extend:function(){var d=arguments.length,e=arguments[d-1],f=1<d?arguments[d-2]:null;if(2<d)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()");c&&(e.__name=c);b.push(a||f||l({}));return l.call(null,B.apply(this,b),e)},use:function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];return d(function(){return e.__createBase()},a)},__createBase:function(){return e.extend({})}};return e}function d(a,b,c){n(b);var e=function(){return f().apply(null,arguments)},f=function(){if(!c)throw TypeError("Cannot instantiate incomplete class definition; did you forget to call `extend'?");return r(a(),
b)};e.extend=function(){var c=arguments.length,d=arguments[c-1],c=1<c?arguments[c-2]:null,e=a();return l.call(null,r(e||c,b),d)};e.use=function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];return d(function(){return e.__createBase()},a,c)};e.__createBase=function(){return e.extend({})};e.asPrototype=function(){return f().asPrototype()};e.__isInstanceOf=G.isInstanceOf;C.masquerade(e);C.getMeta(e)._lazy=!0;return e}function n(a){for(var b in a)if("function"!==typeof a[b].__mixin)throw TypeError("Cannot mix in non-trait "+
b);}function r(a,b){for(var c={___$$auto$abstract$$:!0},d=[],e=0,f=b.length;e<f;e++)b[e].__mixin(c,d,a||C.ClassBase);c=l.call(null,a,c);d=C.getMeta(c).implemented;e=0;for(f=b.length;e<f;e++)d.push(b[e]),b[e].__mixinImpl(d);return c}function l(a,b){for(var c=[],d=arguments.length;d--;)c[d]=arguments[d];c=A.build.apply(A,c);D(c);w(c);u(c);E.freeze(c);return c}function D(a){E.defineSecureProp(a,"extend",function(a){return l(this,a)})}function w(a){E.defineSecureProp(a,"implement",function(){for(var b=
[],c=arguments.length;c--;)b[c]=arguments[c];return f(a,b)})}function u(a){E.defineSecureProp(a,"use",function(){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];return d(function(){return a},b,!0)})}b.exports={};p=".";var z="undefined"!==typeof console?console:void 0,E=e("./util"),C=e("./ClassBuilder"),G=e("./interface"),m=e("./warn"),q=m.Warning,v=m.LogHandler(z),z=e("./MethodWrapperFactory"),m=e("./MethodWrappers").standard,A=C(v,e("./MemberBuilder")(z(m.wrapNew),z(m.wrapOverride),z(m.wrapProxy),
e("./MemberBuilderValidator")(function(a){v.handle(q(a))})),e("./VisibilityObjectFactoryFactory").fromEnvironment()),k=function(){return null};b.exports=function(b,d){for(var e=typeof b,f=null,f=[],k=arguments.length;k--;)f[k]=arguments[k];switch(e){case "object":f=c.apply(null,f);break;case "string":f=a.apply(null,f);break;default:throw TypeError("Expecting anonymous class definition or named class definition");}return f};b.exports.extend=l;b.exports.implement=function(a){return f(null,Array.prototype.slice.call(arguments))};
b.exports.use=function(a){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];return d(k,b)};var t={prototype:{}},H={constructor:{prototype:{}}};b.exports.isClass=function(a){a=a||t;var b=C.getMeta(a);return null!==b&&b.implemented||a.prototype instanceof C.ClassBase?!0:!1};b.exports.isClassInstance=function(a){a=a||H;return b.exports.isClass(a.constructor)};b.exports.isInstanceOf=C.isInstanceOf;b.exports.isA=b.exports.isInstanceOf;var B=function(a,c){for(var d=arguments.length,e={},f=arguments[d-
1],k=null,g=[],h=!1,t=0;t<d-1;t++)k=arguments[t],E.propParse(k.prototype,{method:function(a,b,c,d){e["abstract "+a]=b.definition;h=!0}}),g.push(k);h&&(e.___$$abstract$$=!0);d=b.exports.extend(f,e);C.getMeta(d).implemented=g;return d}})(h["class"]={},".");(function(b,h){function c(a){"object"===typeof a&&(a.___$$abstract$$=!0)}function a(b){var e=b.extend,f=b.implement,g=b.use;f&&(b.implement=function(){return a(f.apply(this,arguments))});g&&(b.use=function(){return a(g.apply(this,arguments))});b.extend=
function(){c(arguments[arguments.length-1]);return e.apply(this,arguments)};b.__createBase=function(){return e({___$$auto$abstract$$:!0})};return b}var g=b.exports={};p=".";var f=e("./class");b.exports=g=function(){c(arguments[arguments.length-1]);var b=f.apply(this,arguments);f.isClass(b)||a(b);return b};g.extend=function(){c(arguments[arguments.length-1]);return f.extend.apply(this,arguments)};g.use=function(){return a(f.use.apply(this,arguments))};g.implement=function(){return a(f.implement.apply(this,
arguments))}})(h.class_abstract={},".");(function(b,h){function c(){}function a(){switch(arguments.length){case 0:throw Error("Missing trait name or definition");case 1:return"string"===typeof arguments[0]?f.apply(this,arguments):a.extend.apply(this,arguments);case 2:return g.apply(this,arguments)}throw Error("Expecting at most two arguments for definition of named Trait "+name+"'; "+arguments.length+" given");}function g(b,c){if("string"!==typeof b)throw Error("First argument of named class definition must be a string");
c.__name=b;return a.extend(c)}function f(a){return{extend:function(b){return g(a,b)},implement:function(){return l(arguments,a)}}}function d(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 n(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 r(a,b,c,d){throw Error("Cannot define property `"+a+"'; getters/setters are currently unsupported");}function l(b,c){return{extend:function(d){c&&(d.__name=c);return a.extend.call({__$$meta:{ifaces:b}},d)}}}function D(a){var b={"protected ___$$pmo$$":null,"protected ___$$super$$":null,__construct:function(a,b){this.___$$super$$=a;this.___$$pmo$$=b},__name:"#ConcreteTrait#"},c=v.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$$");w(a,b);return a.extend(b)}function w(a,b){var c=v.getMeta(a).virtualMembers,d;for(d in c){var c=void 0!==a.___$$methods$$["public"][d]?"public":"protected",e=a.___$$methods$$[c][d],f=e.__length;b[c+" virtual override "+d]=function(a){var b=function(){var b=this.___$$pmo$$,c=b[a];return c?c.apply(b,arguments):this.__super.apply(this,arguments)};b.__length=f;return b}(d);b[c+" virtual __$$"+d]=function(a){var b=
function(){return a.apply(this,arguments)};b.__length=f;return b}(e)}}function u(a,b,d,e){if(a.__extbase&&a.__extbase!==e&&!v.isInstanceOf(a.__extbase,e.asPrototype()))throw TypeError("Cannot mix trait "+a.toString()+" into "+e.toString()+"; mixor must be of type "+a.__extbase.toString());var f=a.__acls;a=C(a,b,d,e);b["weak virtual ___$$ctor$pre$$"]=c;b["weak virtual ___$$ctor$post$$"]=c;e===v.ClassBase?(b["virtual override ___$$ctor$post$$"]=m,b["virtual override ___$$ctor$pre$$"]=c):(b["virtual override ___$$ctor$post$$"]=
c,b["virtual override ___$$ctor$pre$$"]=m);z(f,b,a);return b}function z(a,b,c,d){a=a.___$$methods$$;E(a["public"],b,"public",c,d);E(a["protected"],b,"protected",c,d);(d=a["public"].___$$parent$$)&&d.constructor!==v.ClassBase&&z(d.constructor,b,c,!0)}function E(a,b,c,d,e){for(var f in a)if(Object.hasOwnProperty.call(a,f)&&"__mixin"!==f&&a[f]&&a[f].___$$keywords$$){var g=a[f].___$$keywords$$;if("public"!==c||!g["protected"])if(c=g["protected"]?"protected":"public",g["abstract"]&&!g.override)b[c+" weak abstract "+
f]=a[f].definition;else if(!e||g["abstract"]){var h=g.virtual,h=(h?"":"proxy ")+(h?"virtual ":"")+(g.override?"override ":"")+c+" "+f;if(void 0!==b[h])throw Error("Trait member conflict: `"+f+"'");b[h]=g.virtual?function(b){var c=function(){var a=this[d],c=a["__$$"+b].apply(a,arguments);return c===a?this:c};c.__length=a[b].__length;return c}(f):d}}}function C(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$$"]=G(c,d));return e}function G(a,b){return function(c){for(var d in a){var e=a[d][0],f=a[d][1],g=f.__ccls||(f.__ccls=D(f.__acls));this[e]=g(b,this[c].vis)[c].vis;this[e].__mixin&&this[e].__mixin.apply(this[e],f.___$$mixinargs)}this.__super&&this.__super(c)}}function m(){this.___$$tctor$$.apply(this,arguments)}b.exports={};p=".";var q=e("./class_abstract"),v=e("./ClassBuilder"),A=e("./interface");a.extend=function(){var a=arguments.length,c=arguments[a-
1],e=1<a,f=e?arguments[0]:null;if(2<a)throw Error("Unexpected number of arguments to Trait.extend");if(e){a=typeof f;if(null===f||"object"!==a&&"function"!==a)throw TypeError("Trait cannot extend base of type '"+a+"'");if(!0===f.___$$final$$)throw TypeError("Trait cannot extend final class");if(b.exports.isTrait(f))throw TypeError("Traits cannot extend other traits");}var a=(this||{}).__$$meta||{},g=c.__name||"(Trait)",e="function"===typeof c.__mixin?"param":"std";c.___$$parser$$={each:d,property:n,
getset:r};c.___$$auto$abstract$$=!0;c.__name="#AbstractTrait#";var h="param"===e?function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];var c=function(){throw Error("Cannot re-configure argument trait");};c.___$$mixinargs=a;c.__trait="arg";c.__acls=h.__acls;c.__ccls=h.__ccls;c.toString=h.toString;c.__mixinImpl=h.__mixinImpl;c.__isInstanceOf=h.__isInstanceOf;c.__mixin=function(a,b,d){u(c,a,b,d)};return c}:function(){throw Error("Cannot instantiate non-parameterized trait");},l=q;a.ifaces&&
(l=l.implement.apply(null,a.ifaces));var m=f?l.extend(f,c):l.extend(c);h.__trait=e;h.__acls=m;h.__ccls=null;h.__extbase=f;h.toString=function(){return""+g};h.___$$mixinargs=[];h.__mixin=function(a,b,c){u(h,a,b,c)};h.__mixinImpl=function(a){for(var b=v.getMeta(m).implemented||[],c=b.length;c--;)a.push(b[c])};h.__isInstanceOf=A.isInstanceOf;return h};a.implement=function(){return l(arguments)};a.isTrait=function(a){return!!(a||{}).__trait};a.isParameterTrait=function(a){return"param"===(a||{}).__trait};
a.isArgumentTrait=function(a){return"arg"===(a||{}).__trait};b.exports=a})(h.Trait={},".");(function(b,h){function c(a){"object"===typeof a&&(a.___$$final$$=!0)}function a(a){var b=a.extend;a.extend=function(){c(arguments[arguments.length-1]);return b.apply(this,arguments)}}var g=b.exports={};p=".";var f=e("./class"),g=b.exports=function(){c(arguments[arguments.length-1]);var b=f.apply(this,arguments);f.isClass(b)||a(b);return b};g.extend=function(){c(arguments[arguments.length-1]);return f.extend.apply(this,
arguments)}})(h.class_final={},".");(function(b,h){var c=b.exports={};p=".";var a=e("./MemberBuilder");b.exports=c=function(a,c){if(!(this instanceof b.exports))return new b.exports(a,c);b.exports.prototype.constructor.call(this,a,c)};b.exports.prototype=new a;b.exports.constructor=b.exports;c.prototype.buildGetterSetter=function(){throw Error("Getters/setters are unsupported in this environment");}})(h.FallbackMemberBuilder={},".");(function(b,e){b.exports={};p=".";b.exports=function(){if(!(this instanceof
b.exports))return new b.exports};b.exports.prototype={create:function(){return{}}}})(h.EasejsFactory={},".");(function(b,e){function c(){if(!(this instanceof c))return new c;this._alt={}}b.exports={};p="util";(0,eval)("var _the_global=this");c.expose=function(){return _the_global};c.prototype={provideAlt:function(a,b){if(void 0===_the_global[a]&&void 0===this._alt[a])return this._alt[a]=b(),this},get:function(a){return void 0!==this._alt[a]?this._alt[a]:_the_global[a]}};b.exports=c})(h["util/Global"]=
{},".");(function(b,h){b.exports={};p="util";var c=e("./symbol/FallbackSymbol"),a=e("./Global").expose();b.exports=a.Symbol||c})(h["util/Symbol"]={},".");(function(b,e){function c(){if(!(this instanceof c))return new c;this.___$$id$$=f+g(1E8*a())}b.exports={};p="util/symbol";var a=Math.random,g=Math.floor,f=" "+String.fromCharCode(g(10*a())%31+1)+"$";c.prototype={toString:function(){return this.___$$id$$}};b.exports=c})(h["util/symbol/FallbackSymbol"]={},".");(function(b,e){b.exports={};p=".";var c=
[0,2,7,""];c.major=0;c.minor=2;c.rev=7;c.suffix="";c.toString=function(){return this.join(".").replace(/\.([^.]*)$/,"-$1").replace(/-$/,"")};b.exports=c})(h.version={},".");(function(b,e){function c(){if(!(this instanceof c))return new c}b.exports={};p="warn";c.prototype={handle:function(a){}};b.exports=c})(h["warn/DismissiveHandler"]={},".");(function(b,e){function c(a){if(!(this instanceof c))return new c(a);this._console=a||{}}b.exports={};p="warn";c.prototype={handle:function(a){var b=this._console.warn||
this._console.log;b&&b.call(this._console,"Warning: "+a.message)}};b.exports=c})(h["warn/LogHandler"]={},".");(function(b,e){function c(){if(!(this instanceof c))return new c}b.exports={};p="warn";c.prototype={handle:function(a){throw a.getError();}};b.exports=c})(h["warn/ThrowHandler"]={},".");(function(b,e){function c(a){if(!(this instanceof c))return new c(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")}b.exports={};p="warn";c.prototype=Error();c.prototype.constructor=c;c.prototype.name="Warning";c.prototype.getError=function(){return this._error};b.exports=c})(h["warn/Warning"]={},".");I.Class=h["class"].exports;I.AbstractClass=h.class_abstract.exports;I.FinalClass=h.class_final.exports;I.Interface=h["interface"].exports;I.Trait=h.Trait.exports;I.version=h.version.exports})(easejs,
".");