/**
* Combined, minified redistributable GNU ease.js file.
*
* 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"}:function(){return"#"}))}}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]"}: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