/** * potion - v1.1.2 * Copyright (c) 2015, Jan Sedivy * * Potion is licensed under the MIT License. */ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Potion=e():t.Potion=e()}(this,function(){return function(t){function e(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";var n=i(1);t.exports={init:function(t,e){var i=new n(t,e);return i.controller}}},function(t,e,i){"use strict";i(2)();var n=i(3),o=i(25),r=i(26),s=i(27),a=i(29),h=function(t,e){this.container=t,this.controller=new n(t),this.app=e,this.controller.main=this.app,this.app.app=this.controller,this.tickFunc=function(t){return function(){t.tick()}}(this),this.preloaderTickFunc=function(t){return function(){t._preloaderTick()}}(this),this.strayTime=0,this._time=0,setTimeout(function(){this.configureApp()}.bind(this),0)};h.prototype.configureApp=function(){this.controller.resize(this.controller.width,this.controller.height),this.app.configure&&this.app.configure(),this.controller.video.init(),this.controller.config.addInputEvents&&(this.controller.input=new s(this.controller)),this._setDefaultStates(),this._time=o.now(),this._preloaderVideo=this.controller.video.createLayer({allowHiDPI:!0,getCanvasContext:!0}),this._preloader=new a(this.controller),this.controller.assets.start(function(){window.cancelAnimationFrame(this.preloaderId),this._preloaderVideo.destroy(),this.start()}.bind(this)),this.controller.assets.isLoading&&this.controller.config.showPreloader&&(this.preloaderId=window.requestAnimationFrame(this.preloaderTickFunc))},h.prototype.addEvents=function(){var t=this;window.addEventListener("blur",function(){t.controller.input.resetKeys(),t.app.blur&&t.app.blur()}),window.addEventListener("focus",function(){t.controller.input.resetKeys(),t.app.focus&&t.app.focus()})},h.prototype.start=function(){this.controller.config.addInputEvents&&this.addEvents(),window.requestAnimationFrame(this.tickFunc)},h.prototype.tick=function(){window.requestAnimationFrame(this.tickFunc),this.controller.debug.begin();var t=o.now(),e=(t-this._time)/1e3;this._time=t,this.controller.debug.perf("update"),this.update(e),this.controller.debug.stopPerf("update"),this.controller.states.exitUpdate(e),this.controller.debug.perf("render"),this.render(),this.controller.debug.stopPerf("render"),this.controller.debug.render(),this.controller.debug.end()},h.prototype.update=function(t){if(t>this.controller.config.maxStepTime&&(t=this.controller.config.maxStepTime),this.controller.config.fixedStep)for(this.strayTime=this.strayTime+t;this.strayTime>=this.controller.config.stepTime;)this.strayTime=this.strayTime-this.controller.config.stepTime,this.controller.states.update(this.controller.config.stepTime);else this.controller.states.update(t)},h.prototype.render=function(){this.controller.video.beginFrame(),this.controller.video.clear(),this.controller.states.render(),this.controller.video.endFrame()},h.prototype._preloaderTick=function(){this.preloaderId=window.requestAnimationFrame(this.preloaderTickFunc);var t=o.now(),e=(t-this._time)/1e3;this._time=t,this.app.preloading?this.app.preloading(e,this._preloaderVideo):this._preloader.render(e,this._preloaderVideo)},h.prototype._setDefaultStates=function(){var t=new r;t.add("main",this.app),t.add("debug",this.controller.debug),t.protect("main"),t.protect("debug"),t.hide("debug"),this.controller.states=t},t.exports=h},function(t,e){"use strict";t.exports=function(){for(var t=0,e=["ms","moz","webkit","o"],i=0;ii;i++){var o=this._children[i];o._resize(t,e)}},o.prototype._applySizeToCanvas=function(){this.canvas.width=this.width,this.canvas.height=this.height,this.config.allowHiDPI&&n&&this.scaleCanvas(2)},o.prototype.clear=function(){this.ctx&&this.ctx.clearRect(0,0,this.width,this.height)},o.prototype.createLayer=function(t){t=t||{};var e=this.app.container,i=document.createElement("canvas");i.width=this.width,i.height=this.height,i.style.position="absolute",i.style.top="0px",i.style.left="0px",e.appendChild(i);var n=new o(this.app,i,t);return n._parent=this,n._isRoot=!1,n.init(),n._resize(this.width,this.height),this._children.push(n),n},t.exports=o},function(t,e){"use strict";var i=function(){var t="(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)";return window.devicePixelRatio>1?!0:!(!window.matchMedia||!window.matchMedia(t).matches)};t.exports=i},function(t,e,i){"use strict";var n=i(7),o=i(11),r=i(12),s=i(13),a=i(16),h=function(t){this.isLoading=!1,this.itemsCount=0,this.progress=0,this._thingsToLoad=0,this._data={},this._preloading=!0,this._callback=null,this._toLoad=[],this._loaders={},this.addLoader("json",r);var e=i(17)(t.audio);this.addLoader("mp3",e),this.addLoader("music",e),this.addLoader("sound",e),this.addLoader("image",s),this.addLoader("texture",s),this.addLoader("sprite",s)};h.prototype.addLoader=function(t,e){this._loaders[t]=e},h.prototype.start=function(t){this._callback=t,this._toLoad.forEach(function(t){this._loadAssetFile(t,function(e,i){this.set(e,i),t.callback&&t.callback(i),this._finishedQueuedFile()}.bind(this))}.bind(this)),this._thingsToLoad=this.itemsCount,0===this._thingsToLoad&&this._done()},h.prototype.get=function(t){return this._data[o.normalize(t)]},h.prototype.set=function(t,e){this._data[o.normalize(t)]=e},h.prototype.remove=function(t){this.set(t,null)},h.prototype.load=function(t,e,i){var n={type:t,url:null!=e?o.normalize(e):null,callback:i,progress:0};this._preloading?this._queueFile(n):this._loadAssetFile(n,function(t,e){this.set(t,e),i&&i(e)}.bind(this))},h.prototype._queueFile=function(t){this.isLoading=!0,this.itemsCount+=1,this._toLoad.push(t)},h.prototype._finishedQueuedFile=function(){this._thingsToLoad-=1,0===this._thingsToLoad&&this._done()},h.prototype._updateProgress=function(){for(var t=0,e=0;e=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(i)?n.showHidden=i:i&&e._extend(n,i),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=r),h(n,t,n.depth)}function r(t,e){var i=o.styles[e];return i?"["+o.colors[i][0]+"m"+t+"["+o.colors[i][1]+"m":t}function s(t,e){return t}function a(t){var e={};return t.forEach(function(t,i){e[t]=!0}),e}function h(t,i,n){if(t.customInspect&&i&&k(i.inspect)&&i.inspect!==e.inspect&&(!i.constructor||i.constructor.prototype!==i)){var o=i.inspect(n,t);return x(o)||(o=h(t,o,n)),o}var r=u(t,i);if(r)return r;var s=Object.keys(i),m=a(s);if(t.showHidden&&(s=Object.getOwnPropertyNames(i)),D(i)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return p(i);if(0===s.length){if(k(i)){var g=i.name?": "+i.name:"";return t.stylize("[Function"+g+"]","special")}if(b(i))return t.stylize(RegExp.prototype.toString.call(i),"regexp");if(T(i))return t.stylize(Date.prototype.toString.call(i),"date");if(D(i))return p(i)}var v="",y=!1,w=["{","}"];if(f(i)&&(y=!0,w=["[","]"]),k(i)){var _=i.name?": "+i.name:"";v=" [Function"+_+"]"}if(b(i)&&(v=" "+RegExp.prototype.toString.call(i)),T(i)&&(v=" "+Date.prototype.toUTCString.call(i)),D(i)&&(v=" "+p(i)),0===s.length&&(!y||0==i.length))return w[0]+v+w[1];if(0>n)return b(i)?t.stylize(RegExp.prototype.toString.call(i),"regexp"):t.stylize("[Object]","special");t.seen.push(i);var S;return S=y?c(t,i,n,m,s):s.map(function(e){return l(t,i,n,m,e,y)}),t.seen.pop(),d(S,v,w)}function u(t,e){if(_(e))return t.stylize("undefined","undefined");if(x(e)){var i="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(i,"string")}return y(e)?t.stylize(""+e,"number"):m(e)?t.stylize(""+e,"boolean"):g(e)?t.stylize("null","null"):void 0}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function c(t,e,i,n,o){for(var r=[],s=0,a=e.length;a>s;++s)z(e,String(s))?r.push(l(t,e,i,n,String(s),!0)):r.push("");return o.forEach(function(o){o.match(/^\d+$/)||r.push(l(t,e,i,n,o,!0))}),r}function l(t,e,i,n,o,r){var s,a,u;if(u=Object.getOwnPropertyDescriptor(e,o)||{value:e[o]},u.get?a=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(a=t.stylize("[Setter]","special")),z(n,o)||(s="["+o+"]"),a||(t.seen.indexOf(u.value)<0?(a=g(i)?h(t,u.value,null):h(t,u.value,i-1),a.indexOf("\n")>-1&&(a=r?a.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+a.split("\n").map(function(t){return" "+t}).join("\n"))):a=t.stylize("[Circular]","special")),_(s)){if(r&&o.match(/^\d+$/))return a;s=JSON.stringify(""+o),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=t.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=t.stylize(s,"string"))}return s+": "+a}function d(t,e,i){var n=0,o=t.reduce(function(t,e){return n++,e.indexOf("\n")>=0&&n++,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0);return o>60?i[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+i[1]:i[0]+e+" "+t.join(", ")+" "+i[1]}function f(t){return Array.isArray(t)}function m(t){return"boolean"==typeof t}function g(t){return null===t}function v(t){return null==t}function y(t){return"number"==typeof t}function x(t){return"string"==typeof t}function w(t){return"symbol"==typeof t}function _(t){return void 0===t}function b(t){return S(t)&&"[object RegExp]"===O(t)}function S(t){return"object"==typeof t&&null!==t}function T(t){return S(t)&&"[object Date]"===O(t)}function D(t){return S(t)&&("[object Error]"===O(t)||t instanceof Error)}function k(t){return"function"==typeof t}function L(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t}function O(t){return Object.prototype.toString.call(t)}function E(t){return 10>t?"0"+t.toString(10):t.toString(10)}function A(){var t=new Date,e=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":");return[t.getDate(),M[t.getMonth()],e].join(" ")}function z(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var F=/%[sdj%]/g;e.format=function(t){if(!x(t)){for(var e=[],i=0;i=r)return t;switch(t){case"%s":return String(n[i++]);case"%d":return Number(n[i++]);case"%j":try{return JSON.stringify(n[i++])}catch(e){return"[Circular]"}default:return t}}),a=n[i];r>i;a=n[++i])s+=g(a)||!S(a)?" "+a:" "+o(a);return s},e.deprecate=function(i,o){function r(){if(!s){if(n.throwDeprecation)throw new Error(o);n.traceDeprecation?console.trace(o):console.error(o),s=!0}return i.apply(this,arguments)}if(_(t.process))return function(){return e.deprecate(i,o).apply(this,arguments)};if(n.noDeprecation===!0)return i;var s=!1;return r};var C,j={};e.debuglog=function(t){if(_(C)&&(C=n.env.NODE_DEBUG||""),t=t.toUpperCase(),!j[t])if(new RegExp("\\b"+t+"\\b","i").test(C)){var i=n.pid;j[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,i,n)}}else j[t]=function(){};return j[t]},e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=f,e.isBoolean=m,e.isNull=g,e.isNullOrUndefined=v,e.isNumber=y,e.isString=x,e.isSymbol=w,e.isUndefined=_,e.isRegExp=b,e.isObject=S,e.isDate=T,e.isError=D,e.isFunction=k,e.isPrimitive=L,e.isBuffer=i(9);var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.log=function(){console.log("%s - %s",A(),e.format.apply(e,arguments))},e.inherits=i(10),e._extend=function(t,e){if(!e||!S(e))return t;for(var i=Object.keys(e),n=i.length;n--;)t[i[n]]=e[i[n]];return t}}).call(e,function(){return this}(),i(8))},function(t,e){"use strict";function i(){u=!1,s.length?h=s.concat(h):p=-1,h.length&&n()}function n(){if(!u){var t=setTimeout(i);u=!0;for(var e=h.length;e;){for(s=h,h=[];++p1)for(var i=1;i=0;n--){var o=t[n];"."===o?t.splice(n,1):".."===o?(t.splice(n,1),i++):i&&(t.splice(n,1),i--)}if(e)for(;i--;i)t.unshift("..");return t}function n(t,e){if(t.filter)return t.filter(e);for(var i=[],n=0;n=-1&&!o;r--){var s=r>=0?arguments[r]:t.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(e=s+"/"+e,o="/"===s.charAt(0))}return e=i(n(e.split("/"),function(t){return!!t}),!o).join("/"),(o?"/":"")+e||"."},e.normalize=function(t){var o=e.isAbsolute(t),r="/"===s(t,-1);return t=i(n(t.split("/"),function(t){return!!t}),!o).join("/"),t||o||(t="."),t&&r&&(t+="/"),(o?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(n(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,i){function n(t){for(var e=0;e=0&&""===t[i];i--);return e>i?[]:t.slice(e,i-e+1)}t=e.resolve(t).substr(1),i=e.resolve(i).substr(1);for(var o=n(t.split("/")),r=n(i.split("/")),s=Math.min(o.length,r.length),a=s,h=0;s>h;h++)if(o[h]!==r[h]){a=h;break}for(var u=[],h=a;he&&(e=t.length+e),t.substr(e,i)}}).call(e,i(8))},function(t,e){"use strict";t.exports=function(t,e){var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="text",i.addEventListener("progress",function(t){var i=t.loaded/t.total;e.progress(i)}),i.onload=function(){if(200!==i.status)return e.error(t);var n=JSON.parse(this.response);e.done(n)},i.send()}},function(t,e,i){"use strict";var n=i(14),o=i(11);t.exports=function(t,e){var i=window.URL||window.webkitURL,r=o.extname(t);if(i&&"createObjectURL"in i&&"Uint8Array"in window&&"Blob"in window){var s=new XMLHttpRequest;return s.open("GET",t,!0),s.responseType="arraybuffer",s.addEventListener("progress",function(t){var i=t.loaded/t.total;e.progress(i)}),s.onload=function(){if(200!==s.status)return e.error(t);var o,a=new Uint8Array(this.response);o=".svg"===r||".svgz"===r?"image/svg+xml":n(a).mime;var h=new Blob([a],{type:o}),u=new Image;u.src=i.createObjectURL(h),e.done(u)},void s.send()}var a=new Image;a.onload=function(){e.done(a)},a.onerror=function(){e.error(t)},a.src=t}},function(t,e,i){"use strict";var n=i(15);t.exports=function(t){var e=["jpg","png","gif","webp","tif","bmp","jxr","psd"],i=n(t);return-1!==e.indexOf(i&&i.ext)?i:null}},function(t,e){"use strict";t.exports=function(t){return t&&t.length>1?255===t[0]&&216===t[1]&&255===t[2]?{ext:"jpg",mime:"image/jpeg"}:137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]?{ext:"png",mime:"image/png"}:71===t[0]&&73===t[1]&&70===t[2]?{ext:"gif",mime:"image/gif"}:87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?{ext:"webp",mime:"image/webp"}:(73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3])&&67===t[8]&&82===t[9]?{ext:"cr2",mime:"image/x-canon-cr2"}:73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3]?{ext:"tif",mime:"image/tiff"}:66===t[0]&&77===t[1]?{ext:"bmp",mime:"image/bmp"}:73===t[0]&&73===t[1]&&188===t[2]?{ext:"jxr",mime:"image/vnd.ms-photo"}:56===t[0]&&66===t[1]&&80===t[2]&&83===t[3]?{ext:"psd",mime:"image/vnd.adobe.photoshop"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&109===t[30]&&105===t[31]&&109===t[32]&&101===t[33]&&116===t[34]&&121===t[35]&&112===t[36]&&101===t[37]&&97===t[38]&&112===t[39]&&112===t[40]&&108===t[41]&&105===t[42]&&99===t[43]&&97===t[44]&&116===t[45]&&105===t[46]&&111===t[47]&&110===t[48]&&47===t[49]&&101===t[50]&&112===t[51]&&117===t[52]&&98===t[53]&&43===t[54]&&122===t[55]&&105===t[56]&&112===t[57]?{ext:"epub",mime:"application/epub+zip"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&77===t[30]&&69===t[31]&&84===t[32]&&65===t[33]&&45===t[34]&&73===t[35]&&78===t[36]&&70===t[37]&&47===t[38]&&109===t[39]&&111===t[40]&&122===t[41]&&105===t[42]&&108===t[43]&&108===t[44]&&97===t[45]&&46===t[46]&&114===t[47]&&115===t[48]&&97===t[49]?{ext:"xpi",mime:"application/x-xpinstall"}:80!==t[0]||75!==t[1]||3!==t[2]&&5!==t[2]&&7!==t[2]||4!==t[3]&&6!==t[3]&&8!==t[3]?117===t[257]&&115===t[258]&&116===t[259]&&97===t[260]&&114===t[261]?{ext:"tar",mime:"application/x-tar"}:82!==t[0]||97!==t[1]||114!==t[2]||33!==t[3]||26!==t[4]||7!==t[5]||0!==t[6]&&1!==t[6]?31===t[0]&&139===t[1]&&8===t[2]?{ext:"gz",mime:"application/gzip"}:66===t[0]&&90===t[1]&&104===t[2]?{ext:"bz2",mime:"application/x-bzip2"}:55===t[0]&&122===t[1]&&188===t[2]&&175===t[3]&&39===t[4]&&28===t[5]?{ext:"7z",mime:"application/x-7z-compressed"}:120===t[0]&&1===t[1]?{ext:"dmg",mime:"application/x-apple-diskimage"}:0===t[0]&&0===t[1]&&0===t[2]&&(24===t[3]||32===t[3])&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]||51===t[0]&&103===t[1]&&112===t[2]&&53===t[3]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&109===t[16]&&112===t[17]&&52===t[18]&&49===t[19]&&109===t[20]&&112===t[21]&&52===t[22]&&50===t[23]&&105===t[24]&&115===t[25]&&111===t[26]&&109===t[27]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&105===t[8]&&115===t[9]&&111===t[10]&&109===t[11]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&0===t[15]?{ext:"mp4",mime:"video/mp4"}:0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&86===t[10]?{ext:"m4v",mime:"video/x-m4v"}:77===t[0]&&84===t[1]&&104===t[2]&&100===t[3]?{ext:"mid",mime:"audio/midi"}:109===t[31]&&97===t[32]&&116===t[33]&&114===t[34]&&111===t[35]&&115===t[36]&&107===t[37]&&97===t[38]?{ext:"mkv",mime:"video/x-matroska"}:26===t[0]&&69===t[1]&&223===t[2]&&163===t[3]?{ext:"webm",mime:"video/webm"}:0===t[0]&&0===t[1]&&0===t[2]&&20===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]?{ext:"mov",mime:"video/quicktime"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&65===t[8]&&86===t[9]&&73===t[10]?{ext:"avi",mime:"video/x-msvideo"}:48===t[0]&&38===t[1]&&178===t[2]&&117===t[3]&&142===t[4]&&102===t[5]&&207===t[6]&&17===t[7]&&166===t[8]&&217===t[9]?{ext:"wmv",mime:"video/x-ms-wmv"}:0===t[0]&&0===t[1]&&1===t[2]&&"b"===t[3].toString(16)[0]?{ext:"mpg",mime:"video/mpeg"}:73===t[0]&&68===t[1]&&51===t[2]||255===t[0]&&251===t[1]?{ext:"mp3",mime:"audio/mpeg"}:102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&65===t[10]||77===t[0]&&52===t[1]&&65===t[2]&&32===t[3]?{ext:"m4a",mime:"audio/m4a"}:79===t[28]&&112===t[29]&&117===t[30]&&115===t[31]&&72===t[32]&&101===t[33]&&97===t[34]&&100===t[35]?{ext:"opus",mime:"audio/opus"}:79===t[0]&&103===t[1]&&103===t[2]&&83===t[3]?{ext:"ogg",mime:"audio/ogg"}:102===t[0]&&76===t[1]&&97===t[2]&&67===t[3]?{ext:"flac",mime:"audio/x-flac"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&87===t[8]&&65===t[9]&&86===t[10]&&69===t[11]?{ext:"wav",mime:"audio/x-wav"}:35===t[0]&&33===t[1]&&65===t[2]&&77===t[3]&&82===t[4]&&10===t[5]?{ext:"amr",mime:"audio/amr"}:37===t[0]&&80===t[1]&&68===t[2]&&70===t[3]?{ext:"pdf",mime:"application/pdf"}:77===t[0]&&90===t[1]?{ext:"exe",mime:"application/x-msdownload"}:67!==t[0]&&70!==t[0]||87!==t[1]||83!==t[2]?123===t[0]&&92===t[1]&&114===t[2]&&116===t[3]&&102===t[4]?{ext:"rtf",mime:"application/rtf"}:119===t[0]&&79===t[1]&&70===t[2]&&70===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff",mime:"application/font-woff"}:119===t[0]&&79===t[1]&&70===t[2]&&50===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff2",mime:"application/font-woff"}:76===t[34]&&80===t[35]&&(0===t[8]&&0===t[9]&&1===t[10]||1===t[8]&&0===t[9]&&2===t[10]||2===t[8]&&0===t[9]&&2===t[10])?{ext:"eot",mime:"application/octet-stream"}:0===t[0]&&1===t[1]&&0===t[2]&&0===t[3]&&0===t[4]?{ext:"ttf",mime:"application/font-sfnt"}:79===t[0]&&84===t[1]&&84===t[2]&&79===t[3]&&0===t[4]?{ext:"otf",mime:"application/font-sfnt"}:0===t[0]&&0===t[1]&&1===t[2]&&0===t[3]?{ext:"ico",mime:"image/x-icon"}:70===t[0]&&76===t[1]&&86===t[2]&&1===t[3]?{ext:"flv",mime:"video/x-flv"}:37===t[0]&&33===t[1]?{ext:"ps",mime:"application/postscript"}:253===t[0]&&55===t[1]&&122===t[2]&&88===t[3]&&90===t[4]&&0===t[5]?{ext:"xz",mime:"application/x-xz"}:83===t[0]&&81===t[1]&&76===t[2]&&105===t[3]?{ext:"sqlite",mime:"application/x-sqlite3"}:78===t[0]&&69===t[1]&&83===t[2]&&26===t[3]?{ext:"nes",mime:"application/x-nintendo-nes-rom"}:67===t[0]&&114===t[1]&&50===t[2]&&52===t[3]?{ext:"crx",mime:"application/x-google-chrome-extension"}:77===t[0]&&83===t[1]&&67===t[2]&&70===t[3]||73===t[0]&&83===t[1]&&99===t[2]&&40===t[3]?{ext:"cab",mime:"application/vnd.ms-cab-compressed"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]&&10===t[7]&&100===t[8]&&101===t[9]&&98===t[10]&&105===t[11]&&97===t[12]&&110===t[13]&&45===t[14]&&98===t[15]&&105===t[16]&&110===t[17]&&97===t[18]&&114===t[19]&&121===t[20]?{ext:"deb",mime:"application/x-deb"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]?{ext:"ar",mime:"application/x-unix-archive"}:237===t[0]&&171===t[1]&&238===t[2]&&219===t[3]?{ext:"rpm",mime:"application/x-rpm"}:31===t[0]&&160===t[1]||31===t[0]&&157===t[1]?{ext:"Z",mime:"application/x-compress"}:76===t[0]&&90===t[1]&&73===t[2]&&80===t[3]?{ext:"lz",mime:"application/x-lzip"}:208===t[0]&&207===t[1]&&17===t[2]&&224===t[3]&&161===t[4]&&177===t[5]&&26===t[6]&&225===t[7]?{ext:"msi",mime:"application/x-msi"}:null:{ext:"swf",mime:"application/x-shockwave-flash"}:{ext:"rar",mime:"application/x-rar-compressed"}:{ext:"zip",mime:"application/zip"}:null}},function(t,e){"use strict";t.exports=function(t,e){var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="text",i.addEventListener("progress",function(t){var i=t.loaded/t.total;e.progress(i)}),i.onload=function(){if(200!==i.status)return e.error(t);var n=this.response;e.done(n)},i.send()}},function(t,e){"use strict";t.exports=function(t){return function(e,i){t.load(e,{done:function(t){i.done(t)},progress:function(t){var e=t.loaded/t.total;i.progress(e)}})}}},function(t,e,i){"use strict";t.exports=i(19)},function(t,e,i){"use strict";var n=i(7),o=i(20),r=[],s=function(){var t=r.pop();return t?t:{}},a=function(t){return 9>=t?48+t:10===t?48:t>10&&36>=t?64+(t-10):null},h=[{name:"Show FPS",entry:"showFps",defaults:!0},{name:"Show Key Codes",entry:"showKeyCodes",defaults:!0},{name:"Show Monitor Values",entry:"showMonitorValues",defaults:!0}],u=function(t){this.video=t.video.createLayer({allowHiDPI:!0,getCanvasContext:!0}),this.graph=t.video.createLayer({allowHiDPI:!1,getCanvasContext:!0}),this._graphHeight=100,this._60fpsMark=.8*this._graphHeight,this._msToPx=this._60fpsMark/16.66,this.app=t,this.options=h,this._maxLogsCounts=10;for(var e=0;e=this._maxLogsCounts&&r.push(this.logs.shift());var h=s();h.text=a,h.life=10,h.color=e,this.logs.push(h)}},u.prototype.update=function(){},u.prototype.exitUpdate=function(t){if(!this.disabled&&this.showDebug){if(this._maxLogsCounts=Math.ceil((this.app.height+20)/20),this.fpsCount+=1,this.fpsElapsedTime+=t,this.fpsElapsedTime>this.fpsUpdateInterval){var e=this.fpsCount/this.fpsElapsedTime;this.showFps&&(this.fps=this.fps*(1-.8)+.8*e),this.fpsCount=0,this.fpsElapsedTime=0}for(var i=0,n=this.logs.length;n>i;i++){var o=this.logs[i];if(o&&(o.life-=t,o.life<=0)){var r=this.logs.indexOf(o);r>-1&&this.logs.splice(r,1)}}for(var i=0;it;t++){var i=this.logs[t],n=-10+this.app.height+20*(t-this.logs.length+1);this._renderText(i.text,10,n,i.color)}},u.prototype.disable=function(){this.disabled=!0,this.showDebug=!1},u.prototype.monitor=function(t,e){this._monitor[t]=e},u.prototype.perf=function(t){if(this.showDebug){var e=this._perfValues[t];null==e&&(this._perfNames.push(t),this._perfValues[t]={name:t,value:0,records:[]});var i=window.performance.now(),n=this._perfValues[t];n.value=i}},u.prototype.stopPerf=function(t){if(this.showDebug){var e=this._perfValues[t],i=window.performance.now(),n=i-e.value;e.records.push(n),e.records.length>10&&e.records.shift();for(var o=0,r=0;rthis.bottom?r:this.bottom,this.right=o>this.right?o:this.right,this.isDirty=!0},i.prototype.clear=function(){this.isDirty&&(this.ctx.clearRect(this.left,this.top,this.right-this.left,this.bottom-this.top),this.left=this.canvas.width,this.top=this.canvas.height,this.right=0,this.bottom=0,this.isDirty=!1)},t.exports=i},function(t,e,i){"use strict";t.exports=i(22)},function(t,e,i){"use strict";var n=i(7),o=i(23),r=function(){var t=window.AudioContext||window.webkitAudioContext;this._ctx=new t,this._masterGain=this._ctx.createGain(),this._volume=1,this.isMuted=!1;var e=/(iPad|iPhone|iPod)/g.test(navigator.userAgent);e&&this._enableiOS()};r.prototype._enableiOS=function(){var t=this,e=function(t){var e=function(){return t.apply(this,arguments)};return e.toString=function(){return t.toString()},e}(function(){var i=t._ctx.createBuffer(1,1,22050),n=t._ctx.createBufferSource();n.buffer=i,n.connect(t._ctx.destination),n.start(0),window.removeEventListener("touchstart",e,!1)});window.addEventListener("touchstart",e,!1)},r.prototype.mute=function(){this.isMuted=!0,this._updateMute()},r.prototype.unmute=function(){this.isMuted=!1,this._updateMute()},r.prototype.toggleMute=function(){this.isMuted=!this.isMuted,this._updateMute()},r.prototype._updateMute=function(){this._masterGain.gain.value=this.isMuted?0:this._volume},r.prototype.setVolume=function(t){this._volume=t,this._masterGain.gain.value=t},r.prototype.load=function(t,e){var i={done:function(){},error:function(){},progress:function(){}};e&&n.isFunction(e)?i.done=e:(e.done&&(i.done=e.done),e.error&&(i.error=e.error),e.progress&&(i.progress=e.progress));var o=this,r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.addEventListener("progress",function(t){i.progress(t)}),r.onload=function(){o.decodeAudioData(r.response,function(t){i.done(t)})},r.send()},r.prototype.decodeAudioData=function(t,e){var i=this;this._ctx.decodeAudioData(t,function(t){var n=new o(i._ctx,t,i._masterGain);e(n)})},t.exports=r},function(t,e,i){"use strict";var n=i(24),o=function(t,e,i){this._ctx=t,this._masterGain=i,this._buffer=e,this._buffer.loop=!1};o.prototype._createSound=function(t){var e=this._ctx.createBufferSource();return e.buffer=this._buffer,this._masterGain.connect(this._ctx.destination),t.connect(this._masterGain),e.connect(t),e},o.prototype.play=function(){var t=this._ctx.createGain(),e=this._createSound(t);return e.start(0),new n(e,t)},o.prototype.fadeIn=function(t,e){var i=this._ctx.createGain(),o=this._createSound(i);return i.gain.setValueAtTime(0,0),i.gain.linearRampToValueAtTime(.01,0),i.gain.linearRampToValueAtTime(t,e),o.start(0),new n(o,i)},o.prototype.loop=function(){var t=this._ctx.createGain(),e=this._createSound(t);return e.loop=!0,e.start(0),new n(e,t)},t.exports=o},function(t,e){"use strict";var i=function(t,e){this._gain=e,this._source=t};i.prototype.setVolume=function(t){this._gain.gain.value=t},i.prototype.stop=function(){this._source.stop(0)},i.prototype.loop=function(){this._source.loop=!0},t.exports=i},function(t,e){"use strict";t.exports=function(){return window.performance||Date}()},function(t,e){"use strict";var i=function(t,e){return t.renderOrdert;t++){var i=this.updateOrder[t];i.protect||(i.state.close&&i.state.close(),delete this.states[i.name])}this.refreshOrder()},o.prototype.getHolder=function(t){return this.states[t]},o.prototype.get=function(t){return this.states[t].state},o.prototype.update=function(t){for(var e=0,i=this.updateOrder.length;i>e;e++){var n=this.updateOrder[e];n&&(n.changed=!1,n.enabled&&(!n.initialized&&n.state.init&&(n.initialized=!0,n.state.init()),n.state.update&&!n.paused&&(n.state.update(t),n.updated=!0)))}},o.prototype.exitUpdate=function(t){for(var e=0,i=this.updateOrder.length;i>e;e++){var n=this.updateOrder[e];n&&n.enabled&&n.state.exitUpdate&&!n.paused&&n.state.exitUpdate(t)}},o.prototype.render=function(){for(var t=0,e=this.renderOrder.length;e>t;t++){var i=this.renderOrder[t];i&&i.enabled&&(i.updated||!i.state.update)&&i.render&&i.state.render&&i.state.render()}},o.prototype.mousemove=function(t){this._preventEvent=!1;for(var e=0,i=this.updateOrder.length;i>e;e++){var n=this.updateOrder[e];if(n&&n.enabled&&!n.changed&&n.state.mousemove&&!n.paused&&n.state.mousemove(t),this._preventEvent)break}},o.prototype.mouseup=function(t){this._preventEvent=!1;for(var e=0,i=this.updateOrder.length;i>e;e++){var n=this.updateOrder[e];if(n&&n.enabled&&!n.changed&&n.state.mouseup&&!n.paused&&n.state.mouseup(t),this._preventEvent)break}},o.prototype.mousedown=function(t){this._preventEvent=!1;for(var e=0,i=this.updateOrder.length;i>e;e++){var n=this.updateOrder[e];if(n&&n.enabled&&!n.changed&&n.state.mousedown&&!n.paused&&n.state.mousedown(t),this._preventEvent)break}},o.prototype.keyup=function(t){this._preventEvent=!1;for(var e=0,i=this.updateOrder.length;i>e;e++){var n=this.updateOrder[e];if(n&&n.enabled&&!n.changed&&n.state.keyup&&!n.paused&&n.state.keyup(t),this._preventEvent)break}},o.prototype.keydown=function(t){this._preventEvent=!1;for(var e=0,i=this.updateOrder.length;i>e;e++){var n=this.updateOrder[e];if(n&&n.enabled&&!n.changed&&n.state.keydown&&!n.paused&&n.state.keydown(t),this._preventEvent)break}},o.prototype.resize=function(){for(var t=0,e=this.updateOrder.length;e>t;t++){var i=this.updateOrder[t];i&&i.enabled&&i.state.resize&&i.state.resize()}},t.exports=o},function(t,e,i){"use strict";var n=i(28),o={};for(var r in n)o[n[r]]=r;var s=function(t){this._container=t.container,this._keys={},this.canControlKeys=!0,this.mouse={isDown:!1,isLeftDown:!1,isMiddleDown:!1,isRightDown:!1,x:null,y:null,dx:0,dy:0},this._addEvents(t)};s.prototype.resetKeys=function(){this._keys={}},s.prototype.isKeyDown=function(t){if(null==t)return!1;if(this.canControlKeys){var e="number"==typeof t?t:n[t.toLowerCase()];return this._keys[e]}},s.prototype._addEvents=function(t){var e=this,i={x:null,y:null,button:null,isTouch:!1,event:null,stateStopEvent:function(){t.states._preventEvent=!0}},n={key:null,name:null,event:null,stateStopEvent:function(){t.states._preventEvent=!0}};e._container.addEventListener("mousemove",function(n){var o=(void 0===n.offsetX?n.layerX-e._container.offsetLeft:n.offsetX)/t.scaleX,r=(void 0===n.offsetY?n.layerY-e._container.offsetTop:n.offsetY)/t.scaleY;null!=e.mouse.x&&null!=e.mouse.x&&(e.mouse.dx=o-e.mouse.x,e.mouse.dy=r-e.mouse.y),e.mouse.x=o,e.mouse.y=r,e.mouse.isActive=!0,i.x=o,i.y=r,i.button=null,i.event=n,i.isTouch=!1,t.states.mousemove(i)}),e._container.addEventListener("mouseup",function(n){n.preventDefault();var o=(void 0===n.offsetX?n.layerX-e._container.offsetLeft:n.offsetX)/t.scaleX,r=(void 0===n.offsetY?n.layerY-e._container.offsetTop:n.offsetY)/t.scaleY;switch(n.button){case 0:e.mouse.isLeftDown=!1;break;case 1:e.mouse.isMiddleDown=!1;break;case 2:e.mouse.isRightDown=!1}e.mouse.isDown=e.mouse.isLeftDown||e.mouse.isRightDown||e.mouse.isMiddleDown,i.x=o,i.y=r,i.button=n.button,i.event=n,i.isTouch=!1,t.states.mouseup(i)},!1),e._container.addEventListener("mouseleave",function(){e.mouse.isActive=!1,e.mouse.isDown=!1,e.mouse.isLeftDown=!1,e.mouse.isRightDown=!1,e.mouse.isMiddleDown=!1}),e._container.addEventListener("mouseenter",function(){e.mouse.isActive=!0}),e._container.addEventListener("mousedown",function(n){n.preventDefault();var o=(void 0===n.offsetX?n.layerX-e._container.offsetLeft:n.offsetX)/t.scaleX,r=(void 0===n.offsetY?n.layerY-e._container.offsetTop:n.offsetY)/t.scaleY;switch(e.mouse.x=o,e.mouse.y=r,e.mouse.isDown=!0,e.mouse.isActive=!0,n.button){case 0:e.mouse.isLeftDown=!0;break;case 1:e.mouse.isMiddleDown=!0;break;case 2:e.mouse.isRightDown=!0}i.x=o,i.y=r,i.button=n.button,i.event=n,i.isTouch=!1,t.states.mousedown(i)},!1),e._container.addEventListener("touchstart",function(n){n.preventDefault();for(var o=0;o