-
Notifications
You must be signed in to change notification settings - Fork 1
/
frozen.js
111 lines (111 loc) · 54.8 KB
/
frozen.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
//>>built
(function(c,e){var b,f,i,p=function(){},j=function(a){for(var b in a)return 0;return 1},l={}.toString,n=function(a){return"[object Function]"==l.call(a)},a=function(a){return"[object String]"==l.call(a)},g=function(a){return"[object Array]"==l.call(a)},d=function(a,b){if(a)for(var d=0;d<a.length;)b(a[d++])},h=function(a,b){for(var d in b)a[d]=b[d];return a},k=function(a,b){return h(Error(a),{src:"dojoLoader",info:b})},m=1,F=function(){return"_"+m++},o=function(a,b,d){return oa(a,b,d,0,o)},C=this,
D=C.document,I=D&&D.createElement("DiV"),u=o.has=function(a){return n(z[a])?z[a]=z[a](C,D,I):z[a]},z=u.cache=e.hasCache;u.add=function(a,b,d,c){(void 0===z[a]||c)&&(z[a]=b);return d&&u(a)};for(var E in c.has)u.add(E,c.has[E],0,1);o.async=1;var L=new Function("return eval(arguments[0]);");o.eval=function(a,b){return L(a+"\r\n////@ sourceURL="+b)};var T={},J=o.signal=function(a,b){var c=T[a];d(c&&c.slice(0),function(a){a.apply(null,g(b)?b:[b])})},M=o.on=function(a,b){var d=T[a]||(T[a]=[]);d.push(b);
return{remove:function(){for(var a=0;a<d.length;a++)if(d[a]===b){d.splice(a,1);break}}}},pa=[],Aa={},A=[],r={},v=o.map={},G=[],q={},x="",B={},V={};E={};var N=function(a){var b,d,c,h;for(b in V)d=V[b],(c=b.match(/^url\:(.+)/))?B["url:"+qa(c[1],a)]=d:"*now"==b?h=d:"*noref"!=b&&(c=W(b,a),B[c.mid]=B["url:"+c.url]=d);h&&h(ca(a));V={}},R=function(a){return a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(a){return"\\"+a})},H=function(a,b){b.splice(0,b.length);for(var d in a)b.push([d,a[d],RegExp("^"+R(d)+
"(/|$)"),d.length]);b.sort(function(a,s){return s[3]-a[3]});return b},w=function(a){var b=a.name;b||(b=a,a={name:b});a=h({main:"main"},a);a.location=a.location?a.location:b;if(a.packageMap)v[b]=a.packageMap;if(!a.main.indexOf("./"))a.main=a.main.substring(2);r[b]=a},P=[],t=function(s,b,c){for(var g in s){if("waitSeconds"==g)o.waitms=1E3*(s[g]||0);"cacheBust"==g&&(x=s[g]?a(s[g])?s[g]:(new Date).getTime()+"":"");if("baseUrl"==g||"combo"==g)o[g]=s[g];s[g]!==z&&(o.rawConfig[g]=s[g],"has"!=g&&u.add("config-"+
g,s[g],0,b))}if(!o.baseUrl)o.baseUrl="./";/\/$/.test(o.baseUrl)||(o.baseUrl+="/");for(g in s.has)u.add(g,s.has[g],0,b);d(s.packages,w);for(i in s.packagePaths)d(s.packagePaths[i],function(b){var s=i+"/"+b;a(b)&&(b={name:b});b.location=s;w(b)});H(h(v,s.map),G);d(G,function(a){a[1]=H(a[1],[]);if("*"==a[0])G.star=a[1]});H(h(Aa,s.paths),A);d(s.aliases,function(b){a(b[0])&&(b[0]=RegExp("^"+R(b[0])+"$"));pa.push(b)});if(b)P.push({config:s.config});else for(g in s.config)b=Q(g,c),b.config=h(b.config||{},
s.config[g]);if(s.cache)N(),V=s.cache,s.cache["*noref"]&&N();J("config",[s,o.rawConfig])};o.rawConfig={};t(e,1);t(c,1);t(E,1);var y=function(a){da(function(){d(a.deps,ra)})},oa=function(b,d,c,f,e){var n;if(a(b)){if((n=Q(b,f,!0))&&n.executed)return n.result;throw k("undefinedModule",b);}g(b)||(t(b,0,f),b=d,d=c);if(g(b))if(b.length){for(var c="require*"+F(),J,m=[],j=0;j<b.length;)J=b[j++],m.push(Q(J,f));n=h(X("",c,0,""),{injected:2,deps:m,def:d||p,require:f?f.require:o,gc:1});q[n.mid]=n;y(n);var M=
U&&0!="sync";da(function(){ea(n,M)});n.executed||O.push(n);Y()}else d&&d();return e},ca=function(a){if(!a)return o;var b=a.require;if(!b)b=function(d,c,g){return oa(d,c,g,a,b)},a.require=h(b,o),b.module=a,b.toUrl=function(b){return qa(b,a)},b.toAbsMid=function(b){return fa(b,a)};return b},O=[],Z=[],K={},Ca=function(a){a.injected=1;K[a.mid]=1;a.url&&(K[a.url]=a.pack||1);Ba()},$=function(a){a.injected=2;delete K[a.mid];a.url&&delete K[a.url];j(K)&&Da()},Ea=o.idle=function(){return!Z.length&&j(K)&&!O.length&&
!U},ga=function(a,b){if(b)for(var d=0;d<b.length;d++)if(b[d][2].test(a))return b[d];return 0},sa=function(a){for(var b=[],d,c,a=a.replace(/\\/g,"/").split("/");a.length;)d=a.shift(),".."==d&&b.length&&".."!=c?(b.pop(),c=b[b.length-1]):"."!=d&&b.push(c=d);return b.join("/")},X=function(a,b,d,c){return{pid:a,mid:b,pack:d,url:c,executed:0,def:0}},ta=function(a,c,g,h,f,e,J,m){var j,M,i,p;p=/^\./.test(a);if(/(^\/)|(\:)|(\.js$)/.test(a)||p&&!c)return X(0,a,0,a);a=sa(p?c.mid+"/../"+a:a);if(/^\./.test(a))throw k("irrationalPath",
a);c&&(i=ga(c.mid,e));(i=(i=i||e.star)&&ga(a,i[1]))&&(a=i[1]+a.substring(i[3]));c=(b=a.match(/^([^\/]+)(\/(.+))?$/))?b[1]:"";(j=g[c])?a=c+"/"+(M=b[3]||j.main):c="";var l=0;d(pa,function(b){var d=a.match(b[0]);d&&0<d.length&&(l=n(b[1])?a.replace(b[0],b[1]):b[1])});if(l)return ta(l,0,g,h,f,e,J,m);if(g=h[a])return m?X(g.pid,g.mid,g.pack,g.url):h[a];h=(i=ga(a,J))?i[1]+a.substring(i[3]):c?j.location+"/"+M:a;/(^\/)|(\:)/.test(h)||(h=f+h);return X(c,a,j,sa(h+".js"))},W=function(a,b){return ta(a,b,r,q,o.baseUrl,
G,A)},ua=function(a,b,d){return a.normalize?a.normalize(b,function(a){return fa(a,d)}):fa(b,d)},va=0,Q=function(a,b,d){var c,g;(c=a.match(/^(.+?)\!(.*)$/))?(g=Q(c[1],b,d),5===g.executed&&!g.load&&ha(g),g.load?(c=ua(g,c[2],b),a=g.mid+"!"+(g.dynamic?++va+"!":"")+c):(c=c[2],a=g.mid+"!"+ ++va+"!waitingForPlugin"),a={plugin:g,mid:a,req:ca(b),prid:c}):a=W(a,b);return q[a.mid]||!d&&(q[a.mid]=a)},fa=o.toAbsMid=function(a,b){return W(a,b).mid},qa=o.toUrl=function(a,b){var d=W(a+"/x",b),c=d.url;return wa(0===
d.pid?a:c.substring(0,c.length-5))},xa={injected:2,executed:5,def:3,result:3},S=function(a){return q[a]=h({mid:a},xa)},Fa=S("require"),Ga=S("exports"),Ha=S("module"),aa={},ia=0,ha=function(a){var b=a.result;a.dynamic=b.dynamic;a.normalize=b.normalize;a.load=b.load;return a},Ia=function(a){var b={};d(a.loadQ,function(d){var c=ua(a,d.prid,d.req.module),g=a.dynamic?d.mid.replace(/waitingForPlugin$/,c):a.mid+"!"+c,c=h(h({},d),{mid:g,prid:c,injected:0});q[g]||ya(q[g]=c);b[d.mid]=q[g];$(d);delete q[d.mid]});
a.loadQ=0;var c=function(a){for(var d=a.deps||[],c=0;c<d.length;c++)(a=b[d[c].mid])&&(d[c]=a)},g;for(g in q)c(q[g]);d(O,c)},ja=function(a){o.trace("loader-finish-exec",[a.mid]);a.executed=5;a.defOrder=ia++;a.loadQ&&(ha(a),Ia(a));for(f=0;f<O.length;)O[f]===a?O.splice(f,1):f++;/^require\*/.test(a.mid)&&delete q[a.mid]},Ja=[],ea=function(a,b){if(4===a.executed)return o.trace("loader-circular-dependency",[Ja.concat(a.mid).join("->")]),!a.def||b?aa:a.cjs&&a.cjs.exports;if(!a.executed){if(!a.def)return aa;
var d=a.mid,c=a.deps||[],g,h=[],f=0;for(a.executed=4;f<c.length;){g=c[f++];g=g===Fa?ca(a):g===Ga?a.cjs.exports:g===Ha?a.cjs:ea(g,b);if(g===aa)return a.executed=0,o.trace("loader-exec-module",["abort",d]),aa;h.push(g)}o.trace("loader-run-factory",[a.mid]);d=a.def;h=n(d)?d.apply(null,h):d;a.result=void 0===h&&a.cjs?a.cjs.exports:h;ja(a)}return a.result},U=0,da=function(a){try{U++,a()}finally{U--}Ea()&&J("idle",[])},Y=function(){U||da(function(){for(var a,b,d=0;d<O.length;)a=ia,b=O[d],ea(b),a!=ia?d=
0:d++})};void 0===u("dojo-loader-eval-hint-url")&&u.add("dojo-loader-eval-hint-url",1);var wa=function(a){a+="";return a+(x?(/\?/.test(a)?"&":"?")+x:"")},ya=function(a){var b=a.plugin;5===b.executed&&!b.load&&ha(b);var d=function(b){a.result=b;$(a);ja(a);Y()};b.load?b.load(a.prid,a.req,d):b.loadQ?b.loadQ.push(a):(b.loadQ=[a],O.unshift(b),ra(b))},ba=0,ka=0,la=0,Ka=function(a,b){u("config-stripStrict")&&(a=a.replace(/"use strict"/g,""));la=1;a===ba?ba.call(null):o.eval(a,u("dojo-loader-eval-hint-url")?
b.url:b.mid);la=0},ra=function(a){var b=a.mid,d=a.url;if(!a.executed&&!a.injected&&!(K[b]||a.url&&(a.pack&&K[a.url]===a.pack||1==K[a.url])))if(Ca(a),a.plugin)ya(a);else{var c=function(){La(a);2!==a.injected&&($(a),h(a,xa),o.trace("loader-define-nonmodule",[a.url]));Y()};(ba=B[b]||B["url:"+a.url])?(o.trace("loader-inject",["cache",a.mid,d]),Ka(ba,a),c()):(o.trace("loader-inject",["script",a.mid,d]),ka=a,o.injectUrl(wa(d),c,a),ka=0)}},ma=function(a,b,d){o.trace("loader-define-module",[a.mid,b]);if(2===
a.injected)return J("error",k("multipleDefine",a)),a;h(a,{deps:b,def:d,cjs:{id:a.mid,uri:a.url,exports:a.result={},setExports:function(b){a.cjs.exports=b},config:function(){return a.config}}});for(var c=0;c<b.length;c++)b[c]=Q(b[c],a);$(a);if(!n(d)&&!b.length)a.result=d,ja(a);return a},La=function(a,b){for(var c=[],g,h;Z.length;)h=Z.shift(),b&&(h[0]=b.shift()),g=h[0]&&Q(h[0])||a,c.push([g,h[1],h[2]]);N(a);d(c,function(a){y(ma.apply(null,a))})},Da=p,Ba=p;u.add("ie-event-behavior",!!D.attachEvent&&
("undefined"===typeof opera||"[object Opera]"!=opera.toString()));var na=function(a,b,d,c){if(u("ie-event-behavior"))return a.attachEvent(d,c),function(){a.detachEvent(d,c)};a.addEventListener(b,c,!1);return function(){a.removeEventListener(b,c,!1)}},Ma=na(window,"load","onload",function(){o.pageLoaded=1;"complete"!=D.readyState&&(D.readyState="complete");Ma()}),za=D.getElementsByTagName("script")[0],Na=za.parentNode;o.injectUrl=function(a,b,d){var d=d.node=D.createElement("script"),c=na(d,"load",
"onreadystatechange",function(a){var a=a||window.event,d=a.target||a.srcElement;if("load"===a.type||/complete|loaded/.test(d.readyState))c(),g(),b&&b()}),g=na(d,"error","onerror",function(b){c();g();J("error",k("scriptError",[a,b]))});d.type="text/javascript";d.charset="utf-8";d.src=a;Na.insertBefore(d,za);return d};o.log=p;o.trace=p;S=function(b,d,c){var g=arguments.length,h=["require","exports","module"],f=[0,b,d];1==g?f=[0,n(b)?h:[],b]:2==g&&a(b)?f=[b,n(d)?h:[],d]:3==g&&(f=[b,d,c]);o.trace("loader-define",
f.slice(0,2));if((g=f[0]&&Q(f[0]))&&!K[g.mid])y(ma(g,f[1],f[2]));else if(!u("ie-event-behavior")||la)Z.push(f);else{g=g||ka;if(!g)for(b in K)if((h=q[b])&&h.node&&"interactive"===h.node.readyState){g=h;break}g?(N(g),y(ma(g,f[1],f[2]))):J("error",k("ieDefineFailed",f[0]));Y()}};S.amd={vendor:"dojotoolkit.org"};h(h(o,e.loaderPatch),c.loaderPatch);M("error",function(a){try{if(console.error(a),a instanceof Error)for(var b in a);}catch(d){}});h(o,{uid:F,cache:B,packs:r});if(!C.define)C.define=S,C.require=
o,d(P,function(a){t(a)}),M=E.deps||c.deps||e.deps,E=E.callback||c.callback||e.callback,o.boot=M||E?[M||[],E]:0})(this.dojoConfig||this.djConfig||this.require||{},{async:1,hasCache:{"config-selectorEngine":"acme","config-tlmSiblingOfDojo":1,"dojo-built":1,"dojo-loader":1,dom:1,"host-browser":1},packages:[{location:".",name:"dojo"},{location:"../dijit",name:"dijit"},{location:"../dojox",name:"dojox"},{location:"../frozen",main:"GameCore",name:"frozen"}]});
require({cache:{"dist/frozen":function(){define([],1)},"frozen/box2d/Box":function(){define(["dojo/_base/declare"],function(c){var e=Box2D.Common.Math.b2Vec2,b=Box2D.Dynamics.b2BodyDef,f=Box2D.Dynamics.b2Body,i=Box2D.Dynamics.b2FixtureDef,p=Box2D.Dynamics.b2World,j=Box2D.Collision.Shapes.b2PolygonShape,l=Box2D.Collision.Shapes.b2CircleShape;return c(null,{intervalRate:60,adaptive:!1,width:640,height:480,scale:30,bodiesMap:[],fixturesMap:[],world:null,gravityX:0,gravityY:10,allowSleep:!0,resolveCollisions:!1,
contactListener:null,constructor:function(b){c.safeMixin(this,b);if(b.intervalRate)this.intervalRate=parseInt(b.intervalRate,10);this.world=new p(new e(this.gravityX,this.gravityY),this.allowSleep);this.resolveCollisions&&this.addContactListener(this.contactListener||this)},update:function(){var b=Date.now();this.world.Step(this.adaptive?(b-this.lastTimestamp)/1E3:1/this.intervalRate,10,10);this.world.ClearForces();return Date.now()-b},getState:function(){for(var b={},a=this.world.GetBodyList();a;a=
a.m_next)a.IsActive()&&"undefined"!==typeof a.GetUserData()&&null!==a.GetUserData()&&(b[a.GetUserData()]={x:a.GetPosition().x,y:a.GetPosition().y,angle:a.GetAngle(),center:{x:a.GetWorldCenter().x,y:a.GetWorldCenter().y},linearVelocity:a.m_linearVelocity,angularVelocity:a.m_angularVelocity});return b},setBodies:function(b){for(var a in b)this.addBody(b[a]);this.ready=!0},addBody:function(c){var a=new b,g=new i;g.restitution=c.restitution;g.density=c.density;g.friction=c.friction;a.type=c.staticBody?
f.b2_staticBody:f.b2_dynamicBody;if(c.radius)g.shape=new l(c.radius);else if(c.points){for(var d=[],h=0;h<c.points.length;h++){var k=new e;k.Set(c.points[h].x,c.points[h].y);d[h]=k}g.shape=new j;g.shape.SetAsArray(d,d.length)}else g.shape=new j,g.shape.SetAsBox(c.halfWidth,c.halfHeight);a.position.x=c.x;a.position.y=c.y;a.userData=c.id;a.linearDamping=c.linearDamping;a.angularDamping=c.angularDamping;this.bodiesMap[c.id]=this.world.CreateBody(a);this.bodiesMap[c.id].CreateFixture(g)},applyImpulse:function(b,
a,c){b=this.bodiesMap[b];b.ApplyImpulse(new e(Math.cos(a*(Math.PI/180))*c,Math.sin(a*(Math.PI/180))*c),b.GetWorldCenter())},applyForce:function(b,a,c){b=this.bodiesMap[b];b.ApplyForce(new e(Math.cos(a*(Math.PI/180))*c,Math.sin(a*(Math.PI/180))*c),b.GetWorldCenter())},removeBody:function(b){this.bodiesMap[b]&&this.world.DestroyBody(this.bodiesMap[b])},addContactListener:function(b){var a=new Box2D.Dynamics.b2ContactListener;if(b.beginContact)a.BeginContact=function(a){b.beginContact(a.GetFixtureA().GetBody().GetUserData(),
a.GetFixtureB().GetBody().GetUserData())};if(b.EndContact)a.endContact=function(a){b.endContact(a.GetFixtureA().GetBody().GetUserData(),a.GetFixtureB().GetBody().GetUserData())};if(b.postSolve)a.PostSolve=function(a,d){b.postSolve(a.GetFixtureA().GetBody().GetUserData(),a.GetFixtureB().GetBody().GetUserData(),d.normalImpulses[0])};this.world.SetContactListener(a)},beginContact:function(){},endContact:function(){},postSolve:function(){}})})},"dojo/_base/declare":function(){define(["./kernel","../has",
"./lang"],function(c,e,b){function f(a,b){throw Error("declare"+(b?" "+b:"")+": "+a);}function i(a,b,d){var c,g,h,e,m,k,i,j=this._inherited=this._inherited||{};"string"==typeof a&&(c=a,a=b,b=d);d=0;e=a.callee;(c=c||e.nom)||f("can't deduce a name to call inherited()",this.declaredClass);m=this.constructor._meta;h=m.bases;i=j.p;if(c!=L){if(j.c!==e&&(i=0,k=h[0],m=k._meta,m.hidden[c]!==e)){(g=m.chains)&&"string"==typeof g[c]&&f("calling chained method with inherited: "+c,this.declaredClass);do if(m=k._meta,
g=k.prototype,m&&(g[c]===e&&g.hasOwnProperty(c)||m.hidden[c]===e))break;while(k=h[++i]);i=k?i:-1}if(k=h[++i])if(g=k.prototype,k._meta&&g.hasOwnProperty(c))d=g[c];else{e=I[c];do if(g=k.prototype,(d=g[c])&&(k._meta?g.hasOwnProperty(c):d!==e))break;while(k=h[++i])}d=k&&d||I[c]}else{if(j.c!==e&&(i=0,(m=h[0]._meta)&&m.ctor!==e)){g=m.chains;for((!g||"manual"!==g.constructor)&&f("calling chained constructor with inherited",this.declaredClass);(k=h[++i])&&!((m=k._meta)&&m.ctor===e););i=k?i:-1}for(;(k=h[++i])&&
!(d=(m=k._meta)?m.ctor:k););d=k&&d}j.c=d;j.p=i;if(d)return!0===b?d:d.apply(this,b||a)}function p(a,b){return"string"==typeof a?this.__inherited(a,b,!0):this.__inherited(a,!0)}function j(a,b,d){var c=this.getInherited(a,b);if(c)return c.apply(this,d||b||a)}function l(a){for(var b=this.constructor._meta.bases,d=0,c=b.length;d<c;++d)if(b[d]===a)return!0;return this instanceof a}function n(a,d){for(var c in d)c!=L&&d.hasOwnProperty(c)&&(a[c]=d[c]);if(e("bug-for-in-skips-shadowed"))for(var g=b._extraNames,
h=g.length;h;)c=g[--h],c!=L&&d.hasOwnProperty(c)&&(a[c]=d[c])}function a(a){C.safeMixin(this.prototype,a);return this}function g(a){return C([this].concat(a))}function d(a,b){return function(){var q;var d=arguments,c=d,g=d[0],h,f;f=a.length;var e;if(!(this instanceof d.callee))return o(d);if(b&&(g&&g.preamble||this.preamble)){e=Array(a.length);e[0]=d;for(h=0;;){if(g=d[0])(g=g.preamble)&&(d=g.apply(this,d)||d);g=a[h].prototype;(g=g.hasOwnProperty("preamble")&&g.preamble)&&(d=g.apply(this,d)||d);if(++h==
f)break;e[h]=d}}for(h=f-1;0<=h;--h)g=a[h],(q=(f=g._meta)?f.ctor:g,g=q)&&g.apply(this,e?e[h]:d);(g=this.postscript)&&g.apply(this,c)}}function h(a,b){return function(){var d=arguments,c=d,g=d[0];if(!(this instanceof d.callee))return o(d);if(b){if(g)(g=g.preamble)&&(c=g.apply(this,c)||c);(g=this.preamble)&&g.apply(this,c)}a&&a.apply(this,d);(g=this.postscript)&&g.apply(this,d)}}function k(a){return function(){var q;var b=arguments,d=0,c,g;if(!(this instanceof b.callee))return o(b);for(;c=a[d];++d)if(q=
(g=c._meta)?g.ctor:c,c=q){c.apply(this,b);break}(c=this.postscript)&&c.apply(this,b)}}function m(a,b,d){return function(){var c,g,h=0,f=1;d&&(h=b.length-1,f=-1);for(;c=b[h];h+=f)g=c._meta,(c=(g?g.hidden:c.prototype)[a])&&c.apply(this,arguments)}}function F(a){z.prototype=a.prototype;a=new z;z.prototype=null;return a}function o(a){var b=a.callee,d=F(b);b.apply(d,a);return d}function C(c,e,j){"string"!=typeof c&&(j=e,e=c,c="");var j=j||{},o,A,r,v,G,q,x,B=1,z=e;if("[object Array]"==u.call(e)){B=c;r=
[];v=[{cls:0,refs:[]}];q={};for(var N=1,R=e.length,H=0,w,P,t,y;H<R;++H){(w=e[H])?"[object Function]"!=u.call(w)&&f("mixin #"+H+" is not a callable constructor.",B):f("mixin #"+H+" is unknown. Did you use dojo.require to pull it in?",B);P=w._meta?w._meta.bases:[w];t=0;for(w=P.length-1;0<=w;--w){y=P[w].prototype;if(!y.hasOwnProperty("declaredClass"))y.declaredClass="uniqName_"+E++;y=y.declaredClass;q.hasOwnProperty(y)||(q[y]={count:0,refs:[],cls:P[w]},++N);y=q[y];t&&t!==y&&(y.refs.push(t),++t.count);
t=y}++t.count;v[0].refs.push(t)}for(;v.length;){t=v.pop();r.push(t.cls);for(--N;A=t.refs,1==A.length;){t=A[0];if(!t||--t.count){t=0;break}r.push(t.cls);--N}if(t)for(H=0,R=A.length;H<R;++H)t=A[H],--t.count||v.push(t)}N&&f("can't build consistent linearization",B);w=e[0];r[0]=w?w._meta&&w===r[r.length-w._meta.bases.length]?w._meta.bases.length:1:0;q=r;r=q[0];B=q.length-r;e=q[B]}else q=[0],e?"[object Function]"==u.call(e)?(r=e._meta,q=q.concat(r?r.bases:e)):f("base class is not a callable constructor.",
c):null!==e&&f("unknown base class. Did you use dojo.require to pull it in?",c);if(e)for(A=B-1;;--A){o=F(e);if(!A)break;r=q[A];(r._meta?n:D)(o,r.prototype);v=new Function;v.superclass=e;v.prototype=o;e=o.constructor=v}else o={};C.safeMixin(o,j);r=j.constructor;if(r!==I.constructor)r.nom=L,o.constructor=r;for(A=B-1;A;--A)(r=q[A]._meta)&&r.chains&&(x=D(x||{},r.chains));o["-chains-"]&&(x=D(x||{},o["-chains-"]));r=!x||!x.hasOwnProperty(L);q[0]=v=x&&"manual"===x.constructor?k(q):1==q.length?h(j.constructor,
r):d(q,r);v._meta={bases:q,hidden:j,chains:x,parents:z,ctor:j.constructor};v.superclass=e&&e.prototype;v.extend=a;v.createSubclass=g;v.prototype=o;o.constructor=v;o.getInherited=p;o.isInstanceOf=l;o.inherited=T;o.__inherited=i;if(c)o.declaredClass=c,b.setObject(c,v);if(x)for(G in x)if(o[G]&&"string"==typeof x[G]&&G!=L)r=o[G]=m(G,q,"after"===x[G]),r.nom=G;return v}var D=b.mixin,I=Object.prototype,u=I.toString,z=new Function,E=0,L="constructor",T=c.config.isDebug?j:i;c.safeMixin=C.safeMixin=function(a,
d){var c,g;for(c in d)if(g=d[c],(g!==I[c]||!(c in I))&&c!=L){if("[object Function]"==u.call(g))g.nom=c;a[c]=g}if(e("bug-for-in-skips-shadowed"))for(var h=b._extraNames,f=h.length;f;)if(c=h[--f],g=d[c],(g!==I[c]||!(c in I))&&c!=L){if("[object Function]"==u.call(g))g.nom=c;a[c]=g}return a};return c.declare=C})},"dojo/_base/kernel":function(){define(["../has","./config","require","module"],function(c,e,b,f){var i,c={},p={},j={config:e,global:this,dijit:c,dojox:p},c={dojo:["dojo",j],dijit:["dijit",c],
dojox:["dojox",p]},f=b.map&&b.map[f.id.match(/[^\/]+/)[0]];for(i in f)c[i]?c[i][0]=f[i]:c[i]=[f[i],{}];for(i in c)f=c[i],f[1]._scopeName=f[0],e.noGlobals||(this[f[0]]=f[1]);j.scopeMap=c;j.baseUrl=j.config.baseUrl=b.baseUrl;j.isAsync=b.async;j.locale=e.locale;e="$Rev: 29801 $".match(/\d+/);j.version={major:1,minor:8,patch:1,flag:"",revision:e?+e[0]:NaN,toString:function(){var b=j.version;return b.major+"."+b.minor+"."+b.patch+b.flag+" ("+b.revision+")"}};Function("d","d.eval = function(){return d.global.eval ? d.global.eval(arguments[0]) : eval(arguments[0]);}")(j);
j.exit=function(){};"undefined"!=typeof console||(console={});for(var b="assert,count,debug,dir,dirxml,error,group,groupEnd,info,profile,profileEnd,time,timeEnd,trace,warn,log".split(","),l,e=0;l=b[e++];)console[l]||function(){var b=l+"";console[b]="log"in console?function(){var a=Array.apply({},arguments);a.unshift(b+":");console.log(a.join(" "))}:function(){};console[b]._fake=!0}();j.deprecated=j.experimental=function(){};j._hasResource={};return j})},"dojo/has":function(){define("dojo/has",["require",
"module"],function(c){var e=c.has||function(){};e.add("dom-addeventlistener",!!document.addEventListener);e.add("touch","ontouchstart"in document);e.add("device-width",screen.availWidth||innerWidth);c=document.createElement("form");e.add("dom-attributes-explicit",0==c.attributes.length);e.add("dom-attributes-specified-flag",0<c.attributes.length&&40>c.attributes.length);e.clearElement=function(b){b.innerHTML="";return b};e.normalize=function(b,c){var i=b.match(/[\?:]|[^:\?]*/g),p=0,j=function(b){var c=
i[p++];if(":"==c)return 0;if("?"==i[p++]){if(!b&&e(c))return j();j(!0);return j(b)}return c||0};return(b=j())&&c(b)};e.load=function(b,c,e){b?c([b],e):e()};return e})},"dojo/_base/config":function(){define(["../has","require"],function(c,e){var b={},f=e.rawConfig,i;for(i in f)b[i]=f[i];return b})},"dojo/_base/lang":function(){define(["./kernel","../has","../sniff"],function(c,e){e.add("bug-for-in-skips-shadowed",function(){for(var a in{toString:1})return 0;return 1});var b=e("bug-for-in-skips-shadowed")?
"hasOwnProperty.valueOf.isPrototypeOf.propertyIsEnumerable.toLocaleString.toString.constructor".split("."):[],f=b.length,i=function(a,b,d){var h,e=0,f=c.global;if(!d)if(a.length){h=a[e++];try{d=c.scopeMap[h]&&c.scopeMap[h][1]}catch(j){}d=d||(h in f?f[h]:b?f[h]={}:void 0)}else return f;for(;d&&(h=a[e++]);)d=h in d?d[h]:b?d[h]={}:void 0;return d},p=Object.prototype.toString,j=function(a,b,c){return(c||[]).concat(Array.prototype.slice.call(a,b||0))},l=/\{([^\}]+)\}/g,n={_extraNames:b,_mixin:function(a,
c,d){var h,k,m,j={};for(h in c)if(k=c[h],!(h in a)||a[h]!==k&&(!(h in j)||j[h]!==k))a[h]=d?d(k):k;if(e("bug-for-in-skips-shadowed")&&c)for(m=0;m<f;++m)if(h=b[m],k=c[h],!(h in a)||a[h]!==k&&(!(h in j)||j[h]!==k))a[h]=d?d(k):k;return a},mixin:function(a,b){a||(a={});for(var c=1,h=arguments.length;c<h;c++)n._mixin(a,arguments[c]);return a},setObject:function(a,b,c){var h=a.split("."),a=h.pop();return(c=i(h,!0,c))&&a?c[a]=b:void 0},getObject:function(a,b,c){return i(a.split("."),b,c)},exists:function(a,
b){return void 0!==n.getObject(a,!1,b)},isString:function(a){return"string"==typeof a||a instanceof String},isArray:function(a){return a&&(a instanceof Array||"array"==typeof a)},isFunction:function(a){return"[object Function]"===p.call(a)},isObject:function(a){return void 0!==a&&(null===a||"object"==typeof a||n.isArray(a)||n.isFunction(a))},isArrayLike:function(a){return a&&void 0!==a&&!n.isString(a)&&!n.isFunction(a)&&!(a.tagName&&"form"==a.tagName.toLowerCase())&&(n.isArray(a)||isFinite(a.length))},
isAlien:function(a){return a&&!n.isFunction(a)&&/\{\s*\[native code\]\s*\}/.test(""+a)},extend:function(a,b){for(var c=1,h=arguments.length;c<h;c++)n._mixin(a.prototype,arguments[c]);return a},_hitchArgs:function(a,b){var d=n._toArray(arguments,2),h=n.isString(b);return function(){var e=n._toArray(arguments),f=h?(a||c.global)[b]:b;return f&&f.apply(a||this,d.concat(e))}},hitch:function(a,b){if(2<arguments.length)return n._hitchArgs.apply(c,arguments);b||(b=a,a=null);if(n.isString(b)){a=a||c.global;
if(!a[b])throw['lang.hitch: scope["',b,'"] is null (scope="',a,'")'].join("");return function(){return a[b].apply(a,arguments||[])}}return!a?b:function(){return b.apply(a,arguments||[])}},delegate:function(){function a(){}return function(b,c){a.prototype=b;var h=new a;a.prototype=null;c&&n._mixin(h,c);return h}}(),_toArray:e("ie")?function(){function a(a,b,c){c=c||[];for(b=b||0;b<a.length;b++)c.push(a[b]);return c}return function(b){return(b.item?a:j).apply(this,arguments)}}():j,partial:function(a){return n.hitch.apply(c,
[null].concat(n._toArray(arguments)))},clone:function(a){if(!a||"object"!=typeof a||n.isFunction(a))return a;if(a.nodeType&&"cloneNode"in a)return a.cloneNode(!0);if(a instanceof Date)return new Date(a.getTime());if(a instanceof RegExp)return RegExp(a);var b,c,h;if(n.isArray(a)){b=[];for(c=0,h=a.length;c<h;++c)c in a&&b.push(n.clone(a[c]))}else b=a.constructor?new a.constructor:{};return n._mixin(b,a,n.clone)},trim:String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^\s\s*/,
"").replace(/\s\s*$/,"")},replace:function(a,b,c){return a.replace(c||l,n.isFunction(b)?b:function(a,c){return n.getObject(c,!1,b)})}};n.mixin(c,n);return n})},"dojo/sniff":function(){define("dojo/sniff",["./has"],function(c){var e=navigator,b=e.userAgent,e=e.appVersion,f=parseFloat(e);c.add("air",0<=b.indexOf("AdobeAIR"));c.add("khtml",0<=e.indexOf("Konqueror")?f:void 0);c.add("webkit",parseFloat(b.split("WebKit/")[1])||void 0);c.add("chrome",parseFloat(b.split("Chrome/")[1])||void 0);c.add("safari",
0<=e.indexOf("Safari")&&!c("chrome")?parseFloat(e.split("Version/")[1]):void 0);c.add("mac",0<=e.indexOf("Macintosh"));c.add("quirks","BackCompat"==document.compatMode);c.add("ios",/iPhone|iPod|iPad/.test(b));c.add("android",parseFloat(b.split("Android ")[1])||void 0);if(!c("webkit")){0<=b.indexOf("Opera")&&c.add("opera",9.8<=f?parseFloat(b.split("Version/")[1])||f:f);0<=b.indexOf("Gecko")&&!c("khtml")&&!c("webkit")&&c.add("mozilla",f);c("mozilla")&&c.add("ff",parseFloat(b.split("Firefox/")[1]||b.split("Minefield/")[1])||
void 0);if(document.all&&!c("opera"))b=parseFloat(e.split("MSIE ")[1])||void 0,(e=document.documentMode)&&5!=e&&Math.floor(b)!=e&&(b=e),c.add("ie",b);c.add("wii","undefined"!=typeof opera&&opera.wiiremote)}return c})},"frozen/box2d/CircleEntity":function(){define(["dojo/_base/declare","./Entity"],function(c,e){return c([e],{radius:1,constructor:function(b){c.safeMixin(this,b)},draw:function(b,c){b.fillStyle=this.color;b.beginPath();b.arc(this.x*c,this.y*c,this.radius*c,0,2*Math.PI,!0);b.closePath();
b.fill();b.strokeStyle="#000000";b.beginPath();b.arc(this.x*c,this.y*c,this.radius*c,0,2*Math.PI,!0);b.closePath();b.stroke();this.inherited(arguments)}})})},"frozen/box2d/Entity":function(){define(["dojo/_base/declare","dojo/_base/lang"],function(c,e){return c(null,{id:0,x:0,y:0,angle:0,center:0,restitution:0.3,density:1,friction:0.9,linearDamping:0,linearVelocity:null,angularVelocity:0,angularDamping:0,staticBody:!1,color:"rgba(128,128,128,0.5)",hidden:!1,constructor:function(b){c.safeMixin(this,
b)},update:function(b){e.mixin(this,b)},draw:function(b,c){b.fillStyle="black";b.beginPath();b.arc(this.x*c,this.y*c,4,0,2*Math.PI,!0);b.closePath();b.fill();b.fillStyle="yellow";b.beginPath();b.arc(this.center.x*c,this.center.y*c,2,0,2*Math.PI,!0);b.closePath();b.fill()}})})},"frozen/box2d/PolygonEntity":function(){define(["dojo/_base/declare","./Entity"],function(c,e){return c([e],{points:[],constructor:function(b){c.safeMixin(this,b)},draw:function(b,c){b.save();b.translate(this.x*c,this.y*c);
b.rotate(this.angle);b.translate(-this.x*c,-this.y*c);b.fillStyle=this.color;b.beginPath();b.moveTo((this.x+this.points[0].x)*c,(this.y+this.points[0].y)*c);for(var e=1;e<this.points.length;e++)b.lineTo((this.points[e].x+this.x)*c,(this.points[e].y+this.y)*c);b.lineTo((this.x+this.points[0].x)*c,(this.y+this.points[0].y)*c);b.closePath();b.fill();b.stroke();b.restore();this.inherited(arguments)}})})},"frozen/box2d/RectangleEntity":function(){define(["dojo/_base/declare","./Entity"],function(c,e){return c([e],
{halfWidth:1,halfHeight:1,constructor:function(b){c.safeMixin(this,b)},draw:function(b,c){b.save();b.translate(this.x*c,this.y*c);b.rotate(this.angle);b.translate(-this.x*c,-this.y*c);b.fillStyle=this.color;b.fillRect((this.x-this.halfWidth)*c,(this.y-this.halfHeight)*c,2*this.halfWidth*c,2*this.halfHeight*c);b.restore();this.inherited(arguments)}})})},"frozen/reiner/Creature":function(){define(["dojo/_base/declare","dojo/_base/lang","../Sprite","../Animation"],function(c,e,b,f){return c([b],{statics:{EAST:0,
NORTH:1,NORTHEAST:2,NORTHWEST:3,SOUTH:4,SOUTHEAST:5,SOUTHWEST:6,WEST:7,STATE_WALKING:0,STATE_DYING:1,STATE_IDLE:2},state:0,walkingAnims:[],dyingAnims:[],idleAnims:[],direction:0,constructor:function(b){this.state=this.statics.STATE_IDLE;this.direction=this.statics.EAST;c.safeMixin(this,b)},update:function(b){this.x+=this.dx*b;this.y+=this.dy*b;if(this.state!==this.statics.STATE_DYING){if(0<this.dx&&0===this.dy)this.direction=this.statics.EAST;else if(0===this.dx&&0>this.dy)this.direction=this.statics.NORTH;
else if(0<this.dx&&0>this.dy)this.direction=this.statics.NORTHEAST;else if(0>this.dx&&0>this.dy)this.direction=this.statics.NORTHWEST;else if(0===this.dx&&0<this.dy)this.direction=this.statics.SOUTH;else if(0<this.dx&&0<this.dy)this.direction=this.statics.SOUTHEAST;else if(0>this.dx&&0<this.dy)this.direction=this.statics.SOUTHWEST;else if(0>this.dx&&0===this.dy)this.direction=this.statics.WEST;this.state=0===this.dx&&0===this.dy?this.statics.STATE_IDLE:this.statics.STATE_WALKING}this.anim=this.state===
this.statics.STATE_WALKING?this.walkingAnims[this.direction]:this.state===this.statics.STATE_DYING?this.dyingAnims[this.direction]:this.idleAnims[this.direction];this.anim.update(b)},createAnimations:function(b,c,j,l,n,a){var g=[],d=e.isArray(c),h=1;a||(a=0);for(var k=0;8>k;k++){g[k]=new f({height:l,width:n,image:j});for(var m=0;m<b;m++)h=d?c[m]:c,g[k].addFrame(h,m+b*k,a)}return g}})})},"frozen/Sprite":function(){define(["dojo/_base/declare"],function(c){var e=c(null,{x:0,y:0,dx:0,dy:0,name:null,
collisionRadius:40,constructor:function(b){c.safeMixin(this,b)},update:function(b){this.x+=this.dx*b;this.y+=this.dy*b;this.anim.update(b)},getX:function(){return this.x},getY:function(){return this.y},setX:function(b){this.x=b},setY:function(b){this.y=b},getWidth:function(){return this.anim.width},getHeight:function(){return this.anim.height},getVelocityX:function(){return this.dx},getVelocityY:function(){return this.dy},setVelocityX:function(b){this.dx=this.limitSpeed(b)},setVelocityY:function(b){this.dy=
this.limitSpeed(b)},limitSpeed:function(b){return this.getMaxSpeed()?Math.abs(b)>this.getMaxSpeed()?0<b?this.getMaxSpeed():0>b?this.getMaxSpeed():0:b:b},getMaxSpeed:function(){return this.maxSpeed},getCurrentFrame:function(){return this.anim.getCurrentFrame()},drawCurrentFrame:function(b){var c=this.anim.getCurrentFrame();b.drawImage(this.anim.image,c.imgSlotX*this.anim.width,c.imgSlotY*this.anim.height,this.anim.width,this.anim.height,this.x,this.y,this.anim.width,this.anim.height)},clone:function(){return new e({anim:this.anim.clone()})}});
return e})},"frozen/Animation":function(){define(["./AnimFrame","dojo/_base/declare","dojo/_base/lang"],function(c,e,b){var f=e(null,{currFrameIndex:0,animTime:0,totalDuration:0,height:64,width:64,image:null,constructor:function(b){e.safeMixin(this,b);this.start()},createFromTile:function(c,e,j,l,n,a){j=new f({image:j,height:l,width:n});l=b.isArray(e);n=1;a||(a=0);for(var g=0;g<c;g++)n=l?e[g]:e,j.addFrame(n,g,a);return j},clone:function(){return new f({image:this.image,frames:this.frames,totalDuration:this.totalDuration})},
addFrame:function(b,e,f){if(!this.frames)this.frames=[];this.totalDuration+=b;this.frames.push(new c({endTime:this.totalDuration,image:this.image,imgSlotX:e,imgSlotY:f}))},start:function(){this.currFrameIndex=this.animTime=0},update:function(b){if(1<this.frames.length){this.animTime+=b;if(this.animTime>=this.totalDuration)this.animTime%=this.totalDuration,this.currFrameIndex=0;for(;this.animTime>this.getFrame(this.currFrameIndex).endTime;)this.currFrameIndex++}},getImage:function(){return this.image},
getFrame:function(b){return this.frames[b]},getCurrentFrame:function(){return 0===this.frames.length?null:this.getFrame(this.currFrameIndex)}});return f})},"frozen/AnimFrame":function(){define(["dojo/_base/declare"],function(c){return c(null,{endTime:0,imgSlotX:0,imgSlotY:0,image:null,constructor:function(e){c.safeMixin(this,e)}})})},"frozen/GameAction":function(){define(["dojo/_base/declare"],function(c){return c(null,{name:null,behavior:0,amount:0,state:0,statics:{NORMAL:0,DETECT_INITAL_PRESS_ONLY:1,
STATE_RELEASED:0,STATE_PRESSED:1,STATE_WAITING_FOR_RELEASE:2,STATE_MOVED:3},constructor:function(e){c.safeMixin(this,e);this.reset()},getName:function(){return this.name},reset:function(){this.state=this.statics.STATE_RELEASED;this.amount=0},tap:function(){this.press();this.release()},press:function(){this.state=this.statics.STATE_PRESSED;this.behavior===this.statics.DETECT_INITAL_PRESS_ONLY&&this.pressAmt(1)},pressAmt:function(c){if(this.state!==this.statics.STATE_WAITING_FOR_RELEASE)this.amount+=
c,this.state=this.statics.STATE_WAITING_FOR_RELEASE},release:function(){this.state=this.statics.STATE_RELEASED},isPressed:function(){return this.state===this.statics.STATE_PRESSED?!0:!1},getAmount:function(){var c=this.amount;if(0!==c)if(this.state===this.statics.STATE_RELEASED)this.amount=0;else if(this.behavior===this.statics.DETECT_INITAL_PRESS_ONLY)this.state=this.statics.STATE_WAITING_FOR_RELEASE,this.amount=0;return c}})})},"frozen/MouseAction":function(){define(["dojo/_base/declare","./GameAction"],
function(c,e){return c([e],{startPosition:null,endPosition:null,position:null,constructor:function(b){c.safeMixin(this,b);this.reset()}})})},"frozen/GameCore":function(){define("dojo/_base/declare,dojo/_base/lang,dojo/dom,./InputManager,./ResourceManager,./shims/RAF".split(","),function(c,e,b,f,i){return c(null,{statics:{FONT_SIZE:24},isRunning:!1,canvasId:null,maxStep:40,contextType:"2d",height:0,width:0,resourceManager:null,inputManager:null,loadingForeground:"#00F",loadingBackground:"#FFF",constructor:function(b){c.safeMixin(this,
b)},stop:function(){this.isRunning=!1},run:function(){this.isRunning||(this.init(),this.loadResources(this.resourceManager),this.initInput(this.inputManager),this.launchLoop())},loadResources:function(){},init:function(){if(!this.canvas)this.canvas=b.byId(this.canvasId);if(this.canvas){if(!this.context)this.context=this.canvas.getContext(this.contextType);if(this.canvas){this.height?this.canvas.height=this.height:this.height=this.canvas.height;this.width?this.canvas.width=this.width:this.width=this.canvas.width;
if(!this.inputManager)this.inputManager=new f({canvas:this.canvas});if(!this.resourceManager)this.resourceManager=new i;this.loadResources(this.resourceManager);this.isRunning=!0}else alert("Sorry, your browser does not support a "+this.contextType+" drawing surface on canvas. I recommend any browser but Internet Explorer")}else alert("Sorry, your browser does not support canvas. I recommend any browser but Internet Explorer")},initInput:function(){},handleInput:function(){},gameLoop:function(){this.currTime=
(new Date).getTime();this.elapsedTime=Math.min(this.currTime-this.prevTime,this.maxStep);this.prevTime=this.currTime;this.resourceManager&&!this.resourceManager.resourcesReady()?(this.updateLoadingScreen(this.elapsedTime),this.drawLoadingScreen(this.context)):(this.handleInput(this.inputManager,this.elapsedTime),this.paused||this.update(this.elapsedTime),this.context.save(),this.draw(this.context),this.context.restore())},launchLoop:function(){this.elapsedTime=0;var b=Date.now();this.prevTime=this.currTime=
b;this.loopRunner=e.hitch(this,this.loopRunner);window.requestAnimationFrame(this.loopRunner)},loopRunner:function(){this.gameLoop();window.requestAnimationFrame(this.loopRunner)},update:function(){},updateLoadingScreen:function(){},draw:function(b){if("2d"===this.contextType)b.font="14px sans-serif",b.fillText("This game does not have its own draw function!",10,50)},drawLoadingScreen:function(b){if(this.resourceManager&&"2d"===this.contextType)b.fillStyle=this.loadingBackground,b.fillRect(0,0,this.width,
this.height),b.fillStyle=this.loadingForeground,b.strokeStyle=this.loadingForeground,b.font="bold "+Math.floor(this.height/12)+"px sans-serif",b.fillText("Loading... "+this.resourceManager.getPercentComplete()+"%",0.1*this.width,0.55*this.height),b.strokeRect(0.1*this.width,0.7*this.height,0.8*this.width,0.1*this.height),b.fillRect(0.1*this.width,0.7*this.height,0.8*this.width*this.resourceManager.getPercentComplete()/100,0.1*this.height),b.lineWidth=4}})})},"dojo/dom":function(){define(["./sniff",
"./_base/lang","./_base/window"],function(c,e,b){if(7>=c("ie"))try{document.execCommand("BackgroundImageCache",!1,!0)}catch(f){}var i={};i.byId=c("ie")?function(c,e){if("string"!=typeof c)return c;var f=e||b.doc,i=c&&f.getElementById(c);if(i&&(i.attributes.id.value==c||i.id==c))return i;f=f.all[c];if(!f||f.nodeName)f=[f];for(var a=0;i=f[a++];)if(i.attributes&&i.attributes.id&&i.attributes.id.value==c||i.id==c)return i}:function(c,e){return("string"==typeof c?(e||b.doc).getElementById(c):c)||null};
i.isDescendant=function(b,c){try{b=i.byId(b);for(c=i.byId(c);b;){if(b==c)return!0;b=b.parentNode}}catch(e){}return!1};i.setSelectable=function(b,e){b=i.byId(b);if(c("mozilla"))b.style.MozUserSelect=e?"":"none";else if(c("khtml")||c("webkit"))b.style.KhtmlUserSelect=e?"auto":"none";else if(c("ie"))for(var f=b.unselectable=e?"":"on",n=b.getElementsByTagName("*"),a=0,g=n.length;a<g;++a)n.item(a).unselectable=f};return i})},"dojo/_base/window":function(){define(["./kernel","./lang","../sniff"],function(c,
e,b){var f={global:c.global,doc:this.document||null,body:function(b){b=b||c.doc;return b.body||b.getElementsByTagName("body")[0]},setContext:function(b,e){c.global=f.global=b;c.doc=f.doc=e},withGlobal:function(b,e,j,l){var n=c.global;try{return c.global=f.global=b,f.withDoc.call(null,b.document,e,j,l)}finally{c.global=f.global=n}},withDoc:function(e,p,j,l){var n=f.doc,a=b("quirks"),g=b("ie"),d,h,k;try{c.doc=f.doc=e;c.isQuirks=b.add("quirks","BackCompat"==c.doc.compatMode,!0,!0);if(b("ie")&&(k=e.parentWindow)&&
k.navigator)d=parseFloat(k.navigator.appVersion.split("MSIE ")[1])||void 0,(h=e.documentMode)&&5!=h&&Math.floor(d)!=h&&(d=h),c.isIE=b.add("ie",d,!0,!0);j&&"string"==typeof p&&(p=j[p]);return p.apply(j,l||[])}finally{c.doc=f.doc=n,c.isQuirks=b.add("quirks",a,!0,!0),c.isIE=b.add("ie",g,!0,!0)}}};e.mixin(c,f);return f})},"frozen/InputManager":function(){define("./GameAction,./MouseAction,dojo/_base/declare,dojo/on,dojo/dom-geometry,dojo/_base/lang,dojo/domReady!".split(","),function(c,e,b,f,i,p){return b(null,
{keyActions:[],mouseAction:null,touchAction:null,canvas:null,handleMouse:!0,handleTouch:!0,constructor:function(c){b.safeMixin(this,c);f(document,"keydown",p.hitch(this,"keyPressed"));f(document,"keyup",p.hitch(this,"keyReleased"));this.handleMouse&&(f(this.canvas,"mousedown",p.hitch(this,"mouseDown")),f(document,"mouseup",p.hitch(this,"mouseUp")),f(this.canvas,"mousemove",p.hitch(this,"mouseMove")));this.handleTouch&&(f(document,"touchend",p.hitch(this,"touchEnd")),f(this.canvas,"touchstart",p.hitch(this,
"touchStart")),f(this.canvas,"touchmove",p.hitch(this,"touchMove")));if(!this.mouseAction)this.mouseAction=new e;if(!this.touchAction)this.touchAction=new e},mapToKey:function(b,c){if(!this.keyActions)this.keyActions=[];this.keyActions[c]=b},addKeyAction:function(b,e){var f=new c;if(e)f.behavior=f.statics.DETECT_INITAL_PRESS_ONLY;this.mapToKey(f,b);return f},setMouseAction:function(b){this.mouseAction=b},setTouchAction:function(b){this.touchAction=b},mouseUp:function(b){this.mouseAction.release();
this.mouseAction.endPosition=this.getMouseLoc(b)},mouseDown:function(b){this.mouseAction.press();this.mouseAction.startPosition=this.getMouseLoc(b);this.mouseAction.position=this.mouseAction.startPosition},mouseMove:function(b){this.mouseAction.position=this.getMouseLoc(b)},touchStart:function(b){this.touchAction.press();this.touchAction.startPosition=this.getMouseLoc(b.changedTouches[0]);this.touchAction.position=this.touchAction.startPosition},touchEnd:function(b){this.touchAction.release();this.mouseAction.endPosition=
this.getMouseLoc(b)},touchMove:function(b){this.touchAction.position=this.getMouseLoc(b.changedTouches[0])},getKeyAction:function(b){return this.keyActions.length?this.keyActions[b.keyCode]:null},keyPressed:function(b){(b=this.getKeyAction(b))&&!b.isPressed()&&b.press()},keyReleased:function(b){(b=this.getKeyAction(b))&&b.release()},keyTyped:function(){},getMouseLoc:function(b){var c=i.position(this.canvas);return{x:Math.round(b.clientX-c.x),y:Math.round(b.clientY-c.y)}}})})},"dojo/on":function(){define("dojo/on",
["./has!dom-addeventlistener?:./aspect","./_base/kernel","./has"],function(c,e,b){function f(a,c,g,e,h){if(e=c.match(/(.*):(.*)/))return c=e[2],e=e[1],l.selector(e,c).call(h,a,g);b("touch")&&(n.test(c)&&(g=E(g)),!b("event-orientationchange")&&"orientationchange"==c&&(c="resize",a=window,g=E(g)));k&&(g=k(g));if(a.addEventListener){var f=c in d,m=f?d[c]:c;a.addEventListener(m,g,f);return{remove:function(){a.removeEventListener(m,g,f)}}}if(C&&a.attachEvent)return C(a,"on"+c,g);throw Error("Target must be an event emitter");
}function i(){this.cancelable=!1}function p(){this.bubbles=!1}var j=window.ScriptEngineMajorVersion;b.add("jscript",j&&j()+ScriptEngineMinorVersion()/10);b.add("event-orientationchange",b("touch")&&!b("android"));b.add("event-stopimmediatepropagation",window.Event&&!!window.Event.prototype&&!!window.Event.prototype.stopImmediatePropagation);var l=function(a,b,c,d){return"function"==typeof a.on&&"function"!=typeof b?a.on(b,c):l.parse(a,b,c,f,d,this)};l.pausable=function(a,b,c,d){var g,a=l(a,b,function(){if(!g)return c.apply(this,
arguments)},d);a.pause=function(){g=!0};a.resume=function(){g=!1};return a};l.once=function(a,b,c){var d=l(a,b,function(){d.remove();return c.apply(this,arguments)});return d};l.parse=function(a,b,c,d,g,e){if(b.call)return b.call(e,a,c);if(-1<b.indexOf(",")){for(var b=b.split(/\s*,\s*/),h=[],f=0,m;m=b[f++];)h.push(d(a,m,c,g,e));h.remove=function(){for(var a=0;a<h.length;a++)h[a].remove()};return h}return d(a,b,c,g,e)};var n=/^touch/;l.selector=function(a,b,c){return function(d,g){function h(b){for(f=
f&&f.matches?f:e.query;!f.matches(b,a,d);)if(b==d||!1===c||!(b=b.parentNode)||1!=b.nodeType)return;return b}var f="function"==typeof a?{matches:a}:this,m=b.bubble;return m?l(d,m(h),g):l(d,b,function(a){var b=h(a.target);return b&&g.call(b,a)})}};var a=[].slice,g=l.emit=function(b,c,d){var g=a.call(arguments,2),e="on"+c;if("parentNode"in b){var h=g[0]={},f;for(f in d)h[f]=d[f];h.preventDefault=i;h.stopPropagation=p;h.target=b;h.type=c;d=h}do b[e]&&b[e].apply(b,g);while(d&&d.bubbles&&(b=b.parentNode));
return d&&d.cancelable&&d},d={};if(!b("event-stopimmediatepropagation"))var h=function(){this.modified=this.immediatelyStopped=!0},k=function(a){return function(b){if(!b.immediatelyStopped)return b.stopImmediatePropagation=h,a.apply(this,arguments)}};if(b("dom-addeventlistener")){d={focusin:"focus",focusout:"blur"};if(b("opera"))d.keydown="keypress";l.emit=function(a,b,c){if(a.dispatchEvent&&document.createEvent){var d=a.ownerDocument.createEvent("HTMLEvents");d.initEvent(b,!!c.bubbles,!!c.cancelable);
for(var e in c)e in d||(d[e]=c[e]);return a.dispatchEvent(d)&&d}return g.apply(l,arguments)}}else{l._fixEvent=function(a,b){if(!a)a=(b&&(b.ownerDocument||b.document||b).parentWindow||window).event;if(!a)return a;m&&a.type==m.type&&(a=m);if(!a.target){a.target=a.srcElement;a.currentTarget=b||a.srcElement;if("mouseover"==a.type)a.relatedTarget=a.fromElement;if("mouseout"==a.type)a.relatedTarget=a.toElement;if(!a.stopPropagation)a.stopPropagation=D,a.preventDefault=I;switch(a.type){case "keypress":var c=
"charCode"in a?a.charCode:a.keyCode;10==c?(c=0,a.keyCode=13):13==c||27==c?c=0:3==c&&(c=99);a.charCode=c;c=a;c.keyChar=c.charCode?String.fromCharCode(c.charCode):"";c.charOrCode=c.keyChar||c.keyCode}}return a};var m,F=function(a){this.handle=a};F.prototype.remove=function(){delete _dojoIEListeners_[this.handle]};var o=function(a){return function(b){var b=l._fixEvent(b,this),c=a.call(this,b);b.modified&&(m||setTimeout(function(){m=null}),m=b);return c}},C=function(a,d,g){g=o(g);if(((a.ownerDocument?
a.ownerDocument.parentWindow:a.parentWindow||a.window||window)!=top||5.8>b("jscript"))&&!b("config-_allow_leaks")){"undefined"==typeof _dojoIEListeners_&&(_dojoIEListeners_=[]);var e=a[d];if(!e||!e.listeners){var h=e,e=Function("event","var callee = arguments.callee; for(var i = 0; i<callee.listeners.length; i++){var listener = _dojoIEListeners_[callee.listeners[i]]; if(listener){listener.call(this,event);}}");e.listeners=[];a[d]=e;e.global=this;h&&e.listeners.push(_dojoIEListeners_.push(h)-1)}e.listeners.push(a=
e.global._dojoIEListeners_.push(g)-1);return new F(a)}return c.after(a,d,g,!0)},D=function(){this.cancelBubble=!0},I=l._preventDefault=function(){this.bubbledKeyCode=this.keyCode;if(this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0;this.returnValue=!1}}if(b("touch"))var u=function(){},z=window.orientation,E=function(a){return function(b){var c=b.corrected;if(!c){var d=b.type;try{delete b.type}catch(g){}b.type?(u.prototype=b,c=new u,c.preventDefault=function(){b.preventDefault()},
c.stopPropagation=function(){b.stopPropagation()}):(c=b,c.type=d);b.corrected=c;if("resize"==d){if(z==window.orientation)return null;z=window.orientation;c.type="orientationchange";return a.call(this,c)}if(!("rotation"in c))c.rotation=0,c.scale=1;var d=c.changedTouches[0],e;for(e in d)delete c[e],c[e]=d[e]}return a.call(this,c)}};return l})},"dojo/dom-geometry":function(){define(["./sniff","./_base/window","./dom","./dom-style"],function(c,e,b,f){function i(a,b,c,e,f,m){m=m||"px";a=a.style;if(!isNaN(b))a.left=
b+m;if(!isNaN(c))a.top=c+m;if(0<=e)a.width=e+m;if(0<=f)a.height=f+m}function p(a){return"button"==a.tagName.toLowerCase()||"input"==a.tagName.toLowerCase()&&"button"==(a.getAttribute("type")||"").toLowerCase()}function j(a){return"border-box"==l.boxModel||"table"==a.tagName.toLowerCase()||p(a)}var l={boxModel:"content-box"};if(c("ie"))l.boxModel="BackCompat"==document.compatMode?"border-box":"content-box";l.getPadExtents=function(a,c){var a=b.byId(a),d=c||f.getComputedStyle(a),e=f.toPixelValue,k=
e(a,d.paddingLeft),m=e(a,d.paddingTop),i=e(a,d.paddingRight),d=e(a,d.paddingBottom);return{l:k,t:m,r:i,b:d,w:k+i,h:m+d}};l.getBorderExtents=function(a,c){var a=b.byId(a),d=f.toPixelValue,e=c||f.getComputedStyle(a),k="none"!=e.borderLeftStyle?d(a,e.borderLeftWidth):0,m="none"!=e.borderTopStyle?d(a,e.borderTopWidth):0,i="none"!=e.borderRightStyle?d(a,e.borderRightWidth):0,d="none"!=e.borderBottomStyle?d(a,e.borderBottomWidth):0;return{l:k,t:m,r:i,b:d,w:k+i,h:m+d}};l.getPadBorderExtents=function(a,c){var a=
b.byId(a),d=c||f.getComputedStyle(a),e=l.getPadExtents(a,d),d=l.getBorderExtents(a,d);return{l:e.l+d.l,t:e.t+d.t,r:e.r+d.r,b:e.b+d.b,w:e.w+d.w,h:e.h+d.h}};l.getMarginExtents=function(a,c){var a=b.byId(a),d=c||f.getComputedStyle(a),e=f.toPixelValue,k=e(a,d.marginLeft),m=e(a,d.marginTop),i=e(a,d.marginRight),d=e(a,d.marginBottom);return{l:k,t:m,r:i,b:d,w:k+i,h:m+d}};l.getMarginBox=function(a,e){var a=b.byId(a),d=e||f.getComputedStyle(a),h=l.getMarginExtents(a,d),k=a.offsetLeft-h.l,m=a.offsetTop-h.t,
i=a.parentNode,j=f.toPixelValue;if(c("mozilla")){var n=parseFloat(d.left),d=parseFloat(d.top);!isNaN(n)&&!isNaN(d)?(k=n,m=d):i&&i.style&&(i=f.getComputedStyle(i),"visible"!=i.overflow&&(k+="none"!=i.borderLeftStyle?j(a,i.borderLeftWidth):0,m+="none"!=i.borderTopStyle?j(a,i.borderTopWidth):0))}else if((c("opera")||8==c("ie")&&!c("quirks"))&&i)i=f.getComputedStyle(i),k-="none"!=i.borderLeftStyle?j(a,i.borderLeftWidth):0,m-="none"!=i.borderTopStyle?j(a,i.borderTopWidth):0;return{l:k,t:m,w:a.offsetWidth+
h.w,h:a.offsetHeight+h.h}};l.getContentBox=function(a,e){var a=b.byId(a),d=e||f.getComputedStyle(a),h=a.clientWidth,k=l.getPadExtents(a,d),m=l.getBorderExtents(a,d);h?(d=a.clientHeight,m.w=m.h=0):(h=a.offsetWidth,d=a.offsetHeight);c("opera")&&(k.l+=m.l,k.t+=m.t);return{l:k.l,t:k.t,w:h-k.w-m.w,h:d-k.h-m.h}};l.setContentSize=function(a,c,d){var a=b.byId(a),e=c.w,c=c.h;j(a)&&(d=l.getPadBorderExtents(a,d),0<=e&&(e+=d.w),0<=c&&(c+=d.h));i(a,NaN,NaN,e,c)};var n={l:0,t:0,w:0,h:0};l.setMarginBox=function(a,
e,d){var a=b.byId(a),h=d||f.getComputedStyle(a),d=e.w,k=e.h,m=j(a)?n:l.getPadBorderExtents(a,h),h=l.getMarginExtents(a,h);if(c("webkit")&&p(a)){var F=a.style;if(0<=d&&!F.width)F.width="4px";if(0<=k&&!F.height)F.height="4px"}0<=d&&(d=Math.max(d-m.w-h.w,0));0<=k&&(k=Math.max(k-m.h-h.h,0));i(a,e.l,e.t,d,k)};l.isBodyLtr=function(a){a=a||e.doc;return"ltr"==(e.body(a).dir||a.documentElement.dir||"ltr").toLowerCase()};l.docScroll=function(a){var a=a||e.doc,b=e.doc.parentWindow||e.doc.defaultView;return"pageXOffset"in
b?{x:b.pageXOffset,y:b.pageYOffset}:(b=c("quirks")?e.body(a):a.documentElement)&&{x:l.fixIeBiDiScrollLeft(b.scrollLeft||0,a),y:b.scrollTop||0}};if(c("ie"))l.getIeDocumentElementOffset=function(a){a=a||e.doc;a=a.documentElement;if(8>c("ie")){var b=a.getBoundingClientRect(),d=b.left,b=b.top;7>c("ie")&&(d+=a.clientLeft,b+=a.clientTop);return{x:0>d?0:d,y:0>b?0:b}}return{x:0,y:0}};l.fixIeBiDiScrollLeft=function(a,b){var b=b||e.doc,d=c("ie");if(d&&!l.isBodyLtr(b)){var h=c("quirks"),f=h?e.body(b):b.documentElement,
m=e.global;6==d&&!h&&m.frameElement&&f.scrollHeight>f.clientHeight&&(a+=f.clientLeft);return 8>d||h?a+f.clientWidth-f.scrollWidth:-a}return a};l.position=function(a,g){var a=b.byId(a),d=e.body(a.ownerDocument),f=a.getBoundingClientRect(),f={x:f.left,y:f.top,w:f.right-f.left,h:f.bottom-f.top};if(c("ie")){var k=l.getIeDocumentElementOffset(a.ownerDocument);f.x-=k.x+(c("quirks")?d.clientLeft+d.offsetLeft:0);f.y-=k.y+(c("quirks")?d.clientTop+d.offsetTop:0)}g&&(d=l.docScroll(a.ownerDocument),f.x+=d.x,
f.y+=d.y);return f};l.getMarginSize=function(a,c){var a=b.byId(a),d=l.getMarginExtents(a,c||f.getComputedStyle(a)),e=a.getBoundingClientRect();return{w:e.right-e.left+d.w,h:e.bottom-e.top+d.h}};l.normalizeEvent=function(a){if(!("layerX"in a))a.layerX=a.offsetX,a.layerY=a.offsetY;if(!c("dom-addeventlistener")){var b=a.target,b=b&&b.ownerDocument||document,d=c("quirks")?b.body:b.documentElement,e=l.getIeDocumentElementOffset(b);a.pageX=a.clientX+l.fixIeBiDiScrollLeft(d.scrollLeft||0,b)-e.x;a.pageY=
a.clientY+(d.scrollTop||0)-e.y}};return l})},"dojo/dom-style":function(){define(["./sniff","./dom"],function(c,e){function b(b,d,e){d=d.toLowerCase();if(c("ie")){if("auto"==e){if("height"==d)return b.offsetHeight;if("width"==d)return b.offsetWidth}if("fontweight"==d)switch(e){case 700:return"bold";default:return"normal"}}d in a||(a[d]=g.test(d));return a[d]?p(b,e):e}var f,i={};f=c("webkit")?function(a){var b;if(1==a.nodeType){var c=a.ownerDocument.defaultView;b=c.getComputedStyle(a,null);if(!b&&a.style)a.style.display=
"",b=c.getComputedStyle(a,null)}return b||{}}:c("ie")&&(9>c("ie")||c("quirks"))?function(a){return 1==a.nodeType&&a.currentStyle?a.currentStyle:{}}:function(a){return 1==a.nodeType?a.ownerDocument.defaultView.getComputedStyle(a,null):{}};i.getComputedStyle=f;var p;p=c("ie")?function(a,b){if(!b)return 0;if("medium"==b)return 4;if(b.slice&&"px"==b.slice(-2))return parseFloat(b);var c=a.style,d=a.runtimeStyle,e=c.left,f=d.left;d.left=a.currentStyle.left;try{c.left=b,b=c.pixelLeft}catch(g){b=0}c.left=
e;d.left=f;return b}:function(a,b){return parseFloat(b)||0};i.toPixelValue=p;var j=function(a,b){try{return a.filters.item("DXImageTransform.Microsoft.Alpha")}catch(c){return b?{}:null}},l=9>c("ie")||c("ie")&&c("quirks")?function(a){try{return j(a).Opacity/100}catch(b){return 1}}:function(a){return f(a).opacity},n=9>c("ie")||c("ie")&&c("quirks")?function(a,b){var c=100*b,d=1==b;a.style.zoom=d?"":1;if(j(a))j(a,1).Opacity=c;else{if(d)return b;a.style.filter+=" progid:DXImageTransform.Microsoft.Alpha(Opacity="+
c+")"}j(a,1).Enabled=!d;if("tr"==a.tagName.toLowerCase())for(c=a.firstChild;c;c=c.nextSibling)"td"==c.tagName.toLowerCase()&&n(c,b);return b}:function(a,b){return a.style.opacity=b},a={left:!0,top:!0},g=/margin|padding|width|height|max|min|offset/,d=c("ie")?"styleFloat":"cssFloat",h={cssFloat:d,styleFloat:d,"float":d};i.get=function(a,c){var d=e.byId(a),f=arguments.length;if(2==f&&"opacity"==c)return l(d);var c=h[c]||c,g=i.getComputedStyle(d);return 1==f?g:b(d,c,g[c]||d.style[c])};i.set=function(a,
b,c){var d=e.byId(a),f=arguments.length,g="opacity"==b,b=h[b]||b;if(3==f)return g?n(d,c):d.style[b]=c;for(var j in b)i.set(a,j,b[j]);return i.getComputedStyle(d)};return i})},"dojo/domReady":function(){define(["./has"],function(c){function e(a){j?a(f):l.push(a)}var b=this,f=document,i={loaded:1,complete:1},p="string"!=typeof f.readyState,j=!!i[f.readyState];if(p)f.readyState="loading";if(!j){var l=[],n=[],a=function(a){a=a||b.event;if(!(j||"readystatechange"==a.type&&!i[f.readyState])){j=1;if(p)f.readyState=
"complete";for(;l.length;)l.shift()(f)}},g=function(b,c){b.addEventListener(c,a,!1);l.push(function(){b.removeEventListener(c,a,!1)})};if(!c("dom-addeventlistener")){var g=function(b,c){c="on"+c;b.attachEvent(c,a);l.push(function(){b.detachEvent(c,a)})},d=f.createElement("div");try{d.doScroll&&null===b.frameElement&&n.push(function(){try{return d.doScroll("left"),1}catch(a){}})}catch(h){}}g(f,"DOMContentLoaded");g(b,"load");"onreadystatechange"in f?g(f,"readystatechange"):p||n.push(function(){return i[f.readyState]});
if(n.length){var k=function(){if(!j){for(var b=n.length;b--;)if(n[b]()){a("poller");return}setTimeout(k,30)}};k()}}e.load=function(a,b,c){e(c)};return e})},"frozen/ResourceManager":function(){define(["dojo/_base/declare","./shims/AudioContext"],function(c){return c(null,{imageCount:0,loadedImages:0,allLoaded:!1,imageDir:null,soundsDir:null,audioContext:null,resourceList:[],constructor:function(e){c.safeMixin(this,e);if(window.AudioContext)this.audioContext=new window.AudioContext},loadImage:function(c){for(var b=
0;b<this.resourceList.length;b++)if(this.resourceList[b].name===c)return this.resourceList[b].img;this.allLoaded=!1;var b=new Image,f={name:c,img:b,complete:!1};this.imageDir&&(c=this.imageDir+c);b.onload=function(){f.complete=!0};b.src=c;this.resourceList.push(f);return b},loadSound:function(c){this.soundsDir&&(c=this.soundsDir+c);var b={name:c,buffer:null,complete:!1};if(this.audioContext){this.resourceList.push(b);var f=new XMLHttpRequest;f.open("GET",c,!0);f.responseType="arraybuffer";var i=this.audioContext;
f.onload=function(){i.decodeAudioData(f.response,function(c){b.buffer=c;b.complete=!0},function(){})};f.send()}return b},playSound:function(c,b,f){f=f||0;if(this.audioContext&&c&&(c=c.buffer||c))try{var i=this.audioContext.createBufferSource();i.buffer=c;i.connect(this.audioContext.destination);if(b)i.loop=!0;i.noteOn(f);return i}catch(p){}},resourcesReady:function(){if(!this.allLoaded){for(var c=0;c<this.resourceList.length;c++)if(!this.resourceList[c].complete)return!1;this.allLoaded=!0}return!0},
getPercentComplete:function(){for(var c=0,b=0;b<this.resourceList.length;b++)this.resourceList[b].complete&&(c+=1);return 0===this.resourceList.length?0:Math.round(100*(c/this.resourceList.length))}})})},"frozen/shims/AudioContext":function(){define(function(){for(var c=["ms","moz","webkit","o"],e=0;e<c.length&&!window.AudioContext;++e)window.AudioContext=window[c[e]+"AudioContext"]})},"frozen/shims/RAF":function(){define(function(){for(var c=0,e=["ms","moz","webkit","o"],b=0;b<e.length&&!window.requestAnimationFrame;++b)window.requestAnimationFrame=
window[e[b]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[b]+"CancelAnimationFrame"]||window[e[b]+"CancelRequestAnimationFrame"];if(!window.requestAnimationFrame)window.requestAnimationFrame=function(b){var e=(new Date).getTime(),p=Math.max(0,16-(e-c)),j=window.setTimeout(function(){b(e+p)},p);c=e+p;return j};if(!window.cancelAnimationFrame)window.cancelAnimationFrame=function(b){clearTimeout(b)}})},"dojo/keys":function(){define(["./_base/kernel","./sniff"],function(c,e){return c.keys=
{BACKSPACE:8,TAB:9,CLEAR:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,META:e("webkit")?91:224,PAUSE:19,CAPS_LOCK:20,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,INSERT:45,DELETE:46,HELP:47,LEFT_WINDOW:91,RIGHT_WINDOW:92,SELECT:93,NUMPAD_0:96,NUMPAD_1:97,NUMPAD_2:98,NUMPAD_3:99,NUMPAD_4:100,NUMPAD_5:101,NUMPAD_6:102,NUMPAD_7:103,NUMPAD_8:104,NUMPAD_9:105,NUMPAD_MULTIPLY:106,NUMPAD_PLUS:107,NUMPAD_ENTER:108,NUMPAD_MINUS:109,NUMPAD_PERIOD:110,
NUMPAD_DIVIDE: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,F13:124,F14:125,F15:126,NUM_LOCK:144,SCROLL_LOCK:145,UP_DPAD:175,DOWN_DPAD:176,LEFT_DPAD:177,RIGHT_DPAD:178,copyKey:e("mac")&&!e("air")?e("safari")?91:224:17}})}}});(function(){require({cache:{}});require.boot&&require.apply(null,require.boot)})();